@charset "UTF-8";
/* CSS Document */

h1{
	font-size: 2.343vw;
	line-height: 2em;
	position: absolute;
	left:0;
	top: 25vh;
}

/*----------MV-------------*/

#mv_top{
	display: flex;
	justify-content: space-around;
	height: 97vh;
	padding-top: 30px;
	margin-bottom: 20rem;
}

#mv_top_right{
	width: 68.9%;
	position: relative;
}

#mv_top_img{
	width: 100%;
	position: relative;
	height: 100%;
	background-image:url("../img/top/mv.webp");
	background-size: cover;
	border-top-left-radius: 15rem;
}

@media (-webkit-min-device-pixel-ratio: 2),
       (min-resolution: 192dpi) {
  #mv_top_img {
    background-image:url("../img/top/mv@2x.webp");
  }
}

#mv_top_right h2{
	font-size:1.8229vw;
}

#mv_top_right #h2_bg{
	display: block;
	background: #ffffff;
	position: absolute;
	right: 0;
	bottom: 0;
	padding: 20px 40px 20px 40px;
	border-top-left-radius: 30px;
	z-index: 555;
}

#mv_top_left_container{
	width: 25%;
	position: relative;
	padding-left: 5%;
}

#mv_top_left{
	height: 93vh;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	position: relative;
}

/*------ナビゲーション-------*/

#topnav li{
	font-size:1.19vw;
	margin-bottom: 5vh;
	position: relative;
	padding-left: 3em;
}

#topnav li:last-child{
	margin-bottom: 0;
}

#topnav li span{
	font-size: 0.729%;
	color: #b3b3b3;
	display: block;
	margin-top:-3px;
}

#topnav li::before{
	content: "";
	position: absolute;
	left: 0;
	top: 48%;
	width: 2em;
	height: 2em;
	transform: translateY(-50%);
	background-size: contain;
}

#topnav li#nav_info::before{
	background: url("../img/top/icon_01_info.svg") no-repeat center;
}

#topnav li#nav_about::before{
	background: url("../img/top/icon_02_about.svg") no-repeat center;
}

#topnav li#nav_flow::before{
	background: url("../img/top/icon_03_flow.svg") no-repeat center;
}

#topnav li#nav_strength::before{
	background: url("../img/top/icon_04_strength.svg") no-repeat center;
}

#topnav li#nav_contact::before{
	background: url("../img/top/icon_05_contact.svg") no-repeat center;
}

#topnav a {
	color: #222;
	text-decoration: none;

	background:
	linear-gradient(
	to right,
	#f18974 0%,
	#f18974 50%,
	#222 50%,
	#222 100%
	);

	background-size: 200% 100%;
	background-position: 100% 0;

	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;

	transition: background-position 0.5s ease;
}

#topnav a:hover {
  background-position: 0 0;
}

/*-------バナー寿司トレイン----------*/

.banner-slider {
	width: 100%;
	overflow: hidden;
	margin-bottom: 35rem;
}

.banner-track {
	display: flex;
	gap: 15px;
	width: max-content;
	will-change: transform;
}

.banner-item {
	flex-shrink: 0;
}

.banner-item img {
	display: block;
	width: 15vw;
	height: auto;
}
/*-------イントロ---------*/

#intro {
    width: 100%;
    height: auto;
    padding: 10rem 0 0;
    margin-bottom: 20rem;
    container-type: inline-size;
}

#intro_title {
    position: relative;
    width: 100%;
    height: 58cqw;
    max-height: 1100px;
    margin: 0 auto;
}

#h2_intro {
    position: relative;
    width: fit-content;
    margin: 0 auto 5rem;
    font-size: clamp(24px, 2.5cqw, 40px);
    line-height: 1.875;
    text-align: left;
}

#h2_intro::after {
    content: "";
    position: absolute;

    /* 見出しの文字サイズを基準に統一 */
    width: 4em;
    aspect-ratio: 1;

    /* 見出しの右上付近に配置 */
    top: -2.2em;
    right: 2.5em;

    background: url("../img/top/illust_01.svg") center / contain no-repeat;
    pointer-events: none;
}

#p_intro {
    position: relative;
    z-index: 2;
    text-align: center;
    line-height: 2;
	line-height: 2.5em;
}

/* 写真・イラスト共通 */
.img_intro,
.illust_intro {
    position: absolute;
    margin: 0;
}

.img_intro img,
.illust_intro img {
    display: block;
    width: 100%;
    height: auto;
}

/* 写真 */
#img_intro_01 {
    width: 16%;
    top: 4%;
    left: 11%;
}

#img_intro_02 {
    width: 14.5%;
    top: 0;
    right: 14%;
}

#img_intro_03 {
    width: 16.5%;
    top: 51%;
    left: 29%;
}

#img_intro_04 {
    width: 20%;
    top: 47%;
    right: 26%;
}

/* イラスト */
#illust_intro_02 {
    width: 8%;
    top: 55%;
    left: 15%;
}

#illust_intro_03 {
    width: 7%;
    top: 74%;
    left: 31%;
}

#illust_intro_04 {
    width: 8%;
    top: 62%;
    right: 13%;
}

/*------3つの約束-------*/

