@charset "UTF-8";

.contents {
	width: 100%;
    padding: 60px 0;
}
section {
	padding: 120px 0;
}

@media screen and (max-width: 1194px) {
	section {
		padding: 90px 0;
	}
}
@media screen and (max-width: 768px) {
	section {
		padding: 75px 0;
	}
}
@media screen and (max-width: 559px) {
	.contents {
		padding: 45px 0;
	}
	section {
		padding: 60px 0;
	}
}
@media screen and (max-width: 430px) {
	
}
@media screen and (max-width: 320px) {
	.contents {
		padding: 30px 0;
	}
	section {
		padding: 45px 0;
	}
}



/* レスポンシブ *
 * ****************************************** */

@media screen and (min-width: 769px) {
	.pc {
		display: block !important;
	}
	.sp {
		display: none !important;
	}
}

@media screen and (max-width: 768px) {
	.pc {
		display: none !important;
	}
	.sp {
		display: block !important;
	}
}


/* 見出し *
 * ****************************************** */

.stressdetox-title {
	text-align: center;
	font-size: clamp(4.2rem, calc(3.617rem + 0.758vw), 5.8rem);
    font-weight: normal;
	line-height: 1.4;
	padding-bottom: 12px;
	margin-bottom: 45px;
	position: relative;
}
.stressdetox-title:before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%) rotate(45deg) skew(20deg, 20deg);
	background: #BA9847;
	width: 10px;
	height: 10px;
}

@media screen and (max-width: 768px) {
	.stressdetox-title {
		font-size: clamp(2.8rem, 1.821rem + 4.12vw, 3.8rem);
		margin-bottom: 30px;
	}
}
@media screen and (max-width: 320px) {
	.stressdetox-title {
		font-size: 2.6rem;
	}
}



/* 開催概要 *
 * ****************************************** */

.overview {
	
}
.overview .overview-city:not(:first-child) {
	margin-top: 30px;
}
.overview .overview-city p.overview-city-title {
	text-align: center;
    font-size: clamp(3.2rem, calc(2.981rem + 0.285vw), 3.8rem);
    margin: 0 0 12px;
    font-family: 'hannari', serif;
}
.overview dl.overview-schedule {
	
}
.overview dl.overview-schedule {
	font-size: 3.8rem;
	display: flex;
	align-items: center;
	justify-content: center;
}
.overview dl.overview-schedule dt {
	display: flex;
	align-items: center;
	padding: 0;
}
.overview dl.overview-schedule dt span {
	display: inline-block;
	background: #BA9847;
	color: #FFF;
	margin-right: 12px;
	padding: 2px 20px;
	font-size: 2rem;
	font-family: 'hannari', serif;
}
.overview dl.overview-schedule dd {
	padding: 0 45px;
	font-family: 'hannari', serif;
}
.overview dl.overview-schedule dd span {
	margin-left: 12px;
}
.overview p.limited {
	text-align: center;
	margin: 12px 0 0;
}
.overview p.limited span {
	font-size: 2.2rem;
	font-family: 'hannari', serif;
	background: #B50718;
	color: #FFF;
	padding: 12px 18px;
	border-radius: 5px;
}
.overview p.place {
	text-align: center;
	font-family: 'hannari', serif;
	margin: 12px 0 0;
}

@media screen and (max-width: 1194px) {
	.overview dl.overview-schedule {
		font-size: clamp(3rem, calc(1.553rem + 1.883vw), 3.8rem);
	}
}
@media screen and (max-width: 768px) {
	.overview dl.overview-schedule {
		font-size: clamp(2.4rem, calc(2.114rem + 0.893vw), 2.8rem);
	}
	.overview .overview-city p.overview-city-title {
		font-size: clamp(2.4rem, calc(1.972rem + 1.339vw), 3rem);
	}
	.overview dl.overview-schedule dd {
		padding: 0;
	}
}
@media screen and (max-width: 559px) {
	.overview dl.overview-schedule {
		flex-direction: column;
	}
	.overview dl.overview-schedule:not(:first-child) {
		margin-top: 18px;
	}
	.overview dl.overview-schedule dd {
		margin-top: 12px;
		padding: 0;
	}
	.overview p.limited {
		margin: 18px 0 0;
	}
}
@media screen and (max-width: 430px) {
	.overview dl.overview-schedule {
		text-align: center;
	}
	.overview dl.overview-schedule dd span {
		display: block;
		margin: 0;
	}
}
@media screen and (max-width: 380px) {
	.overview dl.overview-schedule {
		text-align: center;
	}
	.overview .overview-city p.overview-city-title {
		font-size: 2.4rem;
	}
}



