@charset "UTF-8";
:root {
	--font-jp: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ",sans-serif;
	--c-main: #004d8b;
	--c-sub: #f5f0e0;
	--max-width: min(1400px,100%);
	--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);
	--margin-space: min(100px,14vw);
} 
html {
    font-size: medium;
    line-height: 1;
    font-family: var(--font-jp);
	font-weight: normal;
	background-color: var(--c-sub);
}
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";
	text-align: justify;
}
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: var(--max-width);
	height: min(900px,60vw);
	object-fit: cover;
	object-position: right;
}
#main_visual .mv .comment {
	position: absolute;
	left: max(calc((100vw - var(--max-width)) / 2 - -490px), 44.75vw);
	top: min(20vw,320px);
	width: min(20vw,240px);
}
#main_visual .mv_box {
    position: absolute;
    top: 50%;
	left: max(calc((100vw - var(--max-width)) / 2 - -40px), 3vw);
    transform: translateY(-50%);
	background: url(../images/mv-box-bg.webp) left top / cover no-repeat;
	width: min(440px,34vw);
	padding: min(40px,6vw) min(30px,6vw);
	clip-path: inset(0 100% 0 0);
	-webkit-clip-path: inset(0 100% 0 0);
	color: #fff;
}
#main_visual .mv_box h1 {
    width: min(400px, 70vw);
}
#main_visual .mv_box p.lead {
	text-align: justify;
	font-weight: 500;
	padding: min(40px,3vw) 0 var(--item-spaceL);
	font-size: min(16px,1.2vw);
	letter-spacing: 0.065em;
}
#main_visual .mv_box p.credit {
	font-size: min(14px,1.15vw);
}
@media (max-width:767px) {
	#main_visual .mv picture img {
		height: 110vw;
	}	
	#main_visual .mv .comment {
		left: 30vw;
		top: 42vw;
		width: 50vw;
	}	
	#main_visual .mv_box {
		position: static;
		transform: translateY(-10%);
		width: calc( var(--sp-width) - 10vw);
		padding: min(60px,6vw) min(40px,5vw);
		margin: 0 auto;
	}
	#main_visual .mv_box p.lead {
		font-size: min(16px,3.1vw);
		padding: var(--item-spaceL) 0;
	}
	#main_visual .mv_box p.credit {
		font-size: min(14px,2.8vw);
	}
}
@media (max-width: 1024px) and (min-width: 769px) {
	#main_visual .mv_box h1 {
		width: 84%;
	}
	#main_visual .mv_box {
		top: auto;
		bottom: 50%;
		left: 2vw;
		transform: translateY(50%) translateX(-0%);
		padding: 4vw 2vw;
		width: 35vw;
	}
	#main_visual .mv .comment {
		left: 44vw;
	}
}

.wrapper {
	padding: min(120px,16vw) 0 ;
}
#introduction.wrapper {
	width: var(--content-inner);
	margin: 0 auto;
}
#introduction .intro_heading {
	width: min(340px,43vw);
	padding-bottom: min(30px,4vw);
}
#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);
}
.inner {
	width: var(--content-inner);
	margin: 0 auto;
}
.inner.large {
	width: var(--max-width);
}
.future {
	text-align: justify;
	padding-bottom: var(--item-spaceL);
}
.future .section_heading {
	margin: 0 auto;
	padding-bottom: min(8px,1vw);
}
.future .section_text {
	font-size: clamp(0.938rem, 0.893rem + 0.119vw, 1rem);
}
.future.column {
	display: flex;
	align-items: end;
}
.future.column .section_heading {
	margin-right: min(50px,5vw);
}
.future.column .section_text {
	flex: 4;
}
.future.row .section_heading {
	margin-bottom: var(--item-space);
}
.future.row .section_text {
	width: min(540px,90%);
	margin: 0 auto;
}
.caption {
	text-align: justify;
}
.comment {
	width: min(8vw,100px);
}
.point_balloon {
	margin-bottom: var(--item-space);
	width: auto;
}
.point_balloon > img {
	width: auto;
	height: min(80px,16vw);
}
.point_balloon.long > img {
	width: auto;
	height: min(44px,10vw);
}

