@charset "UTF-8";
/*******************************************************
***スタイルシートINDEX***

※ リセットスタイルはfront-reset.cssに記述

- コンポネント wp-block 共通
- コンポネント リスト
- コンポネント ボタン
- コンポネント カラム
- コンポネント 見出し
- コンポネント アイコン
- コンポネント 区切り線
- コンポネント 段落
- コンポネント 画像
- コンポネント グループ
- コンポネント テーブル
- コンポネント YouTube埋め込み
- コンポネント 動画
- コンポネント ギャラリー
- コンポネント アニメーションスライダー ※wp-blockでは無い
- コンポネント アンカーリンク ここから ※wp-blockでは無い

- ページレイアウト ヘッダー
- ページレイアウト ヘッダーメニュー
- ページレイアウト ハンバーガーメニュー
- ページレイアウト コンテナ―
- ページレイアウト パンくず
- ページレイアウト コンテント ※ヘッダ画像の設定
- ページレイアウト フッター
- ページレイアウト フッターサイトマップ
- ページレイアウト フッター下部
- ページレイアウト フッターSNS
- ページレイアウト ページの先頭へボタン
- ページレイアウト Instagram
- ページレイアウト FaceBook
- ページレイアウト GoogleMap
- ページレイアウト ページャー

- ページ個別 サイトトップページ
- ページ個別 最新情報
- ページ個別 美術館カレンダー
- ページ個別 開館時間
- ページ個別 展覧会
- ページ個別 展覧会 小磯良平記念室・金山平三記念室
- ページ個別 アクセス
- ページ個別 安藤忠雄コーナー
- ページ個別 ミュージアムショップ・カフェ・レストラン
- ページ個別 よくあるお問い合わせ

- ユーティリティクラス

********************************************************/
/* ****** コンポネント wp-block 共通 ここから ****** */
figcaption,
.blocks-gallery-caption {
  margin-top: .5em;
  margin-bottom: 0;
}

@media only screen and (max-width: 767.98px) {
  figcaption,
  .blocks-gallery-caption {
    font-size: 1.3rem;
  }
}

@media only screen and (min-width: 768px) {
  figcaption,
  .blocks-gallery-caption {
    font-size: 1.4rem;
  }
}

/* ****** // コンポネント wp-block 共通 ここまで ****** */
/* ****** コンポネント リスト ここから ****** */
/* --- リストマーカー基本設定ここから --- */
/* 編集画面UIに影響しないようにcontentとブロックエディタに限定 */
.content ul[class*="margin-bottom"]:not([class*="is-style-marker-"]):not([class*="marker-"]),
.content ol[class*="margin-bottom"]:not([class*="is-style-marker-"]):not([class*="marker-"]),
.content ul[class*="font-size"]:not([class*="is-style-marker-"]):not([class*="marker-"]),
.content ol[class*="font-size"]:not([class*="is-style-marker-"]):not([class*="marker-"]),
.content ul.is-style-default,
.content ol.is-style-default,
.content ul:not([class]),
.content ol:not([class]),
.editor-styles-wrapper .block-library-list ul[class*="margin-bottom"]:not([class*="is-style-marker-"]):not([class*="marker-"]),
.editor-styles-wrapper .block-library-list ol[class*="margin-bottom"]:not([class*="is-style-marker-"]):not([class*="marker-"]),
.editor-styles-wrapper .block-library-list ul[class*="font-size"]:not([class*="is-style-marker-"]):not([class*="marker-"]),
.editor-styles-wrapper .block-library-list ol[class*="font-size"]:not([class*="is-style-marker-"]):not([class*="marker-"]),
.editor-styles-wrapper .block-library-list ul.is-style-default,
.editor-styles-wrapper .block-library-list ol.is-style-default,
.editor-styles-wrapper .block-library-list ul:not([class]),
.editor-styles-wrapper .block-library-list ol:not([class]) {
  padding-left: 1.3em;
  margin-bottom: 2em;
}

.content ul[class*="margin-bottom"]:not([class*="is-style-marker-"]):not([class*="marker-"]) li,
.content ol[class*="margin-bottom"]:not([class*="is-style-marker-"]):not([class*="marker-"]) li,
.content ul[class*="font-size"]:not([class*="is-style-marker-"]):not([class*="marker-"]) li,
.content ol[class*="font-size"]:not([class*="is-style-marker-"]):not([class*="marker-"]) li,
.content ul.is-style-default li,
.content ol.is-style-default li,
.content ul:not([class]) li,
.content ol:not([class]) li,
.editor-styles-wrapper .block-library-list ul[class*="margin-bottom"]:not([class*="is-style-marker-"]):not([class*="marker-"]) li,
.editor-styles-wrapper .block-library-list ol[class*="margin-bottom"]:not([class*="is-style-marker-"]):not([class*="marker-"]) li,
.editor-styles-wrapper .block-library-list ul[class*="font-size"]:not([class*="is-style-marker-"]):not([class*="marker-"]) li,
.editor-styles-wrapper .block-library-list ol[class*="font-size"]:not([class*="is-style-marker-"]):not([class*="marker-"]) li,
.editor-styles-wrapper .block-library-list ul.is-style-default li,
.editor-styles-wrapper .block-library-list ol.is-style-default li,
.editor-styles-wrapper .block-library-list ul:not([class]) li,
.editor-styles-wrapper .block-library-list ol:not([class]) li {
  margin-bottom: 0.2em;
}

.content ul[class*="margin-bottom"]:not([class*="is-style-marker-"]),
.content ul[class*="font-size"]:not([class*="is-style-marker-"]),
.content ul.is-style-default,
.content ul:not([class]),
.editor-styles-wrapper .block-library-list ul[class*="margin-bottom"]:not([class*="is-style-marker-"]),
.editor-styles-wrapper .block-library-list ul[class*="font-size"]:not([class*="is-style-marker-"]),
.editor-styles-wrapper .block-library-list ul.is-style-default,
.editor-styles-wrapper .block-library-list ul:not([class]) {
  list-style: disc;
}

.content ol[class*="margin-bottom"]:not([class*="is-style-marker-"]):not([class*="marker-"]),
.content ol[class*="font-size"]:not([class*="is-style-marker-"]):not([class*="marker-"]),
.content ol.is-style-default,
.content ol:not([class]),
.editor-styles-wrapper .block-library-list ol[class*="margin-bottom"]:not([class*="is-style-marker-"]):not([class*="marker-"]),
.editor-styles-wrapper .block-library-list ol[class*="font-size"]:not([class*="is-style-marker-"]):not([class*="marker-"]),
.editor-styles-wrapper .block-library-list ol.is-style-default,
.editor-styles-wrapper .block-library-list ol:not([class]) {
  list-style: decimal;
}

.content ul[class*="is-style-marker-"],
.content ul[class*="marker-"],
.content ol[class*="marker-"],
.editor-styles-wrapper .block-library-list ul[class*="is-style-marker-"],
.editor-styles-wrapper .block-library-list ul[class*="marker-"],
.editor-styles-wrapper .block-library-list ol[class*="marker-"] {
  padding-left: 0;
  list-style: none;
  margin-bottom: 2em;
}

.content ul.marker-none,
.content ol.marker-none,
.editor-styles-wrapper .block-library-list ul.marker-none,
.editor-styles-wrapper .block-library-list ol.marker-none {
  list-style: none !important;
  padding-left: 0;
}

/* --- //リストマーカー基本設定ここまで --- */
/* --- リストマーカー サークル ● ここから --- */
ul[class*="marker-circle"],
ol[class*="marker-circle"] {
  list-style: none;
}

.marker-circle:not(ul):not(ol),
ul[class*="marker-circle"] li,
ol[class*="marker-circle"] li {
  line-height: 1.5;
  position: relative;
  padding-left: 1.3em;
  display: block;
}

.marker-circle:not(ul):not(ol)::before,
ul[class*="marker-circle"] li::before,
ol[class*="marker-circle"] li::before {
  content: '';
  position: absolute;
  top: 0.3em;
  left: 0;
  width: 0.8em;
  height: 0.8em;
  border-radius: 50%;
  background-color: #333333;
}

@media only screen and (max-width: 767.98px) {
  .marker-circle:not(ul):not(ol) a[target="_blank"]::after,
  ul[class*="marker-circle"] li a[target="_blank"]::after,
  ol[class*="marker-circle"] li a[target="_blank"]::after {
    width: 15px;
    height: 15px;
  }
}

@media only screen and (min-width: 768px) {
  .marker-circle:not(ul):not(ol) a[target="_blank"]::after,
  ul[class*="marker-circle"] li a[target="_blank"]::after,
  ol[class*="marker-circle"] li a[target="_blank"]::after {
    width: 18px;
    height: 18px;
  }
}

ul[class*="marker-circle"] li + li,
ol[class*="marker-circle"] li + li {
  margin-top: 0.5em;
}

/* --- //リストマーカー サークル ● ここまで --- */
/* --- リストマーカー キャレット ▶ ここから --- */
ul[class*="marker-caret"],
ol[class*="marker-caret"] {
  list-style: none;
}

.marker-caret:not(ul):not(ol),
ul[class*="marker-caret"] li,
ol[class*="marker-caret"] li {
  line-height: 1.5;
  position: relative;
  padding-left: 1.3em;
  display: block;
}

.marker-caret:not(ul):not(ol)::before,
ul[class*="marker-caret"] li::before,
ol[class*="marker-caret"] li::before {
  position: absolute;
  content: '';
  top: 0.4em;
  left: 0;
  height: 0;
  width: 0;
  border-style: solid;
  border-width: 6px 0 6px 9px;
  border-color: transparent transparent transparent #5bc4d8;
}

@media only screen and (max-width: 767.98px) {
  .marker-caret:not(ul):not(ol) a[target="_blank"]::after,
  ul[class*="marker-caret"] li a[target="_blank"]::after,
  ol[class*="marker-caret"] li a[target="_blank"]::after {
    width: 15px;
    height: 15px;
  }
}

@media only screen and (min-width: 768px) {
  .marker-caret:not(ul):not(ol) a[target="_blank"]::after,
  ul[class*="marker-caret"] li a[target="_blank"]::after,
  ol[class*="marker-caret"] li a[target="_blank"]::after {
    width: 18px;
    height: 18px;
  }
}

ul[class*="marker-caret"] li + li,
ol[class*="marker-caret"] li + li {
  margin-top: 0.5em;
}

/* --- //リストマーカー キャレット ▶  ここまで --- */
/* --- リストマーカー 注釈 ※ ここから --- */
ul[class*="marker-asterisk"],
ol[class*="marker-asterisk"] {
  list-style: none;
}

.marker-asterisk:not(ul):not(ol),
ul[class*="marker-asterisk"] li,
ol[class*="marker-asterisk"] li {
  line-height: 1.5;
  padding-left: 1.3em;
  position: relative;
}

@media only screen and (max-width: 767.98px) {
  .marker-asterisk:not(ul):not(ol) a[target="_blank"]::after,
  ul[class*="marker-asterisk"] li a[target="_blank"]::after,
  ol[class*="marker-asterisk"] li a[target="_blank"]::after {
    width: 15px;
    height: 15px;
  }
}

@media only screen and (min-width: 768px) {
  .marker-asterisk:not(ul):not(ol) a[target="_blank"]::after,
  ul[class*="marker-asterisk"] li a[target="_blank"]::after,
  ol[class*="marker-asterisk"] li a[target="_blank"]::after {
    width: 18px;
    height: 18px;
  }
}

ul[class*="marker-asterisk"] li,
ol[class*="marker-asterisk"] li {
  margin-bottom: 0.2em;
}

.marker-asterisk:not(ul):not(ol)::before,
ul[class*="marker-asterisk"] li::before,
ol[class*="marker-asterisk"] li::before {
  display: block;
  width: 1em;
  height: 1em;
  position: absolute;
  left: 0;
  top: 0;
}

.marker-asterisk:not(ul):not(ol)::before,
ul[class*="marker-asterisk"] li::before,
ol[class*="marker-asterisk"] li::before {
  content: '※';
}

/* --- //リストマーカー 注釈 ※ ここまで --- */
/* ****** // コンポネント リスト ここまで ****** */
/* ****** コンポネント ボタン ここから ****** */
/* ボタン後ろのアイコン箇所はiconスタイル箇所にて設定 */
/* a.buttonに限定し、管理画面button.buttonへの影響を避ける */
/* 編集画面の.acf-buttonを除外 */
.wp-block-button .wp-block-button__link,
a.button:not(.acf-button) {
  overflow: hidden;
  margin-bottom: 2em;
  line-height: 1.3;
  background-color: #fff;
  font-size: 1.6rem;
  display: inline-block;
  position: relative;
  transition: opacity 0.3s;
  text-decoration: none;
  border-radius: 0;
  backface-visibility: hidden;
  padding-right: 1em;
  padding-left: 1em;
  text-align: center;
  font-weight: bold;
  color: #333333;
  letter-spacing: 1px;
}

@media only screen and (max-width: 767.98px) {
  .wp-block-button .wp-block-button__link,
  a.button:not(.acf-button) {
    padding-top: 1.6em;
    padding-bottom: 1.6em;
    border: 2px solid currentColor;
    width: 100%;
  }
}

@media only screen and (min-width: 768px) {
  .wp-block-button .wp-block-button__link,
  a.button:not(.acf-button) {
    padding-top: 1.3em;
    padding-bottom: 1.3em;
    min-width: 276px;
    transition: all .3s;
    position: relative;
    z-index: 2;
    border: 3px solid #333333;
  }
  .wp-block-button .wp-block-button__link::before,
  a.button:not(.acf-button)::before {
    position: absolute;
    z-index: -1;
    display: block;
    content: '';
    transition: all .3s;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform: scale(0.5);
  }
  .wp-block-button .wp-block-button__link:hover,
  a.button:not(.acf-button):hover {
    color: #fff;
  }
  .wp-block-button .wp-block-button__link:hover::before,
  a.button:not(.acf-button):hover::before {
    background: #333333;
    transform: scale(1.1);
  }
}

@media only screen and (max-width: 767.98px) {
  .wp-block-button .wp-block-button__link.button-max-height,
  a.button:not(.acf-button).button-max-height {
    max-height: 4.8em;
  }
}

@media only screen and (min-width: 768px) {
  .wp-block-button .wp-block-button__link.button-max-height,
  a.button:not(.acf-button).button-max-height {
    max-height: 4.2em;
  }
}

/*カラム配下のボタンは高さを揃え中のテキストも中央揃え*/
a.button.button-column {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 100%;
}

/*ボタンの下につくアンカーアイコン*/
a.button.button-anchor {
  position: relative;
  padding-top: 1.3em;
  padding-bottom: 1.8em;
}

