@charset "UTF-8";
:root {
	--font-jp: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ",sans-serif;
	--c-green: #00817b;
	--c-beige: #fef6ed;
	--max-width: 1400px;
	--content-width: min(1400px,100vw); 
	--content-inner: min(1100px,90.67vw);
	--content-point: min(1000px,90.67vw);
	--sp-width: 90.67vw;
	--item-space: min(10px,2vw);
	--item-spaceL: min(30px,5vw);
} 
html {
    font-size: medium;
    line-height: 1;
    font-family: var(--font-jp);
	font-weight: normal;
	background-color: var(--c-beige);
}
main {
	overflow: hidden;
}
img {
	width: 100%;
	vertical-align: middle;
}
a {
	color: #000;
}
p {
    line-height: 1.75;
    font-size: clamp(0.75rem, 0.377rem + 0.778vw, 0.875rem);
    font-feature-settings: "palt";
}
button {
    all: unset;
}
.sp {
	display: none;
}
.img_wrap {
	overflow: hidden;
	display: inline-block;
	opacity: 0;
	will-change: opacity;
}
.img_wrap img {
	width: 100%;
	transform: scale(1.03);
	will-change: transform;
}
#main_visual {
	position: relative;
}
#main_visual .mv {
	position: relative;
	text-align: center;
}
#main_visual .mv picture img {
	width: min(var(--max-width),100%);
	height: min(900px,60vw);
	object-fit: cover;
	object-position: right;
}
@media (max-width:767px) {
	#main_visual .mv picture img {
		height: 110vw;
	}
}
#main_visual .mv .mv_comment {
	position: absolute;
	left: max(calc((100vw - var(--max-width)) / 2 - -540px), 37.75vw);
	top: min(30vw,490px);
	width: min(94px,6vw);
}
@media (max-width:767px) {
	#main_visual .mv .mv_comment {
		left: max(calc((100vw - var(--max-width)) / 2 - -380px), 4.75vw);
		top: min(53vw,450px);
		width: min(94px,14vw);
	}
}
#main_visual .mv_box {
    position: absolute;
    top: 50%;
    left: max(calc((100vw - var(--max-width)) / 2 - -50px), 4.75vw);
    transform: translateY(-50%);
	background: url(../images/mv-box-bg.webp) left top / 10% repeat;
	width: min(380px,90vw);
	padding: min(50px,6vw) min(30px,6vw);
	clip-path: inset(0 100% 0 0);
	-webkit-clip-path: inset(0 100% 0 0);
	color: #fff;
}
@media (max-width:767px) {
	#main_visual .mv_box {
		position: static;
		transform: translateY(-10%);
		width: calc( var(--sp-width) - 10vw);
		padding: min(40px,5vw);
		margin: 0 auto;
	}
}
#main_visual .mv_box h1 {
    width: min(370px, 58vw);
	margin: 0 auto;
}
#main_visual .mv_box p.lead {
	text-align: justify;
    font-weight: 600;
	padding: min(40px,6vw) 0 var(--item-spaceL);
	font-size: clamp(0.75rem, 0.004rem + 1.556vw, 1rem);
}
#main_visual .mv_box p.credit {
	font-size:clamp(0.625rem, -0.121rem + 1.556vw, 0.875rem);
}
@media (max-width: 1024px) and (min-width: 769px) {
	#main_visual .mv_box h1 {
		width: min(280px, 58vw);
	}
	#main_visual .mv_box {
		top: auto;
		bottom: 50%;
		left: 0%;
		transform: translateY(50%) translateX(-0%);
		padding: 4vw 2vw;
		width: 40vw;
	}
}
.wrapper {
	width: var(--content-width);
	margin: 0 auto;
	padding: min(120px,16vw) 0 ;
}

