@charset "utf-8";

/*		Contents
---------------------------------------------------------------------------

	HOME							[ / ]
	メンテックLaboの強み			[ /strength/ ]
	工場倉庫の暑さ対策方法			[ /heat/ ]
	工事メニュー					[ /construction/ ]
		サーモバリアについて		[ /construction/thermobarrier/ ]
		遮熱塗装について			[ /construction/paint/ ]
		雨漏り対策、修繕工事		[ /construction/repair/ ]
		屋根の板金カバー工事		[ /construction/cover/ ]
		空調設備の整備・強化		[ /construction/aircontrol/ ]
	お客様の声						[ /voice/ ]
	施工事例						[ /result/ ]
	お役立ち情報・ブログ			[ /info/ ]
	会社概要						[ /company/ ]
	お問い合わせ					[ /contact/ ]
	資料請求						[ /request/ ]
	プライバシーポリシー			[ /privacy/ ]
	404 NOT FOUND					[ /error/ ]

------------------------------------------------------------------------ */

/* ========================================================================
	HOME							[ / ]
======================================================================== */
#home{
	overflow:hidden;
}

@media screen and (max-width:767px){
#home{
}
}


/* ----------------------------------------
	hero
---------------------------------------- */
#home .hero{
	background:url(../../img/home/bg_hero.jpg) no-repeat center;
	background-size:cover;
}

#home .hero .inner{
	height:600px;
}

#home .hero h2{
	position:absolute;
	top:68px;
	left:-18px;
	margin:0;
	padding:0;
}
#home .hero h2::before{ content:none; }

#home .hero .img{
	position:absolute;
	bottom:0;
	right:14px;
}

@media screen and (max-width:767px){
#home .hero{
	padding:30px 0 20px 0;
	background:url(../../img/home/bg_hero_sp.jpg) no-repeat center;
	background-size:cover;
}

#home .hero .inner{
	height:auto;
	padding:0;
}

#home .hero h2{
	position:static;
	margin:0 0 20px 0;
}

#home .hero .img{
	position:static;
	bottom:0;
	right:14px;
}
}


/* btn_01
---------------------------------------- */
#home .hero .btn_01{
	position:absolute;
	bottom:138px;
	left:0;
	margin:0;
}

#home .hero .btn_01 a{
	min-width:270px;
	min-height:66px;
	font-size:2.0rem;
}

#home .hero .btn_01 span{
	padding-right:0;
}

@media screen and (max-width:767px){
#home .hero .btn_01{
	justify-content:flex-start;
	position:static;
	padding:0 0 80px 5vw;
}

#home .hero .btn_01 a{
	padding:0;
	min-width:240px;
	min-height:50px;
	font-size:1.6rem;
}
}


/* ----------------------------------------
	continuation
---------------------------------------- */
#home .continuation{
	position:relative;
	width:auto;
	max-width:1360px;
	margin:40px auto;
	padding:80px 0 100px 0;
	background:url(../../img/home/bg_continuation01.png) no-repeat left center;
	background-size:auto 100%;
	border-radius:20px;
	box-shadow:0 0 10px rgba(217, 217, 217, 0.2);
}

#home .continuation::before{
	content:"";
	position:absolute;
	top:-40px;
	left:50%;
	width:1220px;
	height:700px;
	margin:0 0 0 -140px;
	background:url(../../img/home/bg_continuation02.png) no-repeat center;
}

#home .continuation::after{
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:rgba(255, 255, 255, 0.6);
	backdrop-filter:blur(2px);
}

#home .continuation .inner{
	display:flex;
	flex-direction:column;
	align-items:center;
	position:relative;
	z-index:1;
}

#home .continuation h2{
	position:relative;
	padding:0;
	color:#1051B1;
	line-height:6.6rem;
	letter-spacing:0.1em;
}
#home .continuation h2::before{ content:none; }

#home .continuation h2 > span{
	display:inline-block;
	margin:0 10px 0 0;
	padding:0 14px;
	background:#F9F871;
}

#home .continuation h2 span span{
	color:#FF2D31;
}

@media screen and (max-width:767px){
#home .continuation{
	max-width:none;
	margin:40px auto;
	padding:60px 0;
	background:url(../../img/home/bg_continuation01.png) no-repeat left bottom;
	background-size:326px 376px;
}

#home .continuation::before{
	width:610px;
	height:350px;
	margin:0 0 0 -70px;
	background-size:100%;
}

#home .continuation h2{
	margin:0 0 30px 0;
	line-height:4.8rem;
}

#home .continuation h2 > span{
	padding:0 10px;
}
}


/* lead
---------------------------------------- */
#home .continuation p.lead{
	margin:0 0 48px 0;
	font-size:2.6rem;
	font-weight:700;
	line-height:4.6rem;
	letter-spacing:0.1em;
}

#home .continuation p.lead strong{
	color:#FF5941;
}

#home .continuation p.lead span{
	background:linear-gradient(transparent 78.4%, #F9F871 0%);
}

@media screen and (max-width:767px){
#home .continuation p.lead{
	margin:0 0 40px 0;
	font-size:2.0rem;
	line-height:4.0rem;
}
}


/* dl
---------------------------------------- */
#home .continuation dl{
	width:100%;
	background:rgba(255, 255, 255, 0.3);
	border:6px solid #0090DC;
	backdrop-filter:blur(2px);
	padding:40px 40px 42px;
	letter-spacing:0.1em;
}

#home .continuation dl dt{
	position:relative;
	margin:0 0 26px 0;
	padding:0 0 0 36px;
	font-size:2.2rem;
	font-weight:700;
	line-height:2.6rem;
}

#home .continuation dl dt::before,
#home .continuation dl dt::after{
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:26px;
	height:26px;
	background:linear-gradient(90deg, #1051B1 0%, #0090DC 100%);
	border-radius:50%;
}
#home .continuation dl dt::after{
	top:5px;
	left:5px;
	width:16px;
	height:16px;
	background:#FFFFFF;
}

#home .continuation dl dd{
	display:flex;
	justify-content:space-between;
	padding:0 20px;
}

#home .continuation dl dd ul li{
	font-weight:700;
}

@media screen and (max-width:767px){
#home .continuation dl{
	padding:30px 20px 20px;
}

#home .continuation dl dt{
	margin:0 0 20px 0;
	font-size:2.0rem;
}

#home .continuation dl dd{
	display:block;
	padding:0;
}

#home .continuation dl dd ul li{
	margin:0 0 10px 0;
	line-height:2.6rem;
}
}


/* ----------------------------------------
	result
---------------------------------------- */
#home .result{
	position:relative;
	padding:110px 0 40px 0;
	background:url(../../img/home/bg_result.png) no-repeat center top;
}
#home .result.toyota{
	padding-bottom:100px;
	background:url(../../img/common/bg_dot.png) center bottom;
	border-radius:60px;
	z-index:1;
}

#home .result.toyota::before{
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:calc(100% - 40px);
	background:#DBF3FF;
	border-radius:60px;
	z-index:-1;
}

#home .result.toyota::after{
	content:"";
	position:absolute;
	top:0;
	left:50%;
	width:1056px;
	height:910px;
	margin:0 0 0 -230px;
	background:url(../../img/home/bg_result_toyota.png) no-repeat center;
	z-index:-1;
}

