@charset "UTF-8";
/* CSS Document */

/*
全ページ共通
WordPress専用CSS
*/

* {
	margin: 0;
	padding: 0;
}

body {
	margin: 0;
	padding: 0;
	color: #1F3661;
	background: #fff;
	font-family: "Zen Kaku Gothic New", sans-serif;
}

img {
	vertical-align: bottom;
	max-width: 100%;
}

h1,
h2,
h3,
h4,
h5 {}

p {
	color: #1F3661;
	font-family: "Zen Kaku Gothic New", sans-serif;
}

font,
span {}

a {
	text-decoration: none;
	font-family: "Zen Kaku Gothic New", sans-serif;
}

/*Googleフォント*/
.zen-kaku-gothic-new {
	font-family: "Zen Kaku Gothic New", sans-serif;
}

.dancing-script {
	font-family: "Dancing Script", cursive;
}

.kosugi-maru {
	font-family: "Kosugi Maru", sans-serif;
}

.playwrite-ca {
	font-family: "Playwrite CA", cursive;
}

.kaisei-opti {
	font-family: "Kaisei Opti", serif;
}

.klee-one {
	font-family: "Klee One", cursive;
}

.poppins {
	font-family: "Poppins", sans-serif;
}

/*
共通
*/
/*PC*/
@media only screen and (min-width: 1025px) {
	.pc {
		display: block;
	}

	.smp {
		display: none !important;
	}

	p {
		font-size: 16px;
		font-weight: 400;
		letter-spacing: 1px;
		line-height: 30px;
		text-align: left;
	}

	/*電話番号をクリックしても自動発信しない*/
	a[href*="tel:"] {
		pointer-events: none;
		cursor: default;
		text-decoration: none;
	}

	main {
		position: relative;
		width: 100%;
		height: auto;
		padding: 170px 0 0 0;
		overflow: hidden;
	}

}

/*SMP*/
@media only screen and (max-width: 1024px) {
	.pc {
		display: none !important;
	}

	.smp {
		display: block;
	}

	p {
		font-size: 15px;
		font-weight: 400;
		letter-spacing: 1px;
		line-height: 26px;
		text-align: left;
	}

	main {
		position: relative;
		width: 100%;
		height: auto;
		padding: 157px 0 0 0;
		overflow: hidden;
	}

}

/*
メインビジュアル
*/
/*PC*/
@media only screen and (min-width: 1025px) {

	/*テキストのみ*/
	.text_mv {
		position: relative;
		width: 100%;
		height: auto;
	}

	.text_mv h1 {
		font-size: 60px;
		font-family: "Poppins", sans-serif;
		font-weight: 500;
		letter-spacing: 4px;
		line-height: 60px;
		text-align: center;
		color: #4C639E;
	}

	.text_mv h1 font {
		display: table;
		position: relative;
		margin: 0 auto 20px auto;
		padding: 0 20px 0 20px;
		font-size: 14px;
		font-family: "Zen Kaku Gothic New", sans-serif;
		font-weight: 700;
		letter-spacing: 1px;
		line-height: 14px;
		text-align: center;
	}

	.text_mv h1 font::before,
	.text_mv h1 font::after {
		content: "";
		position: absolute;
		top: 50%;
		transform: translateY(-50%) translateX(0);
		width: 15px;
		height: 15px;
		background-image: url(/wp-content/themes/cf_theme/images/post/star.png);
		background-size: 100% 100%;
		background-repeat: no-repeat;
		background-position: center;
	}

	.text_mv h1 font::before {
		left: 0;
	}

	.text_mv h1 font::after {
		right: 0;
	}

	.text_mv h1 small {
		position: relative;
		margin-left: 20px;
		font-size: 40px;
		font-family: "Poppins", sans-serif;
		font-weight: 500;
		letter-spacing: 2px;
		line-height: 40px;
	}

	/*画像あり*/


}