#introduction.wrapper {
	width: var(--content-inner);
}
#introduction .intro_heading {
	width: min(315px,66vw);
	padding-bottom: 30px;
}
#introduction .description {
	line-height: 1.9;
	font-size: clamp(0.938rem, 0.849rem + 0.334vw, 1.063rem);
}
/* about accordion */
#introduction .about {
	width: min(550px, var(--sp-width));
	background-color: #fff;
	padding: min(30px,6vw);
	margin-top: min(40px,8vw);
}
#introduction .about button {
	pointer-events: none;
	width: min(140px,36vw);
	padding-bottom: min(15px,2vw);
}
#introduction .video_wrap video {
	width: 100%;
	margin-top: min(140px,16vw);
}
.future {
	padding: 0;
	margin: 0 auto;
	text-align: justify;
}
.future .section_text {
	font-size: clamp(0.875rem, 0.847rem + 0.142vw, 0.938rem);
}
.section_heading {
	margin: 0 auto;
	margin-bottom: var(--item-spaceL);
}
.caption {
	text-align: justify;
}
.main_content {
	width: var(--content-inner);
	margin: 0 auto;
	display: grid;
	grid-template-columns: 0.95fr 1fr;
	gap: var(--item-spaceL);
}
.main_content:nth-child(even) {
	grid-template-columns: 1fr 0.95fr;
}

.main_content.large {
	width: var(--content-width);
	align-items: center;
}
.point_content {
	width: var(--content-point);
	margin: 0 auto;
	margin-top: min(180px,10vw);
}
.point_future.left {
	margin-left: var(--item-space);
}
.point_future.right {
	margin-right: var(--item-space);
}
.point_title {
	margin-bottom: var(--item-space);
}

@media (max-width:767px) {
	.wrapper {
		width: 100%;
	}	
	.future {
		width: var(--content-inner);
	}	
	.main_content {
		grid-template-columns: 1fr;
		width: var(--content-width);
	}
	.main_content:nth-child(even) {
		grid-template-columns: 1fr;
	}
}



#culture {
	position: relative;
}
#culture .stamp {
    position: absolute;
    width: min(440px, 54.29vw);
    height: min(440px, 54.29vw);
    right: max(calc((100vw - var(--max-width)) / 2 - 43rem), -10.25vw);
    bottom: min(200px, 8vw);
    background: url(../images/stamp.webp) top left / contain no-repeat;
    z-index: -1;
    pointer-events: none;
    will-change: transform;
}
#culture .section_heading {
	width: min(365px,66.67vw);
}
#culture .culture_main_img {
	position: relative;
}
#culture .culture_main_img .main_balloon {
	position: absolute;
	top: min(-30px,-3vw);
	left: min(120px,10vw);
	width: min(150px,33.33vw);
}
#culture .culture_main_sub {
	grid-column: 2;
	position: relative;
	display: flex;
	gap: var(--item-spaceL);
}
#culture .culture_main_sub > *{
	flex: 1;
}
#culture .culture_main_sub .main_comment {
	position: absolute;
	top: 0;
	left: min(-30px,-6vw);
	width: min(128px,8.5vw);
}
#culture .point_content > div {
	display: flex;
	gap: var(--item-space);
	margin-top: min(60px,8vw);
}
#culture .point_content > div > .large {
	flex: 2;
}
#culture .point_content > div > .point_future,
#culture .point_content > div > .small  {
	flex: 1;
}
#culture .point_content .point_future {
	margin-left: var(--item-space);
}
#culture .culture_point01 .point_title {
	width: min(140px,30vw);
}
#culture .culture_point02 .point_title {
	width: min(200px,44.29vw);
}
#culture .point02_img02 {
	position: relative;
}
#culture .point02_img02 .point01_comment {
	position: absolute;
	top: min(25px,20vw);
	right: min(30px,12vw);
	width: min(110px,20vw);
}
@media (max-width:767px) {
	#culture .culture_main_img {
		margin-top: min(40px,12vw);
	}	
	#culture .culture_main_img .main_balloon {
		position: absolute;
		top: min(-30px,-3vw);
		left: min(120px,10vw);
	}	
	#culture .culture_main_sub  {
		grid-column: 1;
		flex-direction: column-reverse;
		width: var(--content-inner);
		margin: 0 auto;
	}
	#culture .culture_main_sub .main_cutout {
		width: 70%;
		margin: 0 0 0 auto;
	}	
	#culture .culture_main_sub .main_comment {
		top: min(150px,100vw);
		left: min(60px,10vw);
		width: min(128px,25vw);
	}
	#culture .point_content > div {
		flex-direction: column;
	}
	#culture .point_content .point01_img02 {
		width: 60%;
	}
	#culture .point_content .point02_img01 {
		width: 60%;
		margin: 0 0 0 auto;
	}	
	#culture .culture_point01 .point_future {
		position: relative;
		margin-left: 0;
	}
	#culture .culture_point01 .point_title {
		position: absolute;
		right: 2vw;
		top: -20vw;
	}
}


