@import "https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.8.0/css/all.min.css";
@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&display=swap');

/*---------------------------
MEMO
min923px--PCのみ
max922px--タブレット・モバイル以下
min768px
max767px
min576px--モバイル以外
max575px--モバイルのみ
hs-content-id-188958092049--act id

var(--main-color)
var(--sub-color)
var(--icon-color)
var(--text-color)
var(--textgray-color)
var(--textfooterlink-color)
var(--title-subline)
var(--bg-color)
var(--card-color)
var(--card-bg01-color)
var(--card-bg02-color)
-----------------------------*/


/*------------------------
    　　　　基本設定
--------------------------*/
/******テーマカラーの定義*****/
:root {
  --main-color: #033c82; /* ハンバーガーメニュー右の色 */
  --sub-color: #B28600; /* link・lineの色 */
  --icon-color: #B28600;
  --text-color: #11141a; /* 基本的なテキストの色 */
  --textgray-color: #585858; /* 控えめにしたい本文に使用するグレー色 */
  --textfooterlink-color: #d9d9d9; /* フッターのリンク色 */
  --title-subline: #cacaca; /* タイトルラインの薄い色（sub-colorのグレー色） */
  --bg-color: #f7f7f7; /* 薄い背景色（main-colorのグレー色） */
  --card-color: #033c82; /* カード内のアクセント色 */
  --card-bg01-color: rgba(14,14,15,0.8); /* メイン色から濃く、3カラム右左背景、下層ページのアンカーリンク背景 */
  --card-bg02-color: rgba(44,44,44,0.6);/* メイン色から若干薄く、3カラム中背景 */
  --bg-darkcolor: #f0f0f0;/* 設備ページなどのタブ下の濃い背景 */
}

body {
    position: relative;
    overscroll-behavior: none;
    font-family: Noto Sans JP, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.8;
    color: var(--text-color);
    overflow-wrap: anywhere;
    background-color: #fff;
    scroll-behavior: smooth;
}
h1,h2,h3,h4,h5,h6 {
  color: var(--text-color) ;
  font-weight: 600;
}
p {
  font-family: Noto Sans JP, sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.8;
  color: var(--text-color);
}
@media (max-width: 767px) {
  p {
    font-family: Noto Sans JP, sans-serif;
    font-size: 15px;
  }
}
strong {
  color: var(--sub-color) !important;
  text-decoration: none;
  font-weight: inherit;
}
ul, ol {
  margin: 0;
  padding: 0;
  list-style: none;
  font-weight:400;
}
a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
  font-weight: inherit;
}
a:hover {
  color: var(--icon-color);
}
table {
  background-color: #fff;
}
.hhs-row-overlay {/*リンクの調整？*/
    z-index: -1 !important;
}
/******背景色*****/
.bg-color {
  background-color: var(--bg-color) !important;
}
.bg-darkcolor {
  background-color: var(--bg-darkcolor) !important;
}
/******幅によって改行をコントロール*****/
@media (max-width: 922px) {/*タブレット以下改行なし*/
    .br_tl_none {
        display: none !important;
    }
}
@media (max-width: 767px) {/*モバイルのみ改行なし*/
    .br_sp_none {
        display: none !important;
    }
}
@media (min-width: 923px) {/*PCのみ改行なし*/
    .br_pc_none {
        display: none !important;
    }
}
@media (min-width: 768px) {/*モバイルのみ改行あり*/
    .br_sp_show {
        display: none !important;
    }
}

/******埋め込みをスムーズに*****/
.hs-responsive-embed embed, .hs-responsive-embed iframe, .hs-responsive-embed object, .hs-responsive-embed-target-iframe{
    transition: all .3s ease;
}
/******リンクボタン/CTA*****/
.c-button.u-small {
    min-width: 260px;
}
.c-button {
    position: relative;
    display: block;
    min-width: 300px;
    padding: 18px 60px 22px 30px;
    color: var(--sub-color); 
    background-color: transparent;
    border: 1px solid var(--sub-color);
    border-radius: 100vmax;
    transition: all .3s ease;
}
.c-button__text {
    display: block;
    font-size: 18px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: .04em;
}
.c-button__icon {
    position: absolute;
    top: 50%;
    right: 20px;
    display: block;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    transition: all .3s ease;
    translate: 0 -50%;
}
.c-button__icon>svg circle, .c-button__icon>svg rect, .c-button__icon>svg path {
    transition: all .3s ease;
}
.c-button:hover {
  color: #fff;
  background-color: var(--sub-color);
}
.c-button:hover .c-button__icon>svg circle {
  fill: #fff;
}
.c-button:hover .c-button__text {
  color: #fff;
}
.c-button:hover .c-button__icon {
  translate: 4px -50%;
}
.c-button:hover .c-button__icon>svg path, .c-button:hover .c-button__icon>svg rect {
  fill: var(--sub-color);
}

/*トップページ*/
.s-topAccess__btnWrap .c-button,
.s-topReason__btnWrap .c-button{
    color: #fff; /* 1カラーサイト:#fff / 2カラーサイト:var(--sub-color) */
    background-color: var(--sub-color); /* 1カラーサイト:var(--sub-color) / 2カラーサイト:transparent */
}
.s-topAccess__btnWrap .c-button .c-button__icon>svg circle,
.s-topReason__btnWrap .c-button .c-button__icon>svg circle {
  fill: #fff !important; /* 1カラーサイト:#fff / 2カラーサイト:var(--sub-color) */
}
.s-topAccess__btnWrap .c-button .c-button__icon>svg path,
.s-topAccess__btnWrap .c-button .c-button__icon>svg rect,
.s-topReason__btnWrap .c-button .c-button__icon>svg path,
.s-topReason__btnWrap .c-button .c-button__icon>svg rect {
  fill: var(--sub-color) !important; /* 1カラーサイト:var(--sub-color) / 2カラーサイト:#fff */
}

@media (max-width: 922px) {
  .c-button.u-small {
    min-width: 240px;
  }
}

@media (max-width: 575px){
  .c-button {
    padding: 15px 60px 15px 30px;
  }
  .c-button.u-small {
    min-width: 210px;
  }
  .c-button__text {
    font-size: 16px;
  }
}

.s-btmBtnWrap {/*中央寄せ・下層ページのリンクボタン枠*/
    display: flex;
    gap: 20px;
    align-items: center;
    justify-content: center;
}
.s-btmBtnLeftWrap {/*左寄せ・下層ページのリンクボタン枠*/
    display: flex;
    gap: 20px;
    align-items: start;
    justify-content: left;
}
@media (max-width: 767px) {
  .s-btmBtnWrap {
    flex-direction: column;
  }
  .s-btmBtnLeftWrap {
    flex-direction: column;
  }
}
/*------------------------
 メニューバー - menu bar
--------------------------*/
.container-fluid.hhs-nav-grid:before {/* メニューバー左のライン */
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 62px;
  content: "";
  background-color: var(--sub-color);
}
header div.container-fluid {
  padding-right: 0px;
  padding-left: 22px;
}
.hhs-header-cta {
  float: none;
  display: block;
}
.hhs-top-bar {
  padding: 0;
}
header.hhs-top-bar {
  width: 98%;
  border-bottom-right-radius: 7px;
  margin-top:15px;
  transition: transform 0.3s ease;
  z-index: 1000;
  box-shadow: 0 2px 3px 1px rgba(0, 0, 0, .1);
}
.hhs-top-bar.sticky-menu.active {
  margin-top: 0;
  transition: transform 0.3s ease;
  z-index: 1000;
}
header div.container-fluid {
      padding-right: 0px;
}
.hhs-head-cta-1,
.hhs-head-cta-2 {
    margin-right: 0px !important;
    display: block;
    transition: transform 0.3s ease;
}
.hs-menu-wrapper.hs-menu-flow-horizontal > ul {
  display: flex;
  align-items: center;
}
.hhs-top-bar .hs-menu-wrapper.hs-menu-flow-horizontal > ul li {
  margin: 5px 11px;
  line-height:1em;
}
.info {
  width: 100%;
  text-align: center;
  transition: transform 0.3s ease;
  padding-top: 6px;
}
span.tel {
    display: block;
    font-size: 22px;
    color: var(--sub-color);
    font-family: 'Lato';
}
span.time {
    font-size: 10px;
  line-height: 20px;
}
.hhs-top-bar.sticky-menu.active {
    padding: 0px;
}
@media (max-width: 1189px) {/* 電話番号以外のメニューを非表示 */
ul.hhs-nav-links li.hs-menu-item:has(div.menu) {
        display: none;
        transition: transform 0.3s ease;
} 
}
@media (max-width: 767px) {/* CTAを非表示 */
  .hhs-extras-ctas {
    display: none;
  }
}
/******ハンバーガーメニュー******/
.hhs-menu-toggle{
    display: flex;
    width: 75px;
    height: 90px;/* メニューバーの高さ */
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    padding: 6px 5px 9px 7px;
    margin-left: auto;
    background-color: var(--main-color);
    border-bottom-right-radius: 5px;
    opacity: 1;
    transition: background-color 0.3s ease, color 0.3s ease, opacity 0.3s ease;
}
.hhs-menu-toggle button {
  position: relative; 
  background-color: transparent; 
  border: none;
  padding: 0;
  display: flex; 
  flex-direction: column;
  align-items: center;
  justify-content: flex-start; 
  margin-bottom: 40px;
}
.hamburger-icon {/* ハンバーガーメニューのラインの間隔 */
    height: 1.2em;
}
.hhs-menu-toggle button::after {
  content: "MENU";
  position: absolute; 
  bottom: -27px;
  left: 50%;
  transform: translateX(-50%); 
  font-size: 13px;
  color: #fff;
  white-space: nowrap;
  text-align: center;
  opacity: 1;
  transition: content 0.3s ease, color 0.3s ease, opacity 0.3s ease;
}
.hhs-nav-grid__extras .hhs-menu-toggle:hover > button span.line {/* ハンバーガーメニューにオンマウスしたときのラインの動き */
    top: 50%;
    bottom: unset;
    transform: translateY(-50%);
}
.hhs-nav-grid__extras .hhs-menu-toggle:hover button::after {/* ハンバーガーメニューにオンマウスしたときのテキストの動き */
  bottom: -25px;
  font-size: 12px;
}
.hhs-top-bar.hhs-alt-nav .hamburger-icon .line, .sticky-menu .hamburger-icon .line {/* スクロールしたときのハンバーガーメニューのライン色 */
    background: #ffffff;
}

