@charset "utf-8";

/*----- reset -----*/
html{font-size:62.5%;height:100%;}
body{margin:0;padding:0;font-size:1.6rem;font-family:YakuHanJP,'Noto Sans CJK JP','Noto Sans JP',sans-serif;line-height:2;color:#333;height:100%;position:relative;letter-spacing:0;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:#333;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;}
sup,sub{font-size:75%;line-height:0;position:relative;vertical-align:baseline;}
sup{top:-0.5em;}
sub{bottom:-0.25em;}
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);
	/* --dd-height:70px; */
}

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

#wrapper{overflow:hidden;}

.sp_size{display:none !important;}


/*----- header -----*/
#header_wrap{
	position:fixed;
	top:0;
	left:0;
	width:100%;
	background:#fff;
	z-index:10;
	transition:background 0.3s, transform 0.5s;
}
#header_wrap.scroll{background:rgba(255,255,255,0.9);}
#header_wrap.hide{transform:translateY(-101%);}
#header_area{
	max-width:1548px;
	padding:15px 24px 24px;
	margin:auto;
	position:relative;
}
#logo{
	position:absolute;
	left:24px;
	top:16px;
}
.logo_link, .logo_img{
	display:block;
	width:100%;
	max-width:150px;
}

#toggle{display:none;}
#menu{display:flex;justify-content:center;}

/* メガドロップ */
#dd_bg{
	display:none;
	position:fixed;
	z-index:0;
	top:80px;
	left:0;
	width:100%;
	height:120%;
	opacity:1;
	background:rgba(0,0,0,0.5);
	transition:opacity .1s;
}
#dd_bg.hide{opacity:0;}

.dropmenu{display:flex;margin:12px 20px 0;padding:0;}
.drawer-dropdown{margin:0 0 0 24px;list-style:none;}
.drawer-dropdown:first-child{margin:0;}
.drawer-dropdown .menu_top{
	display: block;
	color: #333 !important;
	text-decoration: none !important;
	padding:0;
	font-size:1.6rem;
	letter-spacing:0.68px;
	font-weight:bold;
	font-family:YakuHanJP,'Noto Sans CJK JP','Noto Sans JP',sans-serif;line-height:1.5;
	border:none;
	background:none;
	cursor:pointer;
	position:relative;
}
.drawer-dropdown .menu_top span{
	display:inline-block;
	padding-bottom:5px;
	position:relative;
}
.drawer-dropdown .menu_top span::after{
	content:'';
	display:block;
	position:absolute;
	bottom:0;
	left:0;
	width:0;
	height:3px;
	background:#2E67B6;
	transition:width 0.3s;
}
.drawer-dropdown .menu_top:hover span::after{width:100%;}
.drawer-dropdown.on .menu_top span::after,.drawer-dropdown.active .menu_top span::after{width:100%;}

.dropdown-menu{display:none;}

.search_box_in.open {display: block !important;}
.close{
	display:block;
	cursor:pointer;
	position:relative;
	text-align:center;
	margin:40px auto 0;
}
.close span{
	display:inline-block;
	position:relative;
	padding-left:46px;
	font-size:1.4rem;
	letter-spacing:0;
	color:#fff;
	font-family:"Poppins", sans-serif;
}
.close span::before,.close span::after{
	content:'';
	display:block;
	position:absolute;
	z-index:10;
	left:-1px;
	top:0;
	bottom:0;
	margin:auto;
	width:38px;
	height:2px;
	background:#fff;
	transition:all 0.3s;
}
.close span::before{transform:rotate(150deg);}
.close span::after{transform:rotate(-150deg);}
.close span:hover{text-decoration:underline;}

