@charset "UTF-8";
:root {
	--font-jp: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ",sans-serif;
	--c-blk: #000;
	--c-white: #fff;
	--c-green: #b7d342;
	--c-cream: #f7f7f1;
	--max-width: 1400px;
	--content-width: min(1100px,90.67vw); 
	--content-inner: min(885px,90.67vw);
	--sp-width: 90.67vw;
	--item-space: min(10px,2vw);
	--item-spaceL: min(20px,4vw);
} 
html {
    font-size: medium;
    line-height: 1;
    font-family: var(--font-jp);
	font-weight: normal;
	background-color: var(--c-cream);
}
img {
	width: 100%;
	vertical-align: middle;

}
a {
	color: var(--c-blk);
}
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_content {
	overflow: hidden;
}
#main_visual {
	position: relative;
}
#main_visual .mv {
	position: relative;
	text-align: center;
}
#main_visual .mv picture img {
	width: min(var(--max-width),100%);
	height: 900px;
	object-fit: cover;
}
@media (max-width:767px) {
	#main_visual .mv picture img {
		height: 110vw;
	}
}
#main_visual .mv .mv_balloon {
	position: absolute;
	width: min(130px,25.33vw);
	top: clamp(80px, 20vw, 320px);
	right: max(calc((100vw - var(--max-width)) / 2 - -100px), 5.75vw);
}
#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/bg-mv-box.jpg) left top / contain repeat;
	width: min(415px,90vw);
	padding: min(40px,6vw);
	clip-path: inset(0 100% 0 0);
	-webkit-clip-path: inset(0 100% 0 0);
}
@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(340px, 58vw);
}
#main_visual .mv_box p.lead {
    font-weight: 600;
	padding: min(40px,6vw) 0 min(20px,4vw);
	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);
}

.wrapper {
	width: var(--content-width);
	margin: 0 auto;
	padding: min(120px,16vw) 0 ;
}
@media (max-width:767px) {
	.wrapper {
		width: 100%;
	}
}
#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: var(--c-white);
	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);
}

