@charset "utf-8";

* { margin:0; padding:0; font-size:100%;}
*, *:before, *:after { -moz-box-sizing:border-box; -webkit-box-sizing:border-box; box-sizing:border-box;}

html { overflow-y:scroll; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;}

body {
 margin:0; padding:0; color:#333; font-size:17px; line-height:1.8;
 font-family:"游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ 明朝", "MS Mincho", serif; font-weight:500;}

@media only screen and (min-width:1921px) {
body { background-size:100%!important;}
}

@media only screen and (max-width:1920px) {
body { background-size:auto!important;}
}

@media only screen and (max-width:768px) {
body { background-size:100%!important;}
}

@media only screen and (max-width:568px) {
body { font-size:15px;}
}

/*------------------------------------------------------------------------------
　Common
-------------------------------------------------------------------------------*/

div, pre, form, input, textarea, blockquote { margin:0; padding:0;}
address, caption, cite, code, dfn, em, var { font-style:normal;}

h1, h2, h3, h4, h5, h6 { margin:0; padding:0; line-height:1.2;}

table { border-collapse:collapse; border-spacing:0;}
td, th { margin:0; padding:0; text-align:left; font-style:normal;}
dl, dt, dd { margin:0; padding:0;}
ul, ol, li { margin:0; padding:0; list-style:none;}
img { max-width:100%; height:auto; margin:0; padding:0; vertical-align:top; border:none;}

