@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@900&display=swap');

/* ------------------------------
 サステナビリティ
------------------------------ */
.special .contentsTop {
    padding-top: 460px;
}
.special .contentsPage {
	width: 100%;
	padding-top: 266px;
}
/* 下層メイン画像 */
.special .contentsPage .h1out + .cms_block {
	width: 100%;
	position: relative;
	z-index: 1;
}
.special .contentsPage .h1out + .cms_block .cms_image {
	text-align: right;
}
.special .contentsPage .h1out + .cms_block .cms_image img {
    width: auto;
    height: auto;
}
@media screen and (min-width: 768px) {
	.special .cms_block:not(.wide) {
		width: 1140px;
		margin-left: auto;
		margin-right: auto;
		overflow: visible;
	}
}
@media screen and (max-width: 767px) {
	.special .contents {
		padding-top: 0;
	}
	.special .contentsTop,
	.special .contentsPage {
		margin-top: 0;
	}
	.special .contentsTop {
		padding-top: 190px;
	}
	.special .contentsPage {
		padding-top: 0;
	}
	.special .contentsTop .cms_block .mainLead + .cms_text {
		padding-left: 5%;
		padding-right: 5%;
	}
	.special .cms_block > *:not(.cms_image, .cms_text:has(h2)) {
		width: 100%;
	}
	/* 下層メイン画像 */
	.special .contentsPage {
		padding-left: 0;
		padding-right: 0;
	}
	.special .contentsPage .cms_block {
		padding-left: 5%;
		padding-right: 5%;
	}
	.special .contentsPage .h1out + .cms_block {
		padding-left: 0;
		padding-right: 0;
	}
	.special .contentsPage .h1out + .cms_block .cms_image img {
		width: 95%;
		margin-left: 5%;
	}
}

/* ------------------------------
 見出し&テキスト
------------------------------ */
/* h1 */
.special .h1out {
	position: absolute;
	width: 1920px;
    height: 340px;
	top: 0;
    left: 50%;
    transform: translateX(-50%);
	background: url(../img/newtecnology_top_headering_bg.jpg) no-repeat center / cover;
}
.special .h1out h1 {
	display: flex;
	flex-direction: column;
    justify-content: flex-end;
	width: 1140px;
	font-size: 5.2rem;
	line-height: 1.1;
	color: #fff;
	text-align: left;
	padding-top: 103px;
	margin: 0 auto;
}
.contents.special .h1out h1 span {
	font-size: 1.6rem;
	font-weight: bold;
	color: #818aa8;
	margin-top: 5px;
}
.special .h1out h1::before {
	width: 236px;
    height: 200px;
	top: 0;
    left: -334px;
	border-right: 35px solid #eb2438;
}
.special .h1out h1::after {
	content: none;
}
@media screen and (max-width: 767px) {
	.special .h1out {
		width: 100%;
		height: 160px;
		background: url(../img/newtecnology_top_headering_bg_sp.jpg) no-repeat center / cover;
	}
	.special .h1out h1 {
		width: 75%;
		min-width: unset;
		height: 115px;
		font-size: 3.3rem;
	}
	.special .h1out h1 span {
		font-size: 0.9rem;
	}
	.special .h1out h1::before {
		width: 70px;
        height: 58px;
        left: -80px;
        border-right: 11px solid #eb2438;
	}
}
.special .contentsPage .h1out {
    height: 500px;
	background: url(../img/newtecnology_headering_bg.jpg) no-repeat center / cover;
}
.special .contentsPage .h1out h1 {
	font-size: 6.0rem;
}
.special .contentsPage .h1out h1 span {
	font-size: 1.8rem;
	font-weight: normal;
	color: #fff;
	margin-top: 10px;
}
@media screen and (max-width: 767px) {
	.special .contentsPage .h1out {
		position: relative;
		left: auto;
        transform: unset;
		height: auto;
		max-height: 250px;
	}
	.special .contentsPage .h1out::before {
		content: "";
		position: absolute;
		width: 100%;
		height: 250px;
		top: 0;
		left: 0;
		background: url(../img/newtecnology_headering_bg_sp.jpg) no-repeat center / cover;
	}
	.special .contentsPage .h1out h1 {
		font-size: 3.0rem;
		height: auto;
		line-height: 1.2;
		padding-top: 12%;
		margin-bottom: 20px;
		width: 81%;
		margin-left: 13%;
		margin-right: 6%;
	}
	.special .contentsPage .h1out h1 span {
		font-size: 1.4rem;
		line-height: 1.5;
		margin-top: 5px;
	}
}

/* h2 */
.special .contentsPage .f35 h2 {
	font-size: 3.5rem;
}
@media screen and (max-width: 767px) {
	.special .contentsPage h2 br {
		display: block;
	}
	.special .contentsPage .f35 h2 {
		font-size: 2.2rem;
	}
}

/* mainlead */
.special .mainLead {
    font-size: 4.4rem;
	line-height: 1.5;
	color: #1a2b61;
	margin-bottom: 20px;
}
.special .mainLead + .cms_text .highlight_blue {
	font-size: 2.0rem;
}
@media screen and (max-width: 767px) {
	.special .mainLead {
		font-size: 2.6rem;
		line-height: 1.5;
		text-align: center;
	}
	.special .mainLead .highlight_red {
		line-height: 1.75;
	}
	.special .mainLead + .cms_text .highlight_blue {
		font-size: 1.6rem;
		line-height: 1.85;
	}
	.special .mainLead br {
		display: block;
	}
}

/* ------------------------------
 下層ページ
------------------------------ */
/* 見出し */
.title-blue h2 {
	font-size: 4rem;
	font-weight: bold;
	color: #1a2b61;
	text-align: center;
	margin-bottom: 20px;
	background: none;
	padding-bottom: 0;
}
.title-blue h3 {
	font-size: 2.6rem;
	color: #1a2b61;
	text-align: center;
	margin-bottom: 10px;
}
/* 吹き出し風 */
.speech_title {
    font-size: 2.1rem;
    color: #051f5c;
    background-color: #d8dff0;
}
.speech_title::after {
    background-color: #d8dff0;
}
@media screen and (max-width: 767px) {
	/* 見出し */
	.title-blue h2 {
		font-size: 2.4rem;
		margin-bottom: 15px;
	}
	.title-blue h3 {
		font-size: 2rem;
	}
	/* 吹き出し風 */
	.speech_title {
		font-size: 1.8rem;
	}
}