.main_container {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	align-items: center;
}
@media (max-width:767px) {
	.main_container {
		grid-template-columns: repeat(2, 1fr);
	}
}
.main_container .section_intro {
	font-size: clamp(0.875rem, 0.502rem + 0.778vw, 1rem);
}
@media (max-width:767px) {
	.main_container .section_intro {
		width: var(--sp-width);
		margin: 0 auto;
	}
	.main_container .section_heading {
		padding-bottom: var(--item-spaceL);
		margin: 0 auto
	}
}
.sub_container {
	width: var(--content-inner);
	margin: 0 auto;
	padding-top: min(80px,15vw);
}
#room .main_container {
	column-gap: var(--item-space);
	grid-template-areas: 
	"room-a room-b room-b"
	"room-c room-c room-d";
}
@media (max-width:767px) {
	#room .main_container{
		grid-template-areas: 
		"room-a room-a"
		"room-b room-b"
		"room-c room-c"
		". room-d";
		gap: var(--item-space);
	}
}
#room .main_container .section_heading {
	grid-area: room-a;
	padding-right: var(--item-spaceL);
	width: min(335px,26vw);
}
@media (max-width:767px) {
	#room .main_container .section_heading {
		padding-right: 0;
		width: min(335px,60vw);
		margin: 0 auto;
	}
}
#room .main_container .section_intro {
	grid-area: room-b;
}
#room .main_container .image_first {
	margin-top: auto;
	grid-area: room-c;
}
#room .main_container .image_second {
	grid-area: room-d;
}
#room .sub_container .sub_title {
	width: min(230px,45vw);
	margin-bottom: var(--item-space);
}
#room .sub_container .caption {
	width: min(230px,20vw);
	margin-bottom: var(--item-space);
	width: min(620px,var(--sp-width));
}
#room .sub_container .sub_image {
	display: flex;
	gap: var(--item-space);
}
@media (max-width:767px) {
	#room .sub_container .sub_image {
		flex-wrap: wrap;
	}
}
#tea {
	position: relative;
}
#tea .stamp {
	content: "";
	background: url(../images/stamp.png) top left / contain no-repeat;
	position: absolute;
	width: min(400px, 34.29vw);
	height: min(390px, 34.29vw);
	right: max(calc((100vw - var(--max-width)) / 2 - 43rem), -16.25vw);
	top: min(840px, 90vw);
	z-index: -1;
	will-change: transform;
}
#tea .main_container {
	row-gap: var(--item-space);
	grid-template-areas: 
	"tea-a tea-a tea-b"
	"tea-c tea-d tea-d";
}
@media (max-width:767px) {
	#tea .main_container {
		grid-template-areas: 
		"tea-b tea-b"
		"tea-d tea-d"
		"tea-a tea-a"
		". tea-c";
	}
}
#tea .main_container .image_first {
	grid-area: tea-a;
}
#tea .main_container .section_heading {
	grid-area: tea-b;
	padding-left: min(44px,20vw);
	width: min(300px,56vw);
}
@media (max-width:767px) {
	#tea .main_container .section_heading {
		padding-left: 0;
		margin: 0 auto var(--item-spaceL);
	}
}
#tea .main_container .image_second {
	grid-area: tea-c;
}
#tea .main_container .section_intro {
	grid-area: tea-d;
	padding-left: var(--item-spaceL);
}
@media (max-width:767px) {
	#tea .main_container .section_intro {
		padding-left: 0;
	}
}
#tea .sub_container.row_01 {
	display: flex;
	grid-area: var(--item-space);
	align-items: flex-end;
	gap: var(--item-space);
}
@media (max-width:767px) {
	#tea .sub_container.row_01 {
		flex-wrap: wrap;
		gap: var(--item-spaceL);
	}
}
#tea .sub_container.row_01 > div {
	width: min( calc( var(--content-inner) * 2 ), var(--sp-width));
}
#tea .sub_container.row_01 .layout_box {
	display: grid;
	grid-template-columns: 2fr 1fr;
	column-gap: var(--item-space);
}
#tea .sub_container.row_01 .caption {
	margin-top: auto;
}
#tea .sub_container.row_01 .sub_title {
	width: min(255px,48vw);
	grid-area: 1 / 1 / 3 / 3;
	margin-bottom: var(--item-space);
}
#tea .sub_container.row_01 .sub_image {
	grid-column: 2;
}
#tea .sub_container.row_02 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--item-space) var(--item-spaceL);
	align-items: center;
}
#tea .sub_container.row_02 .sub_main_image {
	grid-area: 1 / 1 / 2 / 2;
}
@media (max-width:767px) {
	#tea .sub_container.row_02 .sub_main_image {
		grid-area: 2 / 1 / 3 / 3;
	}
}
#tea .sub_container.row_02 .layout_box {
	grid-area: 1 / 2 / 2 / 3;
}
@media (max-width:767px) {
	#tea .sub_container.row_02 .layout_box {
		grid-area: 1 / 1 / 2 / 3;
	}
}
#tea .sub_container.row_02 .sub_title {
	width: min(190px,15vw);
	margin-bottom: var(--item-space);
}
@media (max-width:767px) {
	#tea .sub_container.row_02 .sub_title {
		width: min(190px,35vw);
	}
}
#tea .sub_container.row_02 .sub_image {
	grid-area: 2 / 1 / 3 / 3;
	display: flex;
	align-items: flex-end;
	gap: var(--item-space);
}
@media (max-width:767px) {
	#tea .sub_container.row_02 .sub_image {
		grid-area: 3 / 1 / 4 / 3;
		display: grid;
		grid-template-columns: 1fr 1fr;
	}
	#tea .sub_container.row_02 .sub_image .first {
		grid-column: 1 / 3;
		width: 55vw;
	}
}
#hotspring .main_container {
	grid-template-areas: 
    "hotspring-a hotspring-b hotspring-b"
    "hotspring-c hotspring-c hotspring-c";
	gap: var(--item-space) var(--item-spaceL);
}
@media (max-width:767px) {
	#hotspring .main_container {
		grid-template-areas:
		"hotspring-a hotspring-a"
		"hotspring-b hotspring-b"
		"hotspring-c hotspring-c";
	}
}
#hotspring .main_container .section_heading {
	grid-area: hotspring-a;
	padding-right: var(--item-spaceL);
	width: min(270px,55vw);
}
@media (max-width:767px) {
	#hotspring .main_container .section_heading {
		padding-right: 0;
	}
}
#hotspring .main_container .image_first {
	grid-area: hotspring-b;
}
#hotspring .main_container .layout_box {
	grid-area: hotspring-c;
	display: flex;
}
@media (max-width:767px) {
	#hotspring .main_container .layout_box {
		flex-direction: column;
		gap: var(--item-space);
	}
}
#hotspring .main_container .layout_box > * {
	flex: 1;
}
#hotspring .main_container .layout_box .section_intro {
	padding-left: var(--item-spaceL);
	padding-top: var(--item-spaceL);
}
@media (max-width:767px) {
	#hotspring .main_container .layout_box .section_intro {
		padding-left: 0;
		padding-top: 0;
	}
}
#hotspring .sub_container {
	display: flex;
	align-items: flex-end;
	column-gap: var(--item-spaceL);
}
@media (max-width:767px) {
	#hotspring .sub_container {
		flex-direction: column;
		gap: var(--item-space);
	}
}
#hotspring .sub_container .sub_title {
	width: min(220px,46vw);
	margin-bottom: var(--item-space);
}
#hotspring .sub_container .layout_box {
	flex: 1;
}
#hotspring .sub_container .layout_box .sub_image {
	margin-top: var(--item-spaceL);
}
@media (max-width:767px) {
	#hotspring .sub_container .layout_box .sub_image {
		width: 40vw;
	}
}
#hotspring .sub_container .sub_main_image {
	flex: 1.5;
}
#meal {
	position: relative;
}
#meal .stamp {
	position: absolute;
	width: min(390px, 34.29vw);
	height: min(390px, 34.29vw);
	left: max(calc((100vw - var(--max-width)) / 2 - 43rem), -16.25vw);
	bottom: min(10px, 18vw);
	background: url(../images/stamp.png) top left / contain no-repeat;
	z-index: -1;
	pointer-events: none;
	will-change: transform;
}
#meal .main_container {
	grid-template-areas: 
    "meal-a meal-a meal-b"
    "meal-c meal-c meal-c";
	gap: var(--item-spaceL);
}
@media (max-width:767px) {
	#meal .main_container {
		grid-template-areas: 
		"meal-b meal-b"
		"meal-a meal-a"
		"meal-c meal-c";
	}
}
#meal .main_container .image_first {
	grid-area: meal-a;
}
#meal .main_container .section_heading {
	grid-area: meal-b;
	width: min(334px,58vw);
}
#meal .main_container .layout_box {
	grid-area: meal-c;
	display: flex;
	gap: var(--item-spaceL);
}
@media (max-width:767px) {
	#meal .main_container .layout_box {
		flex-direction: column-reverse;
	}
	#meal .main_container .layout_box .image_second {
		width: var(--sp-width);
		margin: 0 auto;
	}
}
#meal .main_container .layout_box > * {
	flex: 1;
}
#meal .sub_container.row_01 {
	display: grid;
	grid-template-columns: 2fr 1fr;
	gap: var(--item-spaceL);
}
@media (max-width:767px) {
	#meal .sub_container.row_01 {
		grid-template-columns: 1fr 1fr;
		align-items: end;
	}
}
#meal .sub_container.row_01 .layout_box {
	grid-area: 1 / 1 / 2 / 2;
}
@media (max-width:767px) {
	#meal .sub_container.row_01 .layout_box {
		grid-area: 1 / 1 / 2 / 3;
	}
}
#meal .sub_container.row_01 .sub_title {
	width: min(266px,54vw);
	padding-bottom: var(--item-space);
}
#meal .sub_container.row_01 .sub_image {
	grid-area: 2 / 1 / 3 / 2;
	display: flex;
	align-items: flex-end;
	gap: var(--item-space);
}
@media (max-width:767px) {
	#meal .sub_container.row_01 .sub_image {
		flex-direction: column;
	}
}
#meal .sub_container.row_01 .sub_main_image {
	grid-area: 1 / 2 / 3 / 3;
}
@media (max-width:767px) {
	#meal .sub_container.row_01 .sub_main_image {
		grid-area: 2 / 2 / 3 / 3;
	}
}
#meal .sub_container.row_02 {
	display: flex;
	align-items: center;
	gap: var(--item-spaceL);
}
@media (max-width:767px) {
	#meal .sub_container.row_02 {
		flex-direction: column-reverse;
		gap: 0;
	}
}
#meal .sub_container.row_02 .sub_image {
	display: flex;
	align-items: flex-end;
	gap: var(--item-space);
	flex: 2.8;
}
#meal .sub_container.row_02 .layout_box {
	flex: 1;
}
#meal .sub_container.row_02 .sub_title {
	width: min(270px,54vw);
	padding-bottom: var(--item-space);
}
#local .main_container {
	grid-template-areas: 
    "local-a local-a local-b"
    "local-c local-c local-c";
	gap: var(--item-spaceL);
}
@media (max-width:767px) {
	#local .main_container {
		grid-template-areas: 
		"local-b local-b"
		"local-a local-a"
		"local-c local-c";
		gap: var(--item-spaceL);
	}
}
#local .main_container .image_first {
	grid-area: local-a;
}
#local .main_container .section_heading {
	grid-area: local-b;
	width: min(335px,60vw);
}
#local .main_container .section_intro {
	grid-area: local-c;
}
#local .sub_container.low_01 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--item-space) var(--item-spaceL);
}
#local .sub_container.low_01 .layout_box {
	grid-area: 1 / 1 / 2 / 2;
}
@media (max-width:767px) {
	#local .sub_container.low_01 .layout_box {
		grid-area: 1 / 1 / 2 / 3;
	}
}
#local .sub_container.low_01 .sub_title {
	width: min(180px,36vw);
	padding-bottom: var(--item-space);
}
#local .sub_container.low_01 .sub_main_image {
	grid-area: 1 / 2 / 2 / 3;
}
@media (max-width:767px) {
	#local .sub_container.low_01 .sub_main_image {
		grid-area: 2 / 1 / 3 / 3;
	}
}
#local .sub_container.low_01 .sub_image {
	grid-area: 2 / 1 / 3 / 3;
	width: min(540px,var(--sp-width));
	margin: 0 0 0 auto;
}
@media (max-width:767px) {
	#local .sub_container.low_01 .sub_image{
		grid-area: 3 / 1 / 4 / 3;
	}
}
#local .sub_container.low_02 {
	display: flex;
	align-items: center;
	gap: var(--item-spaceL);
}
@media (max-width:767px) {
	#local .sub_container.low_02 {
		flex-direction: column-reverse;
	}
}
#local .sub_container.low_02 > div {
	flex: 1;
}
#local .sub_container.low_02 .sub_main {
	position: relative;
	width: 100%;
}
@media (max-width:767px) {
	#local .sub_container.low_02 .sub_main > img {
		width: 80vw;
	}
}
#local .sub_container.low_02 .sub_main .second {
	position: absolute;
	right: min(-2vw,-110px);
	bottom: min(-2vw,-50px);
	width: min(240px,50vw);
}
@media (max-width:767px) {
	#local .sub_container.low_02 .sub_main .second {
		position: static;
		margin: 0 0 0 auto;
		transform: translateY(-40%);
	}
}
#local .sub_container.low_02 .sub_title {
	width: min(160px,34vw);
	padding-bottom: var(--item-space);
}
#local .sub_container.low_03 {
	display: flex;
	justify-content: space-between;
	padding-top: min(120px,8vw);
}
@media (max-width:767px) {
	#local .sub_container.low_03 {
		flex-direction: column;
		gap: var(--item-spaceL);
		padding: 0;
	}
}
#local .sub_container.low_03 .layout_box {
	width: min(250px,20vw);
}
@media (max-width:767px) {
	#local .sub_container.low_03 .layout_box {
		width: 100%;
	}
}
#local .sub_container.low_03 .sub_title {
	width: min(180px,40vw);
	padding-bottom: var(--item-space);
}
#local .sub_container.low_03 .sub_main {
	width: min(calc( var(--content-inner) / 2), var(--sp-width));
	position: relative;
}
@media (max-width:767px) {
	#local .sub_container.low_03 .sub_main {
		width: 100%;
		text-align: right;
	}
	#local .sub_container.low_03 .sub_main img {
		width: 70%;
	}
}
#local .sub_container.low_03 .sub_main .second {
	position: absolute;
	left: min(-2vw,-170px);
	bottom: min(-1vw,-30px);
	width: min(240px,15vw);
}
@media (max-width:767px) {
	#local .sub_container.low_03 .sub_main .second {
		left: 0;
		bottom: 0;
		width: min(240px,45vw);
		text-align: initial;
	}
}
#information {
	display: flex;
	align-items: flex-start;
}
@media (max-width:767px) {
	#information {
		flex-direction: column;
	}
}
#information > div {
	flex: 1;
}
#information .voice {
	margin-right: min(100px,3vw);
	background-color: var(--c-white);
	padding: 0 min(20px,3vw);
	border-radius: 20px;
	display: flex;
	align-items: flex-end;
	gap: var(--item-spaceL);
}
#information .voice .voice_model {
	flex: 1;
}
#information .voice .comment {
	flex: 2;
	padding: min(40px,8vw) 0;
}
#information .voice .voice_title {
	width: min(280px,56vw);
	margin-bottom: var(--item-space);
}
#information .hotel_info {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
}
@media (max-width:767px) {
	#information .hotel_info {
		grid-template-columns: 1fr;
		width: var(--sp-width);
		margin: 10vw auto 0;
	}
}
#information .hotel_info .hotel_image {
	grid-area: 1 / 1 / 2 / 4;
	margin-bottom: var(--item-spaceL);
}
@media (max-width:767px) {
	#information .hotel_info .hotel_image {
		grid-area: 1 / 1 / 2 / 2;
	}
}
#information .hotel_info .hotel_title {
	grid-area: 2 / 1 / 3 / 3;
	margin-bottom: var(--item-spaceL);
}
@media (max-width:767px) {
	#information .hotel_info .hotel_title  {
		grid-area: 2 / 1 / 3 / 2;
	}
}
#information .hotel_info .hotel_detail {
	grid-area: 3 / 1 / 4 / 3;
}
@media (max-width:767px) {
	#information .hotel_info .hotel_detail  {
		grid-area: 3 / 1 / 4 / 2;
	}
}
#information .hotel_info .hotel_map {
	grid-area: 2 / 3 / 4 / 4;
	margin-left: var(--item-spaceL);
}
@media (max-width:767px) {
	#information .hotel_info .hotel_map  {
		grid-area: 5 / 1 / 6 / 2;
		width: 40vw;
		margin: var(--item-spaceL) 0 0;
	}
}
#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;
}
#facility {
	display: flex;
	justify-content: space-between;
	padding: 0;
	gap: var(--item-spaceL);
}
@media (max-width:767px) {
	#facility {
		flex-direction: column;
		align-items: center;
		gap: 13vw;
	}
}
#facility .facility_map {
	width: min(430px,var(--sp-width));
}
#facility .facility_list {
	width: min(620px,var(--sp-width));
	position: relative;
}
#facility .facility_list .facility_list_title {
	position: absolute;
	width: min(185px,32vw);
	top: min(-4vw,-20px);
	right: 0;
}
#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_item {
	margin-top: min(60px,10vw);
	display: flex;
	justify-content: space-between;
	gap: min(20px,2vw);
}
@media (max-width:767px) {
	#facility .facility_item {
		flex-direction: column;
	}
}
#facility .facility_item + .facility_item {
	margin-top: min(40px,10vw);
	margin-bottom: min(50px,10vw);
}
#facility .facility_item .item_title {
	flex: 1.1;
}
#facility .facility_item .facility_image {
	padding-top: var(--item-space);
} 
#facility .facility_item .item_detail {
	flex: 1.3;
}
#facility .facility_item .caprion {
	padding-bottom: var(--item-space);
}
#facility .facility_item .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_item .name > span {
	font-size: clamp(0.75rem, 0.693rem + 0.284vw, 0.875rem);
	font-weight: normal;
}
.hotel_detail {
	display: flex;
	flex-wrap: wrap;
	gap: min(2px,0.5vw) min(20px,3vw);
}
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);
}
.link_btn a {
	background-color: var(--c-green);
	gap: min(4px,1vw);
	padding: min(14px,2vw) 0 min(8px,2vw);
	width: min(170px,16vw);
	border-radius: 50px;
	font-size: clamp(0.75rem, 0.377rem + 0.778vw, 0.875rem);
	color: var(--c-white);
	font-weight: 600;
	position: relative;
	margin-top: var(--item-space);
	display: 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) min(10px,2vw) min(8px,3vw);
		width: min(170px,32vw);
	}
}


