@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;500;700&display=swap');
/* ****************************************************************************

　目次

-------------------------------------------------------------------------------

　01. モジュール

******************************************************************************* */
/* ==

　01. モジュール

=============================================================================== */
.r3Main {
	min-width: 950px;
}
.r3Header_mobile {
	display: none;
}
/* ビジュアル
------------------------------------------------------------------------------- */
.lpVisual01 {
	display: -webkit-box;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	height: 690px;
	/*
	background: url(../images/visual_bg01.jpg) center center no-repeat;
	background-size: cover;
	*/
}
.lpVisual01_tit {
	position: relative;
	width: 381px;
	z-index: 1;
}
.lpVisual02 {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}
.lpVisual02_in {
	opacity: 0;
	transition: opacity .3s;
	overflow: hidden;
}
.lpVisual02_in-show {
	opacity: 1;
}
/*
.lpVisual02_loader {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 60px;
	height: 60px;
	margin: -30px 0 0 -30px;
	background: url(/common/images/rn04/svg/loading_ico01.svg) center center no-repeat;
	background-size: contain;
	z-index: 2;
}
*/
.lpVisual02_item.swiper-slide {
	height: 690px;
}
.lpVisual02_item img {
	width: 100%;
	height: 100%;
	object-fit: cover;	
}
/* リード
------------------------------------------------------------------------------- */
.lpLead01 {
	padding: 62px 15px 78px;
	font-family: 'Noto Serif JP', serif;
}
.lpLead01_tit {
	max-width: 246px;
	margin: 0 auto 60px;
}
.lpLead01_list {
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
	max-width: 990px;
	margin: 0 auto;
	font-size: 20px;
	font-weight: 500;
}
.lpLead01_item {
	width: 32.5%;
}
.lpLead01_item a {
	display: block;
	position: relative;
	padding: 11px 0;
	border-bottom: 5px solid #ee781f;
	background-color: #4f4b4f;
	color: #fff;
	text-align: center;
	text-decoration: none;
}
.lpLead01_item a::after {
	content: "";
	display: block;
	position: absolute;
	right: 0;
	bottom: -20px;
	left: 0;
	width: 30px;
	height: 31px;
	margin: 0 auto;
	background: url(../images/arw_ico01.png) center center no-repeat;
	background-size: contain;
}
/* 見出し
------------------------------------------------------------------------------- */
.lpHeading01 {
	line-height: 1.192;
	padding: 13px 15px 17px;
	background: rgb(238,120,31);
	background: radial-gradient(circle, rgba(238,120,31,1) 0%, rgba(165,75,36,1) 100%);
	color: #fff;
	font-family: 'Noto Serif JP', serif;
	font-size: 217%;
	font-weight: 500;
	text-align: center;
}
/* エリア
------------------------------------------------------------------------------- */
.lpArea01 {
	padding: 84px 20px 140px;
	background-color: #504B51;
	color: #fff;
}
.lpArea01_in {
	max-width: 990px;
	margin: 0 auto;
}
.lpArea02 {
	padding: 80px 15px 140px;
	background-color: #f0efef;
	color: #231815;
}
.opR3FixOff .r3Main .lpArea02.brnArea01 {
}