.is-open .hhs-menu-toggle{
    background-color: transparent;
}
.hhs-menu-toggle button.active::after {
  content: "";
  color: transparent;
}
.hamburger-icon .line {
    background: rgb(255 255 255);
}
.hamburger-icon .line {
    height: 2px;
}
.hamburger-icon.active .line-1 {
    transform: translateY(0.8em) translateX(0) rotate(45deg);
}
.hamburger-icon.active .line-3 {
    transform: translateY(-0.4em) translateX(0) rotate(-45deg);
}
.hhs-side-menu__controls .hhs-menu-toggle:hover > button span.line {/* サイドメニューにオンマウスしたときのラインの動き */
    color:
}
.hhs-side-menu.is-open p{
    color: #fff;
}
.hamburger-icon.active .line {/*ハンバーガーメニュー展開中のクローズボタンの色*/
    background: #fff;
}
/******サイドメニュー******/
.hhs-side-menu{
    width: 100%;
}
/*------------------------
    モジュール-module
--------------------------*/
/*****ヴァーサカード/Versa Cards*****/
.card-list .c-card {
  height: 100% !important;
  padding-right: 30px !important;
  border-radius: 0 6px 0 0;
}
.card-list .c-card:before {
    position: absolute;
    right: 4px;
    bottom: 4px;
    width: 10px;
    height: 10px;
    content: "";
    border-top: 5px solid transparent;
    border-right: 5px solid var(--card-color);
    border-bottom: 5px solid var(--card-color);
    border-left: 5px solid transparent;
}
.card-list .c-card img {
  border-radius: 0 0 10px 0;
}
.card-list .c-card-content {
    padding: 10px 25px 21px !important;
}
.card-list h4 {
    margin-bottom: 2px;
    font-size: 20px;
    font-weight: 500;
    line-height: 150%;
    color: var(--card-color);
    letter-spacing: .04em;
}
.card-list ul {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0px;
}
.card-list ul li {
    position: relative;
    padding-left: 15px;
    font-size: 14px;
    font-weight: 400;
    line-height: 160%;
    letter-spacing: .02em;
  list-style-type: none;
  margin-bottom: 0px;

}
.card-list ul li:before{
    position: absolute;
    top: 9px;
    left: 0;
    width: 6px;
    height: 6px;
    content: "";
    background-color: var(--card-color);
}
@media (max-width: 767px) {
  .card-list .filter-card {
    padding: 5px 15px !important;
  }
  .card-list .c-card img {
    height: 100% !important;
    max-width: 40% !important;
    margin: 0px !important;
    aspect-ratio: 42 / 30;
    overflow: hidden;
    object-fit: cover;
  }
  .card-list .c-card {
    flex-direction: row;
    padding-right: 0px !important;
    padding-bottom: 16px !important;
  }
  .card-list .c-card-content {
    padding: 20px 30px 21px !important;
  }
  .card-list h4 {
    margin-bottom: 7px;
    font-size: 16px;
  }
  .card-list ul li:before {
    top: 10px;
  }
  .card-list ul li {
    line-height: 180%;
    font-size: 13px;
  }
}
@media (max-width: 575px) {
  .card-list .c-card img {
    aspect-ratio: 35 / 30;
  }
  .card-list .c-card {
    padding-bottom: 8px !important;
  }
  .card-list .c-card-content {
    padding: 10px 20px 21px !important;
  }
  .card-list h4 {
    margin-bottom: 2px;
    font-size: 16px;
  }
  .card-list ul li:before {
    top: 8px;
  }
  .card-list ul li {
    line-height: 160%;
    font-size: 12px;
  }
}
.card-list .cta-secondary {
    position: relative;
    display: flex;
    gap: 16px;
    align-items: center;
    justify-content: center;
    min-width: 160px;
    padding: 9px 33px 11px 20px;
    color: var(--sub-color) !important;
    background-color: transparent;
    border: 1px solid var(--sub-color);
    border-radius: 40px;
    transition: all .3s ease;
    font-size: 15px;
    font-weight: 500;
    line-height: 120%;
    letter-spacing: .05em;
}
.card-list .cta-secondary:hover {
    color: #fff !important;
    background-color: var(--sub-color) !important;
}

/*------------------------*
    トップページ-toppage
*--------------------------*/
/*****ファーストビュー/firstview hero*****/
#hs_cos_wrapper_module_17253444060463 .clean-base .c-1 .c-col-inner {/*ドメインごとに設定が必要*/
    padding-top: 0px;
    padding-right: 10%;
    padding-bottom: 0px;
    padding-left: 0px;
    margin-bottom: 0;
    margin-top: 0;
    height: 100%;
}
@media (min-width: 923px) {
.hero_text p{
  color: #ffffff;
  font-size: 22px;
}
.hero_text h1{
  color: #ffffff;
  font-size: 62px;
  line-height: 1.3em;
}
}
@media (max-width: 922px) {
.hero_text p{
  color: #ffffff;
  font-size: 20px;
}
.hero_text h1{
  color: #ffffff;
  font-size: 58px;
}
}
@media (max-width: 575px) {
.hero_text p{
  color: #ffffff;
  font-size: 16px;
}
.hero_text h1{
  color: #ffffff;
  font-size: 50px;
}
}

/*****3カラム/3colum******/
.top_3column table{
  background-color:transparent !important;
}

.top_3column .custom {
    margin-left: 0px;
    margin-right: 0px;
    padding-left: 0px;
    padding-right: 0px;
}
.top_3column p{
    padding-top: 10px;
    font-size:15px;
    line-height: 170%;
    margin-bottom: 5px;
    letter-spacing: 0.04em;
    color:#d7d2cd;
    display: -webkit-box; /* WebKitのボックスモデルを使用 */
    -webkit-line-clamp: 3; /* 表示する行数 */
    -webkit-box-orient: vertical; /* テキストの方向を垂直にする */
    overflow: hidden; /* はみ出した部分を隠す */
    text-overflow: ellipsis; /* これは省略記号が表示されることを保証するものではないが、設定しておくと良い */
}
.top_3column p strong{
    line-height: 1;
    margin-bottom: 5px;
    font-family: 'Lato';
    color: var(--icon-color) !important;
    transition: all .3s ease;
}
.top_3column h2{
    display: flex; /* ← 追加 */
    align-items: center; /* ← 追加 */
    position: relative;
    display: -webkit-box;
  -webkit-box-orient: vertical;
    color: #ffffff;
    font-size: 26px;
    font-weight: 450;
    letter-spacing: 2px;
    line-height: 1em;
    transition: all .3s ease;
}
.top_3column h2.icon:after {
  position: absolute;
  top: 0%;
  right: 0%;
  transform: translateY(-52%);
  content: "\f138";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  display: inline-block;
  margin-right: 5px;
  font-size: 40px;
  color: var(--icon-color) !important;
  transition: all .3s ease;
  z-index:100;
}
.top_3column table:hover h2.icon:after{
  right: -1%;
  color: var(--sub-color);
}
.top_3column .tel_num{
  font-size: 36px;
  font-family: 'Lato';
  color: #fff;"
}
.top_3column p a[href^="tel:"]{
    color: #ffffff;
}
.c-col-inner:has(.tel_contact) {/* 問合せの右上角だけ丸くする */
    border-radius: 0 10px 0 0;
}
@media (max-width: 991px) {
  .top_3column p.text_desc{
    border-radius: 0 0 0 0;
   }
}
@media (max-width: 922px) {
  .top_3column p.text_desc{
    -webkit-line-clamp: 1; /* 表示する行数 */
   }
}
@media (max-width: 575px) {
      .top_3column .c-col {
        margin-bottom: 0px !important;
    }
  .top_3column h2 {
    font-size: 22px;
}
  .top_3column p {
    font-size: 13px;
}
  .top_3column .tel_num{
  font-size: 27px;
  font-family: 'Lato';
  color: #fff;"
}
}