@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: #858e94;	
		position: absolute;
		top: 50%;
		left: 6.5%;
		transform: translateY(-50%);
	}
	#introduction .about button::after {
		content: '';
		width: 2px;
		height: 4vw;
		background-color: #858e94;	
		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 .sp {
	display: none;
}
#footer .info > p{
	font-size: 0.875rem;
	text-align: center;
}
#footer .backto_savvy a{
	display: block;
	margin: 20px auto;
	color: #fff;
	background-color: #ea6a88;
	border: 0.5px solid #ea6a88;
	border-radius: 40px;
	letter-spacing: 0.08em;
	font-size: 0.875rem;
	font-weight: bold;
	padding: 16px 0 14px;
	width: 200px;
	transition: all .3s;
}
@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: 40px;
	right: 45px;
	width: 55px;
	height: 55px;
	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: 23px;
}
#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: 120px;
}
#footer small {
	font-size: 70%;
}

@media (max-width:767px){
	.sp {
		display: inline-block;
	}
	.pc {
		display: none;
	}
	#footer{
		text-align: center;
		font-size: 3vw;
		padding-top: 4vw;
	}
	#footer .info > p{
		font-size: 2.5vw;
	}
	#footer .backto_savvy a{
		margin: 10vw auto 4vw;
		font-size: 3vw;
		padding: 3vw 0 2.5vw;
		width: 42vw;
	}
	#footer .copy{
		text-align: center;
		border-top: 0.2vw solid;
		padding-top: 5vw;
		margin-top: 5vw;
	}
	#footer .page_top_btn{
		position: fixed;
		bottom: 3vw;
		right: 3vw;
		width: 8vw;
		height: 8vw;
		line-height: 1.5;
		border-radius: 50%;
		text-align: center;
		display: table;
		color: #fff;
		font-size: 1.5vw;
	}
	#footer .pagetop_icn{
		color: #fff;
		font-size: 3vw;
	}
	#footer .txt_btn{
		display:table-cell;
		vertical-align:middle;
	}
	#footer .shareBtn ul {
		margin-top: 6vw;
		gap: 2vw;
	}
	#footer .shareBtn li {
		width: 25vw;
	}

}