/* スケジュール *
 * ****************************************** */

#stressdetox-schedule {
	    background: #fafafa;
}





/* ストレスデトックスとは *
 * ****************************************** */

#stressdetox-about {
	padding: 0;
	position: relative;
}
#stressdetox-about .stressdetox-about-title {
	font-size: clamp(3.2rem, calc(2.835rem + 0.474vw), 4.2rem);
	font-weight: normal;
	line-height: 1.4;
	margin-bottom: 0;
}
#stressdetox-about .stressdetox-about-title span {
	display: block;
	letter-spacing: .3em;
	font-size: .6em;
	margin-top: 12px;
}
#stressdetox-about .stressdetox-about-text {
	width: 1200px;
    text-align: center;
    position: relative;
    margin: -28vw auto 0;
    padding: 90px;
    background: #FFF;
    box-shadow: 0 2px 18px 1px rgb(38 37 36 / 20%);
    border-bottom: 1px solid #BA9847;
}
#stressdetox-about .stressdetox-about-text div {
	margin-top: 30px;
}

@media screen and (max-width: 1194px) {
	#stressdetox-about .stressdetox-about-text {
		width: 100%;
		padding: 75px;
	}
}
@media screen and (max-width: 768px) {
	#stressdetox-about .stressdetox-about-title {
		font-size: clamp(2rem, calc(1.143rem + 2.679vw), 3.2rem);
	}
	#stressdetox-about .stressdetox-about-text {
		padding: 60px;
	}
}
@media screen and (max-width: 559px) {
	#stressdetox-about {
		padding: 60px 0;
		clip-path: inset(0);
	}
	#stressdetox-about:before {
		content: "";
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100vh;
        background: url(../images/stressdetox/about-bg_sp.webp) no-repeat;
        background-size: cover;
		z-index: -1;
	}
	#stressdetox-about img.about-bg {
		display: none;
	}
	#stressdetox-about .stressdetox-about-text {
		padding: 45px;
		margin: 0;
	}
}
@media screen and (max-width: 430px) {
	#stressdetox-about .stressdetox-about-text {
		padding: 30px;
		margin: 0;
	}
}
@media screen and (max-width: 380px) {
	#stressdetox-about .stressdetox-about-text {
		padding: 18px;
	}
}



/* ７つの特徴 *
 * ****************************************** */

#stressdetox-feature {
	
}
#stressdetox-feature .stressdetox-feature-items {
	
}
#stressdetox-feature ul.stressdetox-feature-list {
	border-top: 1px solid #BA9847;
}
#stressdetox-feature ul.stressdetox-feature-list li {
	border-bottom: 1px solid #BA9847;
	position: relative;
}
#stressdetox-feature ul.stressdetox-feature-list li img.feature-motif {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	z-index: 1;
}

#stressdetox-feature .stressdetox-feature-flex {
	display: flex;
}
#stressdetox-feature .stressdetox-feature-flex .stressdetox-feature-flex___img {
	width: calc(100% / 2);
}
#stressdetox-feature .stressdetox-feature-flex .stressdetox-feature-flex___img img.feature {
	display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
	padding: 0 !important;
}
#stressdetox-feature .stressdetox-feature-flex .stressdetox-feature-flex___text {
	width: calc(100% / 2);   
    padding: 45px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: url(../images/stressdetox/feature-text-bg.webp) no-repeat;
    background-size: cover;
}
#stressdetox-feature .stressdetox-feature-flex .stressdetox-feature-flex___text .stressdetox-feature-title {
	text-align: center;
	font-size: clamp(2.4rem, calc(2.258rem + 0.190vw), 2.8rem);
	font-weight: normal;
	z-index: 1;
}
#stressdetox-feature .stressdetox-feature-flex .stressdetox-feature-flex___text .stressdetox-feature-title span {
	display: block;
}
#stressdetox-feature .stressdetox-feature-flex .stressdetox-feature-flex___text div {
	position: relative;
	z-index: 1;
}