/*****セカンドビュー（アクセス）*****/
.second_view  {
    margin-right:20px;
}
.second_view img.c-img-1 {/*画像を高さ固定、幅のみレスポンシブ*/
    width: 100%;
    object-fit: cover;
    height: 970px !important;
    border-radius: 0 16px 0 0;
}
.top_access_title {/*タイトル*/
    position: relative;
    padding-bottom: 27px;
    margin-bottom: 20px;
    font-size: 40px;
    font-weight: 500;
    line-height: 150%;
    letter-spacing: .08em;
}
.top_access_title:before {/*タイトル下のライン*/
    position: absolute;
    bottom: 0;
    left: 0;
    width: 80px;
    height: 2px;
    content: "";
    background-color: var(--sub-color);
}
.top_access_desc {/*本文*/
    margin-bottom: 14px;
    font-size: 19px;
    letter-spacing: .04em;
}
.top_access_address {/*住所*/
    margin-bottom: 42px;
    font-size: 14px;
    font-weight: 400;
    line-height: 160%;
    letter-spacing: .04em;
}
.top_access_box {/*最寄駅の枠*/
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    margin-bottom: 30px;
}
.top_access_item {/*最寄駅の色塗り部*/
  position: relative;
  max-width:450px;
  padding: 18px 28px;
  background-color: var(--bg-color);
  border-radius: 0 8px 0 0;
  line-height:1em;
  margin-bottom: 4px;
  font-size:12px;
}
.top_access_item span {
  display:block;
  font-size:15px;
  font-weight: 500;
  letter-spacing: .04em;
  line-height: 100%;
}
.top_access_item:before {/*最寄駅の左側の縦ライン*/
    position: absolute;
    top: 0;
    left: 0;
    width: 2px;
    height: 40px;
    content: "";
    background-color: var(--sub-color);
}
.s-topAccess__btnWrap {/*アクセスCTA枠*/
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
}
@media (max-width: 767px) {/*セカンドビューのみ 767px*/
    .second_view .c-col-inner {
        padding: 0 !important;
        margin-bottom:30px !important;
    }
    .second_view img.c-img-1 {
         height: 400px !important;
    }
    .top_access_left {
        padding: 0 20px !important;
   }
    .top_access_title {/*タイトル*/
        padding-bottom: 17px !important;
        margin-bottom: 16px !important;
        font-size: 28px !important;
    }
    .top_access_desc {
        margin-bottom: 11px !important;
        font-size: 17px !important;
        line-height: 160% !important;
    }
    .top_access_address {
        margin-bottom: 25px !important;
        font-size: 13px !important;
    }
    .top_access_item {/*最寄駅の色塗り部*/
        max-width:100% !important;
    }
    .s-topAccess__btnWrap {
        justify-content: center !important;
    }
}
/*****ピックアップ-トップページ******/
.s-pickupEvent .c-slide-inner-1 {
    border: 1px solid var(--title-subline);
    border-radius: 0 6px 0 0;
}
.s-pickupEvent .c-slide-text-container-1 {
    padding: 0px !important;
    padding-left: 15px !important;
}
.s-pickupEvent .c-rich-text-1 {
    vertical-align: top !important;
}
.s-pickupEvent p{
  margin:0 !important;
}
.s-pickupEvent .c-image-1 img{
    object-fit: cover;
    aspect-ratio: 48 / 35;
    overflow: hidden;
}
.s-pickupEvent strong{
  font-size: 17px !important;
  display: inline-flex;
  line-height: 19px;
  font-weight: 700;
  color: var(--main-color) !important;
}
.s-pickupEvent h4 {
  font-size: 20px;
  font-weight: 500;
  display: -webkit-box;
  -webkit-line-clamp: 3; /* 表示する最大行数 */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;

}
.s-pickupEvent h5 {
  font-size: 16px;
  font-weight: 400;
  padding-top: 8px;
  display: -webkit-box;
  -webkit-line-clamp: 3; /* 表示する最大行数 */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.c-slider .slick-dots li.slick-active {
    background-color: var(--sub-color) !important;
}
/*****下層ページ_トップタイトル******/
.under__TopHeaderImg .s-overlay{
  z-index:0 !important;
}

.s-underpage__titleWrap {
    margin-bottom: 20px;
}
.c-largeTitle {
    position: relative;
    padding-bottom: 24px;
}
.c-largeTitle:before {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 80px;
    height: 2px;
    content: "";
    background-color: var(--sub-color);
}
h2.c-largeTitle__text {
    font-size: 36px;
    font-weight: 500;
    line-height: 130%;
    letter-spacing: .04em;
}
/*****下層ページ_小タイトル******/
.c-smallTitle {
    position: relative;
    padding: 0 24px;
}
h4.c-smallTitle__text {
    font-size: 22px;
    font-weight: 500;
    line-height: 140%;
    letter-spacing: .04em;
}
.c-smallTitle:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 100%;
    content: "";
    background-color: var(--sub-color);
}
/*セクションタイトル*/
.s-case__titleWrap {
    margin-bottom: 30px;
}
.c-sectionTitle {
    position: relative;
    display: flex;
    gap: 20px;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding-top: 26px;
    margin-bottom: 10px;
}
.c-sectionTitle:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 2px;
    content: "";
    background: linear-gradient(to right, var(--sub-color) 0, var(--sub-color) 60px, var(--title-subline) 60px, var(--title-subline));
}
.c-sectionTitle__text {
    font-size: 32px;
    font-weight: 500;
    line-height: 100%;
    letter-spacing: .08em;
}
.c-sectionTitle__btnList {
    display: flex;
    flex-shrink: 0;
    flex-wrap: wrap;
    gap: 15px;
}
.c-commonBtn {
    position: relative;
    display: flex;
    gap: 16px;
    align-items: center;
    justify-content: center;
    min-width: 160px;
    padding: 9px 33px 11px 20px;
    color: var(--sub-color);
    background-color: transparent;
    border: 1px solid var(--sub-color);
    border-radius: 40px;
    transition: all .3s ease;
}
.c-commonBtn__text {
    font-size: 15px;
    font-weight: 500;
    line-height: 120%;
    letter-spacing: .05em;
}
.c-commonBtn__icon {
    position: absolute;
    top: calc(50% - 1px);
    right: 15px;
    width: 12px;
    height: 5px;
    transition: all .3s ease;
    translate: 0 -50%;
}
.c-commonBtn__icon>svg {
    display: block;
    width: 100%;
    height: 100%;
}
.c-commonBtn__icon>svg rect, .c-commonBtn__icon>svg path {
    transition: all .3s ease;
}
.c-commonBtn:hover {
    color: #fff;
    background-color: var(--sub-color);
}
.c-commonBtn:hover .c-commonBtn__icon>svg rect, .c-commonBtn:hover .c-commonBtn__icon>svg path {
    fill: #fff;
}
@media (max-width: 767px) {
  .c-sectionTitle__btnList {
    display: none;
   }
  .c-sectionTitle__text {
    font-size: 26px;
  }
}

