@import url( './sc-style.css' );

/*
----------------------------------------

reset

----------------------------------------
*/

.block-editor-block-list__layout {
	font-size: 1.6rem;
}

.post-contents h2.default {
	font-size: initial;
	font-weight: initial;
	text-align: left;
	line-height: 2;
	letter-spacing: 0;
	padding: 0;
	margin-bottom: 0;
	border-top: none;
	border-bottom: none;
}

.post-contents h3.default {
	font-size: initial;
	font-weight: initial;
	line-height: 2;
	letter-spacing: 0;
	padding: 0;
	margin: 0;
	border-bottom: none;
	position: relative;
}

.post-contents h3.default::before {
	display: none;
}

.post-contents h4.default {
	font-size: initial;
	font-weight: initial;
	line-height: 2;
	letter-spacing: 0;
	padding: 0;
	margin: 0;
	border-left: none;
	position: relative;
}

.post-contents h5.default {
	font-size: initial;
	font-weight: initial;
	line-height: 2;
	letter-spacing: 0;
	margin: 0;
	padding-left: 0;
	position: relative;
}

.post-contents h5.default::before {
	display: none;
}

.post-contents h6.default {
	font-size: initial;
	font-weight: initial;
	line-height: 2;
	margin: 0;
}

.left {
	text-align: left;
}

.center {
	text-align: center;
}

.right {
	text-align: right;
}


/*
----------------------------------------

common

----------------------------------------
*/
#contents-wrap {
	padding: 80px 0 10rem;
}

.page #contents-wrap {
	padding: 80px 0 10rem;
}

/* btn */

.block-btn a {
	display: inline-block;
	text-decoration: none !important;
	white-space: nowrap;
	letter-spacing: 1px;
	padding: 9px 50px;
	color: #fff !important;
	background: var( --main-color ) url( ../img/block/svg/arrow-01-wh.svg ) right 15px center no-repeat;
}

.block-btn.center a {
	min-width: 240px;
	font-size: 1.8rem;
	padding: 7px 40px;
}

/* under-line */

.block-under-line {
	color: var( --main-color );
	background: linear-gradient( transparent 80%, var( --main-light-color ) 80% );
}

/* check-list */

.block-checklist {
	text-align: center;
}

.block-checklist ul {
	list-style: none;
	margin: 0 !important;
	display: inline-block;
}

.block-checklist li {
	line-height: 1.5 !important;
	text-align: left;
	letter-spacing: 1.6px !important;
	margin-bottom: 15px !important;
	padding: 3px 0 3px 36px !important;
	background: url( ../img/block/svg/icon-check.svg ) left top no-repeat;
}

.block-checklist li::before {
	display: none;
}

/* 1160 */

@media screen and ( max-width: 1160px ) {

	#page .post-contents .block-btn {
		letter-spacing: .4px;
	}

	.block-checklist li {
		margin-bottom: 10px !important;
	}

}

/* 1000 */

@media screen and ( max-width: 1000px ) {

	.page #contents-wrap,
	.page .post-contents {
		padding: 60px 0 3rem;
	}

	#page .post-contents .block-btn {
		font-size: 1.5rem;
	}

}

/* 768 */

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

	#page #contents-wrap,
	#page .post-contents {
		padding: 40px 0 20px;
	}

	.block-btn a,
	.block-btn.center a {
		min-width: 220px;
		font-size: 1.6rem;
		padding: 9px 50px;
	}

	.block-checklist li {
		padding: 0 0 0 32px !important;
		background: url( ../img/block/svg/icon-check.svg ) left top / 22px no-repeat;
	}

	.page .post-contents p,
	.post-type-page .ditor-styles-wrapper p {
		margin-bottom: 25px;
	}

}

/* hover */

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

	#page .post-contents a:hover {
		opacity: 1;
	}

	.block-btn a:hover {
		background: var( --main-on-color ) url( ../img/block/svg/arrow-01-wh.svg ) right 10px center no-repeat;
	}

}


/*
----------------------------------------

block-full-width

----------------------------------------
*/

.block-full-width {
	margin-right: calc( ( -100vw + 100% ) / 2 );
	margin-left: calc( ( -100vw + 100% ) / 2 );
}

.header-06 .block-full-width {
	margin-right: calc( ( ( -100vw + 240px ) + 100% ) / 2 );
	margin-left: calc( ( ( -100vw + 240px ) + 100% ) / 2 );
}

/* 1200 */

@media screen and ( max-width: 1200px ) {

	.header-06 .block-full-width {
		margin-right: calc( ( ( -100vw + 220px ) + 100% ) / 2 );
		margin-left: calc( ( ( -100vw + 220px ) + 100% ) / 2 );
	}

}

/* 1160 */

@media screen and ( max-width: 1160px ) {

	.block-full-width {
		margin-right: -30px !important;
		margin-left: -30px !important;
	}

}

/* 768 */

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

	.block-full-width {
		margin-right: -20px !important;
		margin-left: -20px !important;
	}

}


/*
----------------------------------------

block-menu-block

----------------------------------------
*/

/* page menu */

.block-menu-block {
	margin-bottom: 2.5rem;
	background: #F5F5F5;
}

.block-menu-block .menu-list {
	list-style: none;
	margin: 0;
	padding-top: 20px;
}

.block-menu-block .menu-list.center {
	justify-content: center;
}

.block-menu-block .btn {
	width: calc( ( 100% - 60px ) / 4 );
	margin: 0 20px 20px 0;
}

.block-menu-block .btn:nth-child( 4n ),
.block-menu-block .btn:last-child {
	margin-right: 0;
}

