@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');

.header * {
	z-index: 999 !important;
}

.visible-md, .visible-sm {
	display: none;
}
.visible-lg {
	display: inherit;
}
@media screen and (max-width: 1023px) {
  .visible-lg, .visible-sm {
    display: none;
  }
  .visible-md {
    display: inherit;
  }
}
@media screen and (max-width: 749px) {
  .visible-lg, .visible-md {
    display: none;
  }
  .visible-sm {
    display: inherit;
  }
}
  
@media only screen and (max-width: 599px) {
	.sp_only {
		display: block !important;
	}
	.sp_tablet_only {
		display: block !important;
	}
	.tablet_only {
		display: none !important;
	}
	.pc_only {
		display: none !important;
	}
	.pc_tablet_only {
		display:none !important;
	}
}

@media only screen and (min-width: 600px) and (max-width: 1024px) {
	.sp_only {
		display: none !important;
	}
	.sp_tablet_only {
		display: block !important;
	}
	.tablet_only {
		display: block !important;
	}
	.pc_only {
		display: none !important;
	}
	.pc_tablet_only {
		display:block !important;
	}
}

@media only screen and (min-width: 1025px) {
	.sp_only {
		display: none !important;
	}
	.sp_tablet_only {
		display: none !important;
	}
	.tablet_only {
		display: none !important;
	}
	.pc_only {
		display: block !important;
	}
	.pc_tablet_only {
		display:block !important;
	}
}
.wrapper{
	font-family: "Noto Sans JP", sans-serif;
}
@media only screen and (max-width: 599px) {
	.wrapper {
		font-size: 110%;
	}
	.wrapper a {
		transition: 0.5s;
	}
	.wrapper a:hover {
		text-decoration: none;
		opacity: 0.7;
		transition: 0.5s;
	}
	.wrapper img {
		max-width: 100%;
	}
	.sp_only {
		display: block;
	}
	.pc_only {
		display: none;
	}
	.moreinfo {
		width: 50%;
		margin: 0 auto;
	}
	.moreinfo a {
		font-size: 90%;
	}
	.em {
		font-size: 140%;
		text-align: center;
		margin-bottom:0.5rem;
	}
	#pagetop a {
		display: block;
		z-index: 10000;
	}
	sup {
		vertical-align: super;
		font-size: 70%;
	}
	.tx_center{
		text-align: center;
	}
	.em {
		font-size: 1rem;
		font-weight: bold;
		text-align: center;
	}
}
@media screen and (min-width: 600px) and (max-width: 1024px) {
    #pagetop {
        bottom: 77px;
    }
	.sp_only {
		display: none;
	}
	.pc_only {
		display: block;
	}
}
@media only screen and (min-width: 1025px) {
	.wrapper img {
		max-width: 100%;
		object-fit: contain;
	}
	.wrapper ol {
		list-style: none;
	}
	.sp_only {
		display: none;
	}
	.pc_only {
		display: block;
		margin: 0 auto;
	}
	.note {
		font-size: 65%;
	}
	.wrapper a {
		text-decoration: none;
	}
	.tx_center{
		text-align: center;
	}
	.em {
		font-size: 140%;
		text-align: center;
		margin-bottom:0.5rem;
	}
	#pagetop {
		position: fixed;
		bottom: 50px;
		right: 25px;
	}
}


/* -----------------------
- HEADER
----------------------- */
.linktxt,
.articlecard__txt,
.header__menu__product__list__txt {
	display:block;
	text-align:left;
}

.header__menu__product__list,
.header__menu__product__foot,
.header__menu__product__brandlist,
.header__menu__features,
.header__menu__shopinfo__main,
.header__menu__services__main,
.header__menu__content,
.linklist__item
{
	display:block;
	text-align:left;
}

/* -----------------------
- sns icon
----------------------- */
.sns_fixed {
	display: none;
}

