/*
Theme Name: 花見ヶ原森林公園キャンプ場
Description: Habakiri の子テーマです
Template: habakiri
*/
body {
	font-size: clamp(14px, 1.06667vw, 24px);
	font-family: "Noto Sans JP", sans-serif;
	color: #333;
	line-height:2;
	letter-spacing: 0.05em;
}
a:hover,a:active,a:focus,a:focus-visible {
	opacity:0.8;
	outline:none;
	transition:all .5s;
}
.sp {
	display:none;
}
.rwd-pc {
	display:none;
}
.top-mapBtn.rwd-pc {
	display:none;
}
.siteArea.rwd-pc {
	display:none;
}
.rwd-access {
	display:none;
}
.spArea {
	display:none;
}
.stay-unit__toggle.sp-toggle-display {
 	display:none;
}
#header {
	box-shadow: 0 0 3px rgba(0, 0, 0, .2);
}
#page-transition {
  position: fixed;
  inset: 0;
  background: #004976;
  z-index: 99999;
  pointer-events: none;

  transform: translateX(-100%);
}
body.is-transitioning #page-transition {
  animation: slideIn 0.8s cubic-bezier(.77,0,.18,1) forwards;
}
body.is-loaded #page-transition {
  animation: slideOut 0.8s cubic-bezier(.77,0,.18,1) forwards;
}
@keyframes slideIn {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(0);
  }
}
@keyframes slideOut {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(100%);
  }
}


/*--------------------set--------------------*/
.moreBtn {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: clamp(260px, 22vw, 420px);
    min-height: clamp(44px, 3vw, 60px);
    margin: clamp(40px, 3vw, 60px) auto 0;
    padding:
        clamp(10px, 0.8vw, 16px)
        clamp(32px, 2.5vw, 50px)
        clamp(10px, 0.8vw, 16px)
        clamp(18px, 1.5vw, 30px);

    background: linear-gradient(to left, #333 50%, #ffbf00 50%);
    background-size: 200% 100%;
    background-position: right bottom;
    color: #fff;
    font-weight: bold;
    font-size: clamp(14px, 1.1vw, 18px);
    letter-spacing: 0.12em;
    text-decoration: none;
    border-radius: clamp(8px, 0.7vw, 14px);
    font-family: "M PLUS 1 Code", monospace;
    transition: background-position .4s ease;
}
.moreBtn:hover,
.moreBtn:focus {
    background-position: left bottom;
    color: #fff;
    text-decoration: none;
}
.moreBtn::after {
    content: '\f061';
    font-family: "Font Awesome 5 Free";
    font-weight: 900;

    position: absolute;
    right: clamp(15px, 1.2vw, 25px);
    top: 50%;
    transform: translateY(-50%);

    transition: transform .3s ease;
}
.moreBtn:hover::after {
    transform: translateY(-50%) translateX(clamp(4px, 0.4vw, 8px));
}
.reserveBtn {
    padding:
        clamp(10px, 0.8vw, 16px)
        clamp(18px, 1.5vw, 30px)
        clamp(10px, 0.8vw, 16px)
        clamp(32px, 2.5vw, 50px);
}
.moreBtn.reserveBtn::after {
    content: none;
}
.reserveBtn::before {
    content: "\f274";
    font-family: "Font Awesome 5 Free";
    font-weight: 400;
    position: absolute;
    left: clamp(15px, 1.2vw, 25px);
    top: 50%;
    transform: translateY(-50%);
    transition: transform .3s ease;
}
.reserveBtn:hover::before {
    transform: translateY(-50%);
}
.circle li {
  display: flex;
  align-items: flex-start;
  gap: 0.8em;
}

.circle li::before {
  content: "\f111";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #004976;
  font-size: clamp(12px, 0.85vw, 20px);
  margin-top: 0.4em;
}

section{
	margin-bottom: clamp(40px, 5vw, 100px);
	padding-bottom: clamp(40px, 5vw, 100px);
}
section:last-child {
	padding-bottom:0px;
}
/*section,
[id] {
  scroll-margin-top: 100px;
}*/
h2 {
	text-align:center;
	font-family: "M PLUS 2", sans-serif;
	font-size: 2.4vw;
	color:#333;
}
h3 {
	font-weight: 600;
	border-bottom: 2px solid #004976;
	line-height: 1.5;
	font-size: 1.5217vw;
	padding-bottom: 13px;
	font-family: "M PLUS 2", sans-serif;
	margin-top:3.4782vw;
	margin-bottom:20px;
	color:#333;
}
.flexArea {
	display:flex;
}
.left {
	width:50%;
}
.right {
	width:50%;
}
.right .inner-photo {
	margin-left:60px;
}
.left .inner-photo {
	margin-right:60px;
}
.left-kadomaru {
	border-radius: 20px 0 0 20px;
	overflow: hidden;
}
.title {
    font-size: 38px;
    font-weight: bold;
    font-family: "M PLUS 2", sans-serif;
	font-size: clamp(21px, 1.65vw, 38px);
}
.inner-text .title {
	font-size: clamp(22px, 1.8vw, 41px);
}
.flexBox .inner-text .title {
    font-size: clamp(22px, 1.64vw, 38px);
}
.box-1 {
	margin-bottom: clamp(30px, 2.17vw, 50px);
}
.box-2 {
	margin-bottom: clamp(30px, 2.17vw, 50px);
	overflow:hidden;
}
.box-3 {
	margin-bottom: clamp(50px, 3.48vw, 80px);
}
.box-4 {
	margin-bottom: clamp(50px, 3.48vw, 80px);
	overflow:hidden;
}
.box-5 {
	margin-bottom: clamp(60px, 4.35vw, 100px);
}
.box-6 {
	margin-bottom: clamp(60px, 4.35vw, 100px);
	overflow:hidden;
}
.box-7 {
	overflow:hidden;
}
.wap-1200 {
	max-width: clamp(960px, 50.43vw, 1200px);
	margin-right:auto;
	margin-left:auto;
}
.wap-1500 {
	max-width: clamp(960px, 61.73vw, 1500px);
	margin-right:auto;
	margin-left:auto;
}
.wap-1800 {
	max-width:73.04vw;
	max-width: clamp(960px, 73.04vw, 1800px);
	margin-right:auto;
	margin-left:auto;
}
.default-table {
	width: clamp(960px, 52.173vw, 1200px);
	margin:0 auto;
	border: 1px solid #eeeeee;
	border-collapse: separate;
	border-radius: 10px;
}
.default-table th {
	text-align: center;
	width: 30%;
	background-color: #ece9de;
	padding: clamp(12px, 0.78vw, 18px)
	         clamp(10px, 0.87vw, 20px);
	font-size: clamp(14px, 0.78vw, 18px);
	border-right: 1px solid #eeeeee;
}
.default-table td {
	background: #fff;
	padding: clamp(12px, 0.78vw, 18px)
	         clamp(16px, 0.87vw, 20px);
	font-size: clamp(14px, 0.78vw, 18px);
	border-right: 1px solid #eeeeee;
}
.default-table tr:first-child th {
	border-radius:10px 0 0 0;
}
.default-table tr:first-child td {
	border-radius:0 10px 0 0;
}
.default-table tr:last-child th {
	border-radius:0 0 0 10px;
}
.default-table tr:last-child td {
	border-radius:0 0 10px 0;
}
.one-table.default-table tr:last-child th {
	border-radius:10px 0 0 10px;
}
.one-table.default-table tr:last-child td {
	border-radius:0 10px 10px 0;
}
.default-table th {
	border-left: none;
}
.default-table td {
	border-right: none;
}
.default-table th,.default-table td {
	border-bottom: 1px solid #eeeeee;
}
.default-table tr:last-child th,.default-table tr:last-child td {
	border-bottom: none;
}
.wave-content .default-table th {
	background-color: #004976;
    color: #fff;
}
.flexBox {
	display:flex;
	gap: 4.61vw;
}
.flexBox.flex_re  {
	flex-direction:row-reverse;
}
.flexBox .right {
	display: flex;
	flex-direction: column;
	margin-left: 0;
}
.flexBox.flex_re .right {
	margin-left: 0;
}
.flexBox .inner-text {
	line-height: 2;
	letter-spacing: 0.05em;
	margin-bottom: 0.87vw;
}
.flexBox .inner-photo {
	width: 100%;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	position: relative;
	border-radius: 20px;
}
.flexBox.default-size .inner-photo {
	aspect-ratio: 3 / 2;
}
.flexBox .inner-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.flexBox .reserveBtn {
	margin-top: auto;
}
.flexBox .inner-table .default-table {
	width: 100%;
}
.defaultBox .inner-photo{
	width:100%;
	aspect-ratio: 2 / 1;
	overflow: hidden;
	border-radius: 20px;
}
.defaultBox .inner-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.defaultBox .inner-text {
	margin-top: clamp(40px, 3.47vw, 80px);
}
.list-2 {
	list-style:none;
	padding:0;
	margin:0;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
}
.list-2 img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 20px;
}
.list-3 {
	list-style:none;
	padding:0;
	margin:0;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}
.list-3 img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 20px;
}
.list-4 {
	list-style:none;
	padding:0;
	margin:0;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	margin:0 auto;
}
.list-4 img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 20px;
}
.list-photo {
	width:100%;
	aspect-ratio: 3 / 2;
	overflow: hidden;
	border-radius: 20px;
}
.list-photo .inner-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.name {
	text-align: center;
	font-weight: bold;
	line-height: 1.5;
}
.name span {
	display:block;
}
.name span.mintext {
	font-size:0.8695vw;
}
.label {
	display:inline-block;
	background:#76c7bd;
	font-size: 13px;
}
.text {
	display:block;
	margin-left:0;
	line-height:1.5;
}
.cap {
	color:#666;
	line-height:1.5;
	font-size: clamp(10px, 0.7826vw, 18px);
}
.content-top {
	margin-top: clamp(40px, 3.47vw, 80px);
}