@media screen and (max-width: 768px) {
	#stressdetox-feature .stressdetox-feature-items {
		width: calc(100% + 90px);
		margin-left: -45px;
	}
	#stressdetox-feature .stressdetox-feature-flex .stressdetox-feature-flex___text {
		padding: 30px;
	}
	#stressdetox-feature .stressdetox-feature-flex .stressdetox-feature-flex___text .stressdetox-feature-title {
		font-size: clamp(2rem, calc(1.714rem + 0.893vw), 2.4rem);
		margin-bottom: 12px;
	}
}
@media screen and (max-width: 559px) {
	#stressdetox-feature .stressdetox-feature-items {
		width: calc(100% + 60px);
		margin-left: -30px;
	}
	#stressdetox-feature ul.stressdetox-feature-list li {
		flex-direction: column;
	}
	#stressdetox-feature .stressdetox-feature-flex .stressdetox-feature-flex___img {
		order: 1;
		width: 100%;
	}
	#stressdetox-feature .stressdetox-feature-flex .stressdetox-feature-flex___text {
		order: 2;
		width: 100%;
	}
	
}
@media screen and (max-width: 430px) {
	#stressdetox-feature .stressdetox-feature-items {
		width: calc(100% + 40px);
		margin-left: -20px;
	}
	#stressdetox-feature .stressdetox-feature-flex .stressdetox-feature-flex___text {
		padding: 20px;
	}
}
@media screen and (max-width: 320px) {
	#stressdetox-feature .stressdetox-feature-flex .stressdetox-feature-flex___text .stressdetox-feature-title {
		font-size: 2rem;
	}
}


/* おすすめ *
 * ****************************************** */

#stressdetox-recommend {
	padding: 0;
	background: url(../images/stressdetox/recommend-bg.webp) no-repeat;
    background-size: cover;
    position: relative;
}
#stressdetox-recommend .stressdetox-recommend-outline {
	width: 780px;
    padding: 75px 60px 90px;
    background: rgba(255, 255, 255, .7);
}
#stressdetox-recommend ul.stressdetox-recommend-list {
	
}
#stressdetox-recommend ul.stressdetox-recommend-list li {
	font-size: 2.2rem;
    font-weight: 600;
    padding-left: 40px;
    line-height: 1.4;
    position: relative;
}
#stressdetox-recommend ul.stressdetox-recommend-list li:not(:first-child) {
	margin-top: 32px;
}
#stressdetox-recommend ul.stressdetox-recommend-list li:before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	background: url(../images/common/icon_check-gold.png) no-repeat;
	background-size: 100%;
	width: 26px;
	height: 26px;
}

@media screen and (max-width: 860px) {
	#stressdetox-recommend .stressdetox-recommend-outline {
		width: 100%;
	}
}
@media screen and (max-width: 768px) {
	#stressdetox-recommend .inner {
		padding: 0;
	}
	#stressdetox-recommend .stressdetox-recommend-outline {
		padding: 60px 60px 60px;
	}
}
@media screen and (max-width: 559px) {
	#stressdetox-recommend .stressdetox-recommend-outline {
		padding: 60px 45px 60px;
	}
	#stressdetox-recommend ul.stressdetox-recommend-list li {
		font-size: 2rem;
		padding-left: 32px;
	}
	#stressdetox-recommend ul.stressdetox-recommend-list li:before {
		width: 22px;
		height: 22px;
	}
}
@media screen and (max-width: 430px) {
	#stressdetox-recommend .stressdetox-recommend-outline {
		padding: 60px 30px 60px;
	}
	#stressdetox-recommend ul.stressdetox-recommend-list li {
		font-size: 1.8rem;
	}
}
@media screen and (max-width: 320px) {
	#stressdetox-recommend .stressdetox-recommend-outline {
		padding: 45px 30px 645px0px;
	}
	#stressdetox-recommend ul.stressdetox-recommend-list li {
		font-size: 1.6rem;
		padding-left: 26px;
	}
	#stressdetox-recommend ul.stressdetox-recommend-list li:before {
		width: 18px;
		height: 18px;
	}
}


/* おすすめ *
 * ****************************************** */

#stressdetox-video {
	
}
#stressdetox-video .youtube {
	margin: 0;
}





/* 講師紹介 *
 * ****************************************** */