#commitment{
	width: 95%;
	background: #f7e4df;
	border-radius: 50px;
	margin: 50rem auto 36rem auto;
	position: relative;
	container-type: inline-size;
	padding-bottom: 10rem;
}

#commitment_inner{
	width: 80%;
	margin: 0 auto;
}

#commitment h2{
	text-align: center;
	position: relative;
	background: linear-gradient(45deg, #f16d6f 23%, #fbb03b 33%, #f16d6f 82%);
	color: transparent;
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	text-fill-color: transparent;
	margin-top: -1vh;
	font-size: clamp(24px, 2.18cqw, 40px);
	margin-bottom: 14rem;

	
}

#commitment h2 span{
	font-size: 1.25em;
}

#commitment h2 br:nth-child(2){
	display: none;
}

#commitment h2::after{
	content: "";
	background: url("../img/top/h2_deco.svg");
	background-size: contain;
	width:53.1cqw;
	height: 5.7cqw;
	position: absolute;
	bottom: calc(100% + -2rem);
	left: 50%;
	transform: translateX(-50%);
	z-index: -1;
}

#commitment h2::before{
	content: "";
	background: url("../img/top/illust_05.svg");
	background-size: contain;
	background-repeat: no-repeat;
	width:13.38cqw;
	height: 13.125cqw;
	position: absolute;
	bottom: calc(100% + 0.5rem);
	left: 50%;
	transform: translateX(-50%);
	z-index: 1;
}

#commitment h3{
	font-size: 1.3vw;
	margin-bottom: 1.5rem;
	color: #ffffff;
	position: relative;
}

#commitment h3 span{
	display: inline-block;
	padding: 10px 20px;
	background: linear-gradient(49deg,rgba(17, 181, 201, 1) 0%, rgba(247, 200, 211, 1) 100%);
	border-radius: 12px;
	margin-bottom: 10px;
	
}

#commitment h3#commit_01::after,
#commitment h3#commit_02::after,
#commitment h3#commit_03::after{
	content: "";
	position: absolute;
	width: 11.87cqw;
	height: 4.68cqw;
	background-size: contain;
	transform: translateX(-10px);
	z-index: 999;
}

#commitment h3#commit_01::after{
	background: url("../img/top/balloon_01.svg") no-repeat center;
	top: -60px;
	left: 90%;
}

#commitment h3#commit_02::after{
	background: url("../img/top/balloon_02.svg") no-repeat center;
	top: -50px;
	left: 80%;
}

#commitment h3#commit_03::after{
	background: url("../img/top/balloon_03.svg") no-repeat center;
	top: -60px;
	left: 65%;
}

#commitment p{
	color: #f16d6f;
	line-height: 2em;
}

#link_iq{
	display:inline-block;
	padding-bottom: 10px;
	border-bottom: solid 1px #F16D6F;
	float: right;
	position: relative;
	padding-right: 50px;
	margin-top: 20px;
	transition: transform .4s ease, opacity .4s ease;
	transform-origin: center;
}

#link_iq::after{
	content: "";
	position: absolute;
	top:31%;
	right:0;
	transform: translateY(-50%);
	width: 30px;
    height: 5px;
    border-right: 1px solid #F16D6F;
    border-bottom: 1px solid #F16D6F;
    transform: skew(45deg);
}

.features-wrapper {
	position: relative;
}

.features {
	position: relative;
	margin-top: 0;
	z-index: 2;
}

.feature {
	width: 100%;
	display: grid;

	grid-template-columns:
		30%
		30%
		30%;
	justify-content: space-between;
	align-items: center;
	min-height: 100vh;
}

.feature-content {
	width: 100%;
	opacity: 0;
	transform: translateY(50px);
	transition:
		opacity 1s ease 0.25s,
		transform 1s cubic-bezier(0.22, 1, 0.36, 1) 0.25s;
}


.feature.is-show .feature-image {
	opacity: 1;
	transform: translateY(0);
}

.feature.is-show .feature-content {
	opacity: 1;
	transform: translateY(0);
}

.feature-image {
	width: 100%;
	grid-column: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	transform: translateY(50px);
	transition:
		opacity 1s ease,
		transform 1s cubic-bezier(0.22, 1, 0.36, 1);
}

.feature-image img {
	display: block;
	width: 100%;
	height: auto;
	max-width: none;
	border-radius: 20px;
}

.feature.left .feature-content {
	grid-column: 1;
	grid-row: 1;
}

.feature.left .feature-image {
	grid-column: 2;
	grid-row: 1;
}

.feature.right .feature-image {
	grid-column: 2;
	grid-row: 1;
}

.feature.right .feature-content {
	grid-column: 3;
	grid-row: 1;
}

#link_iq:hover {
	transform: scale(1.08);
	opacity: .8;
}