/*--------------------ハンバーガー--------------------*/
.off-canvas-nav {
    font-size: 16px !important;
}
.off-canvas-nav a span {
    display: none;
}
.off-canvas-nav .menu > li {
    margin-bottom: 0px;
}
.off-canvas-nav--dark .current-menu-item > a, .off-canvas-nav--dark .current_page_ancestor > a, .off-canvas-nav--dark .current-page-ancestor > a, .off-canvas-nav--dark .current_page_item > a, .off-canvas-nav--dark .current_page_parent > a {
    background-color: #004976;
    color: #fff;
}
.off-canvas-nav--dark {
    background-color: #fff;
    border-top: solid 1px rgba(85,69,40,0.2);
    border-bottom: solid 1px rgba(85,69,40,0.2);
}
.off-canvas-nav--dark a {
    color: #004976;
    padding: 15px 20px;
}
.off-canvas-nav--dark li {
    border-top: none;
    border-bottom: solid 1px rgba(85,69,40,0.2);
}
.off-canvas-nav--dark > ul, .off-canvas-nav--dark > * > ul {
    border-bottom: none;
}
.off-canvas-nav--dark a:hover, .off-canvas-nav--dark a:active, .off-canvas-nav--dark a:focus {
    background-color:#004976;
    color: #fff;
}
.off-canvas-nav--dark ul ul {
    border-top: none;
    border-left: none;

}
.off-canvas-nav--dark ul ul li {
    border-left: none;
	border-top: 1px dashed #eee;
}
.off-canvas-nav--dark li .sub-menu li{
	border-bottom:none;
}
.off-canvas-nav--dark ul ul.sub-menu {
	margin-left: 0em;
}
.off-canvas-nav--dark ul ul.sub-menu li a {
	padding-left: 5em;
    font-size: 14px;
}
#responsive-btn {
    right: 5px;
}
/*--------------------header--------------------*/
.site-branding__heading img {
	max-width:250px;
}
.header--center .global-nav .menu {
    width: 100%;
}
.site-branding__heading img {
    max-width: 270px;
}
/* トップだけ最初は隠す */
@media (min-width: 991px) {
  .home #header,
  .front-page #header {
    transform: translateY(-100%);
    opacity: 0;
    transition: transform 0.4s ease, opacity 0.4s ease;
  }
}