h1 {
	margin-left: 0;
	margin-right:0;
	text-align: center;
}
.mv_wrap {
	position: relative;
	top: 0;
	left: 0;
	width: 100%;
	overflow: hidden;
}
.mv_wrap .main_visual.show {
	width: 80%;
    height: 86vh !important;
    visibility: visible;
    animation: initial;
    position: relative;
    top: 0;
    right: 0;
    overflow: hidden;
    margin: 0;
    margin-left: auto;
}
.mv_wrap .main_visual.show .image,
.mv_wrap .main_visual.show .image_sp{
	position: absolute;
    z-index: 1;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    filter: brightness(1.04);
    overflow: hidden;
}
.mv_wrap .main_visual.show .image:nth-of-type(1){
	height: 105vh;
	background-image: url(https://idc-otsuka.s3.ap-northeast-1.amazonaws.com/wp/wp-content/uploads/2025/02/07115352/curtain_main01.webp);
}
.mv_wrap .main_visual.show .image:nth-of-type(2){
	height: 105vh;
	animation-delay: 5s;
	background-image: url(https://idc-otsuka.s3.ap-northeast-1.amazonaws.com/wp/wp-content/uploads/2026/09/09104820/curtain_main.webp);
}
.mv_wrap .main_visual.show .image:nth-of-type(3){
	height: 105vh;
	animation-delay: 10s;
	background-image: url(https://idc-otsuka.s3.ap-northeast-1.amazonaws.com/wp/wp-content/uploads/2025/02/07115423/curtain_main03.webp);
}
.mv_wrap .main_visual.show .image_sp:nth-of-type(1){
	width: 200vw;
	height: 70vh;
	animation-delay: 0s;
	background-image: url(https://idc-otsuka.s3.ap-northeast-1.amazonaws.com/wp/wp-content/uploads/2025/02/07120426/curtain_main_sp01.webp);
	background-position: top;
}
.mv_wrap .main_visual.show .image_sp:nth-of-type(2){
	width: 200vw;
	height: 70vh;
	animation-delay: 7s;
	background-image: url(https://idc-otsuka.s3.ap-northeast-1.amazonaws.com/wp/wp-content/uploads/2025/02/07120429/curtain_main_sp02.webp);
	background-position: top;
}
.mv_wrap .main_visual.show .image_sp:nth-of-type(3){
	width: 200vw;
	height: 70vh;
	animation-delay: 14s;
	background-image: url(https://idc-otsuka.s3.ap-northeast-1.amazonaws.com/wp/wp-content/uploads/2025/02/07120432/curtain_main_sp03.webp);
	background-position: top;
}
.mv_wrap .main_visual.show .image{
	animation-name: anime;
	animation-delay: 0;
	animation-iteration-count: infinite;
	animation-duration: 21s;
}
@keyframes anime {
	0% {
		opacity: 0;
	}
	25% {
		opacity: 1;
	}
	100% {
		opacity: 0;
		transform: scale(1.1);
	}
}
.mv_wrap .main_visual.show .image_sp{
	animation-name: anime_sp;
	animation-delay: 0;
	animation-iteration-count: infinite;
	animation-duration: 21s;
}
@keyframes anime_sp {
	0% {
		opacity: 0;
		transform: scale(2.2);
	}
	25% {
		opacity: 1;
	}
	100% {
		opacity: 0;
		transform: scale(1.8);
	}
}

.mv_wrap .mv_title{
	position: absolute;
    top: 50%;
    left: 8%;
    transform: translateY(-88%);
    width: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    z-index: 100;
}
.mv_wrap .mv_title h1{
	font-size: 87px;
    font-weight: 800;
    font-family: "Noto Sans JP", sans-serif;
    text-align: left;
}
.mv_wrap .mv_title h1 span{
	display: inline-block;
    width: max-content;
    margin: 2% 0;
    padding: 1% 3%;
    background: #fff;
}
.mv_wrap .mv_title h1 .g_color{
	color: #786d97;
}
.mv_wrap .mv_title p{
	position: absolute;
    bottom: -30%;
    padding: 1% 2%;
    font-size: 24px;
    font-weight: 900;
    font-family: "Noto Sans JP", sans-serif;
    background: #fff;
}
.item_sum{
	position: absolute;
    padding: 0.5%;
    bottom: 10%;
    right: 3%;
    font-size: 12px;
    background: rgba(255, 255, 255, .5);
    z-index: 10;
  }
@media screen and (max-width: 749px) {
	.mv_wrap .mv_title {
		top: initial;
        bottom: 23%;
        left: 0;
		transform: initial;
        width: 100%;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
        z-index: 100;
        padding: 0 4vw;
	}
	.mv_wrap .mv_title h1 {
		font-size: 9.6vw;
	}
	.mv_wrap .main_visual.show {
		width: 100%;
		height: 90vh !important;
	}
	.mv_wrap .main_visual.show .image,
	.mv_wrap .main_visual.show .image_sp{
		top: 0;
	}
	.mv_wrap .mv_title p {
		position: relative;
		margin: 20px 0 0;
		padding: 1% 2%;
		font-size: 18px;
	}
	.item_sum{
		position: absolute;
		padding: 0.5%;
		bottom: 3%;
		right: 3%;
		font-size: 12px;
		background: rgba(255, 255, 255, .5);
	  }
}

/* ------------------------------
- hero
------------------------------ */
.hero {
	position: relative;
  }
.hero__benefit {
	position: absolute;
	top: 5%;
	right: 3%;
	width: 260px;
	height: 260px;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 50%;
	background: #786d97;
	outline: 2px solid rgb(255, 255, 255);
	outline-offset: -8px;
	z-index: 20;
}
.hero__benefit p{
	margin-top: 18px;
    font-size: 26px;
    font-weight: bold;
    color: #fff;
    text-align: center;
    line-height: 1.3;
    transform: rotate(-8deg);
}
.hero__benefit p .large{
	font-size: 2em;
}
.hero__benefit p .small{
	font-size: 0.5em;
}
.hero__head {
	position: relative;
  }
  .hero__head {
	width: calc(100% - 250px);
	height: 820px;
	margin-left: auto;
  }
  .hero__slider {
	height: 100%;
  }
  .hero__slider .slick-list,
  .hero__slider .slick-track {
	height: 100%;
  }
  .hero__img {
	-o-object-fit: cover;
		object-fit: cover;
	width: 100%;
	height: 100% !important;
  }
  .hero__foot {
	position: absolute;
	top: 36%;
	left: 140px;
	-webkit-transform: translateY(-50%);
			transform: translateY(-50%);
  }
  .hero__heading {
	font-size: min(8vw, 90px);
  }
  .hero__heading .-inner {
	display: inline-block;
	margin: 0.1em 0;
	background: #fff;
  }
  .hero__heading .-inner {
	padding: 0.01em 0.5em 0.09em 0;
  }
  .hero__lead {
	font-weight: bold;
  }
  .hero__lead {
	margin-top: 1.5em;
	font-size: 20px;
  }
  .hero__lead .-inner {
	display: inline-block;
	padding: 0.4em 1em 0.6em 0;
	background: #fff;
  }
  .hero__btn {
	position: relative;
	display: block;
	padding: 0.6em 0.5em 0.8em 0.5em;
	background: #d91f1f;
	border-radius: 50px;
	color: #fff !important;
	font-weight: bold;
	text-align: center;
  }
  .hero__btn {
	width: min(41.6666666667vw, 500px);
	margin-top: min(6.5104166667vw, 90px);
	font-size: min(2.9166666667vw, 35px);
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
  }
  .hero__btn:hover {
	-webkit-filter: brightness(1.1);
			filter: brightness(1.1);
  }
  .hero__btn::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 35px;
	-webkit-transform: translateY(-50%);
			transform: translateY(-50%);
	display: block;
	width: 0.6285714286em;
	height: 0.6285714286em;
	background: url(../images/icon_arrow_white.svg) no-repeat center/contain;
  }
@media screen and (max-width: 1023px) {
	.hero__foot {
		left: 5%;
	  }
	.hero__benefit {
		top: initial;
		bottom: 5%;
		right: initial;
		left: 5%;
		width: 200px;
		height: 200px;
	}
	.hero__benefit p {
		font-size: 22px;
	}
	.hero__heading .-inner {
		padding: 0.01em 0.4em 0.1em;
	}
	.hero__btn {
		margin-left: auto;
		margin-right: auto;
	}
}
@media screen and (max-width: 749px) {
	.hero__foot {
		top: 15%;
		left: initial;
		position: relative;
		margin-top: -25.3333333333vw;
		padding: 0 4vw;
	  }
	.hero__heading {
		font-size: 9.6vw;
	}
	.hero__benefit {
		top: 5%;
		bottom: initial;
		right: 3%;
		left: initial;
		width: 150px;
		height: 150px;
	}
	.hero__benefit p{
		font-size: 14px;
	}
	.hero__lead {
		margin-top: 1em;
		font-size: 4.2666666667vw;
		line-height: 1.8;
	  }
	  .hero__btn {
		margin-top: 2rem;
		font-size: 19px;
	  }
}


/* ------------------------------
- benefit_container
------------------------------ */
.benefit_container{
	width: 100%;
	padding: 0 !important;
	background: #fff;
  }
  .benefit_wrap{
	width: 100%;
	background: #fff;
	transform: scaleX(0);
	transform-origin: left center;
	overflow: hidden;
	transition: 1.5s ease-in-out;
  }
  .benefit_wrap.show{
	transform: scaleX(1);
	background: #786d97;
  }
  .benefit_wrap ul{
	padding: 3% 5% 5%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	opacity: 0;
	transform: translateY(100px);
	transition: opacity 1s ease, transform 1s ease;
	transition-delay: 1s;
  }
  .benefit_wrap ul.show{
	opacity: 1;
	transform: translateY(0);
  }
  .benefit_wrap ul li{
	position: relative;
	font-size: max(2.4vw, 32px);
	font-weight: bold;
	line-height: 1.8;
	text-align: center;
	color: #fff;
  }
  .benefit_wrap ul li:nth-of-type(2){
	line-height: 1;
  }
  .benefit_wrap ul li:last-of-type{
	margin: 40px 0 0;
    padding: 1.5% 2%;
    min-width: 480px;
    border-radius: 40px;
    background: #e91242;
    text-align: center;
    line-height: 1;
    font-size: 36px;
    filter: drop-shadow(4px 6px 0px rgba(0, 0, 0, .3));
    transition: 0.5s;
  }
  .benefit_wrap ul li:last-of-type:hover{
	background: #ff3360;
	filter: drop-shadow(3px 4px 0px rgba(0, 0, 0, .3));
	transform: translateY(1px);
  }
  .benefit_wrap ul li .large{
	font-size: 1.6em;
  }
  .benefit_wrap ul li .small{
	font-size: 0.6em;
  }
  .benefit_wrap ul li a{
	color: #fff;
  }
  
  .b_rev {
	position: relative;
	width: 100%;
  }
  .b_rev::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	background: #786d97;
	width: 120px;
	height: 60px;
	clip-path: polygon(0 0, 100% 0%, 50% 100%);
	z-index: 10;
  }
  .b_rev .benefit_wrap{
	background: #fff;
  }
  .is-scroll .b_rev .benefit_wrap{
	background: #fff;
  }
  .b_rev .benefit_wrap ul{
	padding: 5%;
  }
  .b_rev .benefit_wrap ul li{
	color: #786d97;
  }
  
  @media screen and (max-width: 749px) {
	.benefit_wrap ul li{
	  padding: 12px 0 0;
	  font-size: 16px;
	  line-height: 1.2;
	}
	.benefit_wrap ul li:nth-of-type(2){
	  line-height: 1.2;
	}
	.benefit_wrap ul li .large{
	  font-size: 2.1em;
	}
	.benefit_wrap ul li .small{
	  font-size: 0.6em;
	}
	.benefit_wrap ul li:last-of-type {
	  margin: 12px 0 10px;
	  padding: 3% 10% 3%;
	  min-width: initial;
	  line-height: 1.1;
	  font-size: 26px;
	}
	.b_rev .benefit_wrap ul {
		padding: 20% 5% 5%;
	}
  }





/* ------------------------------
- consult__nav
------------------------------ */
.consult__nav {
	background: #fdf7d8;
	padding: 80px 0;
  }
  .consult__nav img{
	width: 100%;
	height: auto;
  }
  .consultNav__inner {
	width: 90%;
	max-width: 1320px;
	margin: 0 auto;
  }
  .consultNav__list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
		-ms-flex-pack: justify;
			justify-content: space-between;
  }
  .consultNav__item {
	width: 27.2727272727%;
  }
  .consultNav__btn {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
		-ms-flex-direction: column;
			flex-direction: column;
	position: relative;
	height: 100%;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
  }
  .consultNav__btn:hover {
	opacity: 0.8;
  }
  .consultNav__btn:hover::after {
	top: 10px;
  }
  .consultNav__btn::after {
	content: "";
	display: block;
	width: 62px;
	height: 33px;
	margin: 0 auto;
	background: url(../images/consult_nav_arrow.svg) no-repeat center/contain;
	margin-top: auto;
	position: relative;
	top: 0;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
  }
  .consultNav__number {
	margin: 0 auto 30px;
	width: min(7.5vw, 80px);
	filter: hue-rotate(-160deg) brightness(0.9) grayscale(0.6);
  }
  .consultNav__img {
	display: block;
	margin-bottom: 1em;
  }
  .consultNav__text {
	font-weight: bold;
	line-height: 1.6;
	text-align: center;
  }
  .consultNav__text {
	margin: 10px 0 20px;
	font-size: min(1.75vw, 26px);
  }
  .consultNav__text .-lg {
	font-size: 1.1428571429em;
  }
  
  @media screen and (max-width: 749px) {
	.consult__nav {
	  padding: 16vw 0 13.3333333333vw;
	}
	.consultNav__inner {
	  padding: 0 5.3333333333vw;
	}
	.consultNav__list {
	  width: 100%;
	  margin: 0 auto;
	}
	.consultNav__item + .consultNav__item {
	  margin-top: 13.3333333333vw;
	}
	.consultNav__btn{
	  position: relative;
	  display: flex;
	  flex-direction: row-reverse;
	}
	.consultNav__btn > img{
	  width: 30%;
	  object-fit: cover;
	}
	.consultNav__number {
	  margin: 0 auto 4vw;
	  position: absolute;
	  top: 0;
	  left: 0;
	  width: 20%;
	}
	.consultNav__number > img{
	  width: 80%;
	}
	.consultNav__text {
	  margin-bottom: 5.3333333333vw;
	  font-size: 17px;
	  padding-top: 40px;
	  padding-bottom: 20px;
	  width: 70%;
	  text-align: left;
	}
  }






/* -----------------------
- lead
----------------------- */
.lead {
	margin: 3em 1rem;
	line-height: 1.8;
	text-align:center;
	font-size:0.9rem;
}
.lead h2{
		font-size:1.2rem;
		margin-bottom:0.5rem;
	}
.lead a {
	text-decoration:underline;
}
.lead .tx_bold {
	font-weight:bold;
}
.logo_wrap {
	text-align: center;
	margin: 0 1rem;
}
.logo_wrap h2 {
	font-size:1.1rem;
		margin-bottom:1rem;
		display:inline;
		padding-bottom:0.2rem;
	}
	.logo_wrap p {
		margin:0.8rem auto 1rem;
		font-size:0.9rem;
		line-height: 1.6;
	}
.logo_wrap .logo {
	text-align:center;
	margin:0 auto 0.5rem;
}
.logo_wrap .note {
	text-align:right;
	font-size:0.7rem;
	margin:0 0 2rem;
}
.brand_img_col {
	display:flex;
	flex-flow:row nowrap;
	justify-content:space-between;
	align-items:center;
	margin-bottom:1rem;
}
.brand_img_col li {
	width:32%;
}


@media only screen and (min-width: 768px) {
	.lead {
		margin: 5em auto;
		text-align: center;
		line-height: 2.2;
		font-size: 1rem;
	}
	.lead h2{
		font-size:1.5rem;
	}
	.lead .tx_bold {
		font-weight:bold;
	}
	.note{
		position: absolute;
        width: 100%;
        bottom: 0;
        right: 0;
        text-align: right;
        font-weight: normal;
        font-size: 12px;
	}
	.logo_wrap h2 {
		font-size:1.4rem;
		margin-bottom:1rem;
		display:inline;
		padding-bottom:0.2rem;
	}
	.logo_wrap {
		margin:0 auto 100px;
	}
	.logo_wrap p {
		margin:1rem auto 2rem;
		font-size:1rem;
	}
	.logo_wrap .logo {
		text-align:center;
		margin:0 auto;
	}
	.logo_wrap .note {
		text-align:right;
		font-size:0.8rem;
	}
	.brand_img_col {
		display:flex;
		flex-flow:row nowrap;
		justify-content:space-between;
		align-items:center;
		margin-bottom:2rem;
	}
	.brand_img_col li {
		width:32%;
	}
}



/* -----------------------
- circle_heading
----------------------- */
.circle_heading {
		width:30%;
		margin:1.5rem auto 0;
    }
@media only screen and (min-width: 769px) {
	.circle_heading {
		margin-top:2rem;
    }
}



/* -----------------------
- btn_area_wrap
----------------------- */
.btn_area_wrap {
		margin: 4rem 1rem;
	}
	.cta a {
		display: block;
		padding: 0.8rem;
		border:1px solid #333;
		color: #333;
		font-size:0.9rem;
		font-weight: bold;
		text-align: center;
        cursor: pointer;
	}
	.cta a {
		box-shadow: 4px 4px #786d97;
		transform: translateY(3px);
		opacity:1;
	}
	.cta p {
		width: 100%;
		margin: 1em auto;
	}
	.btn_area p:last-child {
		font-size:0.85rem;
	}
@media only screen and (min-width: 769px) {
	.btn_area_wrap {
		margin:5rem auto;
	}
	.cta a {
		display: block;
		padding: 0.8rem;
		border:1px solid #333;
		color: #333;
		font-size:1rem;
		font-weight: bold;
		text-align: center;
        cursor: pointer;
        box-shadow:none;
	}
	.cta a:hover {
		box-shadow: 6px 6px #786d97;
		transform: translateY(3px);
		opacity:1;
	}
	.cta p {
		width: 60%;
		margin: 1em auto;
	}
	.btn_area p:last-child {
		font-size:0.9rem;
	}
}



/* -----------------------
- question
----------------------- */
.question {
	margin:0 auto;
	text-align:center;
	position: relative;
    }

	.question h2 {
		font-size: 1.2rem;
		text-align: center;
		margin: 3rem 1rem 1.5rem;
	}
	.answer span:not(.note) {
		font-size: 1rem;
	}
	.question ul {
		padding: 0 1.5rem;
	}
	.question > ul {
		display:flex;
		justify-content:space-between;
		flex-flow:column wrap;
		/* margin: 1rem 0 0; */
	}
	.question ul .question_list {
		width:100%;
		text-align:left;
	}
	.question ul .question_img {
		width:100%;
	}

	.question ul:first-of-type li {
		margin: 0 0 0.8rem;
		position: relative;
	}
	.question ul:first-child li {
		font-size:0.9rem;
	}
	.question ul:first-child li::before {
		content: "\f046";
		font-family: FontAwesome;
		position: absolute;
		top: 2px;
		right: calc(100% + 0.8em);
	}


@media only screen and (min-width: 679px) {
    .question {
		margin:7rem auto 3rem;
		text-align:center;
		position: relative;
    }

	.question h2 {
		font-size: 1.5rem;
		text-align: center;
		margin:3rem auto 1.5rem;
	}
	.answer span:not(.note) {
		font-size: 1rem;
	}
	.question ul {
		margin: 0 auto;
	}
	.question > ul {
		display:flex;
		justify-content:space-between;
		flex-flow:row nowrap;
		align-items:center;
		margin: 1rem 0 0;
	}
	.question ul .question_list {
		width:51%;
		text-align:left;
		padding-left:0.5rem;
	}
	.question ul .question_img {
		width:45%;
	}

	.question ul:first-of-type li {
		margin: 0.5em 0 0.5em 1em;
		position: relative;
	}
	.question ul:first-child li {
		margin-bottom:1.1rem;
		font-size:0.95rem;
	}
	.question ul:first-child li::before {
		content: "\f046";
		font-family: FontAwesome;
		position: absolute;
		top: 2px;
		right: calc(100% + 0.8em);
	}
}




/* -----------------------
- answer
----------------------- */
.answer ul {
	display:flex;
	justify-content:space-around;
	flex-flow:column nowrap;
	margin: 0 0 3rem;
}
.answer li {
	margin: 0.5em 0 0.5em;
	display: -webkit-flex;
	display: flex;
	align-items: center;
	flex-flow:row nowrap;
	justify-content:space-between;
	text-align: center;
	width:100%;
}
.answer li:first-child a,
.answer li:last-child a {
	padding:1rem 0 2rem;
}
.answer a {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0.8rem 1em 2rem;
	background-color: #f2f0e761;
	font-size:0.9rem;
	position: relative;
}
.answer a::after {
	content: "\f078";
	font-family: FontAwesome;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	width: 1.5em;
	height: 100%;
	border-radius: 0 5px 5px 0;
	background-color: #786d97;
	color: #fff;
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 1.5em;
	border-radius: 0 0 5px 5px;
	line-height: 1.5em;
	top: calc(100% - 1.5em);
	left: 0;
}
.answer a:active {
	box-shadow: none;
	transform: translateY(3px);
}
.answer a:hover {
	box-shadow: none;
	transform: translateY(3px);
}
.answer h2 {
	font-size: 1.2rem;
	text-align: center;
	margin:3rem auto 1rem;
}
.answer span:not(.note) {
	color: #9b7959;
	font-weight: bold;

}
.answer span:not(.note) {
	font-size: 1.2rem;
}
@media only screen and (min-width: 679px) {
.answer ul {
	display:flex;
	justify-content: space-between;
	flex-flow:row nowrap;
}
.answer li {
	margin: 0.5em 0 1em;
	display: -webkit-flex;
	display: flex;
	align-items: center;
	flex-flow:row nowrap;
	justify-content:space-between;
	text-align: center;
	width:32%;
}
.answer li:not(:last-child) a {
	padding:1.7rem 0 2.7rem;
}
.answer a {
	display: block;
	width: 100%;
	margin: 0;
	padding: 1em 1em 2rem;
	background-color: #f2f0e761;
	font-size:0.9rem;
	position: relative;
}
.answer a::after {
	content: "\f078";
	font-family: FontAwesome;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	width: 1.5em;
	height: 100%;
	border-radius: 0 5px 5px 0;
	background-color: #786d97;
	color: #fff;
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 1.5em;
	border-radius: 0 0 5px 5px;
	line-height: 1.5em;
	top: calc(100% - 1.5em);
	left: 0;
}
.answer a:active {
	box-shadow: none;
	transform: translateY(3px);
}
.answer a:hover {
	box-shadow: none;
	transform: translateY(3px);
}
.answer h2 {
	font-size: 1.5rem;
	text-align: center;
	margin:3rem auto 2rem;
}
.answer span:not(.note) {
	color: #9b7959;
	font-weight: bold;
}
.answer span:not(.note) {
	font-size: 1.3rem;
}
}


/* -----------------------
- answer_detail
----------------------- */
.answer_detail {
	margin: 1rem auto 2rem;
}
.wrapper .answer_detail:nth-child(2n + 1) {
	background-color: #fff;
	padding: 0;
}
.answer_detail > *:not(.answer_detail_header){
	margin-left: 1em;
	margin-right: 1em;
}
.answer_detail_header {
	margin-bottom: 1em;
	padding: 0.5em 1em;
	background-color: #786d97;
	color:#fff;
}
.answer_detail h3 {
	margin: 3em auto 1em;
	text-align:center;
}
.answer_detail_header {
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
}
.answer_detail_header h2 {
	position: relative;
	width: fit-content;
	font-size:1.1rem;
	padding:1rem 0;
}
.answer_detail_header h2 > img{
	position: absolute;
    width: 200px;
    left: 0;
    bottom: 0;
    filter: hue-rotate(-160deg) brightness(1.1) grayscale(0.8);
}
.answer_detail_header .note {
	position: absolute;
	width: 100%;
	bottom: 0;
	right: 0;
	text-align: right;
	font-weight: normal;
	font-size: 12px;
}
.answer_detail_header sup {
	font-size: 55%;
}
.answer_detail h3 {
	margin-top: 2rem;
	font-size: 1.2rem;
	text-align: center;
}
@media only screen and (min-width: 768px) {
.answer_detail {
	margin: 5rem auto;
}
.wrapper .answer_detail:nth-child(2n + 1) {
	background-color: #fff;
	padding: 0;
}
.answer_detail > *:not(.answer_detail_header){
	margin-left: 1em;
	margin-right: 1em;
}
.answer_detail_header {
	margin-bottom: 3em;
	padding: 0.5em 1em;
	background-color: #786d97;
	color:#fff;
	font-size: 110%;
}
.answer_detail_header {
	text-align: center;
}
.answer_detail_header h2 {
	font-size: 36px;
	padding: 1rem 0;
	padding-left: 210px;
	line-height: 0.8;
}
.answer_detail_header sup {
	font-size: 55%;
}
.answer_detail h3 {
	margin: 1em auto 1em;
	font-size: 140%;
	text-align: center;
}
}
@media only screen and (max-width: 599px) {
	#lineup .answer_detail_header {
		padding: 0.5em 1em 2em;
	}
	.answer_detail_header h2 > img {
		width: 110px;
		left: 50%;
		transform: translateX(-50%);
		bottom: initial;
		top: -135%;
	}
	.answer_detail_header .note {
		width: 100%;
		bottom: -25px;
		right: 0;
		text-align: center;
		font-weight: normal;
		font-size: 11px;
	}
}


/* -----------------------
- col2
----------------------- */
.col2 {
	display: -webkit-flex;
	display: flex;
	flex-flow:column wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}
div.col2 {
	-webkit-align-items: center;
	align-items: center;
}
.text {
	position: relative;
	margin-bottom: 1em;
	line-height: 1.7;
	font-size: 0.9rem;
	z-index: 10;
}
.text::before{
	content: "";
    position: absolute;
    bottom: -10%;
    right: -5%;
    width: 90%;
    height: 90%;
    background: #e9e2eb;
    z-index: -1;
}
.answer_detail .txt_head{
	font-size: 38px;
    text-align: left;
    margin: 0 0 1em;
}
.answer_detail .text p{
	font-size: 16px;
}
.answer_detail .txt_head .large{
	font-size: 2em;
}
.answer_detail .txt_head .mid_large{
	font-size: 28px;
}
.answer_detail .txt_head .small{
	font-size: 0.5em;
}
.text dd {
	font-size:16px;
	list-style: 1.6;
}
.col2 {
	margin-bottom: 2em;
}
.col2 li {
	margin-bottom: 1.5em;
}
.col2 .image {
	margin: 0 0 0.5em;
}
@media only screen and (min-width: 768px) {
	.col2 {
		display: -webkit-flex;
		display: flex;
		flex-flow:row nowrap;
		-webkit-justify-content: space-between;
		justify-content: space-between;
	}
	div.col2 {
		-webkit-align-items: center;
		align-items: center;
	}
	.col2 > * {
		width: calc(50% - 1.25em);
	}
	.text {
		margin-bottom: 1em;
		line-height: 1.7;
		font-size: 1rem;
	}
	.text dd {
		font-size:90%;
	}
	.col2 {
		margin-bottom: 2em;
	}
	.col2 li {
		margin-bottom: 1.5em;
	}
	.col2 .image {
		margin: 0 0 0.5em;
	}
}
@media only screen and (max-width: 599px) {
	.answer_detail .txt_head{
		margin: 1em 0 1em;
		font-size: 20px;
	}
	.answer_detail .text p{
		font-size: 14px;
	}
	.text::before {
		bottom: -10%;
		right: -5%;
		width: 90%;
		height: 120%;
	}
	.col2 .image {
		margin: 0 0 0.5em;
		z-index: 105;
	}
	.answer_detail .txt_head .mid_large{
		font-size: 16px;
	}
	.answer_detail .txt_head .small{
		font-size: 16px;
	}
}



/* -----------------------
- img_tile
----------------------- */
.img_tile {
	margin: 1.5em 0;
	display: -webkit-flex;
	display: flex;
	flex-flow:row wrap;
	-webkit-flex-flow: row wrap;
	flex-flow: row wrap;
}
.img_tile li {
	width: 50%;
	line-height: 0;
}
.img_tile a {
	display: block;
	position: relative;
}
.img_tile a::after {
	content: "\f00e";
	position: absolute;
	bottom: 0.5em;
	right: 0.5em;
	z-index: 99;
	color: #ffffff;
	font-family: FontAwesome;
	font-size: 1.2em;
	line-height: 1.4;
	background-color: rgba(255, 255, 255, 0.3);
	border: solid 2px #ffffff;
	border-radius: 5px;
	padding: 0.2em 0.5em;
}


@media only screen and (min-width: 768px) {
	.img_tile {
		margin: 1.5em 0;
		display: -webkit-flex;
		display: flex;
		-webkit-flex-flow: row wrap;
		flex-flow: row wrap;
	}
	.img_tile li {
		width: 25%;
		line-height: 0;
	}
	.img_tile a {
		display: block;
		position: relative;
	}
	.img_tile a::after {
		content: "\f00e";
		position: absolute;
		bottom: 0.5em;
		right: 0.5em;
		z-index: 99;
		color: #ffffff;
		font-family: FontAwesome;
		font-size: 1.2em;
		line-height: 1.4;
		background-color: rgba(255, 255, 255, 0.3);
		border: solid 2px #ffffff;
		border-radius: 5px;
		padding: 0.2em 0.5em;
	}
}



/* -----------------------
- slider
----------------------- */
.slider {
	display: -webkit-flex;
	display: flex;
	margin: 0 1em;
}
#fabric_sample img {
	width: calc(100% - 14px);
	margin: 0 auto;
}
.slider_control {
	width: 2em;
	display: -webkit-flex;
	display: flex;
}
a.bx-prev,
a.bx-next {
	display: block;
	background-color: #666;
	color: #fff;
	width: 100%;
	position: relative;
}
.bx-prev {
	border-radius: 5px 0 0 5px;
}
.bx-next {
	border-radius: 0 5px 5px 0;
}
.bx-prev::after,
.bx-next::after {
	content: "\f053";
	font-family: FontAwesome;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.bx-next::after {
	content: "\f054";
}



/* -----------------------
- brand_tile
----------------------- */
.brand_tile {
	margin: 1.5em auto 0;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-flow: row wrap;
	flex-flow: row wrap;
	-webkit-justify-content: center;
	justify-content: flex-start;
}
.brand_tile li {
	width: calc(25%);
	margin-bottom:1rem;
}
@media only screen and (min-width: 640px) {
	.brand_tile li {
		width: calc(25%);
		margin-bottom: 0.5rem;
	}
}



/* -----------------------
- col3
----------------------- */
.col3 {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-flow: row wrap;
	flex-flow: row wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	margin-bottom: 2em;
}
.col3 li {
	width: calc(31%);
	margin: 0 0 1em;
}
.col3 dl {
	margin: 0.5em 0 0;
	font-size: 90%;
}
.col3 dt {
	margin: 0.5em 0;
	padding: 3%;
	font-size: 16px;
	font-weight: bold;
	background: #e9e2eb;
}
.col3 dd {
	font-size:16px;
	line-height:1.6;
}

@media only screen and (max-width: 599px) {
	.col3 {
		flex-direction: column;
	}
	.col3 li {
		width: 100%;
		margin: 0 0 3rem;
	}
	.col3 dd {
		font-size:14px;
		line-height:1.6;
	}
}


/* -----------------------
- price_text
----------------------- */
.price_text {
	font-size:1rem;
}

.price_text .em {
	color: #ca0000;
	font-size: 1.3rem;
	font-weight: bold;
}
.price_text sup {
	font-size: 60%;
}
.brand_col{
	display: block;
	margin: 0 auto;
	background: #fff;
	padding: 1% 3%;
	border: 1px solid #786d97;
}
.trust_price dl {
	margin-top:1em;
	background-color: #edece67a;
	border:1px solid #f8f8f8;
	border-radius:3px;
	-webkit-border-radius:3px;
	-moz-border-radius:3px;
	padding:.8em;
}
.trust_price dt {
	margin-bottom:.5em;
	font-weight: normal;
}
.trust_price dd {
	padding-bottom: 1em;
	font-size: 0.8rem;
	line-height: 1.6;
}
.trust_price .note {
	font-size:0.75rem;
	text-indent:-0.6rem;
    padding:0.3rem 0 0 1.7rem; 
}

#staff .col3 li {

	margin-bottom:3em;
}
#lineup .col3 li {
	margin-bottom:3rem;
}