#hotel .main_content {
	align-items: center;
}
#hotel .section_heading {
	width: min(325px,63.2vw);
}
#hotel .hotel_main_img {
	position: relative;
}
#hotel .hotel_main_img .main_balloon {
	position: absolute;
	bottom: min(120px,8.6vw);
	left: min(260px,19vw);
	width: min(100px,8.8vw);
}
@media (max-width:767px) {
	#hotel .hotel_main_img .main_balloon {
		bottom: min(180px,21.6vw);
		left: min(370px,53vw);
		width: min(100px,18.8vw);
	}	
}
#hotel .point_content .hotel_point01 {
	display: grid;
	grid-template-columns: 1fr 2.8fr;
	gap: var(--item-space);
}
#hotel .hotel_point01 .point_title {
	width: min(200px,44vw);
}
#hotel .hotel_point01 .point01_img02 {
	grid-column: 2;
	grid-row: 2;
	width: 65%;
	margin: 0 0 0 auto;
}
@media (max-width:767px) {
	#hotel .main_content .future {
		grid-row: 1;
	}
	#hotel .point_content .hotel_point01 {
		grid-template-columns: 1fr;
		gap: var(--item-space);
	}
	#hotel .hotel_point01 .point01_img02 {
		grid-column: 1;
		grid-row: 3;
		width: 100%;
	}
}

#hotspring .main_content.large .future {
	padding-left: min(150px,10.7vw);
}
#hotspring .section_heading {
	width: min(315px,65.5vw);
}
#hotspring .hotspring_point01 {
	display: grid;
	grid-template-columns: 3fr 1.1fr 1fr;
	gap: var(--item-spaceL);
}
#hotspring .hotspring_point01 .point01_wrap {
	display: grid;
	grid-template-columns: 1fr 3.2fr;
	gap: var(--item-space) var(--item-spaceL);
	margin-right: var(--item-space);
}
#hotspring .hotspring_point01 .point01_img01 {
	grid-column: 1 / 3;
}
#hotspring .hotspring_point01 .caption {
	margin: auto;
}
#hotspring .hotspring_point01 .point_title {
	width: min(140px,30vw);
}
@media (max-width:767px) {
	.main_content.large {
		width: 90.67vw;
	}
	#hotspring .main_content.large .future {
		padding-left: 0;
	}
	#hotspring .hotspring_point01 {
		grid-template-columns: 1fr;
		gap: var(--item-space);
	}
	#hotspring .hotspring_point01 .point01_wrap {
		margin-right: 0;
		grid-template-columns: 1fr 3fr;
		grid-row: 3;
	}
	#hotspring .hotspring_point01 .point_future {
		grid-row: 1;
	}
}

#room .main_content.large .future {
	padding-right: min(150px,10.7vw);
}
#room .section_heading {
	width: min(315px,60.5vw);
}
#room .point_content {
	display: grid;
	grid-template-columns: 1.2fr 1fr;
	gap: var(--item-spaceL);
}
#room .room_point01 .point_future {
	display: flex;
	gap: var(--item-spaceL);
	align-items: flex-end;
	margin-bottom: var(--item-space);
}
#room .room_point01 .point_title {
	width: min(140px,28vw);
	flex-shrink: 0;
	margin-bottom: 0;
}
#room .room_point02 {
	display: grid;
	grid-template-columns: 2fr 1fr;
	align-items: end;
	gap: var(--item-space);
}
#room .room_point02 .point02_comment {
	width: min(110px,23vw);
}
#room .room_point02 .caption {
	grid-column: 1 / 3;
}
@media (max-width:767px) {
	#room .main_content.large .future {
		padding-right: 0;
		grid-row: 1;
	}
	#room .point_content {
		grid-template-columns: 1fr;
	}
	#room .room_point01 .point_future {
		flex-direction: column;
		gap: var(--item-space);
	}
	#room .room_point02 {
		grid-template-columns: 3fr 1fr;
	}
}


