body{margin:0;padding:0;line-height:1.5rem;font-family:sans-serif;font-size:14px;}
p,table,dl,ul,ol,hr,
h1,h2,h3,h4,h5,h6{margin-top:1rem;margin-bottom:1rem;}
img{max-width:100%;height:auto;vertical-align:bottom;border:none;}

a img{transition:0.3s;}
a:hover img{opacity:0.8;}

.center{margin-left:auto;margin-right:auto;text-align:center;}
.ta_r{text-align:right;}
.ta_l{text-align:left;}
.ofh{overflow:hidden;}
.ofa{overflow:auto;}
.tofh{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;}
.w1px{width:1px;}
.w100{width:100%;box-sizing:border-box;}
.wsnr{white-space:nowrap;}
.mincho{font-family:serif;}
.dpn{display:none;}
.hide_txt{
	text-indent:100%;
	white-space:nowrap;
	overflow:hidden;
}

.inner_w,
.inner{max-width:900px;margin:auto;box-sizing:border-box;}
.inner{padding:0 8px;}
.inner>*{overflow:hidden;}



.content{
	margin-bottom:80px;
}
.a_btn{
	display:table;
	color:#fff;
	background:#000;
	text-decoration:none;
	padding:10px 40px;
	border-radius:3px;
	box-shadow:0 2px 2px rgba(0,0,0,0.4);
}


#header_wrapper{
	background:#fff;
	box-shadow:0 5px 10px rgba(0,0,0,0.4);
	position:fixed;
	width:100%;
	top:0;
	left:0;
	z-index:1;
}
#header{
	text-align:center;
}
#header a{
	text-decoration:none;
	color:inherit;
}
#header .logo{
	width:60px;
	vertical-align:middle;
}
body{
	margin-top:100px;
}
#header .hdr{
	line-height:100px;
	margin:0;
	font-size:26px;
	display:inline-block;
}


#sel_lang{
	background-image:url('../img/sel_lang.png');
	background-repeat:no-repeat;
	background-color:#fff;
	color:#444;
}


#visual{
	background-position:center;
	background-repeat:no-repeat;
	background-size:cover;
	display:flex;
	align-items:center;
	justify-content:center;
}
#visual .txt{
	text-align:center;
	color:#fff;
}


#product_wrapper .product .txt,
#productslist .lists .txt{
	padding:20px;
}


#product_wrapper .product .subhdr{
	font-size:25px;
	line-height:40px;
}
#product_wrapper .product .subhdr2{
	font-size:20px;
	line-height:35px;
}
#product_wrapper .product .subhdr3{
	font-size:18px;
	line-height:35px;
}
#product_wrapper .product .wrp{
	margin-bottom:50px;
}
#product_wrapper .product .tbl{
	margin-bottom:40px;
}
#product_wrapper .product .tbl p{
	margin:0;
}
#product_wrapper .product .tbl .ttl{
	font-size:18px;
}
#product_wrapper .product .tbl.about .dscr{
	color:#777;
}
#product_wrapper .product .tbl.about th,
#product_wrapper .product .tbl.about .icn img{
	width:24px;
}
#product_wrapper .product .tbl.timeline td,
#product_wrapper .product .tbl.timeline th{
	vertical-align:top;
	padding:10px;
}
#product_wrapper .product .tbl.timeline th{
	width:30px;
}
#product_wrapper .product .tbl.timeline .icn img{
	width:16px;
}

#product_wrapper .product .tbl.timeline .dot{
	background:#24a;
	padding:8px;
	display:inline-flex;
	border-radius:50%;
	position:relative;
	margin-bottom:70px;
}
#product_wrapper .product .tbl.timeline .dot::after{
	content:"";
	top:36px;
	left:14px;
	height:78px;
	width:3px;
	background:inherit;
	position:absolute;
	opacity:0.4;
}
#product_wrapper .product .tbl.timeline .dot.none::after{
	top:22px;
	left:7px;
	height:85px;
}
#product_wrapper .product .tbl.timeline .dot.start{
	background:#29f;
}
#product_wrapper .product .tbl.timeline .dot.local{
	background:#f90;
}
#product_wrapper .product .tbl.timeline .dot.site{
	background:#29f;
	margin-bottom:0;
}
#product_wrapper .product .tbl.timeline .dot.site::after{
	content:none;
}
#product_wrapper .product .warn{
	color:#999;
}
#product_wrapper .product .warn img{
	width:14px;
	vertical-align:middle;
}
#product_wrapper .product .anc{
	margin:70px 0;
}


.q_splitter .contents .icn{
	width:14px;
	vertical-align:middle;
}
.q_splitter{
	display:flex;
	margin:50px 0;
}
.q_splitter .contents>div{
	display:none;
}
.q_splitter .contents .current{
	display:block;
}
.q_splitter .tabs{
	border-right:1px solid #eee;
}
.q_splitter .contents{
	
}
.q_splitter .tabs>div{
	text-align:center;
	cursor:pointer;
	color:#aaa;
	white-space:nowrap;
}
.q_splitter .tabs>div.current{
	border-right:2px solid #000;
	color:inherit;
}
.q_splitter .tabs>div:hover{
	background:#f3f3f3;
}


#directory .wrp{
	
}
#directory .wrp .cell{
	text-align:center;
}
#directory .wrp a{
	text-decoration:none;
	color:inherit;
}
#directory .wrp .hdr a{
	display:inline-block;
	padding:14px 20px;
}
#directory .wrp .hdr a:hover{
	background:#f3f3f3;
}


#lnks .wrp{
	display:flex;
	justify-content:space-evenly;
	flex-wrap:wrap;
}
#lnks .wrp img{
	height:40px;
}


.qr_box{
	text-align:center;
}
.qr_box .hdr{
	font-size:22px;
	font-weight:normal;
	color:#f44;
}
.qr_box .img img{
	width:350px;
}
.remodal{
	max-width:420px;
	padding:15px;
}
.remodal-overlay{
	background:rgba(0,0,0,0.4);
}


/***** drawer *****/
.drawer-menu li{
	text-align:center;
}
.drawer-menu a{
	padding:20px;
	text-decoration:none;
	display:block;
	font-size:18px;
	color:inherit;
	letter-spacing:1rem;
}
.drawer-menu a:hover{
	background:#f3f3f3;
}
.drawer-nav{
	width:160px;
}
.drawer--left.drawer-open .drawer-hamburger{
	left:160px;
}
.drawer-hamburger{
	width:20px;
	top:20px;
}
.drawer-hamburger-icon::before{top:-8px;}
.drawer-hamburger-icon::after{top:8px;}


/***** jCal *****/
.jcal{
	display:table;
	padding:10px;
	border:1px solid #999;
	background:#f9f9f9;
	border-radius:5px;
	margin:1rem 0;
	margin-bottom:40px;
}
.jcal br{
	display:none;
}
.jCal .month, .jCal .monthSelect, .jCal .monthName, .jCal .monthYear {
	cursor:auto;
}
.jCalMo .day,.jCalMo .invday,.jCalMo .pday,.jCalMo .aday,.jCalMo .selectedDay,.jCalMo .dow {
	width:25px;
	height:25px;
}
.jCalMo .dow {
	height:auto !important
}
.jCalMo, .jCalMo .jCal {
	width:calc((25px + 2px) * 7);
}
.jCalMo .month {
	width:calc((25px + 2px) * 7 - 16px);
}
.jCalMo .month span {
	width:calc(((25px + 2px) * 7 - 16px) / 2 - 4px);
}