.more_type_btn {
	padding:1em;
	border:1px solid #ccc;
	text-align:center;
	margin:1.5em 1em 0;
}
.more_type_btn a {
	display: block;
	padding: 0 0 0.5em;
	position: relative;
}
.more_type_btn a::after {
	content: "\f105";
	font-family: FontAwesome;
	position: absolute;
	right: 0.5em;
	top: 50%;
	transform: translateY(-50%);
}
.btn_area2 {
	margin:0 1em 3em;
}
.more_type_btn2 {
	border:5px solid #ee8b2a;
	border-radius: 4px;
	text-align:center;
	font-size:105%;
	font-weight:bold;
	color:#000;
	background:#fcf2d5;
}
.more_type_btn2 a {
	display: block;
	padding: 1em;
	position: relative;
	color:#000;
	border-radius: 5px;
	background-color: #fff;
}
.more_type_btn2 a::after {
	content: "\f105";
	font-family: FontAwesome;
	position: absolute;
	right: 0.5em;
	top: 50%;
	transform: translateY(-50%);
	color:#ee8b2a;
	font-size:180%;
}
.more_type_btn2 a span {
	color:#3c2e20;
	font-size :120%;
}
@media only screen and (min-width: 640px) {
	.more_type_btn {
		width: 50%;
		margin: 0 auto;
	}
	.more_type_btn2 {
		background:#fcf2d5;
		border:5px solid #ee8b2a;
		border-radius: 4px;
		text-align:center;
		font-size:105%;
		font-weight:bold;
		color:#000;
	}
}
@media only screen and (min-width: 960px) {
	.price_text .em {
		color: #ca0000;
		font-size: 2rem;
		font-weight: bold;
	}
	.trust_price dl {
		margin-top: 5em;
        background-color: #eee;
        border: 1px solid #f8f8f8;
        border-radius: 3px;
        -webkit-border-radius: 3px;
        -moz-border-radius: 3px;
        padding: 25px 20px 20px;
	}
	.trust_price dt {
		margin-bottom:.5em;
		font-weight: normal;
	}
	.trust_price dd {
		font-size:0.9rem;
	}
	.trust_price .note {
		font-size:0.75rem;

	}
	.btn_area2 {
		width: 960px;
		margin: 0 auto;
	}
	#lineup .col3 li {
		margin-bottom:0;
	}
}
@media only screen and (max-width: 599px) {
	.trust_price dt {
		font-size: 14px;
	}
}


