@charset "utf-8";
@import url("/css/hmenu.css");
/****************************************************************************
全施設共通
--------------------------------------------------------
   Last up date   : 2025.10.22
****************************************************************************/
body {
  background-color: #ffffff;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -webkit-overflow-scrolling: touch;
  color:#333;
  letter-spacing: 0.1em;
}

:root {
/* # =================================================================
   # 共通カラー
   # ================================================================= */
  --pink1: #F19CA6;
  --rosered: #db535e;
  --black: #000;
  --lightgray:  #e6e6e6;
  --darkgray:  #333333;
  --offwhite:  #f6f6f6;
  --white:  #ffffff;
  --lightblue: #0071bc26;  

/* # =================================================================
   # 見出しフォントサイズ
   # ================================================================= */
  --fs-h1: clamp(1.5rem, 0.975rem + 1.09vw, 2rem);/* w768=24px → w1500=32px */ 
  --fs-h2: clamp(1.375rem, 1.113rem + 0.55vw, 1.625rem);/* w768=22px → w1500=26px */ 
  --fs-h3: clamp(1.125rem, 0.863rem + 0.55vw, 1.375rem);/* w768=18px → w1500=22px */ 
  --fs-h4: clamp(1rem, 0.738rem + 0.55vw, 1.25rem);/* w768=16px → w1500=20px */
  --fs-h5: clamp(1rem, 0.869rem + 0.27vw, 1.125rem);/* w768=16px → w1500=18px */
  --fs-h6: 1rem;                                      /* 16px固定 */

/* # =================================================================
   # 文章フォントサイズ
   # ================================================================= */
  --fs-lead: clamp(1rem, 0.607rem + 0.82vw, 1.375rem); /* w768=16px → w1500=22px */
  --fs-body: clamp(0.875rem, 0.613rem + 0.55vw, 1.125rem); /* w768=14px → w1500=18px */
  --fs-note: clamp(0.875rem, 0.744rem + 0.27vw, 1rem); /* w768=14px → w1500=16px */
  --fs-title: clamp(1rem, 0.738rem + 0.55vw, 1.25rem); /* 16px → 20px */ 
  --fs-caption: clamp(0.75rem, 0.488rem + 0.55vw, 1rem);/* w768=12px → w1500=16px */ 
  --fv-fs-h2: clamp(1.5rem, 0.975rem + 1.09vw, 2rem);/* w768=24px → w1500=32px */ 
}

/*--------------------------------------------------------
　ヘッダー
--------------------------------------------------------*/
header {
  position: fixed !important;
}
@media screen and (max-width:1024px) { 
header {
  height: 60px !important;
}
}

.top-grobal-nav {
  position: fixed;
  top: 0; left: 0; width: 100%;
  z-index: 1000;
  height: clamp(5.625rem, 3.658rem + 4.1vw, 7.5rem); /* w1500-150px -> w768-90px */
  transition: .5s ease;
  background: #FFF;                 /* 透け防止 */
  letter-spacing: 0.05em;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.08);
}
.be-small {
	height: 60px !important;
}

.search-form {
  position: relative; /* アイコンの基準にする */
  width: 300px;       /* 好きな幅に */
}

.search-input {
  width: 100%;
  padding: 8px 36px 8px 12px; /* 右側にアイコン分の余白を確保 */
  border: 1px solid #ccc;
  border-radius: 4px;
  background-color: #fff;
}

.search-icon {
  position: absolute;
  right: 10px;         /* 入力欄の右側に配置 */
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  pointer-events: none; /* クリックをアイコンに奪われないようにする */
}

/* 左ナビ */
.header-nav{
  width: 100%;
/*  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;*/
  display: block;
}
.header-logo{
  transition: opacity 0.5s ease;
  display: inline-block;
	float:left;
}
@media screen and (max-width:1500px) {
.header-logo{
}
}
@media screen and (max-width:1024px) {
  .header-logo{
  	position: absolute;
  	z-index: 100000;
}
}


.header-logo:hover {
  opacity: 0.6;  
}
.be-small .header-logo{
}
@media screen and (max-width:1024px) {
  .be-small .header-logo{
  }
}
.header-logo img {
	width: 100%;
}
.header-nav-item{
  display: inline-block;
  vertical-align: text-bottom;
}
.be-small .header-nav-item{
  vertical-align: top;
  margin-top: 1em;
}