#meal .section_heading {
	width: min(330px,60vw);
}
#meal .meal_main_sub {
	width: 90%;
	margin: 0 auto;
}
#meal .meal_main_sub > img {
	padding: min(70px,5vw) 0  var(--item-spaceL);
}
#meal .meal_main_img {
	position: relative;
}
#meal .meal_main_img .point_title {
	width: min(160px,31.43vw);
	position: absolute;
	top: min(780px,65vw);
	right: min(-30px,-2vw);
}
#meal .meal_main_img .main_cutout {
	width: min(255px,38.21vw);
	position: absolute;
	top: min(800px,67vw);
	right: min(50px,6vw);
}
#meal .point_content {
	display: grid;
	grid-template-columns: 1.6fr 1.2fr 0.7fr;
	align-items: end;
	gap: var(--item-space);
}
#meal .point01_img01,
#meal .point01_img02 {
	position: relative;
}
#meal .point01_img01 .point01_comment {
	position: absolute;
	top: min(70px,5vw);
	left: min(115px,6.2vw);
	width: min(100px,21.14vw);
}
#meal .point01_img02 .point01_cutout {
	position: absolute;
	bottom: min(220px,18vw);
	left: min(220px,16vw);
	width: min(160px,31.43vw);
}
#meal .point_title {
	width: min(125px,28vw);
	margin: 0 0 var(--item-space) auto;
}
@media (max-width:767px) {
	#meal .meal_main_img .main_cutout {
		top: 126vw;
		right: 44vw;
	}
	#meal .meal_main_img .point_title {
		top: 130vw;
		right: 14vw;
	}
	#meal .point_content {
		grid-template-columns: 1fr;
		margin-top: min(180px,30vw);
	}
	#meal .point_content .point01_img02 {
		width: 70%;
	}
	#meal .point_content .point_future {
		position: relative;
	}
	#meal .point_content .point_title {
		position: absolute;
		top: min(-15vw,-70px);
		right: 0;
	}
	#meal .point01_img02 .point01_cutout {
		bottom: min(240px,32vw);
		left: min(240px,60vw);
	}
}

#extra {
	background-color: #fff;
	width: 100%;
	position: relative;
} 
#extra .stamp {
	position: absolute;
	width: min(440px, 54.29vw);
	height: min(440px, 54.29vw);
	left: max(calc((100vw - var(--max-width)) / 2 - 43rem), -10.25vw);
	top: min(200px, 8vw);
	background: url(../images/stamp.webp) top left / contain no-repeat;
	z-index: 0;
	pointer-events: none;
	will-change: transform;
}
#extra .extra_wrap {
	width: var(--content-inner);
	margin: 0 auto;
	display: grid;
	align-items: end;
	gap: var(--item-space);
}
#extra .extra_wrap.first {
	grid-template-columns: 1fr 1.5fr 1fr;
}
#extra .extra_wrap .point01_img02 {
	position: relative;
}
#extra .extra_wrap .point01_img02 .point01_comment {
	position: absolute;
	left: min(35px,2.5vw);
	bottom: min(105px,7.5vw);
	width: min(110px,17.86vw);
}
#extra .extra_wrap .point01_img02 .point01_cutout {
	position: absolute;
	left: min(380px,32vw);
	bottom: min(-10px,-1vw);
	width: min(165px,24vw);
}
#extra .extra_wrap .point01_img02 .point01_balloon {
	position: absolute;
	left: min(420px,34vw);
	top: min(40px,10vw);
	width: min(130px,28vw);
}
#extra .extra_wrap.first .caption {
	padding-left: min(90px,8.57vw);
}
#extra .extra_wrap.second {
	width: var(--content-point);
	margin: min(120px,20vw) auto;
	grid-template-columns: 1fr 1.8fr;
	gap: var(--item-spaceL);
}
#extra .extra_wrap.third {
	grid-template-columns: 1.2fr 1fr;
}
#extra .extra_wrap.third .caption {
	width: 57%;
	margin: 0 0 0 auto;
}
#extra .extra_wrap .point03_img01 {
	position: relative;
}
#extra .extra_wrap .point03_img01 .point03_balloon {
	position: absolute;
	left: min(20px,4vw);
	top: 0;
	width: min(130px,22vw);
}
#extra .extra_wrap .point03_img01 .point03_cutout {
	position: absolute;
	left: min(560px,44vw);
	bottom: min(-5px,-0.5vw);
	width: min(210px,36vw);
}

