@charset 'utf-8';

/*---------------------------------------------------------------------- */
/* Individual Styles
------------------------------------------------------------------------ */

/* Utilities
---------------------------------------------------------- */

/* Section --------------------------------- */

.section {
	margin-top: 3rem;
}

.section.divided {
	padding-top: 3rem;
	border-top: .1rem solid var(--border-color01);
}

.section-header {
	display: flex;
	flex-flow: column;
	gap: 2rem 0;
}

.section-header > .title {
	line-height: 1.5;
	color: var(--hilight-color);
	font-weight: 700;
	font-size: 1.6rem;
	letter-spacing: .02em;
}

.section-header > .cat {
	order: -1;
	align-self: flex-start;
	padding: .4rem 2rem;
	border: .1rem solid var(--main-color);
	border-radius: .5rem;
	font-size: 1.4rem;
	letter-spacing: .02em;
}

.section-content {
	margin-top: 2rem;
}

.section-content > .title {
	margin-top: 3rem;
	line-height: 1.4;
	color: var(--hilight-color);
	font-weight: 700;
	font-size: 1.4rem;
	letter-spacing: .02em;
}

.section-content > :is(.subtitle, .txt, .notes, .img) {
	margin-top: 2rem;
}

.section-content > .subtitle {
	font-weight: 700;
}

/* Block --------------------------------- */

/* .block-table */

.block-table {
	display: flex;
	flex-flow: column;
	gap: 3rem 0;
	margin-top: 3rem;
}

/* .block-summary */

.block-summary > .img {
	margin-top: 2rem;
}

.block-summary > .link > .btn {
	margin-top: 2rem;
}

/* .block-outline */

.block-outline > :is(dt, dd) {
	padding: 0 1rem;
}

.block-outline > dt {
	padding-top: 2rem;
	font-weight: 700;
}

.block-outline > dt:first-of-type {
	border-top: .1rem solid var(--border-color01);
}

.block-outline > dd {
	padding-bottom: 2rem;
	border-bottom: .1rem solid var(--border-color01);
}

/* .block-news */

.block-news {
	padding: 3rem 1rem;
	background: #fff;
	border-radius: .5rem;
}

.block-news > .meta {
	display: flex;
	align-items: center;
	gap: 0 1rem;
}

.block-news > .meta > .date {
	font-weight: 600;
	letter-spacing: 0;
}

.block-news > .meta > .cat {
	padding: .4rem .7rem;
	border: .1rem solid var(--main-color);
	border-radius: .3rem;
	font-weight: 700;
	font-size: .9rem;
	letter-spacing: .05em;
}

.block-news > .img {
	margin-top: 1rem;
	clip-path: inset(0 0 round .5rem);
}

.block-news > .title {
	margin-top: 2rem;
	line-height: 1.4;
	font-weight: 700;
	font-size: 1.6rem;
	text-align: justify;
	letter-spacing: .02em;
}

.block-news > .content {
	margin-top: 2rem;
}

/* .block-sdgs */

.block-sdgs > dt {
	font-size: 1.4rem;
	letter-spacing: .02em;
}

.block-sdgs > dd:first-of-type {
	margin-top: .5rem;
}

.block-sdgs > dd {
	text-align: justify;
}

/* .block-merit */

.block-merit > dt {
	margin-top: 2rem;
	font-weight: 700;
}

.block-merit > dt::first-letter {
	color: var(--hilight-color);
}

/* .block-form */

.block-form {
	padding: 3rem 1rem;
	background: #fff;
	border-radius: 1rem;
}

.block-form input[type='text'],
.block-form input[type='tel'],
.block-form input[type='email'],
.block-form select,
.block-form textarea {
	padding: 1rem;
	width: 100%;
	height: 3.7rem;
	border: .1rem solid var(--border-color03);
	border-radius: .5rem;
}

.block-form textarea {
	height: 10rem;
}

.block-form label:has(select) {
	position: relative;
}

.block-form label:has(select)::after {
	position: absolute;
	top: 50%;
	right: 1.2rem;
	width: 1rem;
	height: 1rem;
	border: 0 solid var(--main-color);
	border-width: 0 .2rem .2rem 0;
	content: '';
	pointer-events: none;
	transform: translateY(-50%) rotateZ(45deg);
}

.block-form .wpcf7-not-valid-tip {
	color: #ff0000;
	font-size: 1rem;
}

.block-form .wpcf7-form-control-wrap {
	display: block;
	position: relative;
}

.block-form .wpcf7-form-control-wrap.your-to::after {
	position: absolute;
	top: 50%;
	right: 12px;
	width: 10px;
	height: 10px;
	border: 2px solid #c5c4c4;
	border-width: 0 2px 2px 0;
	content: '';
	transform: translateY(-50%) rotateZ(45deg);
}

.block-form .fields dt {
	display: flex;
	align-items: center;
	margin-top: 2rem;
}

.block-form .fields dt .required {
	margin-left: 1rem;
	padding: 0 .7rem;
	background: var(--hilight-color);
	border-radius: 9999px;
	color: #fff;
	font-size: .8rem;
}

.block-form .fields dd {
	margin-top: .5em;
}

.block-form .fields dd .wpcf7-not-valid-tip {
	margin-top: 1rem;
}

.block-form .fields dd .notes {
	display: block;
	margin-top: 1rem;
	font-size: 1rem;
	letter-spacing: .02em;
}

.block-form .fld-acceptance {
	margin-top: 3rem;
	text-align: center;
}

.block-form .fld-acceptance label {
	position: relative;
}

.block-form .fld-acceptance label::before {
	display: inline-block;
	position: relative;
	top: -.2rem;
	width: 1.8rem;
	height: 1.8rem;
	margin-right: 1rem;
	border: .2rem solid var(--border-color04);
	vertical-align: middle;
	content: '';
}

.block-form .fld-acceptance  label:has(input[type='checkbox']:checked)::after {
	position: absolute;
	top: .1rem;
	left: .7rem;
	width: .4em;
	height: 1.4rem;
	border: .1rem solid var(--border-color04);
	border-width: 0 .2rem .2rem 0;
	content: '';
	transform: rotateZ(45deg);
}

.block-form .fld-acceptance label input[type='checkbox'] {
	position: absolute;
	z-index: 2;
	padding: 0;
	width: 2rem;
	height: 2rem;
	opacity: 0;
}

