@charset "UTF-8";

/* -------------------------------------------------- */
/* base
/* -------------------------------------------------- */

.content-body > *:first-child {
  margin-top: 50px; }

@media only screen and (max-device-width: 768px), screen and (max-width: 768px) {

  .content-body {
    margin: 15px 20px 20px; }

  .content-body .flex {
    display: block; }

  .content-body img {
    width: 100% !important;
    height: auto !important; }

  .content-body .main-image + p {
    margin-top: 15px; }

}

/* -------------------------------------------------- */
/* template parts
/* -------------------------------------------------- */

.content-body .align-right {
  text-align: right; }

.content-body .align-left {
  text-align: left; }

.content-body strong,
.content-body .bold {
  font-weight: bold;
  font-family: "MFW-HiraKakuProN-W6", "ヒラギノ角ゴ ProN W6", "Hiragino Kaku Gothic ProN W6", "メイリオ", Meiryo, sans-serif; }

/* [m01] 見出し */

.content-body h2,
.content-body h3,
.content-body h4,
.content-body h5,
.content-body h6 {
  margin: 50px 0 30px;
  font-weight: normal;
  font-family: "MFW-HiraKakuProN-W6", "ヒラギノ角ゴ ProN W6", "Hiragino Kaku Gothic ProN W6", "メイリオ", Meiryo, sans-serif; }

.lang-en .content-body h2,
.lang-en .content-body h3,
.lang-en .content-body h4,
.lang-en .content-body h5,
.lang-en .content-body h6 {
  font-weight: 700;
  font-family: "Josefin Sans", "Helvetica Neue", Helvetica, Arial, sans-serif; }

/* [m01-02] 見出し > h2 */