@media (max-width: 1024px) {

	.feature {
		width: 100%;
		display: flex;
		flex-direction: column;
		align-items: stretch;
		justify-content: flex-start;
		min-height: auto;
		margin-bottom: 21rem;
	}

	.feature:last-child {
		margin-bottom: 0;
	}

	.feature.left .feature-content,
	.feature.right .feature-content,
	.feature.left .feature-image,
	.feature.right .feature-image {
		grid-column: auto;
		grid-row: auto;
	}

	.feature.left .feature-image,
	.feature.right .feature-image {
		order: 1;
	}

	.feature.left .feature-content,
	.feature.right .feature-content {
		order: 2;
	}

	.feature-image {
		width: 55%;

		margin-left: auto;
		margin-right: auto;
		margin-bottom: 4rem;

		display: block;
	}

	.feature-image img {
		display: block;

		width: 100%;
		height: auto;

		border-radius: 15px;
	}

	.feature-content {
		width: 100%;

		opacity: 1;
		transform: none;
		transition: none;
		margin-bottom: 5rem;
	}

	#commitment h3 {
		font-size: 4vw;
		margin-bottom: 2rem;
	}

	#commitment h3 span {
		margin-bottom: 11px;
	}

	#commitment .feature-content p {
		width: 100%;
	}

	#link_iq {
		margin-left: auto;
	}
	
	#commitment h3#commit_01::after,
	#commitment h3#commit_02::after,
	#commitment h3#commit_03::after {
		display: none;
	}
	
	.feature-image{
		position: relative;
	}
	
	    .feature-image::after {
        content: "";
        position: absolute;
        width: 32.4vw;
        height: 12.8vw;
        background-size: contain;
        transform: translateX(-10px);
        z-index: 999;
        top: -105px;
        right: -178px;
    }
	
	#feature-image01::after {
		background: url("../img/top/balloon_01.svg") no-repeat center;
	}
	
	#feature-image02::after {
		background: url("../img/top/balloon_02.svg") no-repeat center;
	}
	
	#feature-image03::after {
		background: url("../img/top/balloon_03.svg") no-repeat center;
	}

}

@media (max-width: 767px) {
	
	.feature{
		margin-bottom: 12rem;
	}
	
	.feature-image::after {
        top: -64px;
        right: -76px;
    }
}

/*------------店舗案内-----------------*/

#info{
	width: 65%;
	max-width: 1500px;
	margin: 0 auto 32rem auto;
	container-type: inline-size;
}

#infoblock_01{
	margin-bottom: 27rem;
	display: flex;
	justify-content: space-between;
}

#block_01_left{
	width: 48%;
}

#block_01_left h2{
	margin-bottom: 2.18rem;
}

#chipwrap{
	width: 100%;
	display: flex;
	justify-content: space-between;
	margin-bottom: 2rem;
}

.chip{
	width: 32%;
	padding: 2px 0;
	display: inline-block;
	border: dashed 1px #F18974;
	color: #F18974;
	text-align: center;
	border-radius: 10px;
	font-size:67%;
	
}

#block_01_right{
	width: 44%;
}

#bnr_info{
	position: relative;
}

#bnr_info_btn {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: 23px;
	width: 85%;
	height: 8rem;
	line-height: 8rem;
	background: #F18974;
	border: 1px solid #F18974;
	border-radius: 1.25rem;
	text-align: center;
	font-size: 1.3vw;
	color: #fff;
	overflow: hidden;
	z-index: 1;
	transition: color 0.4s ease, border-color 0.4s ease;
}

/* 白い背景 */
#bnr_info_btn::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #fff;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.4s ease;
	z-index: -1;
}

/* 矢印：通常時は白 */
#bnr_info_btn::after {
	content: "";
	position: absolute;
	top: 48%;
	right: 10%;
	transform: translateY(-50%) skew(45deg);
	width: 10%;
	height: 5px;
	border-right: 1px solid #fff;
	border-bottom: 1px solid #fff;
	transition: border-color 0.4s ease;
}

/* ホバー */
#bnr_info_btn:hover {
	color: #F18974;
	border-color: #F18974;
}

#bnr_info_btn:hover::before {
	transform: scaleX(1);
}

/* ホバー時だけ矢印をピンクに */
#bnr_info_btn:hover::after {
	border-color: #F18974;
}

#infoblock_02{
	margin: 0 auto;
}

#infoblock_02 h2{
	text-align: center;
	line-height: 1.87em;
	margin-bottom: 12rem;
}

.info_shop_01,
.info_shop_02{
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	margin-bottom: 26rem;
}

.info_shop_01:last-child{
	margin-bottom: 0;
}

.info_shop_txt h3{
	color: #F18974;
	font-size: 1.56vw;
	line-height: 1.66em;
	margin-bottom: 1.5rem;
}

.info_shop_txt ul{
	margin-bottom: 1.8rem;
}

.info_shop_txt li{
	line-height: 2.3em;
}

.info_shop_img{
	width: 62%;
}

.info_shop_txt{
	width: 32%;
	display: flex;
	align-items: flex-end;
}

.boxbottom{
	width:100%
}

.btn_info_shop {
	display: block;
	width: 100%;
	border-radius: 10px;
	padding: 15px;
	text-align: center;
	color: #ffffff;
	background: #E1826E;
	border: 1px solid #E1826E;
	position: relative;
	overflow: hidden;
	z-index: 1;
	transition: color 0.4s ease, border-color 0.4s ease;
}

/* 白い背景 */
.btn_info_shop::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #ffffff;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.4s ease;
	z-index: -1;
}