/*SMP*/
@media only screen and (max-width: 1024px) {

	/*メインビジュアル_テキストのみ */
	.text_mv {
		position: relative;
		width: 100%;
		height: auto;
	}

	.text_mv h1 {
		font-size: 40px;
		font-family: "Poppins", sans-serif;
		font-weight: 500;
		letter-spacing: 1.5px;
		line-height: 40px;
		text-align: center;
		color: #4C639E;
	}

	.text_mv h1 font {
		display: table;
		position: relative;
		margin: 0 auto 10px auto;
		padding: 0 18px 0 18px;
		font-size: 13px;
		font-family: "Zen Kaku Gothic New", sans-serif;
		font-weight: 700;
		letter-spacing: 0.5px;
		line-height: 13px;
		text-align: center;
	}

	.text_mv h1 font::before,
	.text_mv h1 font::after {
		content: "";
		position: absolute;
		top: 50%;
		transform: translateY(-50%) translateX(0);
		width: 12px;
		height: 12px;
		background-image: url(/wp-content/themes/cf_theme/images/post/star.png);
		background-size: 100% 100%;
		background-repeat: no-repeat;
		background-position: center;
	}

	.text_mv h1 font::before {
		left: 0;
	}

	.text_mv h1 font::after {
		right: 0;
	}

	.text_mv h1 small {
		position: relative;
		margin-left: 10px;
		font-size: 30px;
		font-family: "Poppins", sans-serif;
		font-weight: 500;
		letter-spacing: 1px;
		line-height: 30px;
	}

	/*画像あり*/

}

/*ボタン*/
/*PC*/
@media only screen and (min-width: 1025px) {

	/*背景白ボタン*/
	.common_btn {
		display: block;
		position: relative;
		height: auto;
		padding: 25px 10px 25px 0;
		font-size: 16px;
		font-family: "Zen Kaku Gothic New", sans-serif;
		font-weight: 500;
		letter-spacing: 1px;
		line-height: 16px;
		text-align: center;
		color: #1F3661;
		background: #fff;
		border: solid 2px #1F3661;
		border-radius: 100px;
		box-sizing: border-box;
		transition: 0.4s;
	}

	.common_btn::after {
		content: "";
		position: absolute;
		top: 50%;
		right: 80px;
		transform: translateY(-50%) translateX(0);
		width: 17px;
		height: 11px;
		background-image: url(/wp-content/themes/cf_theme/images/post/right_blue.png);
		background-size: 100% 100%;
		background-repeat: no-repeat;
		background-position: center;
		transition: 0.4s;
	}

	.common_btn:hover {
		color: #fff;
		background: #364D78;
		border: solid 2px #364D78;
	}

	.common_btn:hover::after {
		background-image: url(/wp-content/themes/cf_theme/images/post/right_white.png);
	}

}

/*SMP*/
@media only screen and (max-width: 1024px) {

	/*背景白ボタン*/
	.common_btn {
		display: block;
		position: relative;
		height: auto;
		padding: 18px 15px 18px 0;
		font-size: 15px;
		font-family: "Zen Kaku Gothic New", sans-serif;
		font-weight: 500;
		letter-spacing: 1px;
		line-height: 15px;
		text-align: center;
		color: #1F3661;
		background: #fff;
		border: solid 2px #1F3661;
		border-radius: 100px;
		box-sizing: border-box;
	}

	.common_btn::after {
		content: "";
		position: absolute;
		top: 50%;
		right: 50px;
		transform: translateY(-50%) translateX(0);
		width: 16px;
		height: 10px;
		background-image: url(/wp-content/themes/cf_theme/images/post/right_blue.png);
		background-size: 100% 100%;
		background-repeat: no-repeat;
		background-position: center;
	}

}

/*KV*/
/*キービジュアル*/
@media only screen and (min-width: 1025px) {
	.kv {
		width: 72.6666666667%;
		margin: 0 0 0 auto;
		position: relative;
	}

	.kv::before {
		content: "";
		display: block;
		width: 1000%;
		height: 323px;
		background-color: #364d78;
		position: absolute;
		top: 233px;
		right: 110px;
		z-index: -1;
	}

	.kv .image {
		width: 100%;
		height: 496px;
		border-radius: 60px 0 0 60px;
		overflow: hidden;
	}

	.kv .image img {
		width: 100%;
		height: 100%;
		-o-object-fit: cover;
		object-fit: cover;
	}

	.kv .texts {
		width: -moz-min-content;
		width: min-content;
		padding: 36px 54px 46px 46px;
		border-radius: 5px;
		background-color: #4c639e;
		position: absolute;
		top: 148px;
		left: -251px;
		z-index: 1;
	}

	.kv .texts::before {
		content: "";
		display: block;
		width: 100%;
		height: 100%;
		border-radius: 5px;
		background-color: #fff;
		position: absolute;
		bottom: 4px;
		right: 4px;
		z-index: -1;
	}

	.kv .texts h1 small {
		display: grid;
		grid-template-columns: 15px min-content;
		-moz-column-gap: 10px;
		column-gap: 10px;
		align-items: center;
		margin-bottom: 5px;
		font-family: "Poppins", sans-serif;
		font-size: 14px;
		font-weight: 500;
		line-height: 20px;
		letter-spacing: 0.98px;
		text-align: left;
		color: #4c639e;
		white-space: nowrap;
	}

	.kv .texts h1 small img {
		width: 100%;
	}

	.kv .texts h1 strong {
		font-family: "Zen Kaku Gothic New", sans-serif;
		font-size: 36px;
		font-weight: bold;
		line-height: 1.28;
		letter-spacing: 2.88px;
		text-align: left;
		color: #4c639e;
		white-space: nowrap;
	}
}