/*****選ばられる理由*****/
.img_left img{
    max-width: 100%;
    width: 100%;
    height: 100% !important;
    overflow: hidden;
    border-radius: 0 16px 0 0;
    object-fit: cover;
    aspect-ratio: 48 / 30;
    overflow: hidden;
}
.img_right img{
    max-width: 100%;
    width: 100%;
    height: 100% !important;
    overflow: hidden;
    border-radius: 16px 0 0 0;
    object-fit: cover;
    aspect-ratio: 48 / 30;
    overflow: hidden;
}
.top_reason h4 {
    position: relative;
    padding-bottom: 24px;
    margin-bottom: 20px;
    font-size: 36px;
    font-weight: 500;
    line-height: 130%;
    letter-spacing: .04em;
}
.top_reason h4:before {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 80px;
    height: 2px;
    content: "";
    background-color: var(--sub-color);
}
.top_reason p {
    margin-bottom: 32px;
    font-size: 16px;
    font-weight: 500;
    line-height: 180%;
    letter-spacing: .04em;
}
.s-topReason__btnWrap {/*選ばれる理由CTA枠*/
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
}
@media (max-width: 767px) {
  .top_reason h4 {
    text-align: center;
    font-size: 30px;
  }
  .top_reason p {
    font-size: 15px;
  }
  .c-button__text {
    font-size: 16px;
  }
  .s-topReason__btnWrap {
    justify-content: center;
  }
  .top_reason h4:before {
    left: 50%;
    width: 60px;
    translate: -50% 0;
  }
  .order-1-mobile {
    order: 1 !important;
  }
  .order-2-mobile {
    order: 2 !important;
  }
}
/* =========================================== */
/* フッター・footer/sidemenu サイドメニュー*/
/* =========================================== */
/*****サイドメニュー*****/
.hhs-side-menu__mobile{
  display:none;
}
.hhs-side-menu__text.text-above {
  padding-top: 0px;
}
@media (min-width: 992px) {
.sidhheader-border {
  border-right: 1px solid #fff;
  height: 100%;
  margin-left: -30px;
  padding-right: 30px;
}
}
@media (max-width: 991px) {
  .sidhheader-border {
    text-align: center;
    justify-items: center;
    padding-bottom:30px;
  }
  .hhs-side-nav-col {
    border-bottom: 1px solid var(--textfooterlink-color);
    margin-bottom: 30px;
    padding-bottom:30px;
  }
}
.c-sideTopCta__logoWrap {
    max-width: 480px;
    padding-bottom: 30px;
}
.c-sideTopCta__telWrap {
    margin-bottom: 36px;
    color: #fff;
}
.c-sideTopCta__telDesc {
    padding-bottom: 5px;
    padding-top: 7px;
    font-size: 10px;
    font-weight: 400;
    line-height: 100%;
    letter-spacing: .08em;
}
.hhs-sideheader-cta {
  display: flex;
  gap: 15px;
  float: none;
  color:#001C5B;
}
/*****トップページ 地図・アクセス*****/
.footer_TopCta{
  color: #fff;
}
.c-footerTopCta__logoWrap {
    max-width: 480px;
    padding-bottom: 29px;
    margin-bottom: 24px;
    border-bottom: 1px solid rgba(255, 255, 255, .3);
}
.c-footerTopCta__logo {
    display: block;
    transition: all .3s ease;
}
.c-footerTopCta__addressNum {
    margin-bottom: 10px;
    font-size: 14px;
    font-weight: 500;
    line-height: 120%;
    letter-spacing: .04em;
}
.c-footerTopCta__addressText {
    margin-bottom: 20px;
    font-size: 15px;
    font-weight: 500;
    line-height: 120%;
    letter-spacing: .04em;
}
.c-footerTopCta__telWrap {
  display: flex;
  gap: 12px;
  align-items: flex-end;
  justify-content: flex-start;
  margin-bottom: 36px;
}
.c-footerTopCta__tel {
    display: block;
    font-family: Lato, sans-serif;
    font-size: 24px;
    font-weight: 500;
    line-height: 100%;
    letter-spacing: .02em;
    transition: all .3s ease;
}
.c-footerTopCta__telDesc {
    padding-bottom: 5px;
    font-size: 10px;
    font-weight: 400;
    line-height: 100%;
    letter-spacing: .08em;
}

.c-footerTopCta__btnsWrap {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    align-items: flex-start;
    justify-content: flex-start;
}
@media screen and (max-width: 767px) {
    .c-commonBtn.u-sizePcMedium {
        min-width: 220px;
        padding: 11px 33px 13px 20px;
    }
}
@media screen and (max-width: 767px) {
    .c-commonBtn.u-sizePcMedium .c-commonBtn__text {
        font-size: 16px;
        line-height: 150%;
    }
}
.c-commonBtn.u-white {
    color: #fff;
    border-color: #fff;
}
.c-commonBtn.u-white .c-commonBtn__icon>svg rect, .c-commonBtn.u-white .c-commonBtn__icon>svg path {
    fill: #fff;
}
@media (max-width: 972px) {
  .hhs-rich-text-in {
    text-align: center;
  }
  .c-footerTopCta__logoWrap {
    width: 100%;
    margin: 0 auto 20px;
  }
  .c-footerTopCta__telDesc {
    line-height: 260%;
}
  .c-footerTopCta__telWrap {
    margin-bottom: 20px;
}
  .c-footerTopCta__btnsWrap {
    justify-content: center;
  }
  .c-footerTopCta__telWrap {
    display: block;
  }
}

/*****フッター*****/
.foot-nav-title, .hhs-foot-rss h5, .hhs-foot-nav-col h5 {
  color: #fff;
  margin-bottom: 0px;
}
.hhs-foot-nav-col .hs-menu-wrapper.hs-menu-flow-horizontal>ul li a {
    max-width: none;
    padding: 0;
    white-space: normal;
}
.hhs-foot-nav-col .hs-menu-wrapper.hs-menu-flow-horizontal>ul li.hs-menu-depth-1 {
    float: none;
    margin-bottom: 7px;
}
.hhs-foot-nav-col .hs-menu-wrapper.hs-menu-flow-horizontal>ul li.hs-item-has-children ul.hs-menu-children-wrapper
 {
    margin: -3px 0 25px 10px;
}
.hhs-foot-nav-col .hs-menu-wrapper.hs-menu-flow-horizontal>ul {
    display: block;
}
h5.c-footer__linkItem--link {
    position: relative;
    display:block;
    min-height: 20px;
    font-size: 15px;
    font-weight: 500;
    line-height: 120%;
    letter-spacing: .04em;
    transition: all .3s ease;
    padding-left: 2px;
}
a > h5.c-footer__linkItem--link:hover {
    color: var(--sub-color);
}
a > .c-footer__linkItem--childItem:hover {
    color: var(--sub-color);
}
a > .c-footer__linkItem--link:hover:before {
    color: var(--sub-color);
}
a > div.btmLink:hover {
    color: var(--sub-color);
}
.c-footer__linkItem--link::before {/* フッターのアローアイコン */
  content: "\f138";
  font-family: "Font Awesome 6 Free";
  font-weight: 900; /* Solidスタイルは900 */
  display: inline-block;
  margin-right: 5px;
  font-size: 15px;
  color:var(--icon-color);
  transition: all .3s ease;
}
.c-footer__linkItem--childItem {
    position: relative;
    padding-left: 8px;
    font-size: 13px;
    font-weight: 400;
    line-height: 180%;
    color: var(--textfooterlink-color);
    letter-spacing: .04em;
    transition: all .3s ease;
}
.c-footer__linkItem--childItem:before {
    position: absolute;
    top: 0;
    left: 0;
    content: "-";
}
.hhs-foot-copyright,.btmLink {
  font-size: 13px;
  color: var(--textfooterlink-color);
  transition: all .3s ease;
}
@media (max-width: 922px) {
      #hs_cos_wrapper_global_footer .hhs-footer-mod {
        padding: 25px 60px;
    }
    .hhs-foot-nav-col, .hhs-foot-rss {
         margin-bottom: 0px;
    }
}
@media (max-width: 767px) {
  .c-footer__linkItem--childItem {
    line-height: 160%;
    padding-left:0px;
  }
  .hhs-foot-rss {
    margin-top: 0px;
  }
  .hhs-foot-nav-col {
    border-bottom: 1px solid var(--textfooterlink-color);
    margin-bottom: 16px;
  }
  .hhs-foot-nav-col .hs-menu-wrapper.hs-menu-flow-horizontal>ul li.hs-item-has-children ul.hs-menu-children-wrapper li a {
    padding-left: 0;
    padding-right: 0;
  }
  .hhs-foot-nav-col .hs-menu-wrapper.hs-menu-flow-horizontal>ul li a {
    text-align:center;
    padding: 5px 0;
  }
  .hhs-foot-nav-col .hs-menu-wrapper.hs-menu-flow-horizontal>ul li.hs-menu-depth-1 {
    margin-bottom: 10px;
    text-align:center;
  }
  .hhs-foot-nav-col .hs-menu-wrapper.hs-menu-flow-horizontal>ul li.hs-item-has-children ul.hs-menu-children-wrapper{
    margin: 0px;
  }
  .hhs-foot-nav-col .hs-menu-wrapper.hs-menu-flow-horizontal>ul li.hs-item-has-children ul.hs-menu-children-wrapper li a {
    padding: 0;
  }
  .c-footer__linkItem--childItem:before {
    content: none;
  }
  .hhs-foot-break-line {
    border-bottom: none;
    display: none;
    margin-bottom: 0px;
    padding: 0px 0 0;
    width: 0;
  }
}
@media (max-width: 575px) {
    .hhs-foot-base-nav .hs-menu-wrapper ul, .hhs-foot-copyright, .hhs-foot-logo {
        text-align: left;
    }
}
/*ページトップへ*/
#return-to-top {
    background: rgba(68, 68, 68, 0.7);
    right: 20px;
    left: auto;
}


