@charset "utf-8";

/*----- reset -----*/
html{font-size:62.5%;height:100%;}
body{margin:0;padding:0;font-size:1.5rem;font-family:YakuHanJP,'Noto Sans CJK JP','Noto Sans JP',sans-serif;line-height:1.5;color:#000;height:100%;position:relative;letter-spacing:0.1em;overflow-wrap:break-word;word-wrap:break-word;-webkit-text-size-adjust:100%;background:#fff;width:auto;}
header,main,article,section,nav,footer{display:block;}
div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td{margin:0;padding:0;font-size:100%;}
textarea, select{font-family:YakuHanJP,'Noto Sans CJK JP','Noto Sans JP',sans-serif;}
input{font-family:YakuHanJP,'Noto Sans CJK JP','Noto Sans JP',sans-serif;line-height:1.5;color:#000;position:relative;letter-spacing:0.1em;overflow-wrap:break-word;word-wrap:break-word;}
table{border-collapse:collapse;border-spacing:0;}
fieldset,img{border: 0;}
address,caption,cite,code,dfn,th,var{font-style:normal;font-weight:normal;}
em{font-style:normal;font-weight:500;}
ol,ul{list-style: none;}
caption{text-align:left;}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}
q:before,q:after{content:'';}
abbr,acronym{border:0;}
input[type="text"],input[type="submit"],input[type="email"],input[type="tel"],select{-webkit-appearance:none;appearance:none;border-radius:0;border:none;background:none;}
select::-ms-expand{display:none;}

*, *::before, *::after{box-sizing:border-box;}
/*----- reset end -----*/
:root{
	--vw-100:100vw;
	--vw-50:calc(var(--vw-100)*.5);
	--font_Serif:'Noto Serif JP', sans-serif;
	--font_Barlow:'Barlow', sans-serif;
}

html{visibility:hidden;}
html.wf-active, html.wf-inactive{visibility:visible;}

body{
	font-feature-settings: "palt";
	letter-spacing: 0.03em;
}

#wrapper{overflow:hidden;}

.tab_size{display:none !important;}
.sp_size{display:none !important;}

:target {scroll-margin-top: 60px;}


/*----- header -----*/
/* header固定 */
#header_wrap {
	position: fixed;
	overflow: visible;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 1000;
	background: #fff;
	transition: transform 0.3s ease;
}
/* headerを隠す */
#header_wrap.is-hidden {
	transform: translateY(-100%);
}
.submenu {
	position: fixed;
	top: var(--header-height, 60px);
	left: 0;
	width: 100%;
	z-index: 999;
	background: #fff;
	transition: transform 0.3s ease, top 0.3s ease;
	transform: translateY(0);
}
/* submenuを隠す */
.submenu.is-hidden {
	transform: translateY(calc(-100% - var(--header-height, 80px)));
}
/* submenu単独表示時 */
.submenu.is-solo {
	top: 0;
	transform: translateY(0);
	box-shadow:0 0 5px rgba(0,0,0,0.2);
}
body.has-submenu {
	padding-top: calc(var(--header-height, 80px) + var(--submenu-height, 50px));
}
body:not(.has-submenu) {
	padding-top: var(--header-height, 80px);
}

.menu_box {
	max-width: 1200px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 17px 0 15px;
	margin: auto;
	height: 60px;
}
.logo_link, .logo_img{
	display:block;
	width:100%;
}
#toggle{display:none;}