/* 表示状態 */
#header.is-show {
  transform: translateY(0);
  opacity: 1;
}
.responsive-nav a {
    font-family: "M PLUS 2", sans-serif;
    font-weight: bold;
}
/*--------------------main-header--------------------*/
.main-visualArea {
  display: flex;
  align-items: stretch;
}
.mv-left {
  width:26%;
  background: #efede0;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
.mv-right {
  width:74%;
  position: relative;
  overflow: hidden;
}
.mv-right img {
  width: 100%;
  height: 100%;
  object-fit: cover; 
  display: block;
}
.mv-right {
  position: relative;
  overflow: hidden;
}

.mv-swiper,
.mv-swiper .swiper-wrapper,
.mv-swiper .swiper-slide {
  height: 100%;
}

.mv-swiper .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.logo {
	background:#fff;
	padding:40px 10px;
	padding-top: calc(15px + 25 * (100vw - 990px) / 969);
	padding-bottom: calc(15px + 25 * (100vw - 990px) / 969);
}
.logo a {
	display:block;
	background:#fff;
	width:35%;
	margin:0 auto;
}
.today_date {
	margin:50px 0;
	margin-top: calc(20px + 30 * (100vw - 990px) / 969);
	margin-bottom: calc(20px + 30 * (100vw - 990px) / 969);
}
.today_date ul {
	list-style:none;
	display:flex;
	padding:0;
	margin:0 auto;
	align-items:center;
	justify-content:center;
	position:relative;
	width:80%;
}
.today_date ul li {
	width:calc((100% / 2) - 10px);
	margin:0 5px;
}
.today_date ul:after {
	content:'';
	height:1px;
	width:100%;
	background:#ccc;
	position:absolute;
	bottom: calc(-20px + -20 * (100vw - 990px) / 969);
	left:50%;
	transform:translateX(-50%);
}
.Top_date {
	font-family: "Alata", sans-serif;
	line-height:1;
	text-align: center;
}
.Top_date-inner {
	width:auto;
	margin:0 auto;
}
.y {
	display:block;
	font-size: calc(16px + 9 * (100vw - 990px) / 969);
	text-align:left;
}
.d {
	font-size: calc(26px + 19 * (100vw - 990px) / 969);
}
.w {
	font-size: calc(16px + 9 * (100vw - 990px) / 969);
	padding-left: calc(1px + 4 * (100vw - 990px) / 969);
}
.Top_weather {
	text-align:center;
	font-weight:bold;
	font-size: calc(9px + 4 * (100vw - 990px) / 969);
	margin-bottom:5px;
}
.statusTextBox {
	background: #ffbf00;
    color: #fff;
    text-align: center;
    font-weight: bold;
	font-size: calc(16px + 9 * (100vw - 990px) / 969);
    padding: 5px;
    font-family: "Alata", sans-serif;
    letter-spacing: 3px;
}
.weatherBtn {
	display:block;
	width:80%;
	margin:10px auto 0;
	border:solid 1px #333;
	text-align:center;
	color:#333;
	border-radius:50px;
	font-size: calc(9px + 4 * (100vw - 990px) / 969);
	padding:3px;
}
.weatherBtn:hover,.weatherBtn:active,.weatherBtn:focus {
	color:#333;
	text-decoration:none;
	background:#fff;
	opacity:1;
}
.mv-navArea {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding: 0 20px;
  margin: 40px auto;
  margin-top: calc(20px + 20 * (100vw - 990px) / 969);
  margin-bottom: calc(5px + 35 * (100vw - 990px) / 969);
  gap: 2%; /* li同士の間隔を割合で指定 */
  justify-content: center; /* 中央揃え */
}

.mv-navArea li {
  flex: 1 1 calc(50% - 2%); /* 幅50%からgap分引く */
  box-sizing: border-box;
  margin-bottom: calc(7px + 13 * (100vw - 990px) / 969);
}

.mv-navArea li>a {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  width: 100%;
  padding: 15px 3px;
  text-align: center;
  border-radius: 10px;
  color: #333;
  font-weight: bold;
  font-family: "M PLUS 1 Code", monospace;
  font-size: calc(10px + 10 * (100vw - 990px) / 969);
}
.mv-navArea li>a:hover,.mv-navArea li>a:active,.mv-navArea li>a:focus {
	text-decoration:none;
}
.mv-navBtnArea {
	padding: 0 20px;
	margin:0;
	list-style:none;
}
.mv-navBtnArea li {
	width: calc(200px + 250 * (100vw - 990px) / 969);
	margin:15px auto;
}
.mv-navBtnArea li>a {
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	width: 100%;
	height: calc(55px + 25 * (100vw - 990px) / 969);
	text-align: center;
	border-radius:10px;
	color:#333;
}
.mv-navBtnArea li>a.reservationBtn {
	background: #004976;
	color:#fff;
	border:1px solid #004976;
	font-size: 30px;
	font-size: calc(21px + 9 * (100vw - 990px) / 969);
    letter-spacing: 5px;
    font-weight: bold;
	font-family: "M PLUS 1 Code", monospace;
}
.mv-navBtnArea li>a.reservationBtn:hover,.mv-navBtnArea li>a.reservationBtn:active,.mv-navBtnArea li>a.reservationBtn:focus {
	background:#fff;
	opacity:1;
	color:#004976;
}
.mv-navBtnArea li>a.contactBtn {
	background:transparent;
	color:#004976;
	border:1px solid #004976;
	font-size: calc(12px + 4 * (100vw - 990px) / 969);
	font-weight: bold;
	font-family: "M PLUS 1 Code", monospace;
}
.mv-navBtnArea li>a.contactBtn:hover,.mv-navBtnArea li>a.contactBtn:active,.mv-navBtnArea li>a.contactBtn:focus {
	background:#ccc;
	opacity:1;
	color:#fff;
	border:1px solid #ccc;
}
.mv-navBtnArea li>a:hover,.mv-navBtnArea li>a:active,.mv-navBtnArea li>a:focus {
	text-decoration:none;
}
.mv-snsArea {
	display:flex;
	padding:0;
	margin:20px auto 0;
	list-style:none;
	justify-content:center;
}
.mv-snsArea li {
	width: calc(27px + 13 * (100vw - 990px) / 969);
	height:calc(27px + 13 * (100vw - 990px) / 969);
	margin:0 10px;
}
.mv-navBtnArea li>a.mv-sns {
	background:transparent;
	height: auto;
}
.mv-News {
	position:absolute;
	top:30px;
	left:50%;
	transform:translatex(-50%);
	z-index:2;
	display:flex;
	align-items:center;
	background: #004976;
	width:95%;
	border-radius:50px;
	border:solid 4px #004976;
	overflow:hidden;
}
.mv-NewsTitle {
	width:30%;
	text-align:center;
	background: #004976;
	color:#fff;
	font-size: calc(16px + 7 * (100vw - 990px) / 969);
	font-weight:bold;
}
.mvNewsArea {
	background:#fff;
	width:70%;
}
.mvNewsArea ul {
	padding:15px 20px;
	padding-top: calc(7px + 8 * (100vw - 990px) / 969);
	padding-bottom: calc(7px + 8 * (100vw - 990px) / 969);
	list-style:none;
	margin:0;
}
.mvNewsList a{
	display:flex;
	color:#333;
	font-weight:bold;
	position:relative;
}
.mvNewsList a:after {
	content: '\f105';
	font-family: "Font Awesome 5 Free";
	display: block;
	font-weight: 900;
	position: absolute;
	top: 50%;
	right: 10px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	font-size: calc(15px + 5 * (100vw - 990px) / 969);
}
.news-time {
	margin-bottom:0;
	margin-right:30px;
	font-family: "M PLUS 1 Code", monospace;
	font-size: calc(15px + 5 * (100vw - 990px) / 969);
}
.news-title {
	font-size: calc(15px + 5 * (100vw - 990px) / 969);
	margin-bottom:0;
	font-family: "M PLUS 1 Code", monospace;
}
.mvNewsList a:hover,.mvNewsList a:active,.mvNewsList a:focus {
	text-decoration:none;
	color: #333;
}

#header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 999;
  transition: transform 0.4s ease, opacity 0.4s ease;
}
.title_xl {
    font-size: 60px;
}
.page-header-wap {
    width: 100%;
    margin: 0 auto;
    position: relative;
    overflow: visible;
}
.page-header {
	width: 93.06667vw;
    height: 37.66667vw;
	border-radius: 0 0 0 40px;
	background: url(https://hanamigahara.jp/wp-2026/wp-content/uploads/2026/02/photo_17.jpg);
	background-size: cover;
	background-position: center center;
	text-shadow: none;
	margin: 0px 0 0 180px;
	padding:0;
}
.page-header__title {
	position: relative;
	width: 100%;
	max-width: 1280px;
	margin: 0 auto;
	padding: 50px 50px 60px 50px;
	color:#004976;
}
.page-header__title .title {
	width: 100%;
	color: #004976;
	position: relative;
	background: #fff;
	z-index: 10;
	padding: 0 30px;
	letter-spacing: 0.12em;
	line-height: 1.4;
	margin:0;
}
.page-header__title:before {
	content: '';
	display: inline-block;
	width: 100%;
	height: 1.5px;
	background: #004976;
	position: absolute;
	left: -50%;
	left: -50%;
    top: 50%;
    transform: translateY(-50%);
	z-index: 5;
}
.sub-page-contents {
	padding-top: 30px;
}
.archive-line{
  display:flex;
  align-items:center;
  gap: 24px;
	flex-wrap:nowrap;
}
.archive-date{
  white-space: nowrap;
}
.archive-title{
  flex: 1 1 auto;
  min-width: 0;
}
.archive-title a{
  display:block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.archive-cat{
  flex: 0 0 220px;
  white-space: nowrap;
  text-align: left;
}
/*--------------------main--------------------*/
.img-title {
    margin-left: 15px;
}
.img-title.img-title-tate {
    width: 4.87vw;
    margin: 0 auto;
}
.topics {
	background: #efede0;
	padding-top: 5.65vw;
	margin-bottom: 0;
}
.post-slider {
  margin: 0 auto;
  overflow: hidden;
  width: 100%;
}
.post-slider .swiper-wrapper {
	display: flex;
	align-items: stretch;
}
.post-slider .swiper-slide {
	border-radius: 20px;
    overflow: hidden;
	height: auto; 
	display: flex;
	flex-direction: column;
}
.post-slider .slide-link {
	display: flex;
	flex-direction: column;
	height: 100%;
}
.post-slider .thumb {
  aspect-ratio: 3 / 2;
  overflow: hidden;
}
.post-slider .thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .5s ease;
}
.post-slider .slide-link:hover img {
  transform: scale(1.07);
}
.post-slider .meta {
    padding: 30px;
    background: #fff;
	flex: 1;
	display: flex;
	flex-direction: column;
}
.post-slider .cat {
  display: inline-block;
  background: #ffbf00;
  color: #fff;
  font-size: 0.86667vw;
  margin-bottom: 5px;
  align-self: flex-start;
  padding: 0 10px;
  border-radius: 5px;
}
.post-slider .title {
	font-weight: bold;
	font-size: 1.2vw;
	margin-bottom: 0;
	margin-top: 0.73333vw;
	line-height: 1.3;
}
.post-slider .date {
	font-size: 0.86667vw;
	margin-top: 1vw;
}
.topicsArea .right {
  flex: 1;
  min-width: 0;
  overflow: hidden;
}
.topicsArea .left {
	width:20%;
}
.post-slider-nav {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-top: 20px;
}
.post-prev,
.post-next {
  cursor: pointer;
  background: #333;
  color: #fff;
  width: 3.47vw;
  height: 3.47vw;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: .3s;
}
.post-prev:hover,
.post-next:hover {
  background: #ffbf00;
}
.topicsArea {
	align-items:center;
}
.topicsArea h2{
	text-align:center;
	font-size: 1.6vw;
}
.topics .moreBtn {
	margin-left:auto;
	margin-right:auto;
}
.slide-link {
	color:#333;
}
.slide-link:hover,.slide-link:active,.slide-link:focus {
	color:#333;
	text-decoration:none;
}
.about {
	margin-bottom:0;
	padding-bottom: 100px;
}
.topAboutArea {
    margin: 100px auto 0;
    align-items: center;
}
.topAboutArea .left .inner-text{
	width: clamp(300px, 24.13vw, 555px);
	margin:0 auto;
}
.slideArea {
	margin:50px 0 0;
}
.loop-swiper .swiper-wrapper {
  transition-timing-function: linear;
}
.loop-swiper .swiper-slide{
	border-radius:10px;
	overflow:hidden;
}
.loop-swiper img {
  height: auto;
  width: 100%;
}
.fac {
  position: relative;
	margin: 0;
	padding-top: 100px;
	padding-bottom:80px;
	background: #efede0;
}
.titleArea {
	position:relative;
	height: 7.521vw;
	margin-bottom:2.173vw;
}
.fac-titleArea .img-title {
	position:absolute;
	top:0;
	right:15px;
	width: 33.333vw;
}
.fac-titleArea .top-title {
	position: absolute;
    bottom: 0;
    right: 15px;
    /* transform: translateY(-50%); */
    margin: 0;
	font-family: "M PLUS 2", sans-serif;
    font-size: clamp(24px, 2.1vw, 48px);
}
.top-mapBtn {
	width: clamp(560px, 41.74vw, 960px);
	margin: 4.35vw auto 6.52vw;
	background-color: #fff;
	display: flex;
	padding: clamp(30px, 2.17vw, 50px);
	border-radius: clamp(10px, 0.87vw, 20px);
	gap: 2vw;
	align-items: center;
}
.btn-textArea {
	width:60%;
}
.mapArea {
	width: 40%;
	text-align: center;
}
.siteArea {
	margin: 0 auto 2.17vw;
	width: calc(100% - 260px);
	list-style: none;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2.83vw;
}
.siteArea li {
	position: relative;
}
.photoBtn a {
	display: block;
	overflow: hidden;
	border-radius: 0.87vw; /* 20px */
}
.photoBtn img {
	width: 100%;
	display: block;
	transition: transform .5s ease;
	border-radius: 10px;
}
.photoBtn:hover a img {
	transform: scale(1.08);
}
.photoBtn .text-img {
	position: absolute;
	left: 50%;
	bottom: -0.17vw; /* 4px */
	transform: translateX(-50%);
	z-index: 5;
	width: calc(100% - 5.91vw);
}
.photoBtn .arrow {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3.48vw;
	height: 3.48vw;
	background: #333;
	color: #fff;
	position: absolute;
	bottom: -1.09vw;
	right: -1.09vw;
	border-radius: 50%;
	border: solid 0.43vw #efede0;
	z-index: 5;
	transition: background .3s ease;
}
.photoBtn .arrow i {
	font-size: 0.87vw;
	transition: transform .3s ease;
}
.photoBtn:hover .arrow {
	background: #ffbf00;
}
.photoBtn:hover .arrow i {
	transform: translateX(0.26vw);
}
.access {
	padding-top: 100px;
}
.Acc-titleArea .img-title {
	position:absolute;
	top:0;
	left:15px;
	width: 33.333vw;
}
.Acc-titleArea .top-title {
	position: absolute;
    bottom: 0;
    left: 15px;
    /* transform: translateY(-50%); */
    margin: 0;
    font-family: "M PLUS 2", sans-serif;
    font-size: clamp(24px, 2.1vw, 48px);
}
.Acc-titleArea .illust {
	position: absolute;
	width: 500px;
	top: -119px;
	left: 585px;
	z-index: -1;
}
.ac-flex {
  display: grid;
  grid-template-columns: 70% 30%;
  position: relative;
  align-items: stretch;
}
.acc-bgArea {
  grid-column: 2 / 3;
  position: relative;
  z-index: 1;
}
.acc-bgPhoto {
  background: url(https://hanamigahara.jp/wp-2026/wp-content/uploads/2026/02/photo_5.jpg) no-repeat center top;
  background-size: cover;
  height: 100%;
  min-height: 650px;
  border-radius: 20px 0 0 20px;
}
.acc-wap {
  grid-column: 1 / 2;
  position: relative;
  z-index: 2;
  padding: 80px 0;
}
.routeBox,
.routeBox-2 {
  background: #fff;
  padding: 40px;
  border-radius: 20px;
  width: 100%;
  position: relative;
  left: 15%;
  box-shadow: 0px 0px 20px -10px #ccc;
}
.routeBox {
  margin-bottom: 120px;
}
.routeTitle {
  font-size: 1.65vw;
  font-weight: bold;
  margin-bottom: 20px;
}
.access-route {
	margin-top:20px;
  position: relative;
  text-align: right;
}
.route-1,
.route-2,
.route-3 {
  position: absolute;
  left: 215px;
  font-weight: bold;
}
.route-1 { top: 40px; }
.route-2 { bottom: 100px; }
.route-3 { top: 80px; }

.wave,.wave-2,.wave-3 {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 10 / 1;
}
.wave::after {
  content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 1px;
	left: 0;
	background-image: url(https://hanamigahara.jp/wp-2026/wp-content/uploads/2026/02/wave-3.svg);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
}
.wave-2::after {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: -1px;
	left: 0;
	background-image: url(https://hanamigahara.jp/wp-2026/wp-content/uploads/2026/02/wave-2.svg);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
}
.wave-3::after {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 1px;
	left: 0;
	background-image: url(https://hanamigahara.jp/wp-2026/wp-content/uploads/2026/02/wave-4.svg);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
}
.pagelinkBtn {
	list-style: none;
	padding: 0;
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0.87vw;
}
.pagelinkBtn li {
	width: 100%;
}
.ankerLink {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: bold;
	letter-spacing: 0.09vw;
	text-decoration: none;
	color: #333;
	padding: clamp(10px, 0.65vw, 15px)
	         clamp(25px, 1.74vw, 40px)
	         clamp(10px, 0.65vw, 15px)
	         clamp(15px, 0.87vw, 20px);
	font-size: clamp(15px, 0.9565vw, 22px);
	border-radius: clamp(6px, 0.43vw, 10px);
	border: solid 3px #efede0;
}
.ankerLink::after {
	content: '\f063';
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	position: absolute;
	right: 0.87vw;
	top: 50%;
	transform: translateY(-50%);
	transition: transform .3s ease;
}
.ankerLink:hover::after {
	transform: translateY(-50%) translateY(0.26vw);
}
.pagelinkBtn li>a:hover,
.pagelinkBtn li>a:active,
.pagelinkBtn li>a:focus {
	text-decoration: none;
	color: #333;
	border-color: #ffbf00;
}
.wave-content h2 {
	margin-top:0;
}
.wave-top {
	margin-bottom:0;
	padding-bottom:80px;
}
.page-end.wave-top{
	margin-bottom: clamp(40px, 5vw, 100px);
}
.wave-content {
	background-color: #efede0;
	margin-bottom:0;
	padding-bottom:40px;
}
#stay-0 {
	padding-bottom: 0;
}
#stay-1 {
	/*background-color: #efede0;*/
	margin-bottom:0;
	padding-bottom: clamp(80px, 10vw, 200px);
}
#stay-1 h2 {
	margin-top:0;
}
.accessArea .left {
	width: 40%;
}
.accessArea .right {
	width: 60%;
}
.inner-map {
    height: 0;
    overflow: hidden;
    padding-bottom: 70%;
    position: relative;
}
.inner-map iframe {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
}
.rwd-access ul {
	margin-bottom:50px;
}
.guide-illust-flex {
	padding:0;
	margin:0;
	list-style:none;
	margin:30px auto;
}
.guide-illust-flex li {
	background:#efede0;
	padding:20px;
	border-radius:10px;
	display:flex;
	flex-direction:column;
	align-items:center;
	text-align:center;
}
.guide-illust-flex.list-4 img {
  width:8.695vw;
	height:8.695vw;       
	object-fit:contain;
	margin-top:auto;
}
.guide-illust-flex li p {
	font-weight:bold;
	font-size: 0.7826vw;
	text-align:center;
}
.guideBox .default-table {
	width:100%;
	max-width:1200px;
	margin:40px auto 0;
}
.guideBox .default-table th {
	font-size: 1.06667vw;
    background: #efede0;
    border-color: #fff;
}
.guideBox .default-table td {
	font-size: 1.06667vw;
}
.rwd-access .circle li {
    line-height: 1.6;
}
.gaide-innerBox {
	margin-bottom:30px;
}
.PhotoLinkArea {
  list-style: none;
  padding: 0;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(15px, 2vw, 40px);
}
.PhotoLinkArea li {
  overflow: hidden;
	border-radius:10px;
}
.PhotoLinkArea a {
  position: relative;
  display: block;
  aspect-ratio: 2 / 1;
  overflow: hidden;
  text-decoration: none;
  color: #fff;
	font-family: "M PLUS 2", sans-serif;
}
.PhotoLinkArea img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .6s ease;
}

.PhotoLinkArea a::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.35);
  z-index: 1;
  transition: background .4s ease;
}
.PhotoLinkArea span {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  z-index: 2;
  font-size: clamp(18px, 1.3vw, 26px);
  font-weight: 700;
  letter-spacing: 0.1em;
  text-align: center;
}
.PhotoLinkArea span i {
	transition: transform .35s cubic-bezier(.22,1,.36,1);
}
.PhotoLinkArea a:hover,.PhotoLinkArea a:active,.PhotoLinkArea a:focus {
	color:#fff;
}
.PhotoLinkArea a:hover img {
  transform: scale(1.1);
}
.PhotoLinkArea a:hover::before {
  background: rgba(0,0,0,0.2);
}
.PhotoLinkArea a:hover span i {
  transform: translateX(8px);
}
.text-img {
	width: 33.333vw;}