/* -----------------------
- banner_area
----------------------- */
#banner_area {
	margin-top: 4em;
	background-color:#fff;
}
#banner_area .em {
	margin: 2em auto 1em;
	text-align:center;
}




/* -----------------------
- coordinate
----------------------- */
.coordinate {
	margin: 3em 1em;
}
.coordinate h2 {
	margin-bottom: 1.5em;
	padding: 0.5em 1em;
	text-align: center;
}
.coordinate dl {
	margin: 0.5em 0 0;
	font-size: 90%;
}
.coordinate dt {
	font-weight: bold;
	margin-bottom:0.5rem;
}
.coordinate dd {
	font-size:0.9rem;
	line-height:1.5;
}

@media only screen and (min-width: 640px) {
	.coordinate h2 {
		font-size: 140%;
		text-align: center;
	}
}
@media only screen and (min-width: 960px) {
}




/* -----------------------
- readymade
----------------------- */
.readymade {
	margin: 1rem 1rem 2rem;
}
.readymade_text h3 {
	margin: 0 auto 1rem;
	font-size: 1.2rem;
	text-align:center;
}
.readymade_text p {
	margin: 0 auto;
    line-height:1.7;
	font-size:0.9rem;
}
@media only screen and (min-width: 640px) {
	.readymade_text h3 {
		margin: 0 auto 1em;
	    font-size: 140%;  
		text-align:left;
	}
	.readymade_text p {
		margin: 0 auto 1em;
	    line-height:1.7;
		font-size:1rem;
	}
}