.dd_box{
	display:block;
	position:absolute;
	z-index:10000;
	top:100%;
	left:0;
	width:100%;
	background:#111;
	padding:0;
	margin:auto;
	box-sizing:border-box;
	opacity:0;
	visibility:hidden;
	transition:opacity 0.1s, visibility 0.1s,transform 0.1s;
}
#header_wrap.hide .dd_box{transform:translateY(-105%);}
.dd_active .dd_box{opacity:1;visibility:visible;}
.dd_box_in{
	position:absolute;
	top:0;
	right:0;
	left:0;
	padding:0 20px;
	margin:auto;
	box-sizing:border-box;
	opacity:0;
	visibility:hidden;
	transition:opacity 0.3s, visibility 0.3s;
	border-radius:10px;
}
.dd_box_wrap{
	position:relative;
	max-width:1500px;
	padding:14px 50px 0;
	margin:auto;
	box-sizing:border-box;
}
.dd_active[data-menu="products"] .dd_box_in.is_products,
.dd_active[data-menu="technology-solution"] .dd_box_in.is_technology-solution,
.dd_active[data-menu="support"] .dd_box_in.is_support,
.dd_active[data-menu="company"] .dd_box_in.is_company,
.dd_active[data-menu="recruit"] .dd_box_in.is_recruit{
	opacity:1;
	visibility:visible;
}
.dd_box_h{
	position:relative;
	padding:38px 0 10px;
}
.dd_parent{
	position:relative;
	margin:0;
}
.dd_parent_link{
	position:relative;
	cursor:pointer;
	margin:0;
	display:block;
	color:#FFF !important;
	font-size:2.4rem;
	font-weight:bold;
	text-decoration:none !important;
	padding:0 60px 12px 0;
	border-bottom:1px solid #595959;
}
.dd_parent_link::after{
	content:'';
	width:18px;
	height:4px;
	background:url(/img/common/arrow_r_white.svg) center no-repeat;
	position:absolute;
	right:20px;
	top:calc(50% - 2px);
	transition:right .3s;
}
.dd_parent_link:hover::after{right:0;}
.dd_parent_link::before{
	content:'';
	display:block;
	position:absolute;
	bottom:-1px;
	left:0;
	width:0;
	height:1px;
	background:#fff;
	transition:width 0.3s;
}
.dd_parent_link:hover::before{width:100%;}

.dd_content{
	position:relative;
	margin-top:20px;
}
.dd_product_content{
	display:grid;
	width:100%;
	grid-template-columns:1fr 1fr;
	gap:60px;
}
.dd_product_title{
	font-size:1.3rem;
	position:relative;
	margin-bottom:13px;
	color:#fff;
}
.dd_product_title::before{
	content:attr(data-en);
	font-family: "Poppins", sans-serif;
	font-weight:bold;
	display:inline-block;
	margin-right:9px;
	letter-spacing:0.6px;
}
.dd_product_title span::before{content:'（';}
.dd_product_title span::after{content:'）';}
.dd_product_list{
	border-top:1px solid #595959;
	margin:0;
	padding:0;
}
.dd_product_item{margin:0 !important;list-style:none;}
.dd_product_link{
	color:#fff !important;
	text-decoration:none !important;
	display:block;
	position:relative;
	font-size:1.4rem;
	padding:16px 60px 19px 20px;
	border-bottom:1px solid #595959;
}
.dd_product_link::after{
	content:'';
	width:18px;
	height:4px;
	background:url(/img/common/arrow_r_white.svg) center no-repeat;
	position:absolute;
	right:20px;
	top:calc(50% - 2px);
	transition:right .3s;
}
.dd_product_link:hover::after{right:0;}
.dd_product_link::before{
	content:'';
	display:block;
	position:absolute;
	bottom:-1px;
	left:0;
	width:0;
	height:1px;
	background:#fff;
	transition:width 0.3s;
}
.dd_product_link:hover::before{width:100%;}