a:link, a:visited { color:#333; text-decoration:underline;}
a:hover, a:active, a:focus { text-decoration:none;}

i, em { color:#B22C00; font-style:normal;}

.clear { clear:both;}

.alignL { text-align:left;}
.alignR { text-align:right;}
.alignC { text-align:center;}

.floatL { float:left; margin:0; padding:0;}
.floatR { float:right; margin:0; padding:0;}

.pc_img {}
.sp_img { display:none;}

@media only screen and (max-width:768px) {
.pc_img { display:none;}
.sp_img { display:block;}
}

/*------------------------------------------------------------------------------
　Header
-------------------------------------------------------------------------------*/

header {
 clear:both; width:100%; height:80px; margin:0; padding:0; line-height:1; box-sizing:border-box;
 border-top:5px solid #AB946B; background:rgba(255, 255, 255, 0.85); position:fixed; top:0; left:0; z-index:100;}
header:after { clear:both; display:block; content:" ";}

header .headInner {
 clear:both; width:100%; max-width:1200px; height:80px; margin:0 auto; padding:0;
 display:-webkit-box; display:-ms-flexbox; display:flex;
 -webkit-flex-wrap:wrap; -ms-flex-wrap:wrap; flex-wrap:wrap;
 -webkit-box-pack:justify; -ms-flex-pack:justify; justify-content:space-between;
 -webkit-box-align:center; -ms-flex-align:center; align-items:center;}
header .headInner:after { clear:both; display:block; content:" ";}

header .headInner .logo { width:235px; margin:-4px 40px 0 0; padding:0;}

#navMenu { float:left; width:calc(100% - 495px); margin:0 40px 0 0; padding:0;}
#navMenu:after { clear:both; display:block; content:" ";}
#navMenu ul {
 width:96%; margin:-8px 2% 0 2%; padding:0; list-style:none;
 display:-webkit-box; display:-ms-flexbox; display:flex;
 -webkit-flex-wrap:wrap; -ms-flex-wrap:wrap; flex-wrap:wrap;
 -webkit-box-pack:justify; -ms-flex-pack:justify; justify-content:space-between;}
#navMenu ul li { float:left; width:auto; margin:0; padding:0; text-align:center; font-size:16px; position:relative;}
#navMenu ul li a {
 margin:0; padding:18px 0 10px 0; position:relative; display:block; color:#000; text-decoration:none;}
#navMenu ul li a:hover { background:url(../images/head_icon_active.png) no-repeat center top;}
#navMenu ul li ul li a:hover { background-image:none;}

#navMenu ul li ul{ width: 140px; list-style: none; position: absolute; top: 100%; left:-37px; margin: 0; padding: 0; background:#FFF; background-image:none;}
#navMenu ul li:last-child ul{ left: -100%; width: 100%}
#navMenu ul li ul li{ overflow: hidden; width: 140px; height: 0;  background-image:none; -moz-transition: .2s; -webkit-transition: .2s; -o-transition: .2s; -ms-transition: .2s; transition: .2s;}
#navMenu ul li ul li a{ padding: 10px; background: #FFF; text-align: left; font-size: 14px; color:#000; font-weight: bold; text-align:center;}
#navMenu ul li:hover ul li{ overflow: visible; display:block; height: 40px;}
#navMenu ul li:hover ul li:first-child{ border-top: 0;}
#navMenu ul li:hover ul li:last-child{ border-bottom: 0;}
body#home #navMenu ul li:nth-child(4) ul li a,
body#policy #navMenu ul li:nth-child(4) ul li a,
body#campany #navMenu ul li:nth-child(4) ul li a,
body#product #navMenu ul li:nth-child(4) ul li a,
body#sekou #navMenu ul li:nth-child(4) ul li a,
body#care #navMenu ul li:nth-child(4) ul li a,
body#inquiry #navMenu ul li:nth-child(4) ul li a { background-image:none!important;}

/* Underline From Left */
#navMenu ul li ul li a { display: inline-block; vertical-align: middle; -webkit-transform: translateZ(0); transform: translateZ(0); box-shadow: 0 0 1px rgba(0, 0, 0, 0); -webkit-backface-visibility: hidden; backface-visibility: hidden; -moz-osx-font-smoothing: grayscale; position: relative; overflow: hidden;}
#navMenu ul li ul li a:before { content: ""; position: absolute; z-index: -1; left: 0; right: 100%; bottom: 0; background: #AB926D; height: 2px; -webkit-transition-property: right; transition-property: right; -webkit-transition-duration: 0.3s; transition-duration: 0.3s; -webkit-transition-timing-function: ease-out; transition-timing-function: ease-out;}
#navMenu ul li ul li a:hover:before, #nav-menu a:focus:before, #nav-menu a:active:before { right: 0;}
#navMenu ul li ul li.current { border-bottom:2px solid #AB926D; height: 65px;}



body#home #navMenu ul li:nth-child(1) a { background:url(../images/head_icon_active.png) no-repeat center top;}
body#policy #navMenu ul li:nth-child(2) a { background:url(../images/head_icon_active.png) no-repeat center top;}
body#company #navMenu ul li:nth-child(3) a { background:url(../images/head_icon_active.png) no-repeat center top;}
body#product #navMenu ul li:nth-child(4) a { background:url(../images/head_icon_active.png) no-repeat center top;}
body#sekou #navMenu ul li:nth-child(5) a { background:url(../images/head_icon_active.png) no-repeat center top;}
body#care #navMenu ul li:nth-child(6) a { background:url(../images/head_icon_active.png) no-repeat center top;}
body#inquiry #navMenu ul li:nth-child(7) a { background:url(../images/head_icon_active.png) no-repeat center top;}

body#company.inside #navMenu ul li:nth-child(4) ul li:nth-child(3) a { background:none!important;}



header .headInner .telPC {
 float:right; width:180px; margin:0; padding:0; font-size:14px; line-height:1.2;}
header .headInner .telPC .tel {
 clear:both; margin:0 0 3px 0; padding:0; display:block; font-size:24px;}
header .headInner .telPC .tel:before {
 width:19px; height:22px; margin:-4px 7px 0 0; padding:0;
 display:inline-block; content:""; vertical-align:middle;
 background:url(../images/head_icon_tel.png) no-repeat left top; background-size:19px auto;}
header .headInner .telPC .hour { clear:both; margin:0; padding:0 0 0 26px;}
header .headInner .telSP { display:none;}

@media only screen and (max-width:1200px) {
header { height:65px;}
header .headInner { width:calc(100% - 30px); height:60px;}
header .headInner .logo { width:200px; margin-top:6px; margin-right:20px;}
header .headInner .telPC { display:none;}
header .headInner .telSP {
 width:68px; height:60px; margin:0; padding:10px 10px 10px 10px; display:block; box-sizing:border-box; text-align:center;
 position:absolute; top:0; right:60px; z-index:9999; color:#333; font-size:11px; line-height:1.2;}
header .headInner .telSP a { display:block; color:#333; text-decoration:none;}
header .headInner .telSP a:hover { text-decoration:none;}
header .headInner .telSP img { clear:both; margin:0 auto 6px auto; padding:0; display:block;}
#navMenu { width:calc(100% - 450px); margin-right:20px;}
}

@media only screen and (max-width:360px) {
header .headInner .logo { width:180px; margin-top:8px;}
header .headInner .telSP { width:48px;}
}

/*------------------------------------------------------------------------------
　Layout
-------------------------------------------------------------------------------*/

#wrap { clear:both; width:100%; margin:80px 0 0 0; padding:0;}
#wrap:after { clear:both; display:block; content:" ";}

#container { clear:both; width:100%; margin:0; padding:0;}
#container:after { clear:both; display:block; content:" ";}

#main { clear:both; width:100%; margin:0; padding:0;}
#main a:hover img,#main .boxLink img:hover { opacity:0.7; filter:alpha(opacity=70);}

#visual { clear:both; width:100%; margin:0; padding:0;}
#visual .visualInner {
 clear:both; width:100%; max-width:1200px; height:620px; margin:0 auto; padding:65px 0; box-sizing:border-box;
 position:relative;}

@media only screen and (max-width:1200px) {
#visual .visualInner { width:calc(100% - 30px); margin-top:-15px;}
}


/*------------------------------------------------------------------------------
　Footer
-------------------------------------------------------------------------------*/

#foot {
 clear:both; width:100%; margin:0; padding:65px 0 30px 0; text-align:left;
 color:#FFF; background:#2D352E;}
#foot:after { clear:both; display:block; content:" ";}

#foot a { color:#FFF; text-decoration:none;}
#foot a:hover { text-decoration:none;}

#foot .footInner { clear:both; width:100%; max-width:1200px; margin:0 auto; padding:0;}
#foot .footInner:after { clear:both; display:block; content:" ";}

#foot .footInner .footBlock {
 clear:both; margin:0; padding:0; position:relative;
 display:-webkit-box; display:-ms-flexbox; display:flex;
 -webkit-flex-wrap:wrap; -ms-flex-wrap:wrap; flex-wrap:wrap;
 -webkit-box-pack:justify; -ms-flex-pack:justify; justify-content:space-between;}

#foot .footInner .footBlock .footBoxL {
 width:calc(calc(100% - calc(15px * 4)) / 3); max-width:390px; margin:0; padding:90px 0 0 0; text-align:center;
 display:-webkit-box; display:-ms-flexbox; display:flex;
 -webkit-flex-wrap:wrap; -ms-flex-wrap:wrap; flex-wrap:wrap;
 -webkit-box-pack:center; -ms-flex-pack:center; justify-content:center;
 -webkit-box-align:end; -ms-flex-align:end; align-items:flex-end;
 -webkit-align-content:end; -ms-flex-line-pack:end; align-content:flex-end;
 -webkit-order:1; -ms-flex-order:1; order:1;
 background:url(../images/foot_bg_l.png) no-repeat center top; background-size:100% auto;}
#foot .footInner .footBlock .footBoxL dl { clear:both; width:100%; margin:0 auto 15px auto; padding:0; text-align:left;}
#foot .footInner .footBlock .footBoxL dl dt { clear:left; float:left; margin:0; padding:0;}
#foot .footInner .footBlock .footBoxL dl dd { margin:0 0 5px 0; padding:0;}
#foot .footInner .footBlock .footBoxL .btAccess { clear:both; margin:0; padding:0;}
#foot .footInner .footBlock .footBoxL .btAccess a {
 clear:both; width:200px; height:35px; margin:0; padding:9px 8px 0 0;
 display:block; box-sizing:border-box;
 text-align:center; color:#FFF; font-size:16px; line-height:1;
 background:#3D4E41 url(../images/foot_icon_arrow.png) no-repeat right 8px top 9px;}
#foot .footInner .footBlock .footBoxL .btAccess a:hover { background-color:#77837A;}

#foot .footInner .footBlock .footBoxC {
 width:calc(calc(100% - calc(15px * 4)) / 3); max-width:350px; margin:0; padding:0;
 text-align:center; -webkit-order:2; -ms-flex-order:2; order:2;}