.header-shortcut{
  background-color: var(--base1);
  border-radius: 0 0 0 20px; 
  transition: .5s ease;
  float: right;
  width: 30%;
}

@media screen and (max-width:1024px) {
.header-shortcut{
  display: none; 
} 
}

.threeBlocks {
  width: 25% !important;
}

.be-small .header-shortcut {
	min-height: 60px;
	max-height: 60px;
}
.be-small .open {
	min-height: 115px;
	max-height: 115px;
	
}
.be-small .search-box {
	width: clamp(12.5rem, -0.357rem + 26.79vw, 33.125rem); /*2000px-530px -> 768px-200px;*/
}

@media screen and (max-width:1625px) {
  .be-small .open {
     min-height: 120px; max-height: 120px; }
  }

.global-nav {
  display: flex;          /* 横並び */
  margin: 0;
  padding: 0;
}
@media screen and (max-width:1024px) {
  .global-nav {
   display: none; 
}
}

/* マウスーオーバー時の処理 */
	ul.global-nav li:hover,
	ul.global-nav li.hover-active {
	color: var(--base1);
}


.global-nav__item {
	margin: clamp(1.875rem, 0.564rem + 2.73vw, 3.125rem) clamp(0.313rem, -0.278rem + 1.23vw, 0.875rem) 14px clamp(0.313rem, -0.278rem + 1.23vw, 0.875rem);
  /*top1500-50px -> top768-30px w1500-14px -> w768-5px*/
  transition: .5s ease;
}
.be-small .global-nav__item {
	margin: 0px 12px;
}


.global-nav__item a {
	font-size: var(--fs-body);
	font-weight: 700;
	padding: 0;
}
@media screen and (min-width: 1025px) and (max-width: 1400px) {
.global-nav__item a {
	font-size: clamp(0.813rem, 0.3rem + 0.8vw, 1rem);
}

}


/* 右ショートカット */
.shortcut-block{
  width: 90%;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
  min-height: clamp(8.75rem, 6.127rem + 5.46vw, 11.25rem); /*h1500-180px -> h768-140px*/
  font-size: clamp(0.625rem, 0.574rem + 0.25vw, 0.813rem); /*w1500-13px -> w320-10px*/
  font-weight: 700;
  color: #fff;
  transition: all .3s;
  position: relative;
}

@media screen and (min-width: 1025px) and (max-width: 1400px) {
.shortcut-block{
	font-size: clamp(0.5rem, 0.158rem + 0.53vw, 0.625rem);
}
}


.be-small .shortcut-block {
  min-height: 50px;
  width: 94%;
  z-index: 15;
}

/* 検索行 */
.search-block {
  width: 95%;
  margin: clamp(0.625rem, -0.686rem + 2.73vw, 0.875rem) auto 15px; /*top1500-30px -> top768-10px*/
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;           /* ←縦揃え */
  position: relative;
}
.be-small .search-block{
  width: 12%;
  margin: 17px 0 8px;
  border-right: 1px solid rgba(255,255,255,0.4); 
  padding-left: 2%;
}

.search-title{
  width: 15%;
}
.be-small .search-title{
  width: 100%;
}

/* 入力ボックス（フォーム） */
.search-box, 
.search-box-SP {
  width: 85%;
  background-color: #fff;
  position: relative;            /* ←アイコンボタンの絶対配置用 */
  display: flex;
  align-items: center;
  height: 40px;
  padding: 0 10px 0 0px;        /* ←右はボタン分の余白 */
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 6px;
  overflow: hidden;
}
/* アニメーションの設定 */
.be-small .search-box {
  /* 初期状態では非表示にする */
  visibility: hidden;
  opacity: 0;
  transform: translateY(-10px); 
  transition: opacity 0.5s ease, transform 0.5s ease, visibility 0.5s;
}
.be-small .search-box {
	position: absolute;
	height: 40px;
	bottom: -35px;
	left: 5px;
	transition: .5s ease;
}
.be-small .header-shortcut.open .search-box{ 
	display: block;
	height: 30px;
	bottom: -50px;
  /* 表示状態にする */
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
}