@media screen and (max-width:767px){
#home .result{
	padding:60px 0 20px 0;
	background-size:100% auto;
}
#home .result.toyota{
	padding-bottom:60px;
	border-radius:30px;
}

#home .result.toyota::before{
	border-radius:30px;
}

#home .result.toyota::after{
	width:528px;
	height:455px;
	margin:0 0 0 -50px;
	background-size:100%;
}
}


/* ul
---------------------------------------- */
#home .result ul{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:60px 30px;
	margin:0 0 60px 0;
}

#home .result ul li{
	overflow:hidden;
	background:#FFFFFF;
	border-radius:20px;
	box-shadow:0 0 10px #D9D9D9;
}

#home .result ul li a{
	display:flex;
	flex-direction:column;
	position:relative;
	height:100%;
	padding:0 0 54px 0;
	text-decoration:none;
}

#home .result ul li a::before{
	content:"";
	position:absolute;
	bottom:20px;
	right:20px;
	width:34px;
	height:34px;
	background:#1051B1;
	border-radius:50%;
}

#home .result ul li a::after{
	content:"";
	position:absolute;
	bottom:20px;
	right:30px;
	width:14px;
	height:34px;
	background:url(../../img/common/arrow.svg) no-repeat center;
	filter:invert(90%) sepia(90%) saturate(2%) hue-rotate(283deg) brightness(106%) contrast(100%);
}

#home .result ul li img{
	border-radius:20px 20px 0 0;
}

#home .result ul li h3{
	margin:0;
	padding:32px 30px 22px;
	background:none;
	font-size:2.0rem;
	color:#1051B1;
	line-height:3.2rem;
	letter-spacing:0.05em;
}

#home .result ul li .ttl{
	padding:0 30px 30px;
}

@media screen and (max-width:767px){
#home .result ul{
	display:block;
	margin:0;
	padding:0 0 20px 0;
}

#home .result ul li{
	margin:0 0 20px 0;
}

#home .result ul li img{
	width:100%;
}

#home .result ul li h3{
	padding:30px 20px 20px;
}

#home .result ul li .ttl{
	padding:0 20px 20px;
}
}


/* ----------------------------------------
	realize
---------------------------------------- */
#home .realize{
	position:relative;
	padding:70px 0 160px 0;
	background:url(../../img/home/bg_realize.png) no-repeat center bottom 258px;
}

#home .realize::before{
	content:"";
	position:absolute;
	top:-72px;
	right:50%;
	width:746px;
	height:430px;
	margin:0 220px 0 0;
	background:url(../../img/home/illust_realize01.png) no-repeat center;
}

#home .realize .inner::before{
	content:"";
	position:absolute;
	top:-30px;
	right:72px;
	width:103px;
	height:129px;
	background:url(../../img/home/illust_realize02.png) no-repeat center;
	background-size:100%;
}

#home .realize .inner::after{
	content:"";
	position:absolute;
	bottom:-120px;
	right:-80px;
	width:163px;
	height:151px;
	background:url(../../img/home/illust_realize03.png) no-repeat center;
	background-size:100%;
}

@media screen and (max-width:767px){
#home .realize{
	padding:20px 0 24px 0;
	background:url(../../img/home/bg_realize.png) no-repeat center bottom 129px;
	background-size:1089px 236px;
}

#home .realize::before{
	top:-140px;
	width:373px;
	height:215px;
	margin:0 80px 0 0;
	background-size:100%;
}

#home .realize .inner::before{
	top:50px;
	right:40px;
	width:52px;
	height:65px;
	background-size:100% auto;
	z-index:1;
}

#home .realize .inner::after{
	bottom:-46px;
	right:40px;
	width:82px;
	height:76px;
	background-size:100% auto;
}
}


/* ul
---------------------------------------- */
#home .realize ul{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:60px 30px;
}

#home .realize ul li{
	display:flex;
	flex-direction:column;
	align-items:center;
	position:relative;
	margin:0 0 0 14px;
	padding:38px 30px 30px;
	background:rgba(244, 253, 255, 0.9);
	border-radius:20px;
	box-shadow:0 0 8px #D9D9D9;
}

#home .realize ul li::before{
	content:"";
	position:absolute;
	top:-26px;
	left:-18px;
	width:58px;
	height:58px;
	background:url(../../img/common/icon_check.png) no-repeat center;
	background-size:100%;
}

#home .realize ul li h3{
	flex:1;
	margin:0;
	padding:0 0 10px 0;
	background:none;
	text-align:center;
	font-size:2.6rem;
	line-height:3.8rem;
	letter-spacing:0.05em;
}

#home .realize ul li h3 span{
	color:#FF5941;
}

#home .realize ul li img{
	margin:0 0 20px 0;
}

@media screen and (max-width:767px){
#home .realize ul{
	display:block;
}

#home .realize ul li{
	margin:0 0 36px 14px;
	padding:30px 20px;
}

#home .realize ul li h3{
	font-size:2.4rem;
	line-height:3.6rem;
}
}


/* ----------------------------------------
	reazon
---------------------------------------- */
#home .reazon{
	position:relative;
	padding:110px 0 80px 0;
	background:linear-gradient(180deg, #F4F6FF 0%, #DBF3FF 100%);
	border-radius:60px 60px 0 0;
}

#home .reazon::before{
	content:"";
	position:absolute;
	bottom:106px;
	right:50%;
	width:223px;
	height:170px;
	margin:0 10px 0 0;
	background:url(../../img/home/illust_reason.png) no-repeat center;
	background-size:100%;
	z-index:1;
}

@media screen and (max-width:767px){
#home .reazon{
	padding:60px 0 20px 0;
	border-radius:30px 30px 0 0;
}

#home .reazon::before{
	bottom:20px;
	right:30px;
	width:112px;
	height:85px;
	margin:0;
	background-size:112px auto;
}
}


/* list_reazon
---------------------------------------- */
#home .reazon .list_reazon p strong{
	color:#FF2D31;
}


/* ----------------------------------------
	voice
---------------------------------------- */
#home .voice{
	padding:80px 0 40px 0;
	background:url(../../img/common/bg_dot.png) center -25px #DBF3FF;
	border-radius:0 0 60px 60px;
}

@media screen and (max-width:767px){
#home .voice{
	padding:60px 0 20px 0;
	border-radius:0 0 30px 30px;
}
}


/* ----------------------------------------
	construction
---------------------------------------- */
#home .construction{
	margin:0 0 -60px 0;
	padding:110px 0 40px 0;
	position:relative;
	background:linear-gradient(180deg, #F4F6FF 0%, #DBF3FF 100%);
	border-radius:60px;
	z-index:2;
}

#home .construction::before{
	content:"";
	position:absolute;
	bottom:-78px;
	left:50%;
	width:311px;
	height:255px;
	margin:0 0 0 290px;
	background:url(../../img/home/illust_construction.png) no-repeat center;
	background-size:100%;
}

@media screen and (max-width:767px){
#home .construction{
	margin:0;
	padding:60px 0 20px 0;
	border-radius:30px;
}

#home .construction::before{
	content:"";
	position:absolute;
	bottom:-52px;
	left:auto;
	right:30px;
	width:125px;
	height:102px;
	margin:0;
	background-size:125px auto;
}
}