#foot .footInner .footBlock .footBoxC .logo { clear:both; margin:0 0 30px 0; padding:0;}
#foot .footInner .footBlock .footBoxC .footInfo {
 clear:both; margin:0; padding:5px 0 10px 0; border-top:1px solid #5B665C; border-bottom:1px solid #5B665C;}
#foot .footInner .footBlock .footBoxC .footInfo .tel { clear:both; margin:0; padding:0;}
#foot .footInner .footBlock .footBoxC .footInfo span.telLink {
 margin:0; padding:0; display:block; font-size:34px;}
#foot .footInner .footBlock .footBoxC .footInfo span.telLink:before {
 width:29px; height:30px; margin:-4px 15px 0 0; padding:0;
 display:inline-block; content:""; vertical-align:middle;
 background:url(../images/foot_icon_tel.png) no-repeat left top;}
#foot .footInner .footBlock .footBoxC .footInfo .hour { clear:both; margin:0; padding:0;}

#foot .footInner .footBlock .footBoxR {
 width:calc(calc(100% - calc(15px * 4)) / 3); max-width:390px; margin:0; padding:90px 0 0 0;
 display:-webkit-box; display:-ms-flexbox; display:flex;
 -webkit-flex-wrap:wrap; -ms-flex-wrap:wrap; flex-wrap:wrap;
 -webkit-box-pack:center; -ms-flex-pack:center; justify-content:center;
 -webkit-box-align:end; -ms-flex-align:end; align-items:flex-end;
 -webkit-align-content:end; -ms-flex-line-pack:end; align-content:flex-end;
 text-align:center; -webkit-order:3; -ms-flex-order:3; order:3;
 background:url(../images/foot_bg_r.png) no-repeat center top; background-size:100% auto;}
