/* ==================================================
BMP Studio CPT 共通スタイル
旧固定ページ(インストラクター/店舗)のインラインCSSと
swell_meta_css を統合したもの。値は現行から変更しない。
================================================== */

/* ==================================
SWELLレイアウトのリセット(旧 swell_meta_css)
CPTページのみに効くよう body クラスでスコープ
================================== */

.single-instructor .l-content,
.post-type-archive-instructor .l-content,
.single-studio .l-content {
	padding-top: 0em;
}

.single-instructor .l-mainContent__inner > .post_content,
.post-type-archive-instructor .l-mainContent__inner > .post_content,
.single-studio .l-mainContent__inner > .post_content {
	margin: 0em 0;
	padding: 0 var(--swl-pad_post_content, 0);
}

.single-instructor .post_content h1,
.post-type-archive-instructor .post_content h1,
.single-studio .post_content h1 {
	font-size: 64px;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: .08em;
	color: #E1CCCE;
}

.single-instructor .post_content h3,
.post-type-archive-instructor .post_content h3,
.single-studio .post_content h3 {
	font-size: 18px;
	margin: 3em 0 0em;
	position: unset;
}

.single-instructor .post_content h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)),
.post-type-archive-instructor .post_content h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)),
.single-studio .post_content h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
	padding: 0px;
}

.single-instructor .post_content h3:before,
.post-type-archive-instructor .post_content h3:before,
.single-studio .post_content h3:before {
	display: none;
}

@media (max-width: 767px) {

	.single-instructor .post_content h1,
	.post-type-archive-instructor .post_content h1,
	.single-studio .post_content h1 {
		font-size: 42px;
		font-weight: 400;
		line-height: 1.6;
		letter-spacing: .08em;
		color: #E1CCCE;
	}

}

/* ==================================
ページ表示アニメーション(旧 swell_meta_css)
================================== */

.page-fade{
	opacity: 0.1;
	filter: blur(2px);
}

.page-fade01{
	animation: pageFade .6s ease .1s forwards;
}

.page-fade02{
	animation: pageFade .6s ease .25s forwards;
}

.page-fade03{
	animation: pageFade .6s ease .4s forwards;
}

.page-fade04{
	animation: pageFade .6s ease .55s forwards;
}

.page-fade05{
	animation: pageFade .6s ease .7s forwards;
}

.page-fade06{
	animation: pageFade .6s ease .85s forwards;
}

@keyframes pageFade{

	from{
		opacity: 0.1;
		filter: blur(2px);
	}

	to{
		opacity: 1;
		filter: blur(0);
	}

}

.fade-up{
	opacity: 0.2;
	transform: translateY(15px);

	transition:
		opacity .4s ease,
		transform .4s ease;
}

.fade-up.is-show{
	opacity: 1;
	transform: translateY(0);
}

/* ==================================
INSTRUCTOR HEAD
================================== */

.instructor-head {
	padding: 120px 20px 100px;
	text-align: center;
}

.instructor-head__en {
	margin-bottom: 14px;

	font-size: 64px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: .08em;

	color: #E1CCCE;
}

.instructor-head__title {
	font-size: 16px;
	font-weight: 400;
	line-height: 1;

	color: #333;
}


@media (max-width: 767px){

	.instructor-head {
		padding: 60px 20px 60px;
	}

	.instructor-head__en {
		margin-bottom: 8px;

		font-size: 42px;
		letter-spacing: .05em;
	}

	.instructor-head__title {
		font-size: 13px;
	}

}

/* ==================================
INSTRUCTOR PROFILE
================================== */

.instructor-profile{
	max-width:1200px;
	margin:0 auto;
	padding:0px 20px 120px;
}

.instructor-profile__top{
	display:grid;
	grid-template-columns:520px 1fr;
	gap:48px;
	align-items:start;

	margin-bottom:60px;

	font-family:"Zen Kaku Gothic New",sans-serif;
}

.instructor-profile__image img{
	display:block;
	width:100%;
	height:auto;
}

.instructor-profile__name{
	margin-bottom:16px;

	font-size:28px;
	font-weight:500;
	line-height:1.2;

	color:#333;
}

.instructor-profile__catch{
	margin-bottom:20px;

	font-size:16px;
	line-height:1.8;

	color:#B37B86;
}

.instructor-profile__text p{
	margin-bottom:6px;

	font-size:14px;
	font-weight:400;
	line-height:2.2;
	color:#333;
}

.instructor-profile__history{
	margin-bottom:40px;

	font-size:14px;
	font-weight:400;
	line-height:2.2;
	color:#333;

	font-family:"Zen Kaku Gothic New",sans-serif;
}

.instructor-profile__text p:last-child{
	margin-bottom:0;
}