/* ul
---------------------------------------- */
#home .construction ul{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:60px 30px;
	margin:0 0 60px 0;
}

#home .construction ul li{
	overflow:hidden;
	background:#FFFFFF;
	border-radius:20px;
	box-shadow:0 0 10px #D9D9D9;
}

#home .construction ul li a{
	display:flex;
	flex-direction:column;
	height:100%;
	text-decoration:none;
}

#home .construction ul li h3{
	margin:0;
	padding:14px 26px;
	background:#1051B1;
	text-align:center;
	font-size:2.6rem;
	color:#FFFFFF;
	line-height:3.6rem;
	letter-spacing:0.05em;
}

#home .construction ul li p{
	flex:1;
	padding:28px 26px 20px;
}

#home .construction ul li dl{
	display:flex;
	gap:0 20px;
	padding:0 26px 26px;
	line-height:3.0rem;
}

#home .construction ul li dl dt{
	width:84px;
	background:#1051B1;
	border-radius:15px;
	text-align:center;
	font-size:1.4rem;
	color:#FFFFFF;
}

#home .construction ul li dl dd{
	font-size:1.8rem;
}

@media screen and (max-width:767px){
#home .construction ul{
	display:block;
	margin:0;
	padding:0 0 20px 0;
}

#home .construction ul li{
	margin:0 0 20px 0;
}

#home .construction ul li h3{
	padding:14px 26px;
	font-size:2.0rem;
	line-height:3.0rem;
}

#home .construction ul li img{
	width:100%;
}

#home .construction ul li p{
	padding:20px;
}

#home .construction ul li dl{
	padding:0 20px 26px;
}
}


/* ----------------------------------------
	info
---------------------------------------- */
#home .info{
	position:relative;
	margin:0 0 45px 0;
	padding:160px 0 35px 0;
	background:url(../../img/common/bg_dot.png) center bottom;
	z-index:1;
}

@media screen and (max-width:767px){
#home .info{
	margin:0;
	padding:60px 0 20px 0;
}
}


/* ----------------------------------------
	news
---------------------------------------- */
#home .news{
	position:relative;
	padding:0 0 150px 0;
}

#home .news::before{
	content:"";
	position:absolute;
	bottom:0;
	left:50%;
	width:1082px;
	height:798px;
	margin:0 0 0 -286px;
	background:url(../../img/home/bg_news.png) no-repeat center;
}

#home .news h2{
	position:absolute;
	top:0;
	left:0;
	padding:0 0 16px 0;
}

#home .news h2::before{
	left:0;
	width:18px;
	transform:none;
}

@media screen and (max-width:767px){
#home .news{
	padding:0 0 60px 0;
}

#home .news::before{
	left:20px;
	width:541px;
	height:399px;
	margin:0;
	background-size:100%;
}

#home .news h2{
	position:relative;
	top:auto;
	left:auto;
}

#home .news h2::before{
	left:50%;
	width:60px;
	transform:translateX(-50%);
}
}


/* ul
---------------------------------------- */
#home .news ul{
	margin:0 0 0 278px;
	padding:32px 0 50px 30px;
}

#home .news ul::before{
	content:"";
	position:absolute;
	top:0;
	left:50%;
	width:calc(50vw + 322px);
	height:100%;
	margin:0 0 0 -322px;
	background:rgba(0, 144, 220, 0.1);
	border-radius:6px 0 0 6px;
}

#home .news ul li a{
	display:flex;
	position:relative;
	padding:26px 44px 12px 20px;
	border-bottom:1px solid #FFFFFF;
	text-decoration:none;
}

#home .news ul li a::before{
	content:"";
	position:absolute;
	bottom:0;
	left:0;
	width:100%;
	height:1px;
	transition-duration:0.2s;
}

#home .news ul li a::after{
	content:"";
	position:absolute;
	top:0;
	right:10px;
	width:14px;
	height:100%;
	background:url(../../img/common/arrow.svg) no-repeat center;
	filter:invert(21%) sepia(76%) saturate(2370%) hue-rotate(207deg) brightness(90%) contrast(93%);
	transition-duration:0.2s;
}

#home .news ul li time{
	padding:0 28px 0 0;
	color:#1051B1;
}

#home .news ul li span{
	font-size:1.8rem;
	line-height:3.2rem;
	text-decoration:underline;
}

@media screen and (min-width:768px){
#home .news ul li a:hover::before{ box-shadow:0 4px 4px rgba(0, 0, 0, 0.25); }
#home .news ul li a:hover::after{ right:0; }
}

@media screen and (max-width:767px){
#home .news ul{
	margin:0 0 40px 0;
	padding:20px 20px 40px;
	background:rgba(0, 144, 220, 0.1);
	border-radius:6px 0 0 6px;
}

#home .news ul::before{
	content:none;
}

#home .news ul li a{
	flex-direction:column;
	padding:20px 34px 20px 0;
}

#home .news ul li a::after{
	right:0;
}

#home .news ul li time{
	padding:0;
}
}


/* btn_02
---------------------------------------- */
#home .news .btn_02{
	position:absolute;
	top:128px;
	left:0;
	margin:0;
}

@media screen and (max-width:767px){
#home .news .btn_02{
	position:static;
}
}


/* ========================================================================
	メンテックLaboの強み			[ /strength/ ]
======================================================================== */
#strength{
	margin-top:-80px;
	padding:0;
}

@media screen and (max-width:767px){
#strength{
	margin-top:-60px;
}
}


/* ----------------------------------------
	hero
---------------------------------------- */
#strength .hero{
	overflow:hidden;
	position:relative;
	padding:100px 0 142px 0;
	background:linear-gradient(180deg, #FFFFFF 0%, #F4F6FF 13.46%);
}

#strength .hero::before{
	content:"";
	position:absolute;
	bottom:0;
	left:0;
	width:100%;
	height:22px;
	background:#FFFFFF;
}

#strength .hero .inner::before{
	content:"";
	position:absolute;
	bottom:-142px;
	right:90px;
	width:367px;
	height:234px;
	background:url(../../img/strength/illust_hero.png) no-repeat center;
	background-size:100%;
}

#strength .hero p strong{
	font-weight:700;
	color:#FF5941;
}

#strength .hero .en{
	position:relative;
	margin:0 0 50px 0;
}

@media screen and (max-width:767px){
#strength .hero{
	overflow:visible;
	padding:60px 0;
}

#strength .hero::before{
	content:none;
}

#strength .hero .inner::before{
	bottom:-100px;
	right:30px;
	width:147px;
	height:94px;
	background-size:147px auto;
}

#strength .hero p br{
	display:none;
}

#strength .hero .en,
#strength .hero .img{
	margin:0 0 20px 0;
	text-align:center;
}
#strength .hero .img{ margin:0 0 40px 0; }
}


/* key
---------------------------------------- */
#strength .hero .key{
	position:absolute;
	top:-100px;
	left:50%;
	margin:0 0 0 -120px;
}

#strength .hero .key img{
	max-width:none;
}

@media screen and (max-width:767px){
#strength .hero .key{
	position:static;
	margin:0 0 40px 0;
}

#strength .hero .key img{
	max-width:100%;
}
}


/* lead
---------------------------------------- */
#strength .hero .lead{
	position:relative;
	width:790px;
	margin:0 0 90px 0;
}