#foot .footInner .footBlock .footBoxR p { clear:both; width:100%; font-size:14px;}
#foot .footInner .footBlock .footBoxR p a { text-decoration:underline;}
#foot .footInner .footBlock .footBoxR p a:hover { text-decoration:none;}
#foot .footInner .footBlock .footBoxR .btInquiry { clear:both; width:auto; margin:0 auto; padding:0;}
#foot .footInner .footBlock .footBoxR .btInquiry a {
 clear:both; width:270px; height:50px; margin:0 0 10px 0; padding:14px 0 0 15px;
 display:block; box-sizing:border-box;
 text-align:center; color:#2D352E; font-size:22px; line-height:1; text-decoration:none;
 background:#D5D7D5 url(../images/foot_icon_mail.png) no-repeat left 15px center;}
#foot .footInner .footBlock .footBoxR .btInquiry a:hover { text-decoration:none; background-color:#E2E3E2;}

#foot .footInner .copyright {
 clear:both; width:100%; padding-top:60px; text-align:center; font-size:12px; line-height:1;}

@media only screen and (max-width:1200px) {
#foot { padding:40px 0 30px 0;}
#foot .footInner { width:calc(100% - 30px);}
}

@media only screen and (max-width:908px) {
#foot .footInner .footBlock {
 background:url(../images/foot_bg_r.png) no-repeat center top;
 -webkit-box-pack:justify; -ms-flex-pack:justify; justify-content:space-between;}
#foot .footInner .footBlock .footBoxL {
 width:52%; max-width:470px; padding-top:90px;
 -webkit-box-align:start; -ms-flex-align:start; align-items:flex-start;
 -webkit-align-content:start; -ms-flex-line-pack:start; align-content:flex-start;
 -webkit-order:2; -ms-flex-order:2; order:2; background:none;}
#foot .footInner .footBlock .footBoxC {
 width:48%; max-width:450px; padding-top:90px; padding-right:30px;
 -webkit-order:1; -ms-flex-order:1; order:1;}
#foot .footInner .footBlock .footBoxC .logo { margin-bottom:20px;}
#foot .footInner .footBlock .footBoxR {
 width:50%; max-width:450px; padding-top:40px; position:absolute; right:0; bottom:-40px;
 -webkit-box-align:start; -ms-flex-align:start; align-items:flex-start;
 -webkit-align-content:start; -ms-flex-line-pack:start; align-content:flex-start;
 -webkit-order:3; -ms-flex-order:3; order:3; background:none;}
#foot .footInner .copyright { padding-top:60px; text-align:left;}
}

@media only screen and (max-width:768px) {
#foot .footInner .footBlock { -webkit-box-pack:center; -ms-flex-pack:center; justify-content:center;}
#foot .footInner .footBlock .footBoxL { width:100%; padding-top:30px; position:static;}
#foot .footInner .footBlock .footBoxC { width:100%; padding-right:0; position:static;}
#foot .footInner .footBlock .footBoxR { width:100%; padding-top:30px; position:static;}
#foot .footInner .footBlock .footBoxL dl dt,
#foot .footInner .footBlock .footBoxL dl dd { clear:both; float:none; text-align:center;}
#foot .footInner .copyright { padding-top:40px;}
}

/*------------------------------------------------------------------------------
　Pagetop
-------------------------------------------------------------------------------*/

#pagetop { position:fixed; bottom:10px; right:10px;}
#pagetop a { width:50px; height:50px; display:block;}
#pagetop a:hover {}