.block-menu-block .btn a {
	-js-display: flex;
	display: -ms-flex;
	display: -webkit-flex;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	text-decoration: none;
	line-height: 1.5;
	letter-spacing: 1px;
	padding: 20px 20px 34px;
	color: #333;
	background: #fff url( ../img/block/svg/arrow-down.svg ) center bottom 20px no-repeat;
	border: solid 1px #ddd;
}

/* 768 */

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

	.block-menu-block {
		margin-bottom: 2rem;
	}

	.block-menu-block .menu-list {
		padding-top: 15px;
	}

	.block-menu-block .btn {
		width: calc( ( 100% - 15px ) / 2 );
		margin: 0 15px 15px 0;
	}

	.block-menu-block .btn:nth-child( even ) {
		margin-right: 0;
	}

	.block-menu-block .btn a {
		letter-spacing: 0;
		padding: 10px 5px 24px;
		background: #fff url( ../img/block/svg/arrow-down.svg ) center bottom 12px no-repeat;
	}

}

/* hover */

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

	.block-menu-block a:hover {
		color: #fff;
		background: var( --main-color ) url( ../img/block/svg/arrow-down-wh.svg ) center bottom 15px no-repeat;
	}

}


/*
----------------------------------------

block-ttl

----------------------------------------
*/

.block-ttl {
	padding: 5.5rem 0;
	text-align: center;
}

.block-ttl .ttl {
	text-align: center;
	position: relative;
	padding-bottom: 7.5rem;
}

.block-ttl .ttl::after {
	content: '';
	width: 2px;
	height: 60px;
	background: var( --main-color );
	position: absolute;
	bottom: 0;
	left: calc( 50% - 1px );
}

.block-ttl .ttl .en {
	font-size: 6rem;
	line-height: 1.15;
	text-transform: capitalize;
	color: var( --main-color );
}

.block-ttl .ttl .jp {
	font-size: 2rem;
	font-weight: normal;
	text-align: center;
	letter-spacing: 2.4px;
}

.block-ttl .read {
	margin-top: 3.5rem;
	margin-bottom: 0;
	letter-spacing: 1.2px;
}

/* 1160 */

@media screen and ( max-width: 1160px ) {

	.block-ttl {
		padding: 4rem 0;
	}

	.block-ttl .ttl {
		padding-bottom: 6rem;
	}

	.block-ttl .ttl::after {
		height: 50px;
	}

	.block-ttl .ttl .en {
		font-size: 5rem;
	}

	.block-ttl .read {
		letter-spacing: 1px;
	}

}

/* 768 */

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

	.block-ttl {
		padding: 2rem 0;
	}

	.block-ttl .ttl {
		padding-bottom: 4rem;
		margin-bottom: 1rem
	}

	.block-ttl .ttl::after {
		height: 30px;
	}

	.block-ttl .ttl .en {
		font-size: 3.6rem;
	}

	.block-ttl .ttl .jp {
		font-size: 1.6rem;
	}

	.block-ttl .read {
		margin-top: 2.5rem;
		letter-spacing: .4px;
		text-align: left;
	}

}


/*
----------------------------------------

block-layout-block

----------------------------------------
*/

.block-layout-block {
	padding: 0;
}

.block-layout-block .cont.flex {
	align-items: center;
	margin: 6rem 0;
}

.block-layout-block .cont:nth-child( even ) {
	flex-direction: row-reverse;
}

.block-layout-block .img {
	width: 50%;
	line-height: .5;
}

.block-layout-block .img img {
	width: 100%;
	max-height: 480px;
	min-height: 380px;
}

.block-layout-block .cont .txt {
	max-width: 1160px;
	padding: 0 30px;
	margin: 0 auto;
}

.block-layout-block .cont figure + .txt {
	width: 50%;
	max-width: 550px;
}

.block-layout-block .cont:nth-child( odd ) figure + .txt {
	padding: 0 0 0 40px;
	margin: 0 auto 0 0;
}

.block-layout-block .cont:nth-child( even ) figure + .txt {
	padding: 0 40px 0 0;
	margin: 0 0 0 auto;
}

.block-layout-block .txt h3 {
	font-size: 2.8rem !important;
	font-weight: normal !important;
	letter-spacing: 2.4px !important;
	line-height: 1.7 !important;
	margin: .5rem 0 2.5rem !important;
	padding: 2px 0 2px 2rem !important;
	border-left: solid 5px var( --main-color );
	background: transparent;
}

.block-layout-block .txt .read {
	letter-spacing: 1.5px;
}

.block-layout-block .txt .block-btn {
	margin-top: 3.5rem;
}

/* 1160 */

@media screen and ( max-width: 1160px ) {

	.block-layout-block .cont.flex {
		margin: 4rem 0;
	}

	.block-layout-block .cont:nth-child( odd ) figure + .txt,
	.block-layout-block .cont:nth-child( even ) figure + .txt {
		padding: 0 30px;
	}

	.block-layout-block .txt h3 {
		font-size: 2.4rem !important;
		margin: 0 0 2rem !important;
	}

	.block-layout-block .txt .block-btn {
		margin-top: 3rem;
	}

}

/* 1000 */

@media screen and ( max-width: 1000px ) {

	.block-layout-block .txt h3 {
		font-size: 2.2rem !important;
		margin: 0 0 1.5rem !important;
	}

	.block-layout-block .txt .read {
		letter-spacing: 0;
	}

	.block-layout-block .txt .block-btn {
		margin-top: 2rem;
	}

}

