@charset "UTF-8";
@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
@import url(https://fonts.googleapis.com/earlyaccess/sawarabimincho.css);
/* --------------------------------
* PC/SPココから
* -------------------------------- */
/*===== base =====*/
html { font-size: 62.5%; /* =10px */ }
body { 
  font-family: 'ヒラギノ角ゴシック', 'Hiragino Sans', 'Noto Sans Japanese', 'ＭＳ ゴシック', sans-serif; 
  color: #323232; 
  -webkit-font-feature-settings: "palt"; font-feature-settings: "palt"; 
}
a { text-decoration: none; color: #323232; 
}
li { list-style: none; 
}
.mincho { 
  font-family: 'Yu Mincho Light', 'YuMincho', 'Yu Mincho', '游明朝体', 'Sawarabi Mincho', 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', sans-serif; }
.wrapper { overflow: hidden; 
}
.inner { position: relative; margin: 0 auto; 
}
.flexbox { 
  display: -webkit-box; 
  display: -ms-flexbox; 
  display: flex; 
  -webkit-box-pack: justify; 
  -ms-flex-pack: justify; 
  justify-content: space-between; 
}
.txt-hover { 
  position: relative; display: inline-block; -webkit-transition: .3s; transition: .3s; z-index: 10; 
}
.txt-hover:after { 
  position: absolute; 
  bottom: 0px; 
  left: 0; content: ''; 
  width: 100%; 
  height: 1px; 
  background: #323232; 
  -webkit-transform: scale(0, 1); 
  transform: scale(0, 1); 
  -webkit-transform-origin: right top; 
  transform-origin: right top; 
  -webkit-transition: -webkit-transform .3s; 
  transition: -webkit-transform .3s; 
  transition: transform .3s; 
  transition: transform .3s, -webkit-transform .3s; 
}
.txt-hover:hover::after { 
  -webkit-transform-origin: left top; 
  transform-origin: left top; 
  -webkit-transform: scale(1, 1); 
  transform: scale(1, 1); 
}
.opa-hover { 
  -webkit-transition: opacity .3s; transition: opacity .3s; 
} 
.opa-hover:hover { 
  opacity: .7; 
}

/* モーダルウィンドウのスタイル */
.modal { position: fixed; width: 100%; height: 100vh; top: 0; left: 0; display: none; z-index: 200; 
}

/* オーバーレイのスタイル */
.overLay { 
  position: absolute; 
  top: 0; 
  left: 0; 
  background: #282828; 
  opacity: 0.7; 
  width: 100vw; 
  height: 100vh; 
  z-index: 1000; 
}

/* モーダルウィンドウの中身のスタイル */
.modal .iframe-box { 
  position: absolute; 
  top: 50%; left: 50%; 
  transform: translateY(-50%) translateX(-50%); 
  -webkit-transform: translateY(-50%) translateX(-50%); 
  z-index: 2000; 
  width: 80vw; 
  height: 0; 
  padding-top: 45vw; 
}

.modal .iframe-box iframe { 
  position: absolute; top: 0; left: 0; width: 100%; height: 100%; 
}

/* --------------------------------
* PCココから
* -------------------------------- */
@media (min-width: 769px) { /*===== base =====*/
  html { min-width: 1024px; }
  .inner { width: 1024px; }
  .pc_only { display: block !important; }
  .sp_only { display: none !important; }
  /*===== header =====*/
  header { 
    width: 100%; 
  }
  header .gnav { 
    -webkit-box-sizing: border-box; 
    box-sizing: border-box; 
    padding-top: 15px; 
    height: 76px; 
    background: #006fc5; 
  }
  header .gnav .inner h1 { 
    -ms-flex-item-align: center; align-self: center; 
  }
  header .gnav .inner h1 img { 
    display: inline-block; 
  }
  header .gnav .inner .gnav-list li { 
    position: relative; 
    display: inline-block; 
    padding-right: 2rem; 
    padding-left: 2rem; 
    font-size: 1.3rem; 
    line-height: 2; 
  }
  header .gnav .inner .gnav-list li a { 
    color: #fff; 
  }
  header .gnav .inner .gnav-list li a:after { 
    background-color: #fff; 
  }
  header .gnav .inner .gnav-list li:before { 
    position: absolute; 
    display: block; 
    content: ""; 
    top: 50%; 
    right: 0; 
    height: 1.4rem; 
    margin-top: -7px; 
    border-right: 1px solid #fff; 
  }
  header .gnav .inner .gnav-list li:last-child:before { 
    border-right: none; 
  }
  header .accnav { background: #fff; 
  }
  header .accnav .inner .accnav-list { 
    -ms-flex-pack: distribute; justify-content: space-around; 
  }
  header .accnav .inner .accnav-list a, header .accnav .inner .accnav-list .link-none { 
    color: #323232; 
    text-align: center; 
    display: inline-block; 
    width: 100%; 
    -webkit-transition: .3s; 
    transition: .3s; 
  }
  header .accnav .inner .accnav-list a:hover, header .accnav .inner .accnav-list .link-none:hover { 
    opacity: .7; 
  }
  header .accnav .inner .accnav-list a:hover span:after, header .accnav .inner .accnav-list .link-none:hover span:after { 
    -webkit-transform-origin: left top; 
    transform-origin: left top; 
    -webkit-transform: scale(1, 1); 
    transform: scale(1, 1); 
  }
  header .accnav .inner .accnav-list a span, header .accnav .inner .accnav-list .link-none span { 
    position: relative; 
    -webkit-transition: .3s; 
    transition: .3s; 
  }
  header .accnav .inner .accnav-list a span:after, header .accnav .inner .accnav-list .link-none span:after { 
    position: absolute; 
    bottom: -5px; 
    left: 0; 
    content: ''; 
    width: 100%; 
    height: 1px; 
    background: #323232; 
    -webkit-transform: scale(0, 1); 
    transform: scale(0, 1); 
    -webkit-transform-origin: right top; 
    transform-origin: right top; 
    -webkit-transition: -webkit-transform .3s; 
    transition: -webkit-transform .3s; 
    transition: transform .3s; 
    transition: transform .3s, -webkit-transform .3s; 
  }
  header .accnav .inner .accnav-list .first-layer { 
    position: relative; 
  }
  header .accnav .inner .accnav-list .first-layer:first-child { 
    -webkit-box-flex: 1; 
    -ms-flex-positive: 1; 
    flex-grow: 1; 
  }
  header .accnav .inner .accnav-list .first-layer:first-child ~ .first-layer { 
    -webkit-box-flex: 2; 
    -ms-flex-positive: 2; 
    flex-grow: 2; 
  }
  header .accnav .inner .accnav-list .first-layer > a, header .accnav .inner .accnav-list .first-layer .link-none { 
    font-size: 1.6rem; 
    font-weight: bold; 
    height: 60px; 
    line-height: 60px; 
  }
  header .accnav .inner .accnav-list .first-layer .link-none { 
    cursor: default !important; 
  }
  header .accnav .inner .accnav-list .first-layer .link-none:hover {
    opacity: 1 !important; 
  }
  header .accnav .inner .accnav-list .first-layer .link-none:hover span:after { 
    content: none !important; 
  }
  header .accnav .inner .accnav-list .first-layer .second-container { 
    position: absolute; 
    width: 100%; 
    background: #fff; 
    z-index: 100; 
    -webkit-transition: .3s; 
    transition: .3s; 
    opacity: 0; 
    visibility: hidden; 
  }
  header .accnav .inner .accnav-list .first-layer .second-container .second-layer > a { 
    font-size: 1.4rem; 
    height: 40px; 
    line-height: 40px; 
  }
  header .accnav .first-layer.on_hover .second-container { 
    opacity: 1 !important; 
    visibility: visible !important; 
  }
  
  /*===== footer =====*/
  footer { 
    background: #323232; padding-top: 110px; text-align: center; 
  }
  footer .inner > div { 
    border-bottom: 1px solid #fff; 
  }
  footer li { 
    line-height: 2; 
  }
  footer .txt-hover:after { 
    background-color: #fff; 
  }
  footer .sitemap { 
    font-size: 1.4rem; 
    padding-top: 30px; 
    padding-bottom: 30px; 
    border-top: 1px solid #fff; 
  }
  footer .sitemap .sitemap-list { 
    margin-bottom: 20px; 
  }
  footer .sitemap .sitemap-list li { 
    text-align: left; 
  }
  footer .sitemap .sitemap-list li a { 
    color: #fff; 
  }
  footer .sitemap .sitemap-list .first-layer { 
    font-weight: bold; 
  }
  footer .sitemap .sitemap-list .second-layer { 
    margin-left: 1rem; 
  }
  footer .sitemap .sitemap-list .third-layer { 
    margin-left: 2rem; 
  }
  footer .sitemap .sitemap-list .mb2 { 
    margin-bottom: 2rem; 
  }
  footer .sitemap .sitemap-list .footer-logo { 
    display: inline-block; 
  }
  footer .group .group-list, footer .group .franchise-list, footer .franchise .group-list, footer .franchise .franchise-list { 
    font-size: 1.4rem; 
    padding-top: 20px; 
    padding-bottom: 20px; 
  }
  footer .group .group-list li a, footer .group .franchise-list li a, footer .franchise .group-list li a, footer .franchise .franchise-list li a { 
    color: #fff; 
  }
  footer .group .group-list .first-layer, footer .group .franchise-list .first-layer, footer .franchise .group-list .first-layer, footer .franchise .franchise-list .first-layer { 
    font-weight: bold; margin-bottom: 2rem; 
  }
  footer .group .group-list .second-layer, footer .group .franchise-list .second-layer, footer .franchise .group-list .second-layer, footer .franchise .franchise-list .second-layer { 
    position: relative; 
    display: inline-block; 
    padding-right: 2rem; 
    padding-left: 2rem; 
  }
  footer .group .group-list .second-layer:nth-of-type(6), footer .group .franchise-list .second-layer:nth-of-type(6), footer .franchise .group-list .second-layer:nth-of-type(6), footer .franchise .franchise-list .second-layer:nth-of-type(6) { 
    border-right: none; 
  }
  footer .group .group-list .second-layer:before, footer .group .franchise-list .second-layer:before, footer .franchise .group-list .second-layer:before, footer .franchise .franchise-list .second-layer:before { 
    position: absolute; 
    display: block; 
    content: ""; 
    top: 50%; right: 0; 
    height: 1.4rem; 
    margin-top: -7px; 
    border-right: 1px solid #fff; 
  }
  footer .group .group-list .second-layer:last-child:before, footer .group .franchise-list .second-layer:last-child:before, footer .franchise .group-list .second-layer:last-child:before, footer .franchise .franchise-list .second-layer:last-child:before { 
    border-right: none; 
  }
  footer .copyright { 
    font-size: 1.4rem; color: #fff; padding-top: 35px; padding-bottom: 35px; 
  } 
}
/* --------------------------------
* SPココから
* -------------------------------- */
@media screen and (max-width: 768px) { .sp_only { display: block !important; }
  .pc_only { 
    display: none !important; 
  }
  .inner { 
    width: 84%; 
  }
  body, #mainContents { 
    max-width: 100vw; 
    overflow-x: hidden; 
  }
  #mainContents { 
    padding-top: 11.875vw; 
  }
  .anchor { 
    margin-top: -11.875vw !important; 
    padding-top: 11.875vw !important; 
  }
  /*===== header =====*/
  header { 
    width: 100%; 
    position: fixed; 
    z-index: 500; 
  }
  header .gnav { 
    -webkit-box-sizing: border-box; 
    box-sizing: border-box; 
    height: 11.875vw; 
    background: #006fc5; 
    position: relative; 
  }
  header .gnav h1 { 
    margin-top: 2.8125vw; 
    width: 30%; 
    margin-left: 5%; 
  }
  header .gnav h1 img { 
    display: inline-block; 
    width: 100%; 
  }
  header .gnav .menu-trigger { 
    margin-top: 2.34375vw; 
    position: relative; 
    width: 7.8125vw; 
    height: 7.8125vw; 
    border: 0.3125vw solid #fff; 
    display: inline-block; 
    -webkit-transition: translate .4s !important; 
    transition: translate .4s !important; 
    -webkit-box-sizing: border-box; 
    box-sizing: border-box; 
    margin-right: 5%; 
    cursor: pointer; 
  }
  header .gnav .menu-trigger span { 
    display: inline-block; 
    -webkit-transition: translate .4s !important; 
    transition: translate .4s !important; 
    -webkit-box-sizing: border-box; 
    box-sizing: border-box; 
    position: absolute; 
    left: 1.25vw; 
    width: 4.6875vw; 
    height: 1px; 
    background-color: #fff; 
    border-radius: 4px; 
  }
  header .gnav .menu-trigger span:nth-of-type(1) { 
    top: 2.03125vw; 
    -webkit-animation: menu-bar01 .75s forwards; 
    animation: menu-bar01 .75s forwards; 
  }
  header .gnav .menu-trigger span:nth-of-type(2) { 
    top: 3.4375vw; 
    -webkit-transition: translate .25s .25s !important; 
    transition: translate .25s .25s !important; 
    opacity: 1; 
  }
  header .gnav .menu-trigger span:nth-of-type(3) { 
    bottom: 2.03125vw; 
    -webkit-animation: menu-bar02 .75s forwards; 
    animation: menu-bar02 .75s forwards; 
  }
  header .gnav .menu-trigger.active span:nth-of-type(1) { 
    -webkit-animation: active-menu-bar01 .75s forwards; 
    animation: active-menu-bar01 .75s forwards; 
  }
  header .gnav .menu-trigger.active span:nth-of-type(2) { 
    opacity: 0; 
  }
  header .gnav .menu-trigger.active span:nth-of-type(3) { 
    -webkit-animation: active-menu-bar03 .75s forwards; 
    animation: active-menu-bar03 .75s forwards; 
  }
  @-webkit-keyframes menu-bar01 { 0% { -webkit-transform: translateY(1.40625vw) rotate(45deg); }
    50% { -webkit-transform: translateY(1.40625vw) rotate(0); }
    100% { -webkit-transform: translateY(0) rotate(0); } }
  @keyframes menu-bar01 { 0% { -webkit-transform: translateY(1.40625vw) rotate(45deg); transform: translateY(1.40625vw) rotate(45deg); }
    50% { -webkit-transform: translateY(1.40625vw) rotate(0); transform: translateY(1.40625vw) rotate(0); }
    100% { -webkit-transform: translateY(0) rotate(0); transform: translateY(0) rotate(0); } }
  @-webkit-keyframes menu-bar02 { 0% { -webkit-transform: translateY(-1.40625vw) rotate(-45deg); }
    50% { -webkit-transform: translateY(-1.40625vw) rotate(0); }
    100% { -webkit-transform: translateY(0) rotate(0); } }
  @keyframes menu-bar02 { 0% { -webkit-transform: translateY(-1.40625vw) rotate(-45deg); transform: translateY(-1.40625vw) rotate(-45deg); }
    50% { -webkit-transform: translateY(-1.40625vw) rotate(0); transform: translateY(-1.40625vw) rotate(0); }
    100% { -webkit-transform: translateY(0) rotate(0); transform: translateY(0) rotate(0); } }
  @-webkit-keyframes active-menu-bar01 { 0% { -webkit-transform: translateY(0) rotate(0); }
    50% { -webkit-transform: translateY(1.40625vw) rotate(0); }
    100% { -webkit-transform: translateY(1.40625vw) rotate(45deg); } }
  @keyframes active-menu-bar01 { 0% { -webkit-transform: translateY(0) rotate(0); transform: translateY(0) rotate(0); }
    50% { -webkit-transform: translateY(1.40625vw) rotate(0); transform: translateY(1.40625vw) rotate(0); }
    100% { -webkit-transform: translateY(1.40625vw) rotate(45deg); transform: translateY(1.40625vw) rotate(45deg); } }
  @-webkit-keyframes active-menu-bar03 { 0% { -webkit-transform: translateY(0) rotate(0); }
    50% { -webkit-transform: translateY(-1.40625vw) rotate(0); }
    100% { -webkit-transform: translateY(-1.40625vw) rotate(-45deg); } }
  @keyframes active-menu-bar03 { 0% { -webkit-transform: translateY(0) rotate(0); transform: translateY(0) rotate(0); }
    50% { -webkit-transform: translateY(-1.40625vw) rotate(0); transform: translateY(-1.40625vw) rotate(0); }
    100% { -webkit-transform: translateY(-1.40625vw) rotate(-45deg); transform: translateY(-1.40625vw) rotate(-45deg); } }
  header .gnav .accnav-list { 
    -webkit-box-sizing: border-box; 
    box-sizing: border-box; 
    display: none; position: fixed; 
    padding-top: 11.875vw; 
    top: 0; 
    left: 0; 
    width: 100%; 
    background: rgba(200, 200, 200, 0.9); 
    overflow-y: scroll; 
    max-height: 100vh; 
    z-index: -1; 
  }
  header .gnav .accnav-list .first-layer { 
    position: relative; 
    width: 90%; 
    margin: 0 auto; 
    text-align: center; 
    font-size: 4.375vw; 
    line-height: 15.625vw; 
    border-bottom: 0.3125vw solid #323232; 
    z-index: 500; 
  }
  header .gnav .accnav-list .first-layer .first-layer-btn { 
    cursor: pointer; 
  }
  header .gnav .accnav-list .first-layer:first-of-type img { 
    width: 5%; 
    margin-right: 2%; 
    vertical-align: text-bottom; 
  }
  header .gnav .accnav-list .first-layer:last-of-type { 
    border: none; 
  }
  header .gnav .accnav-list .first-layer a {
    color: #323232; 
    height: 100%; 
    display: block; 
  }
  header .gnav .accnav-list .first-layer .menu-trigger { 
    position: absolute; 
    right: 0; 
    top: 1.5625vw;
    border-color: #323232; 
    z-index: -2; 
  }
  header .gnav .accnav-list .first-layer .menu-trigger span { 
    background-color: #323232; 
  }
  header .gnav .accnav-list .first-layer .second-container { 
    display: none; 
    width: 80%; 
    margin: 0 auto; 
    font-size: 3.75vw; 
  }
  header .gnav .accnav-list .first-layer .second-container .second-layer { 
    border-top: 0.15625vw solid #323232; 
  }

  /*===== footer =====*/
  footer { 
    background: #323232; text-align: center; 
  }
  footer .sitemap, footer .group, footer .franchise { 
    display: none !important; 
  }
  footer .copyright { 
    font-size: 2.5vw; 
    color: #fff; 
    padding-top: 5.46875vw; 
    padding-bottom: 5.46875vw; 
  }

  /* モーダルウィンドウの中身のスタイル */
  .modal .iframe-box { 
    width: 88vw; 
    padding-top: 49.5vw; 
  } 
}