.lpArea02_in {
	max-width: 990px;
	margin: 0 auto;
}
.lpArea03 {
	padding: 80px 15px 90px;
	background-color: #fff;
	color: #231815;
}
.lpArea03_in {
	max-width: 990px;
	margin: 0 auto;
}
.lpArea04 {
	padding: 60px 15px 80px;
	background-color: #4f4b4f;
	color: #231815;
}
.lpArea04_in {
	max-width: 990px;
	margin: 0 auto;
}
.lpArea05 {
	min-width: 950px;
	margin: -80px 0 0;
	padding: 0 15px;
	background: rgb(195,13,35);
	background: radial-gradient(circle, rgba(195,13,35,1) 0%, rgba(149,0,18,1) 100%);
	color: #231815;
	z-index: 1;
	box-sizing: border-box;
}
.lpArea05-fixed {
	/* position: fixed;  追従用 */
	right: 0;
	bottom: 0;
	left: 0;
	animation: cvFix .4s both;
}
@keyframes cvFix {
	0% {
		bottom: -90px;
	}
	100% {
		bottom: 0;
	}
}
.lpArea05_in {
	max-width: 990px;
	height: 80px;
	margin: 0 auto;
	padding: 7px 0;
	box-sizing: border-box;
}
/* レイアウト
------------------------------------------------------------------------------- */
.lpBlock01 {
	display: -webkit-box;
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	margin: 0 0 70px;
}
.lpBlock01_info {
	width: 44%;
}
.lpBlock01_tit {
	margin: 0 0 33px;
}
.lpBlock01_txt {
	line-height: 1.75;
	margin: 0;
	font-size: 152%;
	font-weight: 500;
	font-family: 'Noto Serif JP', serif;
}
.lpBlock01_img {
	width: 54.243%;
	max-width: 537px;
}
/* テキスト装飾
------------------------------------------------------------------------------- */
.lpCatch01 {
	line-height: 1.75;
	margin: 50px 0 55px;
	color: #fff;
	font-size: 167%;
	font-weight: 500;
	font-family: 'Noto Serif JP', serif;
	text-align: center;
}
.lpNote01 {
	line-height: 1.75;
	margin: 40px 0 0;
	font-size: 100%;
	font-weight: 400;
}
.lpNotes01 {
	line-height: 1.75;
	max-width: 590px;
	margin: 30px auto 55px;
	font-size: 100%;
	font-weight: 400;
	text-indent: -2.5em;
}
/* サポート
------------------------------------------------------------------------------- */
.lpSupport {
	margin: 70px 0 0;
}
.lpSupport_btn {
	display: block;
	position: relative;
	padding: 11px 0;
	border-bottom: 5px solid #ee781f;
	background-color: #898989;
	color: #fff;
	font-family: 'Noto Serif JP', serif;
	font-size: 167%;
	font-weight: 500;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
}
.lpSupport_btn::after {
	content: "";
	display: block;
	position: absolute;
	right: 0;
	bottom: -20px;
	left: 0;
	width: 30px;
	height: 31px;
	margin: 0 auto;
	background: url(../images/arw_ico03.png) center center no-repeat;
	background-size: contain;
}
.lpSupport_body {
	display: none;
	padding: 33px 20px 28px;
	border-top: 30px solid #EE7820;
	border-right: 2px solid #ee781f;
	border-bottom: 2px solid #ee781f;
	border-left: 2px solid #ee781f;
}
.lpSupport_body-show {
	display: block;
}
.lpSupport_list {
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
	max-width: 920px;
	margin: 0 auto;
	font-family: 'Noto Serif JP', serif;
}
.lpSupport_item {
	width: 31.635%;
}
.lpSupport_img {
	display: block;
	max-width: 200px;
	margin: 0 auto;
}
.lpSupport_tit {
	line-height: 1.5;
	margin: 32px 0 9px;
	padding: 3px 10px 5px;
	background-color: #4f4b4f;
	color: #fff;
	font-size: 184%;
	font-weight: 500;
	text-align: center;
}
.lpSupport_txt {
	line-height: 1.588;
	margin: 0;
	font-size: 142%;
	font-weight: 500;
}
/* コンバージョン
------------------------------------------------------------------------------- */
.lpCv01 {
	margin: 0 0 57px;
}
.lpCv02 {
	margin: 0;
}
.lpCatalog02 {
	padding: 53px 0 0;
	background-color: #4f4b4f;
}
.lpCatalog03 {
/* position: relative; */
	margin: 50px 0 0;
	padding: 40px 0 50px;
	border-top: 2px solid #aaa;
	border-right: 2px solid #aaa;
	border-left: 2px solid #aaa;
}
.lpBtn01 {
	display: -webkit-box;
	display: flex;	
	justify-content: space-between;
	position: relative;
	margin: 30px 0 0;
	font-size: 192%;
	font-weight: 500;
	text-align: center;
	z-index: 1;
}
.lpBtn01-mt {
	top: -25px;
	margin: 0;
}
.lpBtn01_item {
	width: 48.484%;
}
.lpBtn01_item a {
	display: block;
	position: relative;
	line-height: 78px;
	/* padding: 0 190px 0 0; */
	border: 1px solid #c30d23;
  border-radius: 5px;
	/* border-radius: 50px; */
	background-color: #c30d23;
	color: #fff;
	text-decoration: none;
}
.lpBtn01-mt .lpBtn01_item a {
	line-height: 64px;
	border: 1px solid #C30D23;
	background-color: #fff;
	color: #C30D23;
}
.lpBtn01_item a::before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 90px;
	width: 98px;
	height: 50px;
	margin: -25px 0 0;
	/* background: url(../images/btn_ico01.png) center center no-repeat; */
	background-size: contain;
}
.lpBtn01-mt .lpBtn01_item a::before {
	right: 90px;
	width: 96px;
	height: 48px;
	margin: -24px 0 0;
	/* background-image: url(../images/btn_ico02.png); */
}
.lpBtn01_item a::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 30px;
	width: 30px;
	height: 31px;
	margin: -15px 0 0;
	background: url(../images/arw_ico02.png) center center no-repeat;
	background-size: contain;
}