/* 矢印 */
.btn_info_shop::after {
	content: "";
	position: absolute;
	top: 48%;
	right: 10%;
	transform: translateY(-50%) skew(45deg);
	width: 10%;
	height: 5px;
	border-right: 1px solid #ffffff;
	border-bottom: 1px solid #ffffff;
	transition: border-color 0.4s ease;
}

/* hover */
.btn_info_shop:hover {
	color: #E1826E;
	border-color: #E1826E;
}

.btn_info_shop:hover::before {
	transform: scaleX(1);
}

.btn_info_shop:hover::after {
	border-color: #E1826E;
}

.info_shop_02 .info_shop_txt{
	order: 1;
}

.info_shop_02 .info_shop_img{
	order: 2;
}

/*------------相談実例-------------*/

#review{
	width: 90%;
	background: #F7E4DF;
	border-top-right-radius: 260px;
	border-bottom-right-radius: 50px;
	padding: 21rem 0;
	margin-bottom: 27.8rem;
}

#review .h2_bg{
	font-size: 2.08vw;
	width: 60.93cqw;
	padding: 1.3cqw 5.2cqw 1.3cqw 40cqw;
	background: #ffffff;
	border-top-right-radius: 999px;
	border-bottom-right-radius: 999px;
	position: relative;
	margin-bottom: 29rem;
}

#review .h2_bg::before{
	content: "";
	position: absolute;
	top:48%;
	left:0;
	transform: translateY(-50%);
	width: 35%;
    height: 5px;
    border-bottom: 1px solid #F18974;
}

#review .h2_bg::after{
	content: "";
	background: url("../img/top/illust_06.svg");
	background-size: contain;
	background-repeat: no-repeat;
	width:16.35cqw;
	height: 11.5cqw;
	position: absolute;
	left:22cqw;
	bottom: calc(100% + -6rem);
}

.message{
	width: 53.75cqw;
	padding: 3.48cqw 5cqw;
	position: relative;
	background: #ffffff;
	border-radius: 20px 120px 20px 20px;
	margin-bottom: 30rem;
}

.message:last-child{
	margin-bottom: 0;
}

.message:nth-child(odd){
	margin-left: 33%;
}

.message:nth-child(even){
	margin-left: 19.27%;
}

.message h3{
	width: 31.25cqw;
	padding: 15px 0;
	margin:-90px 0 30px 5.2cqw;
	text-align: center;
	background: linear-gradient(49deg,rgba(17, 181, 201, 1) 0%, rgba(247, 200, 211, 1) 100%);
	color:#ffffff;
	font-size: 1.56cqw;
	border-radius: 20px;
}

.age{
	font-size: 1.3vw;
	padding-bottom: 5px;
	margin-bottom: 5px;
	border-bottom: solid 1px #F18974;
}

#message_01:before{
	content: "";
	background: url("../img/top/illust_07.svg");
	background-size: contain;
	background-repeat: no-repeat;
	width:7.986cqw;
	height: 17.465cqw;
	position: absolute;
	left:-3cqw;
	bottom: calc(100% + -13rem);
}

#message_02:before{
	content: "";
	background: url("../img/top/illust_08.svg");
	background-size: contain;
	background-repeat: no-repeat;
	width:14.697cqw;
	height: 13.195cqw;
	position: absolute;
	left:-10cqw;
	bottom: calc(100% + -10rem);
}

#message_03:before{
	content: "";
	background: url("../img/top/illust_09.svg");
	background-size: contain;
	background-repeat: no-repeat;
	width:12.528cqw;
	height: 17.953cqw;
	position: absolute;
	left:-9cqw;
	bottom: calc(100% + -13rem);
}

/*------------スタッフ紹介---------------*/

#staff{
	margin-bottom: 40rem;
}

#staff h2{
	text-align: center;
	margin-bottom: 15rem;
}

.swiper--wrapper {
	width: 100%;
}

.swiper-slide {
	width: 55%;
	display: flex;
	justify-content:space-between;
	align-items: stretch;
}



.staff_img{
	width:38%;
}


.staff_txt{
	width: 57%;
	display: flex;
	align-items: flex-end;
}

.staff_txt h3{
	font-size: 3rem;
	color: #F18974;
	padding-bottom: 20px;
	margin-bottom: 1.25rem;
	border-bottom: solid 1px #F18974;
}

.staff_txt h3 span{
	font-size: 0.5em;
	display: inline-block;
	margin-left: 40px;
}

.staff_txt h4{
	font-size: 2.5rem;
	margin-bottom: 1.75rem;
	color:#F18974;
}

.swiper-slide .staff_img img{
	border-radius: 100px;
}

.swiper-slide {
	transition: transform 0.3s ease;
	transform: scale(0.8);
	opacity: 0.5;
}

.swiper-slide-active {
	transform: scale(1.5);
}

.swiper-slide-active {
  opacity: 1; /* 中央のスライドは薄くしない */
  transform: scale(1); /* 中央のスライドは小さくしない */
  z-index: 1; /* 中央のスライドを一番上にする */
}

.swiper-button-prev,
.swiper-button-next{
	display: inline-block;
	width: 5vw;
	height: 5vw;
	background-size: cover;
	background-repeat: no-repeat;
	top: 14vw;
	margin-top: 0;
	transform: translateY(-50%);
}