a.button.button-anchor .button-anchor-icon {
  z-index: 100;
  position: absolute;
  left: 50%;
  bottom: 15px;
  transition: all 0.25s;
  content: '';
  display: block;
  width: 10px;
  height: 10px;
  border-right: solid 2px #5bc4d8;
  border-bottom: solid 2px #5bc4d8;
  transform: rotate(45deg);
}

@media only screen and (min-width: 768px) {
  a.button.button-anchor .button-anchor-icon:hover .button-anchor-icon {
    border-right: solid 2px #fff;
    border-bottom: solid 2px #fff;
  }
}

/* ****** // コンポネント ボタン ここまで ****** */
/* ****** コンポネント カラム ここから ****** */
.wp-block-columns {
  margin-bottom: 2em;
}

@media only screen and (max-width: 767.98px) {
  .wp-block-columns {
    margin-top: -16px;
    margin-left: -16px;
  }
}

@media only screen and (min-width: 768px) {
  .wp-block-columns {
    margin-top: -32px;
    margin-left: -32px;
  }
}

@media only screen and (max-width: 767.98px) {
  .wp-block-columns > .wp-block-column {
    margin-top: 16px;
    margin-left: 16px;
  }
}

@media only screen and (min-width: 768px) {
  .wp-block-columns > .wp-block-column {
    margin-top: 32px;
    margin-left: 32px;
  }
}

.wp-block-columns > .wp-block-column > :last-child {
  margin-bottom: 0;
}

.columns {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 2em;
}

.columns > .column > :last-child {
  margin-bottom: 0;
}

@media only screen and (max-width: 767.98px) {
  .columns {
    margin-top: -16px;
    margin-left: -16px;
  }
  .columns > .column {
    margin-top: 16px;
    margin-left: 16px;
  }
  .columns > :not([class*="sp-column-"]) {
    flex-basis: 100%;
  }
  .columns.sp-columns-2 > .column {
    flex-basis: calc((99.9999% / 2) - 16px);
  }
  .columns.sp-columns-3 > .column {
    flex-basis: calc((99.9999% / 3) - 16px);
  }
  .columns.sp-columns-4 > .column {
    flex-basis: calc((99.9999% / 4) - 16px);
  }
  .columns.sp-columns-5 > .column {
    flex-basis: calc((99.9999% / 5) - 16px);
  }
}

@media only screen and (min-width: 768px) {
  .columns {
    margin-top: -32px;
    margin-left: -32px;
  }
  .columns.pc-columns-gutter-large {
    margin-top: -64px;
    margin-left: -64px;
  }
  .columns.pc-columns-gutter-large > .column {
    margin-top: 64px;
    margin-left: 64px;
  }
  .columns > .column {
    margin-top: 32px;
    margin-left: 32px;
  }
  .columns.pc-columns-2 > .column {
    flex-basis: calc((99.9999% / 2) - 32px);
  }
  .columns.pc-columns-2.pc-columns-gutter-large > .column {
    flex-basis: calc((99.9999% / 2) - 64px);
  }
  .columns.pc-columns-3 > .column {
    flex-basis: calc((99.9999% / 3) - 32px);
  }
  .columns.pc-columns-3.pc-columns-gutter-large > .column {
    flex-basis: calc((99.9999% / 3) - 64px);
  }
  .columns.pc-columns-4 > .column {
    flex-basis: calc((99.9999% / 4) - 32px);
  }
  .columns.pc-columns-4.pc-columns-gutter-large > .column {
    flex-basis: calc((99.9999% / 4) - 64px);
  }
}

@media only screen and (min-width: 768px) {
  .columns.pc-columns-5 {
    margin-top: -16px;
    margin-left: -16px;
  }
  .columns.pc-columns-5.pc-columns-gutter-large {
    margin-top: -32px;
    margin-left: -32px;
  }
  .columns.pc-columns-5.pc-columns-gutter-large > .column {
    margin-top: 32px;
    margin-left: 32px;
    flex-basis: calc((99.9999% / 5) - 32px);
  }
  .columns.pc-columns-5 > .column {
    margin-top: 16px;
    margin-left: 16px;
    flex-basis: calc((99.9999% / 5) - 16px);
  }
}

/* ****** // コンポネント カラム ここまで ****** */
/* ****** コンポネント 見出し ここから ****** */
/* 編集画面で上マージンが0になるのを回避するため.contentに限定 */
h2:first-child,
h3:first-child,
h4:first-child,
h5:first-child,
h6:first-child,
p[class*="title-"]:first-child,
h2[class*="title-"]:first-child,
h3[class*="title-"]:first-child,
h4[class*="title-"]:first-child,
h5[class*="title-"]:first-child,
h6[class*="title-"]:first-child {
  margin-top: 0;
}

/* 編集画面でWPデフォルト.editor-styles-wrapper hXXを上書きする */
.editor-styles-wrapper h2,
.editor-styles-wrapper h3,
.editor-styles-wrapper h4,
.editor-styles-wrapper h5,
.editor-styles-wrapper h6,
h2,
h3,
h4,
h5,
h6 {
  margin-top: 2em;
  margin-bottom: 1em;
  line-height: 1.3;
  font-weight: bold;
}

@media only screen and (max-width: 767.98px) {
  .editor-styles-wrapper h2,
  .editor-styles-wrapper h3,
  .editor-styles-wrapper h4,
  .editor-styles-wrapper h5,
  .editor-styles-wrapper h6,
  h2,
  h3,
  h4,
  h5,
  h6 {
    letter-spacing: 1px;
  }
}

@media only screen and (min-width: 768px) {
  .editor-styles-wrapper h2,
  .editor-styles-wrapper h3,
  .editor-styles-wrapper h4,
  .editor-styles-wrapper h5,
  .editor-styles-wrapper h6,
  h2,
  h3,
  h4,
  h5,
  h6 {
    letter-spacing: 2px;
  }
}

/* 編集画面にフォントサイズが適用されるように.wp-block-headingを付与 */
@media only screen and (max-width: 767.98px) {
  .wp-block-heading h2,
  h2 {
    font-size: 1.6rem;
  }
  .wp-block-heading h3,
  h3 {
    font-size: 1.6rem;
  }
  .wp-block-heading h4,
  h4 {
    font-size: 1.6rem;
  }
  .wp-block-heading h5,
  h5 {
    font-size: 1.6rem;
  }
  .wp-block-heading h6,
  h6 {
    font-size: 1.6rem;
  }
}

@media only screen and (min-width: 768px) {
  .wp-block-heading h2,
  h2 {
    font-size: 2.8rem;
  }
  .wp-block-heading h3,
  h3 {
    font-size: 2.3rem;
  }
  .wp-block-heading h4,
  h4 {
    font-size: 2rem;
  }
  .wp-block-heading h5,
  h5 {
    font-size: 1.8rem;
  }
  .wp-block-heading h6,
  h6 {
    font-size: 1.7rem;
  }
}

p.title-a,
h2.title-a,
h2.is-style-title-a,
h3.title-a,
h3.is-style-title-a,
h4.title-a,
h4.is-style-title-a,
h5.title-a,
h5.is-style-title-a,
h6.title-a,
h6.is-style-title-a {
  font-weight: bold;
  text-align: center;
  position: relative;
  display: flex;
  justify-content: center;
}

@media only screen and (max-width: 767.98px) {
  p.title-a,
  h2.title-a,
  h2.is-style-title-a,
  h3.title-a,
  h3.is-style-title-a,
  h4.title-a,
  h4.is-style-title-a,
  h5.title-a,
  h5.is-style-title-a,
  h6.title-a,
  h6.is-style-title-a {
    margin-top: 3em;
    letter-spacing: 2px;
    font-size: 1.6rem;
    margin-bottom: 2.5em;
  }
}

@media only screen and (min-width: 768px) {
  p.title-a,
  h2.title-a,
  h2.is-style-title-a,
  h3.title-a,
  h3.is-style-title-a,
  h4.title-a,
  h4.is-style-title-a,
  h5.title-a,
  h5.is-style-title-a,
  h6.title-a,
  h6.is-style-title-a {
    margin-top: 4em;
    margin-bottom: 2.8em;
    letter-spacing: 3px;
    font-size: 2.8rem;
  }
}

p.title-a::before,
h2.title-a::before,
h2.is-style-title-a::before,
h3.title-a::before,
h3.is-style-title-a::before,
h4.title-a::before,
h4.is-style-title-a::before,
h5.title-a::before,
h5.is-style-title-a::before,
h6.title-a::before,
h6.is-style-title-a::before {
  content: '';
  position: absolute;
  bottom: -0.8em;
  display: inline-block;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #5bc4d8;
}

@media only screen and (max-width: 767.98px) {
  p.title-a::before,
  h2.title-a::before,
  h2.is-style-title-a::before,
  h3.title-a::before,
  h3.is-style-title-a::before,
  h4.title-a::before,
  h4.is-style-title-a::before,
  h5.title-a::before,
  h5.is-style-title-a::before,
  h6.title-a::before,
  h6.is-style-title-a::before {
    width: 34px;
    height: 3px;
  }
}

@media only screen and (min-width: 768px) {
  p.title-a::before,
  h2.title-a::before,
  h2.is-style-title-a::before,
  h3.title-a::before,
  h3.is-style-title-a::before,
  h4.title-a::before,
  h4.is-style-title-a::before,
  h5.title-a::before,
  h5.is-style-title-a::before,
  h6.title-a::before,
  h6.is-style-title-a::before {
    width: 60px;
    height: 5px;
  }
}

h2.title-b,
h2.is-style-title-b,
h3.title-b,
h3.is-style-title-b,
h4.title-b,
h4.is-style-title-b,
h5.title-b,
h5.is-style-title-b,
h6.title-b,
h6.is-style-title-b {
  margin-top: 4em;
  margin-bottom: 2em;
  padding: 1.0em 1.5em 0.9em;
  background-color: #eeeeee;
}

@media only screen and (max-width: 767.98px) {
  h2.title-b,
  h2.is-style-title-b,
  h3.title-b,
  h3.is-style-title-b,
  h4.title-b,
  h4.is-style-title-b,
  h5.title-b,
  h5.is-style-title-b,
  h6.title-b,
  h6.is-style-title-b {
    font-size: 1.6rem;
  }
}

@media only screen and (min-width: 768px) {
  h2.title-b,
  h2.is-style-title-b,
  h3.title-b,
  h3.is-style-title-b,
  h4.title-b,
  h4.is-style-title-b,
  h5.title-b,
  h5.is-style-title-b,
  h6.title-b,
  h6.is-style-title-b {
    font-size: 2.2rem;
  }
}

h2.title-c,
h2.is-style-title-c,
h3.title-c,
h3.is-style-title-c,
h4.title-c,
h4.is-style-title-c,
h5.title-c,
h5.is-style-title-c,
h6.title-c,
h6.is-style-title-c {
  border-bottom: 1px solid #bababa;
  padding-bottom: 0.5em;
  margin-bottom: 1em;
}

/* ****** // コンポネント 見出し ここまで ****** */
/* ****** コンポネント アイコン ここから ****** */
/* アイコン非表示設定 ここから */
a.no-icon::after {
  display: none !important;
}

/* //アイコン非表示設定 ここまで */
/* アイコン:テキストリンク ここから */
a:not(.button)[target="_blank"]::after,
a:not(.button)[href$=".pdf"]::after {
  content: '';
  display: inline-block;
  background-repeat: no-repeat;
  background-size: contain;
  margin-left: 0.2em;
  margin-right: 0.2em;
  background-position: center center;
  position: relative;
  top: 0.25em;
}

@media only screen and (max-width: 767.98px) {
  a:not(.button)[target="_blank"]::after,
  a:not(.button)[href$=".pdf"]::after {
    width: 18px;
    height: 18px;
  }
}

@media only screen and (min-width: 768px) {
  a:not(.button)[target="_blank"]::after,
  a:not(.button)[href$=".pdf"]::after {
    width: 22px;
    height: 22px;
  }
}

a:not(.button)[target="_blank"]::after {
  background-image: url(../images/icon-external.svg);
}

a:not(.button)[href$=".pdf"]::after {
  background-image: url(../images/icon-pdf.svg);
}

/* アイコン:テキストリンク ここまで */
/* アイコン:ボタンリンク ここから */
.wp-block-button .wp-block-button__link[target="_blank"],
a.button:not(.acf-button)[target="_blank"],
a.button:not(.acf-button)[href$=".pdf"] {
  position: relative;
}

@media only screen and (max-width: 767.98px) {
  .wp-block-button .wp-block-button__link[target="_blank"],
  a.button:not(.acf-button)[target="_blank"],
  a.button:not(.acf-button)[href$=".pdf"] {
    padding-right: 36px;
  }
}

@media only screen and (min-width: 768px) {
  .wp-block-button .wp-block-button__link[target="_blank"],
  a.button:not(.acf-button)[target="_blank"],
  a.button:not(.acf-button)[href$=".pdf"] {
    padding-right: 40px;
  }
}

.wp-block-button .wp-block-button__link[target="_blank"]::after,
a.button:not(.acf-button)[target="_blank"]::after,
a.button:not(.acf-button)[href$=".pdf"]::after {
  content: '';
  position: absolute;
  right: 15px;
  background-repeat: no-repeat;
  background-size: contain;
}

@media only screen and (max-width: 767.98px) {
  .wp-block-button .wp-block-button__link[target="_blank"]::after,
  a.button:not(.acf-button)[target="_blank"]::after,
  a.button:not(.acf-button)[href$=".pdf"]::after {
    width: 18px;
    height: 18px;
    top: calc(50% - 9px);
  }
}

@media only screen and (min-width: 768px) {
  .wp-block-button .wp-block-button__link[target="_blank"]::after,
  a.button:not(.acf-button)[target="_blank"]::after,
  a.button:not(.acf-button)[href$=".pdf"]::after {
    top: calc(50% - 11px);
    width: 22px;
    height: 22px;
  }
}

.wp-block-button .wp-block-button__link[target="_blank"]::after,
a.button:not(.acf-button)[target="_blank"]::after {
  background-image: url(../images/icon-external.svg);
}

.wp-block-button .wp-block-button__link[target="_blank"]:hover::after,
a.button:not(.acf-button)[target="_blank"]:hover::after {
  background-image: url(../images/icon-external-white.svg);
}

a.button:not(.acf-button)[href$=".pdf"]::after {
  background-image: url(../images/icon-pdf.svg);
}

a.button:not(.acf-button)[href$=".pdf"]:hover::after {
  background-image: url(../images/icon-pdf.svg);
}