/* -----------------------
- shoplist tenpo_area
----------------------- */
.shoplist {
	margin: 3em 0;
}
.shoplist .em {
	margin: 0 1em 1.5em;
}
.tenpo_headline {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	margin: 0 0.5em;
	line-height: 2em;
}
.tenpo_area:first-child {
	border-top: solid 1px #ccc;
}
.tenpo_area_title {
	padding: 0.5em;
	background-color: #eee;
	border-bottom: solid 1px #ccc;
	position: relative;
}
.tenpo_area_title::after {
	content: "\f107";
	font-family: FontAwesome;
	position: absolute;
	right: 0.5em;
	top: 50%;
	transform: translateY(-50%);
}
.tenpo_area_title.active::after {
	content: "\f106";
	font-family: FontAwesome;
	position: absolute;
	right: 0.5em;
	top: 50%;
	transform: translateY(-50%);
}
.tenpo_area > ul {
	border-bottom: solid 1px #ccc;
	font-size: 90%;
}
.tenpo_area > ul > li {
	border-bottom: solid 1px #ccc;
}
.tenpo_area > ul > li:last-child {
	border-bottom: none;
}
.tenpo_area a {
	display: block;
	padding: 1em 0.5em;
	position: relative;
}
.tenpo_area a::after {
	content: "\f105";
	font-family: FontAwesome;
	position: absolute;
	right: 0.5em;
	top: 50%;
	transform: translateY(-50%);
}
.tenpo_area br,
.tenpo_area span {
	display: none;
}
@media only screen and (min-width: 640px) {
	.shoplist {
		margin-left: 1em;
		margin-right: 1em;
	}
	.tenpo_area {
		margin-top: 0.5em;
	}
	.tenpo_area:first-child {
		border: none;
	}
	.tenpo_area_title {
		position: relative;
		border: solid 1px #ccc;
	}
	.tenpo_area_title::after {
		content: "";
	}
	.tenpo_area > ul {
		border: none;
		font-size: 80%;
		display: -webkit-flex;
		display: flex;
		-webkit-flex-flow: row wrap;
		flex-flow: row wrap;
	}
	.tenpo_area > ul > li {
		width: calc(100% / 3 - 1em - 1px);
		padding: 0.5em;
		border: none;
	}
	.tenpo_area a {
		border-bottom: solid 1px #ccc;
	}
}
@media only screen and (min-width: 960px) {
	.tenpo_area {
		margin: 0;
	}
	.tenpo_area_title {
		margin-top: 1em;
	}
	.tenpo_area a {
		display: inline;
		padding: 0;
		border: none;
	}
	.tenpo_area a::before {
		content: "\f105  ";
		font-family: FontAwesome;
	}
	.tenpo_area a::after {
		content: none;
	}
	.tenpo_area a:hover {
		text-decoration: underline;
	}
	.tenpo_area br,
	.tenpo_area span {
		display: inline;
		font-size: 90%;
	}
	.tenpo_area span:not(.popup_area_title) {
		margin-left: 1em;
	}
}

