
/*------------------------
main　パンくず
------------------------*/
main {
	position: relative;
	padding: 0;
}

#breadcrumb {
	position: absolute;
	left: 0;
	z-index: 10;
	width: 100%;
	margin: 0;
}

/* PC・タブレット */
@media screen and (min-width:768px) {
	#breadcrumb {
		top: 100px;
		padding: 0 40px;
	}
}

/* SP */
@media screen and (max-width:767px) {
	#breadcrumb {
		top: 0;
		padding:calc(51px + 4vw) 5.33vw 0;
	}
}

/*-----------------
INOS PAGE
----------------*/
.inos-page {
	position: relative;
}


/*-----------------
INOS KV
----------------*/
.inos-kv {
	position: sticky;
	top: 0;
	z-index: 1;

	width: 100%;
	height: 100svh;
	overflow: hidden;
	background: #000;
}

.inos-kv__image {
	position: absolute;
	inset: 0;
}

.inos-kv__image::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, .2);
}

.inos-kv__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.inos-kv__title {
    position: absolute;
    z-index: 2;
    width: 100%;
    text-align: center;
    color: #fff;
}

.inos-kv__title h1 {
	margin: 0;
}

.inos-kv__title h1 img {
	display: block;
	height: auto;
}
/* PC・タブレット */
@media screen and (min-width:768px) {
	.inos-kv__title {
    top: 46%;
    left: 6.75%;
    transform: translateY(-50%);
}
	.inos-kv__title h1 img {
		width: 24%;
		min-width: 330px;
		max-width: 660px;
	}
}

/* SP */
@media screen and (max-width:767px) {
	.inos-kv__title {
    top: 17%;
		left: 0;
    z-index: 2;
    width: 100%;
    text-align: center;
}
	.inos-kv__title h1 img {
		width:59vw;
		margin: 0 auto;
	}
	.inos-kv__image {
		top: 12vw;
		height: 100%;
	}
}


/*-----------------
CONTENTS
----------------*/
.page-contents {
	position: relative;
	z-index: 2;
  background: transparent;
}
@media screen and (min-width:768px) {
	.page-contents {
		padding-top: 100px;
		border-radius: 60px 60px 0 0;
	}
}
@media screen and (max-width:767px) {
}

/*背景blur*/
.blur-wrap{
	position: relative;
	z-index: 2;
	background: rgba(21, 12, 12, 0.75);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
}
/*------------------------
セクションタイトル・リード
------------------------*/
.sec-head{
	text-align: center;
	letter-spacing: 0.1em;
}
.sec-lead{
	text-align: center;
}
@media screen and (min-width:768px) {
	.sec-head{
	font-size: 30px;
	margin-bottom:35px;
	}
	.sec-lead{
	font-size:16px;
	margin-bottom: 35px;
	line-height: 1.93;
	}
}
@media screen and (max-width:767px) {
	.sec-head{
	font-size:6.4vw;
	margin-bottom:9.33vw;
	}

}
/*------------------------
PC・タブレット
768px以上
------------------------*/

	.intro__text {
		margin: 0 auto;
		line-height: 2.2;
		letter-spacing: .1em;
		text-align: center;
	}

@media screen and (min-width:768px) {

	.intro {
		padding: 100px 0 110px;
		text-align: center;
	}

	.intro .logo {
		width: 280px;
		margin: 0 auto 30px;
	}

	.intro .logo img {
		display: block;
		width: 100%;
		height: auto;
	}

	.intro__text {
		max-width: 760px;
		font-size: 16px;
	}

}


/*------------------------
SP：375px基準
------------------------*/
@media screen and (max-width:767px) {

	.intro {
		padding: 18.67vw 5.33vw 17.33vw;
		text-align: center;
	}

	.intro .logo {
		width: 42.67vw;
		margin: 0 auto 8vw;
	}

	.intro .logo img {
		display: block;
		width: 100%;
		height: auto;
	}

	.intro__text {
		line-height: 2;
		text-align: center;
	}
}
/*-----------------
INTRO / FEE
----------------*/
.intro__fee {
	margin-right: auto;
	margin-left: auto;
	border: 1px solid rgba(255, 255, 255, .35);
}