/*----- global navigation -----*/
#menu {
	display: flex;
	position: relative;
	align-items: center;
}
.header_nav {
	display: flex;
	align-items: center;
	padding-bottom: 2px;
}
.menu_list {
	display: flex;
	align-items: center;
	padding: 0;
	margin: 0;
}
.menu_item{
	list-style:none;
	margin-bottom: 0 !important;
}
.menu_link{
	position:relative;
	display:block;
	color:#333;
	font-size: 1.4rem;
	font-weight:500;
	text-decoration:none;
	padding-left: 0 !important;
	margin-left: 20px;
	transition:color 0.3s;
}
.menu_link[target="_blank"]{background: none !important;}
.menu_link::before{
	content: "";
	position: absolute;
	left: 0;
	bottom: -8px;
	width: 100%;
	height: 3px;
	background: #BE000F;
	opacity: 0;
	transition: opacity 0.3s;
}
.menu_link:hover,.on .menu_link {
	color: #BE000F !important;
}
.menu_link:hover::before,
.on .menu_link::before {
	opacity: 1;
}
.sub_menu_box{
	display: flex;
}
.sub_menu_list {
	display: flex;
	align-items: center;
	position: relative;
	gap: 15px;
	padding: 0 0 2px 10px;
	margin: 0 3px 0 10px;
}
.sub_menu_item {
	list-style: none;
	margin-bottom: 0;
}
.sub_menu_link {
	padding-left: 14px !important;
	font-size: 1.3rem;
	text-decoration: none !important;
	background: url(/img/common/icon_popup.svg) no-repeat center left / 10px !important;
	transition: color 0.3s;
}
.sub_menu_link:hover {
	color: #BE000F !important;
}
/* SPアコーディオン時 */
.acc_box {display: none;}

/*----- search modal -----*/
.search_smp .modal_open{display: none;}
.search_pc {
	margin-left: 16px;
	position: relative;
}
.modal_open {
	display: block;
	width: 20px;
	height: 30px;
	cursor: pointer;
	border: none;
	padding: 0;
	background: url(/img/common/icon_search.svg) no-repeat center/15px;
	transition: background 0.3s;
}
.modal_open:hover {
	background:url(/img/common/icon_search_red.svg) no-repeat center/15px;
}
.modal_txt{
	display:block;
	position:relative;
	height:100%;
	font-size:0;
}
.modal_content {
	position: fixed;
	display: none;
	z-index: 5000;
	width: 526px;
	text-align: center;
	background: none;
}
.search_box {
	width: 100%;
	background: #fff;
	display: flex;
}
.search_txt {
	width: 100%;
	border: none;
	font-size: 18px;
	padding: 20px 60px 19px 20px;
}
.search_btn{
	padding: 20px 20px 19px;
	transition: background 0.3s;
}
.search_btn:hover{background: #ddd;}
.modal_close {
	position: relative;
	display: inline-block;
	padding-left: 25px;
	margin-top: 15px;
	cursor: pointer;
	color: #fff !important;
	border: none;
	background: none;
	font-size: 15px;
	letter-spacing: 1.5px;
	border-bottom: 1px solid transparent;
}
.modal_close:hover{border-bottom: 1px solid #fff;}
.modal_close::before,
.modal_close::after {
	content: '';
	position: absolute;
	left: 10px;
	top: 2px;
	bottom: 0;
	margin: auto;
	width: 1px;
	height: 17px;
	background: #fff;
}
.modal_close::before {
	transform: rotate(45deg);
}
.modal_close::after {
	transform: rotate(-45deg);
}
#s_overlay {
	display: none;
	position: fixed;
	z-index: 3000;
	inset: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,.85);
}



/*----- footer -----*/
#return{
	position:relative;
	z-index:900;
}
.return_btn{
	display: block;
	position: fixed;
	right: 20px;
	bottom: 20px;
	width: 37px;
	height: 37px;
	background: #fff;
	border: 1px solid #ddd;
	text-decoration: none;
	transition: background 0.3s;
}
.return_btn::after{
	content:'';
	display:block;
	position:absolute;
	top:5px;
	right:0;
	bottom:0;
	left:0;
	margin:auto;
	width:8px;
	height:8px;
	border-top:1px solid #E50012;
	border-right:1px solid #E50012;
	transform:rotate(-45deg);
	transition: border-top 0.3s, border-right 0.3s;
}
.return_txt{
	display:none;
}
.return_btn:hover{
	background:#000000;
}
.return_btn:hover::after{
	border-top:1px solid #fff;
	border-right:1px solid #fff;
}