#strength .hero .lead p{
	font-size:3.0rem;
	font-weight:700;
	line-height:5.3rem;
	letter-spacing:0.08em;
}

@media screen and (max-width:767px){
#strength .hero .lead{
	width:auto;
	margin:0 0 40px 0;
}

#strength .hero .lead p{
	font-size:2.4rem;
	line-height:4.6rem;
}
}


/* txt
---------------------------------------- */
#strength .hero .txt{
	position:absolute;
	bottom:116px;
	right:0;
	width:560px;
}

#strength .hero .txt p{
	font-size:2.6rem;
	font-weight:700;
	line-height:4.6rem;
	letter-spacing:0.1em;
}

@media screen and (max-width:767px){
#strength .hero .txt{
	position:relative;
	bottom:auto;
	right:auto;
	width:auto;
}

#strength .hero .txt p{
	font-size:2.0rem;
	line-height:4.0rem;
}
}


/* ----------------------------------------
	reason
---------------------------------------- */
#strength .reason{
	padding:38px 0 80px 0;
	background:linear-gradient(180deg, #FFFFFF 0%, #F4F6FF 13.46%);
}

@media screen and (max-width:767px){
#strength .reason{
	padding:60px 0 20px 0;
}
}


/* navi
---------------------------------------- */
#strength .reason .navi ul{
	display:flex;
	justify-content:space-between;
	padding:0 0 40px 0;
}

@media screen and (max-width:767px){
#strength .reason .navi{
	display:flex;
	justify-content:center;
}

#strength .reason .navi ul{
	display:block;
	padding:0 0 30px 0;
}
}


/* ---------- btn_02 ---------- */
#strength .reason .navi .btn_02 a::after{
	transform:rotate(90deg);
}

@media screen and (max-width:767px){
#strength .reason .navi .btn_02{
	justify-content:flex-start;
	margin:0 0 30px 0;
}

#strength .reason .navi .btn_02 a{
	width:100%;
}
}


/* ----------------------------------------
	voice
---------------------------------------- */
#strength .voice{
	padding:80px 0 40px 0;
	background:url(../../img/common/bg_dot.png) center;
}

@media screen and (max-width:767px){
#strength .voice{
	padding:60px 0 20px 0;
}
}


/* ========================================================================
	工場倉庫の暑さ対策方法			[ /heat/ ]
======================================================================== */
#heat{
	padding:0;
}


/* ----------------------------------------
	btn_02
---------------------------------------- */
#heat .btn_02{
	justify-content:flex-start;
	margin:30px 0 0 0;
}

@media screen and (max-width:767px){
#heat .btn_02{
	margin:20px 0 0 0;
}
}


/* ----------------------------------------
	flex
---------------------------------------- */
#heat .flex{
	position:relative;
	margin:0 0 60px 0;
}

#heat .flex img{
	border-radius:10px;
}

#heat .flex .img{
	position:absolute;
	top:0;
	left:0;
	height:100%;
}

#heat .flex dl,
#heat .flex .block{
	position:relative;
	width:585px;
	min-height:442px;
	margin:58px 0 0 615px;
	padding:50px 72px;
	background:#FFFFFF;
	box-shadow:0 0 20px rgba(0, 144, 220, 0.2);
	border-radius:10px;
}

#heat .flex dl dt{
	margin:0 0 30px 0;
	font-size:3.2rem;
	font-weight:700;
	line-height:4.6rem;
	letter-spacing:0.08em;
}

@media screen and (max-width:767px){
#heat .flex{
	display:block;
	margin:0 0 40px 0;
}

#heat .flex .img{
	position:static;
	margin:0 20px -20px 0;
}

#heat .flex dl,
#heat .flex .block{
	width:auto;
	min-height:auto;
	margin:0 0 0 20px;
	padding:30px 20px;
}

#heat .flex dl dt{
	margin:0 0 10px 0;
	font-size:2.0rem;
	line-height:3.4rem;
}
}


/* ----------------------------------------
	column
---------------------------------------- */
#heat .column{
	display:flex;
	gap:0 50px;
	margin:0 0 40px 0;
}

#heat .column > img{
	order:1;
	border-radius:10px;
}

#heat .column .block{
	flex:1;
}

@media screen and (max-width:767px){
#heat .column{
	display:block;
	margin:0 0 40px 0;
}

#heat .column > img{
	display:block;
	width:100%;
	margin:0 0 20px 0;
}
}


/* ----------------------------------------
	first
---------------------------------------- */
#heat .first{
	padding:0 0 20px 0;
	background:linear-gradient(180deg, #FFFFFF 0%, #F4F6FF 13.46%);
}

@media screen and (max-width:767px){
#construction .first{
	padding:0 0 40px 0;
}
}


/* ----------------------------------------
	cause
---------------------------------------- */
#heat .cause{
	padding:80px 0;
}

@media screen and (max-width:767px){
#heat .cause{
	padding:60px 0 40px 0;
}
}


/* type
---------------------------------------- */
#heat .cause .type p{
	margin:0 0 60px 0;
}

#heat .cause .type figure{
	margin:0 0 40px 0;
}

#heat .cause .type figcaption{
	padding:20px 0 0 0;
	font-size:1.4rem;
	font-weight:500;
	line-height:3.2rem;
	color:#B3B3B3;
}

#heat .cause .type ul{
	display:flex;
	justify-content:space-between;
}

@media screen and (max-width:767px){
#heat .cause .type p{
	margin:0 0 40px 0;
}

#heat .cause .type p.note{
	padding:0 0 0 1.0em;
	text-indent:-1.0em;
}

#heat .cause .type figcaption{
	padding:10px 0 0 0;
}

#heat .cause .type ul{
	flex-wrap:wrap;
	justify-content:center;
	margin:0 -10px;
}

#heat .cause .type ul li{
	width:50%;
	padding:0 10px 20px;
}
}


/* ----------------------------------------
	countermeasure
---------------------------------------- */
#heat .countermeasure{
	padding:80px 0 40px 0;
	background:linear-gradient(212.07deg, #EBEEFF 14.46%, #F4F6FF 85.61%);
}

@media screen and (max-width:767px){
#heat .countermeasure{
	padding:60px 0 20px 0;
}
}


/* ----------------------------------------
	unpreventable
---------------------------------------- */
#heat .unpreventable{
	padding:80px 0 120px 0;
}

#heat .unpreventable p{
	margin:0 0 50px 0;
}

#heat .unpreventable figure{
	margin:0 0 30px 0;
}

#heat .unpreventable figcaption{
	padding:10px 0 0 0;
	text-align:right;
	font-size:1.4rem;
	font-weight:500;
	line-height:3.2rem;
	color:#B3B3B3;
}

@media screen and (max-width:767px){
#heat .unpreventable{
	padding:60px 0;
}

#heat .unpreventable p,
#heat .unpreventable figure{
	margin:0 0 40px 0;
}
}


/* box
---------------------------------------- */
#heat .unpreventable .box{
	padding:33px 55px;
	background:rgba(255, 255, 255, 0.3);
	border:5px solid #0090DC;
	backdrop-filter:blur(2px);
}

#heat .unpreventable .box p{
	margin:0;
	font-size:1.8rem;
	font-weight:700;
}

#heat .unpreventable .box strong{
	font-weight:700;
	color:#FF5941;
}

