@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,"游ゴシック","Yu Gothic",Yu Gothic,"Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ ゴシック";line-height:1.5;color:#333;height:100%;position:relative;letter-spacing:0.1em;overflow-wrap:break-word;word-wrap:break-word;}
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{font-family:YakuHanJP,'Noto Sans CJK JP','Noto Sans JP',sans-serif,"游ゴシック","Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ ゴシック";}
input{font-family:YakuHanJP,'Noto Sans CJK JP','Noto Sans JP',sans-serif,"游ゴシック","Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ ゴシック";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;}
input[type="button"],input[type="submit"],input[type="email"]{-webkit-appearance:none;border-radius:0;}
select::-ms-expand{display:none;}

*, *::before, *::after{box-sizing:border-box;}
.cf::after{content:"";clear:both;display:block;}
/*---------- reset end ----------*/


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

#wrapper{overflow:hidden;}


/*---------- header ----------*/
#header_wrap{
	display:flex;
	align-items:center;
	justify-content:space-between;
	max-width:1140px;
	padding:25px 20px;
	margin:auto;
}
.logo, .logo_img{
	display:block;
	width:238px;
}
.logo_img{border-radius:0;}
#toggle{display:none;}
#menu nav{
	display:flex;
	align-items:center;
}
.menu_list{
	display:flex;
	padding:0;
	margin:11px 0 0;
}
.menu_item{
	position:relative;
	list-style:none;
	margin:0 0 0 28px;
	line-height:1.5;
}
.menu_link{
	position:relative;
	display:block;
	padding-bottom:8px;
	color:#333 !important;
	font-size:1.7rem;
	font-weight:bold;
	letter-spacing:1.7px;
	text-decoration:none;
	overflow:hidden;
	transition:color 0.3s;
}
.menu_item:hover .menu_link,
.on .menu_link{
	color:#BF1834 !important;
}
.menu_link::after{
	content:'';
	display:block;
	position:absolute;
	bottom:0;
	left:0;
	width:100%;
	height:3px;
	background:#BF1834;
	transform:translateX(-101%);
	transition:transform 0.3s;
}
.menu_item:hover .menu_link::after,
.on .menu_link::after{
	transform:translateX(0);
}
.item_lang{margin-top:4px;}
.item_lang{margin-left:50px;}
.link_lang{
	padding:0 0 0 20px;
	background:url(/img/common/icon_language.svg) no-repeat center left;
	color:#333 !important;
	font-size:1.3rem !important;
	font-weight:normal;
	letter-spacing:1.3px !important;
}
.link_lang:hover{
	background-image:url(/img/common/icon_language_red.svg);
	text-decoration:underline;
}
.link_lang::after{display:none;}