.swiper-button-prev{
	background-image: url("../img/top/prev.svg");
}

.swiper-button-next{
	background-image: url("../img/top/next.svg");
}

.swiper-button-prev:after,
.swiper-button-next:after
{
	display: none;
}

.swiper-button-prev, .swiper-rtl .swiper-button-next {
    left: 13%;
}

.swiper-button-next, .swiper-rtl .swiper-button-prev {
    right: 13%;
}

/*--------お知らせ・コラム----------*/

#column h2{
	margin-bottom: 8rem;
	text-align: center;
}

#column h3{
	font-size: 1vw;
	color:#000;
}

#column_inner{
	width: 67%;
	max-width: 1300px;
	min-width: 1100px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
}

.column_contents_wrap{
	width: 30%;
}

.column_contents_wrap:nth-child(2) {
  margin-top: 2.5rem;
}

.column_contents_wrap:nth-child(3) {
  margin-top: 5rem;
}

.column_contents{
	display: flex;
	flex-direction: column-reverse;
}

.column_contents img{
	margin-bottom: 1.25rem;
}

.column_contents h3{
	margin-bottom: 1.25rem;
}

.btn_clm {
	color: #F18974;
	text-align: center;
	display: block;
	float: right;
	font-size: 16px;
	height: 2em;
	line-height: 1.8em;
	width: 180px;
	border: solid 1px #F18974;
	border-radius: 5px;
	position: relative;
	overflow: hidden;
	z-index: 1;
	transition: color 0.4s ease, border-color 0.4s ease;
}

/* 背景 */
.btn_clm::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #F18974;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.4s ease;
	z-index: -1;
}

/* 矢印 */
.btn_clm::after {
	content: "";
	position: absolute;
	top: 48%;
	right: 7%;
	transform: translateY(-50%) skew(45deg);
	width: 10%;
	height: 3px;
	border-right: 1px solid #F18974;
	border-bottom: 1px solid #F18974;
	transition: border-color 0.4s ease;
}

/* ホバー */
.btn_clm:hover {
	color: #fff;
	border-color: #F18974;
}

.btn_clm:hover::before {
	transform: scaleX(1);
}

.btn_clm:hover::after {
	border-color: #fff;
}

@media (max-width: 1500px) {
	.btn_clm {
		width: 120px;
		font-size: 13px;
		height: 2em;
		line-height: 1.8em;
	}
}


/*----------モバイル--------------*/