@media only screen and (max-width: 1024px) {
	.kv {
		width: 88.75%;
		margin: 0 0 0 auto;
		position: relative;
	}

	.kv::before {
		content: "";
		display: block;
		width: 1000%;
		height: 116.5px;
		background-color: #364d78;
		position: absolute;
		top: 222px;
		right: 0;
		z-index: -1;
	}

	.kv .image {
		width: 100%;
		height: 237px;
		border-radius: 30px 0 0 30px;
		overflow: hidden;
	}

	.kv .image img {
		width: 100%;
		height: 100%;
		-o-object-fit: cover;
		object-fit: cover;
	}

	.kv .texts {
		width: -moz-min-content;
		width: min-content;
		padding: 20px 30px 26px 25px;
		border-radius: 2.5px;
		background-color: #4c639e;
		position: absolute;
		top: 192px;
		left: -20px;
		z-index: 1;
	}

	.kv .texts::before {
		content: "";
		display: block;
		width: calc(100% - 5px);
		height: calc(100% - 5px);
		border-radius: 2.5px;
		background-color: #fff;
		position: absolute;
		top: 0;
		left: 0;
		z-index: -1;
	}

	.kv .texts h1 small {
		display: grid;
		grid-template-columns: 7.5px min-content;
		-moz-column-gap: 5px;
		column-gap: 5px;
		align-items: center;
		margin-bottom: 2.5px;
		font-family: "Poppins", sans-serif;
		font-size: 10px;
		font-weight: 500;
		line-height: 14px;
		letter-spacing: 0.7px;
		text-align: left;
		color: #4c639e;
		white-space: nowrap;
	}

	.kv .texts h1 small img {
		width: 100%;
	}

	.kv .texts h1 strong {
		display: block;
		font-family: "Zen Kaku Gothic New", sans-serif;
		font-size: 20px;
		font-weight: bold;
		line-height: 1.5;
		letter-spacing: 1.6px;
		text-align: left;
		color: #4c639e;
		white-space: nowrap;
	}
}