/* テキスト入力 */
.search-box input[type="text"], 
.search-box-SP input[type="text"] {
  width: 100%;
  height: 100%;
  border: none;
  outline: none;
  font-size: 15px;
  background: transparent;
  color: #333;
  padding: 0 10px;
}
/* 送信ボタン（右端の虫眼鏡） */
.search-btn, 
.search-btn-SP {
  position: absolute;
  right: 6px;
  top: 50%;
  transform: translateY(-50%);
  width: 32px;
  height: 32px;
  border: none;
  background: transparent;
  cursor: pointer;
  display: grid;
  place-items: center;
}
/* アイコンサイズは小さめに */
.search-box input[type="image"], 
.search-box-SP input[type="image"] {
  width: 18px;
  height: 18px;
  position: absolute;
  right: 13px;
  top: 0;
  bottom: 0;
  margin: auto;
}

/* ショートカット項目 */
.shortcut-item{
  display: flex;
  flex-direction: column;   /* ←縦積み */
  align-items: center;      /* 中央揃え */
  justify-content: center;
  gap: 6px;                 /* アイコンと文字の間隔 */
    flex: 1;  
    width: auto; 
  padding: 6px;
  text-align: center;
  margin-bottom: 20px;
  border-right: 1px solid rgba(255,255,255,0.4); /* ← 縦罫線 */
  transition: 0.5s ease;
}
.be-small .shortcut-item{
  width: 20px; 
  margin-bottom: 10px;
  margin-top: 18px;
  padding:2px
}

.shortcut-item:last-child {
  border-right: none;
}
.shortcut-item img{
  width: 32px;   /* アイコンサイズ */
  height: 32px;
}
.be-small .shortcut-item img{
  display: none;   /* アイコンサイズ */
}

.shortcut-item:hover{
  background: rgba(255,255,255,.12);
}


/* # =================================================================
   # メガメニュー
   # ================================================================= */
.top-grobal-nav {
	transition: background-color .3s;
	position: relative;
}
.top-grobal-nav:hover .megaMenu {
	height: auto;
}
.megaMenu {
	@media screen and (max-width:1024px) { display: none; } /* ブレイクポンドで消す */
	max-height: 0;
	opacity: 0;
	overflow: hidden;
	transition: max-height 0.5s ease, opacity 0.5s ease;
	background-color:rgba(235,235,235,.97);
	position: absolute;
	top: clamp(5.625rem, 3.658rem + 4.1vw, 7.5rem); /* w1500-150px -> w768-90px */
	left: 0;
	z-index: 10;
	width: 100%;
}
.megaMenu.min {
	left: auto;
	width: 380px;
    margin-left: -50px;
}

.be-small .megaMenu {
	top: 60px;
}
.megaMenu.show {
	max-height: 1000px; /* 表示時の最大高さ（必要に応じて調整） */
	opacity: 1;
}
.megaMenu ul {
	width: 80%;
	max-width: 1585px;
	margin: 0 auto;
	text-align: left;
	padding: 15px 0 0 0;
	display: flex;
	justify-content: space-between;
}
.megaMenu ul.blockW30 li {
	width: 31%;
}
.megaMenu ul li {
	display: block;
	margin: 0 10px 15px 0;
}
/* 3列用(基本） */
.megaMenu ul.blockW30 li {
	width: 31%;
}

.megaMenu ul.blockW30 li.wide {
	width: 62%;
}
.megaMenu ul.blockW30 li.wide .navcol {
	width: fit-content;
    display: inline-block;
    vertical-align: top;
}

/* 2列用(変形） */
.megaMenu2 ul.blockW30 li.dummy {
  visibility: hidden; /* 幅は残して内容だけ消す */
}


.megaMenu ul li {
	display: block;
	margin: 0 10px 25px 0;
}

/***** メガメニュー見出しの装飾 *****/
.megaMenu ul li h3 {
	background-color: var(--base1);
	color: #FFF;
	padding: 7px 0;
	width: 100%;
	display: block;
	text-align: center;
	border-radius: 5px;
	font-weight: normal;
	font-size: clamp(1rem, 0.738rem + 0.55vw, 1.15rem); /* w1500-20px -> w768-16px */
	margin: 15px 0;
}
.megaMenu ul li a {
	position: relative;
	display: block;
	padding: 5px 0px 5px clamp(1.25rem, 0.922rem + 0.68vw, 1.563rem);
	margin-top: clamp(0.188rem, -0.075rem + 0.55vw, 0.438rem);/* w1500-7px -> w768-3px */
	margin-bottom: clamp(0.188rem, -0.075rem + 0.55vw, 0.438rem);/* w1500-7px -> w768-3px */
	margin-left: clamp(0.188rem, -0.599rem + 1.64vw, 0.938rem);/* w1500-15px -> w768-3px */
	border-radius: 5px;
	color: #333;
	font-weight: 500;
	transition: background-color .5s;
	font-size: clamp(0.625rem, -0.031rem + 1.37vw,1.125rem); /* w1500-18px -> w768-10px */
    line-height: 1.4;
    transition: all 0.5s 0s ease;
}
.megaMenu ul li a:hover {
	opacity:0.5;
}