/* 768 */

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

	.block-layout-block .cont.flex {
		flex-direction: column;
		margin: 0;
		padding: 2rem 0;
	}

	.block-layout-block .img {
		width: 100%;
		margin-bottom: 2rem;
	}

	.block-layout-block .img img {
		min-height: initial;
		height: 60vw;
	}

	.block-layout-block .cont .txt {
		padding: 0 20px;
	}

	.block-layout-block .cont figure + .txt {
		width: 100%;
		max-width: initial;
	}

	.block-layout-block .cont:nth-child( odd ) figure + .txt,
	.block-layout-block .cont:nth-child( even ) figure + .txt {
		padding: 0 20px;
		margin: 0;
	}

	.block-layout-block .txt h3 {
		font-size: 2rem !important;
		padding: 0 0 0 1.5rem !important;
	}

	.block-layout-block .txt .block-btn {
		text-align: center;
	}

}


/*
----------------------------------------

block-column

----------------------------------------
*/

.block-column {
	padding: 6rem 0 0;
}

.block-column .post-list {
	list-style: none;
	margin: 0;
	text-align: left;
}

.block-column .post-list.center {
	justify-content: center;
}

.block-column .post {
	width: calc( ( 100% - 140px ) / 3 );
	margin: 0 70px 58px 0;
}

.block-column .post:nth-child( 3n ),
.block-column .post:last-child {
	margin-right: 0;
}

.block-column .img {
	text-align: center;
	line-height: .5;
	margin-bottom: 2rem;
}

.block-column .img img {
	width: 100%;
	height: 200px;
}

.block-column .post .ttl {
	font-size: 2rem;
	font-weight: normal;
	text-align: center;
	letter-spacing: 1.5px;
	line-height: 1.5;
	color: var( --main-color );
	background: transparent;
	justify-content: center;
	align-items: center;
	padding-bottom: 20px;
	margin-bottom: 18px;
	width: 100%;
	position: relative;
}

.block-column .post .ttl::after {
	content: '';
	width: 40px;
	height: 2px;
	background: var( --main-color );
	position: absolute;
	bottom: 0;
	left: calc( 50% - 20px );
}

.block-column .read {
	margin: 0;
	letter-spacing: 1.5px;
}

/* 1160 */

@media screen and ( max-width: 1160px ) {

	.block-column .post-list {
		padding: 0 20px;
	}

	.block-column .post {
		width: calc( ( 100% - 100px ) / 3 );
		margin: 0 50px 50px 0;
	}

	.block-column .img img {
		height: 18vw;
	}

}

/* 1000 */

@media screen and ( max-width: 1000px ) {

	.block-column {
		padding: 4rem 0 0;
	}

	.block-column .post-list {
		padding: 0;
	}

	.block-column .post {
		width: calc( ( 100% - 60px ) / 3 );
		margin: 0 30px 30px 0;
	}

	.block-column .post .ttl {
		font-size: 1.6rem;
	}

}

/* 768 */

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

	.block-column {
		padding: 2rem 0 0;
	}

	.block-column .post-list {
		flex-direction: column;
	}

	.block-column .post {
		width: 100%;
		margin: 0 0 3rem;
	}

	.block-column .img img {
		height: 55vw;
	}

	.block-column .post .ttl {
		font-size: 1.8rem;
	}

}


/*
----------------------------------------

block-flow

----------------------------------------
*/

.block-flow {
	padding: 6rem 0 0;
}

.block-flow .flow-list {
	list-style: none;
	margin: 0;
	text-align: left;
	counter-reset: flow;
}

.block-flow .flow-list.center {
	justify-content: center;
}

.block-flow .post {
	width: calc( ( 100% - 140px ) / 3 );
	margin: 0 70px 60px 0;
	position: relative;
}

.block-flow .post:nth-child( 3n ),
.block-flow .post:last-child {
	margin-right: 0;
}

.block-flow .post::before {
	content: '0' counter( flow );
	counter-increment: flow;
	font-family: 'Roboto', sans-serif;
	width: 60px;
	height: 60px;
	line-height: 60px;
	white-space: nowrap;
	font-size: 2.4rem;
	background: var( --main-color );
	color: #fff;
	border-radius: 50%;
	text-align: center;
	position: absolute;
	top: -15px;
	left: -15px;
	z-index: 99;
}

.block-flow .flow-list li:nth-of-type(9) ~ li::before {
	content: counter( flow );
}

.block-flow .img {
	line-height: .5;
	margin-bottom: 15px;
	position: relative;
}

.block-flow .img::after {
	content: '';
	width: 12px;
	height: 24px;
	background: url( ../img/block/svg/arrow-02.svg ) center center / contain no-repeat;
	position: absolute;
	top: calc( 50% - 12px );
	right: -41px;
}

.block-flow .img img {
	width: 100%;
	height: 200px;
}

.block-flow .post:nth-of-type( 3n ) .img::after,
.block-flow .post:last-of-type .img::after {
	display: none;
}

.block-flow .read {
	margin: 0;
	letter-spacing: 1.5px;
}

/* 1160 */

@media screen and ( max-width: 1160px ) {

	.block-flow .flow-list {
		padding: 0 20px;
	}

	.block-flow .post {
		width: calc( ( 100% - 100px ) / 3 );
		margin: 0 50px 50px 0;
	}

	.block-flow .img::after {
		right: -31px;
	}

	.block-flow .img img {
		height: 18vw;
	}

}

/* 1000 */

@media screen and ( max-width: 1000px ) {

	.block-flow {
		padding: 4rem 0 0;
	}

	.block-flow .flow-list {
		padding: 0;
	}

	.block-flow .post {
		width: calc( ( 100% - 60px ) / 3 );
		margin: 0 30px 30px 0;
	}

	.block-flow .post::before {
		width: 50px;
		height: 50px;
		line-height: 50px;
		font-size: 2rem;
	}

	.block-flow .img::after {
		right: -21px;
	}

}