.instructor-profile__message{
	margin-bottom:50px;
	padding:32px;

	border:2px solid #D9B7BE;

	font-family:"Zen Kaku Gothic New",sans-serif;
}

.instructor-profile__message-title{
	display:inline-block;

	margin-bottom:12px;
	padding:8px 12px;

	background:#B37B86;

	font-size:16px;
	color:#fff;
}

.instructor-profile__message p{
	margin-bottom:12px;

	font-size:14px;
	font-weight:400;
	line-height:1.6;
	color:#333;
}

.instructor-profile__message p:last-child{
	margin-bottom:0;
}

.instructor-profile__career{
	padding:30px;

	background:#FAFAFA;

	font-family:"Zen Kaku Gothic New",sans-serif;
}

.instructor-profile__career-title{
	margin-bottom:16px;

	font-size:15px;
	font-weight:500;
	line-height:1.6;
}

.instructor-profile__career p{
	margin:0;

	font-size:14px;
	line-height:2;
	color:#333;
}

@media (max-width:1024px){

	.instructor-profile{
		padding:0px 20px 100px;
	}

	.instructor-profile__top{
		grid-template-columns:1fr;
		gap:40px;

		margin-bottom:50px;
	}

	.instructor-profile__image{
		max-width:450px;
		margin:0 auto;
	}

	.instructor-profile__name{
		text-align:center;
	}

	.instructor-profile__catch{
		text-align:center;
	}
}

@media (max-width:767px){

	.instructor-profile{
		padding:0px 20px 80px;
	}

	.instructor-profile__top{
		grid-template-columns:1fr;
		gap:30px;

		margin-bottom:50px;
	}

	.instructor-profile__image{
		max-width:320px;
		margin:0 auto;
	}

	.instructor-profile__name{
		font-size:32px;
		text-align:center;
	}

	.instructor-profile__catch{
		text-align:center;
		font-size:14px;
		margin-bottom:24px;
	}

	.instructor-profile__text p{
		font-size:13px;
		line-height:2;
	}

	.instructor-profile__message{
		padding:24px 20px;
		margin-bottom:30px;
	}

	.instructor-profile__message-title{
		font-size:11px;
		padding:6px 12px;
	}

	.instructor-profile__message p{
		font-size:13px;
		line-height:2;
	}

	.instructor-profile__career{
		padding:20px;
	}

	.instructor-profile__career-title{
		font-size:14px;
	}

	.instructor-profile__career p{
		font-size:13px;
		line-height:2;
	}
}

/* ==================================
INSTRUCTORS LIST(一覧ページ)
================================== */

.instructors-list{
	max-width:1200px;
	margin:0 auto;
	padding:0px 20px 120px;
}

.instructors-list__grid{
	display:grid;
	grid-template-columns:repeat(3, 1fr);
	column-gap:40px;
	row-gap:48px;
}

.instructor-card{
	text-align:center;
	font-family: "Zen Kaku Gothic New", sans-serif;
}

.instructor-card__image{
	display:block;
	margin-bottom:14px;

	overflow:hidden;
}

.instructor-card__image img{
	display:block;
	width:100%;
	height:auto;

	transition:.4s;
}

.instructor-card__image:hover img{
	transform:scale(1.03);
}

.instructor-card__label{
	display:inline-flex;
	align-items:center;
	justify-content:center;

	min-height:22px;
	padding:6px 16px;
	margin-bottom:12px;

	background:#B37B86;
	border-radius:999px;

	font-size:12px;
	line-height:1.4;
	color:#fff;
}

.instructor-card__name{
	margin:0;
}

.instructor-card__name a{
	font-size:24px;
	font-weight:500;
	line-height:1.4;

	color:#333;
	text-decoration:none;

	transition:.3s;
}

.instructor-card__name a:hover{
	color:#B37B86;
}

@media (max-width:767px){

	.instructors-list{
		padding:0px 20px 80px;
	}

	.instructors-list__grid{
		grid-template-columns:1fr;
		row-gap:30px;
	}

	.instructor-card{
		max-width:100%;
		margin:0 auto;
	}

	.instructor-card__image{
		margin-bottom:12px;
	}

	.instructor-card__label{
		font-size:11px;
		padding:4px 12px;
		margin-bottom:10px;
	}

	.instructor-card__name a{
		font-size:20px;
	}

}

/* ==================================
STUDIOS HEAD
================================== */

.studios-head {
	padding: 120px 20px 100px;
	text-align: center;
}

.studios-head__en {
	margin-bottom: 14px;

	font-size: 64px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: .08em;

	color: #E1CCCE;
}

.studios-head__title {
	font-size: 16px;
	font-weight: 400;
	line-height: 1;

	color: #333;
}