/* //アイコン:ボタンリンク ここまで */
/* ****** // コンポネント アイコン ここまで ****** */
/* ****** コンポネント 区切り線 ここから ****** */
.wp-block-separator,
hr {
  max-width: 100% !important;
  height: 1px;
  background-color: #c2c2c2;
  width: 100%;
  border: none;
}

@media only screen and (max-width: 767.98px) {
  .wp-block-separator,
  hr {
    margin-top: 2em;
    margin-bottom: 2em;
  }
}

@media only screen and (min-width: 768px) {
  .wp-block-separator,
  hr {
    margin-top: 4em;
    margin-bottom: 4em;
  }
}

/* ****** // コンポネント 区切り線 ここまで ****** */
/* ****** コンポネント 段落 ここから ****** */
p {
  line-height: 2;
  margin-bottom: 2em;
  margin-top: 0;
}

/* ****** // コンポネント 段落 ここまで ****** */
/* ****** コンポネント 画像 ここから ****** */
/* ヘッダ、フッタに影響しないようにcontentとブロックエディタに限定 */
@media only screen and (max-width: 767.98px) {
  img {
    margin-bottom: 30px;
  }
}

@media only screen and (min-width: 768px) {
  img {
    margin-bottom: 32px;
  }
}

figure,
.wp-block-image {
  margin-bottom: 2em;
}

figure img,
.wp-block-image img {
  margin-bottom: 0;
}

/* ****** // コンポネント 画像 ここまで ****** */
/* ****** コンポネント グループ ここから ****** */
.wp-block-group__inner-container > :last-child {
  margin-bottom: 0;
}

.wp-block-group.has-background {
  padding: 2em;
  margin-bottom: 2em;
}

/* ****** // コンポネント グループ ここまで ****** */
/* ****** コンポネント テーブル ここから ****** */
/* 編集画面UIに影響しないようにフロント側では.tableクラスを付ける"table"エレメントに直接設定すると管理画面カレンダーが大きくなる*/
/* ブロックエディタtableとは別に固定ページにテーブルを作成する場合はHTMLブロックプレビューに反映されるよう全記述する*/
.wp-block-table table,
.table {
  margin-bottom: 2em;
  width: 100%;
  max-width: 100%;
  border-spacing: 0;
  border-collapse: collapse;
}

@media only screen and (max-width: 767.98px) {
  .wp-block-table table,
  .table {
    border: 1.5px solid #404040;
  }
}

.wp-block-table table th, .wp-block-table table td,
.table th,
.table td {
  border-width: 1px;
  border-style: solid;
  border-color: #404040;
  border-collapse: separate;
  padding: 1em;
}

.wp-block-table table th > :last-child, .wp-block-table table td > :last-child,
.table th > :last-child,
.table td > :last-child {
  margin-bottom: 0;
}

.wp-block-table table th,
.table th {
  vertical-align: middle;
  white-space: nowrap;
  font-weight: bold;
  text-align: center;
  background-color: #eeeeee;
}

.wp-block-table__cell-content {
  padding: 0;
}

/* ****** // コンポネント テーブル ここまで ****** */
/* ****** コンポネント YouTube埋め込み ここから ****** */
/* 編集画面UIに影響しないようにcontainerに限定 */
.container .wp-block-embed-youtube,
.container-col-2 .wp-block-embed-youtube,
.main .wp-block-embed-youtube {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56.25%;
}

.container .wp-block-embed-youtube iframe,
.container-col-2 .wp-block-embed-youtube iframe,
.main .wp-block-embed-youtube iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}

/* ****** // コンポネント YouTube埋め込み ここまで ****** */
/* ****** コンポネント 動画 ここから ****** */
.wp-block-video {
  margin-bottom: 2em;
}

/* ****** // コンポネント 動画 ここまで ****** */
/* ****** コンポネント ギャラリー ここから ****** */
.wp-block-gallery {
  margin-bottom: 2em;
}

/* ****** // コンポネント ギャラリー ここまで ****** */
/* ****** コンポネント アニメーションスライダー（wp-blockでは無い） ここから ****** */
.slick-dots {
  justify-content: center;
  display: flex;
  margin-top: 15px;
}

.slick-dots li {
  border-radius: 50%;
  background-color: #7d7d7d;
}

@media only screen and (max-width: 767.98px) {
  .slick-dots li {
    margin-right: 5px;
    margin-left: 5px;
    width: 10px;
    height: 10px;
  }
}

@media only screen and (min-width: 768px) {
  .slick-dots li {
    margin-right: 10px;
    margin-left: 10px;
    width: 17px;
    height: 17px;
  }
}

.slick-dots li.slick-active {
  background-color: #5abacd;
}

.slick-dots li:hover {
  cursor: pointer;
}

.slick-dots button {
  display: none;
}

.slick-prev, .slick-next {
  position: absolute;
  z-index: 100;
  transition: all 0.25s;
  content: '';
  display: block;
}

.slick-prev:hover, .slick-next:hover {
  opacity: 0.8;
  cursor: pointer;
}

@media only screen and (max-width: 767.98px) {
  .slick-prev-a, .slick-next-a {
    top: calc(50% - 10px);
    width: 20px;
    height: 20px;
    border-right: solid 2px #fff;
    border-bottom: solid 2px #fff;
  }
}

@media only screen and (min-width: 768px) {
  .slick-prev-a, .slick-next-a {
    top: calc(50% - 15px);
    width: 30px;
    height: 30px;
    border-right: solid 4px #fff;
    border-bottom: solid 4px #fff;
  }
}

.slick-prev-a {
  left: 30px;
  transform: rotate(135deg);
}

.slick-next-a {
  right: 30px;
  transform: rotate(-45deg);
}

.slick-prev-b, .slick-next-b {
  background-color: #7d7d7d;
}

@media only screen and (max-width: 767.98px) {
  .slick-prev-b, .slick-next-b {
    top: calc(50% - 15px);
    width: 38px;
    height: 85px;
  }
}

@media only screen and (min-width: 768px) {
  .slick-prev-b, .slick-next-b {
    top: calc(50% - 15px);
    width: 38px;
    height: 85px;
  }
}

.slick-prev-b {
  left: 0;
}

.slick-next-b {
  right: 0;
}

.slick-prev-b::after, .slick-next-b::after {
  content: '';
  display: block;
}

@media only screen and (max-width: 767.98px) {
  .slick-prev-b::after, .slick-next-b::after {
    margin-top: 30px;
    width: 24px;
    height: 24px;
    border-right: solid 5px #fff;
    border-bottom: solid 5px #fff;
  }
}

@media only screen and (min-width: 768px) {
  .slick-prev-b::after, .slick-next-b::after {
    margin-top: 30px;
    width: 24px;
    height: 24px;
    border-right: solid 5px #fff;
    border-bottom: solid 5px #fff;
  }
}

.slick-prev-b::after {
  transform: rotate(135deg);
}

@media only screen and (max-width: 767.98px) {
  .slick-prev-b::after {
    margin-left: 12px;
  }
}

@media only screen and (min-width: 768px) {
  .slick-prev-b::after {
    margin-left: 12px;
  }
}

.slick-next-b::after {
  transform: rotate(-45deg);
}

@media only screen and (max-width: 767.98px) {
  .slick-next-b::after {
    margin-right: 12px;
  }
}

@media only screen and (min-width: 768px) {
  .slick-next-b::after {
    margin-right: 12px;
  }
}

@media only screen and (max-width: 767.98px) {
  .slick-prev-c, .slick-next-c {
    top: calc(35% - 14px);
    width: 19px;
    height: 43px;
  }
}

.slick-prev-c {
  left: 20px;
}

.slick-next-c {
  right: 20px;
}

.slick-prev-c::before, .slick-next-c::before, .slick-prev-c::after, .slick-next-c::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  vertical-align: middle;
}

.slick-prev-c::before, .slick-next-c::before {
  width: 30px;
  height: 30px;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  background: #00081a;
}

.slick-prev-c::after, .slick-next-c::after {
  box-sizing: border-box;
  width: 6px;
  height: 6px;
  border: 6px solid transparent;
  border-left: 12px solid #fff;
}

.slick-prev-c::after {
  left: -10px;
  transform: rotate(-180deg);
}

.slick-next-c::after {
  left: 10px;
}

.slick-prev-c::before {
  left: -12px;
}

.slick-next-c::before {
  right: 10px;
}

/* ****** //コンポネント アニメーションスライダー（wp-blockでは無い）  ここまで ****** */
/* ****** アンカーリンク ここから（wp-blockでは無い）  ****** */
[id*="anchor-"] {
  display: block;
  position: relative;
  visibility: hidden;
}

@media only screen and (max-width: 767.98px) {
  [id*="anchor-"] {
    top: -120px;
  }
}

@media only screen and (min-width: 768px) {
  [id*="anchor-"] {
    top: -200px;
  }
}

/* ****** //アンカーリンク ここまで（wp-blockでは無い）  ****** */
/* ****** ページレイアウト ヘッダー ここから ****** */
.header-message {
  position: relative;
  z-index: 70;
  width: 100%;
  background-color: #fff100;
}

@media only screen and (max-width: 767.98px) {
  .header-message {
    font-size: 1.5rem;
    padding-top: 0.2em;
    padding-bottom: 0.2em;
  }
  .header-message p {
    line-height: 1.5;
  }
}

@media only screen and (min-width: 768px) {
  .header-message {
    min-width: 1360px;
    padding-top: 0.3em;
    padding-bottom: 0.3em;
  }
}

.header-message-text {
  margin-bottom: 0;
}

@media only screen and (max-width: 767.98px) {
  .header-message-text {
    padding-right: 15px;
    padding-left: 15px;
  }
}

@media only screen and (min-width: 768px) {
  .header-message-text {
    padding-right: 30px;
    padding-left: 30px;
    margin-right: auto;
    margin-left: auto;
    width: 1360px;
  }
}

/* IE edge でスクロールの際に.container要素が上部に表示されるのを回避*/
.header-behind {
  position: fixed;
  height: 95px;
  width: 100%;
  background-color: #fff;
  z-index: 20;
  top: 0;
}

.header {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  width: 100%;
  background-color: #fff;
  z-index: 400;
}

.header-content {
  display: flex;
  align-items: center;
}

@media only screen and (max-width: 767.98px) {
  .header-content {
    height: 40px;
    padding-right: 15px;
    padding-left: 15px;
  }
}

@media only screen and (min-width: 768px) {
  .header-content {
    height: 95px;
    width: 1360px;
    padding-right: 30px;
    padding-left: 30px;
    margin-right: auto;
    margin-left: auto;
  }
}

.header-logo {
  margin-bottom: 0;
  margin-right: auto;
}

.header-logo img {
  margin-bottom: 0;
}

@media only screen and (max-width: 767.98px) {
  .header-logo {
    width: 150px;
  }
}

@media only screen and (min-width: 768px) {
  .header-logo {
    width: 268px;
  }
}

.header-search {
  position: relative;
  height: 33px;
}

@media only screen and (max-width: 767.98px) {
  .header-search {
    margin: 15px;
    font-size: 15px;
  }
}

@media only screen and (min-width: 768px) {
  .header-search {
    font-size: 16px;
  }
}

.header-search-input {
  border: 1px solid #bfbfbf;
  height: 33px;
  padding: 0.2em 0.5em;
}

@media only screen and (max-width: 767.98px) {
  .header-search-input {
    background-color: #e7f5f9;
    width: 100%;
    border: none;
    border-radius: 0;
  }
}

@media only screen and (min-width: 768px) {
  .header-search-input {
    width: 246px;
  }
}

.header-search-input::-webkit-input-placeholder {
  color: #d5d5d5;
}

.header-search-submit {
  position: absolute;
  right: 10px;
  top: 7px;
}

.header-font-size {
  height: 33px;
  margin-left: 20px;
  display: flex;
  align-items: center;
  background-color: #7d7d7d;
  padding: 3px;
}

.header-font-size dt {
  color: #fff;
  padding-right: 0.5em;
  padding-left: 0.5em;
}

.header-font-size dd a {
  line-height: 29px;
  width: 27px;
  height: 27px;
  text-align: center;
  color: #333333;
  background-color: #fff;
  text-decoration: none;
  display: block;
  transition: opacity 0.3s;
}

.header-font-size dd a.is-active {
  background-color: #c2e9f0;
}

.header-font-size dd a:hover:not(.is-active) {
  opacity: 0.8;
}

.header-font-size dd + dd {
  margin-left: 3px;
}

.header-font-size-small {
  font-size: 14px !important;
}

.header-font-size-medium {
  font-size: 18px !important;
}

.header-font-size-large {
  font-size: 22px !important;
}

@media only screen and (max-width: 767.98px) {
  .header-font-size {
    font-size: 15px;
  }
}

@media only screen and (min-width: 768px) {
  .header-font-size {
    font-size: 16px;
  }
}

.header-lang {
  position: relative;
  z-index: 200;
  line-height: 1;
}

@media only screen and (max-width: 767.98px) {
  .header-lang {
    font-size: 14px;
  }
}

@media only screen and (min-width: 768px) {
  .header-lang {
    font-size: 15px;
    margin-left: 20px;
    width: 9.3em;
  }
}

.header-lang-button a {
  text-decoration: none;
  display: block;
  background-color: #85cedf;
  color: #333333;
  position: relative;
  height: 33px;
  line-height: 33px;
  padding-left: 45px;
}

@media only screen and (min-width: 768px) {
  .header-lang-button a {
    width: 140px;
  }
}

.header-lang-button a::before {
  content: '';
  width: 13px;
  height: 13px;
  background: #fff;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  margin-top: -6px;
  left: 17px;
}

.header-lang-button a::after {
  transition: transform 0.25s;
  transform-origin: 40%;
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 4px 0 4px 6px;
  border-color: transparent transparent transparent #5bc4d8;
  position: absolute;
  top: 50%;
  margin-top: -4px;
  left: 21px;
}

.header-lang-button a.is-active::before, .header-lang-button a.is-active::after {
  transform: rotate(90deg);
}

@media only screen and (min-width: 768px) {
  .header-lang-button {
    position: relative;
  }
}

.header-lang-list {
  list-style: none;
  display: none;
}

@media only screen and (min-width: 768px) {
  .header-lang-list {
    width: 140px;
    position: absolute;
  }
}

@media only screen and (min-width: 768px) {
  .header-lang-item {
    width: 140px;
  }
}

.header-lang-item a {
  color: #333333;
  display: block;
  padding: 0.5em 1.5em;
  background-color: #ade2ec;
  text-decoration: none;
}

.header-lang-item a.is-active {
  color: #333333;
  background-color: #ebf8fa;
}

@media only screen and (min-width: 768px) {
  .header-lang-item a {
    width: 140px;
    transition: background-color 0.25s;
  }
  .header-lang-item a.is-active:hover {
    background-color: #ebf8fa;
  }
  .header-lang-item a:hover {
    background-color: #84d3e2;
  }
}