#footer_wrap{background: #111;}
.f_main_area{
	display:flex;
	position: relative;
	justify-content:space-between;
	max-width:1240px;
	margin:auto;
	color: #fff;
}
.f_main_area a{
	color: #fff;
	text-decoration:none;
	transition: color 0.3s background 0.3s;
}
.f_info_area{
	position: relative;
	padding: 49px 20px 25px;
}
.f_sub_menu_list {
    display: flex;
    gap: 15px;
	position: absolute;
	right: 64px;
	bottom: 25px;
	padding: 0;
	margin: 0;
}
.f_sub_menu_item{
	list-style:none;
	margin:0;
}
.f_address{margin-bottom: 38px;}
.f_address_logo{
	width:230px;
	margin-bottom:20px;
}
.f_logo_link, .f_logo_img{
	display:block;
	width:100%;
}
.f_address_txt{
	font-size:1.3rem;
	line-height:2.1rem;
	margin:0;
}
.f_calendar{
	display: inline-block;
	padding: 12px 30px 12px 50px !important;
	font-size: 1.2rem;
	border: 1px solid #ddd;
	border-radius: 2px;
	color: #fff !important;
	background: #111 url(/img/common/icon_popup_white.svg) left 30px center no-repeat !important;
	transition: border 0.3s, background 0.3s;
}
.f_calendar:hover {
	color: #111 !important;
	background: #fff url(/img/common/icon_popup_black.svg) left 30px center no-repeat !important;
}
.f_menu{
	position: relative;
	padding: 46px 20px 25px 18px;
	border-left: 1px solid #2f2f2e;
}
.f_menu_in {
	display: flex;
	flex-wrap: wrap;
	margin: 0 44px 110px 0;
}
.f_menu_list{
	padding:0;
	margin: 0 0 0 60px;
}
.f_menu_list.f_company{
	margin: 0 0 0 75px;
}
.f_sustainability_area {
	display: flex;
}
.f_menu_list.f_sustainability{
	margin: 0 0 0 40px;
}
.f_menu_item{
	list-style:none;
	line-height:2.4rem;
	margin-bottom:21px;
}
.f_menu_link{
	font-size:1.5rem;
	font-weight:bold;
	text-decoration:none !important;
}
.f_menu_link[target="_blank"]{
	padding-left: 20px;
	background: url(/img/common/icon_popup_white.svg) no-repeat center left;
}
.f_menu_link:hover{
	text-decoration:underline !important;
}
.f_child_list{
	padding: 0;
	margin:24px 0 0;
}
.f_child_item{
	list-style:none;
	line-height:1.7rem;
	margin-bottom:8px;
}
.f_child_item.f_item_top{
	display:none;
}
.f_child_link,.f_sub_menu_link{
	font-size:1.2rem;
	color: #cfcfcf !important;
	text-decoration:none !important;
}
.f_child_link:hover, .f_sub_menu_link:hover{
	text-decoration:underline !important;
}