.wpcf7 form .wpcf7-response-output {
	margin: 1.5rem 0 0 0;
	padding: 1rem 3.5rem;
	border: 0;
	font-size: 1rem;
	text-align: center;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {
	color: #ff0000;
}

.block-form .wpcf7-mail-sent-ok {
	color: inherit;
}

div.wpcf7 .wpcf7-spinner,
div.wpcf7 .wpcf7-spinner::before,
div.wpcf7 .wpcf7-spinner::after {
	width: 1rem;
	height: 1rem;
	border-radius: 50%;
	background: var(--hilight-color);
	color: var(--hilight-color);
	animation: dotFlashing 1s infinite linear alternate;
}

div.wpcf7 .wpcf7-spinner {
	display: block;
	margin: 1rem auto 0;
	animation-delay: .5s;
}

div.wpcf7 .wpcf7-spinner::before,
div.wpcf7 .wpcf7-spinner::after {
	display: inline-block;
	position: absolute;
	top: 0;
	content: '';
}

div.wpcf7 .wpcf7-spinner::before {
	left: -1.5rem;
	animation-delay: 0s;
}

div.wpcf7 .wpcf7-spinner::after {
	left: 1.5rem;
	animation-delay: 1s;
}

@keyframes dotFlashing {
	0% {
		background-color: var(--hilight-color);
	}
	50%,
	100% {
		background-color: rgba(255, 255, 255, 0);
	}
}

/* .block-policy */

.block-policy {
	margin-top: 2rem;
}

.block-policy-content {
	margin-top: 3rem;
	padding: 2rem;
	height: 21.6rem;
	border: .1rem solid var(--border-color04);
	border-radius: 1rem;
	overflow-y: scroll;
}

.block-policy-content > .title {
	font-weight: 700;
	text-align: center;
}

.block-policy-content > .date {
	margin-top: 1rem;
	text-align: right;
}

.block-policy-content > .date + .txt {
	margin-top: 1rem;
}

.block-policy-content > .subtitle {
	margin-top: 1rem;
	font-weight: 700;
}

.block-policy-content > .txt {
	margin-top: 0;
}

/* .block-recaptcha */

.block-recaptcha {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 3rem;
	width: 100%;
	background: #fff;
	box-sizing: border-box;
	font-size: 1rem;
}

.block-recaptcha > dt {
	margin-right: 1.2rem;
	width: 3.3rem;
	height: 3.3rem;
}

.block-recaptcha > dd > a {
	color: inherit;
}

/* .block-notes */

.block-notes > .title {
	margin-top: 2rem;
	color: var(--hilight-color);
	font-weight: 700;
}

.block-notes > ol > li {
	text-align: justify;
}

/* Table --------------------------------- */

/* .table-timing */

.table-timing > caption {
	padding-bottom: 1rem;
	color: var(--hilight-color);
	font-weight: 700;
	font-size: 1.6rem;
	text-align: left;
	letter-spacing: .02em;
}

.table-timing > thead > tr > th {
	width: 16.2rem;
	height: 3rem;
	background: var(--hilight-color);
	color: #fff;
	font-size: 1rem;
	text-align: center;
	vertical-align: middle;
	letter-spacing: .05em;
}

.table-timing > thead > tr > th:not(:first-of-type) {
	width: 5.9rem;
	border-left: .3rem solid #fff;
}

.table-timing > tbody > tr > td {
	padding: 1rem .5rem;
	line-height: 1.55;
	border-bottom: .1rem solid var(--border-color01);
	font-size: .9rem;
	letter-spacing: .05em;
}

/* .table-three-tex */

.table-three-tex {
	line-height: 1.4;
}

.table-three-tex + .table-three-tex {
	margin-top: 3rem;
}

.table-three-tex .align-c {
	text-align: center;
}

.table-three-tex :is(th, td) {
	padding: 1rem;
	border-right: .2rem solid #fff;
	vertical-align: middle;
}

.table-three-tex th {
	border-top: .2rem solid #fff;
	font-weight: 500;
}

.table-three-tex thead th {
	background: var(--bg-color03);
	white-space: nowrap;
	word-break: keep-all;
}

.table-three-tex tbody th {
	background: var(--bg-color01);
}

.table-three-tex tbody td {
	border-bottom: .1rem solid var(--border-color01);
}

/* List --------------------------------- */

/* .list-index */

.list-index {
	display: flex;
	flex-flow: column;
	gap: 3rem;
}

.list-index > li {
	display: flex;
	flex-flow: column;
}

.list-index > li > .num {
	line-height: 1.2;
	color: var(--hilight-color);
	font-weight: 300;
	font-size: 4rem;
	letter-spacing: 0;
}

.list-index > li > .title {
	margin-top: 1.5rem;
	font-size: 1.6rem;
	letter-spacing: .02em;
}

.list-index > li > .txt {
	margin-top: 1.5rem;
}

.list-index > li > .link {
	margin-top: 1rem;
}

.list-index > li > .link > li > .btn {
	margin-top: 1rem;
}

.list-index > li > .img {
	margin-top: 2rem;
}

/* .list-feature */

.list-feature {
	display: flex;
	flex-flow: column;
	gap: 1rem;
	margin-top: 3rem;
}

.list-feature > li {
	display: flex;
	flex-flow: column;
	padding: 0 1rem 2rem;
	background: var(--bg-color01);
	border: .1rem solid var(--border-color02);
	border-radius: 1rem;
}

.list-feature > li > .title {
	font-weight: 700;
	font-size: 1.4rem;
	text-align: center;
	letter-spacing: .02em;
}

.list-feature > li > .txt {
	margin-top: .5rem;
}

.list-feature > li > .icon {
	order: -1;
	width: 26rem;
	height: 11rem;
	mix-blend-mode: multiply;
}

/* .list-comparison */

.list-comparison {
	display: flex;
	flex-flow: column;
	gap: 2rem 0;
}

.list-comparison > li > .title {
	color: var(--hilight-color);
	font-size: 1.6rem;
	letter-spacing: .02em;
}

.list-comparison > li > .num {
	color: var(--hilight-color);
	font-size: 1.6rem;
	text-transform: uppercase;
	letter-spacing: .05em;
}

.list-comparison > li > .title + .num {
	margin-top: 1rem;
}

.list-comparison > li > dl {
	display: flex;
	flex-flow: column;
	align-items: center;
}

.list-comparison > li > dl:nth-of-type(2) {
	position: relative;
	margin-top: 2rem;
	padding-top: 4.5rem;
}

.list-comparison > li > dl:nth-of-type(2)::before {
	position: absolute;
	top: -1.1rem;
	left: 50%;
	width: 2.2rem;
	height: 2.2rem;
	border: 0 solid var(--border-color01);
	border-width: 0 .2rem .2rem 0;
	content: '';
	transform: translateX(-50%) rotateZ(45deg);
}

.list-comparison > li > dl > dt {
	margin-top: .5rem;
	font-size: 1.8rem;
	text-transform: uppercase;
	letter-spacing: 0;
}

.list-comparison > li > dl > dd {
	order: -1;
	margin-top: .5rem;
}

/* .list-step */

.list-step {
	display: flex;
	flex-flow: column;
	gap: 2rem 0;
	margin-top: 6rem;
}

.list-step > li {
	display: grid;
	grid-template-columns: 5.7rem 1fr;
	grid-template-areas:
		'num title'
		'num txt'
		'num notes';
	position: relative;
}

.list-step > li:not(:first-of-type) {
	padding-top: 4rem;
}

.list-step > li:not(:first-of-type)::before {
	position: absolute;
	top: -1.1rem;
	left: .5rem;
	width: 2.2rem;
	height: 2.2rem;
	border: 0 solid var(--border-color01);
	border-width: 0 .2rem .2rem 0;
	content: '';
	transform: rotateZ(45deg);
}

.list-step > li > .num {
	grid-area: num;
	line-height: 1.2;
	color: var(--hilight-color);
	font-weight: 300;
	font-size: 3.6rem;
	letter-spacing: 0;
}

.list-step > li > .title {
	grid-area: title;
	margin-top: 1rem;
	font-size: 1.6rem;
	letter-spacing: .02em;
}

.list-step > li > .txt {
	grid-area: txt;
	letter-spacing: 0;
}

.list-step > li > .notes {
	grid-area: notes;
	margin: 1.5rem 0 0 -1.6rem;
	padding: 2rem;
	background: var(--bg-color01);
	border: .1rem solid var(--border-color02);
	border-radius: .5rem;
}

.list-step > li > .notes > dt {
	color: var(--hilight-color);
	font-weight: 700;
}

.list-step > li > .notes > dd {
	margin-top: .5rem;
	text-align: justify;
}

/* .list-summary */

.list-summary {
	display: flex;
	flex-flow: column;
	gap: 3rem 0;
	margin-top: 2.5rem;
}

.list-summary > li > .title {
	color: var(--hilight-color);
	font-weight: 700;
	font-size: 1.4rem;
	letter-spacing: .02em;
}

.list-summary > li > .txt {
	margin-top: .5rem;
}

.list-summary > li > .img {
	margin-top: 1.5rem;
}

.list-summary > li > .more > .btn {
	margin-top: 2rem;
}

/* .list-benefit */

.list-benefit {
	display: flex;
	flex-flow: column;
	gap: 4rem 0;
	margin-top: 3rem;
}

.list-benefit > li:not(:first-of-type) {
	padding-top: 3rem;
	border-top: .1rem solid var(--border-color01);
}

.list-benefit > li > .num {
	line-height: 1.2;
	color: var(--hilight-color);
	font-weight: 300;
	font-size: 3rem;
	letter-spacing: 0;
}

.list-benefit > li > .title {
	margin-top: 1rem;
	line-height: 1.4;
	font-size: 1.6rem;
	letter-spacing: .02em;
}

.list-benefit > li > .txt {
	margin-top: 1rem;
}

.list-benefit > li > .img {
	margin-top: 2rem;
}

.list-benefit > li > .notes {
	margin-top: 2rem;
	text-align: justify;
}

/* .list-imgs */

.list-imgs {
	display: flex;
	flex-flow: column;
	gap: 2.5rem 0;
	margin-top: 2.5rem;
}

.list-imgs.row-sp {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
}

.list-imgs > li {
	display: flex;
	flex-flow: column;
}

.list-imgs > li > .title {
	margin-top: 1rem;
	font-size: 1rem;
	letter-spacing: .02em;
}

.list-imgs > li > .img {
	order: -1;
}

/* .list-history */

.list-history > li {
	position: relative;
	padding: 2rem 1rem;
	border-bottom: .1rem solid var(--border-color01);
}

.list-history > li:first-of-type {
	border-top: .1rem solid var(--border-color01);
}

.list-history > li > .year {
	position: absolute;
	top: 2rem;
	left: 1rem;
	font-weight: 700;
}

.list-history > li > dl > dt:first-of-type {
	margin-left: 5rem;
}

.list-history > li > dl > dt:not(:first-of-type) {
	margin-top: 2rem;
}

.list-history > li > dl > dt {
	font-weight: 700;
}

.list-history > li > dl > dd {
	margin-top: .5rem;
}

/* .list-sdgs */

.list-sdgs {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.6rem;
	margin-top: 2.5rem;
}

/* .list-photos */

.list-photos {
	display: flex;
	flex-flow: column;
	gap: 1rem 0;
}

/* .list-person */

.list-person {
	display: flex;
	flex-flow: column;
	gap: 3rem 0;
}

.list-person > li > .num {
	font-weight: 700;
}

.list-person > li > .img {
	margin-top: .5rem;
}

.list-person > li > .title {
	margin-top: 1.5rem;
	line-height: 1.7;
	color: var(--hilight-color);
	font-size: 1.4rem;
	letter-spacing: .02em;
	white-space: pre-wrap;
}

.list-person > li > .name {
	margin-top: 1.5rem;
	font-weight: 700;
}

.list-person > li > .profile {
	margin-top: 1rem;
	font-size: 1rem;
	letter-spacing: .02em;
}

.list-person > li > .link > .btn {
	margin-top: 1.5rem;
}

/* .list-point */

.list-point {
	margin-top: 2rem;
}

.list-point > li {
	padding-left: 1.3em;
	font-weight: 700;
	text-indent: -1.3em;
}

.list-point > li::first-letter {
	color: var(--hilight-color);
}

/* .list-years */

.list-years {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
}

.list-years > li > .btn {
	margin-top: 0;
}

/* .list-instance */

.list-instance {
	display: flex;
	flex-flow: column;
	gap: 3rem 0;
	margin-top: 5rem;
}

.list-instance  > li {
	display: flex;
	flex-flow: column;
}

.list-instance  > li > .meta {
	display: flex;
	gap: 0 1rem;
}

.list-instance  > li > .meta > :is(.year, .area) {
	padding: .2rem 1.5rem;
	border: .15rem solid var(--main-color);
	border-radius: 9999px;
}

.list-instance  > li > .title {
	margin-top: .5rem;
}

.list-instance  > li > .type {
	display: flex;
	gap: 0 1.5rem;
}

.list-instance > li > .tag {
	display: flex;
	flex-flow: row wrap;
	gap: 1rem;
	margin-top: 1rem;
}

.list-instance > li > .tag > li {
	padding: .4rem 1rem;
	background: var(--bg-color02);
	border-radius: .5rem;
	font-size: 1rem;
}

.list-instance > li > .tag > li > span {
	font-size: .8rem;
}

.list-instance > li > .gallery {
	order: -1;
	margin-bottom: 2rem;
	height: 18.4rem;
	background: var(--bg-color01);
	clip-path: inset(0 0 round .5rem);
}

.list-instance > li > .gallery .swiper {
	width: 100%;
	height: 100%;
}

.list-instance  > li > .gallery .swiper-slide img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.list-instance > li > .gallery :is(.swiper-button-prev, .swiper-button-next) > svg {
	display: none;
}

.list-instance > li > .gallery .swiper-button-prev {
	left: 0;
}

.list-instance > li > .gallery .swiper-button-next {
	right: 0;
}

.list-instance > li > .gallery :is(.swiper-button-prev, .swiper-button-next)::before {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 1.9rem;
	height: 1.9rem;
	background: var(--main-color);
	border-radius: 50%;
	content: '';
	transform: translate(-50%, -50%);
}

.list-instance > li > .gallery :is(.swiper-button-prev, .swiper-button-next)::after {
	position: absolute;
	top: 50%;
	left: 50%;
	width: .7rem;
	height: .7rem;
	border: .1rem solid #fff;
	content: '';
	transform: translate(-50%, -50%) rotateZ(45deg);
}

.list-instance > li > .gallery .swiper-button-prev::after {
	margin-left: .1rem;
	border-width: 0 0 .1rem .1rem;
}

.list-instance > li > .gallery .swiper-button-next::after {
	margin-left: -.1rem;
	border-width: .1rem .1rem 0 0;
}

/* .list-instance.no-img */

.list-instance.no-img {
	gap: 0;
	margin-top: 0;
}

.list-instance.no-img > li {
	padding: 1.5rem 0;
	border-bottom: .1rem solid var(--border-color01);
}

.list-instance.no-img > li:first-of-type {
	border-top: .1rem solid var(--border-color01);
}

.list-instance.no-img > li > .gallery {
	display: none;
}

/* .list-voice */

.list-voice {
	margin-top: 5.5rem;
}

.list-voice > li {
	display: flex;
	flex-flow: column;
	padding: 3rem 0;
}

.list-voice > li:not(:first-of-type) {
	border-top: .1rem solid var(--border-color01);
}

.list-voice > li > .title {
	margin-top: 3rem;
	color: var(--hilight-color);
	font-weight: 700;
	font-size: 1.6rem;
	letter-spacing: .02em;
}

.list-voice > li > .txt {
	margin-top: 2rem;
}

.list-voice > li > .img {
	order: -1;
}

/* list-thee-tex */

.list-thee-tex {
	display: flex;
	flex-flow: column;
	gap: 1rem 0;
	margin: 6rem -2rem 0;
	padding: 2rem 2rem 6rem;
	background: var(--bg-color01);
}

.list-thee-tex > li {
	padding-bottom: 2rem;
	background: #fff;
	clip-path: inset(0 0 round .5rem);
}

.list-thee-tex > li > .title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0 1rem;
	height: 6rem;
	color: #fff;
	font-weight: 700;
}

