@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@500&display=swap');
/* ****************************************************************************

　目次

-------------------------------------------------------------------------------

　01. モジュール

******************************************************************************* */
/* ==

　01. モジュール

=============================================================================== */
.prdVisual01_btn {
	display: block;
	position: fixed;
	right: 50px;
	bottom: 0;
	width: 100%;
	max-width: 264px;
	line-height: 62px;
	margin: 35px 0 0;
	padding: 0 0 2px;
	border-radius: 8px 8px 0 0;
	background-color: #CC3B33;
	color: #fff;
	font-size: 134%;
	font-weight: 500;
	text-align: center;
	text-decoration: none;
	transition: all .3s;
	z-index: 5;
}
.d_hover .prdVisual01_btn:hover {
	background-color: #B2B1AE;
}
/* ビジュアル
------------------------------------------------------------------------------- */
.stVisual01 {
	position: relative;
}
.stVisual01_loader {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100px;
	height: 100px;
	margin: -50px 0 0 -50px;
	background: url(/common/images/rn04/svg/loading_ico01.svg) center center no-repeat;
	background-size: contain;
	z-index: 2;
}
.stVisual01_in {
	opacity: 0;
	transition: opacity .4s .1s;
}
.stVisual01_in-show {
	opacity: 1;
}
.stVisual01_list {
}
.stVisual01_item {
}
.stVisual01_item img {
	width: 100%;
}
.stVisual01_item.swiper-slide-prev div,
.stVisual01_item.swiper-slide-active div,
.stVisual01_item.swiper-slide-duplicate-prev div,
.stVisual01_item.swiper-slide-duplicate-active div {
	animation: bgZoom 4.1s linear forwards;
}
.stVisual01_item.stVisual01_item-last div {
	animation: none;
}
@keyframes bgZoom {
  0% {
    transform: scale(1) translate3d(0,0,0);
  }
  100% {
    transform: scale(1.04) translate3d(0,0,0);
  }
}
/* DESIGN
------------------------------------------------------------------------------- */
.stDesign01 {
	position: relative;
	background: rgb(21,24,26);
	background: linear-gradient(180deg, rgba(21,24,26,1) 0%, rgba(94,104,105,1) 100%);
}
.stDesign01::before {
	content: "";
	display: block;
	position: absolute;
	top: 125px;
	right: 0;
	bottom: 100px;
	left: 4.166%;
	background-color: #ccc;
	background: rgba(255, 255, 255, .09);
}
.stDesign01_head {
	display: -webkit-box;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	min-height: 280px;
	z-index: 1;
}
.stDesign01_tit {
	line-height: 1.5;
	margin: 0;
	color: #fff;
	font-family: "Noto Serif JP", serif;
	font-size: 267%;
	font-weight: 500;
	text-align: center;
	letter-spacing: 0.24em;
}
.stDesign01_en {
	line-height: 1.5;
	margin: 10px 0 0;
	color: #fff;
	font-family: "Noto Serif JP", serif;
	font-size: 134%;
	font-weight: 500;
	text-align: center;
	letter-spacing: 0.24em;
}
.stDesign01_body {
	position: relative;
	padding: 0 0 200px;
	z-index: 1;
	font-size: 100%;
}
.stDesign01_item {
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
	margin: 72px 0 0;
}
.stDesign01_item:first-child {
	margin-top: 0;
}
.stDesign01_visual {
	position: relative;
	width: 58.333%;
}
.stDesign01_img {
	height: 400px;
}
.stDesign01_img img {
	width: 100%;
	height: 100%;
	object-fit: cover;	
}
.stDesign01_stit {
	display: -webkit-box;
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	right: -138px;
	bottom: -32px;
	width: 300px;
	height: 300px;
	line-height: 1.5;
	background-color: #000;
	background: rgba(18, 19, 20, .9);
	color: #fff;
	font-family: "Noto Serif JP", serif;
	font-size: 150%;
	font-weight: 500;
	text-align: center;
	letter-spacing: 0.48em;
}
.stDesign01_stit > span {
	display: block;
}
.stDesign01_stit > span > span {
	display: block;
	line-height: 1.1;
	font-size: 80px;
	font-weight: 300;
	letter-spacing: 0.16em;
}
.stDesign01_stit > span > span.letterNone {
	letter-spacing: normal;
}
.stDesign01_stit > span > span::before {
	content: "";
	display: block;
	width: 24px;
	height: 1px;
	margin: 19px auto 12px;
	background-color: #fff;
	opacity: .4;
}
.stDesign01_info {
	width: 41.667%;
	padding: 72px 0 0 202px;
	box-sizing: border-box;
}
.stDesign01_txt {
	line-height: 2.5;
	margin: 0;
	color: #fff;
	font-size: 134%;
	font-weight: 400;
}
@media only screen and (max-width: 1400px) {
	.stDesign01_img {
		height: 400px;
	}
	.stDesign01_stit {
		right: -120px;
		bottom: -32px;
		width: 280px;
		height: 280px;
	}
	.stDesign01_info {
		padding: 72px 0 0 150px;
	}
}
@media only screen and (max-width: 1200px) {
	.stDesign01_visual {
		width: 53%;
	}
	.stDesign01_stit {
		right: -90px;
		bottom: -32px;
		width: 220px;
		height: 220px;
		font-size: 109%;
	}
	.stDesign01_stit > span > span {
		font-size: 66px;
	}
	.stDesign01_info {
		width: 47%;
		padding: 72px 0 0 125px;
	}
	.stDesign01_txt {
		font-size: 125%;
	}
}
/* アンカー
------------------------------------------------------------------------------- */
.stAnchor01 {
	margin: 100px 0 99px;
	padding: 0 20px;
}
.stAnchor01_list {
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
	max-width: 1240px;
	line-height: 1.666;
	margin: 0 auto;
	font-size: 134%;
	font-weight: 700;
}
.stAnchor01_item {
	width: 32.258%;
}
.stAnchor01_item a {
	display: block;
	position: relative;
	padding: 21px 20px 20px;
	border-radius: 4px;
	background-color: #026F78;
	color: #fff;
	text-align: center;
	text-decoration: none;
}
.stAnchor01_item a::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 30px;
	width: 24px;
	height: 24px;
	margin: -12px 0 0;
	background: url(../images/ico_arw01.svg) center center no-repeat;
	background-size: contain;
}
.stAnchor01_item span {
	display: block;
	font-family: "Noto Serif JP", serif;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.28em;
}
/* STORY
------------------------------------------------------------------------------- */
.stStory01 {
	padding: 0;
}
.stStory01_head {
	max-width: 1240px;
	margin: 130px auto 88px;
	padding: 0 20px;
	box-sizing: border-box;
}
.stStory01_head:first-child {
	margin-top: 0;
}
.stStory01_tit {
	line-height: 1.5;
	margin: 0;
	font-family: "Noto Serif JP", serif;
	font-size: 267%;
	font-weight: 500;
	text-align: center;
	letter-spacing: 0.24em;
}
.stStory01_en {
	line-height: 1.5;
	margin: 10px 0 0;
	font-family: "Noto Serif JP", serif;
	font-size: 134%;
	font-weight: 500;
	text-align: center;
	letter-spacing: 0.24em;
}
.stStory01_body {
	position: relative;
	margin: 160px 0 0;
}
.stStory01_body::before {
	content: "";
	display: block;
	position: absolute;
	top: 250px;
	right: 0;
	bottom: 80px;
	left: 0;
	background-color: #f5f5f5;
}
.stStory01_visual {
	position: relative;
	max-width: 1240px;
	margin: 0 auto;
	z-index: 3;
}
.stStory01_stit {
	display: -webkit-box;
	display: flex;
	align-items: center;
	position: absolute;
	top: -40px;
	left: 64px;
	height: 104px;
	line-height: 1.3;
	padding: 0 32px;
	background-color: #1C1D1F;
	color: #fff;
	font-family: "Noto Serif JP", serif;
	font-size: 200%;
	font-weight: 500;
	letter-spacing: 0.16em;
}
.stStory01_stit-rt {
	right: 64px;
	left: auto;
}
.stStory01_stit > span {
	display: block;
}
.stStory01_stit > span > span {
	display: block;
	margin: 0 0 6px;
	font-size: 12px;
	letter-spacing: 0.28em;
}
.stStory01_catch {
	display: -webkit-box;
	display: flex;
	justify-content: flex-end;
	flex-direction: row-reverse;
	position: absolute;
	top: -webkit-calc(100% - 125px);
	top: calc(100% - 125px);
	right: 72px;
}
.stStory01_catch-rt {
	right: auto;
	left: 72px;
}
.stStory01_catch p {
	line-height: 1.5;
	margin: 0;
	font-family: "Noto Serif JP", serif;
	font-size: 184%;
	font-weight: 500;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	letter-spacing: 0.05em;
}
.stStory01_catch p > span {
	display: inline-block;
	padding: 12px 8px 2px;
	background-color: #fff;
	background: rgba(255, 255, 255, .9);
}
.stStory01_wrap {
	position: relative;
	margin: 64px 0 0;
}
.stStory01_wrap::before {
	content: "";
	display: block;
	position: absolute;
	top: 56px;
	right: 4.166%;
	bottom: 160px;
	left: 0;
	background: rgb(21,24,26);
	background: linear-gradient(180deg, rgba(21,24,26,1) 0%, rgba(94,104,105,1) 100%);
	opacity: .05;
}
.stStory01_wrap-rl::before {
	right: 0;
	left: 4.166%;
}
.stStory01_block {
	display: -webkit-box;
	display: flex;
	position: relative;
	max-width: 1240px;
	margin: 64px auto 0;
	z-index: 2;
}
.stStory01_block:first-child {
	margin-top: 0;
}
.stStory01_block-vt1 {
	align-items: flex-end;
}
.stStory01_block-vt2 {
	align-items: flex-end;
}
.stStory01_block-vt3 {
	align-items: flex-start;
}
.stStory01_block-reverse {
	flex-direction: row-reverse;
}
.stStory01_info {
	width: 42.741%;
	padding: 0 20px 0 0;
	text-align: left;
	box-sizing: border-box;
}
.stStory01_block-reverse .stStory01_info {
	padding: 0 0 0 20px;
	text-align: right;
}
.stStory01_block-vt2 .stStory01_info {
	padding-bottom: 69px;
}
.stStory01_block-vt3 .stStory01_info {
	padding-top: 56px;
}
.stStory01_txt {
	display: inline-block;
	line-height: 2.5;
	margin: 0 0 0 48px;
	font-size: 134%;
	font-weight: 400;
	text-align: left;
}
.stStory01_block-reverse .stStory01_txt {
	margin: 0 48px 0 0;
}
.stStory01_txt br.devPcTbl {
	display: inline;
}
.stStory01_img {
	width: 57.259%;
	max-width: 710px;
}
@media only screen and (max-width: 1100px) {
	.stStory01_info {
		width: 46%;
	}
	.stStory01_img {
		width: 54%;
	}
	.stStory01_catch p {
		font-size: 159%;
	}
	.stStory01_txt {
		margin: 0 0 0 30px;
	}
	.stStory01_block-reverse .stStory01_txt {
		margin: 0 30px 0 0;
	}
}
@media only screen and (max-width: 1000px) {
	.stStory01_catch p {
		font-size: 150%;
	}
	.stStory01_txt {
		margin: 0 0 0 20px;
		font-size: 125%;
	}
	.stStory01_block-reverse .stStory01_txt {
		margin: 0 20px 0 0;
	}
}
/* TECHNOLOGY
------------------------------------------------------------------------------- */
.stTech01 {
	position: relative;
	margin: 158px 0 0;
	padding: 0 20px 100px;
	background: #313639 url(../images/tech_bg01.jpg) center top no-repeat;
	background-size: 100% auto;
}
.stTech01_head {
	position: relative;
	max-width: 1240px;
	margin: 0 auto;
	padding: 113px 0 0;
	z-index: 2;
}
.stTech01_tit {
	display: -webkit-box;
	display: flex;
	align-items: center;
	position: absolute;
	top: -40px;
	left: 0;
	height: 104px;
	line-height: 1.3;
	padding: 0 32px;
	background-color: #1C1D1F;
	color: #fff;
	font-family: "Noto Serif JP", serif;
	font-size: 200%;
	font-weight: 500;
	letter-spacing: 0.16em;
}
.stTech01_tit > span {
	display: block;
}
.stTech01_tit > span > span {
	display: block;
	margin: 0 0 7px;
	font-size: 12px;
	letter-spacing: 0.28em;
}
.stTech01_body {
	position: relative;
	max-width: 1240px;
	margin: 0 auto;
	z-index: 2;
}
.stTech01_catch {
	line-height: 1.5;
	margin: 0 0 47px;
	font-family: "Noto Serif JP", serif;
	font-size: 267%;
	font-weight: 500;
	letter-spacing: 0.12em;
}
.stTech01_in {
	background-color: #fff;
}
.stTech01_stit1 {
	display: -webkit-box;
	display: flex;
	align-items: center;
	position: relative;
	min-height: 120px;
	line-height: 1.6;
	padding: 0 0 0 170px;
	font-size: 167%;
	font-weight: 500;
}
.stTech01_stit1 > span {
	display: -webkit-box;
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 0;
	left: 0;
	width: 120px;
	height: 120px;
	line-height: 1.4666;
	background-color: #026F78;
	color: #fff;
	font-family: "Noto Serif JP", serif;
	font-size: 30px;
	font-weight: 500;
	text-align: center;
	letter-spacing: 0.16em;
}
.stTech01_block {
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
	padding: 48px 74px 48px 96px;
	border-top: 1px solid #A1C2C1;
}
@media only screen and (max-width: 1100px) {
	.stTech01_block {
		padding: 48px 50px;
	}
}
.stTech01_stit2 {
	display: -webkit-box;
	display: flex;
	justify-content: flex-end;
	flex-direction: row-reverse;
	width: 9.345%;
	line-height: 1;
	padding: 32px 0 0 0;
	color: #026F78;
	font-size: 100%;
	box-sizing: border-box;
}
.stTech01_stit2 > p {
	display: block;
	line-height: 2;
	margin: 0;
	font-family: "Noto Serif JP", serif;
	font-size: 217%;
	font-weight: 500;
	-ms-writing-mode: tb-lr;
	writing-mode: vertical-lr;	
}
.stTech01_list {
	width: 82.991%;
	max-width: 888px;
}
.stTech01_item {
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
	margin: 40px 0 0;
}
.stTech01_item:first-child {
	margin-top: 0;
}
.stTech01_info {
	width: 54.25%;
	box-sizing: border-box;
}
.stTech01_stit3 {
	line-height: 1.5;
	margin: 0 0 14px;
	font-size: 200%;
	font-weight: 700;
}
.stTech01_stit3 span {
	font-size: 75%;
}
.stTech01_txt {
	line-height: 1.625;
	margin: 0;
	font-size: 134%;
	font-weight: 400;
}
.stTech01_img {
	width: 40.541%;
	max-width: 360px;
}
.stTech02 {
	margin: 24px 0 0;
	border-radius: 4px;
	overflow: hidden;
}
.stTech02_head {
	display: -webkit-box;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	min-height: 80px;
	background-color: #fff;
	color: #026F78;
	cursor: pointer;
}
.stTech02_head::before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 32px;
	width: 16px;
	height: 2px;
	margin: -1px 0 0;
	background-color: #026F78;
}
.stTech02_head::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 32px;
	width: 16px;
	height: 2px;
	margin: -1px 0 0;
	background-color: #026F78;
	transform: rotate(-90deg);
	transition: transform .3s;
}
.stTech02_head-active::after {
	transform: rotate(0deg);
}
.stTech02_tit {
	line-height: 1.5;
	margin: 0;
	font-size: 150%;
	font-weight: 700;
}
.stTech02_body {
	display: none;
	background-color: #fff;
}
.stTech02_body-show {
	display: block;
}
.stTech02_item {
	padding: 48px 74px 46px;
	border-top: 1px solid #A1C2C1;
}
@media only screen and (max-width: 1100px) {
	.stTech02_item {
		padding: 48px 50px;
	}
}
.stTech02_stit {
	line-height: 1.5;
	margin: 0 0 47px;
	color: #026F78;
	font-family: "Noto Serif JP", serif;
	font-size: 200%;
	font-weight: 500;
	letter-spacing: 0.16em;
}
.stTech02_block {
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
}
.stTech02_info {
	width: 59.523%;
	box-sizing: border-box;
}
.stTech02_stit2 {
	line-height: 1.5;
	margin: 0 0 14px;
	font-size: 200%;
	font-weight: 700;
}
.stTech02_txt {
	line-height: 1.625;
	margin: 0;
	font-size: 134%;
	font-weight: 400;
}
.stTech02_catch {
	display: inline-block;
	line-height: 1.625;
	margin: 23px 0 0;
	padding: 11px 16px;
	background-color: #f5f5f5;
	font-size: 134%;
	font-weight: 500;
}
.stTech02_catch br.devPcTbl {
	display: inline;
}
.stTech02_img1 {
	width: 36.631%;
	max-width: 400px;
}
.stTech02_img2 {
	display: block;
	margin: 23px 0 0;
}
.stTech02_img3 {
	display: block;
}
.stTech02_box {
	display: block;
	max-width: 740px;
	margin: 23px auto 0;
}
.stTech02_note {
	line-height: 1.6;
	margin: 16px 0 0;
	color: #807F7D;
	font-size: 84%;
	font-weight: 400;
}
/* ZEH-M
------------------------------------------------------------------------------- */
.stZehm01 {
	position: relative;
	margin: 100px 0 0;
	padding: 0 0 0 20px;
}
.stZehm01::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	right: 21.527%;
	bottom: 46px;
	left: 0;
	background-color: #026F78;
}
.stZehm01_block {
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
	position: relative;
	max-width: 1240px;
	margin: 0 auto;
	z-index: 2;
}
.stZehm01_info {
	width: 57%;
	padding: 67px 0 110px 0;
	color: #fff;
	box-sizing: border-box;
}
.stZehm01_tit {
	line-height: 1.3;
	margin: 0 0 25px;
	font-size: 250%;
	font-weight: 700;
}
.stZehm01_txt {
	line-height: 1.625;
	margin: 0;
	font-size: 134%;
	font-weight: 400;
}
.stZehm01_btns {
	display: -webkit-box;
	display: flex;
	line-height: 1.3;
	margin: 31px 0 0;
}
.stZehm01_btn {
	margin: 0 16px 0 0;
	font-size: 134%;
	font-weight: 700;
}
.stZehm01_btn a {
	display: inline-block;
	min-width: 276px;
	padding: 21px 18px 22px;
	border-radius: 4px;
	background-color: #fff;
	color: #026F78;
	text-align: center;
	text-decoration: none;
	box-sizing: border-box;
}
@media only screen and (max-width: 1100px) {
	.stZehm01_btn a {
		min-width: 264px;
		padding: 21px 15px 22px;
	}
}
.stZehm01_img {
	display: block;
	position: relative;
	width: 38.71%;
	max-width: 480px;
	margin: 72px 0 0;
}
.stZehm01_img::before {
	content: "";
	display: block;
	position: absolute;
	top: -40px;
	left: -40px;
	width: 100px;
	height: 100px;
	background: url(/tochikatsu/d-room/zeh-m/images/pickup_img01.png) center center no-repeat;
	background-size: contain;
}
/* 初期保証システム
------------------------------------------------------------------------------- */
.stSystem01 {
	margin: 96px 0 0;
	padding: 0 20px;
}
.stSystem01_head {
	max-width: 1240px;
	margin: 0 auto;
}
.stSystem01_tit {
	line-height: 1.6;
	margin: 0 0 21px;
	font-size: 250%;
	font-weight: 700;
}
.stSystem01_txt {
	line-height: 1.625;
	margin: 0;
	font-size: 134%;
	font-weight: 400;
}
.stSystem01_body {
	max-width: 1240px;
	margin: 47px auto 0;
}
.stSystem01_img {
	display: block;
}