@charset "UTF-8";

/* ------------------------------------------------
                    下層汎用ページ
--------------------------------------------------- */

/*---------- 共通 ----------*/
.sec-page-ttl {
	width: 100%;
	padding: 80px 0 50px;
}
.page-ttl-wrap {
	width: 100%;
	padding-top: 47px;
	text-align: center;
	position: relative;
}
.page-ttl-wrap::before {
	content: '';
	width: 22px;
	height: 22px;
	background: var(--color-light-green);
	border-radius: 50%;
	position: absolute;
	top: 0;
	left: calc(50% - 11px);
	z-index: 1;
}
.page-ttl-wrap::after {
	content: '';
	width: 10px;
	height: 10px;
	background: var(--color-green);
	border-radius: 50%;
	position: absolute;
	top: 6px;
	left: calc(50% - 5px);
	z-index: 1;
}
.page-ttl-ja {
	margin-bottom: 10px;
	color: var(--color-txt-gray);
	font-size: 1.8rem;
    font-weight: 500;
	line-height: 1;
}
.page-ttl-en {
	color: var(--color-txt-black);
	font-size: 5.7rem;
	line-height: 1;
}


@media (max-width: 768px) {
	.sec-page-ttl {
		width: 100%;
		padding: 14vw 0 12vw;
	}
	.page-ttl-wrap {
		width: 100%;
		padding-top: 8vw;
		text-align: center;
		position: relative;
	}
	.page-ttl-wrap::before {
		content: '';
		width: 4vw;
		height: 4vw;
		top: 0;
		left: calc(50% - 2vw);
		z-index: 1;
	}
	.page-ttl-wrap::after {
		content: '';
		width: 2vw;
		height: 2vw;
		top: 1vw;
		left: calc(50% - 1vw);
		z-index: 1;
	}
	.page-ttl-ja {
		margin-bottom: 2vw;
		font-size: 3.4vw;
	}
	.page-ttl-en {
		font-size: 8.66vw;
	}
	
}



/*---------- コンテンツ ----------*/
.sec-general {
	width: 100%;
	margin-bottom: 50px;
}

.contents-set {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
}
.contents-set h2 {
	margin-bottom: 20px;
	color: var(--color-txt-gray);
	text-align: center;
	font-weight: 500;
	font-size: 5.2rem;
	line-height: 2;
}

.contents-set h3 {
	width: 100%;
	margin: 80px auto 10px;
	position: relative;
}
.contents-set h3::before {
	content: '';
	width: 100%;
	height: 1px;
	background: var(--color-txt-black);
	position: absolute;
	top: 1em;
	left: 0;
	z-index: 1;
}
.contents-set h3 span {
	display: inline-block;
	padding: 0 42px;
	background: var(--color-light-gray);
	font-size: 3.0rem;
	font-weight: 500;
	line-height: 1;
	position: relative;
	z-index: 2;
}
.contents-set h3 span::before {
	content: '';
	width: 22px;
	height: 22px;
	background: var(--color-light-green);
	border-radius: 50%;
	position: absolute;
	top: 0.2em;
	left: 0;
	z-index: 1;
}
.contents-set h3 span::after {
	content: '';
	width: 10px;
	height: 10px;
	background: var(--color-green);
	border-radius: 50%;
	position: absolute;
	top: calc(0.2em + 6px);
	left: 6px;
	z-index: 1;
}
.contents-set h4 {
	margin: 40px auto 20px;
	font-weight: 500;
	font-size: 2.4rem;
	line-height: 2;
}
.contents-set sup {
	font-size: 60%;
}

.contents-set p {
	font-size: 1.6rem;
	line-height: 2;
}
.contents-set li {
	margin-bottom: 5px;
	font-size: 1.6rem;
	line-height: 2;
}
.contents-set .list-common-01 > li {
	text-indent: -1.4em;
	padding-left: 1.4em;
}
.contents-set .list-common-02 > li {
	text-indent: -1em;
	padding-left: 1em;
}
.contents-set .list-common-03 > li {
	text-indent: -1.5em;
	padding-left: 1.5em;
}
.contents-set .list-note > li {
	font-size: 1.2rem;
	text-indent: -3.5em;
	padding-left: 3.5em;
}