.list-thee-tex > li > .title.color01 { background: #d61718; }
.list-thee-tex > li > .title.color02 { background: #2e64a8; }
.list-thee-tex > li > .title.color03 { background: #9c4f93; }
.list-thee-tex > li > .title.color04 { background: #f9bf39; }
.list-thee-tex > li > .title.color05 { background: #01a9a8; }
.list-thee-tex > li > .title.color06 { background: #fc7d49; }

.list-thee-tex > li > .title > span {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 8rem;
	height: 3rem;
	background: #fff;
	border-radius: 9999px;
	color: var(--main-color);
	letter-spacing: .05em;
}

.list-thee-tex > li > :is(.name, .more) {
	margin: 0 1rem;
}

.list-thee-tex > li > .name {
	margin-top: 2rem;
	line-height: 1.7;
	font-weight: 700;
	font-size: 1.4rem;
	letter-spacing: .02em;
}

.list-thee-tex > li > .more > .btn {
	margin-top: 2rem;
}

/* .list-graph */

.list-graph {
	display: flex;
	flex-flow: column;
	gap: 3rem 0;
}

.list-graph > li > .title {
	color: var(--hilight-color);
	font-weight: 700;
	font-size: 1.4rem;
}

.list-graph > li > .img {
	margin-top: .5rem;
}

.list-graph > li > .txt {
	margin-top: 2rem;
}

/* .list-revision */

.list-revision {
	margin-top: 3rem;
}

.list-revision > li {
	display: flow-root;
	padding: 2rem 0;
	border-top: .1rem solid var(--hilight-color);
}

.list-revision > li > .num {
	float: left;
	display: flex;
	flex-flow: column;
	padding-left: 1rem;
	width: 6rem;
	line-height: 1.2;
	font-weight: 700;
	font-size: 1.4rem;
	letter-spacing: .05em;
	overflow: hidden;
}

.list-revision > li > .num > span {
	color: var(--hilight-color);
	font-weight: 300;
	font-size: 4.5rem;
	letter-spacing: 0;
}

.list-revision > li > .title {
	line-height: 1.2;
	color: var(--hilight-color);
	font-size: 1.4rem;
}

.list-revision > li > .txt {
	margin: 1rem 1rem 0 0;
}

.list-revision > li > .subtitle {
	margin-top: 2rem;
}

/* .list-videos */

.list-videos {
	display: flex;
	flex-flow: column;
	gap: 3rem 0;
	margin-top: 3rem;
}

.list-videos > li {
	display: flex;
	flex-flow: column;
}

.list-videos > li > .title {
	margin-top: 2rem;
	color: var(--hilight-color);
	font-weight: 700;
	font-size: 1.4rem;
}

.list-videos > li > .txt {
	margin-top: 1rem;
}

.list-videos > li > .img {
	order: -1;
}

.list-videos > li > .img > a {
	position: relative;
}

.list-videos > li > .img > a::after {
	position: absolute;
	bottom: 1rem;
	right: 1rem;
	width: 3rem;
	height: 3rem;
	background: url(../images/icon-video.svg) no-repeat left top;
	background-size: 100%;
	content: '';
}

.list-videos > li > .more > .btn {
	margin-top: 2rem;
}

/* Other --------------------------------- */

/* .lnav */

.lnav {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.5rem 1rem;
}

.lead + .lnav {
	margin-top: 2.5rem;
}

.lnav > li {
	padding-bottom: .8rem;
	border-bottom: .15rem solid var(--hilight-color);
}

.lnav > li > a {
	display: flex;
	flex-flow: column;
	justify-content: center;
	position: relative;
	height: 100%;
	line-height: 1.35;
	color: var(--hilight-color);
	font-weight: 700;
	font-size: 1.1rem;
	text-decoration: none;
	letter-spacing: .02em;
}

.lnav > li > a::after {
	position: absolute;
	top: 50%;
	right: 1rem;
	width: .9rem;
	height: .9rem;
	margin-top: -.2rem;
	border: 0 solid var(--hilight-color);
	border-width: 0 .2rem .2rem 0;
	content: '';
	transform: translateY(-50%) rotateZ(45deg);
}

/* .video */

.video {
	position: relative;
	margin-top: 3rem;
	width: 28rem;
}

.video iframe {
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
}

.video + .caption {
	font-size: 1rem;
	letter-spacing: .02em;
}

/* .map */

.map {
	position: relative;
	margin-top: 2rem;
	width: 28rem;
	height: 15.6rem;
	clip-path: inset(0 0 round .5rem);
}

.map iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* .pagination */

.pagination {
	display: flex;
	justify-content: center;
	gap: 0 1rem;
	position: relative;
	margin-top: 3rem;
}

.pagination :is(.page, .current) {
	display: grid;
	place-content: center;
	width: 2.7rem;
	height: 2.7rem;
	background: #d8d8d8;
	border-radius: 50%;
	font-family: 'Barlow', sans-serif;
}

.pagination :is(.page, .previouspostslink, .nextpostslink) {
	text-decoration: none;
	transition: all .3s;
}

.pagination .page:hover {
	color: #fff;
	background: var(--hilight-color);
}

.pagination .current {
	background: var(--main-color);
	color: #fff;
}

.pagination :is(.previouspostslink, .nextpostslink) {
	position: absolute;
	top: 0;
	width: 1rem;
	height: 2.7rem;
	text-indent: -9999px;
	transition: all .3s;
}

.pagination .previouspostslink {
	left: 0;
}

.pagination .nextpostslink {
	right: 0;
}

.pagination :is(.previouspostslink, .nextpostslink):hover {
	opacity: .7;
}

.pagination :is(.previouspostslink, .nextpostslink)::after {
	position: absolute;
	top: 50%;
	width: .8rem;
	height: .8rem;
	border: 0 solid var(--main-color);
	content: '';
	transform: translateY(-50%) rotateZ(45deg);
}

.pagination .previouspostslink::after {
	left: 0;
	border-width: 0 0 .2rem .2rem;
}

.pagination .nextpostslink::after {
	right: 0;
	border-width: .2rem .2rem 0 0;
}

/* .scroller-sp */

.scroller-sp {
	position: relative;
	margin-top: .5rem;
	overflow-x: auto;
}

.scroller-sp::after {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 10.6rem;
	height: 9.5rem;
	background: rgb(255 255 255 / .8) url(../images/icon-scroll.svg) no-repeat center center;
	background-size: 6.6rem 4.9rem;
	border-radius: 10px;
	overflow: hidden;
	box-shadow: 0 .3rem .6rem rgb(0 0 0 / .15);
	pointer-events: none;
	content: '';
	transform: translate(-50%, -50%);
	transition: opacity .3s;
}

.scroller-sp.touched::after {
	opacity: 0;
}

.scroller-sp > * {
	min-width: 60rem;
}

/* Renovation Page
---------------------------------------------------------- */

/* Renovation Top --------------------------------- */

.renovation-top #main-content > .link {
	margin-top: 1.5rem;
}

.renovation-top #main-content > .link .btn {
	margin-top: 1rem;
}

.renovation-top .section-header > .img {
	display: none;
}

.renovation-top #section01 .section-content {
	margin-top: 3rem;
}

/* Renovation Comparison --------------------------------- */

.renovation-comparison .section {
	margin-top: 2rem;
}

.renovation-comparison .section-content {
	margin-top: 2.5rem;
}

.renovation-comparison #section01 {
	margin-top: 6.5rem;
}

/* Renovation Timing --------------------------------- */

.renovation-timing #main-content > .img {
	margin: 3rem auto 0;
	width: 26.9rem;
	height: 21.2rem;
}

/* Renovation Consideration --------------------------------- */

.renovation-consideration .section {
	margin-top: 0;
}

/* Renovation Skyscraper --------------------------------- */

.renovation-skyscraper .section {
	margin-top: 4rem;
}

.renovation-skyscraper .section-content > .txt {
	margin-top: 3rem;
}

.renovation-skyscraper #section01 {
	margin-top: 8rem;
}