/* 施工事例
------------------------------------------------------------------------------- */
.lpWork01 {
	padding: 45px 0 45px;
	background-color: #4f4b4f;
	text-align: center;
}
.lpWork01_en {
	line-height: 1;
	color: #fff;
	font-family: 'Noto Serif JP', serif;
	font-size: 200%;
	font-weight: 500;
}
.lpWork01_en span {
	display: inline-block;
	padding: 0 18px 10px;
	border-bottom: 1px solid #fff;
}
.lpWork01_tit {
	line-height: 1;
	margin: 8px 0 0;
	color: #fff;
	font-family: 'Noto Serif JP', serif;
	font-size: 184%;
	font-weight: 500;
}
.lpGallery01 {
	position: relative;
	margin: 0 -15px;
	background-color: #fff;
	border-top: 9px solid #fff;
	border-bottom: 9px solid #fff;
}
.lpGallery01_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;
}
.lpGallery01_in {
	overflow: hidden;
	opacity: 0;
}
.lpGallery01_in-show {
	opacity: 1;
}
.lpGallery01_item {
	max-width: 625px;
}
.lpGallery01_pager {
	display: block;
	position: absolute;
	right: 0;
	bottom: -40px;
	left: 0;
	max-width: 990px;
	line-height: 1;
	margin: 0 auto;
	font-size: 0;
	text-align: center;
	z-index: 1;
}
.lpGallery01_pager .swiper-pagination-bullet {
	display: inline-block;
	width: 14px;
	height: 14px;
	margin: 0 7px;
	border-radius: 100%;
	background-color: #9FA1A0;
}
.lpGallery01_pager .swiper-pagination-bullet-active {
	background-color: #fff;
}

/* 追従メニュー
------------------------------------------------------------------------------- */

.idSide_overlay {
	display: none !important;
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: rgba(0, 0, 0, 0.6);
	background-color: rgba(0, 0, 0, 0.6);
	z-index: 100;
}

.idSide_overlay2 {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}

.idSide-show2 .idSide_overlay {
	display: block !important;
	-webkit-animation: idOverShow 0.4s 0.15s both;
	animation: idOverShow 0.4s 0.15s both;
}