.content-body h2 {
  margin: 50px 0 30px;
  padding: 18px;
  font-size: 2.2rem;
  line-height: 1.2;
  background: #f1f1f1; }

.lang-en .content-body h2 {
  padding: 18px;
  font-size: 2.4rem; }

@media only screen and (max-device-width: 768px), screen and (max-width: 768px) {

  .content-body > *:first-child {
    margin-top: 30px; }

  .content-body h2,
  .content-body h3,
  .content-body h4,
  .content-body h5,
  .content-body h6 {
    margin: 30px 0 20px; }

  .content-body h2 {
    padding: 8px 15px;
    font-size: 2.2rem; }

  .lang-en .content-body h2 {
    padding: 8px 15px;
    font-size: 2.4rem;
  }

}

/* [m01-02] 見出し > h3 */

.content-body h3 {
  margin: 30px 0 15px;
  font-size: 2.2rem;
  line-height: 1.2; }

.lang-en .content-body h3 {
  font-size: 2.4rem; }

.content-body h3::before {
  display: block;
  width: 50px;
  height: 3px;
  margin-bottom: 20px;
  content: "";
  background: #2cbbf0; }

@media only screen and (max-device-width: 768px), screen and (max-width: 768px) {

  .content-body h3 {
    font-size: 2.1rem; }

  .lang-en .content-body h3 {
    font-size: 2.3rem; }

}

/* [m01-02] 見出し > h4 */

.content-body h4 {
  margin: 30px 0 15px;
  font-size: 2rem;
  line-height: 1.2; }

.lang-en .content-body h4 {
  font-size: 2.2rem; }

@media only screen and (max-device-width: 768px), screen and (max-width: 768px) {

  .content-body h4 {
    font-size: 1.7rem; }

  .lang-en .content-body h4 {
    font-size: 1.9rem; }

}

/* [m01-02] 見出し > h5、6 */

/* [m02-01] テキスト */

.content-body p {
  color: #4e5963;
  margin: 30px 0;
  overflow: hidden;
  line-height: 1.5; }

.content-body h3 + p,
.content-body h4 + p {
  margin: 15px 0 30px; }


@media only screen and (max-device-width: 768px), screen and (max-width: 768px) {

  .content-body p {
    margin: 15px 0;
    font-size: 1.5rem;
    line-height: 1.6; }

}

/* [m02-02] テキスト > 中央寄せ */

.content-body .text-right {
  text-align: right; }

/* [m02-03] テキスト > 右寄せ */

.content-body .text-left {
  text-align: left; }

/* [m02-04] テキスト > 注釈 */

.content-body .text-annotation {
  font-size: 1.4rem; }

.content-body .text-annotation::before {
  content: "*"; }

@media only screen and (max-device-width: 768px), screen and (max-width: 768px) {

  .content-body .text-annotation {
    font-size: 1.3rem; }

}

/* [m03-01] テキスト枠囲み > 枠線 */

.content-body .frame-line {
  padding: 16px 20px;
  border: 2px solid #cef2ff; }

.content-body .frame-line > * {
  margin: 10px 0; }

.content-body .frame-line > *:first-child {
  margin-top: 0; }

.content-body .frame-line > *:last-child {
  margin-bottom: 0; }

/* [m03-02] テキスト枠囲み > ベタ塗り */

.content-body .frame-solid {
  padding: 16px 20px;
  background: #edfaff; }

.content-body .frame-solid > * {
  margin: 10px 0; }

.content-body .frame-solid > *:first-child {
  margin-top: 0; }

.content-body .frame-solid > *:last-child {
  margin-bottom: 0; }

/* [m04-01] リスト */

.content-body ul {
  margin: 30px 0;
  list-style: none; }

.content-body ul * {
  margin: 0; }

.content-body h2 + ul,
.content-body h3 + ul,
.content-body h4 + ul,
.content-body h5 + ul,
.content-body h6 + ul {
  margin: 10px 0; }

.content-body .list-unordered li {
  padding-left: 21px;
  text-indent: -21px; }

.content-body .list-unordered li::before {
  margin-right: 5px;
  color: #2cbbf0;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  font-size: 16px !important;
  font-family: "IcoMoon";
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  text-transform: none;
  vertical-align: bottom;
  content: "\e03c";
  speak: none; }

/* [m04-02] リスト > 順序 */

.content-body ol {
  list-style: none;
  counter-reset: number; }

.content-body > ol {
  margin: 30px 0; }

.content-body .list-ordered li {
  padding-left: 1.3em;
  text-indent: -1.3em; }

.content-body .list-ordered li::before {
  content: counter(number)". ";
  counter-increment: number;
  color: #2cbbf0;
  speak: none; }

/* [m05] テーブル */

.content-body .table {
  margin: 25px 0; }

.content-body .table table {
  width: 100%; }

.content-body .table th,
.content-body .table td {
  padding: 15px 20px;
  font-weight: normal;
  text-align: left;
  color: #4e5963;
  border: 1px solid #ddd; }

.content-body .table th {
  white-space: nowrap;
  background: #edfaff; }

.content-body .table td h2,
.content-body .table td h3,
.content-body .table td h4,
.content-body .table td h5,
.content-body .table td h6 {
  margin: 15px 0 5px;
  line-height: 1.2; }

.content-body .table td > *:first-child {
  margin-top: 0; }

.content-body .table td > *:last-child {
  margin-bottom: 0; }

@media only screen and (max-device-width: 768px), screen and (max-width: 768px) {

  .content-body .table th {
    white-space: normal; }

  .content-body .header-row th,
  .content-body .header-row td,
  .content-body .header-col th,
  .content-body .header-col td,
  .content-body .header-both th,
  .content-body .header-both td {
    padding: 6px 10px; }

  .content-body .header-row th,
  .content-body .header-row td {
    display: block; }

  .content-body .header-row td  {
    border-top: 0; }

  .content-body .header-row tr:not(:last-child) td  {
    border-bottom: 0; }

  .content-body .header-col,
  .content-body .header-both {
    padding-bottom: 10px;
    overflow-x: scroll; }

  .content-body .header-col::-webkit-scrollbar,
  .content-body .header-both::-webkit-scrollbar {
    height: 8px;
    border-radius: 10px; }

  .content-body .header-col::-webkit-scrollbar-track,
  .content-body .header-both::-webkit-scrollbar-track {
    border-radius: 10px;
    background: #eaeaea; }

  .content-body .header-col::-webkit-scrollbar-thumb,
  .content-body .header-both::-webkit-scrollbar-thumb {
    border-radius: 10px;
    background: #00aaeb; }

  .content-body .header-col table,
  .content-body .header-col table  {
    width: 640px; }

  .content-body .header-col th,
  .content-body .header-col td  {
    padding: 6px 10px; }

  .content-body .header-col td:first-child,
  .content-body .header-both td:first-child {
    width: 25%; }

}

/* [m06-01] リンク */

.content-body a {
  color: #2cbbf0; }

.content-body a:hover {
  color: #80d6f6; }

/* [m06-02] リンク > 別タブ */

.content-body a.external {
  display: inline-block; /* 20170329不具合修正 */
  padding-right: 26px;
  background: url(../img/public/icon-external-link.svg) 100% 50% no-repeat; }

.content-body a[href=""]:not([class*="btn"]),
.content-body a[href^="#"]:not([class*="btn"]),
.content-body a[href^="mailto:"]:not([class*="btn"]) {
  padding-right: 0;
  background: none; }

.content-body .list li a.external { /* 20170406追加 */
  display: inline;
}

/* [m06-03] リンク > PDF */

.content-body a[href$=".pdf"]:not([class*="btn"]) {
  padding-right: 38px;
  background: url(../img/public/icon-pdf.svg) 100% 50% no-repeat; }

/* [m06] リンク > ボタン */

.content-body .btn {
  display: inline-block;
  width: auto;
  height: auto;
  margin: 0;
  overflow: hidden;
  color: #fff;
  font: 1.4rem/1.2 "MFW-HiraKakuProN-W6", "ヒラギノ角ゴ ProN W6", "Hiragino Kaku Gothic ProN W6", "メイリオ", Meiryo, sans-serif;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  vertical-align: bottom;
  background: #2cbbf0; }

.lang-en .content-body .btn {
  font: bold 1.41rem/1.2 "Roboto", Arial, sans-serif; }

.content-body .btn:hover {
  color: #fff;
  background: #80d6f6; }

.content-body br + .btn {
  margin-top: 5px; }

/* [m06-04] リンク > ボタン（小） */

.content-body .btn-small {
  padding: 15px 45px; }

@media only screen and (max-device-width: 768px), screen and (max-width: 768px) {

  .content-body .btn-small {
    padding: 15px;
    font-size: 1.2rem; }

}

/* [m06-05] リンク > ボタン（大） */

.content-body .btn-large {
  padding: 20px 45px; }

@media only screen and (max-device-width: 768px), screen and (max-width: 768px) {

  .content-body .btn-large {
    padding: 20px;
    font-size: 1.2rem; }

}

/* [m07-01] 画像 > 1カラム */

.content-body .main-image {
  margin-top: 0; }

.content-body .main-image img {
  width: 870px;
  height: auto; }

.content-body .main-image + p {
  margin-top: 35px; }

@media only screen and (max-device-width: 768px), screen and (max-width: 768px) {

  .content-body .main-image + p {
    margin-top: 15px; }

}

/* [m07-02~07] 画像 > カラム */

.content-body .cols {
  margin: 30px 0;
  display: -webkit-box;
  display:    -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display:         flex; }

.content-body .cols .col:not(:first-child) {
  margin-left: 30px; }

.content-body .cols.row-reverse .col:first-child {
  margin-left: 30px; }

.content-body .cols.row-reverse .col:not(:first-child) {
  margin-left: 0; }

.content-body .cols .col p:first-child  {
  margin-top: 0; }

.content-body .cols .col p:last-child  {
  margin-bottom: 0; }

.content-body .cols .col .img-caption  {
  margin: 10px 0 0;
  font-size: 1.4rem;
  line-height: 1.285714286; }

@media only screen and (max-device-width: 768px), screen and (max-width: 768px) {

  .content-body .cols {
    display: block;
    margin: 20px 0; }

  .content-body .cols .col .img-caption  {
    font-size: 1.3rem;
    line-height: 1.153846154; }

  .content-body .cols .col:not(:first-child),
  .content-body .cols.row-reverse .col:first-child {
    margin: 20px 0 0; }

}

/* [m07-02/03/05] 画像 > 2カラム */

.content-body .col2 .col {
  -webkit-flex: 0 0 420px;
      -ms-flex: 0 0 420px;
          flex: 0 0 420px; }

.content-body .col2 .col img {
  width: 100%;
  height: auto; }

/* [m07-04/06] 画像 > 2カラム（左画像：1/3幅+テキスト） */

.content-body .col1-2 .col:first-child {
  -webkit-flex: 0 0 270px;
      -ms-flex: 0 0 270px;
          flex: 0 0 270px; }

.content-body .col1-2 .col:last-child {
  -webkit-flex: 0 0 570px;
      -ms-flex: 0 0 570px;
          flex: 0 0 570px; }

.content-body .col1-2 .col img {
  width: 100%;
  height: auto; }

/* [m07-07] 画像 > 3カラム（キャプション付き） */

.content-body .col3 .col {
  -webkit-flex: 0 0 270px;
      -ms-flex: 0 0 270px;
          flex: 0 0 270px; }

.content-body .col3 .col img {
  width: 100%;
  height: auto; }

/* [m08-01] FAQ > アコーディオン */

.content-body .accordion {
  margin-top: 25px;
  border-bottom: 2px solid #f1f1f1; }

.content-body .accordion ~ .accordion {
  margin-top: 0; }

.content-body .accordion .num {
  margin-right: 15px;
  font: bold 2.8rem/1 "MFW-HiraKakuProN-W6", "ヒラギノ角ゴ ProN W6", "Hiragino Kaku Gothic ProN W6", "メイリオ", Meiryo, sans-serif; }

.lang-en .content-body .accordion .num {
  font: 700 2.8rem/1 "Josefin Sans", "Helvetica Neue", Helvetica, Arial, sans-serif; }

.content-body .accordion .content {
  -ms-word-break: break-word;
      word-break: break-word;
  word-wrap: break-word;
  overflow-wrap: break-word; }

.content-body .accordion dt {
  padding: 20px 15px;
  font-weight: bold;
  font-size: 1.8rem; }

.content-body * + .accordion:first-of-type dt {
  padding-top: 0; }

.content-body .accordion dt:hover {
  cursor: pointer; }

.content-body .accordion .question,
.content-body .accordion .answer {
  display: -webkit-box;
  display:    -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display:         flex; }

.content-body .accordion .question {
  position: relative; }

.content-body .accordion .question::after {
  display: block;
  position: absolute;
  top: 50%;
  right: 0;
  width: 14px;
  height: 10px;
  margin-top: -5px;
  content: "";
  background: url(../img/public/icon-arrow-accordion.svg) no-repeat; }

.content-body .accordion.open .question::after {
  background-position: 0 100%; }

.content-body .accordion .question .num {
  color: #2cbbf0; }

.content-body .accordion .question .content {
  padding: .1em 34px 0 0;
  font-size: 1.8rem; }

.content-body .accordion dd {
  max-height: 0;
  overflow: hidden; }

.content-body .accordion .answer {
  padding: 0 15px 20px; }

.content-body .accordion .answer .content {
  padding: .2em 0 0 0;
  font-size: 1.6rem; }

.content-body .accordion .answer .content p,
.content-body .accordion .answer .content ul {
  margin: 0; }

@media all and (-ms-high-contrast:none){

  .content-body .accordion .question,
  .content-body .accordion .answer {
    display: block; }

  .content-body .accordion .question .num,
  .content-body .accordion .answer .num {
    float: left; }

}

@media only screen and (max-device-width: 768px), screen and (max-width: 768px) {

  .content-body .accordion dt {
    padding: 20px 0; }

  .content-body .accordion .num {
    font-size: 2.4rem; }

  .content-body .accordion .question .content {
    padding: .05em 24px 0 0;
    font-size: 1.7rem; }

  .content-body .accordion .answer {
    padding: 0 0 20px 0; }

  .content-body .accordion .answer .content {
    padding: .05em 0 0 0;
    font-size: 1.5rem; }

}

/* [m08] ブロック */

.content-body .block {
  margin-top: 50px; }

.content-body .block h2 {
  margin: 30px 0 20px; }

.content-body .block .content {
  margin-left: 30px;
  -webkit-flex: 1 1 auto;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto; }

.content-body .block h3 {
  margin: 0 0 12px; }

.content-body .block p {
  margin: 12px 0; }

.content-body .block h4 {
  margin: 22px 0 12px; }

.content-body .btn-container {
  display: -webkit-box;
  display:    -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display:         flex;
  -webkit-justify-content: flex-end;
          justify-content: flex-end;
  -webkit-align-items: center;
          align-items: center;
  margin-top: 22px; }

@media only screen and (max-device-width: 768px), screen and (max-width: 768px) {

  .content-body .block .content {
    margin: 20px 0 0 0; }

}

/* [m08-02] 講演会シリーズ：２１世紀の価値観 > これまでの講演会一覧用ブロック */

.content-body .block-lecture .thumb {
  -webkit-flex: 0 0 150px;
      -ms-flex: 0 0 150px;
          flex: 0 0 150px; }

.content-body .block-lecture .thumb img {
  width: 100%;
  height: auto; }

.content-body .block-lecture .content > *:last-child {
  margin-bottom: 0; }

/* [m08-03] 国際ユース作文コンテスト > 過去のコンテスト一覧用ブロック */

.content-body .block-contest .thumb {
  -webkit-flex: 0 0 150px;
      -ms-flex: 0 0 150px;
          flex: 0 0 150px; }

.content-body .block-contest .thumb img {
  width: 100%;
  height: auto; }

.content-body .block-contest h3:not(:first-of-type) {
  margin-top: 22px; }

/* [m08-04] 五井平和賞 > TOPページ受賞者一覧 */

.content-body .block-award h2 {
  margin: 0;
  padding: 0;
  background: none; }

.content-body .block-award .cols .col:first-child,
.content-body .block-award .cols .col:last-child {
  border: 1px solid #ddd; }

.content-body .block-award .cols .col:first-child {
  padding: 30px 20px;
  border-right: 0;
  background: #edfaff;
  -webkit-flex: 0 0 150px;
      -ms-flex: 0 0 150px;
          flex: 0 0 150px; }

.content-body .block-award .cols .col:not(:first-child) {
  margin-left: 0;
  padding: 30px;
  -webkit-flex: 0 0 720px;
      -ms-flex: 0 0 720px;
          flex: 0 0 720px; }

@media all and (-ms-high-contrast:none){

  .content-body .block-award .cols .col:first-child {
    -webkit-flex: 0 0 109px;
        -ms-flex: 0 0 109px;
            flex: 0 0 109px; }

  .content-body .block-award .cols .col:not(:first-child) {
  -webkit-flex: 0 0 658px;
      -ms-flex: 0 0 658px;
          flex: 0 0 658px; }

}

.content-body .block-award .thumb {
  -webkit-flex: 0 0 150px;
      -ms-flex: 0 0 150px;
          flex: 0 0 150px; }

.content-body .block-award .thumb img {
  width: 100%;
  height: auto; }

.content-body .block-award .year,
.content-body .block-award .title {
  display: block; }

.content-body .block-award .year {
  font-size: 2rem;
  line-height: 1; }

.content-body .block-award .title {
  margin-top: 16px;
  font-size: 1.6rem;
  line-height: 1.2; }

@media only screen and (max-device-width: 768px), screen and (max-width: 768px) {

  .content-body .block-award .cols .col:first-child {
    padding: 15px;
    border-right: 1px solid #ddd;
    border-bottom: 0; }

  .content-body .block-award .title {
    margin-top: 8px; }

  .content-body .block-award .cols .col:not(:first-child) {
    margin-top: 0;
    padding: 15px; }

}

/* [m08-05/06] 出版物のご案内 */

.content-body .block-publication .thumb {
  -webkit-flex: 0 0 150px;
      -ms-flex: 0 0 150px;
          flex: 0 0 150px; }

.content-body .block-publication .thumb img {
  width: 100%;
  height: auto;
  border: 1px solid #ddd; }

.content-body .block-publication .price {
  margin-right: 10px; }

/* [m08-05] 出版物のご案内 > 英語版 */

/* [m08-06] 出版物のご案内 > 日本語版 */

@media only screen and (max-device-width: 768px), screen and (max-width: 768px) {

  .lang-ja .content-body .block-publication h3 {
    font-size: 1.7rem; }

}

/* [m08-07] ビデオ */

.content-body .block-youtube .thumb {
  position: relative;
  -webkit-flex: 0 0 195px;
      -ms-flex: 0 0 195px;
          flex: 0 0 195px; }

.content-body .block-youtube .thumb a {
  display: block;
  position: relative; }

.content-body .block-youtube .thumb a.external {
  padding-right: 0;
  background: none; }

.content-body .block-youtube .thumb img {
  width: 100%;
  height: auto; }

.content-body .block-youtube .thumb a::before {
  z-index: 100;
  display: block;
  width: 50px;
  height: 30px;
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -15px 0 0 -25px;
  content: "";
  background: url(../img/public/icon-youtube.svg) 50% 50% no-repeat; }

.content-body .block-youtube p {
  margin: 0;
  line-height: 1.4;
  font-weight: bold;
  color: #2cbbf0; }

.lang-en .content-body .block-youtube p {
  font-weight: normal;
  font-size: 1.8rem; }


@media only screen and (max-device-width: 768px), screen and (max-width: 768px) {

  .lang-en .content-body .block-youtube p {
    font-size: 1.5rem; }

}

/* [m08-08] ダウンロード */

.content-body .block-download .thumb {
  -webkit-flex: 0 0 120px;
      -ms-flex: 0 0 120px;
          flex: 0 0 120px; }

.content-body .block-download .thumb img {
  width: 100%;
  height: auto;
  border: 1px solid #ddd; }

.content-body .block-download h3 {
  font-size: 1.8rem; }

.lang-en .content-body .block-download h3 {
  font-size: 2rem; }

@media only screen and (max-device-width: 768px), screen and (max-width: 768px) {

  .content-body .block-download h3 {
    font-size: 1.5rem; }

}

/* [m09-01] その他 > 2カラム（左画像：1/4幅+テキスト） */

.content-body .col1-3 .col:first-child {
  -webkit-flex: 0 0 197px;
      -ms-flex: 0 0 197px;
          flex: 0 0 197px; }

.content-body .col1-3 .col:last-child {
  -webkit-flex: 0 0 645px;
      -ms-flex: 0 0 645px;
          flex: 0 0 645px; }

.content-body .col1-3 .col img {
  width: 195px;
  height: auto; }

/* -------------------------------------------------- */
/* override
/* -------------------------------------------------- */

.content-body > *:first-child > *:first-child {
  margin-top: 0; }

.content-body > *:last-child,
.content-body > *:last-child > *:last-child {
  margin-bottom: 0; }

/* -------------------------------------------------- */
/* extra
/* -------------------------------------------------- */

.content-body .parts-name {
  margin: 50px 0 30px !important;
  color: #e4007f;
  font-size: 1.4rem;
  line-height: 1; }

.content-body .parts-name::before {
  font-family: sans-serif;
  content: "\25cf"" "; }

.content-body .parts-name + * {
  margin-top: 30px; }

.content-body .img-placeholder {
  background: #f2f2f2 url(../img/public/bg-placeholder-text.png) 50% 50% no-repeat; }

.content-body .main-image .img-placeholder {
  width: 870px;
  height: 435px; }

.content-body .col2 .col .img-placeholder {
  width: 420px;
  height: 234px; }

.content-body .col1-2 .col .img-placeholder {
  width: 270px;
  height: 148px; }

.content-body .col3 .col .img-placeholder {
  width: 270px;
  height: 148px; }

.content-body .col1-3 .col .img-placeholder {
  width: 195px;
  height: 107px; }

.content-body .block-youtube .img-placeholder {
  background: #f2f2f2; }