.drop_list{
	position:absolute;
	z-index:1;
	top:100%;
	left:0;
	width:200px;
	padding:0;
	margin:0;
	background:#3A3A3A;
	opacity:0;
	visibility:hidden;
	transition:opacity 0.3s, visibility 0.3s;
}
.menu_item:hover .drop_list{
	opacity:1;
	visibility:visible;
}
.drop_item{
	list-style:none;
	margin:0 !important;
}
.drop_item:not(:last-child){border-bottom:1px solid rgba(204,204,204,0.3);}
.drop_item.parent{display:none;}
.drop_link{
	display:block;
	padding:11px 14px 12px;
	color:#fff !important;
	font-size:1.5rem;
	letter-spacing:1.5px;
	text-decoration:none;
	transition:background 0.3s;
}
.drop_link:hover{background:rgba(204,204,204,0.3);}
.now .drop_link{background:#BF1834;}


/*---------- footer ----------*/
#return{
	position:relative;
	z-index:1000;
}
.return_btn{
	display:block;
	position:fixed;
	right:30px;
	bottom:20px;
	width:54px;
	height:54px;
	background:#BF1834 url(/img/common/arrow_top.svg) no-repeat center;
	border-radius:50%;
	text-decoration:none;
	transition:background-color 0.3s;
}
.return_btn:hover{background-color:#A2182F;}
.return_txt{display:none;}

.footer_area{
	max-width:1140px;
	padding:0 20px;
	margin:auto;
}
.f_menu{
	display:flex;
	flex-wrap:wrap;
	padding:54px 0 43px;
	border-bottom:1px solid #ccc;
}
.f_menu_list{
	padding:0 20px 0 0;
	margin:0;
}
.f_menu_list:first-child{width:25.5%;}
.f_menu_list:nth-child(2){width:26.5%;}
.f_menu_list:nth-child(3){width:27.5%;}
.f_menu_list:last-child{width:20.5%;}
.f_menu_item{
	list-style:none;
	line-height:1.5;
}
.f_menu_item:not(:last-child){margin-bottom:40px;}
.f_menu_link,
.f_child_link{
	color:#333 !important;
	text-decoration:none;
}
.f_menu_link:hover,
.f_child_link:hover{
	text-decoration:underline;
}
.f_menu_link{font-weight:bold;}
.f_child_list{
	padding:0;
	margin:13px 0 0;
}
.f_child_item{
	position:relative;
	padding-left:9px;
	margin-bottom:4px;
	list-style:none;
	line-height:1.5;
}
.f_child_item::before{
	content:'';
	display:block;
	position:absolute;
	top:4px;
	bottom:0;
	left:0;
	margin:auto;
	width:3px;
	height:1px;
	background:#333;
}
.f_child_item.parent{display:none;}
.f_child_link{
	font-size:1.4rem;
	letter-spacing:1.4px;
}

#f_submenu{
	display:flex;
	justify-content:space-between;
	max-width:1140px;
	padding:13px 0 25px;
	margin:auto;
}
.f_sub_list{
	display:flex;
	align-items:center;
	padding:0;
	margin:0;
}
.f_sub_item{
	position:relative;
	list-style:none;
	margin:0 57px 0 0;
	line-height:1.5;
}
.f_sub_item:not(:last-child)::after{
	content:'';
	display:block;
	position:absolute;
	top:5px;
	right:-28px;
	bottom:0;
	margin:auto;
	width:1px;
	height:13px;
	background:#333;
}
.f_sub_link{
	color:#333;
	font-size:1.3rem;
	letter-spacing:1.3px;
	text-decoration:none;
}
.f_sub_link:hover{text-decoration:underline;}
#copyright{margin:0;}
.copy_txt{
	font-size:1.3rem;
	letter-spacing:1.3px;
}


/*---------- footer/en ----------*/
.en .f_menu_list{width:33.333%;}


@media screen and (min-width:768px) and (max-width:999px){
/*---------- header ----------*/
.logo, .logo_img{width:159px;}
.menu_list{position:relative;}
.menu_item{margin-left:18px;}
.item_lang{margin:2px 0 0 15px;}
.menu_link{
	font-size:1.5rem;
	letter-spacing:1.5px;
}
.link_lang{
	font-size:1.2rem !important;
	letter-spacing:1.2px !important;
}
.drop_link{
	font-size:1.4rem;
	letter-spacing:1.4px;
}
/* ---------footer--------- */
.f_menu{padding:49px 0 38px;}
.f_menu_link{font-size:1.4rem;}
.f_child_link{
	font-size:1.3rem;
	letter-spacing:1.3px;
}

}


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

body{
	-webkit-text-size-adjust:100%;
	-webkit-tap-highlight-color:rgba(0,0,0,0);
	background:#fff;
	width:auto;
}
input,textarea,select{font-size:16px;}
#wrapper.fixed{
	position:fixed;
	top:0;
	right:0;
	bottom:0;
	left:0;
}