.renovation-skyscraper #section04 .section-content > .link > .btn {
	margin-top: 6rem;
}

/* Renovation External Insulation --------------------------------- */

.renovation-external_insulation #section01 {
	margin-top: 6rem;
}

/* Company Top --------------------------------- */

.company-top #main-content {
	margin-top: 6rem;
}

/* Company Message --------------------------------- */

.company-message #main-content > .sing > span {
	font-size: 1.4rem;
	letter-spacing: .02em;
}

/* Company History --------------------------------- */

.company-history #main-content {
	margin-top: 6rem;
}

/* Company Philosophy --------------------------------- */

.company-philosophy #section01 .section-content > .copy {
	margin-top: 3rem;
	font-size: 1.4rem;
	letter-spacing: .02em;
}

/* News Page
---------------------------------------------------------- */

.news.single #main-content {
	margin-top: 0;
}

/* Recruit Page
---------------------------------------------------------- */

/* Recruit Top --------------------------------- */

.recruit-top #main-content > .link {
	margin-top: 1.5rem;
}

.recruit-top #main-content > .link .btn {
	margin-top: 1rem;
}

/* Recruit Person Single --------------------------------- */

.recruit-person.single .section-header {
	gap: 0;
}

.recruit-person.single .section-header > .title {
	font-weight: 500;
	white-space: pre-wrap;
}

.recruit-person.single .section-header > .name {
	margin-top: 2rem;
	font-weight: 700;
}

.recruit-person.single .section-header > .profile {
	margin-top: 1rem;
	font-size: 1rem;
	letter-spacing: .02em;
}

.recruit-person.single .section-content .unit {
	margin-top: 3rem;
}

.recruit-person.single .section-content .unit .num {
	line-height: 1.5;
	color: var(--hilight-color);
	font-weight: 700;
	font-size: 3.6rem;
	letter-spacing: .02em;
}

.recruit-person.single .section-content .unit .title {
	margin-top: 1rem;
	line-height: 1.6;
	color: var(--hilight-color);
	font-weight: 500;
	font-size: 1.6rem;
	letter-spacing: .02em;
}

.recruit-person.single .section-content .unit .txt {
	margin-top: 1.5rem;
	text-align: justify;
}

.recruit-person.single .section-content .img {
	margin: 3rem 0;
}

/* Contact Page
---------------------------------------------------------- */

.contact #footer {
	padding-top: 2rem;
}

.contact #block-contact {
	display: none;
}

/* Instance Page
---------------------------------------------------------- */

/* Instance Archive --------------------------------- */

.instance.archive #main-content > .link > li > .btn {
	margin-top: 1rem;
}

.instance.archive #main-content > .cases {
	margin-top: 2rem;
}

.instance.archive #main-content > .cases > .img {
	margin: 0 auto;
	width: 25.1rem;
	height: 24.1rem;
}

