@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,"游ゴシック","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 ----------*/
: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;}
a:hover{transition : 0.3s;}

/*---------- header ----------*/
#header_wrap{
	display:flex;
	align-items:center;
	justify-content:space-between;
	max-width:1366px;
	padding:15px 20px;
	margin:auto;
}
.logo_link, .logo_img{
	display:block;
	width:216px;
}
#toggle,.smp_sns{display:none;}
#menu,#footer_wrap #menu{
	display:flex;
	align-items:center;
}
.menu_list,#footer_wrap .menu_list {
	display:flex;
	padding:0;
	margin:10px 0 0;
}
.menu_item,#footer_wrap .menu_item {
	list-style:none;
	margin-right:20px;
}
.menu_link,#footer_wrap .menu_link{
    font-family: franklin-gothic-atf, sans-serif;
    font-size: 119%;
	position:relative;
	display:block;
	padding-bottom:5px;
	color:#333;
	font-weight: 600;
	text-decoration:none;
	transition:color 0.3s;
	letter-spacing: 0;
}
.menu_link:hover, .on .menu_link{color:#111;}
.menu_link::after{
	content:'';
	display:block;
	position:absolute;
	bottom:0;
	left:0;
	width:0;
	height:3px;
	background:#111;
	transition:width 0.3s;
}
.menu_link:hover::after, .on .menu_link::after{width:100%;}

.sns .menu_list li+li,.footer_sns .menu_list li+li{
	margin-left: 10px;
}

/*---------- footer ----------*/
#footer_wrap{
	border-top:1px solid #ccc;
	background: #111;
	color:#fff;
}

#footer_wrap #menu{
	display:flex;
	justify-content:space-between;
	max-width:1140px;
	padding:35px 20px;
	margin:auto;
}
#footer_wrap .menu_link{
	color:#fff;
}
#footer_wrap .menu_link:hover::after {
	width:100%;
	background: #fff;
}
#return{
	position:relative;
	z-index:1000;
}
.return_btn{
	display:block;
	position:fixed;
	right:20px;
	bottom:20px;
	width:60px;
	height:60px;
	background:#000;
	text-decoration:none;
	transition:background 0.3s;
}
.return_btn:hover{background:#666;}
.return_btn::after{
	content:'';
	display:block;
	position:absolute;
	top:8px;
	right:0;
	bottom:0;
	left:0;
	margin:auto;
	width:13px;
	height:13px;
	border-top:1px solid #fff;
	border-right:1px solid #fff;
	transform:rotate(-45deg);
}
.return_txt{display:none;}
#f_submenu{
	background: #fff;
	color:#111;
}

.f_sub_list{
	display:flex;
	padding:0;
}
.f_sub_item{
	list-style:none;
	margin-right:15px;
}
.f_sub_link{
	color:#fff;
	font-size:1.2rem;
	letter-spacing:0;
	text-decoration:none;
}
.f_sub_link:hover{text-decoration:underline;}
#copyright {padding: 20px;}
#copyright p{text-align: center;}
.copy_txt{font-size:1.2rem;}


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

/*---------- header ----------*/
.logo_link, .logo_img {
    width: 160px;
}
.menu_item {
	margin-right: 15px;
}
.menu_link{
	font-size: 110%;
}

/*----- search -----*/
.modal_open{
	width:38px;
	height:38px;
}
.modal_txt{padding:4px 0;}


/*---------- footer ----------*/
#return a{
	width:46px;
	height:46px;
}

}


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

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


/*---------- header ----------*/
#header_wrap{padding: 0;}
.logo_link{
    width: 160px;
    margin: 10px 20px;
}
.sns{display: none};
.smp_sns{
	display: block;
}
#toggle{display:block;}
.toggle_btn{
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	width:60px;
	height:60px;
	font-size:0;
	text-decoration:none;
}
.toggle_txt{
	position:relative;
	display:block;
	width:60px;
	height:60px;
	background:#000;
}
.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:#fff;
	transition:all 0.3s;
}
.toggle_btn::before{top:22px;}
.toggle_btn::after{top:30px;}
.toggle_txt::before{top:38px;}
.toggle_btn.open::before{
	top:26px;
	transform:rotate(135deg);
}
.toggle_btn.open::after{
	top:26px;
	transform:rotate(-135deg);
}
.open .toggle_txt::before{
	opacity:0;
	visibility:hidden;
}
#menu_box{
	display:block;
	position:fixed;
	z-index:50;
	top:60px;
	right:0;
	bottom:0;
	left:0;
	width:100%;
	height:100%;
	overflow:auto;
	-webkit-overflow-scrolling:touch;
}
.menu_dis{display:none !important;}
#menu{
	display:block;
	height:100%;
	background:#000;
}
.menu_list{
	display:block;
	margin:0 auto 30px;
	padding-top: 90px;
}
.menu_item{
	margin:0;
}
.menu_link{font-size:2.4rem;}
.menu_link, #footer_wrap .menu_link{
	display: table;
	padding:10px 0;
	color:#fff;
	text-align: center;
	margin: 10px auto;
}
.menu_link:hover, .on .menu_link {
    color: #FFF;
}
.menu_link::after{background: #fff;}
#footer_wrap .menu_link::after{background: none;}
/*----- search -----*/
#search{
	position:relative;
	z-index:200;
	left:0;
	right:0;
	margin:0 auto;
	width:calc(100% - 60px);
}
.modal_open{display:none;}
.modal_content{
	position:relative;
	display:block;
	width:100%;
	border-radius:10px;
	overflow:hidden;
}
.search_txt{
	padding:11px 56px 12px 15px;
	font-size:1.6rem;
}
.search_btn{
	width:56px;
	height:47px;
}


/*---------- footer ----------*/
#return a{
	right:10px;
	width:46px;
	height:46px;
}
#footer_wrap #menu {
	display: block;
	justify-content: center;
}
#f_submenu{
	display:block;
	padding:0;
}
#footer_wrap .menu_list {display: block;}
#footer_wrap .menu_list .menu_item{margin: 0;}
#footer_wrap .footer_sns .menu_list{
	display: flex;
	justify-content: center;
}
.f_sub_list{
	margin:auto;
	border-bottom:1px solid #ccc;
}
.f_sub_item{
	width:50%;
	margin:0;
}
.f_sub_item:first-child{border-right:1px solid #ccc}
.f_sub_link{
	display:block;
	padding:10px 0;
	text-align:center;
}
#copyright{padding:10px 0;}
#copyright p{margin:auto;}
.copy_txt{
	display:block;
	text-align:center;
}

}



@media screen and (max-width:414px){
}
/*----- Message for IE -----*/
.for_ie{
	position:relative;
	background:#f00;
	z-index:9999;
	border-bottom:2px solid #fff;
}
.ie_wrap{
	max-width:1140px;
	padding:25px 20px 15px;
	margin:auto;
}
.ie_txt{
	margin-bottom:20px;
	color:#fff;
	font-size:1.4rem;
	letter-spacing:1.4px;
	line-height:2rem;
}
.download_wrap{overflow:hidden;}
.download_link{
	float:left;
	display:block;
	width:260px;
	padding:11px 25px 12px;
	margin:0 15px 15px 0;
	background:url(/img/common/popup_white.svg) no-repeat center right 10px/15px !important;
	border:1px solid #fff;
	color:#fff !important;
	font-size:1.4rem;
	letter-spacing:1.4px;
	text-align:center;
	text-decoration:none;
}
.download_link:hover{
	background-color:#fff !important;
	background-image:url(/img/common/popup_red.svg) !important;
	color:#f00 !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 ----------*/