@media screen and (max-width:767px){
#heat .unpreventable .box{
	padding:20px;
}
}


/* ----------------------------------------
	effect
---------------------------------------- */
#heat .effect{
	padding:0 0 60px 0;
	background:linear-gradient(180deg, #FFFFFF 0%, #F4F6FF 13.46%);
}

@media screen and (max-width:767px){
#heat .effect{
	padding:0 0 20px 0;
}
}


/* ========================================================================
	工事メニュー					[ /construction/ ]
		サーモバリアについて		[ /construction/thermobarrier/ ]
		遮熱塗装について			[ /construction/paint/ ]
		雨漏り対策、修繕工事		[ /construction/repair/ ]
		工場・倉庫の暑さ対策方法	[ /construction/heat/ ]
		屋根の板金カバー工事		[ /construction/cover/ ]
		空調設備の整備・強化		[ /construction/aircontrol/ ]
======================================================================== */
#construction .dilate{
	filter:url(#dilate);
}

#construction > svg{
	overflow:hidden;
	position:absolute;
	width:1px;
	height:1px;
}


/* ----------------------------------------
	construction
---------------------------------------- */
#construction .menu p.lead{
	margin:0 0 80px 0;
	text-align:center;
	font-size:3.2rem;
	font-weight:700;
	line-height:4.8rem;
	letter-spacing:0.08em;
}

#construction .menu p.lead strong{	
	font-weight:700;
	color:#FF5941;
}

#construction .menu table{
	margin:0 0 80px 0;
}

#construction .menu table caption{
	position:relative;
	padding:0 0 30px 16px;
	text-align:left;
	font-size:2.0rem;
	font-weight:700;
	line-height:2.2rem;
}

#construction .menu table caption::before{
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:4px;
	height:22px;
	background:linear-gradient(90deg, #1051B1 0%, #0090DC 100%);
	border-radius:4px;
	box-shadow:0 0 4px rgba(36, 36, 36, 0.1);
}

#construction .menu table th{
	padding:6px 12px;
	background:#1051B1;
	border:1px solid #B3B3B3;
	text-align:center;
	font-weight:700;
	color:#FFFFFF;
}
#construction .menu table th a{ color:#FFFFFF; }
#construction .menu table th[scope="row"]{ text-align:left; }

#construction .menu table td{
	width:178px;
	padding:6px 12px;
	background:#EBEEFF;
	border:1px solid #B3B3B3;
	text-align:center;
	font-size:2.0rem;
	color:#FF5941;
}

#construction .menu ul{
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:80px;
	margin:0 0 80px 0;
}

#construction .menu ul li:first-child h3{
	font-size:3.0rem;
}

#construction .menu ul li > img{
	margin:0 0 30px 0;
	border-radius:10px;
}

@media screen and (max-width:767px){
#construction .menu p.lead{
	margin:0 0 40px 0;
	text-align:left;
	font-size:2.0rem;
	line-height:3.6rem;
}

#construction .menu table{
	margin:0;
}

#construction .menu table caption{
	padding:0 0 20px 16px;
}

#construction .menu table td{
	width:100px;
}

#construction .menu ul{
	display:block;
	margin:0;
}

#construction .menu ul li{
	margin:0 0 40px 0;
}

#construction .menu ul li:first-child h3{
	font-size:2.0rem;
}

#construction .menu ul li > img{
	display:block;
	margin:0 auto 20px;
}
}


/* scroll
---------------------------------------- */
@media screen and (max-width:767px){
#construction .scroll{
	overflow-x:scroll;
	margin:0 0 40px 0;
}
#construction .scroll::-webkit-scrollbar{ height:10px; }
#construction .scroll::-webkit-scrollbar-track{ background:#EEEEEE; }
#construction .scroll::-webkit-scrollbar-thumb { background:#CCCCCC; }

#construction .scroll table{
	width:810px;
	margin:0 !important;
}
}


/* ----------------------------------------
	btn_02
---------------------------------------- */
#construction .btn_02{
	justify-content:flex-start;
	margin:30px 0 0 0;
}

@media screen and (max-width:767px){
#construction .btn_02{
	margin:20px 0 0 0;
}
}


/* ----------------------------------------
	flex
---------------------------------------- */
#construction .flex{
	position:relative;
	min-height:540px;
	margin:0 0 60px 0;
}

#construction .flex img{
	border-radius:10px;
}

#construction .flex .img,
#construction .flex .img_multiple{
	position:absolute;
	top:0;
	left:0;
	height:100%;
}

#construction .flex .img_multiple img:nth-child(2){
	position:absolute;
	bottom:0;
	left:315px;
}

#construction .flex dl,
#construction .flex .block{
	position:relative;
	width:585px;
	min-height:442px;
	margin:58px 0 0 615px;
	padding:50px 72px;
	background:#FFFFFF;
	box-shadow:0 0 20px rgba(0, 144, 220, 0.2);
	border-radius:10px;
}

#construction .flex dl dt{
	margin:0 0 30px 0;
	font-size:3.2rem;
	font-weight:700;
	line-height:4.6rem;
	letter-spacing:0.08em;
}

@media screen and (max-width:767px){
#construction .flex{
	display:block;
	min-height:auto;
	margin:0 0 40px 0;
}

#construction .flex .img,
#construction .flex .img_multiple{
	position:static;
	margin:0 40px 0 0;
	text-align:right;
}

#construction .flex .img_multiple img{
	width:100%;
}

#construction .flex .img_multiple img:nth-child(2){
	position:static;
	margin:-40px -40px 0 0;
}

#construction .flex dl,
#construction .flex .block{
	width:auto;
	min-height:auto;
	margin:20px 0 0 0;
	padding:40px 20px;
}

#construction .flex dl dt{
	margin:0 0 20px 0;
	font-size:2.2rem;
	line-height:3.4rem;
}
}


/* ----------------------------------------
	first
---------------------------------------- */
#construction .first{
	padding:0 0 20px 0;
	background:linear-gradient(180deg, #FFFFFF 0%, #F4F6FF 13.46%);
}

#construction .first ul li{
	display:block;
	position:relative;
	min-height:480px;
	margin:0 0 60px 0;
	padding:56px 0 0 0;
}

#construction .first ul li > img{
	position:absolute;
	top:0;
	left:0;
}
#construction .first ul li:nth-child(2) > img{
	left:auto;
	right:0;
}

#construction .first ul li dl{
	position:relative;
	width:585px;
	margin:0 0 0 615px;
	padding:50px 72px;
	background:#FFFFFF;
	box-shadow:0 0 20px rgba(0, 144, 220, 0.2);
	border-radius:10px;
	z-index:1;
}
#construction .first ul li:nth-child(2) dl{ margin-left:0; }

#construction .first ul li dl dt{
	margin:0 0 30px 0;
	font-size:3.2rem;
	font-weight:700;
	line-height:4.6rem;
	letter-spacing:0.08em;
}

#construction .first ul li dl dt span{
	position:absolute;
	top:-42px;
	right:24px;
	font-size:10.0rem;
	font-style:italic;
	font-weight:400;
	color:#b2ddf4;
	line-height:1;
}

@media screen and (max-width:767px){
#construction .first{
	padding:0 0 20px 0;
}

#construction .first ul li{
	min-height:auto;
	margin:0 0 40px 0;
	padding:0;
}