@media (max-width: 1024px) {
	
	h1{
		font-size: 5.5vw;
		line-height: 1.5em;
		position: static;
		left:auto;
		top: auto;
		margin-bottom: 13rem;
	}
	
	/*----------MV-------------*/

	#mv_top{
		display: block;
		height: 100vh;
		padding: 6rem 5% 0 5%;
		margin-bottom: 15rem;
		display: flex;
		flex-direction: column;
	}
	
	#mv_top_right{
		display: block;
		display: flex;
		flex-direction: column;
		justify-content: flex-end;
		width: 100%;
		min-height: 0;
		flex: 1;
	}

	#mv_top_img{
		width: 100%;
		background-image:url("../img/top/mv_sp.webp");
		background-size: cover;
		background-position: 50%;
		border-top-left-radius: 8rem;
	}
	
	@media (-webkit-min-device-pixel-ratio: 2),
       (min-resolution: 192dpi) {
	  #mv_top_img {
		background-image:url("../img/top/mv_sp@2x.webp");
	  }
	}
	
	#mv_top_right h2{
		font-size:4.5vw;
		position: absolute;
        top: -7.5rem;
	}

	#mv_top_right #h2_bg{
		display: block;
		background: none;
		position: absolute;
		left: 4vw;
		top:-4rem;
		bottom: auto;
		padding: 0;
		border-top-left-radius:0;
		z-index: 0;
	}

	#mv_top_left_container{
		width: 100%;
		position: relative;
		margin-left: 0;
	}

	#mv_top_left{
		height: auto;
		display: block;
		flex-direction: column;
		margin:7vh 0 4.5rem 0;
	}
	nav#topnav{
		display: none;
	}
	
	/*-------バナー寿司トレイン----------*/

	.banner-slider {
		width: 100%;
		overflow: hidden;
		margin-bottom: 21rem;
	}

	.banner-track {
		display: flex;
		gap: 15px;
		width: max-content;
		will-change: transform;
	}

	.banner-item {
		flex-shrink: 0;
	}

	.banner-item img {
		display: block;
		width: 40vw;
		height: auto;
	}
	
	/*-------イントロ---------*/

	#intro {
		padding: 0;
		margin-bottom: 20rem;
	}

	#intro {
		padding: 0;
		margin-bottom: -8rem;
	}

	#intro_title {
		width: 100%;
		height: auto;
		max-height: none;
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: 5%;
		row-gap: 0;
		align-items: start;
		padding: 0 12% 8rem;
		box-sizing: border-box;
		position: relative;
		margin-bottom: 22rem;
	}

	.img_intro,
	.illust_intro {
		position: relative;
		top: auto;
		right: auto;
		bottom: auto;
		left: auto;
		margin: 0;
		box-sizing: border-box;
	}


	.img_intro img,
	.illust_intro img {
		display: block;

		width: 100%;
		height: auto;
	}

	#img_intro_04 {
		grid-column: 1;
		grid-row: 1;
		width: 100%;
		top: auto;
		right: auto;
		bottom: auto;
		left: auto;
		justify-self: start;
		align-self: start;
		transform: translateX(10%);
	}


	#img_intro_02 {
		grid-column: 2;
		grid-row: 1;
		width: 85%;
		top: auto;
		right: auto;
		bottom: auto;
		left: auto;
		justify-self: end;
		align-self: start;
		margin-top: 15%;
		transform: translateX(5%);
	}

	#h2_intro {
		grid-column: 1 / -1;
		grid-row: 2;

		width: 100%;

		position: relative;

		margin: 8rem 0 2rem;

		font-size: 5vw;
		line-height: 1.8;
	}

	#h2_intro::after {
		width: 3.3em;
		height: auto;
		aspect-ratio: 1;
		top: -1.5em;
		right: 3em;
	}

	#p_intro {
		grid-column: 1 / -1;
		grid-row: 3;
		width: 100%;
		margin: 0;
		text-align: left;
		line-height: 2;
		padding-bottom: 6rem;
	}

	#img_intro_03 {
		grid-column: 1;
		grid-row: 4;
		width: 85%;
		top: auto;
		right: auto;
		bottom: auto;
		left: 19%;
		justify-self: start;
		align-self: start;
		transform: translateX(-33%);
	}


	#img_intro_01 {
		grid-column: 2;
		grid-row: 4;
		width: 100%;
		top: 25%;
		right: auto;
		bottom: auto;
		left: auto;
		justify-self: end;
		align-self: start;
		margin-top: 8rem;
		transform: translateX(-2%);
	}

	#illust_intro_02 {
		grid-column: 1;
		grid-row: 1;
		width: 40%;
		top: auto;
		right: auto;
		bottom: auto;
		left: auto;
		align-self: end;
		justify-self: start;
		transform: translate(-35%, 30%);
		z-index: 3;
		pointer-events: none;
	}

	#illust_intro_03 {
		grid-column: 1;
		grid-row: 4;
		width: 40%;
		top: auto;
		right: auto;
		bottom: auto;
		left: auto;
		align-self: end;
		justify-self: start;
		transform: translate(-55%, 30%);
		z-index: 3;
		pointer-events: none;
	}

	#illust_intro_04 {
		grid-column: 2;
		grid-row: 4;
		width: 45%;
		top: auto;
		right: 33%;
		bottom: auto;
		left: auto;
		align-self: start;
		justify-self: end;
		transform: translate(55%, -35%);
		z-index: 3;
		pointer-events: none;
	}


	/*---------3つの約束-----------*/
	
	#commitment{
		width: 100%;
		border-radius: 0;
		margin: 26rem auto 30rem auto;
	}

	#commitment_inner{
		width: 90%;
	}
	
	#commitment h2 br:nth-child(2){
		display: none;
	}
	
	#commitment h2{
		font-size: 5.5vw;
		margin-bottom: 20rem;
	}

	#commitment h2 span{
		font-size: 1em;
	}

	#commitment h2::after{
		width:84.8vw;
		height: 9vw;
		bottom: calc(100% + -2rem);
	}

	#commitment h2::before{
		width:23.5vw;
		height: 23.8vw;
	}

	#commitment h3{
		font-size: 4vw;
		margin-bottom: 4rem;
		color: #ffffff;
		position: relative;
	}

	#commitment h3 span {
        border-radius: 16px;
        margin-bottom: 9px;
    }

	
	/*---------店舗紹介-----------*/
	
	#info{
		width: 100%;
		margin: 0 auto 35rem auto;
		padding: 0 8%;
	}

	#infoblock_01{
		width: 100%;
		margin-bottom: 25rem;
		display: block;
	}

	#block_01_left{
		width: 100%;
	}
	
	#block_01_left p{
		margin-bottom: 20px;
	}

	#block_01_left h2{
		margin-bottom: 1.75rem;
		text-align: center;
		font-size: 5.5vw;
	}

	#chipwrap{
		width: 100%;
		display: flex;
		justify-content: space-between;
	}

	.chip{
		width: 32%;
		border-radius: 7px;
		margin-bottom: 1rem;
	}

	#block_01_right{
		width: 100%;
	}

	#bnr_info{
		position: relative;
	}

	#bnr_info_btn {
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		bottom: 23px;
		width: 85%;
		height: 11rem;
        line-height: 10rem;
        background: #F18974;
        border: 1px solid #F18974;
        border-radius: 1.75rem;
		text-align: center;
		font-size: 4vw;
		color: #fff;
		overflow: hidden;
		z-index: 1;
		transition: color 0.4s ease, border-color 0.4s ease;
	}
	
	#bnr_info_btn::after {
		width: 25px;
	}

	#infoblock_02{
		margin: 0 auto;
	}

	#infoblock_02 h2{
		margin-bottom: 6rem;
	}

	.info_shop_01,
	.info_shop_02{
		display: block;
		align-items: stretch;
		margin-bottom: 25rem;
	}

	.info_shop_01:last-child{
		margin-bottom: 0;
	}

	.info_shop_txt h3{
		color: #F18974;
		font-size: 3.5vw;
		line-height: 1.66em;
		margin-bottom: 15px;
	}

	.info_shop_txt ul{
		margin-bottom: 1.8rem;
	}

	.info_shop_txt li{
		line-height: 2.3em;
	}

	.info_shop_img{
		width: 100%;
		margin-bottom: 30px;
	}

	.info_shop_txt{
		width: 100%;
		display: block;
	}

	.boxbottom{
		width:100%
	}

	.btn_info_shop {
		font-size: 4vw;
	}
	
	/*---------相談実例----------*/
	
	#review{
		width: 100%;
		background: #F7E4DF;
		border-top-right-radius: 75px;
		padding: 6rem 0 10rem 0;
		margin-bottom: 14rem;
	}

	#review .h2_bg{
		font-size: 2.08vw;
        width: 84%;
        padding: 2cqw 5.2cqw 2cqw 35cqw;
        margin-bottom: 25rem;
	}

	#review .h2_bg::before{
		content: "";
		position: absolute;
		top:48%;
		left:0;
		transform: translateY(-50%);
		width: 15%;
		height: 5px;
		border-bottom: 1px solid #F18974;
	}

	#review .h2_bg::after{
		content: "";
		background: url("../img/top/illust_06.svg");
		background-size: contain;
		background-repeat: no-repeat;
		width:24cqw;
		height: 16.8cqw;
		position: absolute;
		left: 10cqw;
        bottom: calc(100% + -7rem);
	}

	.message{
		width: 90%;
		padding: 4rem 5%;
		position: relative;
		background: #ffffff;
		border-radius: 15px 60px 15px 15px;
		margin: 0 auto 25rem auto;
	}

	.message:last-child{
		margin-bottom: 0;
	}

	.message:nth-child(odd){
		margin-left: auto;
	}

	.message:nth-child(even){
		margin-left: auto;
	}

	.message h3{
		width: auto;
        padding: 9px 10px;
        margin: 0;
        text-align: left;
        font-size: 3.5vw;
        border-radius: 7px;
        position: absolute;
        right: 7%;
        top: -20px;
	}

	.age{
		font-size: 3.5vw;
		padding-bottom: 5px;
		margin-bottom: 5px;
		border-bottom: solid 1px #F18974;
	}

	#message_01:before{
		content: "";
		background: url("../img/top/illust_07.svg");
		background-size: contain;
		width:12.68cqw;
		height: 27.9cqw;
		position: absolute;
		left: 6cqw;
        bottom: calc(100% + -5rem);
	}

	#message_02:before{
		content: "";
		background: url("../img/top/illust_08.svg");
		background-size: contain;
		background-repeat: no-repeat;
		width:24.25cqw;
		height: 22.56cqw;
		position: absolute;
		left: -3cqw;
        bottom: calc(100% + -5.5rem);
	}

	#message_03:before{
		content: "";
		background: url("../img/top/illust_09.svg");
		background-size: contain;
		width:21cqw;
		height: 30cqw;
		position: absolute;
		left: -2cqw;
        bottom: calc(100% + -5rem);
	}

	/*------------スタッフ紹介---------------*/
	#staff {
		height: auto;
		margin-bottom: 20rem;
	}

	#staff .swiper {
		height: auto;
	}

	#staff .swiper-wrapper {
		align-items: flex-start;
	}

	#staff .swiper-slide {
		height: auto;
	}

	#staff h2{
		text-align: center;
		margin-bottom: 3rem;
	}

	.swiper--wrapper {
		width: 100%;
	}

	.swiper-slide {
		width: 80%;
		display: block;
		align-items: stretch;
	}

	.staff_img{
		width:50%;
		display: block;
		margin: 0 auto 25px auto;
	}


	.staff_txt{
		width: 84%;
		margin: 0 auto;
		display: flex;
		align-items: flex-end;
	}

	.staff_txt h3{
		font-size: 5vw;
		padding-bottom: 10px;
		margin-bottom: 1.25rem;
		border-bottom: solid 1px #F18974;
	}

	.staff_txt h3 span{
		font-size: 0.6em;
		display: inline-block;
		margin-left: 40px;
	}

	.staff_txt h4{
		font-size: 4vw;
		margin-bottom: 0.5rem;
	}

	.swiper-slide .staff_img img{
		border-radius: 100px;
	}

	.swiper-slide {
		transition: transform 0.3s ease;
		transform: scale(0.8);
		opacity: 0.5;
	}

	.swiper-slide-active {
		transform: scale(1.5);
	}

	.swiper-slide-active {
	  opacity: 1; /* 中央のスライドは薄くしない */
	  transform: scale(1); /* 中央のスライドは小さくしない */
	  z-index: 1; /* 中央のスライドを一番上にする */
	}
	
	.swiper-button-prev, .swiper-button-next {
		display: inline-block;
		width: 10vw;
		height: 10vw;
		background-size: cover;
		background-repeat: no-repeat;
	}
	
	.swiper-button-prev, .swiper-rtl .swiper-button-next {
		left: 10px;
	}

	.swiper-button-next, .swiper-rtl .swiper-button-prev {
		right: 10px;
	}
	
	/*--------お知らせ・コラム----------*/

	#column{
		padding: 0 8%;
	}

	#column h2{
		margin-bottom: 3rem;
		text-align: center;
	}

	#column_inner{
		width: 100%;
		min-width: 100%;
		display:block;
	}

	.column_contents_wrap{
		width: 100%;
		margin-bottom: 4.5rem;
	}
	
	.column_contents_wrap:last-child{
		margin-bottom: 0;
	}

	.column_contents_wrap:nth-child(2) {
	  margin-top: 0;
	}

	.column_contents_wrap:nth-child(3) {
	  margin-top: 0;
	}

	.column_contents{
		width: 100%;
		display: flex;
		flex-direction: column-reverse;
	}

	.column_contents img{
		margin-bottom: 1.25rem;
	}

	.column_contents h3{
		margin-bottom: 1.25rem;
	}
	
	.btn_clm {
		height: 3em;
		line-height: 2.8em;
		width: 235px;
		font-size: 20px;
	}
	
	#column h3 {
		font-size: 3.5vw;
	}
}