.page-end .text-img{
	margin-bottom: 50px;
	margin-top:60px;
}
.faq-item {
  background: #efede0;
  margin-bottom: 12px;
  border-radius: 12px;
  border: 1px solid #efede0;
  overflow: hidden;
  transition: background 0.3s ease;
}
.faq-question {
  width: 100%;
  background: none;
  border: none;
  text-align: left;
  padding: 22px 60px 22px 22px;
  font-size: clamp(14px, 1.06667vw, 24px);
  font-weight: 600;
  position: relative;
  cursor: pointer;
  outline: none;
  -webkit-tap-highlight-color: transparent;
  transition: background 0.3s ease;
}
.faq-question:focus,
.faq-question:active {
  outline: none;
  background: transparent;
}
.faq-question::-moz-focus-inner {
  border: 0;
}
.faq-icon {
  position: absolute;
  right: 24px;
  top: 50%;
  width: 16px;
  height: 16px;
  transform: translateY(-50%);
}
.faq-icon::before,
.faq-icon::after {
  content: "";
  position: absolute;
  background: #333;
  transition: transform 0.3s ease;
}
.faq-icon::before {
  width: 16px;
  height: 2px;
  top: 7px;
  left: 0;
}
.faq-icon::after {
  width: 2px;
  height: 16px;
  top: 0;
  left: 7px;
}
.faq-item.active .faq-icon::after {
  transform: scaleY(0);
}
.faq-answer {
  max-height: 0;
  overflow: hidden;
  background: #fff;
  opacity: 0;

  transition:
    max-height 0.45s cubic-bezier(.4,0,.2,1),
    opacity 0.25s ease;
}
.faq-answer-inner {
  padding: 22px;
}
.faq-item.active .faq-answer {
  opacity: 1;
}
.faq-answer p {
  margin: 0;
  line-height: 1.8;
  font-size: clamp(14px, 1.06667vw, 24px);
}
.entry__title {
	font-size: clamp(22px, 1.64vw, 38px);	
}
.entry__title a {
	color: #004976;
}
.entry__title a:hover,.entry__title a:active,.entry__title a:focus {
	color: #004976;
}
.site-cards3{
  list-style:none;
  margin:0 0 22px;
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:18px;
  padding: 18px;
}
.site-card{
  background:#fff;
}
.site-cardPhoto {
    border-radius: 16px;
    overflow: hidden;
}
.site-cardPhoto img{
  width:100%;
  height:auto;
  display:block;
}
.site-cardTitle{
  margin:12px 14px 6px;
  font-weight:700;
}
.site-cardText{
  margin:0 14px 14px;
  line-height:1.6;
  color:#555;
}
.site-cardsWrap{
  border-radius: 18px;
  overflow: hidden;
  background: #fff;
  margin: 0 0 24px;
  padding: 0;
  border: solid 5px #d3ccbb;
}
.site-cards3__action{
  text-align:center;
  margin: 18px 0 10px;
}
.site-cards3__toggle{
  border:none;
  background: #333;
  color: #fff;
  padding:12px 22px;
  font-weight:700;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-width: 200px;
  justify-content: center;
  border-radius: clamp(8px, 0.7vw, 14px);
}
/* 詳細は全幅ボックス */
.site-cards3__details {
    padding: 0 18px 18px;
}
.site-cards3__box{
  margin: 0;
    background: #f2f2f2;
    border-radius: 14px;
    padding: 14px;
}
.site-card__row {
    display: grid;
    grid-template-columns: 120px 1fr;
    gap: 10px;
    padding: 20px 0;
    border-bottom: 1px solid #ddd;
}
.site-card__row:last-child {
    border-bottom: none;
}
.site-card__row dt {
    font-weight: 700;
    color: #333;
}
.site-card__row dd {
    margin: 0;
    color: #333;
    line-height: 1.7;
}
.site-summaryBox{
  background:#efede0;
  border-radius:18px;
  padding:24px 26px;
  margin: 28px 0;
}
.site-summaryBox.w-site-summaryBox{
	background:#fff;
}
.site-specList{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:14px;
}
.site-specItem{
  display:flex;
  align-items:flex-start;
  gap:14px;
}
.site-specIcon{
  flex:0 0 42px;
  height:42px;
  border-radius:50%;
  background:#004976;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:16px;
  margin-top:2px;
}
.site-specBody{
  flex:1 1 auto;
  min-width:0;
}
.site-specLabel{
  margin:0 0 2px;
  font-weight:700;
  color:#333;
}
.site-specText{
  margin:0;
  line-height:1.7;
  color:#555;
}
section.stay-unit{
  border:1px solid #eee;
  border-radius:18px;
  overflow:hidden;
  background:#fff;
  margin: 0 0 24px;
  padding:0;
  border:solid 5px #d3ccbb;
}
.stay-unit__top{
  display:flex;
  gap:18px;
  padding:30px;
  align-items:stretch;
}
.stay-unit__left{
  flex:1 1 auto;
  min-width:0;
}
.stay-unit__title{
  margin:0 0 8px;
  font-size:22px;
  font-weight:700;
}
.stay-unit__lead{
  margin:0 0 14px;
  line-height:1.8;
  color:#555;
}
.stay-unit__right{
  flex: 0 0 50%;
  aspect-ratio: auto;
}

.stay-unit__media {
  aspect-ratio: 3 / 2;
  overflow: hidden;
  border-radius: 14px; 
}