#construction .first ul li > img{
	position:static;
	padding:0 20px 0 0;
}

#construction .first ul li dl{
	position:relative;
	width:auto;
	margin:0 0 -20px 20px;
	padding:40px 20px;
}
#construction .first ul li:nth-child(2) dl{ margin-left:20px; }

#construction .first ul li dl dt{
	margin:0 0 10px 0;
	font-size:2.0rem;
	line-height:3.4rem;
}

#construction .first ul li dl dt span{
	top:-34px;
	right:20px;
	font-size:7.0rem;
}
}


/* ----------------------------------------
	case
---------------------------------------- */
#construction .case{
	padding:80px 0;
	background:#DBF3FF;
}

#construction .case ul{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:0 32px;
}

#construction .case li img{
	border-radius:10px;
}

#construction .case .txt{
	padding:20px 0 0 48px;
	background:url(../../img/common/icon_check.png) no-repeat left 24px;
	background-size:29px;
	font-size:1.8rem;
	font-weight:700;
}

#construction .case .txt span{
	border-bottom:4px solid #AFDFF8;
}

@media screen and (max-width:767px){
#construction .case{
	padding:60px 0 20px 0;
}

#construction .case ul{
	display:block;
}

#construction .case ul li{
	margin:0 0 40px 0;
}

#construction .case ul li img{
	width:100%;
}
}


/* ----------------------------------------
	feature
---------------------------------------- */
#construction .feature{
	padding:80px 0;
}

#construction .feature h3{
	margin-bottom:70px;
}

#construction .feature ul{
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:60px 80px;
}

#construction .feature ul li{
	position:relative;
	min-height:430px;
	padding:70px 245px 40px 40px;
	background:#FFFFFF;
	border-radius:20px;
	box-shadow:0 0 10px #D9D9D9;
}

#construction .feature ul li .img{
	overflow:hidden;
	position:absolute;
	top:0;
	right:0;
	width:225px;
	height:100%;
}

#construction .feature ul li .img::before{
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:#FFFFFF;
	clip-path:polygon(0 0, 0% 100%, 75px 0);
}

#construction .feature ul li .img img{
	height:100%;
	object-fit:cover;
	border-radius:0 20px 20px 0;
}

#construction .feature ul li h4{
	min-height:76px;
	margin:0 0 24px 0;
	font-size:2.6rem;
	font-weight:700;
	color:#1051B1;
	line-height:3.8rem;
}

#construction .feature ul li h4 span{
	position:absolute;
	top:-42px;
	left:24px;
	font-size:10.0rem;
	font-style:italic;
	font-weight:400;
	color:#b2ddf4;
	line-height:1;
}

@media screen and (max-width:767px){
#construction .feature{
	padding:60px 0 20px 0;
}

#construction .feature h3{
	margin-bottom:30px;
}

#construction .feature ul{
	display:block;
}

#construction .feature ul li{
	min-height:auto;
	margin:0 0 40px 0;
	padding:30px 120px 30px 20px;
}

#construction .feature ul li .img{
	width:120px;
}

#construction .feature ul li .img::before{
	clip-path:polygon(0 0, 0% 100%, 50px 0);
}

#construction .feature ul li h4{
	min-height:auto;
	margin:0 0 10px 0;
	font-size:2.4rem;
	line-height:3.6rem;
}

#construction .feature ul li h4 span{
	top:-34px;
	left:auto;
	right:20px;
	font-size:7.0rem;
}

#construction .feature ul li p{
	position:relative;
}
}


/* lead
---------------------------------------- */
#construction .feature .lead{
	margin:-30px 0 70px 0;
	font-size:1.8rem;
	font-weight:700;
}

@media screen and (max-width:767px){
#construction .feature .lead{
	margin:0 0 40px 0;
	font-size:1.6rem;
}
}


/* btn_02
---------------------------------------- */
#construction .feature .btn_02{
	margin-top:20px;
}


/* ----------------------------------------
	merit
---------------------------------------- */
#construction .merit{
	padding:80px 0;
	background:linear-gradient(212.07deg, #EBEEFF 14.46%, #F4F6FF 85.61%);
}

#construction .merit h3{
	margin-bottom:62px;
}

#construction .merit ul{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:60px 30px;
}

#construction .merit ul li{
	display:flex;
	flex-direction:column;
	align-items:center;
	position:relative;
	margin:0 0 0 14px;
	padding:40px 30px 30px;
	background:rgba(255, 255, 255, 0.9);
	border-radius:20px;
	box-shadow:0 0 8px #D9D9D9;
}

#construction .merit ul li::before{
	content:"";
	position:absolute;
	top:-26px;
	left:-18px;
	width:58px;
	height:58px;
	background:url(../../img/common/icon_check.png) no-repeat center;
	background-size:100%;
}

#construction .merit ul li h4{
	display:flex;
	align-items:center;
	min-height:114px;
	margin:0 0 24px 0;
	text-align:center;
	font-size:2.6rem;
	font-weight:700;
	line-height:3.8rem;
}

#construction .merit ul li > img{
	width:auto;
	height:76px;
}

#construction .merit ul li p{
	padding:30px 0 0 0;
}

@media screen and (max-width:767px){
#construction .merit{
	padding:60px 0 20px 0;
}

#construction .merit h3{
	margin-bottom:50px;
}

#construction .merit ul{
	display:block;
}

#construction .merit ul li{
	margin:0 0 40px 14px;
	padding:40px 20px 30px;
}

#construction .merit ul li h4{
	min-height:auto;
	margin:0 0 24px 0;
	font-size:2.6rem;
	line-height:3.8rem;
}

#construction .merit ul li p{
	padding:30px 0 0 0;
}
}


/* ----------------------------------------
	demerit
---------------------------------------- */
#construction .demerit{
	padding:80px 0 20px 0;
}

#construction .demerit ul li{
	display:flex;
	gap:0 50px;
	margin:0 0 60px 0;
}

#construction .demerit ul li .img{
	order:2;
}
#construction .demerit ul li .img img{
	border-radius:10px;
}

#construction .demerit ul li .block{
	flex:1;
}

#construction .demerit ul li h4{
	margin:0 0 10px 0;
	font-size:2.6rem;
	font-weight:700;
	line-height:3.8rem;
}

@media screen and (max-width:767px){
#construction .demerit{
	padding:60px 0 20px 0;
}

#construction .demerit ul li{
	display:block;
	margin:0 0 40px 0;
}

#construction .demerit ul li .img{
	margin:0 0 20px 0;
	text-align:center;
}
#construction .demerit ul li .img img{ width:100%; }

#construction .demerit ul li h4{
	font-size:2.0rem;
	line-height:3.2rem;
}
}


/* ----------------------------------------
	quality
---------------------------------------- */
#construction .quality{
	padding:0 0 80px 0;
}

#construction .quality .inner{
	overflow:hidden;
	padding:80px 60px 20px;
	background:linear-gradient(0deg, rgba(255, 45, 49, 0.05), rgba(255, 45, 49, 0.05)), #FFFFFF;
}

#construction .quality .inner::before{
	content:"";
	position:absolute;
	top:324px;
	right:0;
	width:652px;
	height:946px;
	background:url(../../img/construction/bg_quality.png) no-repeat center;
}

