@charset "UTF-8";

/*--------------------------------
背景設定
--------------------------------*/
body{
    background: url(../img/index/bg-top.jpg) repeat-x center -470px;
}



/*--------------------------------
ヘッダー
--------------------------------*/


/* スマホの時は、ヘッダー上部に余白を入れる

@media(max-width:768px){
    .main-box{
        padding-top:50px;
    }

}

*/



/*------------------------------
PCの場合のヘッダーレイアウト
------------------------------*/


@media(min-width:769px){
   
    header{
        max-width:1600px;
        z-index:100;
        margin:0 auto 30px;
    }

}

.head-in{
    padding:0 2%;
}

.h1-head{
    max-width:360px;
}


/* スマホの時のヘッダー設定　*/
@media(max-width:768px){
    header{
        padding-top:60px;
    }
    .h1-head{
        margin: 20px auto;
    }
}

.simpleIcon{
    padding-left:192px;
    line-height:192px;
}

.simpleIcon:before{
    /*↓イメージフォルダのパス(img)は任意の場所へ*/
    background:url(img/simpleicon.svg) no-repeat;
    content:"";
    display:block;
    width:192px;
    height:192px;
    background-size:100%;
    background-position:0px 0px;
    position: absolute;
    overflow:hidden;
    left:0px;
}

/*======================================================
グローバルナビ
======================================================*/

/* PCの時はナビが横並び・上部固定 */


nav{
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
}

.is-show nav{
    padding-bottom:10px;
}

@media(min-width:768px){

    .g-nav{
        display: flex;
        justify-content: flex-end;
    }
        
    .g-nav > li{
        text-align: center;
		font-size:1.4rem;
        font-weight: bold;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }
    
    .g-nav > li:not(:first-of-type) > a{
        border-left:1px solid #222;
        display: block;
        width: 100%;
    }
    
    nav li a{
        display: -webkit-box;
        display: flex;
        width: 100%;
        color:#222;
        display: block;
        padding: 6px 20px;
    }
        
    nav li a:link, nav li a:visited, nav li a:hover{
        color: #222;
        text-decoration: none;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }
    
    nav li a:hover{
        color: #fff;
        background-color: #131346;
        height: 100%;
        display: -webkit-box;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        align-items:center;
    }

    
    

/* ナビ固定 */
    
    .navi.fixed .g-nav{
        margin-bottom:0;
    }

   
    .clone-nav{
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        z-index: 10000;
        padding:0;
        -webkit-transform : translateY(-100%);
        transform : translateY(-100%);
        -webkit-transition: .3s;
        transition: .3s;
        background: #d2e6ffeb;
    }

    .clone-nav .head-in{
        /* width:80%; */
        margin:auto;
    }
    

    .is-show {
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }

}

@media(max-width:999px){

    .clone-nav .head-in{
        width:96%;
        margin: auto;
    }
}

@media(max-width:767px){
    .clone-nav{
        display: none;
    }
}


/* 2階層目設定 */

@media(min-width:768px){
    .g-nav {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
    }
    
}

@media(max-width:1023px){
    .g-nav{
        justify-content: space-between;
    }
}
    .g-nav > li {
      display: block;
    }

    .g-nav > li > a{
        display: block;
    }
    .g-nav > a:hover {
      color: #fff;
      background-color: #131346;
    }
    /* .g-nav > li:hover > a {
      color: #fff;
    } */

    @media(min-width:481px){
    .g-nav > li.toggle:hover .seco-menu {
      max-height: 9999px;
      opacity: 1;
        z-index:100;
        padding:60px 4vw;
        display: flex;
        justify-content: flex-end;
    }

    .g-nav > li > a {
      display: block;
      /* padding: 25.5px 1em 15.5px; */
      -webkit-transition: all .2s ease-in;
      transition: all .2s ease-in;
    }
    .g-nav .seco-menu {
      -webkit-transition: all .2s ease-in;
      transition: all .2s ease-in;
      max-height: 0;
      opacity: 0;
      overflow: hidden;
      width: 100%;
      left: 0;
      text-align: center;
      position: absolute;
      background-color: #131346;
        padding: 0 30px;
    }
    .menu_inner {
        padding: 1em 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        -ms-flex-wrap:wrap;
        flex-wrap:wrap; 
    }
    .menu_inner li {
      margin: 0 .5em;
        -ms-flex-preferred-size: 22%;
        flex-basis: 22%;
        text-align: left;
    }
    .seco-menu a:link, .seco-menu a:visited {
      color: #fff;
        padding: 10px;
    }

.menu_inner li a:hover{
    background: #ccc;
    padding: 10px;
}

   
.menu_inner li a::before{
    font-family: "Font Awesome 5 Free";
    content: "\f138";
    font-weight: bold;
    font-weight: 900;
    margin-right:6px;
} 

}