/* ****** // ページレイアウト ヘッダー ここまで ****** */
/* ****** ページレイアウト ヘッダーメニュー ここから ****** */
.header-menu {
  z-index: 180;
}

@media only screen and (max-width: 767.98px) {
  .header-menu {
    background-color: #fff;
    display: none;
    width: 100%;
    height: 100%;
    overflow: auto;
    position: fixed;
    -webkit-overflow-scrolling: touch;
  }
  .header-menu a {
    display: block;
  }
  .header-menu-inner {
    background-color: #fff;
    overflow: hidden;
  }
}

@media only screen and (min-width: 768px) {
  .header-menu {
    width: 1360px;
    margin-right: auto;
    margin-left: auto;
    padding-right: 30px;
    padding-left: 30px;
    display: block !important;
  }
}

.header-nav a {
  text-decoration: none;
}

@media only screen and (max-width: 767.98px) {
  .header-nav {
    margin-top: 1em;
  }
}

@media only screen and (min-width: 768px) {
  .header-nav {
    background: url(../images/nav-border.png) no-repeat left top 12px;
  }
}

.header-nav-list {
  list-style: none;
  display: flex;
}

@media only screen and (max-width: 767.98px) {
  .header-nav-list {
    margin-right: 15px;
    margin-left: 15px;
    flex-direction: column;
  }
}

@media only screen and (min-width: 768px) {
  .header-nav-list {
    justify-content: space-evenly;
  }
}

@media only screen and (min-width: 768px) {
  .header-nav-item {
    background: url(../images/nav-border.png) no-repeat right top 12px;
    flex: 1 0 auto;
  }
  .header-nav-item > a {
    padding-top: 0.5em;
    letter-spacing: 1px;
    color: #333333;
    text-align: center;
    transition: all 0.3s;
  }
  .header-nav-item > a:hover {
    background-color: #85cedf;
  }
  .header-nav-item > a::after {
    display: none !important;
  }
  .header-nav-item > a.current {
    background-color: #85cedf;
  }
}

@media only screen and (max-width: 767.98px) {
  .header-nav-item:last-child {
    border-bottom: 2px solid #85cedf;
  }
}

@media only screen and (max-width: 767.98px) {
  .header-nav-item > a {
    padding: 0.8em 1em 0.8em 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #333333;
    border-top: 2px solid #85cedf;
  }
  .header-nav-item > a.down::after {
    margin-top: -0.2em;
    transition: all 0.25s;
    content: '';
    display: block;
    width: 10px;
    height: 10px;
    border-right: solid 2px #333333;
    border-bottom: solid 2px #333333;
    transform: rotate(45deg);
    background-image: none;
    margin-left: 0;
    margin-right: 0;
    top: 0;
  }
  .header-nav-item > a.down.is-open {
    color: #1a6170;
  }
  .header-nav-item > a.down.is-open::after {
    transform: rotate(-135deg);
    border-right: solid 2px #85cedf;
    border-bottom: solid 2px #85cedf;
  }
}