.dd_product_icon_list{
	display:grid;
	grid-template-columns:1fr 1fr 1fr;
	gap:0;
	border-top:1px solid #595959;
	margin:0;
	padding:0;
}
.dd_product_icon_item{border-bottom:1px solid #595959;position:relative;list-style:none;margin:0 !important;}
.dd_product_icon_item:not(:nth-child(3n))::before{
	content:'';
	display:block;
	position:absolute;
	top:40px;
	right:0;
	width:1px;
	height:calc(100% - 80px);
	background:#595959;
}
.dd_product_icon_link{
	display:flex;
	align-items:center;
	flex-direction:column;
	position:relative;
	font-size:1.4rem;
	height:159px;
	color:#fff !important;
	text-decoration:none !important;
	padding-top:29px;
}
.dd_product_icon_link::before{
	content:'';
	display:block;
	position:absolute;
	top:5px;
	left:5px;
	width:calc(100% - 10px);
	height:calc(100% - 10px);
	background:rgba(255,255,255,0.2);
	transition:opacity 0.3s,visibility 0.3s;
	opacity:0;
	visibility:hidden;
}
.dd_product_icon_link:hover::before{
	opacity:1;
	visibility:visible;
}
.dd_product_icon_link *{position:relative;}
.dd_product_icon_link p{
	display:inline-block;
	padding-right:27px;
	background:url(/img/common/arrow_r_white.svg) right center no-repeat;
	margin-top:9px;
}
.dd_child_list{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	margin:0;
	padding:0;
	gap:0 20px;
}
.dd_child_item{
	list-style:none;
	margin:0 !important;
}
.dd_child_link{
	display:flex;
	align-items:center;
	color:#fff !important;
	height:100%;
	text-decoration:none !important;
	font-size:1.4rem;
	position:relative;
	padding:16px 60px 18px 20px;
	border-bottom:1px solid #595959;
}
.dd_child_link::after{
	content:'';
	width:18px;
	height:4px;
	background:url(/img/common/arrow_r_white.svg) center no-repeat;
	position:absolute;
	right:20px;
	top:calc(50% - 2px);
	transition:right .3s;
}
.dd_child_link:hover::after{right:0;}
.dd_child_link::before{
	content:'';
	display:block;
	position:absolute;
	bottom:-1px;
	left:0;
	width:0;
	height:1px;
	background:#fff;
	transition:width 0.3s;
}
.dd_child_link:hover::before{width:100%;}

.menu_sub{
	position:absolute;
	top:31px;
	right:127px;
	display:flex;
	align-items:center;
}
.menu_sub_list{display:flex;margin:0;padding:0;}
.menu_sub_item{list-style:none;margin:0 0 0 20px;}
.menu_sub_item:first-child{margin:0;}
.menu_sub_link{
	position:relative;
	display:block;
	padding-bottom:8px;
	color:#111;
	font-size:1.2rem;
	line-height:1.7rem;
	font-weight:500;
	text-decoration:none;
	transition:color 0.3s;
}
.menu_sub_link::after{
	content:'';
	display:block;
	position:absolute;
	bottom:0;
	left:0;
	width:0;
	height:1px;
	background:#2E67B6;
	transition:width 0.3s;
}
.on .menu_sub_link::after{width:100%;}
/*----- search -----*/
#search{
	position:absolute;
	right:93px;
	top:33px;
}
.modal_open{
	display:block;
	width:14px;
	height:24px;
	padding:0 0 10px;
	border:none;
	background:none;
	border-radius:0;
	cursor:pointer;
	text-decoration:none;
	transition:opacity 0.3s;
	position:relative;
}
.modal_open::after{
	content:'';
	display:block;
	position:absolute;
	bottom:0;
	left:0;
	width:0;
	height:1px;
	background:#2E67B6;
	transition:width 0.3s;
}
.on .modal_open::after{width:100%;}
.modal_txt{
	display:block;
	position:relative;
	height:100%;
	background:url(/img/common/icon_search.svg) top center no-repeat;
	background-size:14px 14px;
	font-size:0;
}
.modal_content{
	position:fixed;
	display:none;
	z-index:5000;
	text-align:center;
	width:526px;
}
.search_box{
	position:relative;
	width:100%;
	background:#fff;
}
.search_txt{
	display:block;
	width:100%;
	padding:20px 60px 19px 20px;
	background:none;
	border:none;
	box-sizing:border-box;
	font-size:1.8rem;
}
.search_txt::placeholder{color:#aaa;}
.search_btn{
	display:block;
	position:absolute;
	top:0;
	right:0;
	font-size:0;
	width:60px;
	height:69px;
	background:url(/img/common/icon_search.svg) no-repeat center !important;
	border:none;
	cursor:pointer;
}
#s_overlay{
	display: none;
	position:fixed;
	z-index:3000;
	top:0;
	left:0;
	width:100%;
	height:120%;
	background-color:rgba(0,0,0,0.85);
}

.modal_close{
	display:block;
	cursor:pointer;
	position:relative;
	text-align:center;
	margin:40px auto 0;
}
.modal_close span{
	display:inline-block;
	position:relative;
	padding-left:46px;
	font-size:1.4rem;
	letter-spacing:0;
	color:#fff;
	font-family:"Poppins", sans-serif;
}
.modal_close span::before,.modal_close span::after{
	content:'';
	display:block;
	position:absolute;
	z-index:10;
	left:-1px;
	top:0;
	bottom:0;
	margin:auto;
	width:38px;
	height:2px;
	background:#fff;
	transition:all 0.3s;
}
.modal_close span::before{transform:rotate(150deg);}
.modal_close span::after{transform:rotate(-150deg);}
.modal_close span:hover{text-decoration:underline;}


