@charset "UTF-8";

/* ページ上部へ戻る */

#return_top { display: none; }

.page-top {
	bottom: 120px;
}

.page-top a {
	color: #fff;
	background: var(--wp--preset--color--np-red);
}

a:visited { color: inherit; }

/* メディアとテキスト ブロック */

.wp-block-media-text { gap: 2em; }

.wp-block-media-text__content,
.wp-block-media-text > .wp-block-media-text__content { padding: 0; }

/* コンテンツ */

.center-box-ss {
	max-width: 760px;
	padding-bottom: 40px;
}

#contents { padding: 0 !important; }

@media screen and ( max-width: 640px ) {
	.alignfull {
		margin-right: -6.7%;
		margin-left: -6.7%;
	}
}

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

	.center-box-ss { padding-bottom: 80px; }
}


/** ----------------------------------------------------------
 * テキスト設定
---------------------------------------------------------- **/

.center-box-ss > p {
	line-height: 1.8;
}
.center-box-ss > p + p { margin-top: 0.5em; }

.wbf-noto-sans-jp-black {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 800;
  font-style: normal;
}

.gold-text {
	background: linear-gradient(135deg,  #e6cf98 0%,#f4e8cc 25%,#e6cf98 50%,#f4e8cc 75%,#f4e8cc 75%,#e6cf98 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	text-fill-color: transparent;
}

/* cssチェックリスト */

.checklist-css {
	list-style: none;
	/*margin-left: 0;*/
}

.checklist-css > li {
	line-height: 1.5;
	position: relative;
}

.checklist-css > li:not(:last-child) { margin-bottom: 0.8em; }

.checklist-css > li::before,
.checklist-css > li::after {
	content: '';
	display: inline-block;
}

.checklist-css > li::before {
	width: 1em;
	height: 1em;
	border: 1px solid;
	border-radius: 2px;
	background: #fff;
	margin: 0 0.5em 0 -1.5em;
	vertical-align: -0.1em;
}

.checklist-css > li::after {
	width: 1.25em;
	height: 0.5em;
	border-style: solid;
	border-width: 0 0 3px 3px;
	border-color: #b51018;
	border-radius: 1px;
	position: absolute;
	top: 0.3em;
	left: -1.3em;
	-ms-transform: rotate( -45deg );
	transform: rotate( -45deg );
}

/*  */

ol { list-style: decimal; }

/** ----------------------------------------------------------
 * レイアウト関連
---------------------------------------------------------- **/

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

	.mg-lr-05 {
		margin-right: -5%;
		margin-left: -5%;
	}
}

/* コンテンツセンター
----------------------------- */

.max-center {
	width: max-content;
	max-width: 100%;
	margin-right: auto;
	margin-left: auto;
}

/** ----------------------------------------------------------
 * パーツ関連
---------------------------------------------------------- **/


/* LP上部タイトル */

.header-h1 { line-height: 1.2; }



/* 申込みボタン */

.reserve-text {
	font-weight: 700;
}

.reserve-text mark {
	display: inline-block;
	padding: 0 0.5em;
	margin-right: 0.3em;
}

.book-btn {
	font-size: 0.8em;
	line-height: 1.2;
}

.book-btn a:hover {
	text-decoration: none;
	background: #b51018 !important;
}