@media (max-width: 767px) {
	
	h1{
		font-size: 7vw;
		margin-bottom: 7rem;
	}
	
	#mv_top{
		padding-top: 6rem;
	}
	
	#mv_top_right h2{
		top: -2rem;
	}
	
	/*----イントロ----*/
	
	#intro_title{
		margin-bottom: 0;
	}
	
	#img_intro_01{
		top: auto;
	}
	
	/*--------3つの約束----------*/
	
	#commitment {
        margin: 26rem auto 16rem auto;
    }
	
	#commitment h2 {
        margin-bottom: 13rem;
    }
	
	#commitment h3 {
        margin-bottom: 3rem;
    }
	
	#commitment h3 span {
        margin-bottom: 5px;
		border-radius: 5px;
    }
	
	/*----------店舗紹介----------*/
	
	#info {
        margin: 0 auto 21rem auto;
    }
	
	#infoblock_01 {
        margin-bottom: 15rem;
    }
	
	#bnr_info_btn {
        height: 7rem;
        line-height: 7rem;
    }
	
	.info_shop_txt h3 {
        font-size: 4.5vw;
    }
	
	.info_shop_01, .info_shop_02 {
        display: block;
        align-items: stretch;
        margin-bottom: 14rem;
    }
	
	/*---------相談実例-----------*/
	
	#review .h2_bg {
        margin-bottom: 14rem;
    }
	
	.message {
        margin: 0 auto 14rem auto;
    }
	
	/*----------スタッフ紹介-----------*/
	
	.swiper-slide .staff_img img {
        border-radius: 68px;
    }
	
	/*---------お知らせ・コラム-----------*/
	
	.btn_clm {
        height: 2em;
        line-height: 1.5em;
        width: 121px;
        font-size: 13px;
    }
}