/*----- Language -----*/
#langage{position:absolute;right:60px;top:33px;}
#langage_area{position:relative;margin-left:0;}
.lang_open{
	display:block;
	width:14px;
	height:24px;
	padding:0 0 10px;
	border:none;
	background:none;
	border-radius:0;
	cursor:pointer;
	text-decoration:none;
	transition:opacity 0.3s;
	position:relative;
}
.lang_open::after{
	content:'';
	display:block;
	position:absolute;
	bottom:0;
	left:0;
	width:0;
	height:1px;
	background:#2E67B6;
	transition:width 0.3s;
}
.lang_open.active::after{width:100%;}
.lang_txt{
	display:block;
	position:relative;
	height:100%;
	background:url(/img/common/icon_language.svg) top center no-repeat;
	background-size:14px 14px;
	font-size:0;
}
.lang_content{
	display:none;
	position:absolute;
	top:100%;
	right:-16px;
	width:140px;
	background:#111;
	margin-top:30px;
	z-index:100;
}
.lang_list{
	padding:0;
	margin:0;
}
.lang_item{
	list-style:none;
	border-bottom:1px solid #595959;
	margin:0;
}
.lang_item:last-child{border-bottom:none;}
.lang_link{
	display:block;
	padding:11px 15px 12px;
	color:#fff !important;
	text-decoration:none !important;
	font-size:1.2rem;
	line-height:1.7rem;
	transition:background 0.3s;
}
.lang_link:hover{background:rgba(255,255,255,0.2);}
.lang_link span{display:inline-block;position:relative;padding-bottom:3px;}
.lang_link span::after{
	content:'';
	display:block;
	position:absolute;
	bottom:0;
	left:0;
	width:0;
	height:1px;
	background:#fff;
	transition:width 0.3s;
}
.on .lang_link span::after{width:100%;}
.lang_close{
	margin:0;
	padding:4px 20px;
	text-align:center;
	color:#fff;
	font-size:0.9rem;
	font-family:"Prompt", sans-serif;
	cursor:pointer;
	border-top:1px solid #595959;
	transition:background 0.3s;
}
.lang_close:hover{background:rgba(255,255,255,0.2);}
.lang_close span{display:inline-block;position:relative;padding:0 0 0 22px;}
.lang_close span::before,.lang_close span::after{
	content:'';
	display:block;
	position:absolute;
	z-index:10;
	left:0;
	margin:auto;
	width:17px;
	height:1px;
	background:#fff;
	transition:all 0.3s;
}
.lang_close span::before{top:8px;transform:rotate(160deg);}
.lang_close span::after{top:8px;transform:rotate(-160deg);}

/*----- Insta -----*/
#h_insta{position:absolute;right:25px;top:32px;}
#h_insta a{
	display:block;
	width:16px;
	height:24px;
	padding:0 0 8px;
	border:none;
	background:url(/img/common/icon_instagram.svg) 0 0 no-repeat;
	border-radius:0;
	cursor:pointer;
	text-decoration:none;
	transition:opacity 0.3s;
	position:relative;
}
#h_insta a::after{
	content:'';
	display:block;
	position:absolute;
	bottom:0;
	left:0;
	width:0;
	height:1px;
	background:#2E67B6;
	transition:width 0.3s;
}
#h_insta a:hover::after{width:100%;}
#h_insta a span{display:none;}

/* ヘッダーニュース */
.header_news{
	position:relative;
}
.header_news_box{
	display:flex;
	align-items:stretch;
	justify-content:space-between;
	position:relative;
	padding-right:73px;
	min-height:70px;
	background:#2E67B6;
	color:#fff !important;
}
.header_news_h{
	display:flex;
	width:128px;
	justify-content:center;
	align-items:center;
	background:#111;
	font-family:"Poppins", sans-serif;
	font-weight:600;
	font-size:1.8rem;
	margin:0 !important;
}
.headernews_list{
	margin:0 !important;
	width:calc(100% - 128px);
	display:flex;
	flex-direction:column;
	justify-content:center;
	min-height:70px;
	overflow:hidden;
	padding:12px 0 !important;
}
.headernews_list li{
	display:flex !important;
	align-items:center;
	padding:0 0 0 20px;
	margin:0 0 15px !important;
	list-style:none !important;
}
.headernews_list li:last-child{margin-bottom:0 !important;}
.header_news_link{
	display:inline;
	color:#fff !important;
	text-decoration:none !important;
	font-size:1.4rem;
	line-height:1.3;
	padding-right:20px;
	background:url(/img/common/arrow_r_white.svg) center right no-repeat;
}
.header_news_link:hover{text-decoration:underline !important;}