#room .section_heading {
	width: min(330px,64vw);
}
#room .room_main_wrap {
	display: grid;
	grid-template-columns: 2fr 1.074fr 2fr;
	gap: var(--item-space)
}
#room .room_main_wrap > .point_text.first {
	grid-row: 2;
}
#room .room_main_wrap > .point_text {
	width: 96%;
	margin: auto;
}
#room .room_main_wrap > .main_img_03 {
	grid-row: 2;
	position: relative;
}
#room .room_main_wrap > .main_img_03 .cutout {
	position: absolute;
	top: min(1vw,20px);
	left: min(-2vw,-20px);
	width: min(90px,17vw);
}
#room .room_main_wrap > .main_img_04 {
	position: relative;
}
#room .room_main_wrap > .main_img_04 .comment {
	position: absolute;
	top: min(4vw,20px);
	right: min(4vw,20px);
}
#hotel {
	position: relative;
}
#hotel .stamp {
	position: absolute;
	width: min(440px, 54.29vw);
	height: min(440px, 54.29vw);
	left: max(calc((100vw - var(--max-width)) / 2 - 11rem), -3.25vw);
	top: min(650px, 57vw);
	background: url(../images/stamp.webp) top left / contain no-repeat;
	z-index: -1;
	pointer-events: none;
	will-change: transform;
}
#hotel .section_heading {
	width: min(310px,60vw);
}
#hotel .inner.large {
	display: flex;
	gap: 0;
}
#hotel .inner.large > div {
	flex: 1;
}
#hotel .hotel_main_wrap .point_text {
	padding-top: var(--item-spaceL);
	width: 96%;
	margin: 0 auto;
}
#hotel > .inner {
	display: grid;
	grid-template-columns: 1.1fr 1fr;
	gap: min(110px,8vw) min(50px,3vw);
}
#hotel .hotel_sub01_wrap {
	grid-column: 1 / 3;
	display: flex;
	gap: var(--item-space);
	align-items: flex-end;
	margin-top: min(110px,20vw);
}
#hotel .hotel_sub01_wrap > .img_wrap {
	flex: 1;
}
#hotel .hotel_sub01_wrap > .point_text {
	flex: 0.6;
	margin-left: var(--item-spaceL);
}
#hotel .hotel_sub02_wrap {
	position: relative;
}
#hotel .hotel_sub02_wrap > .comment {
	position: absolute;
	top: min(1vw,10px);
	left: min(4vw,60px);
	width: min(35vw,150px);
}
#hotel .hotel_sub02_wrap > .point_text {
	margin-top: var(--item-space);
}
#hotel .hotel_sub03_wrap > .point_text {
	margin-bottom: var(--item-space);
}
#meal {
	position: relative;
}
#meal > .inner{
	position: relative;
	z-index: 2;
}
#meal .stamp {
	position: absolute;
	width: min(440px, 54.29vw);
	height: min(440px, 54.29vw);
	right: max(calc((100vw - var(--max-width)) / 2 - 17rem), -10.25vw);
	bottom: min(180px, -13vw);
	background: url(../images/stamp.webp) top left / contain no-repeat;
	z-index: 0;
	pointer-events: none;
	will-change: transform;
}
#meal .section_heading {
	width: min(320px,65vw);
}
#meal .meal_main_wrap {
	display: grid;
	grid-template-columns: repeat(3, 1fr) 0.8fr;
	gap: var(--item-space);
	align-items: flex-end;
}
#meal .meal_main_wrap .point_text {
	width: 90%;
	margin: 0 auto;
}
#meal .meal_main_wrap .main_img:nth-of-type(3) {
	position: relative;
}
#meal .meal_main_wrap .main_img:nth-of-type(3) .comment {
	position: absolute;
	right: min(2vw,10px);
	bottom: min(2vw,10px);
}
#meal .meal_sub_wrap {
	display: grid;
	grid-template-columns: 1fr 1.4fr 0.6fr 1fr;
	gap: var(--item-space);
	align-items: flex-end;
	margin-top: min(110px,20vw);
}
#meal .meal_sub_wrap > .point_text {
	margin-right: var(--item-spaceL);
}
#hotspring .section_heading {
	width: min(320px,64vw);
}
#hotspring .hotspring_main_wrap {
	display: grid;
	grid-template-columns: 1fr 1fr 1.86fr;
	gap: var(--item-space);
}
#hotspring .hotspring_main_wrap .main_img:nth-of-type(2) {
	position: relative;
}
#hotspring .hotspring_main_wrap .main_img:nth-of-type(2) > .comment {
	position: absolute;
	top: min(60px,4vw);
	left: 0;
	width: min(50vw,220px);
}
#hotspring .hotspring_main_wrap .point_text {
	grid-column: 1 / 4;
}
#hotspring .hotspring_main_wrap .point_text > p {
	text-align: center;
}
#hotspring .hotspring_sub_wrap {
	display: grid;
	grid-template-columns: 1fr 0.8fr 0.6fr 1fr;
	gap: var(--item-space);
	align-items: flex-end;
	margin-top: min(60px,3vw);
}
#hotspring .hotspring_sub_wrap > .point_text {
	margin-left: var(--item-spaceL);
}
#local {
	padding-bottom: min(180px,20vw);
}
#local .section_heading {
	width: min(290px,60vw);
}
#local .inner {
	display: flex;
	align-items: center;
}
#local .inner > div {
	flex: 1;
}
#local .inner .future .cutout {
	width: min(540px,90%);
	margin: 0 auto;
	padding-top: var(--item-spaceL);
}
#local .inner .local_main_wrap .main_img {
	position: relative;
}
#local .inner .local_main_wrap .main_img > .comment {
	position: absolute;
	top: min(200px,16vw);
	left: min(80px,5vw);
}
#local .inner .local_main_wrap .point_text {
	width: 96%;
	margin: 0 auto;
	padding-top: var(--item-spaceL);
}
#extra {
	background-color: #fff;
}
#extra > .inner {
	width: var(--content-point);
}
#extra .extra_point01_wrap {
	display: grid;
	grid-template-columns: 1.6fr 0.73fr 1.4fr;
	align-items: flex-end;
	gap: var(--item-space);
}
#extra .extra_point01_wrap .extra_img:nth-of-type(1) {
	position: relative;
	padding-left: min(140px,5vw);
}
#extra .extra_point01_wrap .extra_img:nth-of-type(1) > .cutout {
	position: absolute;
	top: min(-20px,-2vw);
	left: min(-10px,-2vw);
	width: min(110px,17vw);
}
#extra .extra_point01_wrap > .point_text {
	margin-left: var(--item-spaceL);
}
#extra .extra_point02_wrap {
	display: grid;
	grid-template-columns: 2.2fr 1.6fr 0.6fr;
	align-items: flex-end;
	gap: var(--item-space);
	margin-top: calc( var(--item-spaceL) * 3);
}
#extra .extra_point02_wrap > .point_text {
	margin-right: var(--item-spaceL);
}
#extra .extra_point03_wrap {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 0.95fr;
	align-items: flex-end;
	gap: var(--item-space);
	margin-top: calc( var(--item-spaceL) * 3);
}
#extra .extra_point03_wrap > .point_text {
	margin-left: var(--item-spaceL);
}