.stay-unit__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.stay-unit__toggle{
  border:none;
  background: #333;
  color: #fff;
  padding:10px 14px;
  font-weight:700;
  cursor:pointer;
  display:inline-flex;
  gap:8px;
  align-items:center;
  min-width: 200px;
  justify-content: center;
  border-radius: clamp(8px, 0.7vw, 14px);
}
.stay-unit__chev{
  display:inline-block;
  transition: transform .2s ease;
}
.stay-unit__details{
  padding: 0 18px 18px;
}
.stay-unit__media2{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:12px;
  margin: 10px 0 14px;
}
.stay-unit__media img{
  width:100%;
  height:auto;
  display:block;
  border-radius:14px;
}
.stay-unit__video{
  position:relative;
  padding-top:56.25%;
  border-radius:14px;
  overflow:hidden;
  background:#000;
}
.stay-unit__video iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.stay-unit__spec{
  margin:0;
  background: #f2f2f2;
  border-radius:14px;
  padding:14px;
}
.stay-unit__row{
  display:grid;
  grid-template-columns: 120px 1fr;
  gap:10px;
  padding:20px 0;
  border-bottom:1px solid #ddd;
}
.stay-unit__row:last-child{ border-bottom:none; }
.stay-unit__row dt{
  font-weight:700;
  color:#333;
}
.stay-unit__row dd{
  margin:0;
  color:#555;
  line-height:1.7;
}
.stay-videoThumb{
  position:relative;
  border:none;
  padding:0;
  width:100%;
  background:transparent;
  cursor:pointer;
  border-radius:14px;
  overflow:hidden;
  display:block;
}
.stay-videoThumb img{
  width:100%;
  height:auto;
  display:block;
}
.stay-videoThumb__play{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:64px;
  height:64px;
  border-radius:50%;
  background:rgba(0,0,0,.75);
  display:block;
  box-shadow:0 10px 30px rgba(0,0,0,.35);
  transition:.25s ease;
}
.stay-videoThumb__play::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-40%,-50%);
  width:0;
  height:0;
  border-left:18px solid #fff;
  border-top:11px solid transparent;
  border-bottom:11px solid transparent;
}
.stay-videoThumb:hover .stay-videoThumb__play{
  transform:translate(-50%,-50%) scale(1.08);
  background:#000;
}
.stay-videoModal{
  position:fixed;
  inset:0;
  z-index:999999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:16px;
}
.stay-videoModal__overlay{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.65);
}
.stay-videoModal__dialog{
  position:relative;
  width:min(920px, 100%);
  background:#000;
  border-radius:16px;
  overflow:hidden;
  z-index:1;
}
.stay-videoModal__close{
  position:absolute;
  top:12px;
  right:12px;
  width:44px;
  height:44px;
  border-radius:999px;
  border:none;
  background:rgba(0,0,0,.65);
  color:#fff;
  font-size:28px;
  font-weight:700;
  line-height:1;
  cursor:pointer;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:.2s ease;
}

.stay-videoModal__frame{
  position:relative;
  padding-top:56.25%; /* 16:9 */
}
.stay-videoModal__video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.stay-videoModal[hidden]{
  display:none !important;
}
.stay-videoModal[aria-hidden="true"]{
  pointer-events:none;
}
.stay-videoModal__close:hover{
  background:#333;
  transform:scale(1.08);
}
.stay-videoModal__close:active{
  transform:scale(.95);
}
.free-site {
	padding-top:28px;
}
.detail-toggle__action{
  text-align:center;
  margin: 18px 0 10px;
}
.detail-toggle__btn{
  border:none;
  background:#333;
  color:#fff;
  border-radius: clamp(8px, 0.7vw, 14px);
  padding:12px 22px;
  font-weight:700;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:8px;
	padding: clamp(10px, 0.8vw, 16px) clamp(18px, 1.5vw, 30px) clamp(10px, 0.8vw, 16px) clamp(32px, 2.5vw, 50px);
	width: clamp(260px, 22vw, 420px);
	justify-content: center;
	font-size: clamp(14px, 1.1vw, 18px);
}
.detail-toggle__btn[aria-expanded="true"],.site-cards3__toggle[aria-expanded="true"],.stay-unit__toggle[aria-expanded="true"]{
    background: #ffbf00;
}
.detail-toggle__chev {
  position: relative;
  width: 14px;
  height: 14px;
  display: inline-block;
}
/* ＋の横棒 */
.detail-toggle__chev::before,
.detail-toggle__chev::after {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
  height: 2px;
  background: currentColor;
  transform-origin: center;
  transition: transform .25s ease;
}
/* 横線 */
.detail-toggle__chev::before {
  transform: translateY(-50%);
}
/* 縦線 */
.detail-toggle__chev::after {
  transform: translateY(-50%) rotate(90deg);
}
.detail-toggle__btn[aria-expanded="true"] .detail-toggle__chev::before {
  transform: translateY(-50%) rotate(45deg);
}
.detail-toggle__btn[aria-expanded="true"] .detail-toggle__chev::after {
  transform: translateY(-50%) rotate(-45deg);
}
.site-cards3__chev{
  transition:transform .2s ease;
}
.site-cards3__toggle[aria-expanded="true"] .site-cards3__chev{
  transform:rotate(45deg);
}
.stay-unit__toggle[aria-expanded="true"] .detail-toggle__chev{
  transform: rotate(45deg);
}
.detail-toggle__box{
  background:#fafafa;
  border:1px solid #eee;
  border-radius:16px;
  padding:18px;
	border: solid 5px #d3ccbb;
}
.detail-toggle__spec {
	background: #f2f2f2;
	border-radius: 14px;
	padding: 14px;
	margin-bottom:0px;
}
.detail-toggle__row{
  display:grid;
  grid-template-columns: 120px 1fr;
  gap: 10px;
  padding: 20px 0;
  border-bottom:1px solid #ddd;
}
.detail-toggle__row:last-child{ border-bottom:none; }
.detail-toggle__row dt{ font-weight:700; margin:0; }
.detail-toggle__row dd{ margin:0; line-height:1.7; }

.price-main .price-structure{
  gap: clamp(9px, 0.7826vw, 18px);
}
.price-main .price-box,
.price-main .price-total{
  padding: 16px 24px;
  border-radius: 14px;
}
.price-main .price-plus,
.price-main .price-equal{
  font-size: clamp(16px, 1.043vw, 24px);
}
.site-cards3.site-cards3--rules {
	grid-template-columns: repeat(2, 1fr);
}
.site-cards3--rules .site-card{
  background:#fff;
  border-radius:16px;
  padding:24px 20px;
  text-align:center;
  box-shadow:0 6px 18px rgba(0,0,0,0.06);
}
.site-cardIcon{
  width: clamp(95px, 6.5217vw, 150px);
  height: clamp(95px, 6.5217vw, 150px);
  margin:0 auto 14px;
  border-radius:50%;
  background: #004976;
  display:flex;
  align-items:center;
  justify-content:center;
}
.site-cardIcon i{
  font-size: 60px;
  color:#fff;
  line-height:1;
  font-size: clamp(35px, 2.608vw, 60px);
}
.site-cards3--rules .site-cardTitle{
  margin-bottom:8px;
  font-size: clamp(22px, 1.64vw, 38px);
}
.site-cards3--rules .site-cardText {
	text-align:left;
}
.price-structure{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  flex-wrap:wrap;
  margin:20px 0;
}
.price-box{
  background:#efede0;
  padding:12px 18px;
  border-radius:10px;
  font-weight:700;
}
.price-plus,
.price-equal{
  font-size:20px;
  font-weight:700;
}
.price-total{
  background: #ffbf00;
  color:#fff;
  padding:12px 18px;
  border-radius:10px;
  font-weight:700;
}
.number {
	list-style:none;
	padding:0;
	margin:0;
}
.number li{
	padding-bottom:15px;
}
.number li span {
  display: inline-flex;       /* ← ここがポイント */
  align-items: center;        /* 縦中央 */
  justify-content: center;    /* 横中央 */
  background: #004976;
  width: 40px;
  height: 40px;
  color: #fff;
  border-radius: 999px;
  margin-right: 10px;
  flex: 0 0 40px;             /* 幅を固定してズレ防止 */
  line-height: 1;             /* 数字の上下ズレ抑制 */
}
/*--------------------footer--------------------*/
.tel-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 290px;
	margin: 30px auto 0;
	background: #f6ce47;
	padding: 10px 20px;
	color: #004088;
	font-weight: bold;
	text-decoration: none;
}
.tel-btn:before {
	content: '\f095';
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	color: #004088;
	transform: none;
}
.tel-btn:hover,.tel-btn:active {
	opacity:0.7;
	text-decoration:none;
	transition:all .5s;
	color: #004088;
}
.g-btn {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: clamp(260px, 22vw, 420px);
    min-height: clamp(44px, 3vw, 60px);
    margin: clamp(40px, 3vw, 60px) auto 0;
    padding:
        clamp(10px, 0.8vw, 16px)
        clamp(32px, 2.5vw, 50px)
        clamp(10px, 0.8vw, 16px)
        clamp(18px, 1.5vw, 30px);

    background: #004976;
    background-size: 200% 100%;
    background-position: right bottom;
    color: #fff;
    font-weight: bold;
    font-size: clamp(14px, 1.1vw, 18px);
    letter-spacing: 0.12em;
    text-decoration: none;
    border-radius: clamp(8px, 0.7vw, 14px);
    font-family: "M PLUS 1 Code", monospace;
    transition: background-position .4s ease;
}
.g-btn:after {
    content: '\f3c5';
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    color: #fff;
    margin-left: clamp(8px, 1vw, 16px); 
}
.g-btn:hover,.g-btn:active,.g-btn:focus {
	opacity:0.7;
	text-decoration:none;
	transition:all .5s;
	color: #fff;
}
/*パターンA*/
#f-infoArea-A {
	/*display: flex;
	justify-content: space-between;*/
	margin: 0 0 60px;
}
.f-info .info{
	display:block;
	padding:0 30px;
}
#f-infoArea-A .f-logo {
	width:11.73vw;
	margin: 30px auto 20px;
}
#f-infoArea-A .f-address {
	margin-bottom:20px;
	text-align: center;
}
#f-infoArea-A table {
	width:100%;
	margin-top:30px;
}
.f-btn {
	display:block;
	width:250px;
	margin:10px auto 0;
	background-color: #999;
	text-align:center;
	color:#fff;
	border:solid 1px #999;
	padding:3px 0;
	border-radius:50px;
}
.f-btn:hover{
	background-color:#fff;
	color:#014099;
	text-decoration:none;
}
.f-btn i {
	padding-right:5px;
}
/*パターンAここまで*/
/*パターンBここまで*/
.f-menuArea {
	background-color:#efede0;
}
.f-menu {
	list-style:none;
	padding:0;
	margin:30px 0;
	display:flex;
	justify-content:space-around;
	color: #ffbf00;
}
.f-menu li i {
	padding-right:5px;
}
.f-menu a {
	color: #333;
}
.f-menu a:hover {
	color: #333;
}
.copyright {
	text-align:center;
	color: #333;
	background-color: #efede0;
}
.copyright a {
	color: #ffae00;
}
.copyright a:hover {
	color: #ffae00;
}

