@charset "utf-8";
/* Reset */
body{-webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; -moz-text-size-adjust: 100%;}
html{color: #000; line-height: 1.7; word-spacing: 0; font-size: 14px;
font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "MS Pゴシック", "MS PGothic", sans-serif;}

*{margin: 0; padding: 0; box-sizing: border-box; border: 0;}
/* h1, h2, h3, h4, h5, h6{font-size: 100%;} */
ol, ul{list-style: none;}
table{border-collapse: collapse; border-spacing: 0;}
th{text-align: left; font-weight: normal;}
a{color: inherit; text-decoration: none; outline: none;}
img{vertical-align: bottom; max-width: 100%;}

a[href^="tel:"]{pointer-events: none;}

.content{margin: 0 auto; max-width: 960px; width: calc(100% - 20px);}
.sp{display: none;}
.sp480{display: none;}

/* Header
----------------------------------------*/
header{text-align: center; border-bottom: 1px solid #d7d7d7;}

#btn-menu{display: none;}
#gnav{background-color: #fff;}
#gnav ul{display: flex; padding: 0 200px 0 80px; position: relative; height: 52px;}
#gnav li{position: relative;}
#gnav li:after{content: ''; position: absolute; right: 0; top: 50%; width: 1px; height: 14px; background: #e5e5e5; transform: translateY(-50%); -webkit-transform: translateY(-50%);}
#gnav li:before{content: ''; position: absolute; top: 0; left: 50%; width: 0; height: 3px; background: #000; 
transform: translateX(-50%); -webkit-transform: translateX(-50%);
transition: all .3s linear; -webkit-transition: all .3s linear;}
#gnav li.active:before,
#gnav li:hover:before{width: calc(100% - 30px);}
#gnav a{padding: 14px 30px; display: block;}

#gnav .btn{width: 200px; height: 100%; position: absolute; top: 0; right: 0; font-size: 15px; line-height: 1.4; color: #fff; background-image: linear-gradient(-15deg, #d37901 50%, #e58701 50%);}
#gnav .btn:hover{background: #d37901;}
#gnav .btn:before,
#gnav .btn:after{display: none !important;}
#gnav .btn a{padding: 8px 0;}
#gnav .btn span{font-size: 10px; display: block;}


/* Main
----------------------------------------*/
.main{padding-bottom: 100px;}
.mainH2{background: #f3f3f3; padding: 18px 10px; margin: 0 0 50px;}
.mainH2 span{font-size: 28px; max-width: 960px; margin: 0 auto; display: block;}

.mainH3{border-left: 6px solid #316cb5; padding: 0 0 0 16px; position: relative; font-size: 22px; line-height: 1.15; margin: 0 0 10px;}
.mainH3:before{content: ''; position: absolute; top: 0; left: 3px; width: 2px; height: 100%; background: #316cb5;}
.mainH4{background: #316cb5; color: #fff; font-size: 20px; font-weight: normal; line-height: 1.2; padding: 6px 20px 5px;}

#pagetop{position: fixed; bottom: 20px; right: 20px; width: 46px; z-index: 1000; cursor: pointer; display: none;}

/* Footer
----------------------------------------*/
footer{padding: 25px 0 45px; text-align: center; max-width: 960px; margin: 0 auto;}
#f-txt{font-size: 15px; margin: 0 0 3px;}
#f-txt2{font-size: 18px; line-height: 1.5; margin: 0 0 25px;}
footer a:hover{text-decoration: underline;}


/* ============== Media =============== */
@media only screen and (max-width: 1000px){
    #gnav ul{padding: 0;}
}

@media only screen and (max-width: 767px){
    header{border-bottom: 0;}
    a[href^="tel:"]{pointer-events: auto;}
    .sp{display: block;}
    .pc{display: none;}
    
    #btn-menu{display: block; text-indent: -9999px; position: absolute; top: 0; right: 0; z-index: 9999; display: block; width: 12vw; height: 12vw; max-width: 60px; max-height: 60px; background: url(../../images/common/btn_menu.jpg) no-repeat top left/100% 100%;}
    #btn-menu.close{position: fixed; background: url(../../images/common/btn_close.jpg) no-repeat top left/100% 100%;}
    
    #gnav{position: fixed; top: 0; left: 0; width: 100%; height: 100%; overflow: auto; background: #f7f7f7; z-index: 9998; display: none; font-size: 16px;}
    #gnav ul{padding: 60px 0 0 0; flex-wrap: wrap; height: auto;}
    #gnav li{border-bottom: 1px solid #e5e5e5; padding: 0; width: 100%;}
    #gnav li:before,
    #gnav li:after{display: none;}
    #gnav li.active{color: #00b0cc;}
    #gnav a{padding: 14px 0;}
    #gnav .btn{position: static; width: 100%; font-size: 17px;}
    #gnav .btn span{font-size: 12px;}
}

@media only screen and (max-width: 480px){
    .sp480{display: block;}
    
    #pagetop{width: 30px; bottom: 5px; right: 5px;}
}