/*FAQ*/
@media only screen and (min-width: 1025px) {
	.faq {
		width: var(--faq-width-pc, 853px);
		/*PHP側で制御*/
		margin: 0 auto;
	}

	.faq .headline {
		display: flex;
		flex-direction: column;
		margin-bottom: 60px;
	}

	.faq .headline small {
		display: grid;
		grid-template-columns: 15px min-content 15px;
		-moz-column-gap: 10px;
		column-gap: 10px;
		justify-content: center;
		align-items: center;
		margin-bottom: 5px;
		font-family: "Poppins", sans-serif;
		font-size: 14px;
		font-weight: 500;
		line-height: 1.71;
		letter-spacing: 0.98px;
		text-align: center;
		color: #4c639e;
		white-space: nowrap;
	}

	.faq .headline small img {
		width: 100%;
	}

	.faq .headline h2 {
		font-family: "Zen Kaku Gothic New", sans-serif;
		font-size: 36px;
		font-weight: bold;
		line-height: 1.44;
		letter-spacing: 2.88px;
		text-align: center;
		color: #4c639e;
	}

	.faq ul.items {
		display: grid;
		grid-template-columns: 1fr;
		row-gap: 30px;
		justify-content: center;
		list-style: none;
	}

	.faq ul.items li .question {
		display: grid;
		grid-template-columns: 30px 1fr;
		-moz-column-gap: 30px;
		column-gap: 30px;
		align-items: start;
		margin-bottom: 20px;
	}

	.faq ul.items li .question span {
		font-family: "Poppins", sans-serif;
		font-size: 27px;
		font-weight: 500;
		line-height: 37px;
		letter-spacing: 1.35px;
		text-align: left;
		color: #364d78;
	}

	.faq ul.items li .question p {
		margin-top: 5px;
		font-family: "Zen Kaku Gothic New", sans-serif;
		font-size: 20px;
		font-weight: 500;
		line-height: 1.4;
		letter-spacing: 1px;
		text-align: left;
		color: #1f3661;
	}

	.faq ul.items li .answer {
		display: grid;
		grid-template-columns: 26px 1fr;
		-moz-column-gap: 23px;
		column-gap: 23px;
		align-items: start;
		margin-left: 2px;
	}

	.faq ul.items li .answer span {
		margin-top: 15px;
		font-family: "Poppins", sans-serif;
		font-size: 27px;
		font-weight: 500;
		line-height: 37px;
		letter-spacing: 1.35px;
		text-align: left;
		color: #f49517;
	}

	.faq ul.items li .answer p {
		padding: 20px 30px;
		border-radius: 10px;
		box-sizing: border-box;
		background-color: #f7f7f7;
		font-family: "Zen Kaku Gothic New", sans-serif;
		font-size: 16px;
		font-weight: normal;
		line-height: 1.63;
		letter-spacing: 0.48px;
		text-align: left;
		color: #1f3661;
	}
}

@media only screen and (max-width: 1024px) {
	.faq {
		width: var(--faq-width-smp, 375.5px);
		/*PHP側で制御*/
		margin: 0 auto;
	}

	.faq .headline {
		display: flex;
		flex-direction: column;
		margin-bottom: 30.5px;
	}

	.faq .headline small {
		display: grid;
		grid-template-columns: 12.5px min-content 12.5px;
		-moz-column-gap: 5px;
		column-gap: 5px;
		justify-content: center;
		align-items: center;
		margin-bottom: 5px;
		font-family: "Poppins", sans-serif;
		font-size: 13px;
		font-weight: 500;
		line-height: 18px;
		letter-spacing: 0.91px;
		text-align: center;
		color: #4c639e;
		white-space: nowrap;
	}

	.faq .headline small img {
		width: 100%;
	}

	.faq .headline h2 {
		font-family: "Zen Kaku Gothic New", sans-serif;
		font-size: 20px;
		font-weight: bold;
		line-height: 1.5;
		letter-spacing: 1px;
		text-align: center;
		color: #4c639e;
	}

	.faq ul.items {
		display: grid;
		grid-template-columns: 1fr;
		row-gap: 25px;
		justify-content: center;
		position: relative;
		left: 1.75px;
		list-style: none;
	}

	.faq ul.items li .question {
		display: grid;
		grid-template-columns: 20px 1fr;
		-moz-column-gap: 12.5px;
		column-gap: 12.5px;
		margin-bottom: 10px;
	}

	.faq ul.items li .question span {
		font-family: "Poppins", sans-serif;
		font-size: 18.5px;
		font-weight: 500;
		line-height: 26px;
		letter-spacing: 0.93px;
		color: #364d78;
	}

	.faq ul.items li .question p {
		margin-top: 0.5px;
		font-family: "Zen Kaku Gothic New", sans-serif;
		font-size: 15px;
		font-weight: 500;
		line-height: 1.4;
		letter-spacing: 0.75px;
		color: #1f3661;
	}

	.faq ul.items li .answer {
		display: grid;
		grid-template-columns: 18px 1fr;
		-moz-column-gap: 9px;
		column-gap: 9px;
		margin-left: 1px;
	}

	.faq ul.items li .answer span {
		margin-top: 8.5px;
		font-family: "Poppins", sans-serif;
		font-size: 18.5px;
		font-weight: 500;
		line-height: 26px;
		letter-spacing: 0.93px;
		color: #f49517;
	}

	.faq ul.items li .answer p {
		padding: 10px 15px;
		border-radius: 10px;
		box-sizing: border-box;
		background-color: #f7f7f7;
		font-family: "Zen Kaku Gothic New", sans-serif;
		font-size: 14px;
		font-weight: normal;
		line-height: 1.61;
		letter-spacing: 0.42px;
		color: #1f3661;
	}
}