@media (max-width:767px) {
	:root {
		--content-sp: 81.33vw;
	}
	.comment {
		width: min(22vw,90px);
	}
	.future .section_heading {
		padding-bottom: min(20px,6vw);
	}
	.future.column {
		flex-direction: column;
		align-items: flex-start;
	}
	.future.column .section_heading {
		margin-right: auto;
	}
	#introduction .intro_heading {
		width: min(610px,68vw);
		padding-bottom: min(30px,6vw);
	}
	#room .room_main_wrap {
		grid-template-columns: 1fr 1fr;
	}
	#room .room_main_wrap .main_img_01 {
		grid-column: 1 / 3;
	}
	#room .room_main_wrap > .point_text.first {
		grid-column: 1 / 3;
	}
	#room .room_main_wrap > .main_img_02 {
		grid-column: 1;
		grid-row: 4;
	}
	#room .room_main_wrap > .main_img_03 {
		grid-column: 2;
		grid-row: 4;
	}
	#room .room_main_wrap > .main_img_04 {
		grid-column: 1 / 3;
		grid-row: 3;
	}
	#room .room_main_wrap > .point_text.second {
		grid-column: 1 / 3;
	}
	#room .room_main_wrap > .point_text {
		width: var(--sp-width);
	}
	#hotel .stamp {
		left: -9vw;
		top: 216vw;
	}
	#hotel .inner.large {
		flex-direction: column;
	}
	#hotel > .inner {
		grid-template-columns: 1fr;
	}
	#hotel .hotel_main_wrap .point_text {
		width: var(--sp-width);
	}
	#hotel .hotel_sub01_wrap {
		grid-column: 1 / 2;
		flex-direction: column;
	}
	#hotel .hotel_sub01_wrap > .point_text {
		margin-left: 0;
		margin-top: var(--item-space);
	}
	#meal .stamp {
		right: -9vw;
		bottom: 226vw;
	}
	#meal .meal_main_wrap {
		grid-template-columns: 1fr 1fr;
	}
	#meal .meal_main_wrap .point_text {
		width: var(--sp-width);
		margin: 0 auto;
		grid-column: 1 / 3;
	}
	#meal .meal_sub_wrap {
		grid-template-columns: 1fr 1fr;
	}
	#meal .meal_sub_wrap > .img_wrap.first {
		grid-column: 1 / 3;
		grid-row: 1;
	}
	#meal .meal_sub_wrap > .cutout {
		grid-column: 1;
		grid-row: 2;
	}
	#meal .meal_sub_wrap > .point_text {
		grid-column: 1 / 3;
		grid-row: 3;
		margin-right: 0;
		margin-top: var(--item-space);
	}
	#hotspring .hotspring_main_wrap {
		grid-template-columns: 1fr 1fr;
	}
	#hotspring .hotspring_main_wrap .point_text {
		grid-column: 1 / 3;
		width: var(--sp-width);
		margin: 0 auto;
	}
	#hotspring .hotspring_main_wrap .point_text > p {
		text-align: left;
	}
	#hotspring .hotspring_main_wrap .main_img:nth-of-type(3) {
		grid-column: 1 / 3;
	}
	#hotspring .hotspring_sub_wrap {
		grid-template-columns: 1fr 1fr;
		margin-top: var(--margin-space);
	}
	#hotspring .hotspring_sub_wrap .cutout:nth-of-type(2){
		grid-column: 1;
	}
	#hotspring .hotspring_sub_wrap .img_wrap {
		grid-row: 1 / 3;
		grid-column: 2;
	}
	#hotspring .hotspring_sub_wrap > .point_text {
		grid-column: 1 / 3;
		margin-left: 0;
		margin-top: var(--item-space);
	}
	#local .inner {
		flex-direction: column;
	}
	#local .inner .local_main_wrap .point_text {
		width: var(--sp-width);	
	}
	#extra .extra_point01_wrap {
		grid-template-columns: 1.77fr 1fr;
	}
	#extra .extra_point01_wrap .extra_img:nth-of-type(1) {
		padding-left: 0;
	}
	#extra .extra_point01_wrap > .point_text {
		grid-column: 1/ 3;
		margin-left: 0;
		margin-top: var(--item-space);
	}
	#extra .extra_point02_wrap {
		grid-template-columns: 2fr 1fr;
	}
	#extra .extra_point02_wrap > .point_text {
		grid-row: 2;
		grid-column: 1 / 3;
		margin-right: 0;
		margin-top: var(--item-space);
	}
	#extra .extra_point03_wrap {
		grid-template-columns: 1fr 1fr;
	}
	#extra .extra_point03_wrap .img_wrap:nth-of-type(1) {
		grid-column: 1 / 3;
	}
	#extra .extra_point03_wrap > .point_text {
		grid-column: 1 / 3;
		margin-left: 0;
		margin-top: var(--item-space);
	}
}