.contents-set a {
	text-decoration: underline;
	color: var(--color-green);
	position: relative;
}
.contents-set a.is-link-blank {
	padding-right: 21px;
}
.contents-set a.is-link-blank::before {
	content: '';
	width: 16px;
	height: 16px;
	background: var(--color-black);
	border-radius: 50%;
	position: absolute;
	bottom: 0.1em;
	right: 0;
	z-index: 1;
	transition: 0.3s ease-in-out;
}
.contents-set a.is-link-blank::after {
	content: '';
	width: 16px;
	height: 16px;
	background: url("../../img/common/icon_arrow_w.svg") center center no-repeat;
	background-size: 7px;
	position: absolute;
	bottom: 0.1em;
	right: 0;
	z-index: 1;
	transition: 0.3s ease-in-out;
}

.contents-set table {
	width: 100%;
	margin: 20px auto 0;
	border-collapse: collapse;
}
.contents-set table th {
	padding: 20px;
	background: #A6C1B9;
	border: 1px solid #fff;
	text-align: left;
	color: #fff;
}
.contents-set table td {
	padding: 20px;
	background: var(--color-light-gray);
	border: 1px solid #fff;
	text-align: left;
}
.contents-set .txt-gray {
	color: var(--color-txt-gray);
}
.contents-set .table-note {
	width: 100%;
	margin: 20px auto 40px;
	text-indent: -1em;
	padding-left: 1em;
	color: var(--color-txt-gray);
	font-size: 1.4rem;
}

.contents-set p + p {
	margin-top: 20px;
}
.contents-set ul {
	margin-bottom: 20px;
}
.contents-set h2 {
	margin-top: 120px;
}


.box-white {
	width: 100%;
	margin: 80px auto 0;
	padding: 40px 50px;
	background: #fff;
	border-radius: 40px;
}
.box-white h4 {
	margin: 0 auto 20px;
	color: var(--color-txt-gray);
	font-size: 2.0rem;
	line-height: 2;
}

.txt-note {
	margin-left: 10px;
	color: var(--color-txt-gray);
	font-size: 1.4rem;
}





.pages-btn-wrap .btn-more {
	width: 176px;
	margin: 150px auto 0;
}


@media (max-width: 768px) {
	.sec-general {
		width: 100%;
		margin-bottom: 10vw;
	}

	.contents-set {
		width: 100%;
		max-width: initial;
		margin: 0 auto;
	}
	.contents-set h2 {
		margin-bottom: 4vw;
		font-size: 6.6vw;
	}

	.contents-set h3 {
		width: 100%;
		margin: 12vw auto 3vw;
		position: relative;
	}
	.contents-set h3 span {
		padding: 0 5vw 0 8vw;
		font-size: 4.66vw;
	}
	.contents-set h3 span::before {
		content: '';
		width: 4.4vw;
		height: 4.4vw;
		top: 0.1em;
		left: 0;
	}
	.contents-set h3 span::after {
		content: '';
		width: 2.2vw;
		height: 2.2vw;
		top: calc(0.1em + 1.1vw);
		left: 1.1vw;
	}
	.contents-set h4 {
		margin: 8vw auto 4vw;
		font-size: 4.2vw;
	}
	.contents-set p {
		font-size: 3.4vw;
		line-height: 2;
	}
	.contents-set li {
		margin-bottom: 1vw;
		font-size: 3.4vw;
		line-height: 2;
	}
	.contents-set .list-note > li {
		font-size: 2.8vw;
	}

	.contents-set a.is-link-blank {
		padding-right: 4vw;
	}
	.contents-set a.is-link-blank::before {
		content: '';
		width: 3vw;
		height: 3vw;
		bottom: 0.2em;
	}
	.contents-set a.is-link-blank::after {
		content: '';
		width: 3vw;
		height: 3vw;
		background: url("../../img/common/icon_arrow_w.svg") center center no-repeat;
		background-size: 1.5vw;
		bottom: 0.2em;
	}

	.contents-set table {
		width: 100%;
		margin: 4vw auto 0;
	}
	.contents-set table th {
		padding: 2vw 3vw;
	}
	.contents-set table td {
		padding: 2vw 3vw;
		font-size: 3.2vw;
	}
	.contents-set .table-note {
		width: 100%;
		margin: 3vw auto 8vw;
		font-size: 2.8vw;
	}


	.contents-set p + p {
		margin-top: 4vw;
	}
	.contents-set ul {
		margin-bottom: 4vw;
	}
	.contents-set h2 {
		margin-top: 22vw;
	}


	.box-white {
		width: 100%;
		margin: 12vw auto 0;
		padding: 8vw 6vw;
		border-radius: 8vw;
	}
	.box-white h4 {
		margin: 0 auto 4vw;
		font-size: 3.8vw;
	}

	.txt-note {
		margin-left: 2vw;
		font-size: 2.8vw;
	}


	.pages-btn-wrap .btn-more {
		width: 35vw;
		margin: 20vw auto 0;
	}
}


