@charset "UTF-8";
/* ----------------------------------------------------------
モジュール
---------------------------------------------------------- */
/* ----------------------------------------------------------
モジュール / 汎用
---------------------------------------------------------- */
.mod-margin-no { margin: 0; }

.mod-padding-no { padding: 0; }

.mod-replace { opacity: 0.25; }

.mod-hide { display: none; }

.mod-visible { visibility: hidden; opacity: 0; transition-duration: 0.4s; }

.mod-visible.show { visibility: visible; opacity: 1; }

.mod-loader { margin: 20px auto; text-align: center; padding: 100px 0; }

.mod-loader svg { fill: #999; }

.mod-loader .icon-spin { animation-name: icon-spin; animation-duration: 2s; animation-timing-function: linear; animation-iteration-count: infinite; }

@keyframes icon-spin { 0% { transform: rotate(0deg); }
  100% { transform: rotate(359deg); } }

.mod-block-outline { border: 1px solid #ececec; }

.mod-block-anno { border: 2px solid #ff7200; }

/* ----------------------------------------------------------
モジュール / パンくずリスト
---------------------------------------------------------- */
.mod-breadcrumb ul { display: block; list-style: none; padding: 0; margin: 0; }

.mod-breadcrumb ul::before, .mod-breadcrumb ul::after { content: ""; display: table; }

.mod-breadcrumb ul::after { clear: both; }

.mod-breadcrumb ul li { float: left; }

.mod-breadcrumb ul li + li::before { content: "＞"; display: inline-block; }

/* ----------------------------------------------------------
グリッドモジュール
---------------------------------------------------------- */
ul.mod-grid01, ul.mod-grid02, ul.mod-grid03, ul.mod-grid04, ul.mod-grid06 { list-style: none; padding: 0; }

.mod-grid01 > * > *:first-child, .mod-grid02 > * > *:first-child, .mod-grid03 > * > *:first-child, .mod-grid04 > * > *:first-child, .mod-grid06 > * > *:first-child { margin-top: 0 !important; }

/* ---------- ---------- ---------- */
/* ----------------------------------------------------------
モジュール / ボタン
---------------------------------------------------------- */
.mod-hover { display: block; transition-duration: 0.2s; }

.mod-hover:hover { opacity: 0.6; }

.mod-hover-underline:hover { text-decoration: underline; }

.mod-btn { display: flex; justify-content: center; align-items: center; vertical-align: middle; text-decoration: none; font-weight: bold; border-radius: 4px; transition-duration: 0.2s; }

.mod-btn.mod-btn-inline { display: inline-flex; }

.mod-btn:hover { opacity: 0.6; }

.mod-btn::before, .mod-btn::after { content: ""; display: block; position: absolute; top: 50%; }

.mod-btn::before { text-align: center; background-repeat: no-repeat; background-size: 100%; background-position: left top; font-family: FontAwesome; line-height: 1; font-weight: normal; }

.mod-btn::after { font-family: FontAwesome; line-height: 1; font-weight: normal; content: "\f0da"; text-align: center; width: 20px; height: 20px; margin-top: -10px; line-height: 20px; }

.mod-btn.mod-btn-white { background-color: #fff; color: #000; position: relative; }

.mod-btn.mod-btn-white::after { color: #ff7200; }

.mod-btn.mod-btn-red { border: 2px #ff7200 solid; background-color: #ff7200; color: #fff; position: relative; }

.mod-btn.mod-btn-red::after { color: #ffde00; }

.mod-btn.mod-btn-pdf::after { content: "" !important; }

.mod-btn[target=_blank]::after { content: "\f08e"; }

.mod-btn.mod-btn-blank::after { content: "\f08e"; }

.mod-btn.mod-btn-book::before { background-image: url("/site_resource/common/images/btn/icon_btn_book.png"); background-size: 30px 30px; }

.mod-btn.mod-btn-icn-search::before, .mod-btn.mod-btn-icn-file::before { background-color: #f2f2f2; border-radius: 50%; color: #ff7200; font-family: FontAwesome; line-height: 1; font-weight: normal; width: 1.28em; }

.mod-btn.mod-btn-icn-search::before { content: "\f002"; }

.mod-btn.mod-btn-icn-file::before { content: "\f0f6"; }

.mod-btn.mod-btn-toggle { margin: 0 auto; border: 1px #e2e2e2 solid; background-color: #fff; color: #ff7200; position: relative; }

.mod-btn.mod-btn-toggle::before, .mod-btn.mod-btn-toggle::after { background-color: #ff7200; line-height: 0; font-size: 0; }

/* ----------------------------------------------------------
12/26 menu 追加　
---------------------------------------------------------- */
.mod-btn.mod-btn-menu { border: 2px #D2000F solid; background-color: #D2000F; color: #fff; position: relative; width: 90px;}

.mod-btn.mod-btn-menu::after { content:"";}

.mod-btn.mod-btn-price { background-color: #faf5f2; color: #000; position: relative; flex-direction:column;font-size: 1.2rem;}

.mod-btn.mod-btn-price::after { color: #ff7200; }

.mod-btn.mod-btn-price .text {font-weight:normal; font-size: 0.9rem;}

/* ----------------------------------------------------------
モジュール / テキスト
---------------------------------------------------------- */
.mod-text-en { font-family: "Roboto", sans-serif; }

.mod-text-copy { font-weight: bold; }

.mod-text-center { text-align: center; }

.mod-text-left { text-align: left; }

.mod-text-right { text-align: right; }

.mod-text-bold { font-weight: bold !important; }

.mod-text-normal { font-weight: normal !important; }

.mod-text-underline { text-decoration: underline; }

/* ----------------------------------------------------------
モジュール / リスト
---------------------------------------------------------- */
.mod-list-disc { outline: 1px solid red; padding: 0; margin: 0; display: block; list-style: none; }

.mod-list-disc li { padding: 0 0 0 1em; position: relative; }

.mod-list-disc li::before { content: "・"; left: 0; top: 0; width: 1em; position: absolute; }

.mod-list-notes, .mod-list-anno { list-style: none; padding: 0; margin: 0; color: #888; font-size: 0.75rem; }

.mod-list-notes li, .mod-list-anno li { position: relative; padding-left: 1.2em; position: relative; }

.mod-list-notes li::before, .mod-list-anno li::before { content: "※"; left: 0; top: 0; position: absolute; }

/* ----------------------------------------------------------
モジュール / リンク
---------------------------------------------------------- */
.mod-text-color-brand { color: #ff7200; }

.mod-bg-color-brand { background-color: #ff7200; }

.mod-link-color-brand a { color: #ff7200; }

.mod-link-arrow { display: inline-block; position: relative; text-indent: -5px; padding-left: 10px; }

.mod-link-arrow::before { font-family: FontAwesome; line-height: 1; font-weight: normal; content: "\f0da"; color: #ff7200; display: inline-block; margin-right: 5px; }

.mod-link-arrow.mod-link-arrow-L { font-weight: bold; }

.mod-link-menu { display: inline-block; position: relative; font-weight: bold; text-indent: -5px; padding-left: 10px; }

.mod-link-menu::before { font-family: FontAwesome; line-height: 1; font-weight: normal; content: "\f0da"; color: #ff7200; display: inline-block; margin-right: 5px; }

.mod-link-menu.mod-link-menu-S { font-weight: normal; }

a[target=_blank] .mod-link-arrow:not(.mod-icon-pdf)::after, a[target=_blank].mod-link-arrow:not(.mod-icon-pdf)::after, a[target=_blank] .mod-link-menu::after, a[target=_blank].mod-link-menu::after { font-family: FontAwesome; line-height: 1; font-weight: normal; content: "\f0da"; content: "\f08e"; color: #ff7200; margin-left: 5px; font-size: 90%; }

.mod-icon-blank::after { font-family: FontAwesome; line-height: 1; font-weight: normal; content: "\f08e"; font-weight: normal; display: inline-block; vertical-align: baseline; margin-left: 2px; }

.mod-icon-pdf::after { font-family: FontAwesome; line-height: 1; font-weight: normal; content: "\f1c1"; font-weight: normal; display: inline-block; vertical-align: baseline; margin-left: 10px; }

/* ---------- ---------- ---------- */
@media (min-width: 768px), print { /* ----------------------------------------------------------
モジュール / 汎用
---------------------------------------------------------- */
  .mod-margin-no { margin: 0; }
  .mod-padding-no { padding: 0; }
  .mod-wrap { width: 1056px; min-width: 1056px; margin: 0 auto; }
  .mod-show-sp { display: none; }
  .mod-replace { opacity: 0.25; }
  .mod-hide { display: none; }
  .mod-visible { visibility: hidden; opacity: 0; transition-duration: 0.4s; }
  .mod-visible.show { visibility: visible; opacity: 1; }
  .mod-loader { margin: 20px auto; text-align: center; padding: 100px 0; }
  .mod-loader svg { fill: #999; }
  .mod-loader .icon-spin { animation-name: icon-spin; animation-duration: 2s; animation-timing-function: linear; animation-iteration-count: infinite; }
  @keyframes icon-spin { 0% { transform: rotate(0deg); }
    100% { transform: rotate(359deg); } }
  .mod-block { margin: 4em 0; }
  .mod-block.mod-block-s { margin: 2em 0; }
  .mod-block.mod-block-l { margin: 8em 0; }
  .mod-block-outline { margin: 4em 0; padding: 15px; }
  .mod-block-anno { margin: 4em 0; padding: 15px; }
  /* ----------------------------------------------------------
モジュール / パンくずリスト
---------------------------------------------------------- */
  .mod-breadcrumb { border-bottom: 1px #ececec solid; padding: 14px 0; }
  .mod-breadcrumb ul { width: 1056px; margin-right: auto; margin-left: auto; }
  .mod-breadcrumb ul li { font-size: 0.875rem; }
  .mod-breadcrumb ul li + li { margin-left: 9px; }
  .mod-breadcrumb ul li + li::before { padding-right: 7px; font-size: 0.688rem; }
  /* ----------------------------------------------------------
グリッドモジュール
---------------------------------------------------------- */
  .mod-grid01, .mod-grid02, .mod-grid03, .mod-grid04, .mod-grid06 { margin: 0 0 0 -24px; display: flex; flex-wrap: wrap; }
  .mod-grid01 > *, .mod-grid02 > *, .mod-grid03 > *, .mod-grid04 > *, .mod-grid06 > * { margin: 0 0 0 24px; }
  .mod-grid02 > * { width: 516px; }
  .mod-grid02 > *:nth-child(n + 3) { margin-top: 24px; }
  .mod-grid03 > * { width: 336px; }
  .mod-grid03 > *:nth-child(n + 4) { margin-top: 24px; }
  .mod-grid04 > * { width: 246px; }
  .mod-grid04 > *:nth-child(n + 5) { margin-top: 24px; }
  .mod-grid06 > * { width: calc(16.6% - 24px); }
  .mod-grid06 > *:nth-child(n + 7) { margin-top: 24px; }
  /* ---------- ---------- ---------- */
  /* ----------------------------------------------------------
モジュール / ボタン
---------------------------------------------------------- */
  .mod-hover { display: block; transition-duration: 0.2s; }
  .mod-hover:hover { opacity: 0.6; }
  .mod-hover-underline:hover { text-decoration: underline; }
  .mod-btn { height: 66px; padding: 10px 45px; box-sizing: border-box; font-size: 1rem; }
  .mod-btn.mod-btn-inline { display: inline-flex; }
  .mod-btn::after { right: 16px; font-size: 1.375rem; }
  .mod-btn.mod-btn-white { padding: 10px 60px; border: 2px #e2e2e2 solid; }
  .mod-btn.mod-btn-red::before { width: 30px; height: 30px; left: 8px; margin-top: -15px; }
  .mod-btn.mod-btn-pdf::after { font-size: 1.25rem !important; }
  .mod-btn[target=_blank]::after { font-size: 0.938rem; }
  .mod-btn.mod-btn-blank::after { font-size: 0.938rem; }
  .mod-btn.mod-btn-icn-search::before, .mod-btn.mod-btn-icn-file::before { padding: 12px 10px; left: 11px; margin-top: -22px; font-size: 20px; }
  .mod-btn.mod-btn-toggle { margin-top: 36px; padding: 10px 40px; width: 345px; font-size: 1.125rem; min-height: 58px; }
  .mod-btn.mod-btn-toggle::before { width: 19px; height: 3px; margin-top: -2px; right: 17px; }
  .mod-btn.mod-btn-toggle::after { width: 3px; height: 19px; margin-top: -10px; right: 25px; }
　 /* ----------------------------------------------------------
12/26 menu　追記
---------------------------------------------------------- */		
  .mod-btn.mod-btn-menu { width: 30px; }
  .mod-btn.mod-btn-price { height: 130px; padding: 10px 20px; border:none; }
  /* ----------------------------------------------------------
モジュール / テキスト
---------------------------------------------------------- */
  .area-contents p { font-size: 1rem; }
  .mod-text { font-size: 1rem; }
  .mod-text-copy { font-size: 1.25rem !important; }
  /* ----------------------------------------------------------
モジュール / リスト
---------------------------------------------------------- */
  .mod-list-disc { outline: 1px solid red; }
  .mod-list-notes, .mod-list-anno { list-style: none; padding: 0; margin: 0; margin: 20px 0 20px 0; }
  .mod-list-notes.mod-list-notes-narrow, .mod-list-anno.mod-list-notes-narrow { margin: 7px 0 7px 0; }
  /* ----------------------------------------------------------
モジュール / リンク
---------------------------------------------------------- */
  .mod-link-arrow.mod-link-arrow-L { font-size: 1rem; }
  .mod-link-menu.mod-link-menu-L { font-size: 1.125rem; }
  .mod-link-menu.mod-link-menu-S { font-size: 0.875rem; } }

/* ---------- ---------- ---------- */
@media (max-width: 767px) { /* ----------------------------------------------------------
モジュール / 汎用
---------------------------------------------------------- */
  .mod-margin-no { margin: 0; }
  .mod-padding-no { padding: 0; }
  .mod-wrap { width: 100%; }
  .mod-wrap-sp { padding-right: 15px; padding-left: 15px; }
  .mod-show-pc { display: none; }
  .mod-show-sp { display: block; }
  .mod-replace { opacity: 0.25; }
  .mod-hide { display: none; }
  .mod-visible { visibility: hidden; opacity: 0; transition-duration: 0.4s; }
  .mod-visible.show { visibility: visible; opacity: 1; }
  .mod-loader { margin: 20px auto; text-align: center; padding: 100px 0; }
  .mod-loader svg { fill: #999; }
  .mod-loader .icon-spin { animation-name: icon-spin; animation-duration: 2s; animation-timing-function: linear; animation-iteration-count: infinite; }
  @keyframes icon-spin { 0% { transform: rotate(0deg); }
    100% { transform: rotate(359deg); } }
  .mod-block { margin: 2em 0; }
  .mod-block.mod-block-s { margin: 1em 0; }
  .mod-block.mod-block-l { margin: 4em 0; }
  .mod-block-outline { margin: 2em 0; padding: 10px; }
  .mod-block-anno { margin: 2em 0; padding: 10px; }
  /* ----------------------------------------------------------
モジュール / パンくずリスト
---------------------------------------------------------- */
  .mod-breadcrumb { border-top: 1px #ececec solid; padding: 8px 15px; }
  .mod-breadcrumb ul { width: 100%; }
  .mod-breadcrumb ul li { font-size: 0.6875rem; line-height: 1rem; }
  .mod-breadcrumb ul li + li { margin-left: 7px; }
  .mod-breadcrumb ul li + li::before { font-size: 0.625rem; padding-right: 5px; }
  .fixed-back {background-color: rgba(255,255,255,0.95); position: fixed; z-index: 30; width: 100%;}
  .fixed-mod-breadcrumb-pd {padding-top: 40px;}
  /* ----------------------------------------------------------
グリッドモジュール
---------------------------------------------------------- */
  .mod-grid01, .mod-grid02, .mod-grid03, .mod-grid04, .mod-grid06 { margin: 0; }
  .mod-grid01 > *:nth-child(n + 2), .mod-grid02 > *:nth-child(n + 2), .mod-grid03 > *:nth-child(n + 2), .mod-grid04 > *:nth-child(n + 2), .mod-grid06 > *:nth-child(n + 2) { margin-top: 16px; }
  /* ---------- ---------- ---------- */
  .mod-grid02-sp, .mod-grid03-sp { display: flex; flex-wrap: wrap; }
  .mod-grid02-sp > * { width: 48%; }
  .mod-grid02-sp > *:nth-child(2n+1) { margin: 0 2% 0 0; }
  .mod-grid02-sp > *:nth-child(2n) { margin: 0 0 0 2%; }
  .mod-grid02-sp > *:nth-child(n+3) { margin-top: 5px; }
  .mod-grid03-sp > * { width: 30.5%; }
  .mod-grid03-sp > *:nth-child(3n+1) { margin: 0 2% 0 0; }
  .mod-grid03-sp > *:nth-child(3n+2) { margin: 0 2% 0 2%; }
  .mod-grid03-sp > *:nth-child(3n) { margin: 0 0 0 2%; }
  .mod-grid03-sp > *:nth-child(n+4) { margin-top: 5px; }
  /* ----------------------------------------------------------
モジュール / ボタン
---------------------------------------------------------- */
  .mod-hover { display: block; transition-duration: 0.2s; }
  .mod-hover:hover { opacity: 0.6; }
  .mod-hover-underline:hover { text-decoration: underline; }
  .mod-btn { height: 50px; width: 100%; padding: 6px; font-size: 0.875rem; }
  .mod-btn.mod-btn-inline { display: inline-flex; }
  .mod-btn::after { right: 8px; font-size: 1.2rem; font-weight: normal; }
  .mod-btn.mod-btn-white { height: 64px; padding: 6px 60px; border: 1px #e2e2e2 solid; font-weight: normal; }
  .mod-btn.mod-btn-red::before { width: 20px; height: 20px; left: 9px; margin-top: -10px; }
  .mod-btn.mod-btn-pdf::after { font-size: 1rem !important; }
  .mod-btn[target=_blank]::after { font-size: 0.929rem; }
  .mod-btn.mod-btn-blank::after { font-size: 0.929rem; }
  .mod-btn.mod-btn-book::before { background-size: 24px 24px; }
  .mod-btn.mod-btn-icn-search::before, .mod-btn.mod-btn-icn-file::before { padding: 8px 6px; left: 11px; margin-top: -22px; font-size: 20px; }
  .mod-btn.mod-btn-toggle { margin-top: 16px; padding: 6px 30px; }
  .mod-btn.mod-btn-toggle::before { width: 12px; height: 2px; margin-top: -1px; right: 14px; }
  .mod-btn.mod-btn-toggle::after { width: 2px; height: 12px; margin-top: -6px; right: 19px; }
  /* ----------------------------------------------------------
12/26 MENU　追記
---------------------------------------------------------- */
  .mod-btn.mod-btn-price { font-size: 1.1rem; height: 90px; padding: 0px 0px; border:none; }
  .mod-btn.mod-btn-price .text { font-size: 0.8rem; }
  /* ----------------------------------------------------------
モジュール / テキスト
---------------------------------------------------------- */
  .area-contents p { font-size: 0.875rem; }
  .mod-text { font-size: 0.875rem; }
  .mod-text-copy { font-size: 1rem !important; }
  /* ----------------------------------------------------------
モジュール / リスト
---------------------------------------------------------- */
  .mod-list-disc { outline: 1px solid red; }
  .mod-list-notes, .mod-list-anno { list-style: none; padding: 0; margin: 0; margin: 15px 0 15px 0; }
  .mod-list-notes.mod-list-notes-narrow, .mod-list-anno.mod-list-notes-narrow { margin: 5px 0 5px 0; }
  /* ----------------------------------------------------------
モジュール / リンク
---------------------------------------------------------- */
  .mod-link-arrow.mod-link-arrow-L { font-size: 0.875rem; }
  .mod-link-menu.mod-link-menu-L { font-size: 0.875rem; }
  .mod-link-menu.mod-link-menu-S { font-size: 0.75rem; } }