.instance.archive #main-content > .cases > ul {
	margin-top: 1rem;
}

.instance.archive #main-content > .cases > ul > li {
	display: grid;
	grid-template-columns: auto 1fr 12.5rem;
	gap: 0 1.9rem;
	align-items: center;
	padding: 1.5rem 0;
}

.instance.archive #main-content > .cases > ul > li:not(:first-of-type) {
	border-top: .1rem solid var(--border-color04);
}

.instance.archive #main-content > .cases > ul > li > :is(.name, .num) {
	font-weight: 700;
	font-size: 1.4rem;
}

.instance.archive #main-content > .cases > ul > li > .num {
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

.instance.archive #main-content > .cases > ul > li > .num > strong {
	margin: -.5rem .5rem 0 0;
	color: var(--hilight-color);
	font-size: 2.2rem;
	letter-spacing: .05em;
}

.instance.archive #main-content > .cases > ul > li > .more > .btn {
	margin-top: 0;
	width: 100%;
}

/* Instance Three-tex Archive --------------------------------- */

.instance-three-tex.post-type-archive .section-header {
	gap: 1rem 0;
}

.instance-three-tex.post-type-archive .section-header > .title {
	color: inherit;
}
.instance-three-tex.tax-original_cat .section-content .list-instance {
	margin-top: 0;
}

/* Three-tex Page
---------------------------------------------------------- */

/* Three-tex Top --------------------------------- */

.three-tex-top #main-content {
	padding-bottom: 0;
}

.three-tex-top .map-sp {
	margin: 6rem auto 0;
	width: 25.9rem;
	height: 27.8rem;
}

.three-tex-top .map-sp svg {
	width: 100%;
	height: auto;
}

/* Three-tex Ceiling --------------------------------- */

.three-tex-ceiling .table-three-tex :is(th, td) {
	padding: 1rem .5rem;
	text-align: center;
}

.three-tex-ceiling .table01 tbody th {
	width: 35%;
}

.three-tex-ceiling .table01 tbody td {
	width: calc(65% / 5);
}

.three-tex-ceiling .table02 tbody th {
	width: 15.5%;
}

.three-tex-ceiling .table02 tbody td {
	width: calc(69% / 3);
}

/* Three-tex Paint --------------------------------- */

.three-tex-paint .table01 tbody td {
	width: calc(70% / 4);
}

.three-tex-paint .table01 tbody td:nth-child(1) {
	width: 11%;
}

.three-tex-paint .table01 tbody td:nth-child(2) {
	width: 18%;
}

/* Three-tex Repair Reserves --------------------------------- */

.three-tex-repair_reserves .list-imgs > li > .title {
	font-weight: 700;
	font-size: inherit;
}

.three-tex-repair_reserves .list-imgs > li > .img {
	order: 1;
	margin-top: 1rem;
}




/*---------------------------------------------------------------------- */
/* 768px Tablet & PC Styles
------------------------------------------------------------------------ */

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

/* Utilities
---------------------------------------------------------- */

/* Section --------------------------------- */

.section {
	margin-top: 10rem;
}

.section.divided {
	padding-top: 9rem;
}

.section-header {
	gap: 5rem 0;
}

.section-header > .title {
	line-height: 1.65;
	font-size: 4rem;
}

.section-header > .cat {
	padding: .6rem 3rem;
	border-width: .2rem;
	border-radius: 2rem;
	font-size: 2.6rem;
}

.section-content {
	margin-top: 4.5rem;
}

.section-content > .title {
	margin-top: 10rem;
	font-size: 2.6rem;
}

.section-content > :is(.lead, .txt, .notes) {
	width: 80rem;
}

.section-content > .notes {
	font-size: 1.6rem;
}

/* Block --------------------------------- */

/* .block-table */

.block-table {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: start;
	gap: 5.5rem 4rem;
	margin-top: 10rem;
}

.block-table02 {
	grid-template-rows: auto 1fr;
	grid-template-areas:
		'table01 table03'
		'table02 table03';
	margin-top: 3rem;
}

.block-table02 > .table01 {
	grid-area: table01;
}

.block-table02 > .table02 {
	grid-area: table02;
}

.block-table02 > .table03 {
	grid-area: table03;
}

/* .block-summary */

.block-summary {
	display: grid;
	grid-template-columns: 59rem 1fr;
	grid-template-rows: auto 1fr;
	grid-template-areas:
		'txt  img'
		'link img';
	gap: 0 7.5rem;
}

.block-summary > .txt {
	grid-area: txt;
}

.block-summary > .link {
	grid-area: link;
}

.block-summary > .link > .btn {
	margin-top: 4rem;
}

.block-summary > .img {
	grid-area: img;
	margin-top: 0;
}

/* .block-outline */

.block-outline {
	display: grid;
	grid-template-columns: 34rem 1fr;
	width: 103.5rem;
}

.block-outline > :is(dt, dd) {
	padding: 3rem 0;
	border-bottom: .1rem solid var(--border-color01);
}

.block-outline > dt {
	padding-left: 3rem;
}

.block-outline > dd:first-of-type {
	border-top: .1rem solid var(--border-color01);
}

/* .block-news */

.block-news {
	padding: 10rem 12rem;
	border-radius: 1rem;
}

.block-news > .meta > .date {
	font-size: 2rem;
}

.block-news > .meta > .cat {
	padding: .5rem 1.8rem;
	border-width: .15rem;
	border-radius: .5rem;
	font-size: 1.4rem;
}

.block-news > .img {
	margin-top: 3rem;
	clip-path: inset(0 0 round 1rem);
}

.block-news > :is(.title, .content) {
	width: 80rem;
}

.block-news > .title {
	margin-top: 5rem;
	line-height: 1.85;
	font-size: 2.6rem;
}

.block-news > .content {
	margin-top: 5rem;
}

/* .block-sdgs */

.block-sdgs {
	width: 80rem;
}

.block-sdgs > dt {
	font-size: 2.6rem;
}

.block-sdgs > dd:first-of-type {
	margin-top: 1rem;
}

/* .block-notes */

.block-notes {
	width: 80rem;
}

.block-notes > .title {
	margin-top: 3rem;
}

/* .block-form */

.block-form {
	padding: 10rem 15.5rem;
}

.block-form input[type='text'],
.block-form input[type='tel'],
.block-form input[type='email'],
.block-form select,
.block-form textarea {
	padding: 2rem;
	height: 8rem;
	border-radius: 1rem;
	font-size: 1.8rem;
}

.block-form textarea {
	height: 28rem;
}

.block-form label:has(select)::after {
	right: 3.5rem;
	width: 1.5rem;
	height: 1.5rem;
}

.block-form .wpcf7-not-valid-tip {
	font-size: 1.6rem;
}

.block-form .wpcf7-form-control-wrap.your-to::after {
	right: 24px;
}

.block-form .fields {
	display: flex;
	flex-flow: row wrap;
	align-items: flex-start;
	gap: 0 2rem;
}

.block-form .fields dt,
.block-form .fields dd {
	margin-top: 3rem;
}

.block-form .fields dt {
	padding-top: 2.6rem;
	width: 28.5rem;
}

.block-form .fields dt .required {
	margin-left: 1.5rem;
	padding: 0 .8rem;
	font-size: 1.2rem;
}

.block-form .fields dt:not(:last-of-type) .required {
	margin-left: auto;
}

.block-form .fields dd:last-of-type {
	margin-top: 1.5rem;
	width: 100%;
}

.block-form .fields dd {
	width: calc(100% - 30.5rem);
}

.block-form .fields dd .notes {
	font-size: 1.6rem;
}

.block-form .fld-acceptance {
	margin-top: 5rem;
}

.block-form .fld-acceptance label::before {
	width: 2.8rem;
	height: 2.8rem;
}

.block-form .fld-acceptance  label:has(input[type='checkbox']:checked)::after {
	top: .1rem;
	left: .9rem;
	width: .5em;
	height: 2.2rem;
}

.wpcf7 form .wpcf7-response-output {
	margin-top: 3rem;
	padding: 1rem 0;
	font-size: 1.6rem;
}

div.wpcf7 .wpcf7-spinner,
div.wpcf7 .wpcf7-spinner::before,
div.wpcf7 .wpcf7-spinner::after {
	width: 2rem;
	height: 2rem;
}

div.wpcf7 .wpcf7-spinner::before {
	left: -3rem;
}

div.wpcf7 .wpcf7-spinner::after {
	left: 3rem;
}