.intro__fee-label {
	margin: 0;
	text-align: center;
	font-weight: 400;
	letter-spacing: .12em;
	border-bottom: 1px solid rgba(255, 255, 255, .35);
	background: rgba(255, 255, 255, .1);
}

.intro__fee-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;
}

.intro__fee-row + .intro__fee-row {
	border-top: 1px solid rgba(255, 255, 255, .2);
}

.intro__fee-row .label {
	text-align: left;
}

.intro__fee-row .price {
	text-align: right;
	letter-spacing: .04em;
}


/*------------------------
PC・タブレット
768px以上
------------------------*/
@media screen and (min-width:768px) {

	.intro__fee {
		width: 420px;
		margin-top: 55px;
	}

	.intro__fee-label {
		padding: 10px 20px;
		font-size: 18px;
		background: rgba(255, 255, 255, .1);
	}

	.intro__fee-row {
		padding: 16px 24px;
		font-size: 16px;
	}

}


/*------------------------
SP：375px基準
------------------------*/
@media screen and (max-width:767px) {

	.intro__fee {
		width: 78.67vw;
		margin-top: 10.67vw;
	}

	.intro__fee-label {
		padding: 2.67vw 5.33vw;
	}

	.intro__fee-row {
		padding:3.47vw 5.33vw;
		font-size: 4vw;
	}

}
/*------------------------
会員特典 / common
------------------------*/
.benefits .list-wrap h3 {
	text-align: center;
}

.benefits .list-wrap p {
	text-align: center;
	line-height: 2;
}

.benefits .list-wrap .en {
	line-height: 1;
	text-align: center;
	letter-spacing: .18em;
	color: rgba(255, 255, 255, .55);
}

.benefits .list-wrap .note {
	display: block;
	text-align: center;
}

.benefits .list-wrap .block {
	position: relative;
}

.benefits .list-wrap h3 {
	margin: 0;
}

.benefits .list-wrap p {
	margin: 0;
}


/*------------------------
PC・タブレット
768px以上
------------------------*/
@media screen and (min-width:768px) {

	.benefits {
		min-width: 1200px;
		padding: 0 0 50px 40px;
	}

	.benefits .list-wrap {
		display: grid;
		grid-template-columns: repeat(4, 1fr);

	}

	.benefits .list-wrap .block {
		min-height: 350px;
		padding: 38px 28px;
		border-right: 1px solid rgba(255, 255, 255, .18);
		border-top: 1px solid rgba(255, 255, 255, .25);
		border-bottom: 1px solid rgba(255, 255, 255, .25);
	}

	.benefits .list-wrap .block:first-child {
		border-left: 1px solid rgba(255, 255, 255, .18);
	}

	.benefits .list-wrap .en {
		margin-bottom: 22px;
		font-size: 16px;
	}

	.benefits .list-wrap h3 {
		display: flex;
		align-items: center;
		justify-content: center;
		min-height: 3.25em;
		margin-bottom: 28px;
		font-size: 22px;
	}

	.benefits .list-wrap .note {
		margin-top: 22px;
		font-size: 13px;
	}
	.benefits .list-wrap .block:nth-child(1) {
		transition-delay: .3s;
	}

	.benefits .list-wrap .block:nth-child(2) {
		transition-delay: .4s;
	}

	.benefits .list-wrap .block:nth-child(3) {
		transition-delay: .5s;
	}

	.benefits .list-wrap .block:nth-child(4) {
		transition-delay: .6s;
	}

}