/* 768 */

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

	.block-flow {
		padding: 2rem 0;
	}

	.block-flow .flow-list {
		flex-direction: column;
	}

	.block-flow .post {
		width: 100%;
		margin: 0 0 3rem;
		padding: 0 0 3rem;
		background: url( ../img/block/svg/arrow-down-02.svg ) center bottom no-repeat;
	}

	.block-flow .post:last-child {
		margin: 0;
		padding: 0;
		background: none;
	}

	.block-flow .post::before {
		top: -10px;
		left: -10px;
	}

	.block-flow .img {
		margin-bottom: 15px;
	}

	.block-flow .img::after {
		display: none;
	}

	.block-flow .img img {
		height: 55vw;
	}

	.block-flow p {
		margin-bottom: 0;
	}

}


/*
----------------------------------------

block-step-column

----------------------------------------
*/

.block-step-column {
	padding: 6rem 0 0;
}

.block-step-column .step-list {
	list-style: none;
	margin: 0;
	text-align: left;
}

.block-step-column .step-list.center {
	justify-content: center;
}

.block-step-column .step-list .step {
	width: calc( ( 100% - 180px ) / 4 );
	margin: 0 60px 55px 0;
}

.block-step-column .step-list .step:nth-child( 4n ),
.block-step-column .step-list .step:last-child {
	margin-right: 0;
}

.block-step-column .step-icon {
	position: relative;
	margin: 0 auto;
	text-align: center;
}

.block-step-column .step-icon::after {
	content: '';
	width: 12px;
	height: 24px;
	background: url( ../img/block/svg/arrow-02.svg ) center center / contain no-repeat;
	position: absolute;
	top: calc( 50% - 12px );
	right: -36px;
}

.block-step-column .step-icon .box {
	display: inline-block;
	max-width: 230px;
	position: relative;
}

.block-step-column .num-box {
	width: 60px;
	height: 60px;
	background: var( --main-color );
	color: #fff;
	text-align: center;
	padding: 8px;
	line-height: 1.15;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 99;
}

.block-step-column .num-box .num {
	font-size: 2.4rem;
}

.block-step-column .img {
	line-height: .5;
	padding: 10px;
	text-align: center;
	position: relative;
}

.block-step-column .img img {
	border: solid 10px #F5F5F5;
	border-radius: 50%;
	width: 210px;
	height: 210px;
}

.block-step-column .step:nth-child( 4n ) .step-icon::after,
.block-step-column .step:last-child .step-icon::after {
	display: none;
}

.block-step-column .ttl {
	justify-content: center;
	align-items: center;
	text-align: center;
	margin-bottom: 10px;
}

.block-step-column .ttl h3 {
	font-size: 2rem !important;
	font-weight: normal !important;
	line-height: 1.7 !important;
	letter-spacing: 1.2px !important;
	background: transparent;
}

.block-step-column .ttl h3 strong {
	font-weight: normal;
	color: var( --main-color );
}

.block-step-column .read {
	margin: 0;
	letter-spacing: 1.8px;
}

/* 1160 */

@media screen and ( max-width: 1160px ) {

	.block-step-column {
		padding: 4rem 0 0;
	}

	.block-step-column .step-list .step {
		width: calc( ( 100% - 120px ) / 4 );
		margin: 0 40px 40px 0;
	}

	.block-step-column .img img {
		width: 180px;
		height: 180px;
	}

	.block-step-column .step-icon::after {
		right: -26px;
	}

}

/* 1000 */

@media screen and ( max-width: 1000px ) {

	.block-step-column .step-list .step {
		width: calc( ( 100% - 40px ) / 2 );
	}

	.block-step-column .step-list .step:nth-child( even ) {
		margin-right: 0;
	}

	.block-step-column .step:nth-child( even ) .step-icon::after {
		display: none;
	}

	.block-step-column .step-list .step p {
		margin-bottom: 0;
	}

	.block-step-column .img img {
		width: 210px;
		height: 210px;
	}

}

/* 768 */

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

	.block-step-column {
		padding: 2rem 0;
	}

	.block-step-column .step-list {
		flex-direction: column;
	}

	.block-step-column .step-list .step {
		width: 100%;
		margin: 0 0 3rem;
		padding: 0 0 3rem;
		background: url( ../img/block/svg/arrow-down-02.svg ) center bottom no-repeat;
	}

	.block-step-column .step-list .step:last-child {
		margin: 0 0 2rem;
		padding: 0;
		background: none;
	}

	.block-step-column .img {
		margin-bottom: 5px;
	}

	.block-step-column .step-icon::after {
		display: none;
	}

	.block-step-column .ttl h3 {
		font-size: 1.8rem !important;
	}

}


/*
----------------------------------------

block-step-list

----------------------------------------
*/

.block-step-list {
	padding: 6rem 0 0;
}

.block-step-list .step-list {
	list-style: none;
	margin: 0;
	counter-reset: step;
}

.block-step-list .step {
	flex-direction: row-reverse;
	padding: 0 0 60px 100px;
	width: 100%;
	position: relative;
}

.block-step-list .step::after {
	content: '';
	width: 10px;
	background: #F5F5F5;
	position: absolute;
	top: 40px;
	bottom: -40px;
	left: 35px;
}

.block-step-list .step:last-of-type::after {
	display: none;
}

.block-step-list .step-list .num-box {
	width: 80px;
	height: 80px;
	border-radius: 50%;
	background: var( --main-color );
	color: #fff;
	text-align: center;
	padding: 18px;
	line-height: 1.15;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 9;
}

.block-step-list .step-list .num-box .num {
	font-size: 2.4rem;
}

.block-step-list .img {
	width: calc( 30% + 30px );
	padding-left: 30px;
	line-height: .5;
	text-align: center;
	overflow: hidden;
}

.block-step-list .img img {
	width: 100%;
	height: 200px;
}

.block-step-list .img + .txt {
	width: calc( 70% - 30px );
}