/***** メガメニューの矢印アイコン *****/
.megaMenu ul li a::after { 
    content: "";
    position: absolute;
    top: 0.7em;
    left: 0;
    width: 10px;
    height: 10px;
    border-top: 3px solid var(--rosered);
    border-right: 3px solid var(--rosered);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    transition: .3s;
}
.megaMenu ul li a:hover::after {
	left: 5px;
}


/* # =================================================================
   # SPショートカット
   # ================================================================= */
.sp-shortcut {
	display: none;
}

@media screen and (max-width:1024px) {
.sp-shortcut {
  width: 70%;
  margin-left: 15%;
	display: block;
  background-color: var(--base1);
  border-radius: 20px 20px 0 0;
  transition: .5s ease;
  position: fixed;
  bottom: 0;
  z-index: 100;
}
/* 右ショートカット */
.shortcut-sp{
  width: 100%;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
  min-height: 70px;
  padding: 10px 0 10px 0;
  font-size: clamp(0.625rem, 0.574rem + 0.25vw, 0.813rem); /*w1500-13px -> w320-10px*/
  font-weight: 700;
  color: #fff;
  transition: all .3s;
  position: relative;
}
/* ショートカット項目 */
.shortcut-item{
  display: flex;
  flex-direction: column;   /* ←縦積み */
  align-items: center;      /* 中央揃え */
  justify-content: center;
  gap: 6px;                 /* アイコンと文字の間隔 */
    flex: 1;  
    width: auto; 
  padding: 6px;
  text-align: center;
  margin-bottom: 0px;
  border-right: 1px solid rgba(255,255,255,0.4); /* ← 縦罫線 */
  transition: 0.5s ease;
}
.be-small .shortcut-item{
  width: 20px; 
  margin-bottom: 0px;
  margin-top: 0px;
}

.shortcut-item:last-child {
  border-right: none;
}
.shortcut-item img{
  width: auto;   /* アイコンサイズ */
  height: 24px;
}

.shortcut-item:hover{
  background: rgba(255,255,255,.12);
}
}/*** END media 1024***/

@media screen and (max-width:768px) {
.sp-shortcut {
  width: 96%;
  margin-left: 2%;
	display: block;
  background-color: var(--base1);
  border-radius: 20px 20px 0 0;
  transition: .5s ease;
  position: fixed;
  bottom: 0;
  z-index: 100;
}

}/*** END media 768 ***/



/* # =================================================================
   # SP用ヘッダーアイコン
   # ================================================================= */
.spIcons {
	display: none;
}
@media screen and (max-width:1024px) {
.spIcons {
	display: flex;
	justify-content: space-between;
	position: absolute;
	right: 80px;
	top: 20px;
	width: 60px;
	z-index: 1001;
}
.spIcons > li {
	height: 20px;
}
.spIcons li img {
	height: 100%;
}
}
/* # =================================================================
   # SP用検索窓
   # ================================================================= */