/*------------------------
SP
375px基準
------------------------*/
@media screen and (max-width:767px) {

	.benefits {
		padding: 0 5.33vw 21.33vw;
	}

	.benefits .sec-head {
		margin-bottom: 8vw;
    }
	.benefits .sec-lead {
		margin-bottom: 10.67vw;
		font-size: 3.73vw;
		line-height: 2;
	}

	.benefits .list-wrap {
		border-top: 1px solid rgba(255, 255, 255, .25);
	}

	.benefits .list-wrap .block {
		padding: 10.67vw 5.33vw;
		border-bottom: 1px solid rgba(255, 255, 255, .25);
	}

	.benefits .list-wrap .en {
		margin-bottom: 5.33vw;
		font-size: 3.2vw;
	}

	.benefits .list-wrap h3 {
		margin-bottom: 4.8vw;
		font-size:5.33vw;
		letter-spacing: 0.1em;
		line-height: 1.6;
	}

	.benefits .list-wrap p {
		font-size: 3.73vw;
		line-height: 2;
	}

	.benefits .list-wrap .note {
		margin-top: 4vw;
		font-size: 2.93vw;
		line-height: 1.8;
	}

}
/*------------------------
申込み方法 / common
------------------------*/
.howto {
	position: relative;
	background: #f7f5f0;
	color: var(--bgblack);
}

.howto .sec-head {
	text-align: center;
}

.howto .step-area {
	position: relative;
}

.howto .block {
	position: relative;
	border: 1px solid rgba(0, 0, 0, .42);
	background: #f7f5f0;
	text-align: center;
}

.howto .num {
	position: absolute;
	z-index: 3;
	top: 0;
	left: 50%;
	display: inline-flex;
	align-items: center;
	line-height: 1;
	background: #f7f5f0;
	transform: translate(-50%, -50%);
}

.howto .icon {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: auto;
	margin-left: auto;
	border: 1px solid rgba(0, 0, 0, .25);
	border-radius: 50%;
	background: rgba(0, 0, 0, .035);
}

.howto .icon img {
	display: block;
	width: 50%;
	height: 50%;
	object-fit: contain;
}

.howto .text-area h3 {
	margin: 0;
	line-height: 1.6;
	letter-spacing: .05em;
}

.howto .text-area p {
	margin: 0;
	line-height: 2;
	letter-spacing: .04em;
}

.howto .note {
	display: block;
	line-height: 1.8;
}

.howto .note a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 3px;
}


/*------------------------
申込み方法 / PC・タブレット
768px以上
------------------------*/
@media screen and (min-width:768px) {

	.howto {
		padding: 120px 0 140px;
	}

	.howto .step-area {
		display: grid;
		grid-template-columns: repeat(4, 1fr);
		gap: 54px;
		margin-top: 45px;
	}

	.howto .block {
		min-width: 0;
		min-height: 360px;
		padding: 58px 28px 42px;
	}

	.howto .num {
		padding: 0 10px;
		font-size: 50px;
	}

	.howto .block:not(:last-child)::after {
		content: "→";
		position: absolute;
		z-index: 4;
		top: 50%;
		right: -41px;
		width: 28px;
		font-family: serif;
		font-size: 20px;
		font-weight: 400;
		line-height: 1;
		text-align: center;
		color: rgba(0, 0, 0, .55);
		transform: translateY(-50%);
	}

	.howto .icon {
		width: 86px;
		height: 86px;
		margin-bottom: 18px;
	}

	.howto .text-area h3 {
		margin-bottom: 20px;
		font-size: 19px;
	}

	.howto .note {
		margin-top: 10px;
		font-size: 12px;
	}
		.howto .step-area .block:nth-child(1) {
		transition-delay: .3s;
	}

	.howto .step-area .block:nth-child(2) {
		transition-delay: .4s;
	}

	.howto .step-area .block:nth-child(3) {
		transition-delay: .5s;
	}

	.howto .step-area .block:nth-child(4) {
		transition-delay: .6s;
	}

}


