@charset "UTF-8";
/* Scss Document */
/* mixin
========================================================= */
.mt0 { margin-top: 0px !important; }

.mb0 { margin-bottom: 0px !important; }

.pt0 { padding-top: 0px !important; }

.pl0 { padding-left: 0px !important; }

.pb0 { padding-bottom: 0px !important; }

.mt5 { margin-top: 5px !important; }

.mb5 { margin-bottom: 5px !important; }

.pt5 { padding-top: 5px !important; }

.pl5 { padding-left: 5px !important; }

.pb5 { padding-bottom: 5px !important; }

.mt10 { margin-top: 10px !important; }

.mb10 { margin-bottom: 10px !important; }

.pt10 { padding-top: 10px !important; }

.pl10 { padding-left: 10px !important; }

.pb10 { padding-bottom: 10px !important; }

.mt15 { margin-top: 15px !important; }

.mb15 { margin-bottom: 15px !important; }

.pt15 { padding-top: 15px !important; }

.pl15 { padding-left: 15px !important; }

.pb15 { padding-bottom: 15px !important; }

.mt20 { margin-top: 20px !important; }

.mb20 { margin-bottom: 20px !important; }

.pt20 { padding-top: 20px !important; }

.pl20 { padding-left: 20px !important; }

.pb20 { padding-bottom: 20px !important; }

.mt25 { margin-top: 25px !important; }

.mb25 { margin-bottom: 25px !important; }

.pt25 { padding-top: 25px !important; }

.pl25 { padding-left: 25px !important; }

.pb25 { padding-bottom: 25px !important; }

.mt30 { margin-top: 30px !important; }

.mb30 { margin-bottom: 30px !important; }

.pt30 { padding-top: 30px !important; }

.pl30 { padding-left: 30px !important; }

.pb30 { padding-bottom: 30px !important; }

.mt35 { margin-top: 35px !important; }

.mb35 { margin-bottom: 35px !important; }

.pt35 { padding-top: 35px !important; }

.pl35 { padding-left: 35px !important; }

.pb35 { padding-bottom: 35px !important; }

.mt40 { margin-top: 40px !important; }

.mb40 { margin-bottom: 40px !important; }

.pt40 { padding-top: 40px !important; }

.pl40 { padding-left: 40px !important; }

.pb40 { padding-bottom: 40px !important; }

.mt45 { margin-top: 45px !important; }

.mb45 { margin-bottom: 45px !important; }

.pt45 { padding-top: 45px !important; }

.pl45 { padding-left: 45px !important; }

.pb45 { padding-bottom: 45px !important; }

.mt50 { margin-top: 50px !important; }

.mb50 { margin-bottom: 50px !important; }

.pt50 { padding-top: 50px !important; }

.pl50 { padding-left: 50px !important; }

.pb50 { padding-bottom: 50px !important; }

.mt55 { margin-top: 55px !important; }

.mb55 { margin-bottom: 55px !important; }

.pt55 { padding-top: 55px !important; }

.pl55 { padding-left: 55px !important; }

.pb55 { padding-bottom: 55px !important; }

.mt60 { margin-top: 60px !important; }

.mb60 { margin-bottom: 60px !important; }

.pt60 { padding-top: 60px !important; }

.pl60 { padding-left: 60px !important; }

.pb60 { padding-bottom: 60px !important; }

.mt65 { margin-top: 65px !important; }

.mb65 { margin-bottom: 65px !important; }

.pt65 { padding-top: 65px !important; }

.pl65 { padding-left: 65px !important; }

.pb65 { padding-bottom: 65px !important; }

.mt70 { margin-top: 70px !important; }

.mb70 { margin-bottom: 70px !important; }

.pt70 { padding-top: 70px !important; }

.pl70 { padding-left: 70px !important; }

.pb70 { padding-bottom: 70px !important; }

.mt75 { margin-top: 75px !important; }

.mb75 { margin-bottom: 75px !important; }

.pt75 { padding-top: 75px !important; }

.pl75 { padding-left: 75px !important; }

.pb75 { padding-bottom: 75px !important; }

.mt80 { margin-top: 80px !important; }

.mb80 { margin-bottom: 80px !important; }

.pt80 { padding-top: 80px !important; }

.pl80 { padding-left: 80px !important; }

.pb80 { padding-bottom: 80px !important; }

.mt85 { margin-top: 85px !important; }

.mb85 { margin-bottom: 85px !important; }

.pt85 { padding-top: 85px !important; }

.pl85 { padding-left: 85px !important; }

.pb85 { padding-bottom: 85px !important; }

.mt90 { margin-top: 90px !important; }

.mb90 { margin-bottom: 90px !important; }

.pt90 { padding-top: 90px !important; }

.pl90 { padding-left: 90px !important; }

.pb90 { padding-bottom: 90px !important; }

.mt95 { margin-top: 95px !important; }

.mb95 { margin-bottom: 95px !important; }

.pt95 { padding-top: 95px !important; }

.pl95 { padding-left: 95px !important; }

.pb95 { padding-bottom: 95px !important; }

.mt100 { margin-top: 100px !important; }

.mb100 { margin-bottom: 100px !important; }

.pt100 { padding-top: 100px !important; }

.pl100 { padding-left: 100px !important; }

.pb100 { padding-bottom: 100px !important; }

/* 汎用クラス
========================================================= */
.underline { text-decoration: underline; }