#footerFloatingMenu {
	display:none;
}
.f-wapper{
	width:90%;
	margin:0 auto;
}
.f-menu {
	display:flex;
	flex-wrap:wrap;
	justify-content:flex-start
}
.f-main-menu {
	width:calc((100% / 5) - 10px);
	margin:30px 5px;
	font-weight:bold;
}
.f-menu li i {
	padding-right:0;
	margin-right: calc(5px - 5 * (100vw - 990px) / 969);
}
.f-main-menu a {
	font-size: calc(15px + 6 * (100vw - 990px) / 969);
}
.f-sub-menu {
	list-style:none;
	padding:0;
	padding-left: calc(25px - 10 * (100vw - 990px) / 969);
}
.sub-menu-list {
	padding-top: calc(1px - 4 * (100vw - 990px) / 969);
	padding-bottom: calc(1px - 4 * (100vw - 990px) / 969);
}
.sub-menu-list a {
	font-size: calc(13px + 3 * (100vw - 990px) / 969);
}
.fixed-btn-area {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.fixed-btn {
  width: 90px;
  height: 90px;
  background: #333;
  color: #fff;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  font-size: 12px;
  font-weight: bold;
  gap: 2px;
  transition: 0.3s ease;
  opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.3s ease;
}
/* 表示状態 */
.fixed-btn.is-show {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}
.fixed-btn:hover ,.fixed-btn:active,.fixed-btn:focus{
  text-decoration: none;
  color: #fff;
}
.fixed-btn i {
  font-size: 30px;
}
.site-branding {
    padding: 10px 0;
}
/*--------------------RWD(ここから)--------------------*/
@media screen and (max-width:1200px) {
.site-branding__heading img {
    max-width: 200px;
}
.page-header__title .title_xl {
	font-size: calc(26px + 34 * (100vw - 350px) / 850);
}
.responsive-nav a {
    font-size: 15px !important;
    padding: 17px 10px !important;
}
}
@media screen and (max-width:991px){
.wave-content {
    padding-top: 30px;
}
.wave-top {
	padding-top: 30px;
}
.wave-top:first-child {
	padding-top: 0;
}

.spArea {
	display: flex;
	background: #efede0;
	align-items: center;
	padding: 30px 0;
}
h2 {
	font-size: clamp(30px, 4.339vw, 43px);
}
h3 {
	font-size: clamp(26px, 3.517vw, 35px);
	margin-top: clamp(30px, 4.036vw, 40px);
        margin-bottom: 20px;
}
.cap {
    font-size: clamp(12px, 0.013vw, 13px);
}
.today_date {
	margin: 0;
	width:100%;
}
.today_date ul {
    display: block;
	width:100%;
}
.today_date ul:after {
	content:none;
}
.today_date ul li {
    width: 100%;

}
.mv-navBtnArea {
	width: calc(100% / 2);
}
.sp-info {
	width: calc(100% / 2);
	border-right: solid 1px #333;
}
.y {
    font-size: 25px;
	display: inline-flex;
	padding-right: 10px;
}
.d {
    font-size: 35px;
}
.w {
    font-size: 25px;
    padding-left: 10px;
}
.statusTextBox {
	font-size: 17px;
	width: 40%;
	margin: 0 auto;
}
.weatherBtn {
    width: 30%;
    font-size: 13px;
}
.mv-navBtnArea li {
    width: 80%;
    margin: 15px auto;
}
.Top_weather span {
	display:none;
}
.Top_date-inner {
    margin: 0 auto 20px;
}
.mv-navBtnArea li>a.contactBtn {
    font-size: calc(21px + 9 * (100vw - 990px) / 969);
    letter-spacing: 1px;
}
#responsive-btn,
#responsive-btn:before,
#responsive-btn:after {
    font-family: initial !important;
    content: none !important;
}

#responsive-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 30px;
    position: relative;
    cursor: pointer;
    z-index: 1001; /* メニューの上に表示 */
	border-color: transparent !important;
    color: transparent  !important;
}

#responsive-btn span {
    position: absolute;
    display: block;
    height: 2px;
    width: 100%;
    background: #004976;
    left: 0;
    border-radius: 2px;
    transition: all 0.3s ease;
}

#responsive-btn span:nth-child(1) { top: 0; }
#responsive-btn span:nth-child(2) { top: 12px; }
#responsive-btn span:nth-child(3) { top: 24px; }

#responsive-btn:hover span ,#responsive-btn:active span {
    background: #004976;
}

#responsive-btn.open span:nth-child(1) {
    transform: rotate(31deg) !important;
    top: 12px !important;
}
#responsive-btn.open span:nth-child(2) {
    opacity: 0 !important;
}
#responsive-btn.open span:nth-child(3) {
    transform: rotate(-31deg) !important;
    top: 12px !important;
}
#responsive-btn:hover {
    background-color: transparent !important;
}

.mv-left {
	display:none;
}
.mv-right {
	width:100%;
	height:100vw;
}
/*header*/
.site-branding {
	padding-top:calc(12px + 8 * (100vw - 350px) / 642);
	padding-bottom:calc(12px + 8 * (100vw - 350px) / 642);
}
.site-branding__heading img {
    width: calc(170px + 130 * (100vw - 350px) / 642);
}
.topnav2,.topnav3 {
	display:none;
}
.moreBtn {
    width: 400px;
	max-width: 80%;
	font-size: clamp(18px, 2.4217vw, 24px);
	margin: 30px auto 0;
}
.title {
    font-size: clamp(22px, calc(22px + (48 - 22) * ((100vw - 350px) / (991 - 350))), 48px);
}
/*トップ*/
.img-title.img-title-tate {
    width: 9.58vw;
}
.topicsArea h2 {
    font-size: clamp(18px, 2.3208vw, 23px);
}
.post-prev, .post-next {
    width: clamp(40px, 6.0544vw, 60px);
    height: clamp(40px, 6.0544vw, 60px);
}
.post-prev i, .post-next i{
	font-size: clamp(15px, 4.2857vw, 24px);
}
.post-slider .cat {
    font-size: 16px;
}
.post-slider .title {
   font-size: 3vw;
}
.post-slider .date {
    font-size: 2.3vw;
}
.topAboutArea {
    display: block;
    margin: 50px auto 0;
}
.topAboutArea .left {
	width:100%;
}
.topAboutArea .left .inner-text {
    max-width: 94.04vw;
    margin: 0 auto;
	width: 100%;
	font-size: clamp(15px, 4.2857vw, 24px);
}
.inner-text .title {
    font-size: clamp(
      22px,
      calc(22px + (48 - 22) * ((100vw - 350px) / (991 - 350))),
      48px
    );
}
.topAboutArea .right {
	width:100%;
	margin-top: 50px;
}
.titleArea {
    height: 17.154vw;
    margin-bottom: 4.03632vw;
}
.fac-titleArea .img-title {
    width: 70vw;
}
.fac-titleArea .top-title {
    font-size: clamp(30px, calc(30px + (50 - 30) * ((100vw - 350px) / (991 - 350))), 50px);
}
.rwd-pc {
	display:block;
}
.top-mapBtn.rwd {
	display:none;
}
.top-mapBtn.rwd-pc {
	display: flex;
}
.btn-textArea .text{
	font-size: clamp(15px, 4.2857vw, 24px);
}
.btn-textArea .title {
	font-size: clamp(22px, calc(22px + (48 - 22) * ((100vw - 350px) / (991 - 350))), 48px);
}
.siteArea.rwd {
	display:none;
}
.siteArea.rwd-pc {
	display:block;
}
.fac {
    padding-top: 50px;
    padding-bottom: 50px;
}
.siteArea {
    width: 90%;
    grid-template-columns: repeat(2, 1fr);
	margin: 0 auto 80px;
}
.photoBtn .arrow {
	width: 6.054vw;
	height: 6.054vw;
	bottom: -2.0181vw;
	right: -2.0181vw;
	border: solid 0.504vw #efede0;
}
.photoBtn .arrow i {
    font-size: clamp(15px, 2.421vw, 24px);
}
.photoBtn .text-img {
    width: 70%;
}
.top-mapBtn {
    width: 100%;
    max-width: 77.59vw;
}
.rwd-access {
	display: block;
	max-width: 94.04vw;
	margin: 0 auto;
	width: 100%;
}
.rwd-access .circle li {
    font-size: clamp(15px, 4.2857vw, 24px);
}
.rwd-access .circle li:before {
	font-size: clamp(15px, 0.85vw, 20px);
}