/*------------------------
申込み方法 / SP
375px基準
------------------------*/
@media screen and (max-width:767px) {

	.howto {
		padding:18.66vw 5.333vw 17.33vw
	}

	.howto .step-area {
		display: flex;
		flex-direction: column;
		gap: 12vw;
		margin: 0 3.2vw;
	}

	.howto .block {
		padding:9.6vw 6.0vw 9.6vw;
	}

	.howto .num {
		left: 5.33vw;
		padding: 0 2.67vw;
		font-size: 10.12vw;
		transform: translateY(-50%);
		line-height: 1;
		top: -1.3vw;
	}

	.howto .block:not(:last-child)::after {
		content: "↓";
		position: absolute;
		left: 50%;
		bottom: -8.8vw;
		font-family: serif;
		font-size: 4.27vw;
		line-height: 1;
		color: rgba(0, 0, 0, .55);
		transform: translateX(-50%);
	}

	.howto .icon {
		width: 18.67vw;
		height: 18.67vw;
		margin-bottom: 5.33vw;
	}

	.howto .text-area h3 {
		margin-bottom: 2.67vw;
		font-size: 4.8vw;
	}

	.howto .text-area p {
		font-size: 3.47vw;
		line-height: 1.75;
	}

	.howto .note {
		margin-top: 2.67vw;
		font-size: 2.93vw;
	}

}


/*------------------------
注意事項 / common
------------------------*/
.sec-notice {
	color: var(--bgblack);
	background: #fff;
}

.sec-notice .sec-head {
	text-align: center;
}

.sec-notice .text-area {
	margin-right: auto;
	margin-left: auto;
}

.sec-notice .list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.sec-notice .list li {
	position: relative;
	padding-left: 1.4em;
	line-height: 2;
}

.sec-notice .list li::before {
	content: "・";
	position: absolute;
	top: 0;
	left: 0;
}

.sec-notice .list li + li {
	margin-top: .75em;
}


/*------------------------
注意事項 / PC・タブレット
768px以上
------------------------*/
@media screen and (min-width:768px) {

	.sec-notice {
		padding: 120px 0 140px;
	}

	.sec-notice .text-area {
		width: 1000px;
	}

	.sec-notice .list {
		font-size: 16px;
	}

}


/*------------------------
注意事項 / SP
375px基準
------------------------*/
@media screen and (max-width:767px) {

	.sec-notice {
		padding:18.66vw 5.333vw 17.33vw
	}
	.sec-notice .text-area {
		width: 100%;
	}

	.sec-notice .list {
		font-size: 3.73vw;
	}

	.sec-notice .list li {
		padding-left: 1.3em;
		line-height: 1.9;
	}

	.sec-notice .list li + li {
		margin-top: 4vw;
	}

}

/*------------------------
お問い合わせ
------------------------*/
#entry-wrapper{
	background: var(--bgblack);
}
.entry-inner {
	margin-right: auto;
	margin-left: auto;
}
#entry-wrapper .sec-head:after{
	content: '';
	display: block;
	background: var(--red);
}

@media screen and (min-width:768px) {
	#entry-wrapper{
		padding: 100px 0 140px;
	}
	.entry-inner {
		width: calc(100% - 80px);
		max-width: 1000px;
	}
	#entry-wrapper .sec-head:after{
		width: 56px;
		height: 1px;
		margin: 16px auto 0;
	}
	#entry-wrapper .sec-head{
		font-size: 36px;
	}
}
/* SP */
@media screen and (max-width:767px) {
	#entry-wrapper{
		padding:18.66vw 5.333vw 17.33vw;
	}
	#entry-wrapper .sec-head:after{
		width:7.47vw;
		height: 1px;
		margin:4.27vw auto 0
	}
}

/*========================================
	FC FORM 追加スタイル
========================================*/
.contact-form input::placeholder,
.contact-form textarea::placeholder {
	color: #4e4e4e;
	opacity: 1;
}
/* 必須 */
.contact-form .required {
	margin-left: .35em;
	color: var(--red);
	font-size: .8em;
}