.block-step-list .txt {
	width: 100%;
}

.block-step-list .step .ttl {
	font-size: 2.4rem;
	line-height: 1.5;
	letter-spacing: 2.4px;
	font-weight: normal;
	padding: 22px 0;
	margin-bottom: 8px;
	background: transparent;
}

.block-step-list .step .ttl strong {
	color: var( --main-color );
	font-weight: normal;
}

.block-step-list .read {
	letter-spacing: 2px;
}

/* 1160 */

@media screen and ( max-width: 1160px ) {

	.block-step-list {
		padding: 4rem 0 0;
	}

}

/* 1000 */

@media screen and ( max-width: 1000px ) {


	.block-step-list .img {
		width: calc( 30% + 40px );
	}

	.block-step-list .img + .txt {
		width: calc( 70% - 40px );
	}

	.block-step-list .step-list .num-box {
		width: 70px;
		height: 70px;
		padding: 15px;
	}

	.block-step-list .step {
		padding: 0 0 50px 85px;
	}

	.block-step-list .step::after {
		left: 30px;
	}

	.block-step-list .step .ttl {
		font-size: 2rem;
		letter-spacing: .4px;
		font-weight: normal;
		padding: 20px 0;
		margin-bottom: 0;
	}

	.block-step-list .read {
		letter-spacing: .4px;
	}

	.block-step-list .img {
		padding-left: 20px;
	}

	.block-step-list .img img {
		height: 180px;
	}

}

/* 768 */

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

	.block-step-list {
		padding: 2rem 0 0;
	}

	.block-step-list .step-list .num-box {
		width: 60px;
		height: 60px;
		padding: 10px;
		font-size: 1.2rem;
	}

	.block-step-list .step {
		padding: 0 0 30px 75px;
		flex-direction: column;
	}

	.block-step-list .step::after {
		width: 6px;
		left: calc( 30px - 3px );
	}

	.block-step-list .img + .txt {
		width: 100%;
	}

	.block-step-list .img {
		width: 100%;
		margin-bottom: 2rem;
		padding: 0;
	}

	.block-step-list .step .ttl {
		font-size: 1.8rem;
		padding: 0;
		margin-bottom: 10px;
	}

}


/*
----------------------------------------

block-faq

----------------------------------------
*/

.block-faq {
	padding: 6rem 0;
}

.block-faq + .block-faq {
	margin: -6rem 0 0;
	padding: 0 0 6rem;
}

.block-faq {
	padding: 30px 40px 40px;
	background: var( --main-light-color );
}

.block-faq .box + .box {
	margin-top: 40px;
}

.block-faq .ttl.q {
	font-size: 2.4rem;
	font-weight: normal;
	line-height: 1.5;
	letter-spacing: 2.42px;
	margin-bottom: 20px;
	position: relative;
	padding: 6px 0 6px 58px;
}

.block-faq .ttl.q .icon {
	width: 48px;
	height: 48px;
	line-height: 48px;
	border-radius: 50%;
	text-align: center;
	color: #fff;
	background: var( --main-color );
	position: absolute;
	top: 0;
	left: 0;
}

.block-faq .txt {
	background: #fff;
	padding: 30px 40px 35px;
	border-radius: 10px;
}

.block-faq .txt h4 {
	font-size: 2.4rem !important;
	font-weight: normal !important;
	line-height: 1.5 !important;
	letter-spacing: 2.2px !important;
	margin-bottom: 16px !important;
	color: var( --main-color );
}

.block-faq .txt .read {
	letter-spacing: 1.6px;
}

/* 1160 */

@media screen and ( max-width: 1160px ) {

	.block-faq {
		padding: 3rem 0;
	}

	.block-faq .txt {
		padding: 2rem 3rem;
	}

}

/* 1000 */

@media screen and ( max-width: 1000px ) {

	.block-faq + .block-faq {
		margin: -4rem 0 0;
		padding: 0 0 3rem;
	}

	.block-faq {
		padding: 20px 30px 30px;
	}

	.block-faq .ttl.q {
		font-size: 2rem;
	}

	.block-faq .ttl.q .icon {
		width: 42px;
		height: 42px;
		line-height: 42px;
	}

	.block-faq .txt h4 {
		font-size: 2rem !important;
		margin-bottom: 10px !important;
	}

}

/* 768 */

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

	.block-faq {
		padding: 2rem 0;
	}

	.block-faq + .block-faq {
		margin: -2rem 0 0;
		padding: 0 0 2rem;
	}

	.block-faq {
		padding: 2rem;
	}

	.block-faq .ttl.q .icon {
		width: 32px;
		height: 32px;
		line-height: 32px;
		top: calc( 50% - 16px );
	}

	.block-faq .ttl.q {
		font-size: 1.8rem;
		letter-spacing: .4px;
		padding:0 0 0 42px;
	}

	.block-faq .txt {
		padding: 2rem;
	}

	.block-faq .ttl.a {
		font-size: 1.8rem;
		letter-spacing: .4px;
	}

	.block-faq .ttl.a .icon {
		width: 26px;
		height: 26px;
	}

	.block-faq .txt .read {
		letter-spacing: .4px;
	}

}


/*
----------------------------------------

block-check

----------------------------------------
*/

.block-check {
	padding: 6rem 0;
}

.block-check .box {
	border: solid 10px #F5F5F5;
	padding: 30px;
}

.block-check .box .ttl {
	text-align: center;
	margin-bottom: 25px;
}

.block-check .box .ttl .txt {
	display: inline-block;
	font-size: 2.6rem;
	font-weight: normal;
	line-height: 1.5;
	letter-spacing: 2px;
	color: var( --main-color );
	padding: 0 4rem;
	position: relative;
}