@-webkit-keyframes idOverShow {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

@keyframes idOverShow {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

.idSide_nav,
.idSide_nav02{
	position: fixed;
	top: 50%;
	right: 0;
	width: 90px;
	line-height: 1.1;
	right: -95px;
	opacity: 0;
	-webkit-transition: opacity 0.4s, right 0.7s;
	transition: opacity 0.4s, right 0.7s;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
	z-index: 100;
	cursor: pointer;
}

.idSide-show1 .idSide_nav,
.idSide-show1 .idSide_nav02{
	right: 0;
	opacity: 1;
}

.idSide_nav p {
	display: block;
	position: relative;
	height: 140px;
	color: #fff;
	text-decoration: none;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	text-align: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	font-size: 12px;
	line-height: 1.3;
	font-weight: 400;
}

.idSide_nav02 p {
	display: block;
	position: relative;
	height: 315px;
	color: #fff;
	text-decoration: none;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	text-align: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	font-size: 12px;
	line-height: 1.3;
	font-weight: 400;
}

.idSide_nav a {
	color: #fff;
	text-decoration: none;
	display: block;
}

.idSide_nav02 a {
	color: #fff;
	text-decoration: none;
	display: block;
}

/* 右固定メニュー01 */
.idSide_btn01 {
	margin-bottom: 0;
	background-color:;
}
.idSide_btn01 a::before {
	content: "";
	display: block;
	width: 68px;
	height: 315px;
	margin: 0 auto 5px;
	background: url(/tochikatsu/d-room/lp/images/btn/btn_01.svg) center center no-repeat;
	background-size: 68px 315px;
}

/*item01a メールアイコン*/
.idSide_item01a {
	margin-bottom: 10px;
	background-color: #fa0046;
}
.idSide_item02a {
	background-color: #80724e;
}
.idSide-business .idSide_item02a {
	background-color: #0d7b70;
}
.idSide_item01a a::before {
	content: "";
	display: block;
	width: 32px;
	height: 25px;
	margin: 0 auto 5px;
	background: url(/tochikatsu/souken/images/rn03/icon_mail.svg) center center no-repeat;
	background-size: 32px 25px;
}

/*item01b　書類アイコン*/
.idSide_item01b {
	margin-bottom: 10px;
	background-color: #043893;
}
.idSide_item02b {
	background-color: #80724e;
}
.idSide-business .idSide_item02b {
	background-color: #0d7b70;
}
.idSide_item01b a::before {
	content: "";
	display: block;
	width: 32px;
	height: 25px;
	margin: 0 auto 5px;
	background: url(/tochikatsu/souken/images/rn03/icon_document.svg) center center no-repeat;
	background-size: 32px 25px;
}

/*item01b_02　書類アイコン*/
.idSide_item01b_02 {
	margin-bottom: 10px;
	background-color: #C36074;
}
.idSide_item02b_02 {
	background-color: #80724e;
}
.idSide-business .idSide_item02b_02 {
	background-color: #C36074;
}
.idSide_item01b_02 a::before {
	content: "";
	display: block;
	width: 32px;
	height: 25px;
	margin: 0 auto 5px;
	background: url(/tochikatsu/souken/images/rn03/icon_document.svg) center center no-repeat;
	background-size: 32px 25px;
}

/*item01e 吹き出しアイコン*/
.idSide_item01e {
	margin-bottom: 10px;
	background-color: #fa0046;
}
.idSide_item01e a::before {
	content: "";
	display: block;
	width: 32px;
	height: 25px;
	margin: 0 auto 5px;
	background: url(/tochikatsu/souken/images/rn03/icon_contact.svg) center center no-repeat;
	background-size: 32px 25px;
}

/*item01c　カタログアイコン*/
.idSide_item01c {
	margin-bottom: 10px;
	background-color: #fa0046;
}
.idSide_item02c {
	background-color: #80724e;
}
.idSide-business .idSide_item02b {
	background-color: #0d7b70;
}
.idSide_item01c a::before {
	content: "";
	display: block;
	width: 32px;
	height: 25px;
	margin: 0 auto 5px;
	background: url(/tochikatsu/souken/images/rn03/icon_catalog.svg) center center no-repeat;
	background-size: 32px 25px;
}

/*item01c　書類アイコン赤ベース*/
.idSide_item01d {
	margin-bottom: 10px;
	background-color: #fa0046;
}
.idSide_item02d {
	background-color: #80724e;
}
.idSide-business .idSide_item02b {
	background-color: #0d7b70;
}
.idSide_item01d a::before {
	content: "";
	display: block;
	width: 32px;
	height: 25px;
	margin: 0 auto 5px;
	background: url(/tochikatsu/souken/images/rn03/icon_catalog.svg) center center no-repeat;
	background-size: 32px 25px;
}

.idSide_item01a a::before {
	content: "";
	display: block;
	width: 32px;
	height: 25px;
	margin: 0 auto 5px;
	background: url(/tochikatsu/souken/images/rn03/icon_mail.svg) center center no-repeat;
	background-size: 32px 25px;
}

.idSide_item01d a::before {
	content: "";
	display: block;
	width: 32px;
	height: 25px;
	margin: 0 auto 5px;
	background: url(/tochikatsu/souken/images/rn03/icon_mail.svg) center center no-repeat;
	background-size: 32px 25px;
}

.idSide_item02a span::before {
	content: "";
	display: block;
	width: 45px;
	height: 33px;
	margin: 0 auto 5px;
	background: url(/tochikatsu/souken/images/rn03/icon_ranking.svg) center center no-repeat;
	background-size: 45px 33px;
}

.idSide_wrap {
	position: fixed;
	top: 0;
	max-width: 837px;
	height: 100%;
	right: -837px;
	opacity: 0;
	-webkit-transition: opacity 0.4s, right 0.7s;
	transition: opacity 0.4s, right 0.7s;
	z-index: 100;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.idSide-show2 .idSide_wrap {
	right: 0;
	opacity: 1;
}

.idSide_block {
	position: relative;
	background-color: #f7f7f7;
	overflow: hidden;
	z-index: 100;
}

.idSide_head {
	position: relative;
	padding: 0 20px;
}

.idSide_tit {
	color: #000;
	padding-top: 30px;
	font-size: 20px;
	font-weight: bold;
	text-align: center;
}

.idSide_close {
	position: absolute;
	top: 0;
	right: 0;
	width: 84px;
	height: 50px;
	cursor: pointer;
}

.idSide_close::before {
	content: "";
	display: block;
	position: absolute;
	top: 20px;
	right: 16px;
	width: 16px;
	height: 16px;
	background: url(/tochikatsu/souken/images/rn03/icon_close.svg) center center no-repeat;
	background-size: contain;
}

.idSide_body {
	padding: 20px 30px 35px;
}