@media (max-width:767px) {
	#extra .extra_wrap.first {
		grid-template-columns: 1fr;
	}
	#extra .extra_wrap .point01_img02 {
		width: 70%;
	}
	#extra .extra_wrap .point01_img02 .point01_cutout {
		left: min(360px,54vw);
		bottom: 0;
	}
	#extra .extra_wrap .point01_img02 .point01_balloon {
		left: min(360px,63vw);
		top: 0;
	}
	#extra .extra_wrap.first .caption {
		padding-left: 0;
	}
	#extra .extra_wrap .point03_img01 .point03_balloon {
		top: min(-10px,-7vw);
	}
	#extra .extra_wrap.second {
		grid-template-columns: 1fr;
	}
	#extra .extra_wrap.second .point02_img01 {
		grid-row: 1;
	}
	#extra .extra_wrap.third {
		grid-template-columns: 1fr;
	}
	#extra .extra_wrap .point03_img01 .point03_cutout {
		left: 0;
		bottom: min(-35px,-28vw);
	}
	#extra .extra_wrap.third .caption {
		width: 52%;
	}
}

#information,
#facility {
	width: var(--content-inner);
	margin: 0 auto;
}
#information {
	display: flex;
	align-items: flex-start;
}
#information .review {
	margin-right: min(50px,3.57vw);
	position: relative;
	flex: 1;
}
#information .review .review_model {
	width: min(180px,40.86vw);
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: -1;
}
#information .review .review_text {
	width: 75%;
	margin: 0 0 0 auto;
}
#information .review .review_title {
	width: min(300px,52vw);
	margin: 0 0 0 auto;
	padding-bottom: var(--item-space);
	padding-right: min(14px,2vw);
}
#information .review .review_bg {
	display: flex;
	align-items: flex-end;
}
#information .review .review_bg::before {
	content: "";
	display: block;
	width: min(140px,14vw);
	height: min(50px,14vw);
	background: url(../images/info-review-bg.webp) bottom left / contain no-repeat;
}
#information .review .review_bg .caption {
	padding: min(25px,5vw);
	color: var(--c-green);
	background-color: #fff;
	border-radius: 8px 8px 8px 0;
}
#information .hotel_info {
	display: flex;
	gap: min(20px,3vw);
	flex: 1;
}
#information .hotel_info .info_wrap_img {
	width: min(130px,9.29vw);
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	gap: var(--item-space);
}
#information .hotel_info .hotel_title .name {
	font-size: clamp(1rem, 0.943rem + 0.284vw, 1.125rem);
	font-weight: 600;
	display: flex;
	align-items: center;
	gap: min(8px,0.5vw);
	padding-left: 0;
}
#information .hotel_info .hotel_title span {
	font-size: clamp(0.75rem, 0.693rem + 0.284vw, 0.875rem);
	font-weight: normal;
	line-height: 1;
}
@media (max-width:767px) {
	#information {
		flex-direction: column;
		gap: var(--item-spaceL);
	}
	#information .review {
		margin-right: 0;
	}
	#information .review .review_text {
		width: 66%;
	}
	#information .hotel_info {
		flex-direction: column-reverse;
	}
	#information .hotel_info .info_wrap_img {
		flex-direction: unset;
		width: 70%;
		margin-top: var(--item-spaceL);
	}
}