#stressdetox-instructor {
	background-image: linear-gradient(90deg, #C6AB6B 0%, #C6AB6B 30%, #FFF 30%, #FFF 100%);
	border-top: 1px solid #C6AB6B;
	position: relative;
}
#stressdetox-instructor img.feature-motif-bg {
	position: absolute;
	top: 50%;
	bottom: 30px;
	transform: translateY(-50%);
	z-index: 1;
}
#stressdetox-instructor .stressdetox-instructor-text {
    padding: 90px;
    background: #FFF;
    box-shadow: 0 2px 18px 1px rgb(38 37 36 / 20%);
    border-bottom: 1px solid #BA9847;
    position: relative;
    z-index: 2;
}

@media screen and (max-width: 1194px) {
	#stressdetox-instructor .stressdetox-instructor-text {
		padding: 75px;
	}
}
@media screen and (max-width: 768px) {
	#stressdetox-instructor {
		background-image: linear-gradient(90deg, #C6AB6B 0%, #C6AB6B 20%, #FFF 20%, #FFF 100%);
	}
	#stressdetox-instructor .stressdetox-instructor-text {
		padding: 60px;
	}
	#stressdetox-instructor img.feature-motif-bg {
		width: 380px;
		top: 50%;
		bottom: auto;
		left: 50%;
		transform: translate(-50%, -50%);
	}
}
@media screen and (max-width: 559px) {
	#stressdetox-instructor .stressdetox-instructor-text {
		padding: 45px;
	}
}
@media screen and (max-width: 430px) {
	#stressdetox-instructor .stressdetox-instructor-text {
		padding: 30px;
	}
}
@media screen and (max-width: 380px) {
	#stressdetox-instructor .stressdetox-instructor-text {
		padding: 18px;
	}
}



/* 申し込み *
 * ****************************************** */

#stressdetox-entry {
	padding-top: 0;
    background: url(../images/stressdetox/entry-bg.webp) no-repeat;
    background-size: 100%;
    background-position: bottom center;
}
#stressdetox-entry .stressdetox-entry-otline {
	margin-top: 90px;
	margin-bottom: 24%;
}
#stressdetox-entry .stressdetox-entry-add {
	margin-top: 60px;
	text-align: center;
	border-top: 1px solid #ededed;
    padding-top: 60px;
}
#stressdetox-entry .stressdetox-entry-add dl.stressdetox-entry-add-price {
	width: 620px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
}
#stressdetox-entry .stressdetox-entry-add dl.stressdetox-entry-add-price dt {
	width: 300px;
	font-size: 3rem;
	font-family: serif;
}
#stressdetox-entry .stressdetox-entry-add dl.stressdetox-entry-add-price dd {
	width: calc(100% - 300px);
	font-size: 3.6rem;
	font-family: serif;
}
#stressdetox-entry .stressdetox-entry-add dl.stressdetox-entry-add-price dd span.tax {
	font-size: .5em;
	margin-left: 0;
}
#stressdetox-entry .stressdetox-entry-add dl.stressdetox-entry-add-price dd span.card {
	display: block;
	font-size: 1.36rem;
}
#stressdetox-entry .stressdetox-entry-add .stressdetox-entry-add-button {
	margin-top: 60px;
}
#stressdetox-entry .stressdetox-entry-add a.stressdetox-entry-add-btn {
    display: inline-block;
    width: 60%;
    max-width: 680px;
    padding: 22px 2em;
    text-align: center;
    text-transform: uppercase;
    border-radius: 60px;
    background: #B54667;
	color: #FFF;
	font-family: sans-serif;
	font-weight: 600;
	font-size: 2.2rem;
	-webkit-animation-name: shake;
	animation-name: shake;
	-webkit-animation-iteration-count: infinite;
	animation-iteration-count: infinite;
	-webkit-animation-duration: 3s;
}
@keyframes shake {
	10%, 30%, 50%, 70%, 90% {
		-webkit-transform: scale3d(1, 1, 1) rotate3d(0, 0, 1, 0.8deg);
		transform: scale3d(1, 1, 1) rotate3d(0, 0, 1, 0.8deg);
	}
	0%, 20%, 40%, 60%, 80%, 100% {
		-webkit-transform: scale3d(1, 1, 1) rotate3d(0, 0, 1, -0.8deg);
		transform: scale3d(1, 1, 1) rotate3d(0, 0, 1, -0.8deg);
	}
}