/* 基本設定
========================================================= */
body { font-family: "游ゴシック", YuGothic, "游ゴシック体", "Yu Gothic", sans-serif; font-weight: 500; line-height: 1.6; color: #000; font-size: 14px; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; overflow-x: hidden; -webkit-text-size-adjust: 100%; }
@media (min-width: 959px) { body { font-size: 16px; } }

h1, h2, h3, h4, h5, h6 { font-family: "游ゴシック", YuGothic, "游ゴシック体", "Yu Gothic", sans-serif; font-weight: 400; color: #000; line-height: 1.6; }

p { margin: 0; line-height: 1.875; font-weight: 500; font-family: "游ゴシック", YuGothic, "游ゴシック体", "Yu Gothic", sans-serif; letter-spacing: 0.06em; }
p + p { margin-top: 2em; }

ul, dl, figure { margin: 0; padding: 0; }

dt { font-weight: normal; }

li { list-style: none; }

a { color: #000; transition: .4s; }
a:hover { text-decoration: none; }
a:hover img { opacity: 1; }

em { font-style: normal; }

table { border-collapse: collapse; }

::-moz-selection { color: #fff; background-color: #000; }

::selection { color: #fff; background-color: #000; }

ruby > rt { -webkit-transform: translateY(40%); transform: translateY(40%); }

/* 表示・非表示
----------------------------------------------- */
.hidden { display: none; }

@media (max-width: 959px) { .hidden-tab { display: none !important; } }

@media (max-width: 767px) { .hidden-sp { display: none !important; } }

@media (max-width: 479px) { .hidden-ss { display: none !important; } }

@media (min-width: 960px) { .visible-tab { display: none !important; } }

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

@media (min-width: 600px) { .visible-sp-br { display: none !important; } }

@media (min-width: 480px) { .visible-ss { display: none !important; } }

@media (max-width: 1200px) { .hidden-large { display: none !important; } }

.text-br { display: inline-block; }

/* 基本 body
========================================================= */
.com-container-01 { max-width: 1100px; box-sizing: content-box; margin-right: auto; margin-left: auto; width: 92%; }

.com-container-02 { max-width: 1160px; box-sizing: content-box; margin-right: auto; margin-left: auto; width: 92%; }

.com-container-03 { max-width: 2000px; box-sizing: content-box; margin-right: auto; margin-left: auto; }

.com-container-04 { max-width: 1200px; box-sizing: content-box; margin-right: auto; margin-left: auto; width: 92%; }

.com-container-05 { max-width: 1600px; box-sizing: content-box; margin-right: auto; margin-left: auto; width: 92%; }

.com-container-06 { max-width: 1820px; box-sizing: content-box; margin-right: auto; margin-left: auto; width: 92%; }

[class*="com-container-"] [class*="com-container-"] { padding-right: 0; padding-left: 0; }

/* 中ページ layout
----------------------------------------------- */
#main { overflow-x: hidden; }
@media (min-width: 960px) { #main { padding-left: 75px; } }

/* セクション
----------------------------------------------- */
.com-section-01 { padding-top: 150px; /*padding-bottom: 100px;*/ }
@media (max-width: 959px) { .com-section-01 { padding-top: 50px; /*padding-bottom: 50px;*/ } }

.com-section-02 { padding-top: 110px; /*padding-bottom: 100px;*/ }
@media (max-width: 959px) { .com-section-02 { padding-top: 50px; /*padding-bottom: 50px;*/ } }

/* 見出し・テキスト
-------------------------------------- */
.en { font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", "Noto Serif JP", serif !important; }

.ja { font-family: "游ゴシック", YuGothic, "游ゴシック体", "Yu Gothic", sans-serif !important; }

.tit01 { font-size: 38px; font-weight: 400; line-height: 2; letter-spacing: 0.05rem; }
@media (min-width: 479px) { .tit01 { font-size: 48px; } }
@media (min-width: 960px) { .tit01 { font-size: 60px; } }

.tit02 { font-size: 24px; font-weight: 400; line-height: 1.2; letter-spacing: 0.05rem; }
@media (min-width: 479px) { .tit02 { font-size: 29px; } }
@media (min-width: 960px) { .tit02 { font-size: 36px; } }

.tit03 { font-size: 18px; font-weight: 400; line-height: 1.1538461538; letter-spacing: 0.05rem; font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", "Noto Serif JP", serif; }
@media (min-width: 479px) { .tit03 { font-size: 21px; } }
@media (min-width: 960px) { .tit03 { font-size: 26px; } }

.tit04 { font-size: 35px; font-weight: 400; letter-spacing: 0.05rem; font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", "Noto Serif JP", serif; }
@media (min-width: 479px) { .tit04 { font-size: 37px; } }
@media (min-width: 960px) { .tit04 { font-size: 46px; } }

.text-box01 { margin-bottom: 60px !important; }
@media (max-width: 959px) { .text-box01 { margin-bottom: 30px !important; } }
.text-box01 p { letter-spacing: 0.1em; }

.large-num { font-family: "Century Gothic", "CenturyGothic", "AppleGothic", sans-serif; font-size: 80px; letter-spacing: 0.06em; line-height: 1 !important; vertical-align: bottom; }
@media (max-width: 767px) { .large-num { font-size: 40px; } }

.main-title { text-align: center; margin-bottom: 60px; }
.main-title .tit03 { display: flex; align-items: center; justify-content: center; }
.main-title .tit03::before, .main-title .tit03::after { content: ''; background-color: #000; width: 50px; height: 1px; }
@media (max-width: 767px) { .main-title .tit03::before, .main-title .tit03::after { width: 30px; } }
.main-title .tit03::before { margin-right: 30px; }
@media (max-width: 767px) { .main-title .tit03::before { margin-right: 15px; } }
.main-title .tit03::after { margin-left: 30px; }
@media (max-width: 767px) { .main-title .tit03::after { margin-left: 15px; } }
.main-title .tit03.white-color::before, .main-title .tit03.white-color::after { background-color: #fff; }

.chu { font-size: 14px; display: block; }

/* キービジュアル
----------------------------------------------- */
@keyframes line { 0% { height: 0; bottom: 50px; }
  50% { height: 50px; bottom: 0; }
  100% { height: 0; bottom: 0; } }
.kv { position: relative; z-index: 1; }
.kv:before { content: ''; display: block; position: absolute; z-index: 0; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.31); }
.kv .inner { position: relative; overflow: hidden; height: 680px; }
@media (max-width: 960px) { .kv .inner { height: 275px; } }
.kv .tit { box-sizing: border-box; position: absolute; left: 50%; width: 100%; padding-right: calc(16px + env(safe-area-inset-right)); padding-left: calc(16px + env(safe-area-inset-left)); text-align: center; color: #fff; font-size: 28px; letter-spacing: .1em; text-shadow: rgba(0, 0, 0, 0.5) 0 0 13px, rgba(0, 0, 0, 0.3) 0 0 13px; }
@media (min-width: 768px) { .kv .tit { top: 50%; transform: translate(-50%, -50%); } }
@media (max-width: 767px) { .kv .tit { bottom: 90px; transform: translateX(-50%); font-size: 25px; } }
.kv figure { height: 100%; }
.kv figure img { z-index: -1; position: absolute; width: 100%; height: 100%; object-fit: cover; max-width: none; font-family: 'object-fit: cover'; }
.kv .image-caption { font-size: 10px; font-size: 0.625rem; color: #FFF; position: absolute; right: 20px; bottom: 10px; }
@media (max-width: 959px) { .kv .image-caption { right: calc(16px + env(safe-area-inset-right)); } }

.p_mv { position: relative; }
.p_mv .c_asideNav { position: absolute; left: 0; top: 0; z-index: 997; width: 250px; background: rgba(255, 255, 255, 0.8); height: 100%; padding: 40px 40px 40px 50px; }
@media (max-width: 1023px) { .p_mv .c_asideNav { display: none; } }
.p_mv .c_asideNav .c_asideNav-logo { display: block; margin-bottom: 40px; }
.p_mv .c_asideNav .c_asideNav-item-list { font-size: 13px; font-weight: 500; letter-spacing: .05em; margin-bottom: 20px; }

.kv-fullscreen { position: relative; height: 100vh; height: 100svh; }
.kv-fullscreen .swiper-slide-active img { animation: none; }
.kv-fullscreen figure { position: relative; height: 100vh; height: 100svh; }
.kv-fullscreen .swiper-slide { position: relative; height: 100vh; height: 100svh; }
.kv-fullscreen img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center center; font-family: 'object-fit: cover'; }
.kv-fullscreen .kv-title { position: absolute; z-index: 2; top: 50%; left: 50%; transform: translate(-50%, -50%); box-sizing: border-box; padding-inline: 15px; }
.kv-fullscreen .kv-title .kv-text { display: flex; flex-direction: column; align-items: center; gap: 30px; width: 100%; }
.kv-fullscreen .kv-title .kv-text .kv-tit-small { color: #fff; font-size: 26px; }
.kv-fullscreen .kv-title .kv-text .kv-tit-large { writing-mode: vertical-rl; -ms-writing-mode: tb-rl; -webkit-writing-mode: vertical-rl; color: #fff; font-size: 80px; }

/* 全画面キービジュアルスライダー
----------------------------------------------- */
.kv-slider .slick-slider, .kv-slider .slick-list { height: 100%; }
.kv-slider .slick-track, .kv-slider .slick-slide { height: 100%; }
.kv-slider .slick-slide { overflow: hidden; }
.kv-slider img { margin-left: auto; }

/* パーツ
========================================================= */
/* 共通パーツ
----------------------------------------------- */
/* 文字の上に点 */
.text-dots { -webkit-text-emphasis: filled; text-emphasis: filled; }

.underline-gradient01 { background-image: linear-gradient(to right, #d7e1f6, #f4d1df); background-repeat: no-repeat; background-size: 100% 30%; background-position: bottom; animation: huerotator 3s infinite running; }

@keyframes huerotator { 0% { -webkit-filter: hue-rotate(0deg); filter: hue-rotate(0deg); }
  100% { -webkit-filter: hue-rotate(360deg); filter: hue-rotate(360deg); } }
/* リンク・ボタン
-------------------------------------- */
a img { transition: .4s; opacity: 1; }
a img:hover { opacity: .8; }

.btn01 { border-radius: 20px; border: 1px solid transparent; width: 198px; height: 38px; line-height: 40px; font-size: 20px; letter-spacing: 0.06em; background-color: #91144f; display: block; margin: 0 auto; color: #fff; }
@media (max-width: 767px) { .btn01 { width: 160px; font-size: 15px; } }
.btn01:hover { background-color: transparent; color: #91144f; border: 1px solid #91144f; border-radius: 20px; }

.is-hidden { visibility: hidden; opacity: 0; }

/* セクション間の隙間
----------------------------------------------- */
.mt-xlarge { margin-top: 75px !important; }
@media (min-width: 479px) { .mt-xlarge { margin-top: 100px !important; } }
@media (min-width: 960px) { .mt-xlarge { margin-top: 150px !important; } }

.mt-large { margin-top: 40px !important; }
@media (min-width: 479px) { .mt-large { margin-top: 60px !important; } }
@media (min-width: 960px) { .mt-large { margin-top: 100px !important; } }

.mt-u-medium { margin-top: 30px !important; }
@media (min-width: 479px) { .mt-u-medium { margin-top: 50px !important; } }
@media (min-width: 960px) { .mt-u-medium { margin-top: 80px !important; } }

.mt-medium { margin-top: 20px !important; }
@media (min-width: 479px) { .mt-medium { margin-top: 40px !important; } }
@media (min-width: 960px) { .mt-medium { margin-top: 60px !important; } }

.mt-small { margin-top: 20px; }
@media (min-width: 960px) { .mt-small { margin-top: 40px; } }

.mt-xxsmall { margin-top: 15px !important; }

.com-mt-02 { margin-top: 100px !important; }
@media (max-width: 959px) { .com-mt-02 { margin-top: 70px !important; } }

.com-mt-03 { margin-top: 70px !important; }
@media (max-width: 959px) { .com-mt-03 { margin-top: 50px !important; } }

.com-mt-04 { margin-top: 40px !important; }
@media (max-width: 959px) { .com-mt-04 { margin-top: 30px !important; } }

.com-mt-05 { margin-top: 20px !important; }
@media (max-width: 959px) { .com-mt-05 { margin-top: 15px !important; } }

.com-mt-0 { margin-top: 0 !important; }

.com-pt-0 { padding-top: 0 !important; }

.com-pb-0 { padding-bottom: 0 !important; }

/* アニメーション
----------------------------------------------- */
[class*="animate-"] { opacity: 0; }

@media (min-width: 960px) { .delay-01 { transition-delay: 0.3s !important; } }

@media (min-width: 960px) { .delay-02 { transition-delay: 0.6s !important; } }

@media (min-width: 960px) { .delay-03 { transition-delay: 0.9s !important; } }

@media (min-width: 960px) { .delay-04 { transition-delay: 1.2s !important; } }

@media (min-width: 960px) { .delay-05 { transition-delay: 1.5s !important; } }

.animate-under-fadein { transition: 1s ease-out; transform: translateY(50px); opacity: 0; }
.animate-under-fadein.inview { opacity: 1; transform: translateY(0px); }

/* パネル
-------------------------------------- */
.grid { display: grid; }
.grid.grid-02 { grid-template-columns: 1fr 1fr; gap: 40px; }

/* テキストカラー
-------------------------------------- */
.com-color-01 { color: #00599a; }

.com-color-02 { color: #91144f; }

.com-color-03 { color: #f8f5ed; }

.com-color-04 { color: #000; }

.com-color-05 { color: #000; }

.com-color-06 { color: #000; }

.com-color-07 { color: #000; }

.white-color { color: #fff !important; }

.black-color { color: #000 !important; }

/* 背景色
-------------------------------------- */
.com-bg-01 { background: #00599a; }

.com-bg-02 { background: url("../img/common/bg-02.jpg") repeat; }

.com-bg-03 { background: rgba(255, 255, 255, 0.5); }

/* テキスト寄せ
-------------------------------------- */
.text-center { text-align: center; }

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

/* パネル
-------------------------------------- */
.com-panel-01 .title-visual { background: rgba(255, 255, 255, 0.5); padding-top: 50px; }
@media (max-width: 1024px) { .com-panel-01 .title-visual { padding-top: 30px; } }
@media (max-width: 959px) { .com-panel-01 .title-visual { padding-top: 20px; } }
.com-panel-01 .shrink-container { overflow: hidden; margin-left: auto; margin-right: auto; }
.com-panel-01 .text-container { padding-left: 20px; padding-right: 20px; box-sizing: border-box; }
@media (max-width: 959px) { .com-panel-01 .text-container { padding-left: 0; padding-right: 0; } }
.com-panel-01 .text-container * { box-sizing: border-box; }
.com-panel-01 .text-container .gray-text { background: #0f0f0f; padding: 2vmax; position: relative; z-index: 1; }
@media (min-width: 960px) { .com-panel-01 .text-container .gray-text { margin-top: -135px; max-width: 66.6666666667%; min-height: 260px; display: flex; justify-content: space-between; flex-direction: row-reverse; } }
@media (max-width: 959px) { .com-panel-01 .text-container .gray-text { margin-top: calc(20px + 38px + 20px); max-width: 100%; } }
.com-panel-01 .text-container .gray-text .lead { width: 100%; }
@media (min-width: 960px) { .com-panel-01 .text-container .gray-text .slider-pages-container { flex-shrink: 0; flex-grow: 0; } }
@media (max-width: 959px) { .com-panel-01 .text-container .gray-text .slider-pages-container { position: absolute; left: 0; bottom: calc(100% + 20px); width: 100%; margin-top: 20px; text-align: center; }
  .com-panel-01 .text-container .gray-text .slider-pages-container .slider-pages { display: inline-block; } }

.com-panel-02 { display: flex; justify-content: space-between; }
@media (max-width: 767px) { .com-panel-02 { flex-wrap: wrap-reverse; } }
.com-panel-02.reverse { flex-direction: row-reverse; }
@media (max-width: 767px) { .com-panel-02.reverse { flex-wrap: wrap; } }
@media (min-width: 768px) and (max-width: 1190px) { .com-panel-02.reverse .text { padding-left: 20px !important; } }
@media (max-width: 767px) { .com-panel-02.reverse .text { padding-right: 0; padding-left: 0; } }
@media (max-width: 959px) { .com-panel-02 > * { width: 100% !important; } }
.com-panel-02 .text { width: 500px; }
@media (min-width: 768px) and (max-width: 1190px) { .com-panel-02 .text { padding-left: 20px !important; } }
@media (max-width: 767px) { .com-panel-02 .text { padding-right: 0; padding-left: 0; } }
.com-panel-02 .text.middle { align-self: center; }
.com-panel-02 .image { width: 50%; text-align: right; }

.center_2column .com-panel-02 { justify-content: flex-end; align-items: center; }
.center_2column .com-panel-02 .text { width: 425px; padding-right: 75px; }
.center_2column .com-panel-02 .text p { line-height: 2; letter-spacing: 0.1rem; }
.center_2column .com-panel-02 .image { text-align: center; }
@media (max-width: 767px) { .center_2column .com-panel-02 .text { padding-right: 0px; } }

/* テーブル
----------------------------------------------- */
.com-table-01 { line-height: 1.6666666667; }
.com-table-01 > div { display: flex; flex-wrap: wrap; padding: 15px 0; border-bottom: 1px solid #000; }
.com-table-01 dt { font-weight: normal; position: relative; width: 22%; min-width: 130px; max-width: 130px; }
@media (max-width: 959px) { .com-table-01 dt { min-width: 110px; max-width: 110px; } }
.com-table-01 dd { flex: 1; }

.com-table-01-box .tit03 { margin-bottom: 15px; text-align: center; }

.com-table-01-box + .com-table-01-box { margin-top: 35px; }

.com-table-02 > div { display: flex; flex-wrap: wrap; }
.com-table-02 > div + div { margin-top: 5px; }
.com-table-02 dt { box-sizing: border-box; display: flex; align-items: center; justify-content: center; width: clamp(230px, 28.6666666667%, 430px); padding: 1em; text-align: center; background: rgba(145, 20, 79, 0.05); font-size: 25px; font-size: 1.5625rem; }
@media (max-width: 1365px) { .com-table-02 dt { width: 250px; font-size: 20px; font-size: 1.25rem; } }
@media (max-width: 959px) { .com-table-02 dt { width: 150px; font-size: 18px; font-size: 1.125rem; } }
@media (max-width: 479px) { .com-table-02 dt { width: 100%; } }
.com-table-02 dt + dd { margin-left: 5px; }
@media (max-width: 479px) { .com-table-02 dt + dd { margin-left: 0; margin-top: 5px; } }
.com-table-02 dd { flex: 1; display: flex; align-items: center; padding: 2em 1.5em; border: 1px solid rgba(145, 20, 79, 0.08); font-size: 18px; font-size: 1.125rem; line-height: 2.7777777778; }
@media (max-width: 1365px) { .com-table-02 dd { font-size: 16px; font-size: 1rem; } }
@media (max-width: 959px) { .com-table-02 dd { font-size: 14px; font-size: 0.875rem; } }

.intern-table-01 { border: #eeeeee 1px solid; margin-bottom: 45px; }
.intern-table-01 > div { display: flex; flex-wrap: wrap; }
@media (min-width: 480px) { .intern-table-01 > div.large-nowrap { flex-wrap: nowrap; }
  .intern-table-01 > div.large-nowrap > dt { flex-shrink: 0; } }
.intern-table-01 > div + div dt { border-top: #eeeeee 1px solid; }
@media (max-width: 479px) { .intern-table-01 > div + div dt { border: none; } }
.intern-table-01 > div + div dd { border-top: #eeeeee 1px solid; }
@media (max-width: 479px) { .intern-table-01 > div + div dd { border: none; } }
.intern-table-01 dt { box-sizing: border-box; display: flex; align-items: center; justify-content: center; width: 200px; padding: 1em; text-align: center; color: #000; line-height: 1.6; border-right: #eeeeee 1px solid; }
@media (max-width: 767px) { .intern-table-01 dt { width: 150px; } }
@media (max-width: 479px) { .intern-table-01 dt { width: 100%; } }
@media (max-width: 479px) { .intern-table-01 dt + dd { border: none; } }
.intern-table-01 dd { flex: 1; display: flex; flex-direction: column; justify-content: center; padding: 1em 2em; font-size: 14px; line-height: 2.3571428571; color: #bc9c4c; border-color: #f8f5ed; border-style: solid; }
@media (max-width: 767px) { .intern-table-01 dd { font-size: 12px; } }

.table-header { text-align: center; margin-bottom: 25px; max-width: 1100px; margin-left: auto; }
.table-header .tit04 { line-height: 1; }

.terms-figure-01 { font-family: "游ゴシック", YuGothic, "游ゴシック体", "Yu Gothic", sans-serif; }
.terms-figure-01 + .terms-figure-01 { margin-top: 50px; }
.terms-figure-01 .caption { display: block; margin-bottom: .8em; font-size: 16px; font-size: 1rem; font-weight: 700; letter-spacing: .15em; line-height: 1.64; }
@media (max-width: 1024px) { .terms-figure-01 .caption { font-size: 13px; font-size: 0.8125rem; } }
.terms-figure-01 table { width: 100%; font-weight: 400; font-size: 15px; font-size: 0.9375rem; border-collapse: separate; border-spacing: 5px; }
@media (max-width: 1024px) { .terms-figure-01 table { font-size: 13px; font-size: 0.8125rem; } }
@media (max-width: 767px) { .terms-figure-01 table { font-size: 12px; font-size: 0.75rem; } }
.terms-figure-01 table th, .terms-figure-01 table td { vertical-align: middle; text-align: center; line-height: 1.4; box-sizing: border-box; }
.terms-figure-01 table th { padding: .5em; font-weight: 400; background: rgba(145, 20, 79, 0.05); }
.terms-figure-01 table th span.tategaki { vertical-align: middle; display: inline-block; writing-mode: vertical-rl; -ms-writing-mode: tb-rl; -webkit-writing-mode: vertical-rl; vertical-align: middle; word-break: keep-all; }
.terms-figure-01 table td { border: 1px solid rgba(145, 20, 79, 0.08); }
.terms-figure-01 table.table-01 .col-01 { width: 65px; }
@media (max-width: 1024px) { .terms-figure-01 table.table-01 .col-01 { width: 34px; } }
.terms-figure-01 table.table-01 .col-02 { width: 65px; }
@media (max-width: 1024px) { .terms-figure-01 table.table-01 .col-02 { width: 34px; } }
.terms-figure-01 table.table-01 tbody td { padding: 30px 50px; text-align: left; }
@media (max-width: 1024px) { .terms-figure-01 table.table-01 tbody td { padding: 20px 24px; } }
.terms-figure-01 table.table-02 { table-layout: fixed; height: 100%; /*.col-02 {
	width: 65px;
	@media (max-width: 1024px) {
		width: 35px;
	}
	@media (max-width: 767px) {
		width: 120px;
	}
}*/ }
.terms-figure-01 table.table-02 th.tit { padding: 0; background-color: rgba(145, 20, 79, 0.05); background-image: linear-gradient(to right top, transparent calc(50% - 1.5px), #FFF 50%, #FFF calc(50% + 1.5px), transparent calc(50% + 3px)); background-size: 100% 100%; }
.terms-figure-01 table.table-02 th.tit > div { position: relative; min-height: 80px; }
@media (max-width: 1024px) { .terms-figure-01 table.table-02 th.tit > div { min-height: 70px; } }
@media (max-width: 767px) { .terms-figure-01 table.table-02 th.tit > div { min-height: 75px; } }
.terms-figure-01 table.table-02 th.tit span { margin: 0 !important; position: absolute; line-height: 1.2; }
@media (max-width: 767px) { .terms-figure-01 table.table-02 th.tit span { font-size: 12px; font-size: 0.75rem; } }
.terms-figure-01 table.table-02 th.tit span:nth-of-type(1) { right: .5em; top: .2em; text-align: right; }
.terms-figure-01 table.table-02 th.tit span:nth-of-type(2) { left: .5em; bottom: .2em; text-align: left; }
.terms-figure-01 table.table-02 thead th { padding: 1.5em 1em; }
@media (max-width: 1024px) { .terms-figure-01 table.table-02 thead th { padding: 2em 1em; } }
@media (max-width: 767px) { .terms-figure-01 table.table-02 thead th { padding: .5em .2em; } }
.terms-figure-01 table.table-02 td { padding: 1.5em .5em; }
.terms-figure-01 table.table-02 th.wide { letter-spacing: .8em; }
@media (max-width: 767px) { .terms-figure-01 table.table-02 th.small { font-size: 11px; font-size: 0.6875rem; letter-spacing: -.12em; } }
.terms-figure-01 table.table-02 .col-01 { width: 228px; }
@media (max-width: 1024px) { .terms-figure-01 table.table-02 .col-01 { width: 115px; } }
@media (max-width: 767px) { .terms-figure-01 table.table-02 .col-01 { width: 105px; } }
.terms-figure-01 p { margin-top: 1em; line-height: 1.7333333333; font-weight: 400; }
@media (max-width: 1024px) { .terms-figure-01 p { font-size: 13px; font-size: 0.8125rem; } }
.terms-figure-01 .att { margin-top: 1em; display: flex; }
.terms-figure-01 .att span { line-height: 1.7; width: 3em; font-weight: 400; font-size: 15px; font-size: 0.9375rem; }
@media (max-width: 767px) { .terms-figure-01 .att span { font-size: 13px; font-size: 0.8125rem; } }
.terms-figure-01 .att p { padding: 0; flex: 1; margin: 0; }

/* リスト
----------------------------------------------- */
.com-list-01 li { position: relative; padding-left: 1.5em; line-height: 1.6666666667; font-size: 12px; }
.com-list-01 li::before { position: absolute; left: 0; top: 4px; content: '●'; font-size: 6px; }

/* スクロールのターゲット（header固定分スクロールをずらすため）
-------------------------------------- */
.scroll-target { display: block; }
@media (min-width: 960px) { .scroll-target { margin-top: -90px; padding-top: 90px; } }

/* ローカルナビ
----------------------------------------------- */
.com-local-nav-01 { display: flex; flex-wrap: wrap; gap: 40px 6vw; }
@media (max-width: 1365px) { .com-local-nav-01 { gap: 40px 3vw; } }
@media (max-width: 950px) { .com-local-nav-01 { gap: 30px 2vw; } }
@media (max-width: 520px) { .com-local-nav-01 { gap: 10px 0; } }
.com-local-nav-01 * { box-sizing: border-box; }
.com-local-nav-01 li { min-width: 340px; }
@media (max-width: 520px) { .com-local-nav-01 li { width: 100%; } }
.com-local-nav-01 a { position: relative; display: flex; align-items: center; height: 40px; width: 100%; padding: 0 50px 0 20px; line-height: 40px; line-height: 2.5; font-size: 20px; font-size: 1.25rem; border: #91144f 1px solid; border-radius: 9999px; transition: .5s; }
@media (max-width: 950px) { .com-local-nav-01 a { font-size: 16px; font-size: 1rem; } }
@media (max-width: 767px) { .com-local-nav-01 a { font-size: 14px; font-size: 0.875rem; padding: 0 20px 0 20px; } }
.com-local-nav-01 a::after { position: absolute; top: 50%; margin-top: -5px; right: 14px; transform: translateX(-50%); display: block; line-height: 1; font-size: 0; width: 29px; height: 11px; background: url("../img/common/link-arrow_bottom.png") no-repeat center; background-size: contain; content: ''; transition: .5s; }
@media (max-width: 767px) { .com-local-nav-01 a::after { width: 16px; height: 6px; margin-top: -3px; } }
body:not(.is-touchdevice) .com-local-nav-01 a:hover, .com-local-nav-01 a.hover, .com-local-nav-01 a.active { background-color: #000; }
body:not(.is-touchdevice) .com-local-nav-01 a:hover::after, .com-local-nav-01 a.hover::after, .com-local-nav-01 a.active::after { margin-top: 0; }

/* slick
-------------------------------------- */
.slick-slider { display: block; box-sizing: border-box; -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -ms-touch-action: pan-y; touch-action: pan-y; -webkit-tap-highlight-color: transparent; }

.slick-list { position: relative; overflow: hidden; display: block; margin: 0; padding: 0; }
.slick-list:focus { outline: none; }
.slick-list.dragging { cursor: pointer; cursor: hand; }

.slick-slider .slick-track, .slick-slider .slick-list { -webkit-transform: translate3d(0, 0, 0); -moz-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); -o-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }

.slick-track { position: relative; left: 0; top: 0; display: block; margin-left: auto; margin-right: auto; }
.slick-track:before, .slick-track:after { content: ""; display: table; }
.slick-track:after { clear: both; }
.slick-loading .slick-track { visibility: hidden; }

.slick-slide { float: left; height: 100%; min-height: 1px; outline: none; display: none; }
[dir="rtl"] .slick-slide { float: right; }
.slick-slide a { outline: none; }
.slick-slide img { display: block; }
.slick-slide.slick-loading img { display: none; }
.slick-slide.dragging img { pointer-events: none; }
.slick-initialized .slick-slide { display: block; }
.slick-loading .slick-slide { visibility: hidden; }
.slick-vertical .slick-slide { display: block; height: auto; border: 1px solid transparent; }

.slick-arrow.slick-hidden { display: none; }

/*.slick-arrow { z-index: 5; position: absolute; top: 50%; transform: translateY(-50%); width: 31px; height: 60px; padding: 0; text-indent: -9999px; border: none; background-color: transparent; background-image: url(../img/common/slider_arrow_w.png); background-repeat: no-repeat; background-position: center; background-size: auto; outline: none; cursor: pointer; transition: .4s; @media (max-width: 767px) { width: 15.5px; height: 30px; background-size: 15.5px auto; } &.slick-next { right: 20px; @media (max-width: 767px) { right: 10px; } } &.slick-prev { left: 20px; transform: translateY(-50%) rotate(180deg); @media (max-width: 767px) { left: 10px; } } &:hover { opacity: .7; } .arrow-b & { background-image: url(../img/common/slider_arrow_b.png);   }
}*/
.slick-dots { margin-top: 35px; display: flex; justify-content: center; width: 100%; }
.slick-dots li { width: 50px; height: 2px; margin: 0 5px; border: none; border-radius: none; appearance: none; -webkit-appearance: none; font-size: 0; line-height: 1; outline: none; background: #f8f5ed; transition: .4s; /*追加*/ position: relative; cursor: pointer; }
.slick-dots li.slick-active, .slick-dots li:hover, .slick-dots li.hover { background: #fff; }
@media (max-width: 767px) { .slick-dots li { width: 25px; height: 1px; margin: 0 3px; } }
.slick-dots li:before { content: ''; display: block; position: absolute; width: 100%; height: 20px; top: -10px; left: 0; }
.slick-dots button { display: none; }

/*----------------------------------------------------
	large_carousel
----------------------------------------------------*/
.large_carousel .slider-container { display: none; position: relative; }
.large_carousel .slider-container.initialized { display: block; }
.large_carousel .slider { overflow: hidden; }
.large_carousel .slick-list { padding: 0 0 0 20% !important; }
@media screen and (max-width: 1399px) { .large_carousel .slick-list { padding: 0 !important; } }
.large_carousel .slider-arrow { position: absolute; top: 50%; height: 36px; margin-top: -18px; /* 高さの半分だけネガティブマージン */ color: #bd77f2; line-height: 36px; font-size: 28px; cursor: pointer; z-index: 10; /* 重要 */ }
.large_carousel .slider-prev { left: 0; }
.large_carousel .slider-next { right: 0; }
.large_carousel .slick-slide { margin-left: 30vw; /* ガター */ }
@media (max-width: 959px) { .large_carousel .slick-slide { margin-left: 0px; padding-right: calc(16px + env(safe-area-inset-right)); padding-left: calc(16px + env(safe-area-inset-left)); } }
.large_carousel .slick-slide { color: #fff; text-align: center; font-size: 1.1em; outline: 0; }

/* .slider-pages
========================================================= */
.slider-pages { position: relative; }
.slider-pages .slider-arrows { width: 167px; height: 46px; display: flex; justify-content: space-between; }
@media (max-width: 959px) { .slider-pages .slider-arrows { width: 135px; height: 38px; } }
.slider-pages .slider-arrows .slick-arrow { position: relative; background: #91144f; display: flex; justify-content: center; align-items: center; width: 48px; height: 46px; color: #FFF; font-size: 20px; font-size: 1.25rem; text-indent: 0; cursor: pointer; }
@media (max-width: 959px) { .slider-pages .slider-arrows .slick-arrow { width: 38px; height: 38px; font-size: 16px; font-size: 1rem; } }
.slider-pages .slider-arrows .slick-arrow.slick-prev { content: '<'; }
.slider-pages .slider-arrows .slick-arrow.slick-next { content: '>'; }
.slider-pages .slider-number { width: 65px; height: 46px; background: #91144f; color: #FFF; display: flex; justify-content: center; align-items: center; position: absolute; top: 0; left: 51px; }
@media (max-width: 959px) { .slider-pages .slider-number { width: 55px; height: 38px; left: 40px; } }
.slider-pages .slider-number span { font-family: "Century Gothic", "CenturyGothic", "AppleGothic", sans-serif; font-size: 20px; font-size: 1.25rem; line-height: 1; }
@media (max-width: 959px) { .slider-pages .slider-number span { font-size: 16px; font-size: 1rem; } }

/* header
========================================================= */
.c_openNav { width: 100%; height: 100%; position: fixed; z-index: 998; top: 0; left: 0; background: #00599a; padding: 50px 0; opacity: 0; pointer-events: none; transition: all 0.5s; overflow-x: hidden; }
.c_openNav .c_siteMap-siteMap { margin-bottom: 40px; }
.c_openNav .c_siteMap-siteMap-item.__parent .c_siteMap-siteMap-item-list-title a { pointer-events: none; }
.c_openNav[aria-expanded="true"] { opacity: 1; pointer-events: auto; }
.c_openNav[aria-expanded="true"] .c_siteMap-siteMap-item.__parent .c_siteMap-siteMap-item-list-title a { pointer-events: auto; }
.c_openNav-bg { width: 100%; height: 100%; position: fixed; z-index: 996; top: 0; left: 0; }
@media (min-width: 769px) and (max-width: 1200px) { .c_openNav .c_siteMap .t_inner { width: 92%; }
  .c_openNav .c_siteMap .t_inner.t_flex { flex-direction: column-reverse; justify-content: center; }
  .c_openNav .c_siteMap .c_siteMap-address { width: 60%; margin-left: auto; margin-right: auto; }
  .c_openNav .c_siteMap .c_siteMap-siteMap { width: 90%; margin-right: auto; }
  .c_openNav .c_siteMap .c_siteMap-siteMap--child.t_flex { justify-content: center; }
  .c_openNav .c_siteMap .c_siteMap-siteMap--child .c_siteMap-siteMap-item { width: 22%; }
  .c_openNav .c_siteMap .c_siteMap-siteMap--parent.t_flex { justify-content: center; }
  .c_openNav .c_siteMap .c_siteMap-siteMap--parent.t_flex .c_siteMap-siteMap-item.__parent { width: 28%; }
  .c_openNav .c_siteMap .c_siteMap-siteMap--parent.t_flex .c_siteMap-siteMap-item.__parent:nth-child(3n) { margin: 0 4% 10px 0; } }

body.__isActive { overflow: hidden; }

.c_header { -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; background: #00599a; position: fixed; width: 100%; left: 0; top: 0; z-index: 999; opacity: 0; pointer-events: none; -webkit-transition: all 0.5s; -o-transition: all 0.5s; transition: all 0.5s; }
.c_header.isActive { opacity: 1; pointer-events: auto; }
.c_header .c_header-logo { display: block; width: 170px; margin: 12px auto 13px auto; }

#header { position: fixed; width: 100%; height: 125px; top: 0; left: 0; padding: 0 3%; z-index: 100; pointer-events: none; }
#header .header-menu { width: 100%; display: flex; align-items: flex-end; justify-content: space-between; height: 100%; }
#header .header-menu .logo { height: 100%; margin-right: 20px; display: flex; justify-content: center; align-items: flex-end; pointer-events: auto; max-width: 256px; }
@media (max-width: 959px) { #header { height: 7%; }
  #header .header-menu .logo img { min-width: 150px; width: clamp(150px, 26.6944734098vw, 256px); } }

@media (max-width: 768px) { .c_siteMap-siteMap-item-list-hierarchy { max-height: 0; /* 初期状態で非表示 */ display: block; overflow: hidden; transition: max-height 0.5s ease-in-out; /* アニメーションを追加 */ margin-bottom: 0; } }

@media (max-width: 768px) { .c_siteMap-siteMap-item-list-title.active + .c_siteMap-siteMap-item-list-hierarchy { max-height: 500px; /* 十分に大きな値を指定（適宜調整） */ margin-bottom: 30px; } }

/* footer
========================================================= */
footer { position: relative; color: #fff; background: #00599a; }
@media (max-width: 959px) { footer { padding-bottom: 60px; } }
@media (min-width: 769px) and (max-width: 1200px) { footer.c_footer .t_inner { width: 92%; }
  footer.c_footer .t_inner.t_flex { flex-direction: column-reverse; justify-content: center; }
  footer.c_footer .c_siteMap-address { width: 60%; margin-left: auto; margin-right: auto; }
  footer.c_footer .c_siteMap-siteMap { width: 90%; margin-right: auto; }
  footer.c_footer .c_siteMap-siteMap--child.t_flex { justify-content: center; }
  footer.c_footer .c_siteMap-siteMap--child .c_siteMap-siteMap-item { width: 22%; }
  footer.c_footer .c_siteMap-siteMap--parent.t_flex { justify-content: center; }
  footer.c_footer .c_siteMap-siteMap--parent.t_flex .c_siteMap-siteMap-item.__parent { width: 28%; }
  footer.c_footer .c_siteMap-siteMap--parent.t_flex .c_siteMap-siteMap-item.__parent:nth-child(3n) { margin: 0 4% 10px 0; } }
footer #footer-main { color: #FFF; padding-top: 70px; padding-bottom: 80px; }
@media (max-width: 959px) { footer #footer-main { padding-top: 40px; padding-bottom: 40px; } }
@media (min-width: 768px) { footer #footer-main .col-01 { display: flex; justify-content: space-between; } }
@media (max-width: 767px) { footer #footer-main .col-01 { text-align: center; } }
footer #footer-main .logo img { width: 280px; }
@media (max-width: 959px) { footer #footer-main .logo img { width: 200px; } }
footer #footer-main .hotel-info { font-size: 15px; }
@media (max-width: 767px) { footer #footer-main .hotel-info { margin-top: 25px; text-align: left; max-width: 355px; margin-left: auto; margin-right: auto; } }
footer #footer-main .address, footer #footer-main .tel { margin-top: 0; letter-spacing: .1em; }
@media (max-width: 767px) { footer #footer-main .address, footer #footer-main .tel { font-size: 14px; } }
footer #footer-main .tel { font-family: "Century Gothic", "CenturyGothic", "AppleGothic", sans-serif; }
footer #footer-main .tel a { color: #FFF; }
footer #footer-main .contact { margin-top: .5em; }
footer #footer-main .contact a { box-sizing: border-box; position: relative; display: flex; justify-content: center; align-items: center; width: 150px; height: 20px; border-radius: 15px; letter-spacing: .1em; text-align: center; border: #FFF 1px solid; text-align: center; color: #FFF; transition: .5s; font-size: 13px; }
@media (max-width: 767px) { footer #footer-main .contact a { margin-left: auto; margin-right: auto; /*padding-left: 1em;*/ } }
body:not(.is-touchdevice) footer #footer-main .contact a:hover, footer #footer-main .contact a.hover { background-color: #FFF; color: #76664f; }
footer #footer-main #banner-center-footer { padding-top: 80px; max-width: 1446px; margin-left: auto; margin-right: auto; }
@media (max-width: 767px) { footer #footer-main #banner-center-footer { max-width: 600px; margin-left: auto; margin-right: auto; padding-top: 40px; } }
footer #footer-main #banner-center-footer .slide_box .box { float: none; display: block; }
footer #footer-main #banner-center-footer .slide_box .box .bn_slider { height: auto; /*padding-left: 14px;*/ }
footer #footer-main #banner-center-footer .slide_box .box .bn_slider li { margin-right: 0; margin-left: 0; display: flex; height: auto; flex-direction: column; align-items: center; justify-content: center; max-width: 709px; margin-left: 14px; margin-right: 14px; }
footer #footer-main #banner-center-footer .slide_box:hover .slick-arrow { opacity: 1; }
footer #footer-main #banner-center-footer .slick-arrow { background-image: url("../img/common/slider_arrow_b.png"); opacity: 0; }
@media (max-width: 767px) { footer #footer-main #banner-center-footer .slick-arrow { opacity: 1; } }
footer #footer-main #banner-center-footer .slick-prev { left: -40px; }
@media (max-width: 767px) { footer #footer-main #banner-center-footer .slick-prev { left: 0px; } }
footer #footer-main #banner-center-footer .slick-next { right: -40px; }
@media (max-width: 767px) { footer #footer-main #banner-center-footer .slick-next { right: 0px; } }
footer #footer-nav { box-sizing: border-box; display: flex; flex-wrap: wrap; justify-content: center; text-align: center; margin-top: 70px; font-size: 14px; line-height: 20px; font-family: "Century Gothic", "CenturyGothic", "AppleGothic", sans-serif; }
@media (max-width: 959px) { footer #footer-nav { margin-top: 40px; line-height: 2.1; } }
footer #footer-nav li::after { content: '/'; margin: 0 .2em; }
@media (max-width: 959px) { footer #footer-nav li::after { margin: 0 .5em; } }
footer #footer-nav li:last-child::after { display: none; }
footer #footer-nav a { color: #FFF; }

.copy { text-align: center; font-family: "Century Gothic", "CenturyGothic", "AppleGothic", sans-serif; }

/*# sourceMappingURL=common.css.map */