@media only screen and (min-width: 768px) {
  .header-nav-item > a {
    height: 52px;
    display: block;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}

.header-nav-content {
  display: none;
}

@media only screen and (max-width: 767.98px) {
  .header-nav-content {
    padding-bottom: 15px;
  }
}

@media only screen and (min-width: 768px) {
  .header-nav-content {
    padding-top: 1em;
    padding-bottom: 1em;
    position: absolute;
    width: 100%;
    min-width: 1360px;
    left: 0;
    color: #fff;
    background-color: rgba(102, 102, 102, 0.8);
    z-index: 100;
    text-align: center;
  }
}

.header-nav-content-list {
  list-style: none;
}

@media only screen and (min-width: 768px) {
  .header-nav-content-list {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
  }
}

@media only screen and (max-width: 767.98px) {
  .header-nav-content-list-item {
    margin-bottom: 0.5em;
  }
}

@media only screen and (min-width: 768px) {
  .header-nav-content-list-item {
    margin-right: 2em;
    margin-left: 2em;
    margin-top: 0.5em;
    margin-bottom: 0.5em;
  }
}

@media only screen and (max-width: 767.98px) {
  .header-nav-content-list-item > a {
    font-size: 1.4rem;
    color: #333333;
  }
  .header-nav-content-list-item > a[target="_blank"]::after {
    margin-left: 0.5em;
    width: 15px;
    height: 15px;
  }
}

@media only screen and (min-width: 768px) {
  .header-nav-content-list-item > a {
    font-size: 1.6rem;
    color: #fff;
  }
  .header-nav-content-list-item > a:hover {
    text-decoration: underline;
  }
  .header-nav-content-list-item > a[target="_blank"]::after {
    margin-left: 0.5em;
    background-image: url(../images/icon-external-white.svg) !important;
    width: 18px;
    height: 18px;
  }
}

.header-nav-content-inner {
  margin: 0 auto;
}

@media only screen and (min-width: 768px) {
  .header-nav-item:hover .header-nav-content {
    display: block !important;
    animation: show 0.5s linear 0s;
  }
  @keyframes show {
    from {
      opacity: 0;
    }
    to {
      opacity: 1;
    }
  }
}

.sp-header-nav-secondary {
  list-style: none;
  margin-top: 1.5em;
  margin-right: 15px;
  margin-left: 15px;
  margin-bottom: 100px;
}

.sp-header-nav-secondary a {
  text-decoration: none;
  color: #333333;
}

.sp-header-nav-secondary-item {
  margin-bottom: 0.8em;
}

/* ****** // ページレイアウト ヘッダーメニュー ここまで ****** */
/* ****** ページレイアウト ハンバーガーメニュー ここから ****** */
@media only screen and (max-width: 767.98px) {
  .hamburger {
    width: 40px;
    height: 40px;
    position: relative;
  }
  .hamburger-border {
    position: absolute;
    left: 8px;
    width: 24px;
    height: 3px;
    background-color: #5bc4d8;
    transition: all 0.25s;
  }
  .hamburger-border:nth-of-type(1) {
    top: 10px;
  }
  .hamburger-border:nth-of-type(2) {
    top: 18px;
  }
  .hamburger-border:nth-of-type(3) {
    top: 26px;
  }
  .hamburger.is-open .hamburger-border:nth-of-type(1) {
    transform: translateY(8px) rotate(-45deg);
  }
  .hamburger.is-open .hamburger-border:nth-of-type(2) {
    opacity: 0;
  }
  .hamburger.is-open .hamburger-border:nth-of-type(3) {
    transform: translateY(-8px) rotate(45deg);
  }
}

@media only screen and (min-width: 768px) {
  .hamburger {
    display: none;
  }
}

/* ****** // ページレイアウト ハンバーガーメニュー ここまで ****** */
/* ****** ページレイアウト コンテナ― ここから ****** */
body.home .container,
body.eng .container,
body.kr .container,
body.chn .container {
  margin-bottom: 0;
}

@media only screen and (max-width: 767.98px) {
  .container {
    margin-bottom: 3em;
  }
}

@media only screen and (min-width: 768px) {
  .container {
    margin-bottom: 9em;
    min-width: 1360px;
  }
}

/* ****** // ページレイアウト コンテナ― ここまで ****** */
/* ****** ページレイアウト パンくず ここから ****** */
.breadcrumbs-list {
  list-style: none;
}

@media only screen and (max-width: 767.98px) {
  .breadcrumbs-list {
    margin-bottom: 2em;
  }
}

@media only screen and (min-width: 768px) {
  .breadcrumbs-list {
    margin-bottom: 3.5em;
  }
}

.breadcrumbs-list a {
  color: #5bc4d8;
  text-decoration: none;
}

.breadcrumbs-list li {
  display: inline;
}

.breadcrumbs-list li + li {
  margin-left: 0.3em;
}

.breadcrumbs-list li + li:before {
  margin-right: 0.5em;
  content: '\03e';
}

@media only screen and (max-width: 767.98px) {
  .breadcrumbs-list {
    padding-right: 15px;
    padding-left: 15px;
    font-size: 1.4rem;
  }
}

@media only screen and (min-width: 768px) {
  .breadcrumbs-list {
    width: 1360px;
    padding-right: 80px;
    padding-left: 80px;
    margin-right: auto;
    margin-left: auto;
  }
}

/* ****** // ページレイアウト パンくず ここまで ****** */
/* ****** ページレイアウト コンテント ここから ****** */
.content {
  position: relative;
}

@media only screen and (max-width: 767.98px) {
  .content {
    padding-right: 15px;
    padding-left: 15px;
  }
}

@media only screen and (min-width: 768px) {
  .content {
    width: 1360px;
    padding-right: 80px;
    padding-left: 80px;
    margin-right: auto;
    margin-left: auto;
  }
}

.content-heading {
  background-repeat: no-repeat;
  background-position: center top;
  margin-bottom: 0.5em;
}

@media only screen and (max-width: 767.98px) {
  .content-heading {
    height: 110px;
    background-size: cover;
  }
}

@media only screen and (min-width: 768px) {
  .content-heading {
    height: 220px;
    min-width: 1360px;
    background-size: cover;
  }
}

body.blog .content-heading,
body.single-post .content-heading,
body.archive .content-heading {
  background-image: url(../images/heading-news.jpg);
}

/*美術館カレンダー*/
body.event .content-heading {
  background-image: url(../images/heading-event.jpg);
}

/*年間スケジュール*/
body.exhibition .content-heading {
  background-image: url(../images/heading-exhibition.jpg);
}

/*小磯良平記念室*/
body.koiso .content-heading {
  background-image: url(../images/heading-koiso.jpg);
}

/*金山平三記念室*/
body.kanayama .content-heading {
  background-image: url(../images/heading-kanayama.jpg);
}

/*アクセス*/
body.access_m .content-heading {
  background-image: url(../images/heading-access.jpg);
}

/*美術館周辺マップ*/
body.map .content-heading {
  background-position: center bottom;
  background-image: url(../images/heading-map.jpg);
}

/*開館時間・料金*/
body.access .content-heading {
  background-image: url(../images/heading-times.jpg);
}

/*ミュージアムショップ・カフェ・レストラン*/
body.tenant .content-heading {
  background-image: url(../images/heading-tenant.jpg);
}

/*当館オリジナルグッズ*/
body.original .content-heading {
  background-image: url(../images/heading-original.jpg);
}

/*安藤忠雄コーナー*/
body.ando .content-heading {
  background-image: url(../images/heading-ando.jpg);
}

/*よくあるお問い合わせ*/
body.faq .content-heading {
  background-image: url(../images/heading-faq.jpg);
}

/* ****** // ページレイアウト コンテント ここまで ****** */
/* ****** ページレイアウト フッター ここから ****** */
@media only screen and (min-width: 768px) {
  .footer {
    min-width: 1360px;
  }
}

/* ****** // ページレイアウト フッター ここまで ****** */
/* ****** ページレイアウト フッターサイトマップ ここから ****** */
.footer-sitemap {
  padding-top: 3em;
  padding-bottom: 3em;
  background-color: #eeeeee;
  font-size: 1.5rem;
}

.footer-sitemap a {
  text-decoration: none;
  color: #333333;
}

.footer-sitemap a[target="_blank"]::after {
  margin-left: 0.5em;
  background-image: url(../images/icon-external.svg) !important;
  width: 14px;
  height: 14px;
  top: 0;
}

.footer-sitemap a:hover {
  color: #5bc4d8;
}

.footer-sitemap-inner {
  width: 1360px;
  margin-right: auto;
  margin-left: auto;
  padding-right: 80px;
  padding-left: 80px;
}

.footer-sitemap .footer-sitemap-inner {
  display: flex;
  justify-content: space-between;
}

.footer-sitemap .footer-sitemap-column + .footer-sitemap-column {
  margin-left: 5em;
}

.footer-sitemap html[lang="ja"] .footer-sitemap-inner {
  display: flex;
  justify-content: space-between;
}

.footer-sitemap .footer-sitemap-list {
  list-style: none;
}

.footer-sitemap .footer-sitemap-list-secondary {
  list-style: none;
}

.footer-sitemap .footer-sitemap-list ul:not([class]),
.footer-sitemap .footer-sitemap-list ol:not([class]) {
  list-style: none;
  padding-left: 0;
}

.footer-sitemap .footer-sitemap-list > li:not(:first-child) {
  margin-top: 2em;
}

.footer-sitemap .footer-sitemap-list > li > a {
  font-weight: bold;
}

.footer-sitemap .footer-sitemap-list > li ul {
  margin-top: 0.7em;
}

.footer-sitemap .footer-sitemap-list > li ul li {
  margin-bottom: 0.5em;
  position: relative;
  padding-left: 15px;
}

.footer-sitemap .footer-sitemap-list > li ul li::before {
  content: '-';
  margin-right: 0.5em;
  position: absolute;
  top: 0;
  left: 0;
}

/* ****** // ページレイアウト フッターサイトマップ ここまで ****** */
/* ****** ページレイアウト フッター下部 ここから ****** */
.footer-bottom {
  color: #fff;
  background-color: #434343;
}

.footer-bottom a {
  color: #fff;
}

@media only screen and (max-width: 767.98px) {
  .footer-bottom {
    padding-top: 1.5em;
    padding-bottom: 0.5em;
    padding-right: 15px;
    padding-left: 15px;
  }
}

@media only screen and (min-width: 768px) {
  .footer-bottom {
    padding-top: 2.5em;
    padding-bottom: 1em;
  }
  .footer-bottom a:hover {
    color: #5bc4d8;
  }
  .footer-bottom-inner {
    width: 1360px;
    margin-right: auto;
    margin-left: auto;
    padding-right: 80px;
    padding-left: 80px;
  }
}

@media only screen and (min-width: 768px) {
  .footer-bottom-inner {
    display: flex;
    justify-content: space-between;
    margin-bottom: 2.5em;
  }
}

@media only screen and (min-width: 768px) {
  .footer-address {
    line-height: 2.1;
    letter-spacing: 1px;
  }
}

.footer-copyright {
  letter-spacing: 1px;
  color: #bdbdbd;
  line-height: 1.3;
  display: block;
  text-align: center;
}

@media only screen and (max-width: 767.98px) {
  .footer-copyright {
    font-size: 1.4rem;
  }
}

@media only screen and (min-width: 768px) {
  .footer-copyright {
    font-size: 1.5rem;
  }
}

/* ****** // ページレイアウト フッター下部 ここまで ****** */
/* ****** ページレイアウト フッターSNS&バナー ここから ****** */
.footer-bottom-banner-list {
  display: flex;
  justify-content: center;
  align-items: center;
}

@media only screen and (min-width: 768px) {
  .footer-bottom-banner-item a {
    transition: opacity 0.3s;
  }
  .footer-bottom-banner-item a:hover {
    opacity: 0.8;
  }
}

@media only screen and (max-width: 767.98px) {
  html[lang^="ja"] .footer-bottom-banner-item {
    flex: 1 1 33.3333%;
    max-width: 164px;
  }
}

@media only screen and (min-width: 768px) {
  html[lang^="ja"] .footer-bottom-banner-item {
    width: 164px;
  }
}

@media only screen and (max-width: 767.98px) {
  html[lang^="en"] .footer-bottom-banner-item.footer-bottom-banner-item-facebook,
  html[lang^="ko"] .footer-bottom-banner-item.footer-bottom-banner-item-facebook,
  html[lang^="zh"] .footer-bottom-banner-item.footer-bottom-banner-item-facebook {
    flex: 1 1 44.4180%;
    max-width: 187px;
  }
}

@media only screen and (min-width: 768px) {
  html[lang^="en"] .footer-bottom-banner-item.footer-bottom-banner-item-facebook,
  html[lang^="ko"] .footer-bottom-banner-item.footer-bottom-banner-item-facebook,
  html[lang^="zh"] .footer-bottom-banner-item.footer-bottom-banner-item-facebook {
    width: 187px;
  }
}

@media only screen and (max-width: 767.98px) {
  html[lang^="en"] .footer-bottom-banner-item.footer-bottom-banner-item-michelin,
  html[lang^="ko"] .footer-bottom-banner-item.footer-bottom-banner-item-michelin,
  html[lang^="zh"] .footer-bottom-banner-item.footer-bottom-banner-item-michelin {
    flex: 1 1 55.5849%;
    max-width: 234px;
  }
}

@media only screen and (min-width: 768px) {
  html[lang^="en"] .footer-bottom-banner-item.footer-bottom-banner-item-michelin,
  html[lang^="ko"] .footer-bottom-banner-item.footer-bottom-banner-item-michelin,
  html[lang^="zh"] .footer-bottom-banner-item.footer-bottom-banner-item-michelin {
    width: 234px;
  }
}

@media only screen and (max-width: 767.98px) {
  .footer-bottom-banner-item + .footer-bottom-banner-item {
    margin-left: 15px;
  }
}

@media only screen and (min-width: 768px) {
  .footer-bottom-banner-item + .footer-bottom-banner-item {
    margin-left: 23px;
  }
}

/* ****** // ページレイアウト フッターSNS&バナー ここまで ****** */
/* ****** ページレイアウト ページの先頭へボタン ここから ****** */
.pagetop {
  display: none;
  position: fixed;
  right: 20px;
  bottom: 20px;
  background-color: #5bc4d8;
  border-radius: 50%;
  z-index: 150;
}

.pagetop::after {
  display: block;
  content: "";
  position: absolute;
}

@media only screen and (max-width: 767.98px) {
  .pagetop {
    width: 40px;
    height: 40px;
  }
  .pagetop::after {
    top: 50%;
    left: 10px;
    width: 0;
    height: 0;
    margin-top: -20px;
    border: 10px solid transparent;
    border-bottom: 15px solid #fff;
  }
}

@media only screen and (min-width: 768px) {
  .pagetop {
    width: 60px;
    height: 60px;
    transition: opacity 0.25s;
  }
  .pagetop::after {
    top: 45%;
    left: 17px;
    width: 0;
    height: 0;
    margin-top: -20px;
    border: 12px solid transparent;
    border-bottom: 18px solid #fff;
  }
  .pagetop:hover {
    opacity: 0.5;
  }
}

/* ****** // ページレイアウト ページの先頭へボタン ここまで ****** */
/* ****** ページレイアウト Instagram ここから ****** */
a.instagram {
  text-align: center;
  color: #fff;
  display: block;
  text-decoration: none;
  background: linear-gradient(45deg, #ffd021 0%, #fb6c11 25%, #f72806 50%, #e1003f 75%, #ce0073 100%);
  transition: opacity 0.25s;
}

@media only screen and (min-width: 768px) {
  a.instagram:hover {
    opacity: 0.7;
  }
}

a.instagram::before {
  background-image: url(../images/icon-instagram.png);
  background-size: contain;
  vertical-align: middle;
}

@media only screen and (max-width: 767.98px) {
  a.instagram::before {
    content: '';
    display: block;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 0.7em;
    width: 33px;
    height: 33px;
  }
}

@media only screen and (min-width: 768px) {
  a.instagram::before {
    margin-right: 1em;
    content: '';
    display: inline-block;
    width: 50px;
    height: 50px;
  }
}

a.instagram[target="_blank"]::after {
  content: '';
  display: inline-block;
  background-image: url(../images/icon-external-white.svg) !important;
  background-size: contain;
  vertical-align: middle;
  margin-left: 0.5em;
  margin-top: -0.5em;
}

@media only screen and (max-width: 767.98px) {
  a.instagram[target="_blank"]::after {
    width: 15px;
    height: 15px;
  }
}

@media only screen and (min-width: 768px) {
  a.instagram[target="_blank"]::after {
    width: 20px;
    height: 20px;
  }
}

@media only screen and (max-width: 767.98px) {
  a.instagram {
    padding-top: 1.5em;
    padding-bottom: 1.5em;
    font-size: 1.3rem;
    letter-spacing: 2px;
  }
}

@media only screen and (min-width: 768px) {
  a.instagram {
    min-width: 1360px;
    letter-spacing: 2px;
    height: 90px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}

/* ****** // ページレイアウト Instagram ここまで ****** */
/* ****** ページレイアウト FaceBook ここから ****** */
.facebook {
  text-align: center;
}

@media only screen and (max-width: 767.98px) {
  .facebook {
    padding: 52px 15px;
    background: url(../images/sp-bg-facebook.jpg) no-repeat center center;
    background-size: cover;
  }
}

@media only screen and (min-width: 768px) {
  .facebook {
    padding: 120px 0;
    background: url(../images/bg-facebook.jpg) no-repeat center center;
    background-size: cover;
  }
}

@media only screen and (max-width: 767.98px) {
  .facebook-container {
    width: 100%;
    max-width: 380px;
  }
}

@media only screen and (min-width: 768px) {
  .facebook-container {
    width: 380;
  }
}

/* ****** // ページレイアウト FaceBook ここまで ****** */
/* ****** ページレイアウト GoogleMap ここから ****** */
.googlemap {
  height: 0;
  overflow: hidden;
  position: relative;
}

@media only screen and (max-width: 767.98px) {
  .googlemap {
    padding-bottom: 66.66666%;
    /*250/375*/
  }
}

@media only screen and (min-width: 768px) {
  .googlemap {
    padding-bottom: 35%;
    /*500/1400*/
  }
}

.googlemap iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
}

/* ****** // ページレイアウト GoogleMap ここまで ****** */
/* ****** ページレイアウト ページャー ここから ****** */
.wp-pagenavi {
  display: flex;
  justify-content: center;
}

@media only screen and (max-width: 767.98px) {
  .wp-pagenavi {
    margin-top: 4em;
  }
}

@media only screen and (min-width: 768px) {
  .wp-pagenavi {
    margin-top: 6em;
  }
}

.wp-pagenavi a {
  text-decoration: none;
}

.wp-pagenavi a, .wp-pagenavi span {
  border: 2px solid #333333;
  text-align: center;
  display: block;
  color: #333333;
}

@media only screen and (max-width: 767.98px) {
  .wp-pagenavi a, .wp-pagenavi span {
    width: 35px;
    height: 35px;
    line-height: 31px;
    margin: 0 5px;
  }
}

@media only screen and (min-width: 768px) {
  .wp-pagenavi a, .wp-pagenavi span {
    width: 43px;
    height: 43px;
    line-height: 40px;
    margin: 0 8px;
  }
}

.wp-pagenavi span.current {
  color: #fff;
  background-color: #333333;
}

@media only screen and (min-width: 768px) {
  .wp-pagenavi a:hover {
    background-color: #eeeeee;
  }
}

/* ****** // ページレイアウト ページャー ここまで ****** */
/* ****** ページ個別 サイトトップページ ここから ****** */
/* コンテンツが1360pxオーバーのため、min-width調整 ここから */
@media only screen and (min-width: 768px) {
  body.home .header-message,
  body.eng .header-message,
  body.kr .header-message,
  body.chn .header-message,
  body.home .container,
  body.eng .container,
  body.kr .container,
  body.chn .container,
  body.home .footer, body.eng .footer,
  body.kr .footer,
  body.chn .footer {
    min-width: 1400px;
  }
}

/* //コンテンツが1360pxオーバーのため、min-width調整 ここまで */
/* --- トップページ共通 ここから --- */
@media only screen and (max-width: 767.98px) {
  .home-section {
    padding-top: 2.5em;
  }
  .home-section.home-section-padding {
    padding-bottom: 0.5em;
  }
}

@media only screen and (min-width: 768px) {
  .home-section {
    padding-top: 5em;
  }
  .home-section.home-section-padding {
    padding-bottom: 3em;
  }
}

.home-section > :first-child {
  margin-top: 0;
}

.home-section > :last-child {
  margin-bottom: 0;
}

/* --- トップページ共通 ここまで --- */
/* --- 最新情報 ここから --- */
@media only screen and (max-width: 767.98px) {
  .home-news .news-important + .title-a {
    margin-top: 2.5em;
  }
}

@media only screen and (min-width: 768px) {
  .home-news .news-important + .title-a {
    margin-top: 3em;
  }
}

/* --- //最新情報 ここまで --- */
/* --- メインスライダー ここから --- */
.home-main-slider {
  overflow: hidden;
}

@media only screen and (min-width: 768px) {
  .home-main-slider {
    width: 1400px;
    padding-right: 0;
    padding-left: 0;
    margin-right: auto;
    margin-left: auto;
  }
}

.home-main-slider img {
  margin-bottom: 0;
}

.home-main-slider li {
  outline: none;
}

@media only screen and (min-width: 768px) {
  .home-main-slider-list {
    margin-bottom: 0;
  }
}

@media only screen and (min-width: 768px) {
  .home-main-slider-list {
    margin-bottom: 25px;
  }
}

.home-main-slider-thumbs-list {
  margin-right: -15px;
  margin-left: -15px;
}

.home-main-slider-thumbs-list li {
  margin-right: 15px;
  margin-left: 15px;
  outline: none;
}

.home-main-slider-thumbs-list li:hover {
  cursor: pointer;
}

@media only screen and (max-width: 767.98px) {
  .home-main-slider-thumbs-list {
    display: none;
  }
}

/* --- //メインスライダー ここまで --- */
/* --- 美術館で学ぶ、たのしむ ここから --- */
@media only screen and (min-width: 768px) {
  .home-learn {
    width: 1200px;
    padding-right: 0;
    padding-left: 0;
    margin-right: auto;
    margin-left: auto;
  }
}

@media only screen and (max-width: 767.98px) {
  .home-learn-slick-next-b, .home-learn-slick-prev-b {
    top: calc(23% - 15px);
  }
}

@media only screen and (max-width: 767.98px) {
  .home-learn-nav-area {
    padding-right: 15px;
    padding-left: 15px;
  }
}

.home-learn-slider {
  list-style: none;
}

.home-learn-slider a {
  text-decoration: none;
}

@media only screen and (min-width: 768px) {
  .home-learn-slider {
    display: flex;
  }
}

.home-learn-slider-item {
  outline: none;
}

@media only screen and (max-width: 767.98px) {
  .home-learn-slider-item {
    margin-right: 15px;
    margin-left: 15px;
  }
}

@media only screen and (min-width: 768px) {
  .home-learn-slider-item {
    width: 260px;
    margin-right: 20px;
    margin-left: 20px;
  }
}

.home-learn-slider-content {
  max-width: 330px;
  margin-right: auto;
  margin-left: auto;
}

.home-learn-slider-image {
  margin-bottom: 0 !important;
}

.home-learn-slider-title {
  font-weight: bold;
  color: #2c8090;
  margin-top: 1em;
  margin-bottom: 0.5em;
  letter-spacing: 2px;
}

@media only screen and (max-width: 767.98px) {
  .home-learn-slider-title {
    font-size: 1.5rem;
  }
}

@media only screen and (min-width: 768px) {
  .home-learn-slider-title {
    font-size: 1.8rem;
  }
}

.home-learn-slider-text {
  line-height: 1.7;
  margin-bottom: 1em;
}

@media only screen and (max-width: 767.98px) {
  .home-learn-slider-text {
    font-size: 1.4rem;
  }
}

.home-learn-slider-nav-list {
  list-style: none;
}

.home-learn-slider-nav-list-item {
  margin-bottom: 0.5em;
}

.home-learn-slider-nav-list-item a {
  color: #333333;
}

.home-learn-slider-nav-list-item a:hover {
  color: #5bc4d8;
}

.home-learn-slider-nav-list-item a[target="_blank"]::after {
  margin-left: 0.5em;
}

@media only screen and (max-width: 767.98px) {
  .home-learn-slider-nav-list {
    font-size: 1.4rem;
  }
}

@media only screen and (min-width: 768px) {
  .home-learn-slider-nav-list {
    font-size: 1.6rem;
  }
}

/* --- //美術館で学ぶ、たのしむ ここまで --- */
/* --- 安藤建築の見どころと屋外彫刻 ここから --- */
.home-ando-title {
  text-align: center;
  font-weight: bold;
  color: #2c8090;
}

@media only screen and (max-width: 767.98px) {
  .home-ando-title {
    font-size: 2.0rem;
  }
}

@media only screen and (min-width: 768px) {
  .home-ando-title {
    font-size: 2.8rem;
  }
}

.home-ando-slider a {
  text-decoration: none;
}

@media only screen and (max-width: 767.98px) {
  .home-ando-slider {
    padding-top: 40px;
    background: url(../images/home-sp-bg-ando.png) no-repeat center top;
    background-size: contain;
    background-size: cover;
  }
}

@media only screen and (min-width: 768px) {
  .home-ando-slider {
    padding-top: 80px;
    background: url(../images/home-bg-ando.png) no-repeat center top;
    background-size: cover;
  }
}

.home-ando-slider-item {
  outline: none;
  padding-top: 50px;
}

@media only screen and (min-width: 768px) {
  .home-ando-slider-item img {
    transition: all 0.3s;
  }
  .home-ando-slider-item img:hover {
    transform: scale(1.1);
  }
}

h3.home-ando-slider-title {
  margin-bottom: 0.5em;
  text-align: center;
  font-weight: bold;
}

@media only screen and (max-width: 767.98px) {
  h3.home-ando-slider-title {
    margin-top: 56px;
  }
}

@media only screen and (min-width: 768px) {
  h3.home-ando-slider-title {
    margin-top: 50px;
  }
}

@media only screen and (min-width: 768px) {
  h3.home-ando-slider-title {
    font-size: 1.8rem;
  }
}

@media only screen and (max-width: 767.98px) {
  .home-ando-slider-text {
    line-height: 1.8;
    margin-bottom: 1em;
  }
}

.home-ando-slider-body {
  margin-top: -100px;
  padding-top: 1em;
  background-color: #85cedf;
}

.home-ando-slider-body-inner {
  max-width: 65%;
  margin-right: auto;
  margin-left: auto;
}

/* --- //安藤建築の見どころと屋外彫刻 ここまで --- */
/* --- 美術館を訪れる ここから --- */
.home-visit {
  text-align: center;
}

.home-visit-title {
  margin-bottom: 1.5em;
  color: #2c8090;
}

@media only screen and (max-width: 767.98px) {
  .home-visit-title {
    font-size: 1.5rem;
  }
}

@media only screen and (min-width: 768px) {
  .home-visit-title {
    font-size: 1.8rem;
  }
}

.home-visit-closing-day {
  text-align: left;
  display: flex;
  justify-content: space-around;
}

@media only screen and (max-width: 767.98px) {
  .home-visit-closing-day-list {
    text-align: center;
  }
}

.home-visit-closing-day li {
  margin-bottom: 0.3em;
}

/* --- //美術館を訪れる ここまで --- */
/* --- ボトムリンクボタン ここから --- */
@media only screen and (max-width: 767.98px) {
  .home-bottom {
    padding-top: 3em;
    padding-bottom: 1em;
  }
}

@media only screen and (min-width: 768px) {
  .home-bottom {
    padding-top: 6em;
    padding-bottom: 4em;
  }
}

/* --- //ボトムリンクボタン ここまで --- */
/* ****** // ページ個別 サイトトップページ ここまで ****** */
/* ****** ページ個別 最新情報 ここから ****** */
.news-important {
  background-color: #fff0fc;
}

.news-list-important-item {
  margin-bottom: 0;
}

@media only screen and (max-width: 767.98px) {
  .news-list-important-item {
    padding: 1.5em;
  }
}

@media only screen and (min-width: 768px) {
  .news-list-important-item {
    align-items: flex-start;
    display: flex;
    padding: 1.5em 2.5em;
  }
}

.news-list-important-item + .news-list-important-item {
  border-top: 1px solid #e5e5e5;
}

.news-list-important-text {
  font-weight: bold;
  display: block;
}

@media only screen and (max-width: 767.98px) {
  .news-list-important-text {
    margin-top: 0.5em;
  }
}

@media only screen and (min-width: 768px) {
  .news-list-important-text {
    margin-top: 0;
    margin-left: 1em;
  }
}

.news-list-important-text a {
  text-decoration: none;
  color: #333333;
}

@media only screen and (min-width: 768px) {
  .news-list-important-text a:hover {
    color: #5bc4d8;
  }
}

.news-list {
  list-style: none;
}

.news-list-item:first-child {
  padding-top: 0;
}

.news-list-item {
  border-bottom: 1px solid #e5e5e5;
}

@media only screen and (max-width: 767.98px) {
  .news-list-item {
    padding: 1em 0 0.7em;
  }
}

@media only screen and (min-width: 768px) {
  .news-list-item {
    padding: 1.5em 2.5em 1.2em;
  }
}

.news-list-time-category-wrapper {
  display: flex;
}

@media only screen and (max-width: 767.98px) {
  .news-list-time {
    margin-right: 1em;
  }
}

@media only screen and (min-width: 768px) {
  .news-list-time {
    margin-right: 2em;
  }
}

.news-list-category {
  white-space: nowrap;
  display: inline-block;
  color: #fff;
  text-decoration: none;
  margin-bottom: 0.2em;
}

.news-list-category.news-list-category-event {
  background-color: #508235;
  border: 1px solid #508235;
}

.news-list-category.news-list-category-event-child, .news-list-category.news-list-category-event-adult {
  color: #508235;
  border: 1px solid #508235;
}

.news-list-category.news-list-category-topics {
  background-color: #007db7;
  border: 1px solid #007db7;
}

.news-list-category.news-list-category-important {
  background-color: #e60012;
  border: 1px solid #e60012;
}

.news-list-category.news-list-category-important:hover {
  opacity: 1;
}

@media only screen and (max-width: 767.98px) {
  .news-list-category {
    padding: 0.1em 1.5em 0;
    margin-right: 0.5em;
    border-radius: 3px;
    font-size: 1.2rem;
  }
}

@media only screen and (min-width: 768px) {
  .news-list-category {
    padding: 0.1em 2em 0;
    margin-right: 1em;
    border-radius: 10px;
    font-size: 1.5rem;
    transition: opacity 0.3s;
  }
  .news-list-category:hover {
    opacity: 0.7;
  }
}

.news-list-text {
  margin-top: 0.5em;
  display: block;
}

.news-list-text a {
  text-decoration: none;
  color: #333333;
}

@media only screen and (min-width: 768px) {
  .news-list-text a:hover {
    color: #5bc4d8;
  }
}

@media only screen and (min-width: 768px) {
  .news-list-text {
    margin-left: 8.5em;
  }
}

.news-title {
  margin-top: 0.7em;
  margin-bottom: 2.5em;
  padding-bottom: 0.5em;
  border-bottom: 1px solid #e5e5e5;
}

@media only screen and (max-width: 767.98px) {
  .news-title {
    font-size: 1.6rem;
  }
}

@media only screen and (min-width: 768px) {
  .news-title {
    font-size: 2.0rem;
  }
}

.news-title + [class*="title-"] {
  margin-top: 0;
}

@media only screen and (max-width: 767.98px) {
  .columns.pc-columns-3.news-pager .column:first-child {
    width: 100%;
    margin-bottom: 0;
  }
  .columns.pc-columns-3.news-pager .column:first-child > * {
    margin-bottom: 0;
  }
  .columns.pc-columns-3.news-pager .column.news-pager-prev,
  .columns.pc-columns-3.news-pager .column.news-pager-next {
    flex-basis: calc((99.99999% / 2) - 16px);
  }
}

@media only screen and (min-width: 768px) {
  .columns.pc-columns-3.news-pager {
    margin-top: 6em;
  }
  .columns.pc-columns-3.news-pager .column.news-pager-prev {
    order: -1;
  }
}

/* ****** // ページ個別 最新情報 ここまで ****** */
/* ****** ページ個別 美術館カレンダー ここから ****** */
/* コンテンツが1360pxオーバーのため、min-width調整 ここから */
@media only screen and (min-width: 768px) {
  body.event .header-message,
  body.event .container,
  body.event .footer {
    min-width: 1400px;
  }
}

/* //コンテンツが1360pxオーバーのため、min-width調整 ここまで */
@media only screen and (max-width: 767.98px) {
  .event-item:first-of-type {
    border-top: 1px solid #7d7d7d;
  }
  .event-item {
    border-bottom: 1px solid #7d7d7d;
    background-color: #f3fafc;
  }
  .event-heading {
    background-color: #fff;
    padding: 1em 2em 1em 1em;
    position: relative;
  }
  .event-heading::after {
    position: absolute;
    transition: all 0.25s;
    right: 10px;
    top: calc(50% - 10px);
    content: '';
    display: block;
    width: 10px;
    height: 10px;
    border-right: solid 2px #19809e;
    border-bottom: solid 2px #19809e;
    transform: rotate(45deg);
  }
  .event-heading.is-open::after {
    transform: rotate(-135deg);
  }
  .event-date {
    margin-bottom: 0;
  }
  .event-title {
    margin-top: 0.3em;
    color: #19809e;
    line-height: 1.5;
    font-size: 1.5rem;
  }
  .event-content {
    display: none;
  }
  .event-body {
    padding-right: 15px;
    padding-left: 15px;
  }
  .event-outline {
    border-top: 1px solid #d9dadc;
    margin-bottom: 2em;
    margin-right: -15px;
    margin-left: -15px;
  }
  .event-outline dt, .event-outline dd {
    padding-right: 1em;
    padding-left: 1em;
  }
  .event-outline dt {
    padding-top: 0.5em;
  }
  .event-outline dd {
    word-break: break-all;
    border-bottom: 1px solid #d9dadc;
    padding-bottom: 0.5em;
  }
  .event-image {
    text-align: center;
    margin-right: 15px;
    margin-left: 15px;
  }
}

@media only screen and (min-width: 768px) {
  .event-item:first-of-type {
    border-top: 1px solid #7d7d7d;
  }
  .event-item {
    border-bottom: 1px solid #7d7d7d;
  }
  .event-heading {
    padding-top: 1.5em;
    padding-bottom: 1.5em;
  }
  .event-heading > :last-child {
    margin-bottom: 0;
  }
  .event-date {
    margin-bottom: 0;
  }
  .event-title {
    color: #19809e;
    margin-top: 0.5em;
  }
  .event-content > :last-child {
    margin-bottom: 0;
  }
  .event-outline {
    border-top: 2px dotted #d9dadc;
    margin-bottom: 2em;
  }
  .event-outline a {
    color: #0c7ce4;
  }
  .event-outline dt, .event-outline dd {
    padding: 0.5em 0;
  }
  .event-outline dt {
    clear: both;
    float: left;
    width: 5em;
  }
  .event-outline dd {
    border-bottom: 2px dotted #d9dadc;
    word-break: break-all;
  }
  .event-outline dd a:not(.button)[target="_blank"]::after {
    background-image: url(../images/icon-external.svg);
  }
}

@media only screen and (min-width: 768px) and (max-width: 767.98px) {
  .event-outline dd a:not(.button)[target="_blank"]::after {
    width: 15px;
    height: 15px;
  }
}

@media only screen and (min-width: 768px) and (min-width: 768px) {
  .event-outline dd a:not(.button)[target="_blank"]::after {
    width: 16px;
    height: 16px;
  }
}

.event-archive-month-list {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  margin-left: -10px;
  margin-top: -10px;
}

.event-archive-month-item {
  flex-grow: 0;
  flex-shrink: 1;
  margin-top: 10px;
  margin-left: 10px;
}

.event-archive-month-item a {
  text-decoration: none;
  text-align: center;
  color: #333333;
  display: block;
}

@media only screen and (max-width: 767.98px) {
  .event-archive-month-item a {
    border: 2px solid #5bc4d8;
    padding-top: 0.8em;
    padding-bottom: 0.8em;
  }
}

@media only screen and (min-width: 768px) {
  .event-archive-month-item a {
    border: 3px solid #5bc4d8;
    padding-top: 1.5em;
    padding-bottom: 1.5em;
    transition: background-color 0.3s;
  }
  .event-archive-month-item a:hover {
    background-color: #c2e9f0;
  }
}

@media only screen and (max-width: 767.98px) {
  .event-archive-month-item {
    flex-basis: calc((99.9999% / 3) - 10px);
  }
}

@media only screen and (min-width: 768px) {
  .event-archive-month-item {
    flex-basis: calc((99.9999% / 6) - 10px);
  }
}

/* ****** // ページ個別 美術館カレンダー ここまで ****** */
/* ****** ページ個別 開館時間 ここから ****** */
.info-hours-table {
  width: 100%;
  max-width: 100%;
  border-spacing: 0;
  border-collapse: collapse;
}

.info-hours-table th, .info-hours-table td {
  border-color: #999999;
  border: 1px solid #999999;
  border-collapse: separate;
}

@media only screen and (max-width: 767.98px) {
  .info-hours-table th, .info-hours-table td {
    padding: 0.5em;
  }
}

@media only screen and (min-width: 768px) {
  .info-hours-table th, .info-hours-table td {
    padding: 1em;
  }
}

.info-hours-table th > :last-child, .info-hours-table td > :last-child {
  margin-bottom: 0;
}

.info-hours-table th {
  vertical-align: middle;
  white-space: nowrap;
  font-weight: bold;
  text-align: center;
  background-color: #85cedf;
}

@media only screen and (min-width: 768px) {
  .info-hours-table th {
    font-size: 2.0rem;
  }
}

@media only screen and (min-width: 768px) {
  .info-hours-table {
    margin-bottom: 3em;
  }
}

@media only screen and (max-width: 767.98px) {
  .info-hours-table {
    border: 1px solid #999999;
    margin-bottom: 1.5em;
  }
  .info-hours-table th,
  .info-hours-table td {
    width: 100% !important;
    display: block;
  }
  .info-hours-table th {
    border: none;
  }
  .info-hours-table td {
    border: none;
  }
}

@media only screen and (min-width: 768px) {
  .info-hours-fee-list {
    display: flex;
  }
}

/* スマートフォンで1カラムテーブル */
@media only screen and (max-width: 767.98px) {
  .info-hours.sp-table-col-1 {
    border-top: 1px solid #d0cece;
  }
  .info-hours.sp-table-col-1 th {
    border-top: none;
    border-bottom: none;
  }
  .info-hours.sp-table-col-1 th,
  .info-hours.sp-table-col-1 td {
    width: 100% !important;
    display: block;
  }
}

@media only screen and (min-width: 768px) {
  .info-fee-exhibition-title, .info-fee-exhibition-text {
    font-size: 2.0rem;
  }
}

.info-fee-exhibition-title {
  color: #2c8090;
  margin-bottom: 0;
}

.info-fee-exhibition-text {
  margin-bottom: 0;
}

@media only screen and (max-width: 767.98px) {
  .info-fee-list {
    margin-bottom: 1.5em;
  }
}

@media only screen and (min-width: 768px) {
  .info-fee-list {
    margin-bottom: 2em;
    display: flex;
  }
}

.info-fee-title {
  margin-top: 1em;
  text-align: center;
  background-color: #85cedf;
}

@media only screen and (max-width: 767.98px) {
  .info-fee-title {
    padding: 0.7em;
  }
}

@media only screen and (min-width: 768px) {
  .info-fee-title {
    font-size: 2.0rem;
    padding: 0.8em;
  }
}

.info-fee-title.info-fee-subtitle {
  background-color: #d4eef4;
  margin-bottom: 2px;
}

@media only screen and (max-width: 767.98px) {
  .info-fee-title.info-fee-subtitle {
    margin-top: -0.5em;
  }
}

@media only screen and (min-width: 768px) {
  .info-fee-title.info-fee-subtitle {
    padding-left: 1.5em;
    padding-right: 1.5em;
    text-align: left;
  }
}

@media only screen and (max-width: 767.98px) {
  .info-fee-item {
    display: flex;
  }
}

@media only screen and (min-width: 768px) {
  .info-fee-item {
    width: 33.3333%;
  }
}

@media only screen and (max-width: 767.98px) {
  .info-fee-item-title, .info-fee-item-text {
    padding: 0.5em 1em;
    width: 50%;
  }
}

@media only screen and (min-width: 768px) {
  .info-fee-item-title, .info-fee-item-text {
    text-align: center;
    display: block;
    padding: 0.8em;
    font-size: 2.0rem;
  }
}

.info-fee-item-title {
  background-color: #edf8fa;
}

@media only screen and (max-width: 767.98px) {
  .info-fee-item-title {
    border-bottom: 2px solid #fff;
  }
}

@media only screen and (min-width: 768px) {
  .info-fee-item:not(:first-child) .info-fee-item-title {
    border-left: 2px solid #fff;
  }
}

.info-service-title {
  display: flex;
  align-items: flex-end;
  border-bottom: 1px solid #999;
}

@media only screen and (max-width: 767.98px) {
  .info-service-title {
    padding-bottom: 0.3em;
    margin-bottom: 0.5em;
  }
}

@media only screen and (min-width: 768px) {
  .info-service-title {
    padding-bottom: 0.5em;
  }
}

.info-service-title img {
  margin-bottom: 0;
  margin-right: 10px;
}

@media only screen and (max-width: 767.98px) {
  .info-service-title img {
    width: 30px;
  }
}

@media only screen and (max-width: 767.98px) {
  .info-service-text {
    margin-bottom: 2em;
  }
  .info-service-text p {
    line-height: 1.8;
  }
}

.info-prohibition-list li {
  display: flex;
  align-items: center;
}

@media only screen and (max-width: 767.98px) {
  .info-prohibition-list li {
    margin-bottom: 1.5em;
  }
}

@media only screen and (min-width: 768px) {
  .info-prohibition-list li {
    margin-bottom: 1.5em;
  }
}

@media only screen and (max-width: 767.98px) {
  .info-prohibition-image {
    flex: 0 0 64px;
    margin-right: 20px;
  }
}

@media only screen and (min-width: 768px) {
  .info-prohibition-image {
    flex: 0 0 120px;
    margin-right: 40px;
  }
}

.info-prohibition-image img {
  margin-bottom: 0;
}

.info-prohibition-image.info-prohibition-image-top {
  align-self: flex-start;
}

@media only screen and (max-width: 767.98px) {
  .info-prohibition-text p {
    line-height: 1.8;
  }
}

.info-prohibition-text > :last-child {
  margin-bottom: 0;
}

/* ****** // ページ個別 開館時間 ここまで ****** */
/* ****** ページ個別 展覧会 ここから ****** */
/* タグカラーここから */
.exhibition-slider-tag.exhibition-slider-tag-gray,
.exhibition-item.exhibition-item-gray .exhibition-tag {
  background-color: #585858;
}

.exhibition-slider-tag.exhibition-slider-tag-red,
.exhibition-item.exhibition-item-tag-red .exhibition-tag {
  background-color: #992b26;
}

@media only screen and (max-width: 767.98px) {
  .exhibition-item.exhibition-item-tag-red.exhibition-item-bar-blue .exhibition-heading {
    border-left: 8px solid #bce2f1;
  }
}

@media only screen and (min-width: 768px) {
  .exhibition-item.exhibition-item-tag-red.exhibition-item-bar-blue .exhibition-heading {
    border-left: 10px solid #bce2f1;
  }
}

@media only screen and (max-width: 767.98px) {
  .exhibition-item.exhibition-item-tag-red.exhibition-item-bar-yellow .exhibition-heading {
    border-left: 8px solid #fff899;
  }
}

@media only screen and (min-width: 768px) {
  .exhibition-item.exhibition-item-tag-red.exhibition-item-bar-yellow .exhibition-heading {
    border-left: 10px solid #fff899;
  }
}

@media only screen and (max-width: 767.98px) {
  .exhibition-item.exhibition-item-tag-red.exhibition-item-bar-pink .exhibition-heading {
    border-left: 8px solid #f8c8d7;
  }
}

@media only screen and (min-width: 768px) {
  .exhibition-item.exhibition-item-tag-red.exhibition-item-bar-pink .exhibition-heading {
    border-left: 10px solid #f8c8d7;
  }
}

@media only screen and (max-width: 767.98px) {
  .exhibition-item.exhibition-item-tag-red.exhibition-item-bar-green .exhibition-heading {
    border-left: 8px solid #b1dccb;
  }
}

@media only screen and (min-width: 768px) {
  .exhibition-item.exhibition-item-tag-red.exhibition-item-bar-green .exhibition-heading {
    border-left: 10px solid #b1dccb;
  }
}

@media only screen and (max-width: 767.98px) {
  .exhibition-item.exhibition-item-tag-red.exhibition-item-bar-purple .exhibition-heading {
    border-left: 8px solid #d4bfdc;
  }
}

@media only screen and (min-width: 768px) {
  .exhibition-item.exhibition-item-tag-red.exhibition-item-bar-purple .exhibition-heading {
    border-left: 10px solid #d4bfdc;
  }
}

/* //タグカラーここまで */
@media only screen and (min-width: 768px) {
  .exhibition-slider-wrapper {
    width: 1400px;
    padding-right: 0;
    padding-left: 0;
    margin-right: auto;
    margin-left: auto;
  }
}

.exhibition-slider-item {
  outline: none;
}

.exhibition-slider-item a {
  text-decoration: none;
}

@media only screen and (max-width: 767.98px) {
  .exhibition-slider-item {
    margin-right: 15px;
    margin-left: 15px;
  }
}

.exhibition-slider-content {
  max-width: 330px;
  margin-right: auto;
  margin-left: auto;
}

.exhibition-slider-image {
  border: 1px solid #eee;
  margin-bottom: 18px;
}

.exhibition-slider-tag {
  line-height: 1;
  display: inline-block;
  color: #fff;
  background-color: #585858;
  padding: 0.3em 0.5em;
  margin-bottom: 0.5em;
}

.exhibition-slider-date {
  display: block;
  color: #7d7d7d;
  margin-bottom: 0.5em;
}

.exhibition-slider-text {
  display: block;
  line-height: 1.7;
}

@media only screen and (max-width: 767.98px) {
  .exhibition-slick-next,
  .exhibition-slick-prev {
    top: 185px;
  }
}

@media only screen and (min-width: 768px) {
  .exhibition-slick-next,
  .exhibition-slick-prev {
    top: 165px;
  }
}

@media only screen and (max-width: 767.98px) {
  .exhibition-item + .exhibition-item {
    margin-top: 1.5em;
  }
}

@media only screen and (min-width: 768px) {
  .exhibition-item + .exhibition-item {
    margin-top: 4em;
  }
}

.exhibition-item[class*="exhibition-item-"] .exhibition-heading {
  padding-left: 1em;
  margin-bottom: 2em;
}

@media only screen and (max-width: 767.98px) {
  .exhibition-item[class*="exhibition-item-"] .exhibition-heading {
    border-left: 8px solid #999;
    border-left-width: 8px;
  }
}

@media only screen and (min-width: 768px) {
  .exhibition-item[class*="exhibition-item-"] .exhibition-heading {
    border-left: 10px solid #999;
    border-left-width: 10px;
  }
}

@media only screen and (min-width: 768px) {
  .exhibition-item {
    display: flex;
    justify-content: space-between;
  }
}

.exhibition-image {
  margin-top: 0;
}

@media only screen and (max-width: 767.98px) {
  .exhibition-image {
    margin-bottom: 1em;
    max-width: 600px;
    display: block;
    margin-right: auto;
    margin-left: auto;
  }
}

@media only screen and (min-width: 768px) {
  .exhibition-image {
    flex: 0 0 600px;
    margin-right: 50px;
  }
}

.exhibition-image figcaption {
  text-align: right;
}

.exhibition-tag {
  line-height: 1;
  display: inline-block;
  color: #fff;
  background-color: #585858;
  padding: 0.3em 0.5em;
  margin-bottom: 1.5em;
}

.exhibition-title {
  margin-top: 0;
  margin-bottom: 0.3em;
}

@media only screen and (max-width: 767.98px) {
  .exhibition-title {
    font-size: 1.8rem;
  }
}

@media only screen and (min-width: 768px) {
  .exhibition-title {
    font-size: 2.4rem;
  }
}

@media only screen and (max-width: 767.98px) {
  .exhibition-date {
    font-size: 1.5rem;
  }
}

/* ****** // ページ個別 展覧会 ここまで ****** */
/* ****** ページ個別 展覧会 小磯良平記念室・金山平三記念室 ここから ****** */
@media only screen and (max-width: 767.98px) {
  .exhibition-painting {
    margin-bottom: 50px;
  }
}

@media only screen and (min-width: 768px) {
  .exhibition-painting {
    margin-bottom: 100px;
  }
  .exhibition-painting-inner {
    margin-right: auto;
    margin-left: auto;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
  }
}

@media only screen and (max-width: 767.98px) {
  .exhibition-painting-image {
    text-align: center;
    margin-bottom: 16px;
  }
}

@media only screen and (min-width: 768px) {
  .exhibition-painting-image {
    margin-right: 56px;
    flex: 0 0 auto;
  }
}

@media only screen and (max-width: 767.98px) {
  .exhibition-painting-image img {
    margin-bottom: 8px;
  }
}

@media only screen and (min-width: 768px) {
  .exhibition-painting-image img {
    margin-bottom: 0;
  }
}

.exhibition-painting-title {
  margin-bottom: 0;
}

@media only screen and (max-width: 767.98px) {
  .exhibition-painting-title {
    font-size: 1.7rem;
  }
}

@media only screen and (min-width: 768px) {
  .exhibition-painting-title {
    font-size: 2.6rem;
  }
}

@media only screen and (max-width: 767.98px) {
  .exhibition-painting-annotation {
    margin-bottom: 0.7em;
  }
}

@media only screen and (min-width: 768px) {
  .exhibition-painting-annotation {
    margin-bottom: 1.5em;
  }
}

@media only screen and (min-width: 768px) {
  .exhibition-painting-content {
    width: 450px;
  }
  .exhibition-painting-content > :last-child {
    margin-bottom: 0;
  }
}

.exhibition-painting-add-info {
  background-color: #eeeeee;
  padding: 1.5em;
  text-align: center;
}

.exhibition-painting-add-info > :last-child {
  margin-bottom: 0;
}

@media only screen and (min-width: 768px) {
  .exhibition-painting-add-info {
    margin-top: 2em;
    max-width: 600px;
    margin-right: auto;
    margin-left: auto;
  }
}

/* ****** // ページ個別 展覧会 小磯良平記念室・金山平三記念室 ここまで ****** */
/* ****** ページ個別 アクセス ここから ****** */
.access-transportation {
  display: flex;
}

@media only screen and (max-width: 767.98px) {
  .access-transportation {
    align-items: flex-start;
  }
}

@media only screen and (min-width: 768px) {
  .access-transportation {
    align-items: center;
  }
}

.access-transportation-column {
  margin-bottom: 2em;
}

.access-transportation-underline {
  border-bottom: 3px dotted #bfbfbf;
  padding-bottom: 0.5em;
  margin-bottom: 2em;
}

@media only screen and (max-width: 767.98px) {
  .access-transportation-icon {
    width: 30px;
  }
}

.access-transportation-text {
  margin-left: 1em;
  margin-bottom: 0;
  line-height: 1.5;
}

.access-transportation-image {
  margin-bottom: 16px;
}

.access-transportation-timetable-list a {
  color: #333333;
  text-decoration: underline;
}

.access-transportation-timetable-list a:hover {
  text-decoration: none;
}

.access-transportation-timetable-list li {
  margin-bottom: 0.5em;
}

@media only screen and (min-width: 768px) {
  .access-transportation-timetable-list {
    font-size: 1.5rem;
  }
}

@media only screen and (min-width: 768px) {
  .access-transportation-timetable-list {
    font-size: 1.6rem;
  }
}

.access-map {
  margin-top: 4em;
}

@media only screen and (min-width: 768px) {
  .access-map {
    width: 1035px;
    margin-right: auto;
    margin-left: auto;
  }
}

.access-button-note {
  margin-top: 0.3em;
  line-height: 1.2;
}

.access-parking-table th, .access-parking-table td {
  padding-bottom: 0.5em;
}

.access-parking-table th {
  white-space: nowrap;
}

/* ****** // ページ個別 アクセス ここまで ****** */
/* ****** ページ個別 安藤忠雄コーナー ここから ****** */
@media only screen and (min-width: 768px) {
  .ando-building {
    display: flex;
    justify-content: space-between;
  }
}

@media only screen and (min-width: 768px) {
  .ando-building-content {
    margin-right: 78px;
    width: 620px;
  }
}

.ando-building-title {
  padding: 0.5em 1em;
  background-color: #85cedf;
  font-size: 1.6rem;
}

@media only screen and (min-width: 768px) {
  .ando-building-body {
    margin-left: 1em;
  }
}

.ando-building-body th, .ando-building-body td {
  padding-bottom: 0.5em;
}

.ando-building-body th {
  white-space: nowrap;
  display: flex;
}

.ando-building-body th span {
  margin-left: auto;
}

@media only screen and (max-width: 767.98px) {
  .ando-building-images {
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
  }
}

@media only screen and (max-width: 767.98px) {
  .ando-building-map-image {
    display: block;
    width: 80%;
    margin-right: auto;
    margin-left: auto;
  }
}

@media only screen and (max-width: 767.98px) {
  .ando-books-image {
    display: block;
    width: 70%;
    margin-right: auto;
    margin-left: auto;
  }
}

.ando-title-tag {
  background-color: #daf0f5;
  padding: 0.3em 1em;
  display: inline-block;
}

@media only screen and (max-width: 767.98px) {
  .ando-title-tag {
    margin-bottom: 0.5em;
  }
}

/* ****** ページ個別 安藤忠雄コーナー ここから ****** */
/* ****** ページ個別 ミュージアムショップ・カフェ・レストラン ここから ****** */
@media only screen and (max-width: 767.98px) {
  .tenant-info {
    margin-bottom: 3em;
  }
}

@media only screen and (min-width: 768px) {
  .tenant-info {
    margin-bottom: 5em;
    display: flex;
    justify-content: space-between;
  }
}

@media only screen and (min-width: 768px) {
  .tenant-info-image {
    width: 505px;
  }
}

@media only screen and (min-width: 768px) {
  .tenant-info-content {
    order: -1;
    width: 643px;
  }
}

.tenant-info-title {
  margin-top: 0;
}

@media only screen and (max-width: 767.98px) {
  .tenant-info-title {
    font-size: 1.6rem;
  }
  .tenant-info-title span {
    font-size: 1.3rem;
  }
}

@media only screen and (min-width: 768px) {
  .tenant-info-title {
    font-size: 2.0rem;
  }
  .tenant-info-title span {
    font-size: 1.6rem;
  }
}

table.tenant-info-table {
  margin-bottom: 1em;
}

table.tenant-info-table th {
  border-right: none;
}

table.tenant-info-table td {
  border-left: none !important;
}

@media only screen and (max-width: 767.98px) {
  .tenant-info-tel {
    font-size: 1.8rem;
  }
}

@media only screen and (min-width: 768px) {
  .tenant-info-tel {
    font-size: 2.0rem;
  }
}

/* ****** ページ個別 ミュージアムショップ・カフェ・レストラン ここから ****** */
/* ****** ページ個別 よくあるお問い合わせ ここから ****** */
@media only screen and (max-width: 767.98px) {
  .faq-title.marker-circle:not(:first-of-type) {
    margin-top: 3em;
  }
}

@media only screen and (min-width: 768px) {
  .faq-title.marker-circle:not(:first-of-type) {
    margin-top: 5em;
  }
}

.faq-title.marker-circle {
  color: #2c8090;
}

.faq-title.marker-circle:before {
  background-color: currentColor;
}

@media only screen and (max-width: 767.98px) {
  .faq-title.marker-circle {
    font-size: 1.8rem;
  }
}

@media only screen and (min-width: 768px) {
  .faq-title.marker-circle {
    font-size: 2.4rem;
  }
}

.faq-question {
  margin-bottom: 0;
  padding-right: 3em;
  padding-left: 1em;
  position: relative;
  font-weight: normal;
  border-bottom: 1px solid #282425;
}

@media only screen and (max-width: 767.98px) {
  .faq-question {
    padding-top: 1em;
    padding-bottom: 1em;
    font-size: 1.5rem;
  }
}

@media only screen and (min-width: 768px) {
  .faq-question {
    padding-top: 1.5em;
    padding-bottom: 1.5em;
    font-size: 2.0rem;
  }
  .faq-question:hover {
    color: #5bc4d8;
    cursor: pointer;
  }
}

.faq-question::before, .faq-question::after {
  position: absolute;
  transition: all 0.25s;
  content: '';
  display: block;
}

.faq-question::before {
  right: 10px;
  background-color: #5bc4d8;
  border-radius: 50%;
}

@media only screen and (max-width: 767.98px) {
  .faq-question::before {
    top: calc(50% - 10px);
    width: 20px;
    height: 20px;
  }
}

@media only screen and (min-width: 768px) {
  .faq-question::before {
    top: calc(50% - 15px);
    width: 30px;
    height: 30px;
  }
}

.faq-question::after {
  width: 10px;
  height: 10px;
  transform: rotate(45deg);
}

@media only screen and (max-width: 767.98px) {
  .faq-question::after {
    border-right: solid 2px #fff;
    border-bottom: solid 2px #fff;
    top: calc(50% - 7px);
    right: 15px;
    width: 10px;
    height: 10px;
  }
}

@media only screen and (min-width: 768px) {
  .faq-question::after {
    border-right: solid 3px #fff;
    border-bottom: solid 3px #fff;
    top: calc(50% - 9px);
    right: 18px;
    width: 14px;
    height: 14px;
  }
}

.faq-question.is-open::after {
  top: calc(50% - 4px);
  transform: rotate(-135deg);
}

.faq-answer {
  display: none;
  padding: 1em;
  background-color: #f3fafc;
}

.faq-answer > :last-child {
  margin-bottom: 0;
}

@media only screen and (max-width: 767.98px) {
  .faq-answer {
    font-size: 1.4rem;
  }
}

/* ****** ページ個別 よくあるお問い合わせ ここから ****** */
/* ****** ユーティリティクラス ここから ****** */
/*** カラーパレット ここから ***/
/* 文字色 ここから */
.main-color,
.has-main-color {
  color: #5bc4d8 !important;
}

.lightgray-color,
.has-lightgray-color {
  color: #eeeeee !important;
}

.red-color,
.has-red-color {
  color: #e60012 !important;
}

.green-color,
.has-green-color {
  color: #1a6170 !important;
}

/* 文字色 ここまで */
/* 背景色 ここから */
.main-background-color,
.has-main-background-color {
  background-color: #5bc4d8 !important;
}

.lightgray-background-color,
.has-lightgray-background-color {
  background-color: #eeeeee !important;
}

.red-background-color,
.has-red-background-color {
  background-color: #e60012 !important;
}

.green-background-color,
.has-green-background-color {
  background-color: #1a6170 !important;
}

/* // 背景色 ここまで */
/*** カラーパレット ここまで ***/
/* 配置 ここから */
.align-left,
.has-text-align-left {
  text-align-last: left !important;
}

.align-center,
.has-text-align-center {
  text-align: center !important;
}

.align-right,
.has-text-align-right {
  text-align: right !important;
}

@media only screen and (max-width: 767.98px) {
  .sp-align-left,
  .sp-has-text-align-left {
    text-align: left !important;
  }
  .sp-align-center,
  .sp-has-text-align-center {
    text-align: center !important;
  }
  .sp-align-right,
  .sp-has-text-align-right {
    text-align: right !important;
  }
}

@media only screen and (min-width: 768px) {
  .pc-align-left,
  .pc-has-text-align-left {
    text-align: left !important;
  }
  .pc-align-center,
  .pc-has-text-align-center {
    text-align: center !important;
  }
  .pc-align-right,
  .pc-has-text-align-right {
    text-align: right !important;
  }
}

/* //配置 ここまで */
/* 余白 ここから */
@media only screen and (max-width: 767.98px) {
  .margin-bottom-0 {
    margin-bottom: 0 !important;
  }
  .margin-bottom-small {
    margin-bottom: 0.5em !important;
  }
  .margin-bottom-medium {
    margin-bottom: 2em !important;
  }
  .margin-bottom-large {
    margin-bottom: 4em !important;
  }
  .margin-bottom-huge {
    margin-bottom: 8em !important;
  }
  .margin-top-0 {
    margin-top: 0 !important;
  }
  .margin-top-small {
    margin-top: 0.5em !important;
  }
  .margin-top-medium {
    margin-top: 2em !important;
  }
  .margin-top-large {
    margin-top: 4em !important;
  }
  .margin-top-huge {
    margin-top: 8em !important;
  }
  .padding-bottom-small {
    padding-bottom: 0.5em !important;
  }
  .padding-bottom-medium {
    padding-bottom: 2em !important;
  }
  .padding-bottom-large {
    padding-bottom: 4em !important;
  }
  .padding-bottom-huge {
    padding-bottom: 8em !important;
  }
  .padding-top-small {
    padding-top: 0.5em !important;
  }
  .padding-top-medium {
    padding-top: 2em !important;
  }
  .padding-top-large {
    padding-top: 4em !important;
  }
  .padding-top-huge {
    padding-top: 8em !important;
  }
  .sp-margin-bottom-0 {
    margin-bottom: 0 !important;
  }
  .sp-margin-bottom-small {
    margin-bottom: 0.5em !important;
  }
  .sp-margin-bottom-medium {
    margin-bottom: 2em !important;
  }
  .sp-margin-bottom-large {
    margin-bottom: 4em !important;
  }
  .sp-margin-bottom-huge {
    margin-bottom: 8em !important;
  }
  .sp-margin-top-0 {
    margin-top: 0 !important;
  }
  .sp-margin-top-small {
    margin-top: 0.5em !important;
  }
  .sp-margin-top-medium {
    margin-top: 2em !important;
  }
  .sp-margin-top-large {
    margin-top: 4em !important;
  }
  .sp-margin-top-huge {
    margin-top: 8em !important;
  }
  .sp-padding-bottom-small {
    padding-bottom: 0.5em !important;
  }
  .sp-padding-bottom-medium {
    padding-bottom: 2em !important;
  }
  .sp-padding-bottom-large {
    padding-bottom: 4em !important;
  }
  .sp-padding-bottom-huge {
    padding-bottom: 8em !important;
  }
  .sp-padding-top-small {
    padding-top: 0.5em !important;
  }
  .sp-padding-top-medium {
    padding-top: 2em !important;
  }
  .sp-padding-top-large {
    padding-top: 4em !important;
  }
  .sp-padding-top-huge {
    padding-top: 8em !important;
  }
}

@media only screen and (min-width: 768px) {
  .margin-bottom-0 {
    margin-bottom: 0 !important;
  }
  .margin-bottom-small {
    margin-bottom: 0.5em !important;
  }
  .margin-bottom-medium {
    margin-bottom: 2.5em !important;
  }
  .margin-bottom-large {
    margin-bottom: 5em !important;
  }
  .margin-bottom-huge {
    margin-bottom: 10em !important;
  }
  .margin-top-0 {
    margin-top: 0 !important;
  }
  .margin-top-small {
    margin-top: 0.5em !important;
  }
  .margin-top-medium {
    margin-top: 2.5em !important;
  }
  .margin-top-large {
    margin-top: 5em !important;
  }
  .margin-top-huge {
    margin-top: 10em !important;
  }
  .padding-bottom-small {
    padding-bottom: 0.5em !important;
  }
  .padding-bottom-medium {
    padding-bottom: 2.5em !important;
  }
  .padding-bottom-large {
    padding-bottom: 5em !important;
  }
  .padding-bottom-huge {
    padding-bottom: 10em !important;
  }
  .padding-top-small {
    padding-top: 0.5em !important;
  }
  .padding-top-medium {
    padding-top: 2.5em !important;
  }
  .padding-top-large {
    padding-top: 5em !important;
  }
  .padding-top-huge {
    padding-top: 10em !important;
  }
  .pc-margin-bottom-small {
    margin-bottom: 0.5em !important;
  }
  .pc-margin-bottom-medium {
    margin-bottom: 2.5em !important;
  }
  .pc-margin-bottom-large {
    margin-bottom: 5em !important;
  }
  .pc-margin-bottom-huge {
    margin-bottom: 10em !important;
  }
  .pc-margin-top-0 {
    margin-top: 0.5em !important;
  }
  .pc-margin-top-small {
    margin-top: 0.5em !important;
  }
  .pc-margin-top-medium {
    margin-top: 2.5em !important;
  }
  .pc-margin-top-large {
    margin-top: 5em !important;
  }
  .pc-margin-top-huge {
    margin-top: 10em !important;
  }
  .pc-padding-bottom-small {
    padding-bottom: 0.5em !important;
  }
  .pc-padding-bottom-medium {
    padding-bottom: 2.5em !important;
  }
  .pc-padding-bottom-large {
    padding-bottom: 5em !important;
  }
  .pc-padding-bottom-huge {
    padding-bottom: 10em !important;
  }
  .pc-padding-top-small {
    padding-top: 0.5em !important;
  }
  .pc-padding-top-medium {
    padding-top: 2.5em !important;
  }
  .pc-padding-top-large {
    padding-top: 5em !important;
  }
  .pc-padding-top-huge {
    padding-top: 10em !important;
  }
}

/* //余白 ここまで */
/* 文字サイズ ここから */
/* ブロックエディタのフォントサイズを文字サイズ切り替えボタンに対応するため単位remに上書きする */
@media only screen and (max-width: 767.98px) {
  .small-font-size,
  .has-small-font-size {
    font-size: 1.3rem !important;
  }
  .normal-font-size,
  .has-normal-font-size,
  .has-regular-font-size {
    font-size: 1.5rem !important;
  }
  .medium-font-size,
  .has-medium-font-size {
    font-size: 1.7rem !important;
  }
  .large-font-size,
  .has-large-font-size {
    font-size: 2.1rem !important;
  }
  .huge-font-size,
  .has-huge-font-size,
  .has-larger-font-size {
    font-size: 2.5rem !important;
  }
  .sp-small-font-size,
  .sp-has-small-font-size {
    font-size: 1.3rem !important;
  }
  .sp-normal-font-size,
  .sp-has-normal-font-size,
  .sp-has-regular-font-size {
    font-size: 1.5rem !important;
  }
  .sp-medium-font-size,
  .sp-has-medium-font-size {
    font-size: 1.7rem !important;
  }
  .sp-large-font-size,
  .sp-has-large-font-size {
    font-size: 2.1rem !important;
  }
  .sp-huge-font-size,
  .sp-has-huge-font-size,
  .sp-has-larger-font-size {
    font-size: 2.5rem !important;
  }
}

@media only screen and (min-width: 768px) {
  .small-font-size,
  .has-small-font-size {
    font-size: 1.4rem !important;
  }
  .normal-font-size,
  .has-normal-font-size,
  .has-regular-font-size {
    font-size: 1.6rem !important;
  }
  .medium-font-size,
  .has-medium-font-size {
    font-size: 1.8rem !important;
  }
  .large-font-size,
  .has-large-font-size {
    font-size: 2.3rem !important;
  }
  .huge-font-size,
  .has-huge-font-size,
  .has-larger-font-size {
    font-size: 2.8rem !important;
  }
  .pc-small-font-size,
  .pc-has-small-font-size {
    font-size: 1.4rem !important;
  }
  .pc-normal-font-size,
  .pc-has-normal-font-size,
  .pc-has-regular-font-size {
    font-size: 1.6rem !important;
  }
  .pc-medium-font-size,
  .pc-has-medium-font-size {
    font-size: 1.8rem !important;
  }
  .pc-large-font-size,
  .pc-has-large-font-size {
    font-size: 2.3rem !important;
  }
  .pc-huge-font-size,
  .pc-has-huge-font-size,
  .pc-has-larger-font-size {
    font-size: 2.8rem !important;
  }
}

/* // 文字サイズ ここまで */
/* 表示 ここから */
@media only screen and (max-width: 767.98px) {
  .pc-only {
    display: none !important;
  }
}

@media only screen and (min-width: 768px) {
  .sp-only {
    display: none !important;
  }
}

html[lang="ja"] .en-only,
html[lang="ja"] .ko-only,
html[lang="ja"] .zh-only {
  display: none !important;
}

html[lang^="en"] .ja-only,
html[lang^="en"] .ko-only,
html[lang^="en"] .zh-only {
  display: none !important;
}

html[lang^="ko"] .ja-only,
html[lang^="ko"] .en-only,
html[lang^="ko"] .zh-only {
  display: none !important;
}

html[lang^="zh"] .ja-only,
html[lang^="zh"] .en-only,
html[lang^="zh"] .ko-only {
  display: none !important;
}

/* 表示 ここまで */
/* 幅 ここから */
@media only screen and (min-width: 768px) {
  .pc-width-xsmall {
    width: 584px;
    margin-right: auto;
    margin-left: auto;
  }
  .pc-width-small {
    width: 892px;
    margin-right: auto;
    margin-left: auto;
  }
}

/* 幅 ここまで */
/* ****** // ユーティリティクラス ここまで ****** */