.book-btn.entry-present-btn a:hover { background: #00b8dd !important; }

.book-btn .btn-read,
.book-btn .wbf-noto-sans-jp-black {
	display: block;
	position: relative;

}

.book-btn .btn-read { padding: 0 1em; }

.book-btn .btn-read::before,
.book-btn .btn-read::after {
	content: '';
	display: block;
	width: 2px;
	position: absolute;
	top: 0;
	bottom: 0;
	background: #fff;
}

.book-btn .btn-read::before {
	left: 0.5em;
	rotate: -15deg;
}

.book-btn .btn-read::after {
	right: 0.5em;
	rotate: 15deg;
}

.book-btn .wbf-noto-sans-jp-black {
	font-size: 1.8em;
	width: max-content;
	max-width: 100%;
	margin: 0 auto;
}

.book-btn .wbf-noto-sans-jp-black::before,
.book-btn .wbf-noto-sans-jp-black:after { content: ''; }

.book-btn .wbf-noto-sans-jp-black::before {
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-color: transparent transparent transparent #fff6ba;
	border-width: 0.35em 0.6em;
	position: absolute;
	top: 50%;
	left: calc( 100% - 0.25em );
	translate: -50% -50%;

}

.book-btn.to-form .wbf-noto-sans-jp-black::before {
	top: calc( 100% - 0.25em );
	left: calc( 100% - 0.6em);
	rotate: 90deg;
}

.book-btn.to-form-up .wbf-noto-sans-jp-black::before {
	top: 0.25em;
	left: calc( 100% - 0.6em);
	rotate: -90deg;
}

.book-btn .wbf-noto-sans-jp-black::after {
	display: inline-block;
	vertical-align: -0.2em;
	margin-left: 0.2em;
	border: 1px solid #fff6ba;
	width: 1.2em;
	height: 1.2em;
	border-radius: 50%;
}

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

	.book-btn { font-size:1em; }


}

/* 右下ボタン  */

.under-btn {
	position: fixed;
	right: 24px;
	bottom: 16px;
}

.under-btn .book-btn { font-size: 0.7rem; }

@keyframes hurueru {
	0%{ transform:rotate(0deg);}
	40%{ transform:rotate(0deg);}
	50%{ transform:rotate(2deg);}
	60%{ transform:rotate(-1deg);}
	70%{ transform:rotate(3deg);}
	80%{ transform:rotate(-2deg);}
	90%{ transform:rotate(0deg);}
	100%{ transform:rotate(0deg);}
}

.hover-action:hover {
	animation: hurueru 1.0s  infinite;
}


/** ----------------------------------------------------------
 * section01
---------------------------------------------------------- **/

.booktext-large { font-size: 1.45rem; }

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

	.booktext-large {
		font-size: 2.5rem !important;
		line-height: 1.4 !important;
	}
}

.copy-01 { margin: 40px 0; }

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

	.copy-01 p { font-size: 1.5em; }
}

/** ----------------------------------------------------------
 * section02
---------------------------------------------------------- **/

.book-present-box {
	position: relative;
	margin-top: 64px;
}

.book-present-circle {
	font-weight: 700;
	font-size: 0.9375em;
	letter-spacing: 0;
	width: 96px;
	height: 96px;
	border-radius: 50%;
	padding: 1em 0 0;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	align-content: center;
	gap: 0.3em;
	position: absolute;
	top: -3.5em;
	left: 50%;
	translate: -50% 0;
}

.book-present-circle > * {
	width: 100%;
	line-height: 1;
}

.book-present-circle p:last-child {
	font-family: Arial;
	font-size: 3.8em;
	line-height: 1;
}

/*.seminar-circle.book-present-circle p:last-child {
	font-size: 1.85em;
}*/

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

	.book-present-circle {
		font-size: 1.125em;
		width: 128px;
		height: 128px;
		top: -1em;
		left: -1em;
		translate: none;
	}

	.book-present-circle + h3 {
		font-size: 2.125em;
		padding-left: 2em;
	}
}

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

	.book-present-circle + h3 {
		font-size: 2em;
		padding-left: 1.2em;
	}
}

/** ----------------------------------------------------------
 * section03
---------------------------------------------------------- **/

.features-box.wp-block-media-text { gap: 1em; }

.features-title { margin-bottom: 1em; }

.features-num { font-size: 1.25em; }

.features-num mark {
	font-family: Arial;
	font-size: 1.5em;
	text-align: center;
	line-height: 1;
	display: inline-block;
	width: 1.25em;
	height: 1.25em;
	border-radius: 50%;
	border: 2px solid;
	padding-top: 0.125em;
	margin-left: 0.3em;
}