#facility {
	display: flex;
	justify-content: space-between;
	padding: 0;
	gap: var(--item-spaceL);
}
@media (max-width: 1024px) and (min-width: 769px) {
	#facility {
		flex-direction: column;
	}
}
@media (max-width:767px) {
	#facility {
		flex-direction: column;
		align-items: center;
		gap: 13vw;
	}
}
#facility .facility_map {
	flex-shrink: 0;
	width: min(400px,var(--sp-width));
}
#facility .facility_list {
	position: relative;
}
#facility .facility_list .facility_list_title {
	position: absolute;
	width: min(185px,31.21vw);
	top: min(-3vw,-30px);
	right: min(-2vw,-10px);
}
#facility .facility_list::before,
#facility .facility_list::after {
	content: "";
	display: block;
	width: 100%;
	height: min(6px,2vw);
	border-top: 1px solid var(--c-green);
	border-bottom: 1px solid var(--c-green);
}
#facility .facility_info {
	display: flex;
	gap: var(--item-spaceL);
	margin-bottom: min(40px,12vw);
	margin-top: min(60px,10vw);
}
#facility .facility_info .facility_image {
	flex: 1.1;
}
#facility .facility_info .info_wrap {
	flex: 1;
}
#facility .facility_info .name {
	font-size: clamp(0.875rem, 0.502rem + 0.778vw, 1rem);
	font-weight: 600;
	display: flex;
	align-items: center;
	gap: min(8px,2vw);
}
#facility .facility_info .name > span {
	font-size: clamp(0.75rem, 0.693rem + 0.284vw, 0.875rem);
	font-weight: normal;
}
#facility .facility_experience .experience_wrap {
	display: flex;
	gap: min(20px,3vw);
	text-align: justify;
}
#facility .facility_experience .experience_wrap + .experience_wrap {
	margin: var(--item-spaceL) 0 min(60px,10vw);
}
#facility .facility_experience .experience_text {
	flex: 2.2;
}
#facility .facility_experience .experience_text .sub_title {
	color: #48565e;
	font-weight: bold;
	padding-bottom: var(--item-space);
}
#facility .facility_experience .experience_img {
	flex: 1;
}
#facility .facility_experience .experience_img > .img_wrap+ .img_wrap {
	margin-top: var(--item-space);
}

@media (max-width:767px)  {
	#facility .facility_info {
		flex-direction: column;
	}
	#facility .facility_experience .experience_wrap {
		flex-direction: column;
	}
	#facility .facility_experience .experience_img {
		display: flex;
		gap: var(--item-space);
	}
	#facility .facility_experience .experience_img > .img_wrap+ .img_wrap {
		margin-top: 0;
	}
	#facility .facility_experience .experience_wrap + .experience_wrap {
		margin-top: var(--item-space);
	}
}

.hotel_detail {
	display: flex;
	flex-wrap: wrap;
	margin-top: var(--item-space);
	gap: min(2px,0.5vw) var(--item-space);
}
p.icon {
	line-height: 1.4;
	text-indent: -1.6em;
	padding-left: 1.6em;
	padding-bottom: min(3px,0.5vw);
}
p.icon span {
	width: min(17px,2vw);
	height: min(16px,2vw);
	padding-left: min(22px,5.5vw);
}
p.icon .tel {
	background: url(../images/info_tel_blk.svg) no-repeat top 1px left / min(16px,4vw);
}
p.icon .address {
	background: url(../images/info_address_blk.svg) no-repeat top left 1px / min(13px,3.4vw);
}
p.icon .time {
	background: url(../images/info_time_blk.svg) no-repeat top left 1px / min(13px,3.9vw);
}
p.icon .bed {
	background: url(../images/info_bed_blk.svg) no-repeat top 1px left 2.5px / min(13px,4.5vw);
}
p.icon .card {
	background: url(../images/info_card_blk.svg) no-repeat top left 2px / min(13px,4vw);
}
p.icon .budget {
	background: url(../images/info_budget_blk.svg) no-repeat top left 1.5px / min(13px,4.4vw);
}
p.icon .bus {
	background: url(../images/info_bus_blk.svg) no-repeat top left min(3px,0.5vw) / min(12px,3.9vw);
}
.link_btn a {
	background-color: var(--c-green);
	gap: min(4px,1vw);
	padding: min(14px,2vw) min(34px,5vw) min(8px,2vw);
	border-radius: 50px;
	font-size: clamp(0.75rem, 0.377rem + 0.778vw, 0.875rem);
	color: #fff;
	font-weight: 600;
	position: relative;
	margin-top: var(--item-space);
	display: inline-flex;
	justify-content: center;
}
.link_btn a::after {
	content: "";
	background: url(../images/info_link_wht.svg) no-repeat top 0px  center/ contain;
	width: min(14px,4vw);
	height: min(18px,3vw);
	transform: translateY(-10%);
}
@media (max-width:767px) {
	.link_btn {
		width: 100%;
	}
	.link_btn a {
		padding: min(14px,2.6vw) 6vw min(8px,3vw);
		width: auto;
		display: inline-flex;
	}
}