#facility {
	width: var(--content-inner);
	margin: 0 auto;
	padding-top: min(60px,20vw);
}
#information {
	width: min(800px,90.67vw);
	margin: 0 auto;
}
#information .hotel_image {
	position: relative;
}
#information .hotel_image .hotel_balloon {
	position: absolute;
	top: min(-20px,-3vw);
	right: min(10px,1vw);
	width: min(120px,35vw);
}
#information .review {
	display: flex;
	align-items: end;
}
#information .review .review_title {
	flex: 1;
}
#information .review .review_model {
	flex: 1.5;
}
#information .review .review_bg {
	flex: 2.6;
	display: flex;
	align-items: flex-end;
	margin-left: min(-1vw,-10px);
	position: relative;
}
#information .review .review_bg::before {
	content: "";
	display: block;
	width: min(140px,10vw);
	height: min(50px,14vw);
	background: url(../images/review-bg.png) bottom left / contain no-repeat;
}
#information .review .review_bg .caption {
	padding: min(25px,5vw);
	color: var(--c-main);
	background-color: #fff;
	border-radius: 8px 8px 8px 0;
}
#information .hotel_info {
	display: flex;
	gap: var(--item-spaceL);
	margin-top: var(--margin-space);
}
#information .hotel_info .hotel_image {
	flex: 1;
}
#information .hotel_info .info_wrap {
	flex: 1.5;
}
#information .hotel_info .hotel_map {
	flex: 0.5;
}
#information .hotel_info .hotel_title .name {
	font-size: clamp(1rem, 0.943rem + 0.284vw, 1.125rem);
	font-weight: 600;
	display: flex;
	align-items: baseline;
	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;
}
#information .hotel_info .link_btn {
	width: 100%;
}
@media (max-width:767px) {
	#information {
		flex-direction: column;
		gap: var(--item-spaceL);
	}
	#information .review {
		display: grid;
		grid-template-columns: 1fr 1.3fr;
		width: var(--content-point);
		margin: 0 auto;
	}
	#information .review .review_bg {
		grid-column: 1 / 3;
		margin-top: min(-5vw,-32px);
		flex-direction: column;
		margin-left: 0;
	}
	#information .review .review_bg::before {
		background: url(../images/review-bg.png) bottom right/ contain no-repeat;
	}
	#information .review .review_bg .caption {
		border-radius: 8px 0 8px 8px;
	}
	#information .hotel_info {
		flex-direction: column;
	}
	#information .hotel_info .hotel_map {
		width: 40vw;
	}

}