/* ------------------------------------------- */
/* テーブル
/* ------------------------------------------- */
/****** 共通テーブル ******/
.common-table-container {/* 共通設定と最大幅 (1200px) */
    max-width: 1200px;
    margin: 0 auto;
    width: 100%;
    overflow-x: hidden; 
}
.common-table-container p{
  display: flex;
  margin-bottom:0px;
  font-size:13px;
  color:var(--textgray-color);
  padding-left: 1em;
}
.common-table-container p:before {
  content: "※";
  flex-shrink: 0;
  white-space: nowrap
  color:var(--textgray-color);
  margin-right: 0.5em;  
}
.common-table {
  width: 100%;
  border-collapse: collapse; 
  border-spacing: 0;
  border-radius: 0 10px 0 0;
  margin-bottom: 5px;
}
.common-table th,
.common-table td {/* th, td 共通スタイル */
  padding: 10px 18px;
  height: 50px; 
  box-sizing: border-box; 
  vertical-align: middle; 
  white-space: normal;
  word-break: break-word;
  background-color:#fff;
  font-weight: 400;
  font-size: 15px;
}
.common-table thead th span,
.common-table tbody td span{
  display:block;
  font-size:12px;
  line-height: 130%;
}
.common-table th {
  border:none;
  border-right: solid 1px var(--title-subline);
}
.common-table th:last-child {
  border-right:none;
  border-radius: 0 7px 0 0;
}
.common-table td {
  border-right: solid 1px var(--title-subline);
  border-bottom: solid 1px var(--title-subline);
}
.common-table td:first-child {
  border-left: solid 1px var(--title-subline);
}
.common-table thead th {/* 2行目以降のスタイル (変更なし) */
    background-color: var(--main-color);
    color: white; 
    text-align: center;
}

@media (max-width: 958px) {
  .common-table-container {
    overflow-x: auto;
  }
  .common-table {
    width: 958px;
  }
}

/****** 概要ページ等のテーブル内 ******/
.common-table a{
  color:var(--card-bg01-color);
  text-decoration:underline;
  font-weight:500;
}
.common-table a:hover {
  color:var(--card-bg02-color);
  text-decoration:underline;
  font-weight:500;
}

/****** 料金テーブル（5列）　******/
.common-table thead .Charge5TbTh-col-1 { width: 10.5%; } 
.common-table thead .Charge5TbTh-col-2 { width: 17.5%; } 
.common-table thead .Charge5TbTh-col-3 { } 
.common-table thead .Charge5TbTh-col-4 { width: 17.75%; } 
.common-table thead .Charge5TbTh-col-5 { } /* 料金が2列分になるので指定不要 */

.common-table tbody .Charge5TbTd-col-1 { text-align: center; }/* 区分 */
.common-table tbody .Charge5TbTd-col-2 { text-align: left; }/* 項目 */
.common-table tbody .Charge5TbTd-col-3 { text-align: left; font-size:14px; }/* 内容 */
.common-table tbody .Charge5TbTd-col-4 { min-width:102px; text-align: right; padding-right:5px; font-size:16px; border-right:none; }/* 料金 */
.common-table tbody .Charge5TbTd-col-5 { width: 6.25%; min-width:60px; text-align: left; padding-left:5px; font-size:14px; color:var(--textgray-color);}/* 単位 */

/****** 料金テーブル（6列）　******/
.common-table thead .Charge6TbTh-col-1 { width: 17.5%; } 
.common-table thead .Charge6TbTh-col-2 { width: 10.5%; } 
.common-table thead .Charge6TbTh-col-3 { } 
.common-table thead .Charge6TbTh-col-4 { } 
.common-table thead .Charge6TbTh-col-5 { width: 17.75%; min-width:163px;} 
.common-table thead .Charge6TbTh-col-6 { } /* 料金が2列分になるので指定不要 */

.common-table tbody .Charge6TbTd-col-1 { text-align: left; }/* 項目 */
.common-table tbody .Charge6TbTd-col-2 { text-align: center;}/* セット */
.common-table tbody .Charge6TbTd-col-3 { text-align: left; font-size:14px; }/* 内容 */
.common-table tbody .Charge6TbTd-col-4 { text-align: left; font-size:14px; }/* 催事 */
.common-table tbody .Charge6TbTd-col-5 { min-width:102px; text-align: right; padding-right:5px; font-size:16px; border-right:none; }/* 料金 */
.common-table tbody .Charge6TbTd-col-6 { width: 6.25%; min-width:60px; text-align: left; padding-left:5px; font-size:14px; color:var(--textgray-color);}/* 単位 */

/****** レイアウトテーブル（9列）　******/
.common-table thead .LayoutTbTh-col-1 { width: 14%; } 
.common-table thead .LayoutTbTh-col-2 { width: 9%; } 
.common-table thead .LayoutTbTh-col-3 { width: 9%; } 
.common-table thead .LayoutTbTh-col-4 { } 
.common-table thead .LayoutTbTh-col-5 { } 
.common-table thead .LayoutTbTh-col-6 { } 
.common-table thead .LayoutTbTh-col-7 { } 
.common-table thead .LayoutTbTh-col-8 { } 
.common-table thead .LayoutTbTh-col-9 { } 

.common-table thead tr.layoutTbTr th:nth-child(n+4){
  background-color:var(--card-bg01-color);
}
.common-table tbody .layoutTbTr td { height:75px; font-size:16px; }

.common-table tbody .LayoutTbTd-col-1,
.common-table tbody .LayoutTbTd-col-2,
.common-table tbody .LayoutTbTd-col-3,
.common-table tbody .LayoutTbTd-col-4,
.common-table tbody .LayoutTbTd-col-5,
.common-table tbody .LayoutTbTd-col-6,
.common-table tbody .LayoutTbTd-col-7,
.common-table tbody .LayoutTbTd-col-8,
.common-table tbody .LayoutTbTd-col-9 { text-align: center; }

.common-table tbody .LayoutTbTd-col-1 { font-size:17px; }

/****** 概要用テーブル（3列）　******/
.common-table thead .OvTbTh-col-1 { width: 20%; } 
.common-table thead .OvTbTh-col-2 { width: 15%; } 
.common-table thead .OvTbTh-col-3 { } 

.common-table tbody .OvTbTd-col-1 { text-align: center; }
.common-table tbody .OvTbTd-col-2,
.common-table tbody .OvTbTd-col-3 { text-align: left; }

/****** カンファレンス備品・機材ページのテーブル（5列） ******/
.common-table thead .EqConTbTh-col-1 { width: 11.5%; } 
.common-table thead .EqConTbTh-col-2 { width: 27.5%; } 
.common-table thead .EqConTbTh-col-3 {  } 
.common-table thead .EqConTbTh-col-4 { width: 12.5%; } 
.common-table thead .EqConTbTh-col-5 { width: 12.5%; } 

.common-table tbody .EqConTbTd-col-1,
.common-table tbody .EqConTbTd-col-4,
.common-table tbody .EqConTbTd-col-5{ text-align: center; }
.common-table tbody .EqConTbTd-col-2,
.common-table tbody .EqConTbTd-col-3 { text-align: left; }

.common-table tbody .EqConTbTd-col-3{ font-size: 14px; }
.common-table tbody .EqConTbTd-col-5{ font-size: 16px; }

/****** 備品・機材ページのテーブル（（3列）　******/
.common-table thead .EqOvTbTh-col-1 { width: 20%; } 
.common-table thead .EqOvTbTh-col-2 { width: 15%; } 
.common-table thead .EqOvTbTh-col-3 { } 

.common-table tbody .EqOvTbTd-col-1,
.common-table tbody .EqOvTbTd-col-2,
.common-table tbody .EqOvTbTd-col-3 { text-align: left; }

.common-table tbody .EqOvTbTd-col-1,
.common-table tbody .EqOvTbTd-col-2 { font-size: 15px; }
.common-table tbody .EqOvTbTd-col-3 { font-size: 13px; }

/****** ホール備品・機材ページのテーブル（5列） ******/
.common-table thead .EqHallTbTh-col-1 { width: 18.3%; } 
.common-table thead .EqHallTbTh-col-2 { width: 15%; } 
.common-table thead .EqHallTbTh-col-3 { width: 18.3%; } 
.common-table thead .EqHallTbTh-col-4 { } 
.common-table thead .EqHallTbTh-col-5 { width: 8%; } 

.common-table tbody .EqHallTbTd-col-1,
.common-table tbody .EqHallTbTd-col-2,
.common-table tbody .EqHallTbTd-col-3,
.common-table tbody .EqHallTbTd-col-4 { text-align: left; }
.common-table tbody .EqHallTbTd-col-5 { text-align: center; }

.common-table td.EqHallTbTd-col-1,
.common-table td.EqHallTbTd-col-2,
.common-table td.EqHallTbTd-col-3,
.common-table td.EqHallTbTd-col-5 { font-size: 15px; }
.common-table td.EqHallTbTd-col-4 { font-size: 13px; }

.Tb-BihinList .common-table td:first-child {
  padding: 2px ;
}
.Tb-BihinList .common-table img {
  border-radius: 0 0 0 0 !important;  
  width: 100%;
  aspect-ratio: auto;
  /*object-fit: cover;
  aspect-ratio: 4 / 3;*/
}