/*-----swiper上書き-------*/

.swiper-button-next, .swiper-button-prev {
    color: #F18974;
}

@media (max-width: 1024px) {
	
	.swiper-button-next, .swiper-button-prev {
		color: #F18974;
	}

	.swiper-button-prev, .swiper-rtl .swiper-button-next {
		top: 30vw;
	}
	
	.swiper-button-next, .swiper-rtl .sw


iper-button-prev {
		top: 30vw;
	}
	
}

/*-------ホバー解除-----------*/
@media (max-width: 1024px) {

	/* =========================
	   hoverアクション解除
	========================= */

	/* ① TOPナビ */
	#topnav a {
		background: none;
		color: #222;
		-webkit-text-fill-color: #222;
		transition: none;
	}

	#topnav a:hover {
		background-position: 100% 0;
	}


	/* ② IQシステムの詳細 */
	#link_iq {
		transition: none;
	}

	#link_iq:hover {
		transform: none;
		opacity: 1;
	}


	/* ③ 店舗案内バナー */
	#bnr_info_btn {
		transition: none;
	}

	#bnr_info_btn::before {
		display: none;
	}

	#bnr_info_btn::after {
		border-color: #fff;
		transition: none;
	}

	#bnr_info_btn:hover {
		color: #fff;
		border-color: #F18974;
	}

	#bnr_info_btn:hover::after {
		border-color: #fff;
	}


	/* ④ 店舗詳細ボタン */
	.btn_info_shop {
		transition: none;
	}

	.btn_info_shop::before {
		display: none;
	}

	.btn_info_shop::after {
		border-color: #fff;
		transition: none;
	}

	.btn_info_shop:hover {
		color: #fff;
		border-color: #E1826E;
	}

	.btn_info_shop:hover::after {
		border-color: #fff;
	}


	/* ⑤ お知らせ・コラム「詳しく見る」 */
	.btn_clm {
		transition: none;
	}

	.btn_clm::before {
		display: none;
	}

	.btn_clm::after {
		border-color: #F18974;
		transition: none;
	}

	.btn_clm:hover {
		color: #F18974;
		border-color: #F18974;
	}

	.btn_clm:hover::after {
		border-color: #F18974;
	}

}