.block-check .box .ttl .txt::before,
.block-check .box .ttl .txt::after {
	content: '';
	width: 20px;
	height: 2px;
	background: var( --main-color );
	position: absolute;
	top: calc( 50% - 1px );
}

.block-check .box .ttl .txt::before {
	left: 0;
}

.block-check .box .ttl .txt::after {
	right: 0;
}

/* 1160 */

@media screen and ( max-width: 1160px ) {

	.block-check {
		padding: 4rem 0;
	}

}

/* 1000 */

@media screen and ( max-width: 1000px ) {

	.block-check .box .ttl {
		margin-bottom: 2rem;
	}

	.block-check .box .ttl .txt {
		font-size: 2.4rem;
	}

}

/* 768 */

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

	.block-check {
		padding: 2rem 0;
	}

	.block-check .wrap {
		padding: 0 15px;
	}

	.block-check .box {
		padding: 20px 20px 10px;
	}

	.block-check .box .ttl .txt {
		font-size: 2rem;
		padding: 0 3.5rem;
		letter-spacing: .4px;
	}

}


/*
----------------------------------------

block-border

----------------------------------------
*/

.block-border {
	padding: 6rem 0;
}

.block-border .box {
	border: solid 1px var( --main-color );
	padding: 50px 40px 40px;
	position: relative;
}

.block-border .box > .ttl {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;text-align: center;
}

.block-border .box > .ttl .txt {
	display: inline-block;
	background: var( --main-color );
	color: #fff;
	font-size: 2.4rem;
	font-weight: normal;
	line-height: 1.5;
	letter-spacing: 2px;
	padding: 7px 44px;
	border-radius: 25px;
	transform: translateY( -50% );
}

.block-border .box > .flex {
	flex-direction: row-reverse;
	align-items: center;
}

.block-border .box > .flex .img {
	width: 300px;
	line-height: .5;
}

.block-border .box > .flex .img + .txt {
	width: calc( 100% - 300px );
	padding-right: 40px;
}

.block-border .box .ttl {
	font-size: 2.4rem;
	font-weight: normal;
	line-height: 1.5;
	letter-spacing: 2.4px;
	color: var( --main-color );
	background: transparent;
	margin-bottom: 20px;
}

.block-border .box .read {
	letter-spacing: 1.5px;
}

/* 1160 */

@media screen and ( max-width: 1160px ) {

	.block-border {
		padding: 4rem 0;
	}

}

/* 1000 */

@media screen and ( max-width: 1000px ) {

	.block-border .box > .flex .img {
		width: 260px;
	}

	.block-border .box > .ttl .txt {
		font-size: 2.2rem;
	}

	.block-border .box {
		padding: 45px 30px 30px;
	}

	.block-border .box > .flex .img + .txt {
		width: calc( 100% - 260px );
		padding-right: 30px;
	}

	.block-border .box .ttl {
		font-size: 2rem;
		letter-spacing: 1.5px;
		margin-bottom: 1rem;
	}

	.block-border .box .read {
		letter-spacing: .4px;
	}

}

/* 768 */

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

	.block-border {
		padding: 3rem 0 2rem;
	}

	.block-border .box {
		padding: 40px 20px 25px;
	}

	.block-border .box > .flex {
		flex-direction: column;
	}

	.block-border .box > .flex .img {
		width: 100%;
		margin-bottom: 1.5rem;
	}

	.block-border .box > .flex .img + .txt {
		width: 100%;
		padding-right: 0;
	}

	.block-border .box > .ttl .txt {
		font-size: 1.8rem;
		letter-spacing: .4px;
		padding: 6px 18px;
		max-width: 90%;
	}

	.block-border .box .ttl {
		font-size: 1.8rem;
		margin-bottom: .5rem;
	}

}


/*
----------------------------------------

block-bg-block

----------------------------------------
*/

.block-bg-block {
	background: #F5F5F5;
	padding: 5.5rem 0 6.5rem;
	margin-top: 6rem;
	margin-bottom: 6rem;
}

.block-bg-block .read {
	text-align: center;
	letter-spacing: 1.2px;
}

.block-bg-block .box .ttl {
	font-size: 2.8rem;
	font-weight: normal;
	text-align: center;
	line-height: 1.5;
	letter-spacing: 2.4px;
	padding-bottom: 42px;
	margin-bottom: 36px;
	position: relative;
}

.block-bg-block .box .ttl::after {
	content: '';
	width: 40px;
	height: 2px;
	background: var( --main-color );
	position: absolute;
	bottom: 0;
	left: calc( 50% - 20px );
}

/* 1160 */

@media screen and ( max-width: 1160px ) {

	.block-bg-block {
		padding: 4rem 0;
		margin-top: 4rem;
		margin-bottom: 4rem;
	}

}

/* 1000 */

@media screen and ( max-width: 1000px ) {

	.block-bg-block .box .ttl {
		font-size: 2.4rem;
		padding-bottom: 30px;
		margin-bottom: 24px;
	}
}

/* 768 */

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

	.block-bg-block {
		padding: 3rem 0;
		margin-top: 2rem;
		margin-bottom: 2rem;
	}

	.block-bg-block .box .ttl {
		font-size: 2rem;
		padding-bottom: 24px;
		margin-bottom: 18px;
		letter-spacing: .4px;
	}

	.block-bg-block .read {
		text-align: left;
		letter-spacing: 1.2px;
	}

}


/*
----------------------------------------

block-img-bnr

----------------------------------------
*/

.block-img-bnr {
	margin-bottom: 3rem;
}

.block-img-bnr .img-bnr {
	justify-content: center;
	text-align: center;
}

.block-img-bnr .img-bnr .bnr {
	margin-bottom: 3rem;
}

.block-img-bnr .img-bnr.col-2 .bnr {
	width: calc( ( 100% - 3rem ) / 2 );
}