/* .block-policy */

.block-policy {
	margin-top: 5rem;
}

.block-policy-content {
	margin-top: 5rem;
	padding: 7.5rem 6.5rem;
	height: 49.3rem;
}

.block-policy-content > .date {
	margin-top: 3rem;
}

.block-policy-content > .date + .txt {
	margin-top: 3rem;
}

.block-policy-content > .subtitle {
	margin-top: 3rem;
}

/* .block-recaptcha */

.block-recaptcha {
	margin-top: 4rem;
	font-size: 1.6rem;
}

.block-recaptcha > dt {
	margin-right: 2rem;
	width: 4.8rem;
	height: 4.8rem;
}

/* Table --------------------------------- */

/* .table-timing */

.table-timing > caption {
	padding-bottom: 2rem;
	font-size: 2.6rem;
}

.table-timing > thead > tr > th {
	width: 36rem;
	height: 4.4rem;
	font-size: 1.6rem;
}

.table-timing > thead > tr > th:not(:first-of-type) {
	width: 12.7rem;
	border-left-width: .5rem;
}

.table-timing > tbody > tr > td {
	padding: 1.5rem 2.5rem 1.5rem 1rem;
	line-height: 1.4;
	font-size: 1.6rem;
}

/* .table-three-tex */

.table-three-tex {
	min-width: 0;
	width: 80rem;
	font-size: 1.6rem;
}

.table-three-tex :is(th, td) {
	border-right-width: .3rem;
}

.table-three-tex th {
	border-top-width: .3rem;
}

/* List --------------------------------- */

/* .list-index */

.list-index {
	gap: 9.5rem;
}

.list-index > li {
	display: grid;
	grid-template-areas:
		'num   num'
		'title title'
		'txt   img'
		'link  img';
	grid-template-columns: 60rem 70rem;
	grid-template-rows: auto auto auto 1fr;
	gap: 0 6rem;
}

.list-index > li > .num {
	grid-area: num;
	font-size: 10rem;
}

.list-index > li > .title {
	grid-area: title;
	font-size: 4rem;
}

.list-index > li > .txt {
	grid-area: txt;
	margin-top: 4.5rem;
}

.list-index > li > .link {
	grid-column-gap: link;
	margin-top: 3rem;
}

.list-index > li > .link > li > .btn {
	margin-top: 2rem;
}

.list-index > li > .img {
	grid-area: img;
	margin-top: 5rem;
}

/* .list-feature */

.list-feature {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2rem;
	margin-top: 5rem;
}

.list-feature > li {
	padding: 0 5rem 4rem;
	gap: 0;
}

.list-feature > li > .title {
	font-size: 2.6rem;
}

.list-feature > li > .txt {
	margin-top: 1.5rem;
	letter-spacing: .02em;
}

.list-feature > li > .icon {
	width: 54.6rem;
	height: 21rem;
}

/* .list-comparison */

.list-comparison {
	gap: 8.5rem 0;
}

.list-comparison > li {
	display: flex;
	flex-flow: row wrap;
	gap: 0 10rem;
}

.list-comparison > li > :is(.title, .num) {
	width: 100%;
}

.list-comparison > li > .title {
	font-size: 4rem;
}

.list-comparison > li > .num {
	font-size: 2.6rem;
}

.list-comparison > li > .title + .num {
	margin-top: 3rem;
}

.list-comparison > li > dl {
	width: 63rem;
}

.list-comparison > li > dl:nth-of-type(2) {
	margin-top: 0;
	padding-top: 0;
}

.list-comparison > li > dl:nth-of-type(2)::before {
	top: 20rem;
	left: -7.8rem;
	width: 3.6rem;
	height: 3.6rem;
	border-width: .4rem .4rem 0 0;
	transform: rotateZ(45deg);
}

.list-comparison > li > dl > dt {
	margin-top: 1rem;
	font-size: 3rem;
}

.list-comparison > li > dl > dd {
	margin-top: 1rem;
}

/* .list-step */

.list-step {
	width: 80rem;
	gap: 3rem 0;
	margin-top: 11.5rem;
}

.list-step > li {
	grid-template-columns: 14.5rem 1fr;
}

.list-step > li:not(:first-of-type) {
	padding-top: 9rem;
}

.list-step > li:not(:first-of-type)::before {
	top: -1.8rem;
	left: 3rem;
	width: 3.6rem;
	height: 3.6rem;
	border-width: .0 .4rem .4rem 0;
}

.list-step > li > .num {
	padding-left: .5rem;
	font-size: 10rem;
}

.list-step > li > .title {
	margin-top: 2.8rem;
	font-size: 4rem;
}

.list-step > li > .txt {
	margin-top: 2.5rem;
}

.list-step > li > .notes {
	margin: 2.5rem -4rem 0;
	padding: 4rem;
	border-radius: 1rem;
}

.list-step > li > .notes > dt {
	font-size: 2rem;
}

.list-step > li > .notes > dd {
	margin-top: 2rem;
}

/* .list-summary */

.list-summary {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 6rem 2rem;
	margin-top: 8rem;
}

.list-summary > li {
	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 4;
	gap: 0;
}

.list-summary > li > .title {
	font-size: 2.6rem;
}

.list-summary > li > .txt {
	margin-top: 2.5rem;
}

.list-summary > li > .img {
	margin-top: 2.5rem;
}

.list-summary > li > .more > .btn {
	margin-top: 3rem;
}

/* .list-benefit */

.list-benefit {
	gap: 15rem 0;
	margin-top: 12rem;
}

.list-benefit > li:not(:first-of-type) {
	padding-top: 8rem;
}

.list-benefit > li > .num {
	font-size: 10rem;
}

.list-benefit > li > .title {
	margin-top: 3rem;
	line-height: 1.65;
	font-size: 4rem;
}

.list-benefit > li > .txt {
	margin-top: 4rem;
	width: 80rem;
}

.list-benefit > li > .img {
	margin-top: 5rem;
	width: 100rem;
}

.list-benefit > li > .notes {
	margin-top: 5rem;
	width: 80rem;
}

/* .list-imgs */

.list-imgs {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 4rem 2rem;
	margin-top: 9.5rem;
}

.list-imgs.triple-pc {
	grid-template-columns: repeat(3, 1fr);
}

.list-imgs.row-sp {
	gap: 2rem;
	margin-top: 5rem;
}

.list-imgs > li > .title {
	margin-top: 2rem;
	font-size: 1.6rem;
	letter-spacing: .05em;
}

/* .list-history */

.list-history {
	width: 103.5rem;
}

.list-history > li {
	display: grid;
	grid-template-columns: 13.5rem 1fr;
	padding: 3rem 0;
}

.list-history > li > .year {
	position: static;
	padding-left: 3rem;
}

.list-history > li > dl {
	display: grid;
	grid-template-columns: 20.5rem 1fr;
}

.list-history > li > dl > dt:first-of-type {
	margin-left: 0;
}

.list-history > li > dl > dt:not(:first-of-type) {
	margin-top: 0;
}

.list-history > li > dl > dd {
	margin-top: 0;
	padding-right: 3rem;
}

/* .list-sdgs */

.list-sdgs {
	display: grid;
	grid-template-columns: repeat(auto-fill, 18rem);
	gap: 2rem;
	margin-top: 5rem;
}

/* .list-news */

.list-news {
	width: 100rem;
}

/* .list-photos */

.list-photos {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2rem;
}

/* .list-person */

.list-person {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10rem 2rem;
}

.list-person > li > .num {
	font-size: 2.6rem;
	letter-spacing: .02em;
}

.list-person > li > .img {
	margin-top: 2rem;
}

.list-person > li > .title {
	margin-top: 3rem;
	line-height: 1.85;
	font-size: 2.6rem;
}

.list-person > li > .name {
	margin-top: 2rem;
}

.list-person > li > .profile {
	font-size: 1.8rem;
}

.list-person > li > .link > .btn {
	margin-top: 2rem;
}

/* .list-years */

.list-years {
	width: 98.2rem;
	grid-template-columns: repeat(4, 1fr);
	gap: 2rem;
}

.list-years > li > .btn {
	width: 23rem;
}

/* .list-instance */

.list-instance {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 11rem 2rem;
	margin-top: 14rem;
}

.list-instance > li {
	/* Bug fix for using a grid with Swiper */
	min-width: 0;
}

.list-instance > li > .meta > :is(.year, .area) {
	padding: .5rem 2rem;
}

