@charset "UTF-8";
/* 追加CSS */
/*長野修正*/
.access_sec02 {
    #front_sec_btn {
        margin-bottom: 0;
    }
}
section.front_btn.plus-front_btn {
    margin-bottom: 60px;
}
.slick_wrapper .slider-img img {
    max-height: 550px;
}
h3.facilities_t {
    margin-top: 16px;
}
#front_sec_message .wrapper .textbox::before {
    right: 110%;
    width: 13vw;
    height: 20vw;
}

/* Reservationセクションの調整 */
#front_sec_reservation {
    position: relative;
    background: #fff;
    padding: 100px 0 20px;
    z-index: 10;
    margin-top: 100px !important;
}

#front_sec_reservation .box {
    display: block;
}

#front_sec_reservation .ttl {
    width: 100%;
    margin-bottom: 40px;
}

#front_sec_reservation .reservation-box {
    width: 100%;
    display: flex;
    justify-content: flex-start;
    padding: 0;
}

#front_sec_reservation .container {
    max-width: calc(1200px + 12%);
    padding: 0 6%;
    margin: 0 auto;
}

#front_sec_reservation .sec_ttl {
    font-size: 1.6rem;
    text-align: left;
    font-weight: 500;
    padding-top: 70px;
    letter-spacing: 0.06em;
    margin-bottom: 40px;
}

#front_sec_reservation .sec_ttl::before {
    content: attr(data-en)"";
    font-size: 6.4rem;
    font-weight: 400;
    letter-spacing: 0.04em;
    background: linear-gradient(90deg, #00A0E9 0%, #0068B7 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    width: inherit;
    height: 100%;
    line-height: 1;
    top: 0;
    bottom: auto;
    display: block;
    white-space: nowrap;
}

#front_sec_reservation .sec_ttl span {
    position: relative;
    padding-left: 20px;
}

#front_sec_reservation .sec_ttl span::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #00A0E9;
}

#front_sec_reservation .iframe-container {
    width: 100%;
    max-width: 100%;
    margin: 0;
    position: relative;
    height: 0;
    padding-bottom: 210px;
    overflow: hidden;
}

#front_sec_reservation .iframe-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

@media (max-width: 767px) {
    #front_sec_reservation {
        padding: 60px 0 20px !important;
        margin-top: 300px !important;
    }
    #front_sec_reservation .container.gutters {
        padding: 0 6% !important;
    }
    #front_sec_reservation .box {
        flex-direction: column;
        gap: 30px;
    }
    #front_sec_reservation .ttl {
        display: contents;
    }
    #front_sec_reservation .sec_ttl {
        padding-top: 60px;
        margin-bottom: 20px;
    }
    #front_sec_reservation .sec_ttl::before {
        font-size: 5rem;
    }
    #front_sec_reservation .reservation-box {
        width: 100%;
        padding: 0;
    }
    #front_sec_reservation .iframe-container {
        width: 100%;
        padding-bottom: 210px;
        margin: 0;
    }
    #front_sec_reservation .iframe-container iframe {
        transform: scale(0.8);
        transform-origin: top left;
        width: 125%;
    }
}

@media screen and (min-width: 768px) {
.btn-p {
    text-align: center;
}
}
span.under-line {
    text-decoration: underline; /* 下線 */
    text-decoration-thickness: 0.5em; /* 線のさ */
    text-decoration-color: rgba(251,247,56, 0.7); /* 線の色 */
    text-underline-offset: -0.2em; /* 線の位置。テキストに重なるようにやや上部にする */
    text-decoration-skip-ink: none; /* 下線と文字列が重なる部分でも下線が省されない（線が途切れない） */
}
@media (max-width: 767px) {
#front_sec_info {
    padding-bottom: 70px;
}
}

/* Newsセクションの調整 */
#News {
    margin-top: -40px;
    position: relative;
    z-index: 1;
}

@media (min-width: 768px) and (max-width: 1199px) {
    #News {
        margin-top: -30px;
    }
}

@media (max-width: 767px) {
    #News {
        margin-top: -30px;
    }
}

/* タブレット用のスタイル調整 */
@media (min-width: 768px) and (max-width: 1199px) {
    #front_sec_reservation {
        padding: 60px 0 20px;
        margin-top: 230px !important;
    }

    #front_sec_reservation .container {
        max-width: 90%;
        padding: 0 4%;
    }

    #front_sec_reservation .sec_ttl {
        font-size: 1.4rem;
        padding-top: 60px;
    }

    #front_sec_reservation .sec_ttl::before {
        font-size: 5.6rem;
    }

    #front_sec_reservation .iframe-container {
        max-width: 100%;
        padding-bottom: 50%;
    }

    #News {
        margin-top: -30px;
    }
}

@media (max-width: 767px) {
    #front_sec_news {
        padding-top: 100px !important;
    }
}

@media (max-width: 500px) {
    #front_sec_news {
        padding-top: 60px !important;
    }
}

.aioseo-author-bio-compact {
	display: none;
}