.block-img-bnr .img-bnr.col-2 .bnr:nth-child( even ) {
	margin-left: 3rem;
}

.block-img-bnr .img-bnr.col-3 .bnr {
	width: calc( ( 100% - 6rem ) / 3 );
	margin-right: 3rem;
}

.block-img-bnr .img-bnr.col-3 .bnr:nth-child( 3n ),
.block-img-bnr .img-bnr.col-3 .bnr:last-child {
	margin-right: 0;
}

.block-img-bnr .img-bnr.col-4 .bnr {
	width: calc( ( 100% - 6rem ) / 4 );
	margin-right: 2rem;
}

.block-img-bnr .img-bnr.col-4 .bnr:nth-child( 4n ),
.block-img-bnr .img-bnr.col-4 .bnr:last-child {
	margin-right: 0;
}

.block-img-bnr .img-bnr.col-5 .bnr {
	width: calc( ( 100% - 8rem ) / 5 );
	margin-right: 2rem;
}

.block-img-bnr .img-bnr.col-5 .bnr:nth-child( 5n ),
.block-img-bnr .img-bnr.col-5 .bnr:last-child {
	margin-right: 0;
}

.block-img-bnr .img-bnr .img {
	display: block;
	line-height: .5;
	position: relative;
	opacity: 1 !important;
}

.block-img-bnr .img-bnr .img::after {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	border: solid 4px var( --main-color );
	opacity: 0;
	visibility: hidden;
	transition: all .2s;
}

.block-img-bnr .img-bnr a {
	text-decoration: none;
	color: #333;
}

.block-img-bnr .img-bnr .cap p {
	line-height: 1.6;
	margin: 1.5rem 0 0 !important;
}

/* 768 */

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

	.block-img-bnr .img-bnr.col-3 .bnr,
	.block-img-bnr .img-bnr.col-4 .bnr,
	.block-img-bnr .img-bnr.col-5 .bnr {
		width: calc( ( 100% - 1.5rem ) / 2 );
		margin: 0 1.5rem 1.5rem 0 !important;
	}

	.block-img-bnr .img-bnr.col-3 .bnr:nth-child( even ),
	.block-img-bnr .img-bnr.col-3 .bnr:last-child,
	.block-img-bnr .img-bnr.col-4 .bnr:nth-child( even ),
	.block-img-bnr .img-bnr.col-4 .bnr:last-child ,
	.block-img-bnr .img-bnr.col-5 .bnr:nth-child( even ),
	.block-img-bnr .img-bnr.col-5 .bnr:last-child {
		margin-right: 0 !important;
	}

}

/* hover */

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

	.block-img-bnr .img-bnr a:hover .img::after {
		opacity: 1;
		visibility: visible;
	}

}


/*
----------------------------------------

block-bnr

----------------------------------------
*/

.block-bnr-wrap .block-bnr a {
	justify-content: center;
	align-items: center;
	min-height: 200px;
	text-decoration: none;
	position: relative;
	padding: 25px 30px 20px;
	background: #000;
	color: #fff;
	text-align: center;
	overflow: hidden;
}

.block-bnr-wrap .block-bnr a span {
	display: block;
	font-size: 1.8rem;
}

.block-bnr-wrap .block-bnr .txt {
	position: relative;
	z-index: 99;
}

.block-bnr-wrap .block-bnr .txt .en {
	font-size: 3.6rem;
	line-height: 1.4;
	text-transform: capitalize;
}

.block-bnr-wrap .block-bnr .img {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}

.block-bnr-wrap .block-bnr .img img {
	display: block;
	width: 100%;
	height: 100%;
	opacity: .5;
	transition: all .6s;
}

/* 1000 */

@media screen and ( max-width: 1000px ) {

	.block-bnr-wrap .block-bnr a span {
		font-size: 1.5rem;
	}

	.block-bnr-wrap .block-bnr .txt .en {
		font-size: 3.2rem;
	}

}

/* 768 */

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

	.block-bnr-wrap .block-bnr a {
		min-height: 120px;
		padding: 20px 15px;
	}

	.block-bnr-wrap .block-bnr .txt {
		font-size: 1.6rem;
	}

}

/* hover */

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

	.block-bnr-wrap .block-bnr a:hover .img img {
		transform: scale( 1.1 );
		opacity: .6;
	}

}


/*
----------------------------------------

block-bnr-m

----------------------------------------
*/

.block-bnr-m {
	padding: 6rem 0;
}

.block-bnr-m > .flex {
	justify-content: center;
	align-items: center;
}

.block-bnr-m > .flex > div {
	width: calc( ( 100% - 40px ) / 2 );
}

.block-bnr-m > .flex > div:nth-of-type( even ) {
	margin-left: 40px;
}

/* 1160 */

@media screen and ( max-width: 1160px ) {

	.block-bnr-m {
		padding: 4rem 0;
	}

	.block-bnr-m > .flex > div {
		width: calc( ( 100% - 20px ) / 2 );
	}

	.block-bnr-m > .flex > div:nth-of-type( even ) {
		margin-left: 20px;
	}

}

/* 768 */

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

	.block-bnr-m {
		padding: 2rem 0;
	}

	.block-bnr-m > .flex > div {
		width: calc( ( 100% - 20px ) / 2 );
	}

	.block-bnr-m > .flex > div:nth-of-type( even ) {
		margin-left: 20px;
	}

	.block-bnr-wrap .block-bnr .txt .en {
		font-size: 2.2rem;
		white-space: nowrap;
	}

	.block-bnr-wrap .block-bnr a span {
		font-size: 1.4rem;
	}

}


/*
----------------------------------------

block-bnr-l

----------------------------------------
*/