.features-title h3 { margin-top: 0.5em; }

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

	.features-box.wp-block-media-text { gap: 2em; }

	.features-num { font-size: 1.5em; }

	.features-title h3 {
		margin-top: 0.2em;
		font-size: 1.75em;
	}
}

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

	.features-box:not(.has-media-on-the-right) { margin-right: 3%; }

	.features-box.has-media-on-the-right { margin-left: 3%; }
}

/** -----------------------------------------------s-----------
 * Section04
---------------------------------------------------------- **/

.mokuji-box h3 {
	font-size: 1.125rem;
	width: 8em;
}

.mokuji-box h4 {
	font-size: 1.5em;
}

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

	.mokuji-box h4 {
		font-size: 1.75em;
	}
}

/** ----------------------------------------------------------
 * Section05
---------------------------------------------------------- **/

.present-first-colmun { position: relative; }

.present-first-colmun::before,
.present-first-colmun::after {
	content: '';
	display: block;
	position: absolute;
}

.present-first-colmun::before {
	width: 4px;
	top: 0;
	bottom: -29px;
	left: calc( 50% - 2px);
	background: #6c6253;
}

.present-first-colmun::after {
	width: 16px;
	height: 16px;
	border-style: solid;
	border-color: #6c6253;
	border-width: 0 0 4px 4px;
	bottom: -28px;
	left: 50%;
	rotate: -45deg;
	translate: -50% 0;
}

.present-square {
	font-size: 1em;
	line-height: 1;
	position: relative;
	aspect-ratio: 1 / 1;
}

.present-box .wp-block-column:nth-child(2) > p {
	font-size: 1.25em;
	font-weight: 700;
}

.present-box .wp-block-column:nth-child(2) > p br { display: none; }

.present-box .wp-block-column:nth-child(2) .book-btn .wbf-noto-sans-jp-black {font-size: 1.5em; }


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

	.present-box .wp-block-column:first-child { font-size: 1.5em }

	.present-box .wp-block-column:nth-child(2) > p {
		font-size: 1.6em;
	}

	.present-box .wp-block-column:nth-child(2) > p br { display: inline; }

	.present-box .wp-block-column:nth-child(2) .book-btn .wbf-noto-sans-jp-black {font-size: 2em; }
}

/** ----------------------------------------------------------
 * Section06
---------------------------------------------------------- **/

fieldset {
	padding: 0;
	border: none;
 }

 /* フォームタグ基本 */

 input[type="text"],
 input[type="email"],
 input[type="tel"],
 input[type="url"],
 input[type="search"],
 input[type="date"],
 input[type="number"],
 textarea,
 select {
	font-size: 0.9375rem;
	width: 100%;
	padding: 0.5em 1em;
	border: 1px solid #d4d4d7;
	border-radius: 3px;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	background: #fcfcfc;
	-moz-box-shadow: 1px 1px 2px #eee inset;
	-o-box-shadow: 1px 1px 2px #eee inset;
	-webkit-box-shadow: 1px 1px 2px #eee inset;
	box-shadow: 1px 1px 2px #eee inset;
 }

 textarea {
	height: auto;
	line-height: 1.5;
 }

input[type='submit'],
input[type='reset'],
input[type='button'] {
	line-height: 1.5;
	margin-top: 0.6em;
	padding: 0.3em 1em;
	position: relative;
	display: inline-block;
	border: 0;
	border-radius: 3px;
	box-shadow: 0 1px 1px rgba(0,0,0,0.5);
	-webkit-appearance: none;/*iPhoneへのボタン対策*/
}


input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover { text-decoration: none; }

input[type="submit"]:active,
input[type="reset"]:active,
input[type="button"]:active {
	top: 1px;
	box-shadow: 0 0 1px rgba(0,0,0,0.5);
}

input[disabled][type="submit"],
input[disabled][type="submit"]:hover,
input[disabled][type="submit"]:active {
	box-shadow: none;
	cursor: default;
}