.facility-standards {
	max-width: calc(1200px + 12%);
    padding: 0 6%;
    padding-top: 60px;
    margin: auto;
}

/**/
.main_copy div {
	    margin-left: 7%;
    position: absolute;
    bottom: -100px;
}
.main_copy div p:first-child{
	font-size:4.0rem;
	color:white;
	background:#0099e2;
	width:fit-content;
	padding: 2px 12px;
    margin-bottom: 12px;
    font-weight: bold;
    letter-spacing: 4px;
    line-height: 1.6;
}
.main_copy div p:first-child span{
	font-size:100%;
	color:#fbf738;
}

.main_copy div p:nth-child(2){
	font-size:2.8rem;
	color:#0099e2;
	width:fit-content;
	margin:0;
	letter-spacing:3px;
	font-weight:bold;
}
.main_copy div p:nth-child(2) span {
	background:white;
  display: block;
  padding: 2px 8px;
    margin-bottom: 12px;
    line-height: 1.6;
}
.main_copy div ul {
	display:flex;
	gap:16px;
	padding-left: 0px;
}
.main_copy div ul li {
	background:#fbf738;
	color:#0099e2;
	width:104px;
	height:104px;
	border-radius:100%;
	font-size:14px;
	list-style: none;
	font-weight:bold;
	text-align: center;
	display: flex;
      align-items: center;
      justify-content: center;
	letter-spacing:2px;
}
.main_copy div ul li:has(.note) {
      position: relative;
      overflow: visible;
  }
  .main_copy div ul li .note {
      position: absolute;
      left: calc(100% + 4px);
      top: 50%;
      transform: translateY(-50%);
      width: 140px;
      height: auto;
      background: transparent;
      color: #333;
      font-size: 1.3rem;
      font-weight: normal;
      text-align: left;
      white-space: nowrap;
      border-radius: 0;
      padding: 4px 0;
      z-index: 2;
  }
  .main_copy div ul li .note::before,
  .main_copy div ul li .note::after {
      content: "";
      position: absolute;
      width: 28px;
      height: 1px;
      background: #333;
      left: 0;
      transform-origin: right center;
  }
  .main_copy div ul li .note::before {
      top: -12px;
      transform: rotate(-25deg);
  }
  .main_copy div ul li .note::after {
      bottom: -12px;
      transform: rotate(25deg);
  }

@media (max-width:768px){
	.main_copy div p:first-child {
	    font-size: 2.6rem;
	}
	.main_copy div p:nth-child(2) {
	    font-size: 2.4rem;
	}
	.main_copy div ul li {
		width:96px;
		height:96px;
		font-size:12px;
	}
	
}
@media (max-width:600px){
	.main_copy div {
	    margin-left: 6%;
	    bottom: -88px;
	}
	.main_copy div p:first-child {
	    font-size: 1.8rem;
	}
	.main_copy div p:nth-child(2) {
	    font-size: 1.6rem;
	}
	.main_copy div ul li {
		width:18%;
		height: 100%;
        aspect-ratio: 1 / 1;
		letter-spacing: 1px;
	}
	.main_copy div ul {
	    gap: 8px;
	}
	.main_copy div ul li .note {
	    font-size: 1.2rem;
	}
	
}
@media (max-width:415px){
	.main_copy div {
	    margin-left: 3%;
	    bottom: -84px;
	}
	.main_copy div p:first-child {
	    font-size: 1.5rem;
	}
	.main_copy div p:nth-child(2) {
	    font-size: 1.4rem;
	}
	.main_copy div ul li {
		letter-spacing: 0;
	}
	.main_copy div ul {
	    gap: 4px;
	}
	.main_copy div ul li .note {
	    font-size: 1.2rem;
	}
	
}

/**/
.title a { display: inline-block; position: relative; }
  .title .logo-img {
    display: block;
    width: 200px;  /* 元のロゴサイズに合わせて調整 */
    height: 60px;
    background: url('/wp-content/uploads/logo_white.svg') no-repeat center/contain;
  }
  .title .logo-text {
    position: absolute;
    width: 1px; height: 1px;
    padding: 0; margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0;
  }
.title a {
    display: inline-block;
    text-decoration: none;
  }
  .title .logo-text {
    display: block;
    color: #fff;        /* ヘッダー背景に合わせて調整 */
    font-size: 12px;
    font-weight: normal;
    line-height: 1.4;
    margin-bottom: 4px;
  }
  .title img {
    display: block;
  }
.title a span,
  .title .logo-text {
    display: block !important;
    color: #fff !important;       /* 背景が白なら #333 に */
    font-size: 14px !important;
    line-height: 1.4 !important;
    margin-bottom: 4px !important;
    width: auto !important;
    height: auto !important;
    position: static !important;
    clip: auto !important;
    overflow: visible !important;
    white-space: normal !important;
}
.title a {
    flex-shrink: 0;
  }
  .title a span,
  .title .logo-text {
    white-space: nowrap !important;
    flex-shrink: 0 !important;
  