@charset "UTF-8";
/* ======================================================
 * layout_sp.css　
 * ------------------------------------------------------
 * @media only screen and (max-width: 767px)
 * - Common
 * - Header
 * - Gnav
 * - Main
 * - Assist
 * - Footer
 * - Other
 * - Clearfix
 * Media Queries
====================================================== */
@media only screen and (max-width: 767px) {
  /* ------------------------------------------------------
   * Common
  ------------------------------------------------------ */
  body {
    overflow-x: hidden;
  }

  .pageWrap {
    overflow: hidden;
  }
  .pcOnly {
    display: none;
  }

  /* ------------------------------------------------------
   * Header
  ------------------------------------------------------ */
  .Header {
    position: relative;
    height: 56px;
  }

  /* ----- HeaderBody ----- */
  .HeaderBody {
    padding-right: 54px;
    border-top: 2px solid #66797e;
    border-bottom: 1px solid #8ea2a8;
    background-color: #ffffff;
    z-index: 101;
  }

  /* header-identity */
  .header-identity {
    height: 53px;
    max-width: 300px;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    padding: 10px;
  }
  .header-identity .identity_copy {
    display: none;
  }
  .header-identity .identity_logo a {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
  }

  .headerUtility {
    padding: 10px 0;
  }
  .headerUtility .headerBnr {
    text-align: center;
    margin-top: 10px;
  }
  .headerUtility .headerBnr:first-child {
    margin-top: 0;
  }
  .headerUtility .headerBnr a img {
    width: 250px;
  }
  .headerUtility .utilityLinks {
    display: -webkit-flex;
    display: flex;
    margin-top: 10px;
  }
  .headerUtility .utilityLinks > li {
    width: calc( 50% - 1px );
  }
  .headerUtility .utilityLinks > li > a {
    display: block;
    padding: 14px;
    background-color: #e8eff1;
    text-align: center;
    color: #333333;
  }
  .headerUtility .utilityLinks > li > a:hover {
    text-decoration: none;
    background-color: #8ea2a8;
    color: #ffffff;
  }
  .headerUtility .utilityLinks > li + li {
    margin-left: 2px;
  }

  /* ------------------------------------------------------
   * Gnav
  ------------------------------------------------------ */
  .headerMenu,
  .headerMenu span {
    display: inline-block;
    transition: all .4s;
  }

  .headerMenu {
    position: absolute;
    top: 2px;
    right: 0;
    width: 54px;
    height: 53px;
    background-color: #8ea2a8;
  }

  .headerMenu > a {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
  }
  .headerMenu > a:hover {
    text-decoration: none;
  }

  .headerMenu span:not(.menu_text) {
    position: absolute;
    left: 50%;
    width: 20px;
    height: 3px;
    margin-left: -10px;
    background-color: #fff;
  }

  .headerMenu span:nth-of-type(1) {
    top: 10px;
  }

  .headerMenu span:nth-of-type(2) {
    top: 17px;
  }

  .headerMenu span:nth-of-type(3) {
    top: 24px;
  }

  .headerMenu .menu_text {
    display: block;
    padding-top: 35px;
    color: #ffffff;
    font-size: 1rem;
    text-align: center;
  }

  .headerMenuBody {
    /*display: none;*/
    position: absolute;
    width: 84%;
    top: 100%;
    right: -84%;
    background-color: #ffffff;
    z-index: 100;
    -webkit-transition: all .4s;
    transition: all .4s;
    opacity: 0;
    overflow: auto;
  }

  .Header.is-open .headerMenu {
    background-color: #e8eff1;
  }
  .Header.is-open .headerMenu span:not(.menu_text) {
    background-color: #66797e;
  }
  .Header.is-open .headerMenu span:nth-of-type(1) {
    -webkit-transform: translateY(7px) rotate(-45deg);
    transform: translateY(7px) rotate(-45deg);
  }
  .Header.is-open .headerMenu span:nth-of-type(2) {
    opacity: 0;
  }
  .Header.is-open .headerMenu span:nth-of-type(3) {
    -webkit-transform: translateY(-7px) rotate(45deg);
    transform: translateY(-7px) rotate(45deg);
  }
  .Header.is-open .headerMenu .menu_text {
    color: #66797e;
  }
  .Header.is-open .headerMenuBody {
    right: 0;
    opacity: 1;
    box-shadow: 2px 2px 10px 2px rgba(0, 0, 0, 0.1);
  }

  /* ----- GnavBody ----- */
  /* gnavList */
  .gnavList > li > a {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-grow: 1;
    flex-grow: 1;
    -webkit-align-items: center;
    align-items: center;
    position: relative;
    width: 100%;
    padding: 16px 25px;
    color: #333333;
    font-size: 1.6rem;
    border-right: 16px solid #e8eff1;
  }
  .gnavList > li > a::after {
    position: absolute;
    display: inline-block;
    content: '';
    width: 7px;
    height: 7px;
    border-top: 1px solid #00a05c;
    border-right: 1px solid #00a05c;
    top: 50%;
    -webkit-transform: translateY(-50%) rotate(45deg);
    transform: translateY(-50%) rotate(45deg);
    left: auto;
    right: -9px;
  }
  .gnavList > li > a:hover {
    text-decoration: none;
    background-color: #8ea2a8;
    color: #ffffff;
    border-right-color: #8ea2a8;
  }
  .gnavList > li > a:hover:after {
    border-top-color: #ffffff;
    border-right-color: #ffffff;
  }
  .gnavList > li + li {
    border-top: 1px solid #dddddd;
  }

  .gnavGroup > dt {
    padding: 7px 25px;
    background: #66797e;
    color: #ffffff;
    text-align: center;
    font-size: 1.5rem;
    font-weight: bold;
  }
  .gnavGroup .gnavList-v2 > li {
    border-bottom: 1px solid #ffffff;
  }
  .gnavGroup .gnavList-v2 > li > a {
    display: block;
    position: relative;
    padding: 14px 25px;
    background-color: #e8eff1;
    color: #333333;
    font-size: 1.6rem;
  }
  .gnavGroup .gnavList-v2 > li > a:after {
    position: absolute;
    display: inline-block;
    content: '';
    width: 7px;
    height: 7px;
    border-top: 1px solid #00a05c;
    border-right: 1px solid #00a05c;
    top: 50%;
    -webkit-transform: translateY(-50%) rotate(45deg);
    transform: translateY(-50%) rotate(45deg);
    left: auto;
    right: 5px;
  }
  .gnavGroup .gnavList-v2 > li > a:hover {
    text-decoration: none;
    background-color: #8ea2a8;
    color: #ffffff;
  }
  .gnavGroup .gnavList-v2 > li > a:hover:after {
    border-top-color: #ffffff;
    border-right-color: #ffffff;
  }

  .gnavMenu {
    display: none !important;
  }

  /* ------------------------------------------------------
   * Main
  ------------------------------------------------------ */
  /* ----- MainBody ----- */
  /* ----- pageGuide ----- */
  .pageGuide {
    padding: 8px 10px;
  }
  .pageGuide .breadcrumbs {
    width: 100%;
    margin: 0 auto;
  }
  .pageGuide .breadcrumbs > li {
    display: inline;
    font-size: 1.3rem;
  }
  .pageGuide .breadcrumbs > li + li {
    margin-left: 7px;
  }
  .pageGuide .breadcrumbs > li:not(:last-child):after {
    position: relative;
    display: inline-block;
    content: '';
    width: 7px;
    height: 7px;
    border-top: 1px solid #00a05c;
    border-right: 1px solid #00a05c;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    margin-left: 7px;
  }
  .pageGuide .breadcrumbs > li:first-child > a > span {
    display: inline-block;
    width: 13px;
    height: 11px;
    background: url(/shared/image/com_sprite01.png) no-repeat 0 0;
    -webkit-background-size: 250px auto;
    background-size: 250px auto;
    text-indent: -9999px;
    vertical-align: middle;
  }

  /* ----- container ----- */
  /* contents */
  .contents {
    width: 100%;
    padding: 0 10px;
  }

  /* sidebar */
  /* ------------------------------------------------------
   * Footer
  ------------------------------------------------------ */
  .Footer {
    margin-top: 30px;
  }

  /* ----- FooterUtility ----- */
  .footerLinkList > li > a {
    display: block;
    padding: 12px 10px;
    color: #333333;
    font-size: 1.2rem;
    background-color: #e8eff1;
    border-bottom: 1px solid #ffffff;
  }

  /* ----- FooterBody ----- */
  .FooterBody {
    padding: 10px;
    background-color: #66797e;
  }

  /* footer-copyright */
  .footer-copyright {
    color: #ffffff;
    font-size: 1.2rem;
    text-align: center;
  }

  /* ----- Pagetop ----- */
  .Pagetop > a {
    position: relative;
    display: block;
    height: 45px;
    background-color: #00a05c;
  }
  .Pagetop > a:after {
    position: absolute;
    content: '';
    width: 13px;
    height: 13px;
    top: 50%;
    left: 50%;
    border-top: 3px solid #ffffff;
    border-right: 3px solid #ffffff;
    -webkit-transform: rotate(-45deg) translate(-50%, -50%);
    transform: rotate(-45deg) translate(-50%, -50%);
  }

  /* ------------------------------------------------------
   * Clearfix
  ------------------------------------------------------ */
  .clearfix::after {
    clear: both;
    content: "";
    display: block;
  }
}