.f_sub_area{
	padding:15px 20px 20px;
	border-top:1px solid #ccc;
}
.f_sub_box{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:space-between;
	max-width:1200px;
	margin:auto;
}
.f_sub_list{
	display:flex;
	flex-wrap:wrap;
	padding:0;
	margin:0;
}
.f_sub_item{
	list-style:none;
	margin:0 20px 0 0;
	font-size:1.4rem;
	line-height:2rem;
}
.f_sub_link{text-decoration:none !important;}
.f_sub_link:hover{text-decoration:underline !important;}
.copyright{
	line-height:2rem;
	margin:0;
	position: absolute;
	left: 20px;
	bottom: 25px;
}
.copy_txt{
	display:block;
	font-size:1rem;
	letter-spacing:1.4px;
}
footer a:visited{
	color:#fff;
	text-decoration:none;
}
/*----- main -----*/
a, a:visited{
	color:#000;
	text-decoration:underline;
}
a:hover, a:visited:hover{
	text-decoration:none;
}
a[target="_blank"]{
	padding-left:22px;
	background:url(/img/common/icon_popup.svg) no-repeat center left 4px;
}
a[target="_blank"]:hover{
	text-decoration:none;

}
a.non[target="_blank"]{
	padding-left:0;
	background:none;
}
a[href$=".doc"], a[href$=".docx"]{
	padding-left:22px;
	background:url(/img/common/icon_word.svg) no-repeat center left 4px;
}
a[href$=".xls"], a[href$=".xlsx"]{
	padding-left:20px;
	background:url(/img/common/icon_excel.svg) no-repeat center left;
}
a[href$=".pdf"]{
	padding-left:22px;
	background:url(/img/common/icon_pdf.svg) no-repeat center left 4px;
}
a.none[href$=".pdf"]{
	padding-left:0;
	background:none;
}
a[href$=".zip"]{
	padding-left: 22px;
	background: url(/img/common/icon_zip.svg) no-repeat center left 4px;
}
a[download]{
	padding-left: 22px;
	background: url(/img/common/icon_download.svg) no-repeat center left 4px;
}
[href^="tel:"]{
	color:#333 !important;
	pointer-events:none;
}
.popup_movie {
	padding-left: 22px;
	background: url(/img/common/icon_youtube.svg) no-repeat center left 4px / 15px;
}
img{
	display:block;
	max-width:100%;
	width:auto;
	height:auto;
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;
}
a img{pointer-events:none;}

.link_btn {
	display: inline-block;
	padding: 15px 40px 16px 19px;
	min-width:250px;
	font-size: 1.5rem;
	font-weight: 400;
	text-align: left;
	color: #000 !important;
	border: 1px solid #fff;
	border-radius: 2px;
	text-decoration: none;
	transition: color 0.3s,border 0.3s,box-shadow 0.3s;
	box-shadow:0 0 8px rgba(0,0,0,0.25);
	background:url(/img/common/arrow_r_l.svg) right 20px center no-repeat;
}
.link_btn:hover {
	color: #BE000F !important;
	border-color:#BE000F;
	box-shadow:none;
}

/* news */
.news_list {
	padding: 0;
	margin:26px 0 30px;
	border-top: 1px solid #E2E2E2;
}
.news_item {
	margin-bottom: 0;
	border-bottom: 1px solid #E2E2E2;
	list-style: none;
}
.news_link {
	display: flex;
	padding: 20px 15px 19px;
	justify-content:space-between;
	align-items: start;
	text-decoration: none;
	transition: background-color 0.3s;
}
.news_link:hover {
	background-color: #ECECE9;
}
.news_info {
	display: flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	width:200px;
	color: #333;
}
.news_date {
	padding-top: 2px;
	font-size: 1.3rem;
	font-family: var(--font_Barlow);
	letter-spacing: 0.65px;
	width: 75px;
}
.news_cate {
	display: inline-block;
	padding: 1px 5px 2px;
	border: 1px solid #000;
	font-size: 1.2rem;
	letter-spacing: 1.2px;
	width: 110px;
	margin-bottom: 0;
	text-align: center;
}
.news_title {
	width:calc(100% - 210px);
	position: relative;
	padding-top: 1px;
	padding-left: 11px;
	margin: 0;
	font-size: 1.5rem;
	line-height: 2.1rem;
	color: #000;
}
.news_title::before {
	content: "";
	display: inline-block;
	position: absolute;
	left: 0;
	width: 5px;
	height: 21px;
	background: url(/img/common/arrow_r.svg) no-repeat center center;
}

/* blog */
.blog_date {
	padding-top: 2px;
	font-size: 1.5rem;
	font-family: var(--font_Barlow);
	letter-spacing: 0.65px;
	width: 75px;
}
.blog_title {
	position: relative;
	padding-top: 1px;
	padding-left: 11px;
	margin: 0;
	font-size: 1.5rem;
	line-height: 2.1rem;
	color: #000;
}
.blog_title::before {
	content: "";
	display: inline-block;
	position: absolute;
	left: 0;
	width: 5px;
	height: 21px;
	background: url(/img/common/arrow_r.svg) no-repeat center center;
}