.list-instance > li > .title {
	margin-top: 2rem;
}

.list-instance > li > .type {
	gap: 0 2rem;
}

.list-instance > li > .tag {
	gap: 1rem;
	margin-top: 2rem;
}

.list-instance > li > .tag > li {
	padding: .4rem 1.5rem;
	font-size: 1.6rem;
}

.list-instance > li > .tag > li > span {
	font-size: 1.2rem;
}

.list-instance > li > .gallery {
	margin-bottom: 3rem;
	height: 44.2rem;
	clip-path: inset(0 0 round 1rem);
}

.list-instance  > li > .gallery :is(.swiper-button-prev, .swiper-button-next),
.list-instance  > li > .gallery :is(.swiper-button-prev, .swiper-button-next)::before {
	width: 4.6rem;
	height: 4.6rem;
}

.list-instance  > li > .gallery :is(.swiper-button-prev, .swiper-button-next)::after {
	width: 1.4rem;
	height: 1.4rem;
}

.list-instance  > li > .gallery .swiper-button-prev {
	left: 1.5rem;
}

.list-instance  > li > .gallery .swiper-button-prev::after {
	margin-left: .2rem;
	border-width: 0 0 .3rem .3rem;
}

.list-instance  > li > .gallery .swiper-button-next {
	right: 1.5rem;
}

.list-instance  > li > .gallery .swiper-button-next::after {
	margin-left: -.2rem;
	border-width: .3rem .3rem 0 0;
}

/* .list-instance.no-img */

.list-instance.no-img {
	display: flex;
	gap: 0;
	margin-top: 0;
}

.list-instance.no-img > li {
	padding: 3rem 0;
}

/* .list-voice */

.list-voice {
	margin-top: 0;
}

.list-voice > li {
	display: grid;
	grid-template-columns: 1fr 67rem;
	grid-template-rows: auto auto 1fr;
	grid-template-areas:
		'title img'
		'txt01 img'
		'txt02 img';
	gap: 0 4rem;
	margin-top: 15rem;
	padding: 0;
}

.list-voice > li:not(:first-of-type) {
	padding-top: 10rem;
}

.list-voice > li > .title {
	grid-area: title;
	margin-top: 0;
	font-size: 2.6rem;
}

.list-voice > li > .txt {
	margin-top: 4rem;
}

.list-voice > li > .txt01 {
	grid-area: txt01;
}

.list-voice > li > .txt02 {
	grid-area: txt02;
}

.list-voice > li > .img {
	grid-area: img;
}

/* list-thee-tex */

.list-thee-tex {
	display: grid;
	grid-template-areas:
		'list01 list02 list03'
		'list04    .   list05'
		'list06 list06 list06';
	gap: 0 4.8rem;
	position: relative;
	margin: 15rem -12rem 0;
	padding: 10rem 12rem 15rem;
}

.list-thee-tex::before {
	position: absolute;
	top: 58.5rem;
	left: 33rem;
	width: 94rem;
	height: 75.6rem;
	background: url(../images/three-tex/top/img00-pc.webp) no-repeat center center;
	background-size: 100%;
	content: '';
}

.list-thee-tex > li {
	padding-bottom: 4.5rem;
	clip-path: inset(0 0 round 1rem);
}

.list-thee-tex > li:not(#list06) {
	min-height: 54.8rem;
}

.list-thee-tex > #list01 {
	grid-area: list01;
}

.list-thee-tex > #list02 {
	grid-area: list02;
}

.list-thee-tex > #list03 {
	grid-area: list03;
}

.list-thee-tex > :is(#list04, #list05) {
	margin-top: 13rem;
}

.list-thee-tex > #list04 {
	grid-area: list04;
}

.list-thee-tex > #list05 {
	grid-area: list05;
}

.list-thee-tex > #list06 {
	grid-area: list06;
	justify-self: center;
	display: grid;
	grid-template-areas:
		'title title'
		'img    .  '
		'img   name'
		'img   more'
		'img    .  ';
	grid-template-columns: 44rem auto;
	grid-template-rows: auto 1fr auto auto 1fr;
	margin-top: 10rem;
	padding-bottom: 0;
	width: 87.5rem;
}

.list-thee-tex > li > .title {
	grid-area: title;
	padding: 0 2.5rem 0 3rem;
	height: 10rem;
}

.list-thee-tex > li > .title > span {
	width: 14.4rem;
	height: 4.5rem;
}

.list-thee-tex > li > .img {
	grid-area: img;
}

.list-thee-tex > li > :is(.name, .more) {
	margin: 0 3rem;
}

.list-thee-tex > li > .name {
	grid-area: name;
	margin-top: 3rem;
	line-height: 1.4;
	font-size: 2.6rem;
}

.list-thee-tex > #list06 > .name {
	margin-top: 0;
}

.list-thee-tex > li > .name.narrowed-pc {
	letter-spacing: -.1em;
}

.list-thee-tex > li > .more {
	grid-area: more;
}

.list-thee-tex > li > .more > .btn {
	margin-top: 3.5rem;
}

/* .list-graph */

.list-graph {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 3rem;
	width: 90rem;
}

.list-graph  > li > .title {
	font-size: 2.6rem;
}

.list-graph  > li > .img {
	margin-top: 3rem;
}

.list-graph  > li:nth-child(1) > .txt {
	padding-left: 3.8rem;
}

.list-graph  > li:nth-child(2) > .txt {
	padding-left: 2.4rem;
}

/* .list-revision */

.list-revision {
	margin-top: 5rem;
	width: 80rem;
}

.list-revision > li {
	padding: 4rem 0;
}

.list-revision > li > .num {
	padding-left: 2.3rem;
	width: 12.3rem;
	font-size: 2rem;
}

.list-revision > li > .num > span {
	font-size: 6rem;
}

.list-revision > li > .title {
	font-size: 2.6rem;
}

.list-revision > li > .subtitle {
	margin-top: 4rem;
}

/* .list-videos */

.list-videos {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 10rem 2rem;
	margin-top: 10rem;
}

.list-videos > li > .title {
	font-size: 2.6rem;
}

.list-videos > li > .txt {
	margin-top: 2rem;
}

.list-videos > li > .img > a {
	clip-path: inset(0 0 round 1rem);
}

.list-videos > li > .img > a::after {
	bottom: 2rem;
	right: 2rem;
	width: 5.3rem;
	height: 5.3rem;
}

.list-videos > li > .more > .btn {
	margin-top: 3rem;
}

/* Other --------------------------------- */

/* .lnav */

.lnav {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 3rem 4.2rem;
	margin-top: 9.5rem;
}

.lnav.double-pc {
	grid-template-columns: 1fr 1fr;
}

.lead + .lnav {
	margin-top: 9.5rem;
}

.lnav > li {
	padding-bottom: 1.5rem;
	line-height: 1.5;
	border-bottom-width: .2rem;
}

.lnav > li > a {
	padding: 0 1.2rem;
	line-height: 1.5;
	font-size: 2.2rem;
}
.lnav > li > a::after {
	width: 1.2rem;
	height: 1.2rem;
	border-width: 0 .3rem .3rem 0;
}

/* .video */

.video {
	margin-top: 9rem;
	width: 80rem;
}

.video.wide {
	width: 90rem;
}

.video + .caption {
	font-size: 1.6rem;
}

/* .map */

.map {
	margin-top: 5rem;
	width: 90rem;
	height: 50rem;
	clip-path: inset(0 0 round 1rem);
}

/* .pagination */

.pagination {
	gap: 0 2rem;
	margin: 10rem 0 0 26rem;
	width: 48rem;
}

.pagination :is(.page, .current) {
	width: 4.6rem;
	height: 4.6rem;
	font-size: 2.2rem;
}

.pagination :is(.previouspostslink, .nextpostslink) {
	width: 2rem;
	height: 4.6rem;
}

.pagination :is(.previouspostslink, .nextpostslink)::after {
	width: 1.2rem;
	height: 1.2rem;
}

/* .scroller-sp */

.scroller-sp {
	margin-top: 1rem;
}

.scroller-sp::after {
	display: none;
}

.scroller-sp  > * {
	min-width: 0;
	width: 80rem;
}

/* Renovation Page
---------------------------------------------------------- */

/* Renovation Top --------------------------------- */

.renovation-top #main-content > .link {
	margin-top: 4.5rem;
}

.renovation-top #main-content > .link .btn {
	margin-top: 2rem;
}