/*---------- header ----------*/
#header_wrap{padding:17px 0 18px 20px;}
.logo, .logo_img{width:176px;}
#toggle{display:block;}
.toggle_btn{
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	width:56px;
	height:40px;
	font-size:0;
	text-decoration:none;
}
.toggle_txt{
	position:relative;
	display:block;
	width:56px;
	height:40px;
}
.toggle_btn::before, .toggle_btn::after, .toggle_txt::before{
	content:'';
	display:block;
	position:absolute;
	z-index:10;
	left:0;
	right:0;
	margin:auto;
	width:19px;
	height:2px;
	background:#BF1834;
	border-radius:3px;
	transition:top 0.3s, opacity 0.3s, transform 0.3s;
}
.toggle_btn::before{top:13px;}
.toggle_btn::after{top:27px;}
.toggle_txt::before{top:20px;}
.toggle_btn.open::before{
	top:20px;
	transform:rotate(135deg);
}
.toggle_btn.open::after{
	top:20px;
	transform:rotate(-135deg);
}
.open .toggle_txt::before{
	opacity:0;
	visibility:hidden;
}
#menu_box{
	display:block;
	position:fixed;
	z-index:50;
	top:75px;
	right:0;
	bottom:0;
	left:0;
	width:100%;
	height:100%;
	background:#333;
	overflow:auto;
	-webkit-overflow-scrolling:touch;
}
.menu_dis{display:none !important;}
#menu{
	display:block;
	height:100%;
}
#menu nav{display:block;}
.menu_list{
	display:block;
	padding-bottom:120px;
	margin:0;
}
.menu_item{
	margin:0 !important;
	border-bottom:1px solid #ccc;
}
.menu_link{
	padding:18px 20px;
	color:#fff !important;
	font-size:1.5rem;
	letter-spacing:1.5px;
}
.menu_item:hover .menu_link,
.on .menu_link{
	color:#fff !important;
}
.menu_link:not(.sp_acc)::after{display:none;}
.menu_link::after{
	top:0;
	right:24px;
	bottom:4px;
	left:auto;
	margin:auto;
	width:8px;
	height:8px;
	background:none;
	border-top:2px solid #fff;
	border-right:2px solid #fff;
	transform:rotate(135deg) !important;
	transition:bottom 0.3s, transform 0.3s;
}
.menu_link.open::after{
	bottom:-4px;
	transform:rotate(-45deg) !important;
}
.menu_link span{
	position:relative;
	padding-bottom:5px;
}
.menu_link span::after{
	content:'';
	display:block;
	position:absolute;
	bottom:0;
	left:0;
	width:100%;
	height:3px;
	background:#BF1834;
	opacity:0;
}
.on .menu_link span::after{opacity:1;}
.drop_list{
	display:none;
	position:static;
	width:100%;
	opacity:1;
	visibility:visible;
	transition:none;
}
.drop_item{
	border-top:1px solid #ccc;
	border-bottom:none !important;
	line-height:1.5;
}
.drop_item.parent{display:block;}
.drop_link{
	padding:18px 35px;
	background:#5D5A5A;
}
.parent .drop_link{
	padding:18px 20px;
	font-weight:bold;
}
.link_lang{
	padding-left:40px;
	background-position:center left 20px;
}


/*---------- footer ----------*/
#return{display:none !important;}

.footer_area{padding:0;}
.f_menu{
	display:block;
	padding:0;
	border:none;
}
.f_menu_list{
	width:100% !important;
	padding:0;
}
.f_menu_item{
	margin-bottom:0 !important;
	border-bottom:1px solid #ccc;
}
.f_menu_link{
	position:relative;
	display:block;
	padding:18px 20px;
	font-size:1.5rem;
	letter-spacing:1.5px;
}
.f_menu_link.sp_acc::after{
	content:'';
	display:block;
	position:absolute;
	top:0;
	right:20px;
	bottom:4px;
	left:auto;
	margin:auto;
	width:8px;
	height:8px;
	background:none;
	border-top:2px solid #BF1834;
	border-right:2px solid #BF1834;
	transform:rotate(135deg) !important;
	transition:bottom 0.3s, transform 0.3s;
}
.f_menu_link.open::after{
	bottom:-4px;
	transform:rotate(-45deg) !important;
}
.f_child_list{
	display:none;
	margin:0;
	background:#F5F5F5;
}
.f_child_item{
	padding:0;
	margin:0;
	border-top:1px solid #ccc;
	border-bottom:none !important;
	line-height:1.5;
}
.f_child_item.parent{display:block;}
.f_child_item::before{display:none;}
.f_child_link{
	display:block;
	padding:18px 35px;
}
.parent .f_child_link{
	padding:18px 20px;
	font-weight:bold;
}

#f_submenu{
	display:block;
	padding:0;
}
.f_sub_list{border-bottom:1px solid #ccc;}
.f_sub_item{
	width:50%;
	margin:0 !important;
}
.f_sub_item:not(:last-child)::after{right:0;}
.f_sub_link{
	display:block;
	padding:20px 0 21px;
	font-size:1.2rem;
	letter-spacing:1.2px;
	text-align:center;
}
#copyright{padding:15px 0 20px;}
#copyright p{margin:auto;}
.copy_txt{
	display:block;
	font-size:1.2rem;
	letter-spacing:1.2px;
	text-align:center;
}

}


/*---------- print ----------*/
@media print{
	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 ----------*/