.access {
    padding-top: 50px;
}
.Acc-titleArea .img-title {
    width: 70vw;
}
.Acc-titleArea .top-title {
    font-size: clamp(30px, calc(30px + (50 - 30) * ((100vw - 350px) / (991 - 350))), 50px);
}
.ac-flex {
    display: none;
}
.rwd-access .inner-photo {
	width:720px;
	max-width:90%;
	margin:0 auto 30px;
}
.site-cards3{
	grid-template-columns: repeat(2, 1fr); 
}
/*固定ページ*/
.wap-1200,.wap-1500,.wap-1800 {
    max-width: 95%;
    width: 100%;
}
.ankerLink {
	font-size: clamp(15px, 2.2199vw, 22px);
}
.page-header__title .title_xl {
	font-size: clamp(30px, calc(30px + (50 - 30) * ((100vw - 350px) / (991 - 350))), 50px);
}
.content-top {
    margin-top: clamp(40px, 7.063vw, 70px);
}
.flexBox .inner-text,.defaultBox .inner-text,.default-text {
    font-size: clamp(16px, 1.816vw, 18px);
}
.flexBox .inner-text .title,.defaultBox .inner-text .title {
    font-size: clamp(26px, 3.517vw, 35px);
}
.flexBox.default-size .inner-photo {
    aspect-ratio: 1 / 1;
}
.default-table {
    width: 100%;
}
.default-table th,.default-table td {
    font-size: clamp(14px, 1.614vw, 16px);
}
.name {
	font-size: clamp(16px, 1.816vw, 18px);
}
.name span.mintext {
    font-size: clamp(13px, 1.5136vw, 15px);
}
.accessArea .left {
    width: 45%;
}
.accessArea .right {
    width: 55%;
}
.inner-map {
    padding-bottom: 100%;
}
.kanri {
	display:block;
}
.kanri .left {
	width: 100%;
    max-width: 590px;
	margin:0 auto 30px;
}
.kanri .right {
    width: 100%;
	max-width: 590px;
	margin:0 auto;
}
.kanri.flexBox .inner-photo {
    aspect-ratio: 2 / 1;
}
.guideBox {
    font-size: clamp(16px, 1.816vw, 18px);
}
.guideBox .default-table th,.guideBox .default-table td {
    font-size: clamp(16px, 1.816vw, 18px);
}
.guide-illust-flex li p {
    font-size: clamp(13px, 1.513vw, 15px);
}
.guide-illust-flex.list-4 {
    grid-template-columns: repeat(4, 1fr);
}
.guide-illust-flex.list-4 img {
    width: clamp(80px, 13.118vw, 130px);
    height: clamp(80px, 13.118vw, 130px);
}
.faq-question,.faq-answer p {
    font-size: clamp(16px, 1.816vw, 18px);
}
.faq-link .ankerLink {
    font-size: 1.412vw;
}
.text-img {
    width: 70vw;
}
.entry__title {
	font-size: clamp(26px, 3.517vw, 35px);
}
.detail-toggle__btn {
    width: 400px;
    max-width: 80%;
    font-size: clamp(18px, 2.4217vw, 24px);
    margin: 30px auto 0;
}
.site-specItem {
    font-size: clamp(16px, 1.816vw, 18px);
}
.site-card {
    font-size: clamp(16px, 1.816vw, 18px);
}
.site-cards3__box,.stay-unit__spec,.detail-toggle__spec {
    font-size: clamp(16px, 1.816vw, 18px);
}
.stay-unit__lead {
    font-size: clamp(16px, 1.816vw, 18px);
}
.site-cards3--rules .site-cardTitle {
    margin-bottom: 8px;
    font-size: clamp(27px, 1.5217vw, 35px);
}
.site-cards3.site-cards3--rules {
    grid-template-columns: repeat(1, 1fr);
}
.number li{
    font-size: clamp(16px, 1.816vw, 18px);
}
.number li span{
    width: 2.4em;
    height: 2.4em;
    flex: 0 0 2.4em;
    font-size: 0.95em;
  }
/*footer*/
/*パターンA*/
#f-infoArea-A {
    display: block;
}
#f-infoArea-A .info {
    width: 100%;
    margin-bottom: 50px;
}
#f-infoArea-A .map {
    width: 80%;
    padding: 0 30px;
    margin: 0 auto;
}
#f-infoArea-A .f-address {
    font-size: clamp(15px, 4.2857vw, 24px);
}
/*パターンAここまで*/
/*フロート*/
.copyright {
	padding: 15px 0;
}
/*フッター*/
#f-infoArea-A .f-logo {
    width: clamp(150px, 25.227vw, 250px);
}
.f-main-menu a {
    font-size: 21px;
}
.f-main-menu {
    width: calc((100% / 2) - 10px);
}
.sub-menu-list a {
    font-size: 16px;
}
.f-sub-menu {
    padding-left: 35px;
}
.f-menu {
	margin-top: calc(0px + 30 * (100vw - 350px) / 642);
}
.g-btn {
	width: auto;
	width: 400px;
	max-width: 90%;
	font-size: 24px;
}

/*パターンB*/
}
@media screen and (max-width:768px) {
.page-header {
    margin: 0 0 0 15%;
    width: 100vw;
    height: 93.86667vw;
}
/*トップ*/
.top-mapBtn.rwd-pc {
	width: 90%;
	max-width: 100%;
	display: block;
}
.btn-textArea {
    width: 100%;
}
.mapArea {
    width: 100%;
    margin-top: 30px;
}
.moreBtn {
	margin: 30px auto 0;
}
.list-2 {
    grid-template-columns: repeat(1, 1fr);
}
.list-3 {
    grid-template-columns: repeat(2, 1fr);
}
.list-4 {
    grid-template-columns: repeat(3, 1fr);
}
.flexBox {
	display: block;
}
.flexBox .left {
    width: 100%;
    max-width:560px;
	margin:0 auto 50px;
	margin-bottom: clamp(30px, 6.5104vw, 50px);
}
.flexBox .right,.flexBox.flex_re .right {
    width: 100%;
    max-width:560px;
	margin:0 auto 30px;
}
#about-6 .inner-text.default-text {
    width: 100%;
    max-width: 560px;
    margin: 0 auto 30px;
	font-size: clamp(15px, 3.125vw, 24px);
	line-height: 1.7;
}
.flexBox .inner-text, .defaultBox .inner-text, .default-text,.guideBox .inner-text {
	font-size: clamp(15px, 3.125vw, 24px);
	line-height: 1.7;
}
.flexBox.default-size .inner-photo {
	aspect-ratio: 3 / 2;
}
.default-table th, .default-table td {
	font-size: clamp(15px, 2.734vw, 21px);
	line-height: 1.7;
}
.flexBox .reserveBtn {
    margin: 30px auto 0;
}
.cap {
    font-size: clamp(12px, 2.343vw, 16px);
}
.sightseeingArea .flexBox {
	margin-bottom: 60px;
	padding-bottom: 50px;
	border-bottom: solid 1px #ccc;
}
.faq-question, .faq-answer p {
	font-size: clamp(15px, 2.6041vw, 20px);
}
.faq-link.pagelinkBtn {
    grid-template-columns: repeat(2, 1fr);
}
.faq-link .ankerLink {
	font-size: clamp(14px, 2.2199vw, 22px);
}
.PhotoLinkArea {
    grid-template-columns: repeat(2, 1fr);
}
.PhotoLinkArea span {
    font-size: clamp(14px, 2.340vw, 18px);
}
.archive-line{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:6px;
}
.archive-date,
.archive-title,
.archive-cat{
    width:100%;
}
.archive-date{ flex:0 0 auto; }
.archive-title{ flex:0 0 auto; min-width:0; }
.archive-cat{ flex:0 0 auto; white-space:normal;
}
.site-cards3{
	grid-template-columns: 1fr; 
}
.stay-unit__top{
	flex-direction:column;
}
.stay-unit__right{
	flex-basis:auto;
}
.stay-unit__media2{
	grid-template-columns: 1fr;
}
.stay-unit__row{
	grid-template-columns: 1fr;
}
.detail-toggle__row{ grid-template-columns: 1fr; }
.site-specItem {
    font-size: clamp(15px, 3.125vw, 24px);
}
.site-card,.stay-unit__lead {
    font-size: clamp(15px, 3.125vw, 24px);
}
.site-cards3__box, .stay-unit__spec, .detail-toggle__spec {
	font-size: clamp(15px, 3.125vw, 24px);
}
.site-card__row {
    grid-template-columns: 1fr;
}
.stay-unit__toggle.sp-toggle-none {
	display:none;
}
.stay-unit__toggle.sp-toggle-display {
 	display: flex;
        margin: 28px auto;
        width: fit-content;
}
.stay-unit__right {
  aspect-ratio: auto;          /* ボタン分も含めて高さが伸びる */
}
.defaultBox .inner-photo {
    aspect-ratio: 3 / 2;
}