/* cta */
.cta_box {
	text-align: center;
	margin: 0 auto 100px;
}
.cta_title {
	padding: 0;
	margin: 0 0 13px 0 !important;
	font-size: 2.1rem;
	line-height: 3.2rem;
	background: none;
}
.cta_title::before {
	display: none;
}
.cta_text {
	font-size: 1.3rem;
	margin-bottom: 23px;
	line-height: 2.1rem;
}
.cta_dept {
	margin-bottom: 20px;
	font-size: 1.6rem;
	line-height: 2.1rem;
	background: #ECECE9;
	padding: 5px 0;
	max-width: 460px;
	margin: 0 auto 15px auto;
}
.cta_info {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 30px;
	margin: auto;
	max-width: 460px;
}
.btn_contact {
	display: inline-block;
	padding: 8px 23px 10px;
	background: #109079;
	color: #fff !important;
	font-size: 1.5rem;
	text-decoration: none;
	border-radius: 2px;
	border: 1px solid #109079;
	transition: background 0.3s, color 0.3s;
}
.btn_contact:hover {
	background: #fff;
	color: #109079 !important;
}
.cta_tel {
	margin-bottom: 2px;
	font-size: 2.6rem;
	font-weight: 500;
	line-height: 2.6rem;
	letter-spacing: 0.8px;
	font-family: var(--font_Barlow);
	color: #000 !important;
}
.cta_tel span {
	font-size: 1.8rem;
	margin-right: 2px;
	font-weight: 500;
}
.cta_tel a {
	text-decoration: none;
	color: #000 !important;
}
.cta_tel_box .small {
	font-size: 1.2rem;
	margin-bottom: 11px;
}
.cta_right_in{
	padding: 0 20px;
	margin: auto;
}

/* 特装車のcta */
.cta_area{
	margin: 0 auto 100px;
	padding: 0 20px;
}
.s_cta_box_inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0;
	position: relative;
	max-width: 1200px;
	border: 4px solid #E2E2E2;
	margin: 0 auto;
}
.s_cta_box_inner::before{
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 1px;
	height: 100%;
	background-color: #E2E2E2;
	pointer-events: none;
}
.cta_left,.cta_right {
	padding: 25px 20px 24px;
}

/* 特装車以外のcta */
.cta_box_inner {
	padding: 21px 45px 24px;
	border: 4px solid #E2E2E2;
	margin: auto;
	max-width: 1200px;
}
.cta_box_inner .cta_text {
	margin-bottom: 18px;
}
.cta_text h3 {
	font-size: 2.2rem;
	padding: 0;
	margin: 0 0 14px 0 !important;
	text-align: left;
	line-height: 3.2rem;
	background: none;
}
.cta_text h3::before {
	display: none;
}
.cta_text p {
	font-size: 1.4rem;
	line-height: 2.1rem;
	text-align: left;
}
.cta_shelter .cta_info,.cta_special .cta_info {
	margin-top: 7px;
	gap: 28px;
}
.cta_tel{
	letter-spacing: 0.2px;
}

/* pagenavi */
.wp-pagenavi {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	gap: 5px;
	margin-top: 40px;
}
.page, .current, .first, .last {
	display: inline-block;
	width: 30px;
	padding: 3px;
	color: #333;
	background-color: #fff;
	font-size: 1.4rem;
	text-align: center;
	font-family: var(--font_Barlow);
	text-decoration: none;
	border: 1px solid #EAEAEA;
	border-radius: 2px;
	transition: background-color 0.3s, border 0.3s;
}
.page:hover, .current, .first:hover, .last:hover {
	background-color: #ECECE9;
	border: 1px solid #ECECE9;
}
.extend{
	display: inline;
	padding: 0 8px;
	margin-bottom: 9px;
}
.previouspostslink, .nextpostslink {
	position: absolute;
	top: 5px;
	color: #000 !important;
	font-size: 1.5rem;
	line-height: 2.1rem;
	text-decoration: none !important;
}
.nextpostslink {
	right: 5px;
	padding-right: 22px;
	background: url(/img/common/arrow_r.svg) no-repeat center right 5px / 7px;
}
.previouspostslink {
	left: 5px;
	padding-left: 22px;
	background: url(/img/common/arrow_l.svg) no-repeat center left 5px / 7px;
}
.previouspostslink:hover, .nextpostslink:hover {
	text-decoration: underline !important;
}