.renovation-top .section-header {
	position: relative;
}

.renovation-top .section-header > .img {
	display: block;
	position: absolute;
	top: 10rem;
	right: -6.3rem;
	width: 74.3rem;
	height: 42.7rem;
}

.renovation-top .section-content > .txt {
	margin-top: 10rem;
}

.renovation-top #section01 {
	margin-top: 10rem;
}

.renovation-top #section01 .section-content {
	margin-top: 10rem;
}

.renovation-top #section02 {
	margin-top: 14.5rem;
}

.renovation-top #section02 .section-content {
	margin-top: 4rem;
}

.renovation-top #section02 .section-content .list-feature {
	margin-top: 10rem;
}

/* Renovation Comparison --------------------------------- */

.renovation-comparison .section {
	margin-top: 14rem;
}

.renovation-comparison .section-content {
	margin-top: 9rem;
}

.renovation-comparison #section01 {
	margin-top: 14rem;
}

.renovation-comparison #section03 .section-content .link .btn {
	margin-top: 15rem;
}

/* Renovation Timing --------------------------------- */

.renovation-timing #main-content {
	padding-right: 12rem;
}

.renovation-timing #main-content > .img {
	margin-top: 4rem;
	width: 76.9rem;
	height: 60.5rem;
}

/* Renovation List --------------------------------- */

.renovation-list #main-content {
	margin-top: 6rem;
}

.renovation-list .section {
	margin-top: 15rem;
}

/* Renovation Service --------------------------------- */

.renovation-service .section-content > .img {
	margin: 8rem 0;
	width: 80rem;
}

/* Renovation Skyscraper --------------------------------- */

.renovation-skyscraper .section {
	margin-top: 15rem;
}

.renovation-skyscraper .section-content > .txt {
	margin-top: 10rem;
}

.renovation-skyscraper .section-content > .link > .btn {
	margin-top: 9.5rem;
}

.renovation-skyscraper #section01 {
	margin-top: 17rem;
}

.renovation-skyscraper #section04 .section-content > .link > .btn {
	margin-top: 15rem;
}

/* Renovation External Insulation --------------------------------- */

.renovation-external_insulation .section {
	margin-top: 15rem;
}

.renovation-external_insulation #section01 {
	margin-top: 14rem;
}

.renovation-external_insulation #section02 .section-content > .img {
	margin-top: 10rem;
	width: 100rem;
}

/* Company Top --------------------------------- */

.company-top #main-content {
	margin-top: 10rem;
}

/* Company Message --------------------------------- */

.company-message #main-content > .sing > span {
	font-size: 2.6rem;
}

/* Company History --------------------------------- */

.company-history #main-content {
	margin-top: 10rem;
}

/* Company Philosophy --------------------------------- */

.company-philosophy #section01 .section-content > .copy {
	margin-top: 4rem;
	font-size: 2.6rem;
}

.company-philosophy #section01 .section-content > .txt {
	margin-top: 4rem;
}

/* News Page
---------------------------------------------------------- */

.news.archive #main-content {
	margin-top: 5rem;
}

/* Recruit Page
---------------------------------------------------------- */

/* Recruit Top --------------------------------- */

.recruit-top #main-content > .link {
	margin-top: 4.5rem;
}

.recruit-top #main-content > .link .btn {
	margin-top: 2rem;
}

/* Recruit Person --------------------------------- */

.recruit-person.single .section-header > .name {
	margin-top: 3rem;
}

.recruit-person.single .section-header > .profile {
	font-size: 1.8rem;
}

.recruit-person.single .section-content .unit {
	margin-top: 10rem;
	width: 80rem;
}

.recruit-person.single .section-content .unit .num {
	font-size: 5.6rem;
}

.recruit-person.single .section-content .unit .title {
	margin-top: 2rem;
	font-size: 2.6rem;
}

.recruit-person.single .section-content .unit .txt {
	margin-top: 4rem;
}

.recruit-person.single .section-content .img {
	margin: 9rem -9.5rem;
}

.recruit-person.single .link > .btn {
	margin-top: 9rem;
}

/* Recruit Requirements --------------------------------- */

.recruit-requirements #main-content {
	margin-top: 6rem;
}

/* Construction DX Page
---------------------------------------------------------- */

/* Construction DX Top --------------------------------- */

.construction_dx-top #section02 .section-content > .caption + .txt {
	margin-top: 9.5rem;
}

/* Construction DX BIM --------------------------------- */

.construction_dx-bim .section-content > .img {
	width: 80rem;
}

.construction_dx-bim .section-content > .list-imgs + .txt {
	margin-top: 10rem;
}

/* Contact Page
---------------------------------------------------------- */

.contact #footer {
	padding-top: 3rem;
}

/* Instance Page
---------------------------------------------------------- */

/* Instance Archive --------------------------------- */

.instance.archive #main-content > .link {
	display: grid;
	grid-template-columns: 44rem 44rem;
	gap: 2rem;
}

.instance.archive #main-content > .link > li > .btn {
	margin-top: 0;
}

.instance.archive #main-content > .cases {
	display: grid;
	grid-template-areas:
		'img txt'
		'img notes';
	grid-template-columns: 68rem auto;
	gap: 0 7.5rem;
	margin-top: 10rem;
}

.instance.archive #main-content > .cases > .img {
	grid-area: img;
	width: auto;
}

.instance.archive #main-content > .cases > ul {
	grid-area: txt;
	margin-top: 0;
}

.instance.archive #main-content > .cases > ul > li {
	display: grid;
	grid-template-columns: auto 1fr 23rem;
	gap: 0 3.5rem;
	padding: 4rem 0;
}

.instance.archive #main-content > .cases > ul > li > :is(.name, .num) {
	font-size: 3rem;
}

.instance.archive #main-content > .cases > ul > li > .num {
	margin-top: 0;
}

.instance.archive #main-content > .cases > ul > li > .num > strong {
	margin: -1rem 1rem 0 0;
	font-size: 5.7rem;
}

.instance.archive #main-content > .cases > .notes {
	grid-area: notes;
}

/* Instance Three-tex Archive --------------------------------- */

.instance-three-tex.post-type-archive .section-header {
	gap: 2rem 0;
}

/* Three-tex Page
---------------------------------------------------------- */

[class^='three-tex-'] .section-content :is(.subtitle, .img) {
	margin-top: 5rem;
}

/* Three-tex Top --------------------------------- */

.three-tex-top .map-sp {
	display: none;
}

/* Three-tex Ceiling --------------------------------- */

.three-tex-ceiling .section-content img[src*=img01] {
	width: 80rem;
}

.three-tex-ceiling .section-content img[src*=img02] {
	width: 44rem;
}

.three-tex-ceiling .section-content img[src*=img03] {
	width: 67rem;
}

/* Three-tex Coating --------------------------------- */

.three-tex-coating .section-content :is(.subtitle, .img) {
	margin-top: 5rem;
}

.three-tex-coating .section-content .list-imgs {
	width: 80rem;
}

.three-tex-coating .section-content img[src*=img01] {
	width: 67rem;
}

.three-tex-coating .section-content img[src*=img04] {
	width: 67rem;
}

.three-tex-coating .section-content img[src*=img05] {
	width: 81.6rem;
}

/* Three-tex Paint --------------------------------- */

.three-tex-paint .section-content img[src*=img01] {
	width: 67rem;
}

/* Three-tex Paint Repair --------------------------------- */

.three-tex-paint_repair .section-content img[src*=img03] {
	width: 44rem;
}

.three-tex-paint_repair .section-content img[src*=img07] {
	width: 44rem;
}

.three-tex-paint_repair #section06 .list-imgs {
	grid-template-columns: 1fr 25.4rem;
	gap: 0 4.4rem;
	margin-top: 2rem;
	width: 80rem;
}

/* Three-tex Anti Rust --------------------------------- */

.three-tex-anti_rust .section-content img[src*=img01] {
	width: 67rem;
}

.three-tex-anti_rust #section02 .list-feature {
	grid-template-rows: auto auto 1fr;
	align-items: start;
}

.three-tex-anti_rust #section02 .list-feature > li:nth-child(1) {
	grid-row: 1 / 2;
}

.three-tex-anti_rust #section02 .list-feature > li:nth-child(2) {
	grid-row: 1 / 3;
}

.three-tex-anti_rust #section02 .list-feature > li:nth-child(3) {
	grid-row: 2 / 3;
}

}