@media(max-width:768px){
    .clone-nav{
        display: none;
    }
}

@media(max-width:820px){
    .g-nav li{
        padding:0;
    }

}







/* 会員ページ */

.nav-key{
    display: flex;
    justify-content: flex-end;
    margin-bottom:10px;
}

.nav-key a{
    display: block;
    text-align:right;
    color:#fff;
    background: #05B750;
    display: block;
    font-size:1.2rem;
    text-align: center;
    padding:2px 16px;
    border-radius: 0 0 6px 6px;
    text-decoration: none;
}

.nav-key .fas{
    margin-right:10px;
}

/* クローンナビの設定 */

.is-show .head-in{
    padding-bottom:0;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
}

.is-show .g-nav > li:not(:first-of-type) > a span{
    border:none;
}

/* スマホでの「会員ページ」メニュー固定 */
@media(max-width:767px){
    header{
        position:relative;
    }
    .nav-key{
        position: fixed;
        top:50px;
        right:0;
        display: none;
    }
}


/* スマホの時もナビを上部固定・英字タイトルは横並びに */

@media(max-width:768px){
    .mean-container .mean-bar{
        position: fixed !important;
    }
}

@media ( max-width : 768px ) {
    /* tablet・smartphone */
    nav.g-nav {
        display: none;
    }
    
    div#footer-nav {
        display: none;
    }
    
    #index-slide {
        height:520px;
    }
    
    .header-copy-box, h1 {
        text-align: center;
    }
    
    .header-tel-box {
        text-align: center;
        margin-top:0;
        font-size: 2em;
    }
    
    #smenu {
        display:none;
    }
    
    .header-copy-box {
        text-align:left;
        font-size:1.1rem;
        color:#666;
        line-height: 1.2;
    }
    
}



/*--------------------------------
フッター
--------------------------------*/

footer{
    background: #05B750;
    padding:20px;
    color:#fff;
}

.foot-bn{
    max-width:200px;
    position: absolute;
    right:120px;
    bottom:50px;
}

@media(max-width:767px){
    .foot-bn{
        position:static;
        text-align: center;
        margin: 10px auto;
    }
}


footer .foot-logo{
    margin: 10px auto;
}

@media(max-width:767px){
    .f-info{
        text-align: center;
    }
}

.f-nav{
    margin-bottom:20px;
}

.f-nav li{
    font-size:1.3rem;
}

.f-nav li a:link, .f-nav li a:visited, .f-nav li a:hover{
	text-decoration: none;
}

.f-nav ul .f-nav-sub{
    margin-left:1em;
}

#copy{
    font-size:1.2rem;
    padding: 10px 0;
    text-align: center;
    background: #121212;
    color:#fff;
}
.foot-address{
    font-size:1.3rem;
    margin-bottom:20px;
    text-align: left;
}

@media(max-width:767px){
    .foot-address{
        text-align:center;
    }
}

.foot-tel{
    font-size:2.4rem;
}

@media(max-width:768px){
    #f-nav{
        display: none;
    }
}

/*  ページトップへ戻る  */

#pageTop {
  position: fixed;
  bottom: 0;
  right: 0;
 font-size:3.0rem;
    /* background: rgba(51, 51, 51, 0.7); */
    width:60px;
}

@media(max-width:480px){
    #pageTop a{
        display: none !important;
    }
}

#pageTop i {
  padding-top: 6px
}

#pageTop a {
  display: block;
  z-index: 999;
    background:rgba(255, 255, 255, 0.7);
  font-weight: bold;
  text-decoration: none;
  text-align: center;
  padding:10px 0;
}

#pageTop a:hover {
  text-decoration: none;
  opacity: 0.7;
}

footer li, footer p, footer a:link, footer a:visited{
    color:#fff;
}

  /*----------------------------------------
バナーエリア
----------------------------------------*/

.Tbn-wrapper{
    background: #f2f2f2;
    padding:20px;
}

.Tbn-field{
    padding:40px 0;
    max-width: 1000px;
    margin: auto;
}

.Tbn-field > div{
    text-align: center;
}

.Tbn-field > div > div{
    margin-bottom:20px;
}