/* -----------------------
- footer
----------------------- */
.footer {
	margin: 3em 0;
	font-size: 60%;
	text-align: center;
}


@media only screen and (min-width: 1100px) {
	.answer,
	.answer_detail > *:not(.answer_detail_header),
	.coordinate,
	.readymade,
	.shoplist,
	.footer {
		width: 1320px;
		margin-left: auto;
		margin-right: auto;
	}
}



/* -----------------------
- side-cta
----------------------- */
.side-cta {
  position: fixed;
  right: 10px;
  bottom: 0;
  z-index: 9999;
}
.side-cta .sp-cts {
  display: none;
}

@media screen and (max-width: 768px) {
  .side-cta {
    bottom: 0;
    left: 0;
    position: fixed;
    top: auto;
    width: 100%;
  }
  .side-cta .pc-cts {
    display: none;
  }
  .side-cta .sp-cts {
    display: block;
  }
  .side-cta .sp-cts > span {
    background: #786d97;
    color: #fff;
    display: block;
    font-size: 1rem;
    font-weight: bold;
    padding: 10px;
    text-align: center;
    text-decoration: none;
  }
  .side-cta .sp-cts > span > span {
    display: inline-block;
  }
  .side-cta .sp-cts > span > span > span {
    align-items: center;
    display: flex;
  }
  .side-cta .sp-cts > span > span > span::before {
    align-items: center;
    background: url(/fair/curtain_test_soudankai/images/bn_sp_cta_green.png);
    background-size: cover;
    box-sizing: border-box;
    display: flex;
    font-weight: bold;
    height: 55px;
    justify-content: center;
    margin-right: 10px;
    padding-right: 10px;
    width: 59px;
	content: "";
  }
  .side-cta .sp-cts > span > span > span::after {
    background: url(/lp_soudankai/image/cta_icn.png);
    background-size: cover;
    content: '';
    height: 23px;
    margin-left: 15px;
    width: 14px;
	filter: brightness(1.5);
  }
}

@media screen and (max-width: 374px) {
  .side-cta .sp-cts > span {
    font-size: .8rem;
  }
}


/* ------------------------------
- floating
------------------------------ */
.floating {
	position: fixed;
	right: 20px;
	opacity: 1;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	z-index: 1000000;
  }
  .floating {
	bottom: 10px;
  }
  @media screen and (max-width: 749px) {
	.floating {
	  width: 100%;
	  right: 0;
	  bottom: 0;
	}
  }
  .floating__btn {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
		-ms-flex-pack: center;
			justify-content: center;
	-webkit-box-align: center;
		-ms-flex-align: center;
			align-items: center;
	background: #e91242;
	text-align: center;
  }
  .floating__btn {
	width: 150px;
	height: 150px;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	filter: drop-shadow(4px 4px 0px rgba(0, 0, 0, .3));
	transition: 0.5s;
  }
  .floating__btn:hover {
	transform: translateY(1px);
	-webkit-filter: brightness(1.1);
			filter: brightness(1.1) drop-shadow(3px 3px 0px rgba(0, 0, 0, .3));
  }
  @media screen and (max-width: 749px) {
	.floating__btn {
	  position: relative;
	  width: 100vw;
	  height: 60px;
	}
  }
  
  .floating__text {
	color: #fff;
	font-weight: bold;
  }
  .floating__text {
	font-size: clamp(14px, 1.5vw, 18px);
  }
  @media screen and (max-width: 749px) {
	.floating__text {
	  font-size: 16px;
	}
  }
  
  .floating__text .-fukidashi {
	display: inline-block;
	color: #d91f1f;
  }
  .floating__text .-fukidashi {
	padding: 0.1em 0.7em 0.3em;
	background: url(../images/floating_fukidashi.svg) no-repeat center/contain;
  }
  @media screen and (max-width: 749px) {
	.floating__text .-fukidashi {
	  padding: 0.2em 0.7em 0.3em;
	  background: url(../images/floating_fukidashi_sp.svg) no-repeat center/contain;
	}
  }
  
  .floating__text::after {
	content: "";
	display: block;
	width: 24px;
	height: 24px;
	background: #fff url(../images/icon_arrow_black.svg) no-repeat center/10px;
	border-radius: 50%;
  }
  .floating__text::after {
	margin: 0.5em auto 0;
  }
  @media screen and (max-width: 749px) {
	.floating__text::after {
	  position: absolute;
	  top: 50%;
	  right: 5.3333333333vw;
	  -webkit-transform: translateY(-50%);
			  transform: translateY(-50%);
	}
  }



/* -----------------------
- botchan_open
----------------------- */
.botchan_open:hover {
    cursor: pointer;
    text-decoration: none;
    opacity: 0.7;
    transition: 0.5s;
}


#staff,
#price,
#lineup {
	padding-top:7rem;
}



/* -----------------------
- WRAP
----------------------- */
.wrapper {
	font-family: "Noto Sans Japanese";
	color:#221815;
}

@media only screen and (min-width: 1100px) {
    section {
        width: 100%;
        margin-left: auto;
        margin-right: auto;
    }
}