@media (max-width: 767px){

	.studios-head {
		padding: 60px 20px 60px;
	}

	.studios-head__en {
		margin-bottom: 8px;

		font-size: 42px;
		letter-spacing: .05em;
	}

	.studios-head__title {
		font-size: 13px;
	}

}

/* ==================================
STUDIO DETAIL
================================== */

.studio-detail{
	max-width:1200px;
	margin:0 auto;
	padding:0px 20px 120px;
}

.studio-detail__name{
	margin-bottom:40px;

	text-align:center;

	font-size:28px;
	font-weight:400;
	line-height:1.5;

	color:#B37B86;
}

.studio-detail__image{
	margin-bottom:60px;
}

.studio-detail__image img{
	display:block;
	width:100%;
	height:auto;

	border-radius:8px;
}

.studio-detail__row{
	display:grid;
	grid-template-columns:120px 1fr;

	gap:40px;

	padding:22px 0;

	border-bottom:1px solid #D9D9D9;
}

.studio-detail__label{
	font-family:"Zen Kaku Gothic New",sans-serif;
	font-size:14px;
	font-weight:500;
	color:#333;
}

.studio-detail__text{
	font-family:"Zen Kaku Gothic New",sans-serif;
	font-size:14px;
	line-height:2;
	color:#333;
}

.studio-detail__text p{
	margin-bottom:8px;
}

.studio-detail__text p:last-child{
	margin-bottom:0;
}


@media (max-width:767px){

	.studio-detail{
		padding:0px 20px 80px;
	}

	.studio-detail__name{
		font-size:20px;
		margin-bottom:20px;
	}

	.studio-detail__image{
		margin-bottom:40px;
	}

	.studio-detail__row{
		display:block;
		padding:18px 0;
	}

	.studio-detail__label{
		margin-bottom:10px;

		font-size:13px;
		font-weight:700;
	}

	.studio-detail__text{
		font-size:12px;
		line-height:2;
	}

}

/* ==================================
STUDIO GALLERY
================================== */

.studio-gallery{
	max-width:1200px;
	margin:0 auto;
	padding:100px 20px 60px;
}

.studio-gallery__head{
	text-align:center;
	margin-bottom:60px;
}

.studio-gallery__en{
	margin-bottom:10px;

	font-size:64px;
	font-weight:400;
	line-height:1;
	letter-spacing:.08em;

	color:#E1CCCE;
}

.studio-gallery__title{
	font-size:16px;
	font-weight:400;
	line-height:1.6;

	color:#333;
}

.studio-gallery-slider{
	position:relative;
	padding:0 20px;
}

.studio-gallery-slider .splide__track{
	overflow:hidden;
}

.studio-gallery-slider .splide__slide{
	border-radius:8px;
	overflow:hidden;
}

.studio-gallery-slider .splide__slide img{
	display:block;
	width:100%;
	height:auto;
	border-radius:8px;

	transition:.4s;
}

.studio-gallery-slider .splide__slide:hover img{
	transform:scale(1.03);
}

.splide__arrow{
	background:none !important;
	box-shadow:none !important;

	border-radius:0 !important;
	width:0 !important;
	height:0 !important;
}

.splide__arrow svg{
	display:none;
}

.studio-gallery .splide__arrow--prev{

	border-top:16px solid transparent;
	border-bottom:16px solid transparent;
	border-right:22px solid #B37B86;

	left:-40px;
}

.studio-gallery .splide__arrow--next{

	border-top:16px solid transparent;
	border-bottom:16px solid transparent;
	border-left:22px solid #B37B86;

	right:-40px;
}

.studio-gallery .splide__arrow:hover{
	opacity:.7;
}

.splide__arrow {
    background: none;
    top: 40%;
}

.studio-gallery .splide__arrow--prev{
	left:-40px;
}

.studio-gallery .splide__arrow--next{
	right:-40px;
}

.studio-gallery .splide__arrow:hover{
	opacity:.8 !important;
}

.studio-gallery .splide__pagination{
	position:static;
	margin-top:30px;
}

.studio-gallery .splide__pagination__page{
	width:10px;
	height:10px;

	background:#E1CCCE;
	opacity:1;
}

.studio-gallery .splide__pagination__page.is-active{
	background:#B37B86;
	transform:none;
}

@media (max-width:767px){

	.studio-gallery{
		padding:40px 12px;
	}

	.studio-gallery__head{
		margin-bottom:28px;
	}

	.studio-gallery__en{
		font-size:42px;
		margin-bottom:6px;
	}

	.studio-gallery__title{
		font-size:13px;
	}

	.studio-gallery .splide__arrow svg{
		width:16px;
		height:16px;
	}

	.studio-gallery .splide__arrow--prev{
		left:-12px;
	}

	.studio-gallery .splide__arrow--next{
		right:-12px;
	}

}