/* 小さい補足文字 */
.contact-form .form-head .mini {
	font-size: .8em;
}

/*------------------------
	生年月日
------------------------*/
.contact-form .birth-date {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
}

.contact-form .birth-date__item {
	display: flex;
	align-items: center;
	flex-shrink: 0;
	white-space: nowrap;
}

.contact-form .birth-date__item .wpcf7-form-control-wrap {
	display: block;
}

/*------------------------
	性別
------------------------*/
.contact-form .gender .wpcf7-form-control {
	display: flex;
	align-items: center;
}

.contact-form .gender .wpcf7-list-item {
	margin: 0;
}

.contact-form .gender label {
	display: inline-flex;
	align-items: center;
	cursor: pointer;
}
/*------------------------
〒
------------------------*/
.contact-form input[name="postal-code"] {
	width: 8em;
}

/*------------------------
	補足
------------------------*/
.contact-form .form-note {
	line-height: 1.7;
}

.contact-form .form-note--bold {
	font-weight: 700;
}

/* メール確認欄 */
.contact-form .mail-confirm {
}


/*========================================
	PC
========================================*/
@media screen and (min-width:768px) {

	.contact-form input[name="ename"],
	.contact-form input[name="fc_furigana"]	{
				width: 50em;
	}

	/* 生年月日 */
	.contact-form .birth-date {
		gap: 20px;
	}

	.contact-form .birth-date__item {
		gap: 8px;
	}

	.contact-form .birth-date__item:nth-child(1) .wpcf7-form-control-wrap {
		width: 120px;
	}

	.contact-form .birth-date__item:nth-child(2) .wpcf7-form-control-wrap,
	.contact-form .birth-date__item:nth-child(3) .wpcf7-form-control-wrap {
		width: 90px;
	}

	/* 性別 */
	.contact-form .gender .wpcf7-form-control {
		gap: 35px;
	}

	.contact-form .gender label {
		gap: 6px;
	}


	/* 補足 */
	.contact-form .form-note {
		margin-top: 8px;
		font-size: 13px;
	}

	.contact-form .form-note + .form-note {
		margin-top: 3px;
	}

	.contact-form input[name="tel"]{
				width: 25em;
		
	}


	/* メール確認 */
	.contact-form .mail-confirm {
		margin-top: 20px;
	}

	.contact-form input[name="fc_mail_address"],
	.contact-form input[name="fc_confirm_value"]	{
		width: 40em;
	}


}


/*========================================
	SP
========================================*/
@media screen and (max-width:767px) {

	/* 生年月日 */
	.contact-form .birth-date {
		gap: 2.67vw;
	}

	.contact-form .birth-date__item {
		gap: 1.6vw;
	}

	.contact-form .birth-date__item:nth-child(1) .wpcf7-form-control-wrap {
		width: 24vw;
	}

	.contact-form .birth-date__item:nth-child(2) .wpcf7-form-control-wrap,
	.contact-form .birth-date__item:nth-child(3) .wpcf7-form-control-wrap {
		width: 18.67vw;
	}

	/* 生年月日だけselectの左右paddingを少し詰める */
	.contact-form .birth-date select {
		padding-left: 2.67vw;
		padding-right: 2.67vw;
	}

	/* 性別 */
	.contact-form .gender .wpcf7-form-control {
		gap: 8vw;
	}

	.contact-form .gender label {
		gap: 1.6vw;
	}

	/* 郵便番号 */
	.contact-form input.w40 {
		width: 55%;
	}

	/* 補足 */
	.contact-form .form-note {
		margin-top: 2.13vw;
		font-size: 3.2vw;
	}

	.contact-form .form-note + .form-note {
		margin-top: .8vw;
	}

	/* メール確認 */
	.contact-form .mail-confirm {
		margin-top: 5.33vw;
	}

}