.number li{
    font-size: clamp(15px, 2.864vw, 22px);
    line-height: 1.7;
}
.number li span{
    width: 2.4em;
    height: 2.4em;
    flex: 0 0 2.4em;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.9em;   /* ← 少し内側に収める */
    line-height: 1;
}
/*フッター*/
.f-menu li i {
    font-size: clamp(15px, 2.734vw, 21px);
}
}
@media screen and (max-width:600px) {
.pc {
	display:none;
}	
.sp {
	display:block;
}
/*header*/
.page-header {
	margin: 0 0 0 5%;
}
.page-header__title {
    padding: 24px 4vw;
}
.page-header__title:before {

}
.page-header__title .title {
    padding: 0 2vw;
}
/*トップ*/
.spArea {
	display: block;
}
.sp-info {
	border-right: none;
	padding: 0 0 30px;
	margin: 0 auto 30px;
	border-bottom: solid 1px #333;
	width: 90%;
}
.today_date {
	margin: 0 auto;
	width: 50%;
}
.statusTextBox {
	width:180px;
}
.weatherBtn {
	width:130px;
}
.mv-navBtnArea {
	width: 100%;
	display: flex;
	gap: 2%;
}
.mv-navBtnArea li>a {
	height:60px;
}
.mvNewsArea ul {
	padding-left:10px;
	padding-right:5px;
}
.mvNewsList a:after {
	right:5px;
}
.topicsArea .left {
    width: 30%;
}
.topicsArea .right {
    width: 70%;
}
.post-slider .title {
	font-size: clamp(23px, 5.333vw, 32px);
}
.post-slider .date {
	font-size: clamp(20px, 4vw, 24px);
}
.img-title.img-title-tate {
	width: 50%;
}
.fac-titleArea .top-title {
	position: static;
	text-align: left;
	margin-left: 15px;
}
.fac-titleArea .img-title {
	width: 85%;
	position: static;
	margin: 0 auto 20px 15px;
}
.titleArea {
	height: 100%;
	margin-bottom: 3.0272vw;
}
.post-slider .meta {
    padding: 2.5vw;
}
.photoBtn .arrow {
	width: clamp(40px, 13.3333vw, 60px);
	height: clamp(40px, 13.3333vw, 60px);
	bottom: -20.0181px;
	right: -20.0181px;
	border: solid 0.8072vw #efede0;
}
.photoBtn .arrow i {
	font-size: 24px;clamp(15px, 2.4217vw, 24px);
}
.photoBtn .text-img {
	width: 75%;
	bottom: -8.8333vw;
}
.Acc-titleArea .top-title {
	position: static;
	text-align: left;
	margin-left: 15px;
}
.Acc-titleArea .img-title {
	width: 85%;
	position: static;
	margin: 0 auto 20px 15px;
}
.siteArea {
	grid-template-columns: repeat(1, 1fr);
	gap: 50px;
}
.fixed-btn i {
    font-size: clamp(20px, 5vw, 30px);
}
/**/
.pagelinkBtn,.faq-link.pagelinkBtn {
    grid-template-columns: repeat(1, 1fr);
}
.ankerLink,.faq-link .ankerLink {
	font-size: clamp(20px, 3.333vw, 22px);
}
.list-3 {
	grid-template-columns: repeat(1, 1fr);
}
.list-4 {
	grid-template-columns: repeat(2, 1fr);
}
.guide-illust-flex.list-4 {
        grid-template-columns: repeat(2, 1fr);
    }
.guide-illust-flex.list-4 img {
	width: 100px;
	height: 100px;
}
.ankerLink::after {
    right: 2.5vw;
}
.text-img {
	width: 83%;
	margin-bottom: clamp(30px, 8.333vw, 50px);
	margin-top: clamp(30px, 10vw, 60px);
}
.price-structure {
    display: block;
}
.price-main .price-plus, .price-main .price-equal {
    font-size: 20px;
}
.price-main .price-equal {
    transform: rotate(90deg);
}
.price-structure {
	display: block;
	font-size: 18px;
}
/*フッター*/
.f-main-menu a {
	font-size: calc(15px + 6 * (100vw - 350px) / 250);
}
.sub-menu-list a {
	font-size: calc(13px + 3 * (100vw - 350px) / 250);
}
.fixed-btn {
    width: clamp(60px, 15vw, 90px);
    height: clamp(60px, 15vw, 90px);
	line-height: 1;
}
/*パターンA*/
.f-info .info {
   padding: 0;
}
.f-main-menu {
	width: 100%;
	margin-top: calc(10px + 20 * (100vw - 350px) / 250);
	margin-bottom: calc(10px + 20 * (100vw - 350px) / 250);
}
.sub-menu-list {
    padding-top: 0;
    padding-bottom: 0;
}
}
@media screen and (max-width:480px){
/*header*/
/*トップ*/
.mv-NewsTitle {
	width:25%;
}
.mvNewsArea {
	width:75%;
}
.mv-navBtnArea {
	display: block;
}
.mv-navBtnArea li>a {
	height:60px;
}
.today_date {
	margin: 0 auto;
	width: 70%;
}
.right .inner-photo {
    margin-left: 20px;
}
.rwd-access .inner-photo {
	max-width: 100%;
}
/*フッター*/
.g-btn {
	width:auto;
}
}

/* ===============================
   ContactForm7 Layout (整理版)
=============================== */

.wpcf7 { max-width: 100%; }

/* 外枠（必要なら） */
.contactBox{
  background:#efede0;
  padding:20px 30px;
  border-radius:18px;
  margin-bottom:80px;
}

/* テーブルを “縦並びフォーム” として扱う */
table.contact-page{
  width:min(800px, 92%);
  margin:20px auto;
  font-size:0.95em;
  border-collapse:separate;
  border-spacing:0 14px; /* 行間 */
}

table.contact-page tr{ }
table.contact-page th,
table.contact-page td{
  display:block;
  width:100%;
  padding:0;
}

table.contact-page th{
  padding:0 0 6px;
  font-weight:700;
}

table.contact-page th .hicap{
  font-size:0.85em;
  opacity:0.7;
  font-weight:400;
  margin-left:6px;
}

table.contact-page th span.req{
  background:#ffbf00;
  color:#fff;
  font-size:0.8em;
  padding:2px 8px;
  display:inline-block;
  margin-left:10px;
  border-radius:3px;
  vertical-align:middle;
}

/* 入力 */
table.contact-page td input[type="text"],
table.contact-page td input[type="email"],
table.contact-page td input[type="tel"],
table.contact-page td input[type="url"],
table.contact-page td textarea{
  display:block;
  width:100%;
  border:0;
  border-radius:8px;
  background:#fff;
  box-shadow:none;
  color:#5c6b80;
  font-size:1em;
}

table.contact-page td input[type="text"],
table.contact-page td input[type="email"],
table.contact-page td input[type="tel"],
table.contact-page td input[type="url"]{
  height:45px;
  padding:0 12px;
  line-height:45px;
}

table.contact-page td textarea{
  height:145px;
  padding:12px;
  line-height:1.6;
  resize:vertical;
  min-height:140px;
}

/* CF7 wrap */
.wpcf7-form-control-wrap{ display:block; }

/* フォーカス（既存指定を整理してもOK） */
.wpcf7 input:focus,
.wpcf7 textarea:focus,
.wpcf7 select:focus{
  color:#272343;
  background-color:#eff1f5;
  outline:0;
  box-shadow:0 0 0 0.12rem rgb(39 35 67 / 35%);
}

/* ===============================
   Radio（floatやめてflex）
=============================== */

.wpcf7-form-control.wpcf7-radio{
  display:flex;
  flex-wrap:wrap;
  gap:12px 18px;
}

span.wpcf7-list-item{
  margin:0 !important;
}

/* radioのinputは隠す */
.wpcf7 input[type="radio"]{
  position:absolute;
  opacity:0;
}

/* ラベル装飾 */
.wpcf7 .wpcf7-list-item-label{
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:8px;
}

/* radio丸 */
.wpcf7 .wpcf7-list-item-label:before{
  content:'';
  background:#fff;
  border-radius:999px;
  border:1px solid #272343;
  width:1.05em;
  height:1.05em;
  display:inline-block;
  transition:all 250ms ease;
}

/* checked */
.wpcf7 input[type="radio"]:checked + .wpcf7-list-item-label:before{
  background-color:#004976;
  box-shadow:inset 0 0 0 3px #fff;
}

/* ===============================
   Privacy box
=============================== */

.privacy-check{
  width:min(800px, 92%);
  margin:10px auto 0;
  font-size:0.9em;
}

.privacy{
  width:min(800px, 92%);
  margin:12px auto 0;
  height:150px;
  overflow:auto;
  border:solid 1px #ccc;
  padding:16px;
  background:#fff;
  border-radius:12px;
}

.privacy-inner{
  font-size:16px;
  line-height:1.6;
}

/* acceptance（チェック） */
.privacy-box{
  width:min(800px, 92%);
  margin:18px auto 0;
  display:flex;
  justify-content:center;
}

/* checkboxを隠す */
.privacy-box input[type="checkbox"]{
  position:absolute;
  opacity:0;
}

.privacy-box .wpcf7-list-item-label{
  font-weight:700;
  position:relative;
  padding-left:2em;
  display:inline-flex;
  align-items:center;
}

/* 四角枠 */
.privacy-box .wpcf7-list-item-label:before{
  content:'';
  width:20px;
  height:20px;
  border-radius:4px;
  border:2px solid #272343;
  position:absolute;
  left:0;
  top:50%;
  transform:translateY(-50%);
  background:#fff;
}

/* チェック */
.privacy-box .wpcf7-list-item-label:after{
  content:'';
  position:absolute;
  left:6px;
  top:50%;
  width:8px;
  height:14px;
  transform:translateY(-55%) rotate(45deg);
  border-right:3px solid #004976;
  border-bottom:3px solid #004976;
  opacity:0;
}

.privacy-box input[type="checkbox"]:checked + .wpcf7-list-item-label:after{
  opacity:1;
}

/* ===============================
   Submit（中央に固定）
=============================== */

.form-btn{
  width:min(800px, 92%);
  margin:18px auto 10px;
  display:flex;
  justify-content:center;
}

#formbtn{
  border:none;
  background:#333;
  color:#fff;
  border-radius:clamp(8px, 0.7vw, 14px);
  font-weight:700;
  cursor:pointer;

  display:inline-flex;
  align-items:center;
  justify-content:center;

  width:clamp(260px, 22vw, 420px);
  padding:clamp(10px, 0.8vw, 16px) clamp(18px, 1.5vw, 30px);
  font-size:clamp(14px, 1.1vw, 18px);
}

/* disabled時（JS用） */
#formbtn:disabled{
  opacity:0.45;
  cursor:not-allowed;
}

/* ボタンの余計なアウトライン消し（必要なら） */
button:focus,button:active,button:focus-visible{ outline:0; }

/* 送信エリア */
.form-btn{
  width:min(800px, 92%);
  margin:18px auto 10px;
  display:flex;
  justify-content:center;
  position:relative; /* スピナーの基準 */
}

/* ボタンは常に中央 */
#formbtn{
  margin:0 auto;
}

/* スピナーを中央寄せ計算から外す（flexの並びから外す） */
.form-btn .wpcf7-spinner{
  position:absolute;
  right:0;              /* 送信エリアの右端に */
  top:50%;
  transform:translateY(-50%);
  margin:0 !important;
  flex:0 0 auto;
}
.turnstile-wrap{
  width:min(800px, 92%);
  margin:12px auto 0;
  display:flex;
  justify-content:center;
}

/* Turnstile本体が左寄りになるケースの保険 */
.turnstile-wrap .cf-turnstile,
.turnstile-wrap iframe{
  margin:0 auto;
}

@media screen and (max-width:991px){
.privacy-inner {
    font-size: 0.85em;
}
#formbtn {
	width:400px;
}
}

@media screen and (max-width:768px){
table.contact-page td input[type="text"], table.contact-page td input[type="email"], table.contact-page td input[type="tel"], table.contact-page td input[type="url"] {
    height: 62px;
}
table.contact-page {
    font-size: clamp(16px, 3.125vw, 24px);
}
.privacy-check,.privacy-inner {
    font-size: clamp(15px, 2.86vw, 22px);
}
.privacy {
    height: 200px;
}
#formbtn {
width: clamp(260px, 22vw, 420px);
}
}