/* ポップアップ */
.mfp-bg {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 99999;
	background: #000;
	opacity: 0;
	transition: opacity 0.3s;
}
.mfp-bg.mfp-ready {
	opacity: 0.8;
}
.mfp-wrap {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 100000;
	outline: none;
	opacity: 0;
	transition: opacity 0.3s;
}
.mfp-wrap.mfp-ready {
	opacity: 1;
}
.mfp-container {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 40px;
	box-sizing: border-box;
}
.mfp-iframe-holder .mfp-content {
	max-width: 900px;
	width: 100%;
}
.mfp-iframe-scaler {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
	overflow: visible;
	background: #000;
}
.mfp-iframe-scaler iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: block;
}
.mfp-iframe-holder .mfp-close {
	position: absolute;
	top: -40px;
	right: 0;
	width: auto;
	height: auto;
	color: #fff;
	background: none;
	opacity: 1;
	font-size: 0;
	padding: 0;
	border: none;
	cursor: pointer;
}
.mfp-iframe-holder .mfp-close::before {
	content: '';
	width: 19px;
	height: 19px;
	display: inline-block;
	vertical-align: middle;
	margin-right: 8px;
	background: url(/img/common/icon_close.svg) center no-repeat;
}
.mfp-iframe-holder .mfp-close::after {
	content: '閉じる';
	font-size: 1.6rem;
	color: #fff;
	vertical-align: middle;
}
@media screen and (max-width:1280px){
.menu_box{
	padding: 15px 20px 12px;
	max-width: 1240px;
}
#logo{
	max-width:180px;
}
.menu_link{
	font-size:1.3rem;
	margin-left:16px;
}
.sub_menu_list{
	gap:10px;
	margin-left:8px;
}
.f_main_area {
	display: block;
}
.f_info_area {
	margin: auto;
	padding: 28px 20px 31px;
	border-bottom: 1px solid #2f2f2e;
}
.f_info_box {
	text-align: center;
}
.f_address {
	margin-bottom: 18px;
}
.f_address_logo {
    margin: 0 auto 20px;
}
.f_address_txt {
	display: inline-block;
	text-align: left;
}
.f_calendar {
	padding: 11px 50px 11px 70px !important;;
	background: #111 url(/img/common/icon_popup_white.svg) left 50px center no-repeat !important;
}
.f_child_item {
	margin-bottom: 8px;
}
.f_menu{
	padding: 42px 20px 25px 18px;
	border-left: none;
}
.f_menu_in {
	flex-wrap: nowrap;
	margin: 0 auto 128px;
	justify-content: center;
	gap: 40px;
}
.f_menu_list {
	margin: 0;
}
.f_sustainability_area {
	display: block;
}
.f_menu_list.f_company {
	margin: 0 0 0 35px;
}
.f_menu_list.f_sustainability {
	margin: 0 0 38px 0;
}
.f_sub_menu_list {
	gap: 18px;
	right: 0;
	left: 0;
	bottom: 107px;
	margin: auto;
	justify-content: center;
}
.copyright {
	right: 0;
	left: 0;
	bottom: 30px;
	text-align: center;
}

}