@media screen and (max-width: 768px) {
	#stressdetox-entry .stressdetox-entry-add dl.stressdetox-entry-add-price {
		width: 100%;
	}
	#stressdetox-entry .stressdetox-entry-add dl.stressdetox-entry-add-price dt {
		width: 40%;
		font-size: 2.6rem;
	}
	#stressdetox-entry .stressdetox-entry-add dl.stressdetox-entry-add-price dd {
		width: 60%;
		font-size: 3.2rem;
	}
}
@media screen and (max-width: 559px) {
	#stressdetox-entry {
		background: url(../images/stressdetox/entry-bg_sp.webp) no-repeat;
		background-size: 100%;
		background-position: bottom center;
	}
	#stressdetox-entry .stressdetox-entry-add dl.stressdetox-entry-add-price {
		flex-direction: column;
	}
	#stressdetox-entry .stressdetox-entry-add dl.stressdetox-entry-add-price dt {
		width: 100%;
		font-size: 2.6rem;
	}
	#stressdetox-entry .stressdetox-entry-add dl.stressdetox-entry-add-price dd {
		width: 100%;
		font-size: 3.2rem;
	}
	#stressdetox-entry .stressdetox-entry-add .stressdetox-entry-add-button {
		margin-top: 45px;
	}
	#stressdetox-entry .stressdetox-entry-add a.stressdetox-entry-add-btn {
		width: 90%;
		font-size: 1.8rem;
		padding: 18px 2em;
	}
}
@media screen and (max-width: 320px) {
	#stressdetox-entry .stressdetox-entry-add dl.stressdetox-entry-add-price {
	}
	#stressdetox-entry .stressdetox-entry-add .stressdetox-entry-add-button {
	margin-top: 30px;
}
	
}


/* 受講者の声 *
 * ****************************************** */

#stressdetox-voice {
	margin-top: -28vw;
}
#stressdetox-voice .stressdetox-voice-outline {
	background: #FFF;
	box-shadow: 0 2px 18px 1px rgb(38 37 36 / 20%);
	border-bottom: 1px solid #BA9847;
	padding: 90px;
}
#stressdetox-voice .stressdetox-voice-item {
	padding: 30px 0;
	border-bottom: 1px solid #F0EADA;
}
#stressdetox-voice .stressdetox-voice-item p.stressdetox-voice-item-name {
	display: inline-block;
	margin: 0 0 12px;
	padding: 0 0 0 48px;
	position: relative;
}
#stressdetox-voice .stressdetox-voice-item p.stressdetox-voice-item-name:before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	background: url(../images/stressdetox/voice-icon.webp) no-repeat;
	background-size: 100%;
	width: 38px;
	height: 28px;
}
#stressdetox-voice .stressdetox-voice-item p.stressdetox-voice-item-name span {
	margin-left: 12px;
}

@media screen and (max-width: 1194px) {
	#stressdetox-voice .stressdetox-voice-outline {
		padding: 75px;
	}
}
@media screen and (max-width: 768px) {
#stressdetox-voice .stressdetox-voice-outline {
		padding: 60px;
	}
}
@media screen and (max-width: 559px) {
	#stressdetox-voice .stressdetox-voice-outline {
		padding: 45px;
	}
}
@media screen and (max-width: 430px) {
	#stressdetox-voice .stressdetox-voice-outline {
		padding: 30px;
	}
}
@media screen and (max-width: 380px) {
	#stressdetox-voice .stressdetox-voice-outline {
		padding: 18px;
	}
}


/* 申し込みへ・問い合わせ *
 * ****************************************** */

#stressdetox-toentry {
	text-align: center;
}
#stressdetox-toentry p.stressdetox-toentry-button {
	
}
#stressdetox-toentry p.stressdetox-toentry-button a.stressdetox-toentry-btn {
	display: inline-block;
    width: 60%;
    max-width: 680px;
    padding: 22px 2em;
    text-align: center;
    text-transform: uppercase;
    border-radius: 60px;
    background: #B54667;
    color: #FFF;
    font-family: sans-serif;
    font-weight: 600;
    font-size: clamp(1.6rem, calc(1.525rem + 0.234vw), 2.2rem);
}

@media screen and (max-width: 559px) {
	#stressdetox-toentry p.stressdetox-toentry-button a.stressdetox-toentry-btn {
		width: 90%;
		padding: 18px 2em;
	}
}
