@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700;900&family=Roboto:ital,wght@0,400;0,700;0,900;1,400;1,700;1,900&display=swap');
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.7.2/css/all.min.css');
/*
Theme Name: HIGHWAY-202605
Description: 東洋電装高速道路システム事業サイト
Author: TOYO DENSO Co., Ltd.
Author URI: https://t-denso.com/
Version: 3.0.0
*/

.material-symbols-outlined {
  font-variation-settings:'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 24;
  font-size: 1.7em;
  vertical-align: middle;
}
/* - - - - - - - - - - - - - - - - - - - - - - -*/
/* OTHER SETTING */
/* - - - - - - - - - - - - - - - - - - - - - - -*/
/* COMMON */
/* - - - - - - - - - - - - - - - - - - - - - - -*/
/* FONT */
/* SCROLL TOP */
/* HEADER */
/* FOOTER */
/* - CTA */
/* - TAG LIST */
/* - - - - - - - - - - - - - - - - - - - - - - -*/
/* TOP PAGE */
/* TOP - HERO */
/* TOP - NEWS */
/* TOP - ABOUT */
/* TOP - SOLUTIONS */
/* TOP - CASE */
/* TOP - COLUMN */
/* - - - - - - - - - - - - - - - - - - - - - - -*/
/* CHILD PAGE */
/* - BREAD CRUMB*/
/* CATALOG */
/* - - - - - - - - - - - - - - - - - - - - - - -*/
/* CUSTOM POST PAGE */
/* - SOLUTIONS */
/* - SOLUTIONS ARCHIVE */
/* - SOLUTIONS POST */
/* - CASE */
/* - CASE ARCHIVE */
/* - CASE POST */
/* ARCHIVE NAVIGATION */
/* POST NAVIGATION */
/* - TIDBITS */
/* - TIDBITS ARCHIVE */
/* - TIDBITS POST */
/* - MAIL MAGAZINE */
/* - MAIL MAGAZINE ARCHIVE */
/* - MAIL MAGAZINE POST */
/* 404 */
/* SEARTCH */
/* TAG */
/* - - - - - - - - - - - - - - - - - - - - - - -*/
/* POST */
/* - - - - - - - - - - - - - - - - - - - - - - -*/