@media screen and (max-width:1024px){
.tab_size{display:block !important;}
.header_nav {
	flex-direction: column;
	align-items: end;
}
.menu_list {
	order: 2;
}
.menu_box {
	height: 70px;
	padding: 16px 20px 15px;
	border-bottom: 1px solid #e2e2e2;
}
.menu_link{
	margin-left:15px;
	font-size:1.3rem;
}
.menu_link::before {
	bottom: -12px;
}
.sub_menu_box{
	order: -1;
}
.sub_menu_list{
	gap: 16px;
	padding-left:6px;
	margin-bottom: 4px;
}
.sub_menu_link{
	font-size:1.1rem;
}
.modal_open{
	width: 15px;
	height: 26px;
}
.search_pc{
	margin-left: 12px;
}
}

@media screen and (max-width:767px){

#wrapper.fixed{
	position:fixed;
	top:0;
	right:0;
	bottom:0;
	left:0;
}

.pc_size{display:none !important;}
.sp_size{display:block !important;}
/* ---------- header ---------- */

.menu_box {
	display: flex;
	justify-content: space-between;
	padding: 0 20px;
	width: 100%;
	height: 47px;
	position: relative;
	border-bottom: 1px solid #E2E2E2;
}
#logo {
	max-width: 190px;
}
#toggle{display:block;}
.toggle_btn{
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:0;
	padding: 0;
	text-decoration:none;
	cursor:pointer;
	border: 0;
	background: #fff;
}
.toggle_txt{
	position:relative;
	display:block;
	width: 16px;
	height: 46px;
}
.toggle_btn::before, .toggle_btn::after, .toggle_txt::before{
	content:'';
	display:block;
	position:absolute;
	left:0;
	right:0;
	margin:auto;
	width: 16px;
	height: 1px;
	border-radius: 1px;
	background: #333;
	transition:all 0.3s;
}
.toggle_btn::before{top:18px;}
.toggle_btn::after{top:23px;}
.toggle_txt::before{top:28px;}
.toggle_btn.open::before{
	top:23px;
	transform:rotate(150deg);
}
.toggle_btn.open::after{
	top:23px;
	transform:rotate(-150deg);
}
.open .toggle_txt::before{
	opacity:0;
	visibility:hidden;
}
.menu_dis{display:none !important;}
#menu{
	display:block;
	height:100%;
	background:#fff;
	position: absolute;
	top: 47px;
	right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
	padding-bottom: 150px;
	height: calc(100vh - 47px);
}
.main_menu{
	height: auto;
	border: none;
}
.menu_list{
	display:block;
	margin:0 auto;
	width: 100%;
}
.menu_item{
	margin:0 !important;
	border-bottom:1px solid #E2E2E2;
}
.menu_link{
	padding: 17px 20px !important;
	font-size:1.4rem;
	font-weight: 500;
	position: relative;
	margin: 0;
}
.menu_link::before {display: none;}
.menu_link.has_child::before {
	display: none;
}
.menu_link.has_child{
	background: url(/img/common/arrow_b.svg) right 20px center no-repeat;
}
.menu_link.saiyo {
    padding-left: 37px !important;
    background: url(/img/common/icon_popup_black.svg) no-repeat center left 20px / 12px !important;
}
.acc_box{
	background: #ECECE9;
	padding: 9px 0px 13px;
	border-top: 1px solid #E2E2E2;
}

.acc_parent, .acc_menu_item{
	list-style:none;
	margin:0 !important;
}
.acc_parent_link, .acc_menu_link{
	display:block;
	padding: 7px 20px;
	color:#333 !important;
	font-size:1.3rem;
	font-weight: 500;
	letter-spacing:0.28px;
	line-height:2rem;
	text-decoration:none !important;
	transition:color 0.3s;
}
.acc_menu_link{
	padding: 5px 20px 6px 40px;
}

.menu_link_in{position: relative;}

a:hover .acc_parent_txt,
.p_on .acc_parent_txt,
a:hover .acc_menu_link_txt,
.c_on .acc_menu_link_txt,
a:hover .menu_sub_link,
.on .menu_sub_link,
.on .menu_link{
	color: #BE000F !important;
}
.acc_menu_list{
	padding:0;
	margin:0;
}
.sub_menu_box {
	display: none;
}
.sub_menu{
	flex-direction: column;
	position: static;
	gap: 0;
}
/*----- search -----*/
.search_smp .modal_open{
	display: block;
	width: 15px;
	height: 23px;
}
.search_smp{
	position:absolute;
	z-index:200;
	right: 56px;
	top: 12px;
}
.modal_content{
	width: 80%;
	left: 40px !important;
}