@media (max-width:767px){

/* about accordion */
	#introduction .about {
		border: 1px solid var(--c-red);
		padding: 0;
		width: 90vw;
		margin-top: 5vw;
	}
	#introduction .about button {
		pointer-events: auto;
		width: calc( 100% - 12vw);
		padding: 4vw 6vw 4vw;
		position: relative;
		text-align: center;
	}
	#introduction .about button img {
		width: 30vw;
	}
	#introduction .about button::before {
		content: '';
		width: 4vw;
		height: 2px;
		background-color: var(--c-green);	
		position: absolute;
		top: 50%;
		left: 6.5%;
		transform: translateY(-50%);
	}
	#introduction .about button::after {
		content: '';
		width: 2px;
		height: 4vw;
		background-color: var(--c-green);	
		position: absolute;
		top: 50%;
		left: 8.35%;
		transform: translateY(-50%);
	}
	#introduction .about.active button::after {
		display: none;
	}
	#introduction .about .about_content {
		padding: 0 6vw 6vw;
	}
	#introduction .about .about_content p {
		margin-bottom: var(--item-space);
	}
}
#footer{
	text-align: center;
	font-size: 1rem;
	margin-bottom: 30px;
	padding-top: 50px;
}
#footer .info {
	padding: 0 var(--item-spaceL);
}
#footer .info > p{
	font-size: clamp(0.688rem, 0.659rem + 0.142vw, 0.75rem);
	line-height: 1.5;
	padding-bottom: min(7px,1vw);
}
#footer .backto_savvy a{
	margin: 20px auto;
	color: #fff;
	background-color: #ea6a88;
	border: 0.5px solid #ea6a88;
	border-radius: 40px;
	letter-spacing: 0.08em;
	font-size: clamp(0.75rem, 0.377rem + 0.778vw, 0.875rem);
	font-weight: bold;
	padding: min(15px,12vw) min(30px,28vw) min(13px,12vw);
	transition: all .3s;
	display: inline-block;
}
@media (any-hover: hover)  {
	#footer a:hover{
		opacity: .8;
		cursor: pointer;
	}
}
#footer .copy{
	text-align: center;
	border-top: 1px solid;
	padding-top: 27px;
	margin-top: 30px;
}
#footer .page_top_btn{
	position: fixed;
	bottom: min(40px,3vw);
	right: min(40px,3vw);
	width: min(46px,8vw);
	height: min(46px,8vw);
	line-height: 1.5;
	border-radius: 50%;
	text-align: center;
	display: table;
	background: var(--c-green);
	color: #fff;
	font-size: 9px;
	border: 2px solid var(--c-green);
	box-sizing: border-box;
	z-index: 999;
}
#footer .pagetop_icn{
	color: #fff;
	font-size: clamp(0.875rem, 0.847rem + 0.142vw, 0.938rem);
}
#footer .txt_btn{
	display:table-cell;
	vertical-align:middle;
}
#footer .shareBtn ul {
	width: 100%;
	gap:20px;
	display: flex;
	justify-content: center;
	margin-top: 40px;
}
#footer .shareBtn li {
	width: min(120px,20vw);
}
#footer small {
	font-size: 60%;
}
@media (max-width:767px){
	.sp {
		display: inline-block;
	}
	.pc {
		display: none;
	}
	#footer{
		text-align: center;
		padding-top: 4vw;
	}
	#footer .backto_savvy a{
		margin: 10vw auto 4vw;
	}
	#footer .copy{
		text-align: center;
		border-top: 0.2vw solid;
		padding-top: 5vw;
		margin-top: 5vw;
	}
	#footer .shareBtn ul {
		margin-top: 6vw;
		gap: 2vw;
	}
}