/****** 横スクロール時の案内表示 ******/
div.scroll-notice {
  display: none;
  font-size: 14px;
  color: var(--textgray-color);
  padding: 4px 8px;
}
div.scroll-notice > div {
  display: none;
  font-size: 13px;
}
div.scroll-notice::before {
  content: "\f25a"; 
  font-family: "Font Awesome 6 Free"; 
  font-weight: 500;
  margin-right: 5px;
  color: var(--sub-color);
  font-size: 20px;
}
@media screen and (max-width: 958px) {/* 画面幅が958px以下のとき （基本レイアウト文字幅合わせ）*/
  div.scroll-notice {
    display: block;
  }
}
@media screen and (max-width: 958px) and (hover: hover) and (pointer: fine){
  div.scroll-notice > div {
    display: inline-block;
  }
}
/* =========================================== */
/* ページ内アンカーリンク */
/* =========================================== */
.s-fv__ankerLinkListInner{
  width: 100%;
  background-color: var(--card-bg01-color) !important;
}
.s-fv__ankerLinkListWrap {
}
.s-fv__ankerLinkList {
  max-width: 1400px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 50px;
}
li.s-fv__ankerLinkItem{
  font-weight:400px;
  color:#fff;
  margin-bottom:0;
}
.s-fv__ankerLinkItem--inner {
  position: relative;
  display: block;
  min-height: 20px;
  padding-left: 22px;
  font-size: 14px;
  font-weight: 500;
  line-height: 100%;
  letter-spacing: .04em;
  transition: all .3s ease;
}
.s-fv__ankerLinkItem--inner:before {
  position: absolute;
  top: 2px; 
  left: 0;
  width: 20px;
  height: 20px;
  content: "\f13a";
  font-family: "Font Awesome 6 Free";
  font-weight: 900; /* Solidスタイルは900 */
  display: inline-block;
  margin-right: 5px;
  font-size: 15px;
  color: var(--icon-color);
  transition: all .3s ease;
}
li.s-fv__ankerLinkItem:hover .s-fv__ankerLinkItem--inner:before{
  top: 4px;
  color: var(--sub-color);
}
@media (max-width: 767px) {
  li.s-fv__ankerLinkItem{
    width: 110px;
  }
}

/* =========================================== */
/* 会場概要ページ関連 */
/* =========================================== */
/*****トップギャラリ―横の概要部分******/
ul.s-spaceOverview__dataList {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  margin-top: 45px;
}
li.s-spaceOverview__dataItem {
  display: grid;
  grid-template-columns: 50px 1fr;
  gap: 30px;
  padding: 19px 0 21px;
  border-top: 1px solid var(--title-subline);
  margin-bottom:0;
}
.s-spaceOverview__dataItem--head {
    position: relative;
    padding-left: 16px;
    font-size: 16px;
    font-weight: 700;
    line-height: 100%;
    letter-spacing: .04em;
}
.s-spaceOverview__dataItem--head:before {
    position: absolute;
    top: 6px;
    left: 0;
    width: 6px;
    height: 6px;
    content: "";
    background-color: var(--sub-color);
}
.s-spaceOverview__dataItem--data {
    font-size: 14px;
    font-weight: 500;
    line-height: 120%;
    letter-spacing: .04em;
}
.s-spaceOverview__dataItem:last-child {
    border-bottom: 1px solid var(--title-subline);
}

/* =========================================== */
/* Flexi Tab (レイアウト例・概算料金タブ） */
/* =========================================== */
.tab-feature-con,
.tab-feature-con .row {
  background-color: var(--bg-color) !important;
}
.c-tab{
  background-color: var(--card-bg02-color) !important;
  min-height:77px;
}
.c-tab:hover,
.c-tab.active{
  background-color: var(--main-color) !important;
}
ul.c-tabs > li:last-child{/*タブの一番右の右上角を丸く*/
  border-radius: 0 10px 0 0 !important;
}
li.c-tab {/*タブの間隔*/
    margin: 0 1px;
}
.tab-layout img{
  border-radius: 0 15px 0 0 !important;
  object-fit: cover;
  aspect-ratio: 48 / 30;
}

/* =========================================== */
/* 概算料金 プライステーブル*/
/* =========================================== */
.hhs-price-compare-mod table th.hide-cell {/*背景にbg-colorを使っている前提、左上の欠けた部分を背景とあわせるため*/
  background-color: var(--bg-color) !important;
  border-right: 1px solid var(--title-subline) !important
}
.hhs-price-compare-mod table td,
.hhs-price-compare-mod table th {
    border: 1px solid var(--title-subline) !important;
}
.hhs-price-compare-mod table th {
  border:none !important;
  border-right: 1px solid var(--title-subline) !important;
  border-bottom: 4px solid var(--sub-color) !important;
  background-color: var(--main-color) !important;
  color:#fff;
}
.hhs-price-compare-mod table th:last-child {
  border-right: none !important;
  border-radius: 0 10px 0 0;
}
.hhs-price-compare-mod table td{
    border: 1px solid var(--title-subline) !important;
}
.hhs-price-compare-mod table td span.txt-l {
  color:  var(--sub-color) !important; 
  font-weight:500 !important;
}

.hhs-price-compare-mod table td.sep{
  background-color: #eee !important;
  font-weight:400 !important;
}
.hhs-price-compare-mod table td span.post-text {
    color: var(--textgray-color) !important;
}
.tooltip-wrapper .tooltip {
    border-color: var(--sub-color) !important;
    color: var(--textgray-color) !important;
}
.tooltip-wrapper .tooltip:after {
    border-top: solid 10px var(--sub-color) !important;
    color: var(--sub-color) !important;
}
.hhs-price-compare-mod button {
    border-right: 0;
    border-top: 0;
    font-size: 14px;
    font-weight: 700;
    height: 60px;
    padding: 10px;
    width: 100%;
}
.hhs-price-compare-mod button {
  border: 1px solid var(--title-subline) !important;
  background-color: var(--card-bg02-color) !important;
  font-weight: 600!important;
  color:#fff !important;
}
.hhs-price-compare-mod li {
  margin-bottom: 0px !important;
}
.hhs-price-compare-mod li {
  border:none !important;
  border-bottom: 4px var(--title-subline) !important;
}
.hhs-price-compare-mod li.active {
  border-bottom: 4px solid var(--sub-color) !important;
}
.hhs-price-compare-mod li.active button {
    background-color: var(--main-color) !important;
}
/* =========================================== */
/* 設備ページ*/
/* =========================================== */
.eq-TopLine {/*タブ下のライン*/
    border-top: 3px solid var(--main-color);
}
/* =========================================== */
/* アクセス　*/
/* =========================================== */
.s-access__list {
    display: flex;
    gap: 40px;
}
.c-col-inner:has(.s-access__item){
  background: #fff;
}
.s-access__item {
  width: 50%;
  padding-bottom: 24px;
  width: 100%;
}
.s-access__header {
    position: relative;
    display: flex;
    align-items: center;
    padding: 15px;
}
.s-access__header:after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    content: "";
    background: linear-gradient(to right, var(--sub-color) 0, var(--sub-color) 60px, var(--title-subline) 60px, var(--title-subline));/*ヘッダー下のライン*/
}
h4.s-access__title {
  font-size: 24px;
  font-weight: 500;
  margin-left: 35px;
}
.s-access__title.s-access__itemTrain:before {/*電車のアイコン*/
    position: absolute;
    top: 17px;
    left: 11px;
    width: 35px;
    height: 35px;
    content: "\f239";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    display: inline-block;
    font-size: 30px;
    color: var(--sub-color);
    transition: all .3s ease;
}
.s-access__title.s-access__itemAirplane:before {/*飛行機ののアイコン*/
    position: absolute;
    top: 17px;
    left: 11px;
    width: 35px;
    height: 35px;
    content: "\f072";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    display: inline-block;
    font-size: 28px;
    color: var(--sub-color);
    transition: all .3s ease;
}
.s-access__title.s-access__itemCar:before {/*車のアイコン*/
    position: absolute;
    top: 17px;
    left: 11px;
    width: 35px;
    height: 35px;
    content: "\f1b9";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    display: inline-block;
    font-size: 30px;
    color: var(--sub-color);
    transition: all .3s ease;
}
.s-access__title.s-access__itemParking:before {/*駐車場のアイコン*/
    position: absolute;
    top: 17px;
    left: 11px;
    width: 35px;
    height: 35px;
    content: "\f540";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    display: inline-block;
    font-size: 30px;
    color: var(--sub-color);
    transition: all .3s ease;
}
.s-access__body {
    padding: 0 25px;
    margin-top: 25px;
}
h5.s-access__summary {
  font-size: 18px;
  font-weight: 500;
}
ul.s-access__detail {
  margin-top: 6px;
  margin-bottom: 22px;
}
ul.s-access__detail li {
  font-size: 14px;
  line-height: 1em;
  margin-bottom: 11px;
  color: var(--textgray-color);
}
@media (max-width: 767px) {
    .s-access__item {
        width: 100%;
    }
    .s-access__itemTrain .s-access__icon {
        width: 24px;
        height: 30px;
        margin-right: 20px;
    }
    .s-access__detail {
        font-size: 13px;
        line-height: 1.5;
    }
}
.s-access_GoogleMap .clean-base .c-1 .c-col-inner{
  height:600px !important;
  max-height:600px !important;
}