/*----- footer -----*/
.f_menu_in {
    display: block;
	margin: 0 auto;
}
.f_info_area {
	margin: auto;
	padding: 33px 20px 35px;
}
.f_menu {
	padding: 0;
	margin: 0 auto;
}
.f_menu_item {
	margin-bottom: 0;
	line-height: 1.3rem;
	border-bottom: 1px solid #2f2f2e;
}
.f_menu_link.has_child{
	background: url(/img/common/arrow_b_white.svg) right 23px center no-repeat;
}
.f_menu_link {
	display: block;
	padding: 21px 25px;
	font-size: 1.3rem;
}
.f_menu_item .acc_box{
	background: #1D1D1D;
	padding: 12px 0px 13px;
	border-top: 1px solid #2f2f2e;
}
.f_child_item {
	margin-bottom: 0;
}
.f_child_list {
	margin: 0;
	padding: 0 26px;
	display: block;
}
.f_child_link {
	margin: 0;
	padding: 7px 0;
	display: block;
}
.f_menu_list.f_company {
	margin: 0;
}
.f_menu_list.f_sustainability {
	margin: 0;
}
.f_sub_menu_list {
	display: block;
	position: relative;
	bottom: 0;
	padding: 0 0 57px 0;
}
.f_menu_link.saiyo {
	padding: 21px 25px 21px 45px;
	background: url(/img/common/icon_popup_white.svg) no-repeat center left 25px;
}
.f_sub_menu_link {
	padding: 15px 26px;
	display: block;
	border-bottom: 1px solid #2f2f2e;
}
.copyright {
	bottom: 19px;
}

/*----- main -----*/
[href^="tel:"]{
	text-decoration:underline;
	pointer-events:auto;
}
.link_btn {
	font-size: 1.4rem;
}
.previouspostslink, .nextpostslink {
	top: 70px;
	font-size: 1.3rem;
}
.nextpostslink {
	right: -5px;
	padding-right: 22px;
	background: url(/img/common/arrow_r.svg) no-repeat center right 5px / 6px;
}
.previouspostslink {
	left: -5px;
	padding-left: 21px;
	background: url(/img/common/arrow_l.svg) no-repeat center left 5px / 6px;
}
.s_cta_box_inner {
	grid-template-columns: 1fr;
}
.s_cta_box_inner::before {
	display: none;
}
.cta_tel_box{
	margin-bottom: 18px;
}
.cta_left{
	border: 1px solid #e2e2e2;
}
.cta_title{
	font-size: 1.8rem;
	line-height: 2.6rem;
}
.cta_dept{
	font-size: 1.4rem;
	line-height: 2.1rem;
}
.cta_left {
	padding: 18px 15px 32px;
}
.cta_right{
	padding: 27px 15px 10px;
}
.cta_right_in {
    padding: 0;
}
}


/*----- print -----*/
@media print{
	:root{--vw-100:1200px;}
	body{
		width:1200px;
		transform:scale(1);
		-moz-transform:scale(1);
		-webkit-transform:scale(1);
		transform-origin:0 0;
		zoom:.91;
		margin:auto
	}
	@media all and (-ms-high-contrast:none){
		body{width:1200px}
	}
	@media (-ms-high-contrast:none),(-ms-high-contrast:active){
		body{width:1200px}
	}
	@media all and (-webkit-min-device-pixel-ratio:0) and (min-resolution:.001dpcm){
		body{
			width:1200px;
			transform:scale(.8);
			-moz-transform:scale(.8);
			-webkit-transform:scale(.8);
			transform-origin:0 0;
			margin:auto
		}
	}
}
/*----- print end -----*/