.header_news_close{
	position:absolute;
	right:0;
	top:0;
	bottom:0;
	margin:auto;
	width:70px;
	height:70px;
}
.header_news_close a{
	display:block;
	position:relative;
	width:70px;
	height:70px;
	font-size:0;
	transition:opacity 0.3s;
}
.header_news_close a::before,.header_news_close a::after{
	content:'';
	display:block;
	position:absolute;
	z-index:10;
	right:24px;
	top:33px;
	width:28px;
	height:1px;
	background:#fff;
	transition:all 0.3s;
}
.header_news_close a::before{transform:rotate(150deg);}
.header_news_close a::after{transform:rotate(-150deg);}
.header_news_close a:hover{opacity:0.7;}



/*----- footer -----*/
#footer_cta{
	background:url(/img/index/bg_contact.jpg) center no-repeat;
	background-size:cover;
	color:#fff;
}
.content_box{
	max-width:1560px;
	margin:auto;
	padding:0 30px;
}
#footer_cta .content_box{display:flex;justify-content:space-between;padding:0 30px;}
.footer_cta_h{padding:96px 0 0 29px;}
.footer_cta_h h2{
	font-size:1.6rem;
	font-weight:bold;
	margin:0;
	padding:0;
}
.footer_cta_h h2::before{
	content:attr(data-en);
	display:block;
	font-family:"Prompt", sans-serif;
	font-size:7.4rem;
	line-height:1;
	position:relative;
	top:auto;
	background:none;
	width:auto;
	height:auto;
	left:-4px;
	font-weight:600;
}
.footer_cta_h h2::after{display:none;}
.footer_cta_txt{padding:109px 30px 99px 0;}
.footer_cta_txt p{font-size:1.4rem;margin:0 0 7px;}
.footer_cta_content{display:flex;margin-top:4px;}
.footer_cta_box{
	position:relative;
	padding-right:30px;
	font-weight:bold;
	line-height:1.5;
}
.footer_cta_box:first-child{margin-right:36px;}
.footer_cta_box:first-child::after{
	content:'';
	display:block;
	width:1px;
	height:26px;
	background:#fff;
	position:absolute;
	right:0;
	top:10px;
}
.footer_tel_txt{
	font-family:"Lato", sans-serif;
	font-size:2.4rem;
	display:inline-block;
	margin-right:5px;
}
.footer_tel[href^="tel:"]{
	font-family:"Lato", sans-serif;
	font-size:3.2rem;
	color:#fff !important;
	text-decoration:none !important;
	pointer-events:none;
}
.footer_web{
	display:block;
	padding:0 44px 9px 0;
	position:relative;
	font-size:2.6rem;
	color:#fff !important;
	text-decoration:none !important;
}
.footer_web::before{
	content:'';
	display:block;
	width:18px;
	height:4px;
	background:url(/img/common/arrow_r_white.svg) center no-repeat;
	position:absolute;
	right:14px;
	top:21px;
	transition:right .3s;
}
.footer_web::after{
	content:'';
	display:block;
	position:absolute;
	bottom:0;
	left:0;
	width:0;
	height:1px;
	background:#fff;
	transition:width 0.3s;
}
.footer_content{background:#111;color:#fff;padding:96px 0;}
.footer_content .content_box{display:flex;justify-content:space-between;padding:0 60px;}
.footer_content_txt{width:308px;}
.f_logo_img{display:block;margin-bottom:14px;}
.footer_content_txt address{
	line-height:1.9rem;
	font-size:1.3rem;
	margin-top:36px;
}
.footer_content_txt address [href^="tel:"]{color:#fff !important;}

.footer_content_nav{
	display:flex;
	flex-wrap:wrap;
	flex:1;
	padding-top:3px;
}
.f_menu_list{
	padding:0;
	width:calc(100% / 3);
	margin:0;
}
.f_menu_list:last-child{padding-left:8px;}
.f_menu_item{
	list-style:none;
	font-size:1.5rem;
	line-height:2.1rem;
	margin:0 0 40px;
}
.f_menu_item:last-child{margin-bottom:0;}
.f_menu_link{
	font-weight:bold;
	text-decoration:none !important;
	color:#fff !important;
	text-decoration:none !important;
}
.f_menu_link:hover{text-decoration:underline !important;}
.f_child_list{
	padding:0;
	margin:13px 0 0;
}
.f_child_item{
	list-style:none;
	font-size:1.3rem;
	line-height:2.52rem;
	margin-bottom:0;
}
.f_child_item:last-child{margin-bottom:0;}
.f_child_top{display:none;}
.f_child_link{
	color:#aaa !important;
	text-decoration:none !important;
}
.f_child_link:hover{text-decoration:underline !important;}

#return{
	position:relative;
	z-index:1;
}
.return_btn{
	display:block;
	position:fixed;
	right:20px;
	bottom:20px;
	width:34px;
	height:34px;
	background:none;
	border:1px solid #888;
	text-decoration:none;
	opacity:0;
	visibility:hidden;
	text-decoration:none !important;
	transition:background 0.3s,border .3s, opacity 0.3s, visibility 0.3s;
}
.return_btn::after{
	content:'';
	display:block;
	position:absolute;
	top:4px;
	right:0;
	bottom:0;
	left:0;
	margin:auto;
	width:7px;
	height:7px;
	border-top:1px solid #888;
	border-right:1px solid #888;
	transform:rotate(-45deg);
	transition:border .3s;
}
.return_txt{display:none;}
.return_btn.display{
	opacity:1;
	visibility:visible;
}
.return_btn.pos_end{
	position:absolute;
	bottom:20px;
	opacity:1;
	visibility:visible;
}


.footer_b{
	max-width:1620px;
	padding:11px 60px 12px;
	margin:auto;
	display:flex;
	align-items:center;
	justify-content:space-between;
}
.footer_sub_list{
	display:flex;
	margin:0;
	padding:0;
}
.footer_sub_item{
	list-style:none;
	margin-right:25px;
}
.footer_sub_link{
	font-size:1.2rem;
	text-decoration:none;
	line-height:1.7rem;
}
.copyright{margin:0;padding:0;}
.copy_txt{font-size:1.2rem;line-height:1.7rem;}

#index_wrap{padding-top:80px;}

/*----- main -----*/
a, a:visited{
	color:#333;
	text-decoration:underline;
}
a[target="_blank"]{
	padding-left:35px;
	background:url(/img/common/icon_popup.svg) no-repeat center left;
}
a.non[target="_blank"]{
	padding-left:0;
	background:none;
}
a[href$=".doc"], a[href$=".docx"]{
	padding-left:35px;
	background:url(/img/common/icon_word.svg) no-repeat center left;
}
a[href$=".xls"], a[href$=".xlsx"]{
	padding-left:35px;
	background:url(/img/common/icon_excel.svg) no-repeat center left;
}
a[href$=".pdf"],a.pdf{
	padding-left:35px;
	background:url(/img/common/icon_pdf.svg) no-repeat center left;
}
a.none[href$=".pdf"]{
	padding-left:0;
	background:none;
}
[href^="tel:"]{
	color:#333 !important;
	pointer-events:none;
	text-decoration:none !important;
}

img{
	display:block;
	max-width:100%;
	width:auto;
	height:auto;
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;
}
a img{pointer-events:none;}


.menu_link:hover::after,
.menu_sub_link:hover::after,
.modal_open:hover::after,
.lang_open:hover::after,
.footer_web:hover::after{width:100%;}
.return_btn:hover{background:#2E67B6;border-color:#2E67B6;}
.return_btn:hover::after{
	border-top:1px solid #fff;
	border-right:1px solid #fff;
}
.footer_web:hover::before{right:0;}
.footer_sub_link:hover{text-decoration:underline;}

a:hover{text-decoration:none;}

@media screen and (min-width:1200px) and (max-width:1390px){
/*----- header -----*/
#menu{justify-content:flex-end;}
#nav{padding-right:310px;}
}

@media screen and (min-width:768px) and (max-width:1260px){
/*----- header -----*/
#header_area{padding:15px 24px 12px;}
#menu{justify-content:flex-end;}
#nav{padding-right:0;}
.menu_list{margin-top:24px;}
.menu_sub_link{padding-bottom:2px;}
.menu_sub{top:12px;}
.menu_item:last-child{margin-right:0;}
#search,#langage,#h_insta{top:13px;}
#h_insta a{width:16px;background-size:16px auto;height:19px;padding-bottom:2px;}
.modal_open,.lang_open{width:16px;height:19px;padding-bottom:3px;}
.modal_txt,.lang_txt{background-size:16px auto;}
.dd_box_wrap{padding:0;}
.dd_product_content{gap:30px;}
.dd_child_list{grid-template-columns:repeat(3,1fr);}
.dropmenu{margin:24px 0 0;}
.menu_sub{right:131px;}

/*----- footer -----*/
.f_menu_list:not(:last-child){padding-right:15px;}
}

@media screen and (min-width:768px) and (max-width:1200px){
#footer_cta .content_box{padding:0;}
.footer_content .content_box{padding:0 30px;}
.footer_b{padding:11px 30px 12px;}
.footer_cta_box:nth-child(2){padding-right:0;}
}

@media screen and (min-width:768px) and (max-width:1024px){
#footer_cta .content_box,.footer_content .content_box{display:block;padding:0 30px;}
.footer_cta_h{padding:96px 0 30px;}
.footer_cta_txt{padding-top:0;}
.footer_content_txt{width:auto;margin-bottom:40px;}
}


@media screen and (max-width:900px){
.fixed #wrapper{
	position:fixed;
	top:0;
	right:0;
	bottom:0;
	left:0;
}

a[target="_blank"]{
	padding-left:30px;
	background-size:20px auto;
	background-position:0 5px;
}
.pc_size{display:none !important;}
.sp_size{display:block !important;}


/*----- header -----*/
#header_area{padding:0;}
#logo{top:12px;left:14px;}
.logo_link, .logo_img{max-width:110px;}

#toggle{display:block;float:right;}
.toggle_btn{
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	border:none;
	width:76px;
	height:58px;
	font-size:0;
	text-decoration:none;
	border-radius:0;
	background:none;
}
.toggle_txt{
	position:relative;
	display:block;
	width:76px;
	height:58px;
	background:none;
}
.toggle_btn::before, .toggle_btn::after, .toggle_txt::before{
	content:'';
	display:block;
	position:absolute;
	z-index:10;
	left:0;
	right:0;
	margin:auto;
	width:30px;
	height:3px;
	background:#2E69B5;
	transition:all 0.3s;
}
.toggle_btn::before{top:20px;}
.toggle_btn::after{top:36px;}
.toggle_txt::before{top:28px;}
.toggle_btn.open::before{
	top:28px;
	transform:rotate(155deg);
}
.toggle_btn.open::after{
	top:28px;
	transform:rotate(-155deg);
}
.open .toggle_txt::before{
	opacity:0;
	visibility:hidden;
}
.menu_dis{display:none !important;}
#menu{
	clear:both;
	background:#111;
	display:block;
	position:fixed;
	z-index:1500;
	top:var(--menu-top, 58px);
	right:0;
	bottom:0;
	left:0;
	width:100%;
	height:100%;
	overflow:auto;
	-webkit-overflow-scrolling:touch;
	padding-bottom:100px;
}
.dropmenu{
	display:block;
	margin:0 auto;
}
.drawer-dropdown{
	margin:0 !important;
	border-bottom:1px solid #595959;
}
.drawer-dropdown .menu_top{
	display:block;
	width:100%;
	padding:15px 20px 12px;
	color:#fff !important;
	font-size:1.4rem;
	font-weight:normal;
	text-align:left;
}
.drawer-dropdown button.menu_top::before,.drawer-dropdown button.menu_top::after{
	position:absolute;
	content:'';
	width:11px;
	height:1px;
	background:#fff;
	top:0;
	bottom:0;
	right:20px;
	left:auto;
	margin:auto;
	transition:transform 0.3s;
}
.drawer-dropdown button.menu_top::after{transform:rotate(90deg);}
.drawer-dropdown button.menu_top.open::after{transform:rotate(0);}
.h_child_list{
	margin:0;
	padding:0 20px;
	background:#444;
}
.h_child_item{
	border-bottom:1px solid #595959;
	list-style:none;
	margin:0 !important;
}
.h_child_item:last-child{border-bottom:none;}
.h_child_top{
	display:block;
	padding:10px 20px 11px 0;
	font-size:1.3rem;
	color:#fff !important;
	text-decoration:none !important;
	position:relative;
}

.h_child_link{
	display:block;
	padding:9px 20px 10px 24px;
	font-size:1.3rem;
	color:#fff !important;
	text-decoration:none !important;
	position:relative;
}
.h_child_link span{
	display:inline-block;
	position:relative;
}
.h_child_link span::after{
	content:'';
	display:block;
	position:absolute;
	bottom:0;
	left:0;
	width:0;
	height:2px;
	background:#2E67B6;
	transition:width 0.3s;
}
.h_child_link:hover span::after{width:100%;}
.h_child_item.on .h_child_link span::after{width:100%;}

#search{top:21px;right:159px;}
#langage{top:21px;right:121px;}
#h_insta{top:21px;right:83px;}
#h_insta a{width:18px;background-size:18px auto;}
.modal_open,.lang_open{width:18px;height:28px;}
.modal_txt,.lang_txt{background-size:18px auto;}
.lang_content{right:auto;margin-top:10px;left:-1px;}

.menu_sub{
	position:relative;
	top:auto;
	right:auto;
	display:block;
}
.menu_sub_list{display:block;}
.menu_sub_item{margin:0 !important;border-bottom:1px solid #595959;}
.menu_sub_item:last-child{border-bottom:none;}
.menu_sub_link{
	display:block;
	padding:15px 20px;
	font-size:1.4rem;
	color:#fff !important;
	text-decoration:none !important;
	position:relative;
}
.menu_sub_link::after{display:none;}
.search_txt{
	padding:11px 56px 12px 15px;
	font-size:1.6rem;
}
.search_btn{
	width:56px;
	height:47px;
}
#index_wrap{padding-top:58px;}

/* ヘッダーニュース */
.header_news_h{display:none;}
.headernews_list{
	width:auto;
	min-height:70px;
	padding-right:0 !important;
}
.header_news_link{
	font-size:1.2rem;
	line-height:1.2;
}
.dropdown_parent{display:none;}

/*----- footer -----*/
#footer_cta .content_box{padding:0 30px 77px;display:block;}
.footer_cta_h{padding:75px 0 0 0;}
.footer_cta_h h2{font-size:1.3rem;}
.footer_cta_h h2::before{
	font-size:4.2rem;
	left:-2px;
}
.footer_cta_txt{padding:0;margin-top:39px;}
.footer_cta_txt p{font-size:1.3rem;margin:0;line-height:2rem;}
.footer_cta_content{display:block;margin-top:48px;}
.footer_cta_box{
	padding-right:0;
}
.footer_cta_box:first-child{margin:0 0 19px;padding-bottom:16px;}
.footer_cta_box:first-child::after{
	width:100%;
	height:1px;
	right:0;
	top:auto;
	bottom:0;
}
.footer_tel_txt{font-size:2rem;}
.footer_tel[href^="tel:"]{font-size:2.8rem;}
.footer_web{
	display:inline-block;
	padding:0 44px 9px 0;
	position:relative;
	font-size:2.2rem;
}
.footer_web::before{
	right:14px;
	top:9px;
}

.footer_content{padding:50px 0 0;}
.footer_content .content_box{display:block;justify-content:space-between;padding:0;}
.footer_content_txt{width:auto;padding:0 20px 27px;}
.f_logo_img{display:block;margin:0 0 10px;}
.footer_content_txt address{
	line-height:1.7rem;
	font-size:1.2rem;
	margin-top:27px;
}

.footer_content_nav{
	display:block;
	padding-top:0;
}
.f_menu_list{width:auto;padding-right:0;}
.f_menu_list:not(:last-child){padding-right:0;}
.f_menu_list:last-child{padding-left:0;}
.f_menu_item{
	padding:0;
	margin:0 !important;
	border-top:1px solid #595959;
}
.f_menu_item:last-child{margin-bottom:0;}
.f_menu_link{
	display:block;
	padding:16px 20px;
	color:#fff !important;
	font-size:1.4rem;
	line-height:2rem;
	font-weight:normal;
	position:relative;
}
.f_menu_parent::before,.f_menu_parent::after{
	position:absolute;
	content:'';
	width:11px;
	height:1px;
	background:#fff;
	top:0;
	bottom:0;
	right:20px;
	left:auto;
	margin:auto;
	transition:transform 0.3s;
}
.f_menu_parent::after{transform:rotate(90deg);}
.f_menu_item.open .f_menu_parent::after{transform:rotate(0);}

.f_menu_link:hover{text-decoration:underline !important;}

.f_child_list{
	display:none;
	margin:0;
	padding:0 20px;
	background:#444;
}
.f_child_item{
	border-bottom:1px solid #595959;
	list-style:none;
	margin:0 !important;
}
.f_child_item:last-child{border-bottom:none;}
.f_child_top{
	display:block;
	padding:10px 20px 11px 0;
	font-size:1.3rem;
	color:#fff !important;
	text-decoration:none !important;
	position:relative;
}

.f_child_link{
	display:block;
	padding:9px 20px 10px 24px;
	font-size:1.3rem;
	color:#fff !important;
	text-decoration:none !important;
	position:relative;
}



.footer_b{
	padding:0;
	display:block;
}
.footer_sub_list{display:block;}
.footer_sub_item{
	list-style:none;
	margin:0 !important;
	border-bottom:1px solid #ccc;
}
.footer_sub_link{
	display:block;
	padding:16px 20px;
}
.copyright{margin:0;padding:6px 20px 16px;text-align:center;}


/*----- main -----*/
[href^="tel:"]{
	text-decoration:underline;
	pointer-events:auto;
}

}

@media screen and (max-width:599px){
.modal_content{
	right: 0;
	left: 0 !important;
	margin: auto;
	max-width: calc(100% - 40px);
}
.footer_tel[href^="tel:"]{pointer-events:all !important;}
}


/*----- 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 -----*/