.hhs-img-gallery-card img {
  border-radius: 0 10px 0 0 !important;
  object-fit: cover;
  aspect-ratio: 48 / 30;
}

.hhs-img-gallery-card img {
  border-radius: 0 10px 0 0 !important;
  object-fit: cover;
  aspect-ratio: 48 / 30;
}
/* =========================================== */
/* アンカーリンクボタンリスト（よくある質問・ダウンロード）　*/
/* =========================================== */
.s-btn_ankerList .c-col-inner {
  display: flex;
  flex-wrap: wrap; 
  gap: 30px;
  justify-content: flex-start; /* 左寄せ */
}
.s-btn_ankerList .c-dblock{
  flex: 1 1 calc(33% - 20px); /* 3列レイアウト */
  min-width: 200px;
  max-width: calc(33% - 20px);
  display: flex !important; /* 子要素の高さを揃えるため*/
  flex-direction: column; /* 垂直方向に配置*/
}
.s-btn_ankerList .c-dblock > .hs_cos_wrapper {
  flex-grow: 1; /* 親(c-dblock)の高さに合わせる */
}
.s-btn_ankerList--inner {/* 枠全体にリンク貼るために必要 */
  border: 1px solid var(--sub-color);
  border-radius: 0px 8px 0px 0px;
  background: #fff;
  padding: 0;
  display: flex;
  height:100%;
  padding: 16px 10px 10px 30px;
}
.s-btn_ankerList h2{
  position: relative;
  font-size: 18px;
  font-weight: 500;
  line-height: 140%;
  color: var(--sub-color);
  letter-spacing: .04em;
  transition: all .3s ease;
  padding: 0 10px 0 30px; /* ← アイコン分のスペースを確保 */
  display: flex;
  align-items: center;
}
.s-btn_ankerList h2:before {
    position: absolute;
    top: 50%;
    left: 0%;
    transform: translateY(-52%);
    width: 20px;
    height: 20px;
    content: "\f13a";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    display: inline-block;
    font-size: 20px;
    color: var(--sub-color);
    transition: all .3s ease 0.1s;
}
.s-btn_ankerList--inner:hover {
  background-color: var(--sub-color);
}
.s-btn_ankerList--inner:hover h2{
  color: #fff;
}
.s-btn_ankerList--inner:hover h2:before {
  top: 60%;
  transform: translateY(-52%);
  color: #fff;
}
@media (max-width: 767px) {
  .s-btn_ankerList .c-col-inner {
    gap: 10px;
    justify-content: flex-start; /* 左寄せ */
  }
  .s-btn_ankerList .c-dblock{
    flex: 1 1 calc(50% - 20px); /* 2列レイアウト */
    min-width: 150px;
    max-width: calc(50% - 20px);
  }
  .s-btn_ankerList--inner {
  padding: 12px 10px 6px;
  }
  .s-btn_ankerList h2{
    font-size: 14px;
    padding: 0 10px 0 24px;
  }
  .s-btn_ankerList h2:before {
    font-size: 16px;
    transform: translateY(-45%);
  }
}
/* =========================================== */
/* 資料ダウンロード　*/
/* =========================================== */
.s-dl_flexbox .c-col-inner {
  display: flex;
  flex-wrap: wrap; /* 折り返し対応 */
  gap: 20px; /* カード間の余白 */
  justify-content: flex-start; /* 左寄せ */
}
.s-dl_flexbox .c-dblock{
  flex: 1 1 calc(25% - 20px); /* 4列レイアウト */
  min-width: 200px; /* 最小幅 */
  max-width: calc(25% - 20px);
  border: 1px solid var(--title-subline);
  border-radius: 0px 8px 0px 0px;
  background: #fff;
  display: flex !important;
  flex-direction: column;
  justify-content: space-between;
  min-height: 220px;
  padding: 19px 24px 24px;
}
.s-dl_flexbox .c-dblock > div[data-hs-cos-type="inline_rich_text"] {
    display: flex;
    flex-direction: column;
    flex-grow: 1; 
}
.s-dl_textbox {
    display: flex;              
    flex-direction: column;
    justify-content: space-between;
    flex-grow: 1;
}
.s-dl_flexbox h4 {
    position: relative;
    margin-bottom: 0;
    font-size: 20px;
    font-weight: 500;
    color: var(--sub-color);
    letter-spacing: .04em;
    padding-left: 21px;
  line-height: 1.2; /* 2行の高さ計算のため、明示的に設定することを推奨 */
    min-height: calc(20px * 1.2 * 2 + 7px);/* 2行分の計算 */
}
.s-dl_flexbox h4.i-pdf:before {
    position: absolute;
    top: 11px;
    left: 0%;
    transform: translateY(-52%);
    width: 20px;
    height: 20px;
    content: "\f1c1";
    font-family: "Font Awesome 6 Free";
    font-weight: 500;
    display: inline-block;
    font-size: 20px;
    color: var(--sub-color);
    transition: all .3s ease;
}
.s-dl_flexbox h4.i-img:before {
    position: absolute;
    top: 11px;
    left: 0%;
    transform: translateY(-52%);
    width: 20px;
    height: 20px;
    content: "\f1c5";
    font-family: "Font Awesome 6 Free";
    font-weight: 500;
    display: inline-block;
    font-size: 20px;
    color: var(--sub-color);
    transition: all .3s ease;
}
.s-dl_flexbox h4.i-zip:before {
    position: absolute;
    top: 11px;
    left: 0%;
    transform: translateY(-52%);
    width: 20px;
    height: 20px;
    content: "\f1c6";
    font-family: "Font Awesome 6 Free";
    font-weight: 500;
    display: inline-block;
    font-size: 20px;
    color: var(--sub-color);
    transition: all .3s ease;
}
.s-dl_flexbox h4.i-file:before {
    position: absolute;
    top: 11px;
    left: 0%;
    transform: translateY(-52%);
    width: 20px;
    height: 20px;
    content: "\f15c";
    font-family: "Font Awesome 6 Free";
    font-weight: 500;
    display: inline-block;
    font-size: 20px;
    color: var(--sub-color);
    transition: all .3s ease;
}
.s-dl_flexbox p {
  margin-bottom: auto;
  padding-bottom:18px;
  font-size: 14px;
  font-weight: 400;
  line-height: 150%;
  letter-spacing: .02em;
  white-space: pre-line;
  color: var(--textgray-color);
}
.c-dlCard__btn {
    display: flex;
    gap: 8px;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 40px;
    color: var(--sub-color);
    border: 1px solid var(--sub-color);
    border-radius: 40px;
    transition: all .3s ease;
    margin-top: auto;
}
.c-dlCard__btn span {
  display: inline-block;
  position: relative;
  font-size: 14px;
  font-weight: 500;
  line-height: 100%;
  text-align: center;
  margin-left: 20px;
}
.c-dlCard__btn span:before {
  position: absolute;
  top: 65%;
  left: -30%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  content: "\f019";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  display: inline-block;
  font-size: 14px;
  color: var(--sub-color);
  transition: all .3s ease;
}
.c-dlCard__btn:hover {
  background-color: var(--sub-color);
  color: #fff;
}
.c-dlCard__btn:hover span:before {
  top: 80%;
  color: #fff;;
}
@media (min-width: 576px) and (max-width: 767px) {
  .s-dl_flexbox .c-dblock{
  flex: 1 1 calc(50% - 20px); /* 4列レイアウト */
  min-width: 200px; /* 最小幅 */
  max-width: calc(50% - 20px);
}
}
@media (max-width: 575px) {
  .s-dl_flexbox .c-col-inner {
    gap: 10px; /* カード間の余白 */
  }
  .s-dl_flexbox .c-dblock{
    flex: 1 1 calc(100% - 20px); /* 4列レイアウト */
    min-height: 100px;
    max-width: calc(100% - 20px);
  }
  .s-dl_flexbox .c-dblock > div[data-hs-cos-type="inline_rich_text"] {
    flex-grow: 0; 
  }
  .s-dl_flexbox h4 {
    font-size: 18px;
    min-height: 30px;
  }
  .s-dl_flexbox p {
  padding-bottom:12px;
  }
}
/*
/* =========================================== */
/* パンくず　*/
/* =========================================== */
.row:has(.hs-breadcrumb-menu-wrapper) {
  margin-top: -220px !important;
}
.hhs-breadcrumb-mod {
    background-color: none !important;
}
.crumb-icon svg {
    height: 12px !important;
    margin-right: 6px !important;
}
.hs-breadcrumb-label{
  font-size:12px;
  color: #fff;
}
li.hs-breadcrumb-menu-item.first-crumb {
    padding: 3px 0px 3px 0px;
}
li.hs-breadcrumb-menu-item {
    padding: 3px 0px 3px 6px;
}
.hs-breadcrumb-menu-divider:before {
    content: '›';
    padding-left: 6px;
    color: #fff;
}
/*
/* =========================================== */
/* 規約・個人情報保護方針　*/
/* =========================================== */
.s-terms__wysiwyg  h2.u-h2Large  {
    padding: 0 0 0 38px;
    font-size: 42px;
    font-weight: 500;
    line-height: 150%;
    letter-spacing: .04em;
    border-left: 4px solid var(--sub-color);
}
.s-terms__wysiwyg ol {
    counter-reset: ol-counter;
}
.s-terms__wysiwyg ol>li>ul {
  counter-reset: ul-counter;
  margin-top: 10px;
  margin-bottom: 20px;
}
.s-terms__wysiwyg ol>li {
    position: relative;
    padding-left: 34px;
    font-size: 16px;
    font-weight: 400;
    font-feature-settings: "liga" off, "clig" off;
    line-height: 180%;
    letter-spacing: .04em;
    counter-increment: ol-counter;
}
.s-terms__wysiwyg ol>li:before {
    position: absolute;
    top: 2px;
    left: 0;
    font-family: Roboto, sans-serif;
    font-size: 18px;
    font-weight: 600;
    line-height: 150%;
    color: var(--sub-color);
    letter-spacing: .05em;
    content: counter(ol-counter, decimal-leading-zero);
}
.s-terms__wysiwyg ol>li>ul>li {
  position: relative;
  padding-left: 36px;
  font-size: 15px;
  font-weight: 400;
  margin-bottom: 2px;
  font-feature-settings: "liga" off, "clig" off;
  line-height: 180%;
  letter-spacing: .04em;
  counter-increment: ul-counter;
}
.s-terms__wysiwyg ol>li>ul>li:before {
    position: absolute;
    top: 4px;
    left: 0;
    font-family: Roboto, sans-serif;
    font-size: 15px;
    font-weight: 500;
    line-height: 150%;
    letter-spacing: .05em;
    content: "(" counter(ul-counter, decimal) ")";
}
/*
/* =========================================== */
/* 完了ページ　*/
/* =========================================== */
.s-result__titleArea {
    display: flex;
    flex-direction: column;
    gap: 20px;
    align-items: center;
    margin-bottom: 40px;
}
.s-result__titleArea--en {
    font-family: Lato, sans-serif;
    font-size: 68px;
    font-weight: 700;
    line-height: 100%;
    color: var(--sub-color);
    text-align: center;
    letter-spacing: .06em;
}
.s-result__titleArea--ja {
    font-size: 32px;
    font-weight: 500;
    line-height: 100%;
    text-align: center;
    letter-spacing: .04em;
}
.s-result__descArea--text {
    font-size: 18px;
    font-weight: 400;
    font-feature-settings: "liga" off, "clig" off;
    line-height: 220%;
    text-align: center;
    letter-spacing: .04em;
  margin-bottom: 50px;
}
@media (max-width: 767px) {
    .s-result__titleArea--en {
        font-size: 40px;
        letter-spacing: unset;
    }
  .s-result__titleArea--ja {
        font-size: 24px;
        line-height: 160%;
        letter-spacing: unset;
    }
      .s-result__descArea--text {
        font-size: 15px;
        line-height: 160%;
    }
}
/*
/* =========================================== */
/* イベントスケジュール　*/
/* =========================================== */
.s-eventSchedule .main-image {
  aspect-ratio: auto !important;
  cursor: default !important;
}
.s-eventSchedule .main-image img{
    max-width: 100% !important;
    max-height: 100% !important;
    height: auto !important;
    width: auto !important;
    cursor: default !important;
}
.s-eventSchedule .main-product-module {
    border-bottom: 1px solid var(--title-subline);
}
.s-eventSchedule .product-name {
    margin-bottom: 12px;
}
.s-eventSchedule .price-row {
    margin-bottom: 12px;
}
.s-eventSchedule .pre-text>span{
  font-size: 19px !important;
  display: inline-flex;
  line-height: 19px;
  color: var(--text-color) !important;
  font-weight: 700;
}
.s-eventSchedule .pre-text strong{
    display: inline-block;
    padding: 2px 4px;
    background-color: var(--main-color);
    color: #fff !important;
    margin-left: 5px;
    font-size: 12px;
    font-family: lato;
    font-weight: 900;
}
.s-eventSchedule .product-name>span{
    font-size: 30px !important;
    color: var(--text-color) !important;
}
.s-eventSchedule .price-text>span{
  font-size: 20px;
  color: var(--text-color) !important;
}
.s-eventSchedule p {
  margin: 0 !important;
}
.s-eventSchedule p strong {
  display: inline-block;
  font-size: 14px;
  margin-top: 8px !important;
    color: var(--text-color) !important;
    font-weight: 900;
}
.s-eventSchedule p>a {
  color: var(--main-color) !important;
  text-decoration: underline;
}
.s-eventSchedule p>a:hover {
  color: var(--textgray-color) !important;
}
@media (max-width: 767px) {
  .s-eventSchedule .pre-text{
    margin-top: 18px;
  }
}
/*
/* =========================================== */
/* ご利用までの流れ　*/
/* =========================================== */
.s-flow {
    display: flex;
    flex-direction: column;
    max-width: 1240px;
    margin: 0 auto;
}
.s-flow__phase {
    display: flex;
    gap: 40px;
    align-items: stretch;
    margin-top: 40px;
}
h2.s-flow__phase--label {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    padding: 16px 8px;
    font-size: 18px;
    font-weight: 500;
    color: var(--sub-color);
    letter-spacing: .1em;
    background: var(--bg-color);
    border: 1px solid var(--title-subline);
    border-radius: 8px;
    writing-mode: vertical-rl;
}
.s-flow__phase--steps {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 40px;
}
.c-flowItem {
    display: flex;
    gap: 40px;
    align-items: stretch;
}
.c-flowItem__content {
    position: relative;
    display: flex;
    flex: 1;
    gap: 20px;
    min-height: 100%;
}
.c-flowItem__stepNumber {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 70px;
    height: 70px;
    font-weight: 700;
    background: var(--sub-color);
    border-radius: 50%;
}
.c-flowItem__stepNumber--step {
  font-family: Roboto, sans-serif;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  margin: 0px;
  color: #fff;
}
.c-flowItem__stepNumber--number {
    font-family: Roboto, sans-serif;
    font-size: 32px;
    font-weight: 700;
    line-height: 1;
    margin: 0px;
  color: #fff;
}
.c-flowItem__textWrap {
    flex: 1;
}
.c-flowItem__title {
    position: relative;
    padding-bottom: 10px;
    margin-bottom: 16px;
    font-size: 24px;
    line-height: 1.5;
    color: var(--sub-color);
    letter-spacing: .04em;
    font-weight: 500;
}
.c-flowItem__title:after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    content: "";
    background: linear-gradient(to right, var(--sub-color) 0, var(--sub-color) 60px, var(--title-subline) 60px, var(--title-subline));
}
.c-flowItem__desc {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: .02em;
}
.c-flowItem__content:after{
    position: absolute;
    top: 0;
    left: 35px;
    z-index: -1;
    width: 1px;
    height: calc(100% + 80px);
    content: "";
    background-color: #9b6e0a;
}
@media (max-width: 767px) {
    .s-flow__phase {
        gap: 10px;
        margin-top: 30px;
    }
      .s-flow__phase--label {
        width: 30px;
        font-size: 16px;
    }
      .s-flow__phase--steps {
        gap: 30px;
    }
      .c-flowItem__content {
        gap: 10px;
    }
      .c-flowItem__stepNumber {
        width: 50px;
        height: 50px;
    }
      .c-flowItem__content:after {
        left: 25px;
        height: calc(100% + 30px);
    }
      .c-flowItem__stepNumber--step {
        font-size: 10px;
    }
      .c-flowItem__stepNumber--number {
        font-size: 20px;
    }
      .c-flowItem__title {
        font-size: 18px;
    }
}
/*---------------------------
MEMO
min923px--PCのみ
max922px--タブレット・モバイル以下
min768px
max767px
min576px--モバイル以外
max575px--モバイルのみ
hs-content-id-188958092049--act id

var(--main-color)
var(--sub-color)
var(--icon-color)
var(--text-color)
var(--textgray-color)
var(--textfooterlink-color)
var(--title-subline)
var(--bg-color)
var(--card-color)
var(--card-bg01-color)
var(--card-bg02-color)
-----------------------------*/