.search-box-SP, 
.icon-close {
  display: none;
}
@media screen and (max-width:1024px) {
.search-box-SP {
	width: 94%;
  margin-left: 3%;
	height: 50px;
	position: fixed;
	padding-left: 24px;
	top: 60px;
	border: 1px solid #CCC;
    background-color: #fff;
    z-index: 1000;
}
  .search-box-SP.is-open { 
    display: flex;
    padding: 0px 20px 0px 20px;
  }
.icon-close {
	position: fixed;
	width: 24px;
	height: 24px;
	display: block;
	background: #000;
    top: 110px;
    right: 0px;
}
.icon-close a {
	color: #FFF;
	width: 24px;
	height: 24px;
	position: relative;
}
.icon-close a:before,
.icon-close a:after {
	content: "";
	position: absolute;
	top: 12px;
	width: 24px;
	height: 1px;
	background-color: currentColor;
}
.icon-close a:before {
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.icon-close a:after {
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
}


/* # =================================================================
   # main
   # ================================================================= */


.date{
  font-family: "Inter", sans-serif;
  font-weight: 600;
}
/*--------------------------------------------------------
  セクションタイトル共通
--------------------------------------------------------*/
.sec-title{
  width: 92%;
  max-width: 1585px;
  margin: 0 auto;
  color: #fff;
  display: flex;              /* 横並び */
  justify-content: space-between; /* 両端に配置する場合 */
  border-bottom: solid 1px var(--base1);
  padding-top: 60px;
  padding-bottom: 20px;
  @media screen and (max-width:1024px) {
  padding-top: 40px;
  padding-bottom: 10px;
  }
}
.sec-title-text{
  width: 80%;
  font-size: var(--fv-fs-h2);
  font-weight: 700;
  color: var(--base1);
  @media screen and (max-width:1024px) {
  font-size: 18px;
  width: 100%;
  padding-left: 10px;
  }
}
.sec-title-eg{
  color: #333;
  font-size: clamp(1rem, 0.94rem + 0.82vw, 1.375rem);/* w768=16px → w1500=22px */
  padding-left: 30px;
  font-family: "Inter", sans-serif;
  @media screen and (max-width:1024px) {
	  padding-left: 10px;
	  font-size: 14px;
  }
}
.sec-title-link{
  width: 20%;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  margin: 0 auto;
  margin-top: 10px;
  @media screen and (max-width:1024px) {
  width: 100%;
  }
}
.sec-title-link-text{
  font-size: var(--fs-title);
  font-weight: 700;
  color: #333;
  padding-top: 3px;
  display: inline-block;
  vertical-align: middle;
  padding: 0 10px 0 0;
  margin: 0 0 3px;
}
.sec-title-arrow{
  width: auto;
  display: inline-block;     /* transformが効くように */
  transition: transform 0.3s ease; /* スムーズに動く */
  margin-right: 10px;
}
.sec-title-arrow img {
	width: 30px;
    display: inline-block;
    vertical-align: middle;
}
.sec-title-arrow:hover {
  transform: translateX(10px); /* 右に20px移動 */
}
/* # =================================================================
   # フッター
   # ================================================================= */

/***** フッターナビ *****/
.footer-nav{
  width: 100%;
  background-color: var(--base1);
  color: var(--white);
}   
.footer-nav-block{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 86%;
	max-width: 1585px;
  margin: 0 auto;
  padding-top: 10px;
  padding-bottom: 10px;
  @media screen and (max-width:1024px) {
	  width: 86%;
      max-width: 100%;
      display: block;
      padding-top: 15px;
      padding-bottom: 15px;
  }
}
.footer-nav-item {
  padding: 30px 60px;
  font-size: var(--fs-body);
  font-weight: 700;
  transition: background 0.5s ease;
  @media screen and (max-width:1024px) {
        width: 49%;
        display: inline-block;
        text-align: left;
        padding: 13px 0;
        box-sizing: border-box;
}
}
@media screen and (min-width: 1025px) and (max-width: 1400px) {
.footer-nav-item {
  padding: 15px 60px;
}
}

.footer-nav-item:hover{
  background: rgba(255,255,255,.12);
}

/***** フッターインフォメーション *****/
.footer-info{
  width: 86%;
	max-width: 1585px;
  margin: 80px auto 40px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  @media screen and (max-width:1024px) {
  margin: 40px auto 40px;
  	width: 86%;
  	display: block;
  }
}
/***** スペック *****/
.footer-info-left{
  width: 60%;
  @media screen and (max-width:1024px) { width: 100%; }
}
.footer-logo-container{
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.footer-logo:hover {
  opacity: 0.6;                /* 半透明に */
}
.footer-mark{
  width: 90px;
  margin-top: 10px;
    @media screen and (max-width:1024px) { width: 80px;
    margin-top: 6px; }
}
.footer-mark img{
  width: 80px;
      @media screen and (max-width:1024px) { width: 60px; }
}
.footer-address{
  margin-top: 40px;
  margin-left: 10px;
  font-size: var(--fs-lead);
  font-weight: 700;
@media screen and (max-width:1024px) { margin-left: 0px; }
}
.footer-tel{
  margin-top: 20px;
  margin-left: 10px;
  font-family: "Inter", sans-serif;
  font-weight: 700;
  font-size: clamp(1.375rem, -0.33rem + 3.55vw, 3rem); /* 768-22px → 1500px-48px */
  line-height: 1.2;
  color: var(--black);
  text-decoration: none;
  white-space: nowrap;
   @media screen and (max-width:1024px) {  font-size: 32px; margin-left: 0px; }
   @media screen and (max-width:768px) { font-size: 26px; }
}
.footer-tel-text{
  font-size: var(--fs-body);
}
.footer-btn{
  margin: 30px 0 40px;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
   @media screen and (max-width:1024px) {
	   justify-content: space-between;
	}
}
.footer-btn-item{
  margin-right: 40px;
  background-color: var(--base1);
  color: #fff;
  padding: 16px 46px;
  border-radius: 6px;
  font-size: var(--fs-body);
  font-weight: 700;
  transition: opacity 0.5s ease;
   @media screen and (max-width:1024px) {
	   width: 45%;
	   margin-right: 0px;
	   padding: 16px 6px;
	   text-align: center;
   }
}
.footer-btn-item:hover{
  opacity: 0.7;;
}
.footer-clinic-hours{
  width: 100%;
  margin: 20px 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  border-bottom: solid 1px var(--base3);
  padding-right: 20px;
  padding-bottom: 20px;
  @media screen and (max-width:1024px) { 
  padding-right: 0px;
  }
}
.footer-clinic-hours-title{
  width: 32%;
  font-size: var(--fs-lead);
  font-weight: 700;
  padding-left: 16px;
  @media screen and (max-width:1024px) { 
	  width: 25%;
	  font-size: 14px;
	  padding-left: 5px;
  }
}
.footer-clinic-hours-text{
  width: 67%;
  font-size: var(--fs-lead);
  font-weight: 500;
  @media screen and (max-width:1024px) {
	  width: 74%;
	  font-size: 16px;
  }
}
.footer-clinic-hours-text-small{
  font-size: var(--fs-caption);
  font-weight: 500;
  margin-top: 10px;
  @media screen and (max-width:1024px) {
	  display: block;
  }
}
/***** 施設リンク *****/
.footer-info-right{
  width: 30%;
  @media screen and (max-width:1024px) {
  	width: 90%;
  	margin: 0 19% 0 1%;
  }
}

.footer-facility-item{
  font-size: var(--fs-body);
  line-height: 1.6em;
    display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 18px;
}

.footer-facility-item a {
  display: flex;             /* 矢印とテキストを横並び */
  align-items: center;       /* 縦位置を中央に揃える */
  text-decoration: none;
  font-weight: 600;
  transition: color 0.5s ease;
  position: relative;
  padding-left: 20px; 
}
.footer-facility-item a:before {
    content: "";
    position: absolute;
    top: 0.7em;
    left: 0;
    width: 8px;
    height: 8px;
    border-top: 2px solid var(--rosered);
    border-right: 2px solid var(--rosered);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.footer-facility-arrow {
  color: var(--rosered);
  margin-right: 10px;         /* 矢印と文字の間隔 */
  display: inline-block;     /* transformを効かせるため */
  transition: transform 0.5s ease;
}

.footer-facility-item a:hover .footer-facility-arrow {
  transform: translateX(5px);  /* hoverで右に5px */
}
.footer-facility-item a:hover {
  opacity: 0.6;               /* テキスト（全体）を半透明 */
}
.footer-copyright {
  text-align: center;
  font-size: var(--fs-caption);
  padding-bottom: 80px;
  font-family: "Inter", sans-serif;
  letter-spacing: 0.05em;
}



/* PCとスマホの表示ON・OFF */
/**** PC用の設定 ****/
.pcLayer { display: block; }
.spLayer { display: none; }
/**** SP用の設定 ****/
@media screen and (max-width:1024px) {
.pcLayer { display: none; }
.spLayer { display: block; }
}


/* スクロールヒント */

@keyframes scroll-hint-appear {
  0% {
    transform: translateX(40px);
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  50%,
  100% {
    transform: translateX(-40px);
    opacity: 0;
  }
}

.scroll-hint-icon {
  position: absolute;
  top: calc(50% - 25px);
  left: calc(50% - 60px);
  box-sizing: border-box;
  width: 120px;
  height: auto;
  border-radius: 5px;
  transition: opacity .3s;
  opacity: 0;
  background: rgba(0, 0, 0, .7);
  text-align: center;
  padding: 20px 10px 10px 10px;
}

.scroll-hint-icon-wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  max-height: 100%;
  pointer-events: none;
}

.scroll-hint-text {
  font-size: 10px;
  color: #FFF;
  margin-top: 5px;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon {
  opacity: .8;
}

.scroll-hint-icon:before {
  display: inline-block;
  width: 40px;
  height: 40px;
  color: #FFF;
  vertical-align: middle;
  text-align: center;
  content: "";
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDM8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIiBmaWxsPSIjZmZmIi8+PC9nPjwvZz48L3N2Zz4=);
}

.scroll-hint-icon:after {
  content: "";
  width: 34px;
  height: 14px;
  display: block;
  position: absolute;
  top: 10px;
  left: 50%;
  margin-left: -20px;
  background-repeat: no-repeat;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDE8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIgZmlsbD0iI2ZmZiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiIGZpbGw9IiNmZmYiLz48L2c+PC9nPjwvc3ZnPg==);
  opacity: 0;
  transition-delay: 2.4s;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon:after {
  opacity: 1;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon:before {
  animation: scroll-hint-appear 1.2s linear;
  animation-iteration-count: 2;
}

.scroll-hint-icon-white {
  background-color: #FFF;
  box-shadow: 0 4px 5px rgba(0, 0, 0, .4);
}

.scroll-hint-icon-white:before {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDQ8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIi8+PC9nPjwvZz48L3N2Zz4=);
}

.scroll-hint-icon-white:after {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDI8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiLz48L2c+PC9nPjwvc3ZnPg==);
}

.scroll-hint-icon-white .scroll-hint-text {
  color: #000;
}



.scroll-hint-shadow-wrap {
  position: relative;
}

.scroll-hint-shadow-wrap::after {
  content: "";
  width: 14px; /* 影の幅 */
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  pointer-events: none;
  z-index: 1;
  opacity: 0; /* 初期は非表示 */
  visibility: hidden;
  background: linear-gradient(
    270deg,
    rgba(0, 0, 0, 0.12) 0%,   /* 濃いめのスタート */
    rgba(0, 0, 0, 0.08) 30%,  /* 徐々に薄く */
    rgba(0, 0, 0, 0.04) 60%,  /* さらに薄く */
    rgba(0, 0, 0, 0) 100%      /* 完全に透明 */
  );
}

.scroll-hint-shadow-wrap::before {
  content: "";
  width: 14px; /* 影の幅 */
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
  z-index: 1;
  opacity: 0; /* 初期は非表示 */
  visibility: hidden;
  background: linear-gradient(
    90deg,
    rgba(0, 0, 0, 0.12) 0%, 
    rgba(0, 0, 0, 0.08) 30%, 
    rgba(0, 0, 0, 0.04) 60%, 
    rgba(0, 0, 0, 0) 100%
  );
}


.scroll-hint-shadow-wrap:has(.scroll-hint.is-right-scrollable)::after,
.scroll-hint-shadow-wrap.is-right-scrollable::after
 {
  opacity: 1;
  visibility: visible;
}

.scroll-hint-shadow-wrap:has(.scroll-hint.is-left-scrollable)::before,
.scroll-hint-shadow-wrap.is-left-scrollable::before
 {
  opacity: 1;
  visibility: visible;
}


/*-------------------------------------------------------
ページトップへ戻る
-------------------------------------------------------*/
a.btn_pagetop {
  display: block;
  position: fixed;
  bottom: 10px;
  right: 10px;
  overflow: hidden;
  padding: 40px 0 0 0;
  margin: 0 auto;
  width: 40px;
  height: 0;
  text-decoration: none;
  color: rgba(0, 0, 0, 0);
  background-color: var(--base2);
  border-radius: 50%;
  z-index:100;
  @media screen and (max-width:680px) { 
    bottom: 90px;
    right: 15px;
  }
}
a.btn_pagetop:hover {
  opacity: 0.7;
}
a.btn_pagetop::before {
  position: absolute;
  top: 42%;
  left: 50%;
  display: block;
  width: 12px;
  height: 12px;
  margin-left: -6px;
  border-left: 2px solid rgb(255, 255, 255);
  border-bottom: 2px solid rgb(255, 255, 255);
  content: "";
  transform: rotate(135deg);
}