.block-bnr-l {
	padding: 6rem 0;
}

.block-bnr-l .block-bnr a {
	min-height: 240px;
}

.block-bnr-l .block-bnr .ttl {
	font-size: 3.2rem;
	line-height: 1.5;
	letter-spacing: 3px;
	margin-bottom: 15px;
}

.block-bnr-l .block-bnr .read {
	letter-spacing: 2px;
}

/* 1160 */

@media screen and ( max-width: 1160px ) {

	.block-bnr-l {
		padding: 4rem 0;
	}

}

/* 1000 */

@media screen and ( max-width: 1000px ) {

	.block-bnr-l .block-bnr .ttl {
		font-size: 2.6rem;
	}

}

/* 768 */

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

	.block-bnr-l {
		padding: 2rem 0;
	}

	.block-bnr-l .block-bnr a {
		min-height: 160px;
	}

	.block-bnr-l .block-bnr .ttl {
		font-size: 1.8rem;
		letter-spacing: .8px;
		margin-bottom: 1rem;
	}

	.block-bnr-l .block-bnr .read {
		letter-spacing: .4px;
	}

}


/*
----------------------------------------

block-contact

----------------------------------------
*/

.block-contact {
	overflow: hidden;
	background: var( --base-color );
	color: var( --base-txt-color );
	position: relative;
	margin-top: 6rem;
	margin-bottom: 6rem;
}

.block-contact .wrap {
	text-align: center;
	padding-top: 80px;
	padding-bottom: 85px;
	position: relative;
	z-index: 99;
}

.block-contact .bg-img {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	opacity: .2;
}

.block-contact .bg-img img {
	width: 100%;
	height: 100%;
}

.block-contact .wrap .ttl {
	font-size: 3.2rem;
	font-weight: normal;
	line-height: 1.5;
	text-align: center;
	letter-spacing: 1.5px;
	padding-bottom: 30px;
	margin-bottom: 26px;
	position: relative;
}

.block-contact .wrap .ttl::after {
	content: '';
	width: 40px;
	height: 2px;
	background: #fff;
	position: absolute;
	bottom: 0;
	left: calc( 50% - 20px );
}

.block-contact .read {
	margin: 0 0 56px;
	letter-spacing: 1.2px;
}

.block-contact .flex {
	justify-content: center;
}

.block-contact .block-contact-btn .btn {
	width: calc( ( 100% - 40px ) / 2 );
}

.block-contact .block-contact-btn .btn + .btn {
	margin-left: 40px;
}

.block-contact .block-contact-btn a {
	min-height: 120px;
	padding: 28px 20px 22px;
	text-decoration: none;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.block-contact .block-contact-btn .tel > a {
	background: #fff;
}

.block-contact .block-contact-btn .tel .num {
	display: inline-block;
	font-size: 3.6rem;
	line-height: 1;
	padding-left: 32px;
	background: url( ../img/block/svg/icon-tel.svg ) left center no-repeat;
}

.block-contact .block-contact-btn .tel .note {
	display: block;
	color: #333;
	letter-spacing: 1px;
	line-height: 1.6;
	margin-top: 3px;
}

.block-contact .block-contact-btn .mail > a {
	background: var( --main-color );
	color: #fff;
}

.block-contact .block-contact-btn .mail .jp {
	display: inline-block;
	font-size: 2.8rem;
	line-height: 1.2;
	margin-top: 2px;
	padding-left: 34px;
	background: url( ../img/block/svg/icon-mail.svg ) left center no-repeat;
}

.block-contact .block-contact-btn .mail .en {
	display: block;
	letter-spacing: 1px;
	text-transform: uppercase;
}

/* 1160 */

@media screen and ( max-width: 1160px ) {

	.block-contact {
		margin-top: 4rem;
		margin-bottom: 4rem;
	}

	.block-contact .block-contact-btn .btn {
		width: calc( ( 100% - 30px ) / 2 );
	}

	.block-contact .block-contact-btn .btn + .btn {
		margin-left: 30px;
	}

}

/* 1000 */

@media screen and ( max-width: 1000px ) {

	.block-contact .wrap {
		padding-top: 60px;
		padding-bottom: 60px;
	}

	.block-contact .wrap .ttl {
		font-size: 3rem;
	}

	.block-contact .read {
		letter-spacing: .4px;
	}

}

/* 768 */

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

	.block-contact {
		margin-top: 2rem;
		margin-bottom: 2rem;
	}

	.block-contact .wrap {
		padding-top: 3rem;
		padding-bottom: 3rem;
	}

	.block-contact .wrap .ttl {
		font-size: 2.2rem;
		padding-bottom: 24px;
		margin-bottom: 20px;
	}

	.block-contact .read {
		text-align: left;
		margin: 0 0 2rem;
	}

	.block-contact .block-contact-btn .btn {
		width: 100%;
	}

	.block-contact .block-contact-btn .btn + .btn {
		margin-left: 0;
	}

	.block-contact .block-contact-btn {
		flex-direction: column;
		margin: 0;
	}

	.block-contact .block-contact-btn > div {
		width: 100%;
	}

	.block-contact .block-contact-btn .tel {
		margin: 0 0 20px;
	}

	.block-contact .block-contact-btn a {
		min-height: 100px;
		padding: 20px;
	}

	.block-contact .block-contact-btn .tel .num {
		font-size: 2.8rem;
	}

	.block-contact .block-contact-btn .mail .jp {
		font-size: 2.2rem;
		margin-top: 4px;
	}

}

/* hover */

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

	.block-contact .block-contact-btn .tel > a:hover {
		background: var( --main-light-color );
		opacity: 1;
	}

	.block-contact .block-contact-btn .mail > a:hover {
		background: var( --main-on-color );
		opacity: 1;
	}

}