/* ------------------------------
- check
------------------------------ */
.check {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
		-ms-flex-pack: center;
			justify-content: center;
  }
  .check {
	position: relative;
	padding: 210px 0 240px;
	overflow: hidden;
  }
  
  @media screen and (max-width: 1023px) {
	.check {
	  padding: min(6.6666666667vw, 50px) 0;
	}
  }
  
  .check__heading {
	margin-bottom: 0.5em;
	font-size: min(4.1666666667vw, 50px);
	white-space: nowrap;
	color: #fff;
  }
  @media screen and (max-width: 1023px) {
	.check__heading {
	  text-align: center;
	  color: #fff;
	}
  }
  
  @media screen and (max-width: 749px) {
	.check__heading {
	  margin-bottom: 1em;
	  font-size: 6.4vw;
	  text-align: center;
	  color: #fff;
	}
  }
  
  .check__list {
	width: 600px;
	margin: 0 auto;
  }
  @media screen and (max-width: 749px) {
	.check__list {
	  padding: 0 8vw;
	  font-size: 16px;
	}
  }
  
  .check__item {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-top: 1em;
  }
  .check__item {
	font-size: 20px;
	color: #fff;
  }
  .check__item::before {
	content: "";
	display: block;
	width: 1.25em;
	min-width: 1.25em;
	height: 1.4em;
	margin-right: 0.5em;
	background: url(../images/check_icon.svg) no-repeat center/contain;
	filter: hue-rotate(-100deg) grayscale(0.6);
  }
  .check__img01 {
	position: absolute;
	top: 50%;
	right: calc(50% + 400px);
	-webkit-transform: translateY(-50%);
			transform: translateY(-50%);
	width: min(33.3333333333%, 400px);
  }
  @media screen and (max-width: 1023px) {
	.check__img01 {
	  width: min(96%, 720px);
	  margin: 0 0 min(13.3333333333vw, 50px) auto;
	  text-align: center;
	}
  }
  
  .check__img02 {
	position: absolute;
	top: 50%;
	left: calc(50% + 330px);
	-webkit-transform: translateY(-50%);
			transform: translateY(-50%);
	width: min(39.1666666667%, 470px);
  }
  @media screen and (max-width: 1023px) {
	.check__img02 {
	  width: min(96%, 720px);
	  margin-top: min(13.3333333333vw, 50px);
	  text-align: center;
	}
  }
  
  .c_background{
	background: #786d97;
  }