#facility {
	display: flex;
	justify-content: space-between;
	padding: 0;
	gap: min(50px,3vw);
}
#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(160px,35vw);
	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-main);
	border-bottom: 1px solid var(--c-main);
}
#facility .facility_info {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 var(--item-spaceL);
	margin-bottom: min(40px,12vw);
	margin-top: min(60px,10vw);
}
#facility .facility_info .info_title {
	margin-bottom: var(--item-space);
}
#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;
}
@media (max-width: 1140px) and (min-width: 769px) {
	#facility {
		flex-direction: column;
	}
	#facility .facility_info .info_title {
		justify-content: start;
	}
	#facility .facility_info .info_title .info_icon {
		position: static;
	}
}
@media (max-width:767px) {
	#facility {
		flex-direction: column;
		align-items: center;
		gap: 16vw;
	}
	#facility .facility_info {
		grid-template-columns: 1fr;
		gap: var(--item-spaceL);
	}
	#facility .facility_info .info_title {
		justify-content: start;
		align-items: flex-end;
		gap: var(--item-spaceL);
	}
	#facility .facility_info .info_title .info_icon {
		position: static;
		width: min(80px,14vw);
	}
	#facility .facility_list .facility_list_title {
		top: min(-6vw,-23px);
	}
}

.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 .train {
	background: url(../images/info_train_blk.svg) no-repeat top left min(3px,0.5vw) / min(12px,3.9vw);
}
p.icon .car {
	background: url(../images/info_car_blk.svg) no-repeat center left min(3px,0.5vw) / min(12px,3.9vw);
}
.link_btn a {
	background-color: var(--c-main);
	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-main);
		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-main);	
		position: absolute;
		top: 50%;
		left: 6.5%;
		transform: translateY(-50%);
	}
	#introduction .about button::after {
		content: '';
		width: 2px;
		height: 4vw;
		background-color: var(--c-main);	
		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);
	text-align: center;
}
#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-main);
	color: #fff;
	font-size: 9px;
	border: 2px solid var(--c-main);
	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;
	}
}