/* 専用フォーム */

form[name="asumeru_form"] { margin-top: 0; }

.entry-formtable,
.entry-formtable td {
	border-style: none;
	border-bottom: none;
}

.entry-formtable th {
	text-align: left;
	font-weight: 700;
	background: none;
}

.entry-formtable th .require-amapla { color: #f00; }

.entry-formtable th,
.entry-formtable td { display: block; }

.entry-formtable td {
	padding: 0.5em 0 0.5em 1.5em;
}

.name-flex {
	display: -ms-flexbox;
	display: flex;
	gap: 0.3em;
	margin-left: -1.5em;
}

.name-flex + .name-flex { margin-top: 0.5em; }

.entry-name-td label { font-size: 0.875em; }

.entry-form-submit .entry-btn {
	color: #fff6ba;
	font-size: 1.25em;
	font-weight: 700;
	border: none;
	border-radius: 0.5em;
	background: linear-gradient(0deg,#a93328 0%,#e37a03 100%);
	padding: 0.5em 1.5em;
	box-shadow: 0 1px 3px rgba( 0,0,0,0.3 );
	position: relative;
}

.entry-form-submit .entry-btn:hover { background: #e37a03; }

.entry-form-submit .entry-btn:active { top: 1px; }


.entry-form-submit .entry-btn::before,
.entry-form-submit .entry-btn:after { content: ''; }

.entry-form-submit .entry-btn::before {
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-color: transparent transparent transparent #fff6ba;
	border-width: 0.35em 0.6em;
	position: absolute;
	top: 50%;
	left: calc( 50% + 2.45em );
	translate: -50% -50%;

}

.entry-form-submit .entry-btn::after {
	display: inline-block;
	vertical-align: -0.2em;
	margin-left: 0.2em;
	border: 1px solid #fff6ba;
	width: 1.2em;
	height: 1.2em;
	border-radius: 50%;
}

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

	.entry-formtable th,
	.entry-formtable td { display: table-cell; }

	.entry-formtable th {
		width: 10em;
		border: none;
	}
}

/** ----------------------------------------------------------
 * xxxx
---------------------------------------------------------- **/

.QandA-box.vk_faq {
	border-bottom: none;
	padding: 1em 3%;
	background: #fff;
	box-shadow: 2px 2px 4px rgba( 0,0,0,0.3 );
}

.QandA-box.vk_faq { margin-top: 32px; }

.vk_faq .vk_faq_title { font-size: 1.125em; }

.vk_faq .vk_faq_title::before,
.vk_faq .vk_faq_content::before {
	font-weight: 700;
	border: 3px solid;
	border-radius: 4px;
}

.vk_faq .vk_faq_title::before {
  content: "Q";
  color: #b13c40;
}

.vk_faq .vk_faq_content::before {
  content: "A";
  color: #08318e;
}

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

	.vk_faq .vk_faq_title,
	.vk_faq .vk_faq_content {
		/*font-size: 1.125em;*/
		padding-left: 4rem;
	}

	.vk_faq .vk_faq_title::before,
	.vk_faq .vk_faq_content::before {
		font-size: 2.2rem;
		line-height: 2.8rem;
		width: 3rem;
		height: 3rem;
	}

	/*.vk_faq .vk_faq_title { font-size: 1.25em; }*/
}

/*.vk_faq .vk_faq_title::before {
  position: absolute;
  left: 0;
  top: .7rem;
  font-size: 22px;
  line-height: 105%;
  width: 2.1rem;
  height: 2.1rem;
  line-height: 2.1rem;
  text-align: center;
  position: absolute;
  font-family: "Arial",sans-serif;
}*/


/*.vk_faq .vk_faq_content::before {
  position: absolute;
  left: 0;
  top: .7rem;
  font-size: 22px;
  line-height: 105%;
  width: 2.1rem;
  height: 2.1rem;
  line-height: 2.1rem;
  text-align: center;
  position: absolute;
  font-family: "Arial",sans-serif;
}*/