@media screen and (max-width: 749px) {
	.check {
	  position: revert;
	  overflow: revert;
	}
	.check__heading {
	  white-space: revert;
	}
	.check__list {
	  width: revert;
	  margin: revert;
	}
	.check__item {
	  font-size: revert;
	}
	.check__img01 {
	  position: revert;
	  top: revert;
	  right: revert;
	  -webkit-transform: revert;
	  transform: revert;
	}
	.check__img02 {
	  position: revert;
	  top: revert;
	  left: revert;
	  -webkit-transform: revert;
	  transform: revert;
	}
	.check__img{
		max-width: 100%;
		height: 200px;
		object-fit: cover;
	}
	.consult__head {
	  background: revert;
	}
	.consultHead__inner {
	  width: revert;
	  max-width: revert;
	  margin: revert;
	}
	.consultHead__img {
	  width: revert;
	  margin-left: revert;
	}
	.consultHead__heading {
	  -webkit-transform: revert;
	  transform: revert;
	}
	.consultNav__inner {
	  width: revert;
	  max-width: revert;
	  margin: revert;
	}
	.consultNav__list {
	  display: revert;
	  -webkit-box-pack: revert;
	  -ms-flex-pack: revert;
	  justify-content: revert;
	}
	.consultNav__item {
	  width: revert;
	}
	.consultNav__btn {
	  -webkit-transition: revert;
	  transition: revert;
	}
	.consultNav__btn:hover {
	  opacity: revert;
	}
	.consultNav__btn:hover::after {
	  top: revert;
	}
	.consultNav__btn::after {
	  width: 30px;
	  margin-top: revert;
	  position: absolute;
	  top: revert;
	  bottom: 0;
	  right: 50%;
	  -webkit-transition: revert;
	  transition: revert;
	}
	.consult__block {
	  padding: revert;
	}
	.consultBlock__head {
	  position: revert;
	  max-width: revert;
	  margin: revert;
	}
	.consultBlock__inner {
	  width: revert;
	  max-width: revert;
	  margin: revert;
	}
	.consultBlockHead__inner {
	  display: revert;
	  -webkit-box-pack: revert;
	  -ms-flex-pack: revert;
	  justify-content: revert;
	  width: revert;
	  max-width: revert;
	  margin: revert;
	}
	.-normal .consultBlockHead__inner {
	  -webkit-box-orient: revert;
	  -webkit-box-direction: revert;
	  -ms-flex-direction: revert;
	  flex-direction: revert;
	}
	.consultBlock__img {
	  position: revert;
	  top: revert;
	  width: revert;
	}
	.-normal .consultBlock__img {
	  left: revert;
	}
	.-reverse .consultBlock__img {
	  right: revert;
	}
	.consultBlock__number {
	  margin-bottom: revert;
	}
	.-normal .consultBlock__number {
	  margin-left: auto;
	}
	.-reverse .consultBlock__number {
	  margin-left: auto;
	}
	.consultBlock__content {
	  display: revert;
	  -webkit-box-orient: revert;
	  -webkit-box-direction: revert;
	  -ms-flex-direction: revert;
	  flex-direction: revert;
	  width: revert;
	  min-height: revert;
	}
	.consultBlock__textwrap {
	  margin-top: revert;
	  padding: revert;
	}
	.-normal .consultBlock__textwrap {
	  border-right: revert;
	}
	.-reverse .consultBlock__textwrap {
	  border-left: revert;
	}
	.consultBlock__lead {
	  font-weight: revert;
	  font-size: revert;
	}
	.consultBlock__subhead {
	  display: revert;
	  -webkit-box-align: revert;
	  -ms-flex-align: revert;
	  align-items: revert;
	  -webkit-box-pack: revert;
	  -ms-flex-pack: revert;
	  justify-content: revert;
	  -webkit-box-orient: revert;
	  -webkit-box-direction: revert;
	  -ms-flex-direction: revert;
	  flex-direction: revert;
	  padding-bottom: revert;
	}
	.consultBlock__subhead::after {
	  content: revert;
	  position: revert;
	  bottom: revert;
	  left: revert;
	  display: revert;
	  width: revert;
	  height: revert;
	  background: revert;
	}
	.consultBlock__subheading {
	  position: revert;
	  bottom: revert;
	  right: revert;
	}
	.consultBlock__sublead {
	  -webkit-box-flex: revert;
	  -ms-flex: revert;
	  flex: revert;
	  margin-right: revert;
	  font-size: revert;
	  font-weight: revert;
	}
	.illustration__inner {
	  width: revert;
	  max-width: revert;
	  margin: revert;
	}
	.illustration__list .slick-arrow {
	  -webkit-transition: revert;
	  transition: revert;
	}
	.illustration__list .slick-arrow:hover {
	  -webkit-filter: revert;
	  filter: revert;
	}
	.consultation {
	  padding-top: revert;
	}
	.consultation__list {
	  display: revert;
	  -ms-flex-wrap: revert;
	  flex-wrap: revert;
	  margin-top: revert;
	}
	.consultation__item {
	  margin-top: revert;
	}
	.consultation__item.-lg {
	  width: revert;
	}
	.consultation__item.-lg:nth-of-type(2n) {
	  margin-left: revert;
	}
	.consultation__item.-md {
	  width: revert;
	}
	.consultation__item.-md:not(:nth-of-type(3n)) {
	  margin-left: revert;
	}
	.consultation__text {
	  font-size: revert;
	}
	.selection {
	  width: revert;
	  max-width: revert;
	  margin: revert;
	}
	.lineup__item:not(:nth-child(3n)) {
	  margin-right: revert;
	}
	.lineup__modal {
	  padding: revert;
	}
	.lineupModal__inner {
	  max-width: revert;
	}
	.lineupModal__content {
	  display: revert;
	}
	.lineupModal__head {
	  width: revert;
	}
	.lineupModal__body {
	  width: revert;
	}
	.lineupModal__text {
	  font-size: revert;
	}
	.bnr__inner {
	  width: revert;
	  max-width: revert;
	  margin: revert;
	}
	.shop__inner {
	  width: revert;
	  max-width: revert;
	  margin: revert;
	}
	.shop__body {
	  display: revert;
	  -ms-flex-wrap: revert;
	  flex-wrap: revert;
	  margin-top: revert;
	  -webkit-box-pack: revert;
	  -ms-flex-pack: revert;
	  justify-content: revert;
	}
	.shop__area {
	  width: revert;
	}
	.shop__area:not(:nth-child(3n)) {
	  margin-right: revert;
	}
  
	.shop__text {
	  font-size: revert;
	}
	.floating__btn {
	  -webkit-transition: revert;
	  transition: revert;
	}
	.floating__btn:hover {
	  -webkit-filter: revert;
	  filter: revert;
	}
	.floating__text::after {
	  margin: revert;
	}
  }
  
  /* ------------------------------
  - shop
  ------------------------------ */
  .background_shop{
	background-size: contain;
	background-attachment: fixed;
	color: #222;
	overflow: hidden;
	background: url(https://idc-otsuka.s3.ap-northeast-1.amazonaws.com/wp/wp-content/uploads/2025/02/05171330/bg_curtain.webp);
  }
  .shop_lead{
	width: 100%;
	padding: 4em 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
  }
  .shop_lead h2{
	width: 100%;
	font-size: 36px;
	max-width: 640px;
	right: 20vw !important;
	font-weight: normal;
	text-align: center;
  }
  .shop_lead h2 span{
	width: 100%;
	text-align: right;
	display: inline-block;
	position: relative;
	top: -.5em;
	left: 0em;
	font-size: 20px;
  }
  .shop_lead h2 span::after{
	content: "";
	position: absolute;
	width: 450px;
	height: 1px;
	background: #222;
	top: 9px;
	left: 0em;
  }
  .shop_lead h2 .t_head{
	width: 100%;
	font-size: 22px;
	font-weight: normal;
	display: inline-block;
	position: relative;
	top: .2em;
	left: initial;
	text-align: left;
  }
  .shop_lead h2 .t_head::after{
	content: "";
	position: absolute;
	width: 75%;
	height: 1px;
	background: #222;
	top: 9px;
	left: 7em;
  }
  .shop_lead h2 span img{
	width: 160px!important;
  }
  .shop_lead > ul{
	width: 100%;
	padding: 4em 0;
	display: flex;
	justify-content: center;
	align-items: center;
  }
  .shop_lead > ul li:first-child{
	width: 65%;
  }
  .shop_lead > ul li:last-child{
	width: 35%;
  }
  .shop_lead > ul li img{
	width: 100%;
	max-height: 580px;
	object-fit: cover;
  }
  .shop_lead > ul li h3{
	padding: 0 10%;
	font-size: 30px;
	font-weight: normal;
  }
  .shop_lead > ul li p{
	padding: 1em 10% 0;
	font-size: 18px !important;
	text-align: left;
	font-weight: 400;
	font-style: normal;
  }
  
  .shop_lead .shop_wrap{
	position: relative;
	width: 100%;
	max-width: 1420px;
	margin: 0 auto;
  }
  .shop_wrap ul{
	width: 100%;
	max-width: 1420px;
	margin: 0 auto;
	padding: 2em;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: stretch;
  } 
  .shop_wrap ul li{
	width: 22%;
	padding: 0 0 2.5rem;
	margin: 1.5em 1% 2.5em;
	border: 1px solid #d9c14a;
	background: rgba(255, 255, 255, .5);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: center;
  } 
  .shop_wrap ul li:last-of-type{
	border: none;
  } 
  .shop_wrap ul li img{
	width: 100%;
  } 
  .shop_wrap ul li p{
	padding: 1.5em 0 0;
	font-size: 14px !important;
	font-weight: normal;
	font-style: normal;
	width: 220px;
	text-align: left;
	margin: 0 auto;
  } 
  .shop_wrap ul li p:last-of-type{
	padding: 1.5em 0 0.5em;
  } 
  .shop_wrap ul li .s_name{
	width: 90%;
	text-align: center;
	margin: 0 auto;
	padding: 1em 0 0;
	font-size: 20px !important;
  }
  .shop_wrap ul li .s_name span{
	position: relative;
	font-size: .7em;
  }
  .shop_wrap ul li .s_name span::before{
	position: absolute;
	content: "";
	top: 50%;
	left: -70%;
	width: 50%;
	height: 1px;
	background: #222;
  }
  .shop_wrap ul li .s_name span::after{
	position: absolute;
	content: "";
	top: 50%;
	right: -70%;
	width: 50%;
	height: 1px;
	background: #222;
  }
  .shop_wrap ul li .links{
	width: 100%;
	display: flex;
	flex-direction: column-reverse;
	justify-content: center;
	align-items: center;
  }
  .shop_wrap ul li .links a{
	position: relative;
	width: 70%;
	margin: 1.5em 0 0;
	padding: 5px 20px;
	background-size: 200% 100% !important;
	transition: background-position 0.5s ease, color 0.5s ease;
	background: linear-gradient(to right, #ddc97e, #a1841a 50%, #fff 50%, #fff);
	background-position: 0 0;
	color: #fff;
	border-radius: 20px;
	text-align: center;
  }
  .shop_wrap ul li .links a:first-of-type{
	width: 100%;
	padding: 5px 10px;
	font-size: 16px !important;
	background: #02c793;
	border-radius: 0;
	display:none;
  }
  .shop_wrap ul li .links a:last-of-type{
	font-size: 14px !important;
  }
  .shop_wrap ul li .links a:hover {
	background-position: -100% 0;
	color: #836b13;
	transition: background-position 0.5s ease, color 0.5s ease;
  }
  .empty{
	background: none !important;
  }
  .shop_wrap .shop_all{
	width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
  }
  .shop_wrap .shop_all a{
	position: relative;
	width: 70%;
	max-width: 500px;
	margin: 0;
	padding: 10px 20px;
	background-size: 200% 100% !important;
	transition: background-position 0.5s ease, color 0.5s ease;
	background: linear-gradient(to right, #ddc97e, #a1841a 50%, #fff 50%, #fff);
	background-position: 0 0;
	color: #fff;
	border-radius: 20px;
  }
  @media screen and (max-width: 599px){
	.shop_lead h2 {
	width: 80%;
	  padding: 0 1em;
	  font-size: 30px;
	  max-width: initial;
	  right: initial;
	  line-height: 2;
	}
	.shop_lead h2 .t_head {
	  font-size: 18px;
	}
	.shop_lead h2 .t_head::after {
	  width: 60%;
	  left: initial;
	  right: 0;
	}
	.shop_lead h2 span img {
	  width: 130px !important;
	}
	.shop_lead h2 span::after {
	  width: 55%;
	  left: 0;
	}
	.shop_wrap ul {
		max-width: 300px;
	  flex-direction: column;
	  flex-wrap: nowrap;
	}
	.shop_wrap ul li {
	  width: 100%;
	  background: #fff;
	  margin: 0 0 3em;
	  padding: 0 0 2em;
	}
	.shop_wrap ul li > a {
	  width: 80%;
	  margin: 0 auto;
	}
	.shop_wrap ul li .s_name {
	  padding: .5em 0 0;
	}
	.shop_wrap ul .slick-slide {
	  display: flex !important;
	  flex-direction: column !important;
	  justify-content: center;
	}
	.shop_wrap ul .slick-prev {
	  left: 0px;
	}
	.shop_wrap ul .slick-next {
	  right: 0px;
	}
  }
  
  @media screen and (min-width: 600px) and (max-width: 1024px){
	.shop_wrap ul li {
	  width: 43%;
	}
  }

  /* ------------------------------
- ft
------------------------------ */
.ft {
	background: #4C4C4E;
	color: #fff;
	text-align: centers;
  }
  .ft {
	padding: 80px 0;
  }
  @media screen and (max-width: 749px) {
	.ft {
	  padding: 13.3333333333vw 0 26.6666666667vw;
	}
  }
  
  .ftSns {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
		-ms-flex-pack: center;
			justify-content: center;
	-webkit-box-align: center;
		-ms-flex-align: center;
			align-items: center;
	margin-bottom: 40px;
  }
  .ftSns__item {
	width: 20px;
	margin: 0 20px;
  }
  .ft__logo {
	display: block;
	width: 180px;
	margin: 0 auto 40px;
  }
  .ft__copy {
	font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
	text-align: center;
  }
  .ft__logo img{
	object-fit: contain;
   }