#construction .quality .inner::after{
	content:"";
	position:absolute;
	top:32px;
	right:46px;
	width:194px;
	height:200px;
	background:url(../../img/construction/illust_quality.png) no-repeat center;
	background-size:100%;
}

#construction .quality h2::before{
	background:linear-gradient(90deg, #FF5941 0%, #FF9900 100%);
}

#construction .quality h3{
	margin:0 0 25px 0;
	background-image:url(../../img/construction/h3_quality.png);
}

#construction .quality ul{
	position:relative;
}

#construction .quality ul li{
	display:flex;
	gap:0 40px;
	margin:0 0 60px 0;
}

#construction .quality ul li .img img{
	border-radius:10px;
}

#construction .quality ul li .block{
	flex:1;
}

@media screen and (max-width:767px){
#construction .quality{
	padding:0 20px 60px;
}

#construction .quality .inner{
	overflow:visible;
	padding:60px 20px 20px;
}

#construction .quality .inner::before{
	content:"";
	position:absolute;
	top:324px;
	right:0;
	width:652px;
	height:946px;
	background:url(../../img/construction/bg_quality.png) no-repeat center;
}

#construction .quality .inner::after{
	top:-40px;
	right:10px;
	width:97px;
	height:100px;
}

#construction .quality h3{
	margin:0 0 10px 0;
}

#construction .quality ul li{
	display:block;
	margin:0 0 40px 0;
}

#construction .quality ul li .img{
	margin:0 0 20px 0;
	text-align:center;
}
#construction .quality ul li .img img{ width:100%; }
}


/* lead
---------------------------------------- */
#construction .quality .lead{
	margin:0 0 40px 0;
	font-size:1.8rem;
	font-weight:700;
}

@media screen and (max-width:767px){
#construction .quality .lead{
	font-size:1.6rem;
}
}


/* builder
---------------------------------------- */
#construction .quality .builder{
	margin:0 0 60px 0;
	padding:32px 40px;
	text-align:center;
	background:rgba(255, 255, 255, 0.3);
	border:6px solid #FF5941;
	backdrop-filter:blur(2px);
	font-size:1.8rem;
	font-weight:700;
}

@media screen and (max-width:767px){
#construction .quality .builder{
	margin:0 0 40px 0;
	padding:20px;
}
}


/* ----------------------------------------
	professor
---------------------------------------- */
#construction .professor{
	margin:0 0 -40px 0;
	padding:80px 0 90px 0;
	background:linear-gradient(212.07deg, #EBEEFF 14.46%, #F4F6FF 85.61%);
}

#construction .professor h2{
	margin:0 0 40px 0;
	padding:0 0 0 98px;
	text-align:left;
	font-size:2.6rem;
	line-height:3.8rem;
	letter-spacing:0.05em;
}

#construction .professor h2::before{
	top:0;
	left:0;
	width:58px;
	height:58px;
	background:url(../../img/construction/thermobarrier/icon_professor.png) no-repeat center;
	background-size:100%;
	box-shadow:none;
	transform:none;
}

#construction .professor h2 span{
	display:block;
	padding:0 0 6px 0;
	font-size:2.0rem;
	color:#1051B1;
	line-height:1;
}

#construction .professor .inner{
	padding:0 40px;
}

#construction .professor .en{
	position:absolute;
	top:0;
	right:0;
}

@media screen and (max-width:767px){
#construction .professor{
	margin:0 0 -20px 0;
	padding:60px 0;
}

#construction .professor h2{
	margin:0 0 20px 0;
	padding:0 0 0 68px;
	font-size:2.0rem;
	line-height:3.2rem;
}

#construction .professor h2::before{
	width:48px;
	height:48px;
}

#construction .professor h2 span{
	font-size:1.6rem;
}

#construction .professor .inner{
	padding:0 20px;
}

#construction .professor .en{
	position:static;
	margin:0 0 20px 0;
}
}


/* column
---------------------------------------- */
#construction .professor .column{
	display:flex;
	gap:0 90px;
}

#construction .professor .column .block{
	flex:1;
}

#construction .professor .column .block p,
#construction .professor .column figure{
	margin:0 0 30px 0;
}

#construction .professor .column figcaption{
	padding:30px 0 0 0;
	text-align:right;
	line-height:3.0rem;
}

#construction .professor .column figcaption span{
	font-size:1.8rem;
}

@media screen and (max-width:767px){
#construction .professor .column{
	display:block;
}

#construction .professor .column .block{
	padding:0 0 10px 0;
}

#construction .professor .column .block p{
	margin:0 0 20px 0;
}

#construction .professor .column figure{
	display:flex;
	flex-direction:column;
	align-items:center;
	margin:0;
	padding:10px 0 0 0;
}

#construction .professor .column figcaption{
	padding:20px 0 0 0;
}
}


/* ----------------------------------------
	particular
---------------------------------------- */
#construction .particular{
	padding:0 0 20px 0;
}


/* ----------------------------------------
	handling
---------------------------------------- */
#construction .handling{
	padding:0 0 50px 0;
}

#construction .handling ul{
	margin:0 0 30px 0;
}

#construction .handling ul li{
	position:relative;
	padding:0 0 0 28px;
}

#construction .handling ul li:before{
	content:"";
	position:absolute;
	top:11px;
	left:0;
	width:10px;
	height:10px;
	background:#0090DC;
	border-radius:50%;
}

@media screen and (max-width:767px){
#construction .handling{
	padding:0 0 20px 0;
}

#construction .handling ul{
	margin:0 0 20px 0;
}
}


/* other
---------------------------------------- */
#construction .handling .other{
	margin:0 0 30px 0;
}

@media screen and (max-width:767px){
#construction .handling .other{
	margin:0 0 20px 0;
}
}


/* ========================================================================
	お客様の声						[ /voice/ ]
======================================================================== */


/* ========================================================================
	施工事例						[ /result/ ]
======================================================================== */


/* ========================================================================
	お役立ち情報・ブログ			[ /info/ ]
======================================================================== */


/* ========================================================================
	会社概要						[ /company/ ]
======================================================================== */
#company{
	padding:0;
}


/* ----------------------------------------
	outline
---------------------------------------- */
#company .outline{
	padding:0 0 60px 0;
}

@media screen and (max-width:767px){
#company .outline{
	padding:0 0 20px 0;
}
}


/* ----------------------------------------
	license
---------------------------------------- */
#company .license{
	padding:0 0 60px 0;
}

#company .license ul{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:60px;
	margin:0 0 60px 0;
	text-align:center;
}

#company .license ul li img{
	display:block;
	width:auto;
	max-height:250px;
	margin:0 auto 20px;
}

@media screen and (max-width:767px){
#company .license{
	padding:0 0 20px 0;
}

#company .license ul{
	grid-template-columns:repeat(2,1fr);
	gap:40px 20px;
	margin:0 0 40px 0;
	font-size:1.4rem;
}

#company .license ul li img{
	margin:0 auto 10px;
}
}


/* ----------------------------------------
	greeting
---------------------------------------- */
#company .greeting{
	margin:0 0 120px 0;
	padding:80px 60px 100px;
	background:#F8F8F8;
	border-radius:60px;
}

@media screen and (max-width:767px){
#company .greeting{
	margin:0 0 60px 0;
	padding:40px 20px;
	border-radius:30px;
}
}