/* ==================================
STUDIO INSTRUCTOR(店舗ページの一覧)
================================== */

.studio-instructor{
	max-width:900px;
	margin:0 auto;
	padding:120px 20px;
}

.studio-instructor__head{
	text-align:center;
	margin-bottom:80px;
}

.studio-instructor__en{
	margin-bottom:10px;

	font-size:64px;
	font-weight:400;
	line-height:1;
	letter-spacing:.08em;

	color:#E1CCCE;
}

.studio-instructor__title{
	margin-bottom:50px;

	font-size:16px;
	font-weight:400;
	line-height:1;

	color:#333;
}

.studio-instructor__lead{
	font-size:18px;
	line-height:1.8;
	color:#333;
}

.studio-instructor__list{
	display:flex;
	flex-direction:column;
	gap:28px;
}

.studio-instructor-card{
	display:grid;
	grid-template-columns:280px 1fr;
	gap:30px;
	align-items:center;
	font-family:"Zen Kaku Gothic New",sans-serif;
}

.studio-instructor-card__image img{
	display:block;
	width:100%;
	height:auto;
}

.studio-instructor-card__name{
	line-height:2.4;
	color:#333;
}

.studio-instructor-card__message{
	margin-bottom:20px;

	font-size:16px;
	font-weight:400;
	line-height:2;
	color:#555;
}

.studio-instructor-card__btn{
	position:relative;

	display:inline-flex;
	align-items:center;
	justify-content:center;

	width:120px;
	height:32px;

	background:#B37B86;
	border-radius:999px;

	font-size:12px;
	font-weight:400;
	color:#fff;
	text-decoration:none;

	transition:.3s;
}

.studio-instructor-card__btn::after{
	content:"→";
	margin-left:8px;
	font-size:12px;
}

.studio-instructor-card__btn:hover{
	opacity:.8;
}

@media (max-width:767px){

	.studio-instructor{
		padding:80px 20px;
	}

	.studio-instructor__head{
		margin-bottom:50px;
	}

	.studio-instructor__en{
		font-size:42px;
	}

	.studio-instructor__title{
		margin-bottom:30px;
		font-size:13px;
	}

	.studio-instructor__lead{
		font-size:15px;
		line-height:1.8;
	}

	.studio-instructor-card{
		grid-template-columns:1fr;
		gap:20px;

		text-align:center;
	}

	.studio-instructor-card__image{
		max-width:100%;
		margin:0 auto;
	}

	.studio-instructor-card__name{
		font-size:17px;
		margin-bottom:12px;
	}

	.studio-instructor-card__message{
		font-size:13px;
		line-height:1.9;
		margin-bottom:16px;
	}

	.studio-instructor-card__btn{
		width:110px;
		height:30px;

		font-size:10px;

		margin:0 auto;
	}

}

/* ==================================
CTA(体験予約はこちらから)
================================== */

.bmp-cta {
	max-width: 1200px;
	margin: 0 auto;

	padding: 60px 20px;

	text-align: center;

	background: #fff;
	border-radius: 40px;
}

.bmp-cta__title {

	font-size: 32px;
	font-weight: 400;
	line-height: 1;
	color: #333;
}

.bmp-cta__text {
	margin-top: 36px;
	margin-bottom: 50px;

	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 2.2;
	color: #555;
}

.bmp-cta__line-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;

	width: 250px;
	height: 56px;

	background: #22C55E;
	border-radius: 999px;

	color: #fff;
	text-decoration: none;

	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: 15px;
	font-weight: 500;

	transition: 0.3s;
}

.bmp-cta__line-btn:hover {
	opacity: 0.85;
}

.bmp-cta__line-icon {
	width: 28px;
	height: 28px;
	display: block;
}

.bmp-cta__link {
	display: block;

	margin-top: 24px;

	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: 12px;
	font-weight: 400;

	color: #555;
	text-decoration: underline;
	text-underline-offset: 3px;
}

@media (max-width: 767px) {

	.bmp-cta {
		padding: 32px 20px;
		border-radius: 24px;
	}

	.bmp-cta__title {
		font-size: 24px;
		line-height: 1.4;
		margin-bottom: 20px;
	}

	.bmp-cta__text {
		font-size: 14px;
		line-height: 2.0;
		margin-top: 24px;
		margin-bottom: 24px;
	}

	.bmp-cta__line-btn {
		width: 200px;
		height: 48px;
		font-size: 14px;
	}

	.bmp-cta__line-icon {
		width: 18px;
		height: 18px;
	}

	.bmp-cta__link {
		margin-top: 14px;
	}

}