/* - - - - - - - - - - - - - - - - - - - - - - -*/
/* OTHER SETTING */
/* - - - - - - - - - - - - - - - - - - - - - - -*/
article{color: #010101;}

a{color: #2448be;}
a:hover{color: #657ed1;}
a.pointer-none{pointer-events: none;}
@media (min-width: 1280px){
	a.tel{pointer-events: none;text-decoration: none;color: #515151;}
}

.frame-white{ border: 0.0625em solid #ffffff;}
.frame-tdgray{border: 0.0625em solid #515151;}
.frame-dgray{border: 0.0625em solid #454545;}
.frame-gray{ border: 0.0625em solid #D8D8D8;}
.frame-lgray{ border: 0.0625em solid #f3f3f3;}
.frame-black{ border: 0.0625em solid #010101;}
.frame-anchor{ border: 0.0625em solid #2448be;}
.frame-red{ border: 0.0625em solid #B00101;}
.frame-orange{ border: 0.0625em solid #FF9242;}
.frame-yellow{ border: 0.0625em solid #FFCA42;}
.frame-dblue{ border: 0.0625em solid #151BB2;}
.frame-lblue{ border: 0.0625em solid #3CB9FF;}
.frame-plblue{ border: 0.0625em solid #88C8D6;}

.bg-white{ background-color: #FFFFFF;}
.bg-tdgray{background-color: #515151;}
.bg-dgray{background-color: #454545;}
.bg-gray{ background-color: #D8D8D8;}
.bg-lgray{ background-color: #f3f3f3;}
.bg-black{ background-color: #010101;}
.bg-anchor{ background-color: #2448be;}
.bg-red{ background-color: #B00101;}
.bg-orange{ background-color: #FF9242;}
.bg-yellow{ background-color: #FFCA42;}
.bg-dblue{ background-color: #151BB2;}
.bg-lblue{ background-color: #3CB9FF;}
.bg-plblue{ background-color: #88C8D6;}

.c-white{ color: #FFFFFF;}
.c-tdgray{color: #515151;}
.c-dgray{color: #454545;}
.c-gray{ color: #D8D8D8;}
.c-lgray{ color: #f3f3f3;}
.c-black{ color: #010101;}
.c-anchor{ color: #2448be;}
.c-red{ color: #B00101;}
.c-orange{ color: #FF9242;}
.c-yellow{ color: #FFCA42;}
.c-dblue{ color: #151BB2;}
.c-lblue{ color: #3CB9FF;}
.c-plblue{ color: #88C8D6;}

.hover-op07:hover,
.hover-op07:hover img{opacity: .7;}

.cc-message{ font-size: 0.8em;}
.cc-compliance .cc-btn.cc-deny {display:none;}

.btn_rounded-corners{
	padding-top: 2rem;
	padding-bottom: 2rem;
}
.btn_rounded-corners a,.btn_rounded-corners button{
	display: inline-block;
	text-decoration: none;
	border-radius: 100vw;
	font-size: 1.143rem;
	line-height: normal;
	font-weight: bold;
	background-color: #515151;
	border: .1em solid #515151;
	color: #fff;
	padding: 1em 2.286em;
	transition: all .5s;
}
.btn_rounded-corners a.pointer-none,.btn_rounded-corners button.pointer-none{
	pointer-events: none;
	background-color: #e3e3e3;
	border: .1em solid #e3e3e3;
}
.btn_rounded-corners a::after,.btn_rounded-corners button::after{
	font-family: "Font awesome 6 Free";
	content:"\f054";
	font-weight: bold;
	padding-left: 1em;
}
.btn_rounded-corners a:hover,.btn_rounded-corners button:hover{
	background-color: #FF9242;
	border: .1em solid #FF9242;
}
.btn_rounded-corners.pattern03 a{min-width: 22rem;padding: 1em;text-align: center;}
.btn_rounded-corners.pattern03 a::after{ content:"\f08e";}
.btn_rounded-corners.pattern03 a.bg-white{background-color: transparent; color: #515151;}
.btn_rounded-corners.pattern03 a.bg-white:hover{background-color: #FF9242; color: #fff;}

.btn_return{
	padding-top: 3rem;
	padding-bottom: 3rem;
}
.btn_return a,.btn_return button{
	display: inline-block;
	text-decoration: none;
	border-radius: 100vw;
	font-size: 1.143rem;
	line-height: normal;
	font-weight: bold;
	background-color: #515151;
	border: .15em solid #515151;
	color: #fff;
	padding: 1em 2.286em;
	transition: all .5s;
}
.btn_return a.pointer-none,.btn_return button.pointer-none{
	pointer-events: none;
	background-color: #e3e3e3;
	border: .1em solid #e3e3e3;
}
.btn_return a::before,.btn_return button::before{
	font-family: "Font awesome 6 Free";
	content:"\f053";
	font-weight: bold;
	padding-right: 1em;
}
.btn_return a:hover,.btn_return button:hover{
	background-color: #FF9242;
	border: .1em solid #FF9242;
}

.btn_contact a{
	display: inline-block;
	text-decoration: none;
	border-radius: 100vw;
	font-size: 1.714rem;
	line-height: normal;
	font-weight: bold;
	background-color: #515151;
	color: #fff;
	padding: .66em 1.33em;
	transition: all .5s;
}
.btn_contact a.pointer-none{
	pointer-events: none;
	background-color: #e3e3e3;
}
.btn_contact a::after{
	font-family: "Font awesome 6 Free";
	content:"\f054";
	font-weight: bold;
	padding-left: .66em;
}
.btn_contact a:hover{
	background-color: #fff;
	color: #FF9242;
}
.btn_contact.pattern02 a:hover,.btn_contact.pattern03 a:hover{
	background-color: #FF9242;
	color: #fff;
}

.btn_contact.pattern03 a::after{ content:"\f08e";}

img{display: block;max-width: 100%;}
/* - - - - - - - - - - - - - - - - - - - - - - -*/
/* COMMON */
/* - - - - - - - - - - - - - - - - - - - - - - -*/
/* FONT */
body {
	color: #515151;
	font-family: 'Roboto', 'Noto Sans JP', sans-serif, "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
h1{font-size: 2.571em;}
h2{font-size: 2.286em;}
h3{font-size: 1.714em;}
h4{font-size: 1.143em;}
h5{font-size: 1em;}
h6{font-size: .857em;}
h1,h2,h3,h4,h5,h6{ clear: both;}
.ruby-en{position: relative;padding-top: 1.4rem;}
.ruby-en::before{
	position: absolute;
	content:attr(date-en);
	font-size: 1rem;
	color: #d8d8d8;
	line-height: 1em;
	top: 0;
	transition: all .2s linear;
}
h2.ruby-en{font-size: 1.714em;}
@media (min-width: 768px){
	h2.ruby-en{font-size: 1.714em;}
}
@media (min-width: 960px){
	h2.ruby-en{font-size: 2.285em;}
}
/* SCROLL TOP */
.scrollTop {
	position: fixed;
	right: 1em;
	bottom:  1em;
	opacity: 0;
	z-index: 1000;
	transition: all 0.4s ease-in-out 0s;
}
.scrollTop a {
	box-sizing: border-box;
	border: .12rem solid #FFFFFF;
	background-color: #515151;
	color: #FFFFFF;
	width: 3.75rem;
	height: 3.75rem;
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	justify-content: center;
	-ms-align-items: center;
	align-items: center;
	border-radius: 1.9rem;
	text-decoration: none;
}
.scrollTop a i{font-size: 2.4rem;}
.scrollTop a:hover{
	color: #515151;
	background-color: #FFFFFF;
	border: .12rem solid #515151;
}

body{	height: auto;}
body.open {
	height: 100%;
  overflow: hidden;
}

/* HEADER */
header{
	position: fixed;
	width: 100%;
	top: 0;
	z-index: 10;
}
header .delegate,header .main{width: 100%;}
header .delegate{display: none;}
header .main{
	height: 4.785em;
	background-color: #fff;
}
header .delegate .header-wrap,header .main .header-wrap{
	height: 100%;
	display: flex;
	justify-content: space-between;
	-ms-align-items: center;
	align-items: center;
}
header .delegate .global-nav,header .main .global-nav{display: none;}
header .main .header-logo{
	display: flex;
	-ms-align-items: center;
	align-items: center;
}
header .main .header-logo a{
	height: 2em;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	text-decoration: none;
	line-height: 1;
}
header .delegate .header-logo a .title,header .main .header-logo a .title{height: 100%;}

.overlay {
  content: "";
  display: block;
  width: 0;
  height: 0;
  background-color: rgba(0, 0, 0, 0.3);
  position: fixed;
  top: 4.785em;
  left: 0;
  z-index: 10;
  opacity: 0;
  transition: opacity .5s;
}
.overlay.open {
  width: 100%;
  height: 100%;
  opacity: 1;
}

.menu-trigger{
	display: block;
	background: none;
	border: none;
	padding: 0;
	width: 4.785em;
	height: 4.785em;
	color: #515151;
	letter-spacing: 0.1em;
	cursor: pointer;
	position: fixed;
	top: 0;
	right: 0;
	z-index: 3000;
	text-align: center;
	outline: none;
	transform: translateX(0);
  transition: all .5s;
}
.menu-trigger::after{
	font-family: "Font Awesome 6 Free","Font Awesome 6 Brands";
	content:'\f0c9';
	transition:  all 2s ease-out;
	font-size: 1.3em;
	font-weight:900;
	top: 50%;left: 50%;
	position: fixed;
	transform: translate(-50% , -50%);
}
.menu-trigger.active::after {
	content:'\f00d';
	transition: all .5s;
}
.inner-menu-trigger{display: none;}
nav.drawer-innner{
  width: 100%;
  height: calc(100% - 4.785em);
	overflow-y: scroll;
	box-sizing: border-box;
  background-color: #FFFFFF;
  position: fixed;
  top: 4.785em;
  right: 0;
  z-index: 20;
  transform: translateY(100%);
  transition: all .0s;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	font-size: 1rem;
}
nav.drawer-innner.open {
  transform: translateY(0);
	z-index: 1000;
}
nav.drawer-innner a{
	box-sizing: border-box;
	display: inline-block;
	font-weight: bold;
	padding: .57em;
	text-decoration: none;
	color: #909090;
}
nav.drawer-innner ul.page-menu{
	list-style-type: none;
	line-height: 1;
	padding: 0 1.28rem;
	margin: 0;
}
nav.drawer-innner ul.page-menu li{
	padding: .857em 0;
	text-align: right;
}
nav.drawer-innner ul.page-menu a:hover,
nav.drawer-innner ul.page-menu a:active{
	color: #3CB9FF;
}
nav.drawer-innner ul.delegate-menu{
	list-style-type: none;
	line-height: 1;
	padding: 2em 1.28rem 3em;
	margin: 0;
	background-color: #f3f3f3;
}
nav.drawer-innner ul.delegate-menu li{
	padding: .5em 0;
	text-align: right;
	font-size: .857em;
}
nav.drawer-innner ul.delegate-menu li.corp{font-size: 1em;}
nav.drawer-innner ul.delegate-menu a:hover,
nav.drawer-innner ul.delegate-menu a:active{color: #515151;}

.vacant{height: 4.785em;}
article section,.link-container{
	padding-top: 5.785em;
	margin-top: -4.785em;
}
article section{margin-bottom: 1em;}
article section section{margin-bottom: 0.5em;}
.container{padding-top: 3.43em;padding-bottom: 3.14em;}

@media (min-width: 768px){
	header .delegate{
		height: 4.758em;
		background-color: #fff;
		display: block;
	}
	header .delegate .header-logo{
		display: flex;
		-ms-align-items: center;
		align-items: center;
	}
	header .delegate .header-logo a{
		height: 1.67em;
		display: inline-block;
		text-decoration: none;
	}

	header .main{
		height: 3.285em;
		background-color: #f3f3f3;
	}
	header .main .header-logo a{
		box-sizing: border-box;
		padding-top: .5em;
		padding-bottom: .5em;
	}
	.overlay { top: 0;}

	.menu-trigger{
		width: 3.285em;
		height: 3.285em;
		top: 4.785em;
		right: 1em;
	}
	.menu-trigger.active::after {content:'\f0c9';}

	.inner-menu-trigger{
		width: 100%;
		height: 4.785em;
		color: #515151;
		letter-spacing: 0.1em;
		position: absolute;
		top: 0;
		z-index: 3000;
		text-align: center;
		outline: none;
		transform: translateX(0);
		display: flex;
		justify-content: flex-end;
		-ms-align-items: center;
		align-items: center;
	}
	.inner-menu-trigger .btn{
		cursor: pointer;
		width: 3.285em;
		height: 3.285em;

	}
	.inner-menu-trigger .btn::after{
		display: block;
		font-family: "Font Awesome 6 Free","Font Awesome 6 Brands";
		content:'\f00d';
		font-size: 1.3em;
		font-weight:900;
	}

	nav.drawer-innner{
	  width: 61.2vw;
	  height: 68.45vh;
		max-width: 92.44vw;
		padding-top: 4.785em;
	  top: 50vh;
	  right: auto;
		left: 50%;
	  transform: translate(-50% ,100%);
		transition: all .5s;
		border-radius: .71em;
		-webkit-overflow-scrolling: touch;
		white-space: nowrap;
	}
	nav.drawer-innner.open {
	  transform: translate(-50% ,-50%);
		z-index: 1000;
	}
	nav.drawer-innner::-webkit-scrollbar {width: .2em;}
	nav.drawer-innner::-webkit-scrollbar-track { background: transparent;}
	nav.drawer-innner::-webkit-scrollbar-thumb { background: #aaa; border: none;}
	nav.drawer-innner::-webkit-scrollbar-thumb:hover { background: #999;}

	nav.drawer-innner ul.page-menu li,nav.drawer-innner ul.delegate-menu li{text-align: center;}

	.vacant{height: calc(4.785em + 3.285em);}
	article section,.link-container{
		padding-top: calc(5.785em + 3.285em);
		margin-top: calc(-4.785em + -3.285em);
	}
	.container{padding-top: 4.7em;padding-bottom: 3.428em;}

}
@media (min-width: 960px){
	header .delegate{	height: 8.14em;}
	header .delegate .header-logo a{height: 2.56em;}
	header .main{	height: 4.2em;}
	header .main .header-logo a{height: 2.14em;}
	.menu-trigger{
		display: none;
	}
	header .delegate .global-nav,header .main .global-nav{
		list-style-type: none;
		line-height: 1;
		display: flex;
		justify-content: flex-end;
		align-items: center;
	}
	header .main .global-nav{height: 100%;}
	header .delegate .global-nav li{
		padding-left: 1.5em;
		padding-right: 1.5em;
	}
	header .main .global-nav > li{
		padding: 0 1em;
		position: relative;
		height: 100%;
	}
	header .delegate .global-nav li:last-child,header .main .global-nav > li:last-child{
		padding-right: 0;
	}
	header .delegate .global-nav a,header .main .global-nav > li > a{
		box-sizing: border-box;
		display: inline-block;
		font-weight: bold;
		padding: .57em;
		text-decoration: none;
		color: #909090;
	}
	header .main .global-nav > li > a{
		height: 100%;
		display: flex;
		justify-content: center;
		-ms-align-items: center;
		align-items: center;
	}
	header .main .global-nav > li > a:hover,header .main .global-nav > li > a:active,header .main .global-nav > li > a.current{color: #FF9242;}
	header .delegate .global-nav a:hover,	header .delegate .global-nav a:active{color: #515151;}
	header .main .global-nav > li > ul{
		position: absolute;
		width: 10em;
		height: 0;
		left: 0;
		top: 4.2em;
		overflow: hidden;
		margin:0;
	}
	header .main .global-nav > li:hover > ul{
		overflow: visible;
		width: 10em;
		height: 10em;
		padding: .714rem;
		border-radius: .714rem;
		background-color: #fff;
		box-shadow: 0 0 .285rem rgba(0, 0, 0, 0.25);
		display: flex;
	  justify-content: center;
	  flex-direction: column;
		font-weight: bold;
	}
	header .main .global-nav > li > ul > li {
		margin: 0;
		font-size: 1em;
		list-style-type: none;
	}
	header .main .global-nav > li > ul > li a{
		width: 100%;
		height: 100%;
		padding: .5em 1em;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		box-sizing: border-box;
		text-decoration: none;
		color: #515151;
	}
	header .main .global-nav > li > ul > li a:hover{color: #909090;}

	.vacant{
		height: calc(8.14em + 4.2em);
	}
	article section,.link-container{
		padding-top: calc(9.14em + 4.2em);
		margin-top: calc(-8.14em + -4.2em);
	}
	.container{padding-top: 6.64em;padding-bottom: 4.7em;}
}

/* FOOTER */
/* - CTA */
#foot-cta{text-align: center;}
#foot-cta p{
	font-size: 1.143em;
	font-weight: bold;
	line-height: 1.5;
}
@media (min-width: 768px){
	#foot-cta .wrap{
		padding-top: 5rem;
		padding-bottom: 5rem;
		display: flex;
		justify-content: flex-end;
		-ms-align-items: center;
		align-items: center;
	}
	#foot-cta p{margin-right: 2.85rem;}
}
@media (min-width: 960px){
	#foot-cta p{font-size: 1.714rem;margin-right: 1.5em;}
}

footer{
	background-color: #515151;
	color: #fff;
	padding-top: 3.6rem;
	padding-bottom: 3.6rem;
}
footer ul{
	list-style-type: none;
	padding-left: 0;
}
footer a{
	color: #fff;
	text-decoration: none;
}
footer a:hover{	color: #E7E7E7;}
footer a:hover img{	opacity: .8;}

footer .site-map > ul > li{font-size: 1.143em; margin-bottom: 2em;font-weight: bold;}
footer .site-map > ul > li > ul{
	font-size: .714rem;
	margin-top: .857rem;
	display: flex;
}
footer .site-map > ul > li > ul > li::after{content:"|";}
footer .site-map > ul > li > ul > li:last-child::after{content:"";}
footer .site-map > ul > li > ul > li a{	padding: 0 2em;}
footer .site-map > ul > li > ul > li:first-child a{padding-left: 0;}
footer ul.policy-list{
	font-size: .714rem;
	margin-top: 1rem;
	margin-bottom: 5.7rem;
	display: flex;
}
footer ul.policy-list a{padding: .5em 1em;}
footer ul.policy-list li:first-child a{padding-left: 0;}

footer .foot .btn_TDHD a{
	display: inline-block;
	text-decoration: none;
	border-radius: 100vw;
	font-size: .857rem;
	line-height: normal;
	font-weight: bold;
	background-color: #fff;
	color: #515151;
	padding: .2em 1.3em;
	transition: all .5s;
}
footer .foot .btn_TDHD a::after{
	font-family: "Font awesome 6 Free";
	content:"\f08e";
	font-weight: bold;
	padding-left: 1em;
}
footer .foot .btn_TDHD a:hover{
	color: #515151;
	background-color: #f3f3f3;
}
footer .foot .sns-list{
	padding-top: 1rem;
	padding-bottom: 2rem;
}
footer .foot .sns-list a{
	display: inline-block;
	width: 1.8em;
	height: 1.8em;
	margin-right: 1rem;
}
footer .foot .sns-list a img{width: 100%;}
footer .add a{
	display: inline-block;
	width: 16.857em;
	margin-bottom: 1em;
}
footer .add a img{width: 100%;}
footer .add p{
	margin: 0;
	font-size: .857em;
	line-height: 1.1;
}
footer p.copy{
	font-size: .857em;
	color: #939399;
	font-weight: bold;
	margin-top: 1rem;
}
@media (min-width: 768px){
	footer .site-map > ul > li{font-size: .857em;}
	footer .site-map > ul > li > ul{display: block;}
	footer .site-map > ul > li > ul > li{margin-bottom: .5em;}
	footer .site-map > ul > li > ul > li::after{content:"";}
	footer .site-map > ul > li > ul > li a{	padding: .5em 0;}
	footer .foot{
		display: flex;
		justify-content: space-between;
		flex-direction: row-reverse;
	}
	footer .foot .links,footer p.copy{
		text-align: right;
	}
}
@media (min-width: 960px){
	footer{	padding-bottom: 1rem;	}
	footer .site-map{margin-bottom: 6rem;}
	footer .site-map > ul > li{font-size: 1.143em;}
	footer .site-map > ul > li > ul{font-size: .857em;}
	footer .foot .sns-list{padding-bottom: 1rem;}
	footer ul.policy-list{margin-top: .5rem;margin-bottom: .5rem;}
	footer p.copy{margin: 0;}
}


/* - - - - - - - - - - - - - - - - - - - - - - -*/
/* TOP PAGE */
/* - - - - - - - - - - - - - - - - - - - - - - -*/
/* TOP - HERO */
#top-hero{
	width: 100%;
	height: 37em;
	position: relative;
	padding-top: 1em;
	z-index: 0;
	color: #221714;
}
#top-hero .hr{
	position: absolute;
	height: 6em;
	width: 100%;
	bottom: 0;
	background-color: #FF9242;
}
#top-hero .hr::after{
	display: block;
	content:"";
	position: absolute;
	width: 100%;
	height: 1.285em;
	background-color: #fff;
	top: .438em;
}
#top-hero .image{
	position: absolute;
	width: 100%;
	left: 0;bottom: 7em;
}
#top-hero .image img{	width: 100%;}
#top-hero .out-wrap{
	position: absolute;
	left: 1.28em;
	top: 1em;
}
#top-hero .out-wrap .catch-copy_en{
	text-align: right;
	font-size: 2.286em;
	font-weight: bold;
	line-height: 1.3em;
	margin-bottom: .3em;
}
#top-hero .out-wrap .catch-copy_jp{
	text-align: right;
	font-size: 1.143rem;
	line-height: 1.625em;
	font-weight: 600;
}

@media (min-width: 768px){
	#top-hero{
		height: 50em;
		padding-top: 4.71em;
	}
	#top-hero .image{bottom: 1.5em;	}
	#top-hero .out-wrap{
		position: absolute;
		top: 7em;left: 50%;
		transform: translateX(-50%);
	}
	#top-hero .out-wrap .catch-copy_en{font-size: 4.57em;}
	#top-hero .out-wrap .catch-copy_jp{font-size: 1.714em;}
}
@media (min-width: 960px){
	#top-hero{
		height: 49.15vw;
		padding-top: 3.125vw;
	}
	#top-hero .hr{height: 9.45vw;}
	#top-hero .hr::after{	height: 2.5vw;top: .625vw;}
	#top-hero .out-wrap{top: 3vw;}
	#top-hero .out-wrap .catch-copy_en{font-size: 3.75vw; line-height: 1.5;}
	#top-hero .out-wrap .catch-copy_jp{font-size: 1.875vw;}
}
@media (min-width: 1920px) {
	#top-hero{
		height: 64.55em;
		padding-top: 2.857em;
	}
	#top-hero .hr{height: 8.64em;}
	#top-hero .hr::after{	height: 2.285em;top: .571em;}
	#top-hero .out-wrap .catch-copy_en{font-size: 4.57em;line-height: 1.5625em;}
	#top-hero .out-wrap .catch-copy_jp{font-size: 2.571em;}
}

/* TOP - News */
#top-news,#top-important-news{padding: 2em 0 1em;}
#top-important-news{color: #fff;}
#top-news .news-list,#top-important-news .news-list{width: 100%;}
#top-news .news-list dl,#top-important-news .news-list dl{position: relative;	padding: .1em 2.5em 1em .2em;}
#top-news .news-list dl::after,
#top-important-news .news-list dl::after{
	font-family: "Font awesome 6 Free";
	content:"\f054";
	font-size: 1.4em;
	font-weight: bold;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}
#top-news .news-list dt,
#top-news .news-list dd,
#top-important-news .news-list dt,
#top-important-news .news-list dd{
	margin-left: 0;
}
#top-news .news-list dt,
#top-important-news .news-list dt{
	font-size: .857rem;
	line-height: 1.5;
	font-weight: bold;
}

.news-list .cat{
	display: inline-block;
	padding: .2rem;
	margin-right: 1rem;
	width: 7rem;
	text-align: center;
	background-color: #515151;
	color: #fff;
	border-radius: .28rem;
	letter-spacing: .07em;
}
#top-news .news-list dd a,
#top-important-news .news-list dd a{
	display: inline-block;
	width: 100%;
	text-decoration: none;
	line-height: 1.7;
	border-radius: .14rem;
	position: relative;
}
#top-news .news-list dd a{color: #515151;}
#top-important-news .news-list dd a{color: #FFFFFF;}
#top-news .news-list dd a:hover{background-color: #D8D8D8;}
#top-important-news .news-list dd a:hover{background-color: #9D9D9D;}
@media (min-width: 768px){
	#top-news .news-list dl,
	#top-important-news .news-list dl{
		display: flex;
		align-items: center;
		padding: .2em 2em .2em .2em;
		margin-bottom: 0;
		min-height: 4em;
	}
	#top-news .news-list dt,#top-important-news .news-list dt{width: 10em;}
	#top-news .news-list dd,#top-important-news .news-list dd{width: calc(100% - 10em);}
	#top-news .news-list dd a,#top-important-news .news-list dd a{padding: 1em 2.5em 1em 1em;}
}
@media (min-width: 960px){
	#top-news .wrap,#top-important-news .wrap{
		display: flex;
		justify-content: space-between;
	}
	#top-news h2,#top-important-news h2{width: 10em;}
	#top-news .news-list,#top-important-news .news-list{width: calc(100% - 14em);margin-top: .5em;}
	#top-news .news-list dt,#top-important-news .news-list dt{text-align: center;}

}

/* TOP - about */
#top-about .btn_rounded-corners{text-align: right;}
#top-about .image{
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 0;
	padding: 0;
	padding-top: 100%;
	border-radius: 1.428rem;
}
#top-about .image img{
	position: absolute;
	top: 50%; left: 50%;
	width: auto; height: 100.1%;
	transform: translate(-50%, -50%);
}
@media (min-width: 768px){
	#top-about .image{width: 66%;padding-top: 66%; margin: auto;}
}
@media (min-width: 960px){
	#top-about .wrap{
		display: flex;
		justify-content: space-between;
	}
	#top-about .text{width: 48.21%;}
	#top-about .image{width: 44.6%;padding-top: 44.6%;}
}

/* TOP - SOLUTION */
.solution-list {padding: 2em 0 1em;}
.solution-list .item{margin-bottom: 3em;}
.solution-list .item a{
	text-decoration: none;
	color: #515151;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.solution-list .item .image{
	position: relative;
	overflow: hidden;
	width: 6.5em;
	height: 6.5em;
	padding: 0;
	border-radius: .6em;
}
.solution-list .item .image img{
	object-fit: cover;
	height: 100%;width: auto;
	transition: all .2s linear;
}
.solution-list .item .title{
	position: relative;
	width: calc(100% - 7em);
}
.solution-list .item .title p{
	font-size: 1.4em;
	line-height: 1;
	color: #515151;
	font-weight: bold;
	text-decoration: none;
	transition: all .2s linear;
}
.solution-list .item .title .link-icon{
	position: absolute;
	width: 2.7rem;height: 2.7rem;
	border-radius: 50vw;
	background-color: #515151;
	color: #fff;
	display: flex;
	justify-content: center;
	-ms-align-items: center;
	align-items: center;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	transition: all .2s linear;
}
.solution-list .item a > p{display: none;	transition: all .2s linear;}
.solution-list .item a:hover .image img{height: 120%;}
.solution-list .item a:hover > p,
.solution-list .item a:hover .title p{color: #FF9242;}
.solution-list .item a:hover .title p::before{color: #FFC89F;}
.solution-list .item a:hover .link-icon{background-color: #FF9242;}
#top-solution .btn_rounded-corners{text-align: right;}

@media (min-width: 768px){
	.solution-list {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		column-gap: 1.5em;
		grid-row-gap: 1.5em;
	}
	.solution-list .item a{	display: block;}
	.solution-list .item a .image{width: 100%;height: 15em;}
	.solution-list .item a .title{width: 100%;}
	.solution-list .item a > p{display: block;}
}
@media (min-width: 960px){
	.solution-list {
		width: 70%;
		margin: auto;
		column-gap: 2.5em;
	}
}

/* - - - - - - - - - - - - - - - - - - - - - - -*/
/* CHILD PAGE */
/* - - - - - - - - - - - - - - - - - - - - - - -*/
/* - BREAD CRUMB*/
ul.breadcrumb{
	width: 100%;
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	padding-left: 0;
	margin: 1rem 0 3rem;
	color: #000000;
	font-size: .75rem;
	list-style-type: none;
}
ul.breadcrumb li{
	padding: 0.2em;
	padding-right: 0.6em;
}
ul.breadcrumb li a{
	color: #000000;
	text-decoration: underline;
}
ul.breadcrumb li a:hover{color: #D9D9D9;}
ul.breadcrumb li::after{
	content: ">";
	padding-left: 0.6em;
}
ul.breadcrumb li:last-child::after{	content: "";}

h1.page-title{margin: 1.5em 0;}

/* - SOLTION CHILD LIST */
.sol-list{padding-top: 3em;padding-bottom: 3em;}
.sol-list .item{margin-bottom: 3em;}
.sol-list .item a{
	display: block;
	text-decoration: none;
	border-radius: .6em;
	background-color: #FFF;
	box-shadow: .3em .3em .6em 0 rgba(0, 0, 0, 0.25);
	transition: all .2s linear;
	height: 100%;
}
.sol-list .item .image{
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 0;
	padding: 0;
	padding-top: 53%;
	border-radius: .6em;
	background-color: #f3f3f3;
}
.sol-list .item img{
	position: absolute;
	top: 50%; left: 50%;
	width: 100.1%; height: 100.1%;
	transform: translate(-50%, -50%);
	object-fit: contain;
	transition: all .2s linear;
}
.sol-list .item .text{
	padding: 1.5rem;
	color: #515151;
	transition: all .2s linear;
}
.sol-list .item a:hover{box-shadow: .3em .3em 1.5em 0 rgba(0, 0, 0, 0.25);}
.sol-list .item a:hover .image img{width: 120%; height: 120%;}
.sol-list .item a:hover .text{color: #d8d8d8;}
@media (min-width: 768px){
	.sol-list{
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		column-gap: 1.5em;
		grid-row-gap: 1.5em;
	}
}
@media (min-width: 960px){
	.sol-list{
		grid-template-columns: repeat(3, 1fr);
		column-gap: 3em;
		grid-row-gap: 3em;
	}
}

/* - SOLUTION DETAIL */
.sol-detail-wrap h1{font-size: 2em; margin:0;padding:0.5em 0;}
.sol-detail-wrap h2{font-size: 1.8em; margin:0;padding:0.5em 0;}
.sol-detail-wrap h3{font-size: 1.5em; margin:0;padding:0.5em 0;}
.sol-detail-wrap h4{font-size: 1em; margin:0;padding:0.5em 0;}
.sol-detail-wrap .summary{
	border-bottom-left-radius: .6em;
	background-color: #FFF;
	box-shadow: .3em .3em .6em 0 rgba(0, 0, 0, 0.25);
}
.sol-detail-wrap .summary .text{padding: 1em;}
.sol-detail-wrap .summary h1{margin: .5em 0;}
.sol-detail-wrap section{margin-bottom: 3em;}
dl.pc-col-table dt{font-weight: bold;padding-top: 1em;}
dl.pc-col-table dd{
	margin-left: 0;
	padding-left: 1em;
	padding-bottom: 1em;
	border-bottom: 1px solid #515151;
}
@media (min-width: 768px){
	.sol-detail-wrap .summary{
		border-top-left-radius: .6em;
		display: grid;
		grid-template-columns: repeat(2, 1fr);
	}
	.sol-detail-wrap .summary .text{order: 1;}
	.sol-detail-wrap .summary .image{
		order: 2;
		height: 20em;
		position: relative;
		overflow: hidden;
	}
	.sol-detail-wrap .summary .image img{
		position: absolute;
		object-fit: cover;
		height: 100%;
	}
	dl.pc-col-table{
		display: grid;
		grid-template-columns: 8em 1fr;
	}
	dl.pc-col-table dt{padding-bottom: 1em;text-align: center;border-bottom: 1px solid #515151;}
	dl.pc-col-table dd{padding-top: 1em;}
}
@media (min-width: 960px){
	.sol-detail-wrap .summary .image{	height: 24em;	}
	.sol-detail-wrap .summary .text{padding: 1em 2em;}
	
}

/* - CONTACT */

.formWrap{width: 100%;margin: 0 auto 1em;}
.formWrap dt .required{
  display: block;
  font-size: .8em;
  color: #f00;
}
.formWrap dt .required::before{
  content:"*必須";
}
.formWrap dd{margin-left: 1em;}
.formWrap .fields > dl{margin-bottom: 1em;}
.formWrap .fields input,.formWrap .fields button{cursor: pointer;}
.formWrap .fields input[type="text"],
.formWrap .fields input[type="email"],
.formWrap .fields input[type="tel"],
.formWrap .fields input[type="date"],
.formWrap .fields select,
.formWrap .fields textarea{
	background-color: #fff;
	border-radius: .12em;
	padding: .8em;
	border: .06em solid #939498;
	width: 100%;
}
[class*="radio"] label,
[class*="checkbox"] label{
	border-radius: .12em;
	padding: .8em;
	display: flex;
	-ms-align-items: center;
	align-items: center;
	margin-bottom: .7em;
}
.formWrap .fields input[type="text"]:hover,
.formWrap .fields input[type="email"]:hover,
.formWrap .fields input[type="date"]:hover,
.formWrap .fields select:hover,
.formWrap .fields textarea:hover{
	border: .06em solid #162144;
}
[class*="radio"] label:hover,
[class*="checkbox"] label:hover{
  background-color: #efefef;
}
.formWrap .fields input[type="text"]::placeholder,
.formWrap .fields input[type="email"]::placeholder,
.formWrap .fields input[type="tel"]::placeholder,
.formWrap .fields input[type="date"]::placeholder,
.formWrap .fields select:has(option:checked[value=""]),
.formWrap .fields textarea::placeholder{
  color: #D1D3D4;
}
.formWrap .fields .checkbox,.formWrap .fields .radio{
  display: flex;
  flex-wrap: wrap;
}
.formWrap .fields input[type="checkbox"]{
  -webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	font-size: 1em;
	position: relative;
	width: 2em;height: 2em;
	margin-right: .5em;
	border: .1rem solid #eaeaea;
  background-color: #fff;
	border-radius: .12em;
}
.formWrap .fields input[type="checkbox"]:checked::before{
  position: absolute;
	content:"";
	top: .2em;
	left: .6em;
	transform: rotate(50deg);
	width: .5em;
	height: 1em;
	border-right: .2em solid #515151;
	border-bottom: .2em solid #515151;
}
.formWrap .fields input[type="radio"]{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	font-size: 1em;
	position: relative;
	width: 2rem;height: 2rem;
	margin-right: .5rem;
	border: .1rem solid #eaeaea;
  background-color: #fff;
	border-radius: 100vw;
}
.formWrap .fields input[type="radio"]:checked::before{
	position: absolute;
	content:"";
	top: 50%;
	left: 50%;
	transform: translate(-50% ,-50%);
	width: 1.3rem;
	height: 1.3rem;
	background-color: #515151;
	border-radius: 100vw;
}
.formWrap input[type="submit"],.formWrap input[type="reset"],.formWrap button[type="button"]{
	margin: 1rem;
	display: inline-block;
	text-decoration: none;
	border-radius: 1rem;
	font-size: 1.2rem;
	width: 6em;
	text-align: center;
	line-height: normal;
	font-weight: bold;
	background-color: #515151;
	color: #fff;
	padding: .66em;
	transition: all .5s;
	border: none;
	cursor: pointer;
}
.formWrap input[type="reset"]{
  color: #3b3c3c;
	background-color: #cdcdcd;
}
.formWrap button[type="button"]{
	border:.1em solid #515151;
	background-color: #fff;
	color: #515151;
}
.formWrap .example-message{
	color: #8A8A8A;
	font-size: .8em;
	text-align: left;
	margin-top: .1rem;
	margin-bottom: .1rem;
	width: 100%;
}
.formWrap .fields input[type="text"].name-text,
.formWrap .fields input[type="text"].p-postal-code,
.formWrap .fields input[type="text"].p-region{width: 8em;}
.formWrap .fields input[type="tel"]{width: 11em;}
.formWrap .fields input[type="text"].p-locality{width: 15em;}
.formWrap .fields input[type="text"].number_of_cars{width: 5em;}
.formWrap .fields input[type="text"].p-postal-code,
.formWrap .fields input[type="text"].p-region,
.formWrap .fields input[type="text"].p-locality{margin-bottom: .5em;}
.formWrap .fields .agreement{justify-content: center;font-size: .8rem;}
@media (min-width: 768px){
  .formWrap{width: 76.73%;}
}
@media (min-width: 960px){
  .formWrap{width: 60%;}
}


.scroll-box {
	width:100%;
	overflow-x: auto;
	padding-bottom: 1em;
	-webkit-overflow-scrolling: touch;
	white-space: nowrap;
}
/*スクロールバー全体の高さ*/
.scroll-box::-webkit-scrollbar {
  height: .2em;
}
/*スクロールバー全体の背景*/
.scroll-box::-webkit-scrollbar-track {
  background: #eee;
}
/*スクロールバーの動く部分*/
.scroll-box::-webkit-scrollbar-thumb {
  background: #aaa;
  border: none;
}
/*スクロールバーの動く部分のホバー（マウスオーバー）*/
.scroll-box::-webkit-scrollbar-thumb:hover {
  background: #999;
}
@media screen and (min-width: 1024px){
	.scroll-box {
		overflow-x: infinite;
		white-space: wrap;
	}
}

table{
	border-collapse: collapse;
	width: 100%;
}
table.type00 th,
table.type00 td{
	padding: .2em .5em;
	font-size: .9em;
	border: 0.06em solid #f2f2f2;
}

table.type01{
	width: 100%;
}
table.type01 th,
table.type01 td{
	text-align: left;
	padding: .2em .5em;
	font-size: .9em;
}
table.type01 th{
	font-weight: normal;
	min-width: 8em;
}
table.type01 tr:nth-child(odd) th,
table.type01 tr:nth-child(odd) td{
	background-color: #f2f2f2;
}
table.type01 tr:nth-child(even) th,
table.type01 tr:nth-child(even) td{
	background-color: #FFFFFF;
}

table.type02{
	width: 100%;
}
table.type02 th,
table.type02 td{
	padding: .2em .5em;
	font-size: .9em;
	border: 0.125em solid #f2f2f2;
}
table.type02 th{
	background-color: #b1e5ea;
	width: 5em;

}

.spec dl{
	width: 100%;
	border-bottom: 0.06em solid #b4b4b4;
}
.spec dl dt{
	font-weight: bold;
}
.spec dl dd{
	margin-left: 0;
	margin-bottom: 1em;
}