/* flex
---------------------------------------- */
#company .greeting .flex{
	gap:0 50px;
}

#company .greeting dl{
	flex:1;
}

#company .greeting dl dt{
	margin:0 0 30px 0;
	font-size:3.2rem;
	font-weight:700;
	line-height:4.6rem;
	letter-spacing:0.08em;
}

#company .greeting figure img{
	border-radius:20px;
}

#company .greeting figcaption{
	padding:30px 0 0 0;
	text-align:right;
	line-height:3.2rem;
}

#company .greeting figcaption span{
	margin:0 1.0em 0 0;
	font-size:1.8rem;
}

#company .greeting figcaption span.name{
	margin:0;
	font-size:2.4rem;
	font-weight:700;
}

@media screen and (max-width:767px){
#company .greeting .flex{
	display:block;
}

#company .greeting dl dt{
	margin:0 0 20px 0;
	font-size:2.0rem;
	line-height:3.4rem;
}

#company .greeting dl dd:last-child{
	margin-bottom:30px;
}

#company .greeting figure{
	display:flex;
	flex-direction:column;
	align-items:center;
}

#company .greeting figcaption{
	padding:20px 0 0 0;
}

#company .greeting figcaption span.name{
	font-size:2.0rem;
}
}


/* ----------------------------------------
	history
---------------------------------------- */
#company .history{
	padding:0 0 120px 0;
}

#company .history ol{
	width:960px;
	margin:0 auto;
}

#company .history ol li{
	position:relative;
	padding:0 0 30px 0;
}

#company .history ol li::before{
	content:"";
	position:absolute;
	top:9px;
	left:132px;
	width:1px;
	height:100%;
	background:#D9D9D9;
}
#company .history ol li:last-child::before{
	height:calc(100% - 9px);
}

#company .history ol li::after{
	content:"";
	position:absolute;
	top:9px;
	left:125px;
	width:15px;
	height:15px;
	background:#0090DC;
	border-radius:50%;
}

#company .history dl{
	position:relative;
	padding:0 0 0 200px;
}

#company .history dl dt{
	position:absolute;
	top:0;
	left:0;
	font-size:1.8rem;
	font-weight:700;
	line-height:3.2rem;
}

#company .history dl dd{
	display:flex;
}

#company .history dl dd *{
	flex:1;
}

#company .history dl dd span{
	flex:none;
	width:70px;
	font-weight:700;
}

@media screen and (max-width:767px){
#company .history{
	padding:0 0 60px 0;
}

#company .history ol{
	width:auto;
	margin:0 auto;
}

#company .history ol li{
	position:relative;
	padding:0 0 30px 0;
}
#company .history ol li::before{ left:7px; }
#company .history ol li::after{ left:0; }

#company .history dl{
	padding:0 0 0 35px;
}

#company .history dl dt{
	position:static;
}

#company .history dl dd span{
	width:50px;
}
}


/* ========================================================================
	お問い合わせ					[ /contact/ ]
======================================================================== */
#contact .inner > p{
	margin:0 0 80px 0;
	text-align:center;
}

@media screen and (max-width:767px){
#contact .inner > p{
	margin:0 0 40px 0;
	text-align:left;
}
}


/* ----------------------------------------
	tel
---------------------------------------- */
#contact .tel{
	display:flex;
	justify-content:center;
	margin:0 0 80px 0;
	line-height:1;
}

#contact .tel a{
	display:flex;
	flex-direction:column;
	text-decoration:none;
}

@media screen and (max-width:767px){
#contact .tel{
	margin:0 0 40px 0;
	text-align:center;
}

#contact .tel a{
	align-items:center;
}
}


/* num
---------------------------------------- */
#contact .num{
	position:relative;
	padding:0 74px;
	font-size:5.6rem;
	font-weight:700;
	color:#0090DC;
}

#contact .num::before{
	content:"";
	position:absolute;
	top:1px;
	left:0;
	width:54px;
	height:54px;
	background:#0090DC;
	border-radius:50%;
}

#contact .num::after{
	content:"";
	position:absolute;
	top:18px;
	left:17px;
	width:20px;
	height:20px;
	background:url(../../img/common/icon_tel.svg) no-repeat center;
	filter:invert(90%) sepia(90%) saturate(2%) hue-rotate(283deg) brightness(106%) contrast(100%);
}

@media screen and (max-width:767px){
#contact .num{
	padding:0 0 0 50px;
	font-size:3.0rem;
}

#contact .num::before{
	top:-5px;
	width:40px;
	height:40px;
}

#contact .num::after{
	content:"";
	position:absolute;
	top:7px;
	left:12px;
	width:16px;
	height:16px;
	background:url(../../img/common/icon_tel.svg) no-repeat center;
	filter:invert(90%) sepia(90%) saturate(2%) hue-rotate(283deg) brightness(106%) contrast(100%);
}
}


/* time
---------------------------------------- */
#contact .time{
	padding:12px 74px 0;
	font-weight:700;
	color:#555555;
}

#contact .time span{
	color:#FF5941;
}

@media screen and (max-width:767px){
#contact .time{
	padding:10px 0 0 0;
	font-size:1.4rem;
	line-height:2.4rem;
}
}


/* ========================================================================
	資料請求						[ /request/ ]
======================================================================== */
#request .inner > p{
	margin:0 0 80px 0;
	text-align:center;
}

@media screen and (max-width:767px){
#request .inner > p{
	margin:0 0 40px 0;
	text-align:left;
}
}


/* ----------------------------------------
	data
---------------------------------------- */
#request .data{
	display:flex;
	justify-content:center;
	gap:0 60px;
	margin:0 0 80px 0;
}

#request .data img{
	border:1px solid #dddddd;
}

#request .data dl dt{
	margin:0 0 10px 0;
	font-size:1.8rem;
	font-weight:700;
}

#request .data dl dd ul{
	margin:0 0 10px 0;
}

@media screen and (max-width:767px){
#request .data{
	flex-direction:column;
	align-items:center;
	margin:0 0 40px 0;
}

#request .data img{
	width:100%;
	margin:0 0 20px 0;
}
}


/* ========================================================================
	プライバシーポリシー			[ /privacy/ ]
======================================================================== */
#privacy dl{
	padding:0 0 40px 0;
}

#privacy p,
#privacy dl dd{
	margin:0 0 40px 0;
}
#privacy dl dd p{
	margin:10px 0;
}

#privacy dl dt{
	margin:0 0 10px 0;
	font-weight:700;
}

#privacy ol{
	counter-reset:number;
}

#privacy ol > li{
	padding:0 0 0 1.5em;
	text-indent:-1.5em;
}

#privacy ol > li:before{
	counter-increment:number;
	content:counter(number)".";
	padding:0 10px 0 0;
}

#privacy ul > li{
	padding:0 0 0 1.0em;
	text-indent:-1.0em;
}

#privacy ul > li::before{
	content:"・";
}

@media screen and (max-width:767px){
#privacy dl{
	padding:0;
}
}


/* ========================================================================
	404 NOT FOUND					[ /error/ ]
======================================================================== */
#error .inner > p{
	margin:0 0 80px 0;
	text-align:center;
}

@media screen and (max-width:767px){
#error .inner > p{
	margin:0 0 40px 0;
	text-align:left;
}
}