@charset "UTF-8";
/*=============================================*/
/* layout*/
/*=============================================*/
/******************/
/* header */
/******************/

header {
    position: relative;
    padding: 2.4em 0 3em;
    transition: 0.3s;
}
.logo {
    text-align: center;
    margin-bottom: 1em;
}
.logo img {
    width: 90px;
    height: auto;
}
.main-nav {
    text-align: center;
}
.main-nav ul li {
    display: inline-block;
    font-weight: 600;
}
.main-nav ul li a {
    display: block;
    font-size: 1.4em;
    color: rgba(13,1,116,1);
    padding: 0.7em 2em;
    letter-spacing: 0.05em;
    opacity: 0.95;
    filter: alpha(opacity=95);
    -ms-filter: "alpha( opacity=95 )";
    -webkit-transition: all 0.9s;
    transition: all 0.9s;
}
.main-nav ul li a:hover {
    opacity: 0.5;
    filter: alpha(opacity=50);
    -ms-filter: "alpha( opacity=50 )";
}
.head-sub-nav {
    position: absolute;
    right: 2em;
    top: 2em;
}
.head-sub-nav ul {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
.head-sub-nav ul li {
    display: inline-block;
}
.head-sub-nav ul li.s-nav-onlineshop a {
    font-size: 1.4em;
    font-weight: 600;
    letter-spacing: 0.05em;
    margin-right: 10px;
    color: #01175f;
    transition: all 0.9s;
}
.head-sub-nav ul li.s-nav-corporation a {
    display: block;
    font-size: 1em;
    letter-spacing: 0.1em;
    color: #fff;
    background-color: #01175f;
    padding: 0 1.2em;
    line-height: 25px;
    margin-right: 1.0em;
}
.head-sub-nav ul li.s-nav-corporation a:hover {
    opacity: 0.9;
    filter: alpha(opacity=90);
    -ms-filter: "alpha( opacity=90 )";
    -webkit-transition: all 0.9s;
    transition: all 0.9s;
}
.head-sub-nav ul li.s-nav-language select {
    background: url(../img/common/arrow-select.png) no-repeat 95% center;
    border: 2px solid #01175f;
    font-size: 0.9em;
    color: #01175f;
    padding: 0 1.2em 0 0.8em;
    height: 25px;
    cursor: pointer;
}
.head-sub-nav ul li.s-nav-search {
    position: relative;
    vertical-align: baseline;
    margin-left: 1em;
}
.head-sub-nav ul li.s-nav-search .stretch {
    cursor: pointer;
    /* padding: 8px 10px; */
    transition: all .6s ease;
    background: #01175f;
    border: none;
    line-height: 1.3;
    position: relative;
    height: 25px;
    width: 25px;
}
.head-sub-nav ul li.s-nav-search .stretch:focus,
.head-sub-nav ul li.s-nav-search .stretch.focus {
    width: 12em;
    background: #f5f5f5;
}
.head-sub-nav ul li.s-nav-search .btn {
    position: absolute;
    right: 4px;
    top: 4px;
    /* padding: 0.46em; */
    color: #fff;
    font-size: 1.6em;
    line-height: 1em;
    cursor: pointer;
}
/******************/
/* fixed */
/******************/
.page-head-fix .page-head,
.top-page .page-head {
    left: 0;
    top: -100px;
    width: 100%;
    padding: 1.0em 0 2.0em;
    border-bottom: 2px solid #01175f;
    overflow: hidden;
    background: #fff;
    z-index: 9999;
}
.page-head-fix .page-head .logo {
    width: 20%;
    float: left;
    margin-left: 3%;
    margin-bottom: 0;
    text-align: left;
}
.page-head-fix .page-head .logo img,
.top-page .page-head .logo img {
    width: 167px;
    height: 44px;
}
.top-page .page-head .head-sub-nav {
    /*    font-size: 0; */
}
.page-head-fix .page-head .main-nav {
    width: 50%;
    float: left;
}
.page-head-fix .page-head .main-nav ul {
    display: table;
    margin-top: 1.4em;
}
.page-head-fix .page-head .main-nav ul li,
.top-page .page-head .main-nav ul li {
    display: table-cell;
}
.page-head-fix .page-head .main-nav ul li a,
.top-page .page-head .main-nav ul li a {
    display: block;
    font-size: 1.3em;
    color: #01175f;
    padding: 10px 15px;
    letter-spacing: 0.05em;
}
.fixed-header {
    padding-top: 21.25em;
}
/******************/
/* Body */
/******************/

.main-content {
   margin: 0 auto;
   padding-top: 6%;
   overflow: hidden;
}
.wrap {
   /* max-width: 1224px; */
   max-width: 1014px;
   margin: 0 auto;
   padding: 0 10.5em;
}

/******************/
/* Footer */
/******************/

footer {
    position: relative;
    padding: 3.0em 0 0;
    background-color: #001a50;
}
footer .foot-logo {
    width: 42px;
    height: 41px;
    text-align: center;
    margin: auto;
}
footer .foot-link {
    margin: 2.5em 0 4.5em;
    text-align: center;
    font-family:"Helvetica", "游ゴシック", "ヒラギノW3", "ヒラギノ角ゴ", "メイリオ", "MS Gothic", "YuGothic";
}
footer .foot-link li {
    display: inline-block;
}
footer .foot-link li a {
    font-size: 1.3em;
    padding: 0.5em 2.3em;
    letter-spacing: 0.1em;
    color: #fff;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
}
footer .foot-link li a:hover {
    opacity: 0.5;
    filter: alpha(opacity=50);
    -ms-filter: "alpha( opacity=50 )";
}

footer .foot-link-bana {
    margin-bottom: 4.5em;
    text-align: center;
}
footer .foot-link-bana li {
    display: inline-block;
    width: 174px;
    margin-right: 1.5em;
}
footer .foot-link-bana li img {
  vertical-align: bottom;
}
footer .foot-link-bana li:nth-child(2n) {
    margin-right: 0;
}
footer .foot-link-bana li a {
    -webkit-transition: all 0.9s;
    transition: all 0.9s;
}
footer .foot-link-bana li a:hover {
    opacity: 0.5;
    filter: alpha(opacity=50);
    -ms-filter: "alpha( opacity=50 )";
}

footer .foot-category-link {
    display: -ms-flexbox;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    margin-bottom: 3.3em;
}
footer .foot-category-link li {
    position: relative;
    display: -ms-flexbox;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    width: 60px;
    height: 60px;
    margin-right: 2.3em;
    text-align: center;
    -ms-flex-align: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
    background: #000;
    border-radius: 150px;
}
footer .foot-category-link li:last-child {
    margin-right: 0;
}
footer .foot-category-link li a span {
    position: relative;
    display: block;
    font-size: 1.2em;
    line-height: 1.3em;
    color: #fff;
    z-index: 1;
    opacity: 0.9;
}
footer .foot-category-link li img {
    position: absolute;
    left: 0;
    top: 0;
    border-radius: 150px;
    opacity: 0.5;
    filter: alpha(opacity=50);
    -ms-filter: "alpha( opacity=50 )";
}
footer .foot-category-link li a:hover,
footer .foot-category-link li a:hover img {
    opacity: 1.0 ;
    filter: alpha(opacity=100) ;
    -ms-filter: "alpha( opacity=100 )";
}
footer li.pop-cover {
    transition-duration: 0.6s;
}
footer li.pop-cover:hover {
    transform: scale(1.5);
    transition-duration: 0.6s;
}
/*
footer .foot-category-link li a:hover span {
    display: none;
}
*/
footer .sns-link {
    /* width: 27px; */
    /* height: 30px; */
    margin: 0 auto 1.5em;
    display: table;
}
footer .sns-link a {
    /* display: block; */
    -webkit-transition: all 0.9s;
    transition: all 0.9s;
    display: table-cell;
    width: 27px;
    padding: 0 0.8em;
}
footer .sns-link a img {
    vertical-align: bottom;
}
footer .sns-link a:hover {
    opacity: 0.5;
    filter: alpha(opacity=50);
    -ms-filter: "alpha( opacity=50 )";
}
footer .foot-sab-link {
    text-align: center;
    margin-bottom: 1.0em;
}
footer .foot-sab-link li {
    display: inline-block;
    margin-bottom: 1.0em;
}
footer .foot-sab-link li a {
    padding: 0.4em 2em;
    color: #fff;
    font-size: 1.0em;
    letter-spacing: 0.1em;
    font-family: "Helvetica", "Droid Sans", '游ゴシック', YuGothic, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
    -webkit-transition: all 0.9s;
    transition: all 0.9s;
}
footer .foot-sab-link li a:hover {
    opacity: 0.5;
    filter: alpha(opacity=50);
    -ms-filter: "alpha( opacity=50 )";
}
footer .foot-sab-link li:after {
    content: '|';
    color: #fff;
}
footer .copyright {
    background-color: #fff;
    text-align: center;
    padding: 1.0em 0;
    font-family: "Helvetica", "Droid Sans", '游ゴシック', YuGothic, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
    color: #1a1a1a;
    font-size: 1em;
    letter-spacing: 0.1em;
}
/******************/
/* Header-Fix */
/******************/
.main-nav.is-fixed {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 2;
    width: 100%;
    background-color: #fff;
    border-bottom: 2px solid #01175f;
}
.main-nav.is-fixed ul {
    padding: 1.5em 0 1.4em 20%;
    width: 80%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    text-align: left;
}
.logo-fixed.logo {
    position: fixed;
    left: 1.4%;
    top: 15px;
    width: 139px;
    height: 37px;
    z-index: 3;
}
.main-nav.is-fixed ul li a {
  padding: 0.7em 2em;
  -webkit-transition: all 0.95s;
  transition: all 0.95s;
  font-size: 1.3em;
  letter-spacing;
}
.nav-fixed.head-sub-nav {
    position: fixed;
    right: 2em;
    top: 2em;
    z-index: 3;
}
.logo-fixed.logo .pc-only {
    display: none !important;
}
.logo .sp-only{
  opacity: 0;
  display: block !important;
  height: 0 !important;
}
.logo-fixed.logo .sp-only {
  display: block !important;
  -webkit-transition: all 0.95s;
  transition: all 0.95s;
  opacity: 1;
  height: auto !important;
}
.logo-fixed.logo img {
  width: 100%;
  height: auto;
}
/*=============================================*/
/*404*/
/*=============================================*/
.not-found {
  text-align: center;
}
.link-btn {
    margin: 5em 0;
    padding-bottom: 1em;
}
/*=============================================*/
/*Tablex*/
/*=============================================*/
.scroll-message {
    display: none;
}

/*=============================================*/
/*Flex*/
/*=============================================*/
.flex {
    display: flex;
    display: -ms-flexbox;
    display: -webkit-box;
    display: -webkit-flex;
    justify-content: space-between;
    -ms-flex-pack: justify;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
}
.main-content .fl-rt,
.main-content .fl-lf {
    width: 50%;
}
/*=============================================*/
/*余白調整用*/
/*=============================================*/
.mgt1 {
  margin-top: 1em;
}
.mgt2 {
  margin-top: 2em;
}
.mgt3 {
  margin-top: 3em;
}
.mgt4 {
  margin-top: 4em;
}
.mgt5 {
  margin-top: 5em;
}
.mgt6 {
  margin-top: 6em;
}
.mgt7 {
  margin-top: 7em;
}
.mgr1 {
  margin-right: 1em;
}
.mgr2 {
  margin-right: 2em;
}
.mgr3 {
  margin-right: 3em;
}
.mgr4 {
  margin-right: 4em;
}
.mgr5 {
  margin-right: 5em;
}
.mgr6 {
  margin-right: 6em;
}
.mgr7 {
  margin-right: 7em;
}
.mgl1 {
  margin-left: 1em;
}
.mgl2 {
  margin-left: 2em;
}
.mgl3 {
  margin-left: 3em;
}
.mgl4 {
  margin-left: 4em;
}
.mgl5 {
  margin-left: 5em;
}
.mgl6 {
  margin-left: 6em;
}
.mgl7 {
  margin-left: 7em;
}
.mgb1 {
  margin-bottom: 1em;
}
.mgb2 {
  margin-bottom: 2em;
}
.mgb3 {
  margin-bottom: 3em;
}
.mgb4 {
  margin-bottom: 4em;
}
.mgb5 {
  margin-bottom: 5em;
}
.mgb6 {
  margin-bottom: 6em;
}
.mgb7 {
  margin-bottom: 7em;
}
.pdt1 {
  padding-top: 1em;
}
.pdt2 {
  padding-top: 2em;
}
.pdt3 {
  padding-top: 3em;
}
.pdt4 {
  padding-top: 4em;
}
.pdt5 {
  padding-top: 5em;
}
.pdt6 {
  padding-top: 6em;
}
.pdt7 {
  padding-top: 7em;
}
.pdr1 {
  padding-right: 1em;
}
.pdr2 {
  padding-right: 2em;
}
.pdr3 {
  padding-right: 3em;
}
.pdr4 {
  padding-right: 4em;
}
.pdr5 {
  padding-right: 5em;
}
.pdr6 {
  padding-right: 6em;
}
.pdr7 {
  padding-right: 7em;
}
.pdl1 {
  padding-left: 1em;
}
.pdl2 {
  padding-left: 2em;
}
.pdl3 {
  padding-left: 3em;
}
.pdl4 {
  padding-left: 4em;
}
.pdl5 {
  padding-left: 5em;
}
.pdl6 {
  padding-left: 6em;
}
.pdl7 {
  padding-left: 7em;
}
.pdb1 {
  padding-bottom: 1em;
}
.pdb2 {
  padding-bottom: 1em;
}
.pdb3 {
  padding-bottom: 1em;
}
.pdb4 {
  padding-bottom: 4em;
}
.pdb5 {
  padding-bottom: 5em;
}
.pdb6 {
  padding-bottom: 6em;
}
.pdb7 {
  padding-bottom: 7em;
}

/*=============================================*/
/*media query*/
/*=============================================*/
@media screen and (max-width: 1307px) {
  /******************/
  /* Header-Fix */
  /******************/

  .main-nav.is-fixed ul {
      padding: 6em 0 0 0;
      width: 100%;
      text-align: center;
  }
}

@media screen and (max-width: 1080px) {
    /*=============================================*/
    /* layout*/
    /*=============================================*/
    /******************/
    /* header */
    /******************/
    .main-nav ul li a {
/*        padding: 10px 30px; */
    }
    .logo img.sp-only{
        max-width: 130px;
        height: auto;
    }
  }
    @media screen and (max-width: 768px) {
      /*=============================================*/
      /* layout*/
      /*=============================================*/
      /******************/
      /* Header-Fix */
      /******************/
      .logo-fixed.logo {
          position: static;
          width: 30%;
          height: auto;
      }
      .main-nav.is-fixed ul li a {
          padding: 0.7em 1.5em;
          -webkit-transition: all 0.95s;
          transition: all 0.95s;
      }
      .nav-fixed.head-sub-nav {
          position: static;
          right: auto;
          top: auto;
      }
      .logo-fixed.logo .pc-only {
          display: none !important;
      }
      .logo .sp-only{
          opacity: 1;
          display: block !important;
          height: auto !important;
      }

      /******************/
      /* header */
      /******************/
      header {
          position: fixed;
          display: -ms-flexbox;
          display: -webkit-box;
          display: -webkit-flex;
          display: flex;
          -ms-flex-align: center;
          -webkit-box-align: center;
          -webkit-align-items: center;
          align-items: center;
          width: 100%;
          max-height: 50px;
          padding: 3% 0 3% 1.5em;
          background-color: rgba(255, 255, 255, 0.8);
          z-index: 1;
          -webkit-box-sizing: border-box;
          -moz-box-sizing: border-box;
          -o-box-sizing: border-box;
          -ms-box-sizing: border-box;
          box-sizing: border-box;
      }
      .logo {
          width: 30%;
          margin-bottom: 0;
          margin-right: 5%;
      }
      .logo img {
          width: 100%;
          height: auto;
      }
      .head-sub-nav {
          position: static;
          width: 65%;
          text-align: right;
          padding-right: 35px;
      }
      .head-sub-nav ul li {
          display: inline-block;
        /*  width: 40%; */
      }
      .head-sub-nav ul li.s-nav-onlineshop a {
          display: none;
      }
      .head-sub-nav ul li.s-nav-corporation a {
          display: block;
          font-size: 0.85em;
          padding: 0 0.8em;
          margin-right: 1%;
          text-align: center;
          white-space: nowrap;
      }
      .head-sub-nav ul li.s-nav-language select {
          font-size: 0.9em;
          background: none;
          padding: 0.1em 0.4em;
          border: 1px solid #01175f;
          line-height: 1.15em;
          -webkit-box-sizing: border-box;
          -moz-box-sizing: border-box;
          -o-box-sizing: border-box;
          -ms-box-sizing: border-box;
          box-sizing: border-box;
      }
      .head-sub-nav ul li.s-nav-search {
          display: none;
      }
      /******************/
      /* wrap  */
      /******************/
      .wrap {
          padding: 0 1em;
      }
      /******************/
      /* Flex */
      /******************/
      .flex {
        flex-direction: column;
        margin-bottom: 2em;
      }
      .main-content .fl-rt,
      .main-content .fl-lf {
          width: 100%;
          max-width: inherit;
      }
      /******************/
      /* Tabel */
      /******************/
      .tb-scroll {
         overflow: auto;
         white-space: nowrap;
      }
      .scroll-message {
         color: #ff2222;
         text-indent: -1em;
         padding-left: 1em;
         display: inline-block;
         font-size: 1.2em;
      }

      /******************/
      /* Footer */
      /******************/
      footer {
          padding: 4.8em 0 0;
      }
      footer .foot-logo {
          width: 50px;
          height: 48px;
      }
      footer .foot-link {
          margin: 3em 0 5em;
      }
      footer .foot-link li {
          display: block;
          margin-bottom: 1.8em;
      }
      footer .foot-link li a {
          font-size: 1.6em;
          padding: 0.3em 2em;
      }
      footer .foot-link-bana {
          margin-bottom: 4.5em;
          text-align: center;
          font-size: 0;
      }
      footer .foot-link-bana li {
          display: inline-block;
          width: 48%;
          margin-right: 4%;
      }
      footer .foot-link-bana li:nth-child(2n) {
          margin-right: 0;
      }
      footer .foot-category-link {
          -ms-flex-wrap: wrap;
          -webkit-flex-wrap: wrap;
          flex-wrap: wrap;
      }
      footer .foot-category-link li {
          position: relative;
          display: -ms-flexbox;
          display: -webkit-box;
          display: -webkit-flex;
          display: flex;
          width: 18%;
          max-width: 60px;
          min-height: 60px;
          border-radius: 150px;
          margin-right: 2.45%;
          margin-bottom: 2em;
      }
      footer .foot-category-link li {
              max-width: 54px;
              min-height: 54px;
              width: 54px;
              height: 54px;
      }
      footer .foot-category-link li:nth-child(5n) {
          margin-right: 0;
      }
      footer .foot-category-link li:last-child {
          margin-right: 0;
      }
      footer .foot-category-link li a span {
          position: relative;
          display: block;
          font-size: 1.3em;
          color: #fff;
          z-index: 1;
      }
      footer .foot-category-link li img {
          position: absolute;
          left: 0;
          top: 0;
          border-radius: 150px;
          opacity: 0.5;
          filter: alpha(opacity=50);
          -ms-filter: "alpha( opacity=50 )";
      }
      footer .foot-category-link li a:hover img {
          opacity: 1;
          filter: alpha(opacity=100);
          -ms-filter: "alpha( opacity=100 )";
      }
      footer .foot-category-link li a:hover span {
          display: none;
      }
      footer .sns-link.sp-only {
          display: table!important;
          margin: 0 auto 3.5em;
      }
      footer .sns-link a {
          width: 23px;
          /* margin: 0 auto 3.5em; */
      }
      footer .foot-sab-link {
          text-align: center;
          margin: 4.5em 0 1em;
      }
      footer .foot-sab-link li {
          display: inline-block;
          margin-bottom: 1em;
      }
      footer .foot-sab-link li a {
          color: #fff;
          font-size: 1.1em;
          padding: 0.5em 1em;
      }
      footer .foot-sab-link li:after {
          content: '|';
          color: #fff;
      }
      footer .foot-sab-link li:nth-child(6):after,
      footer .foot-sab-link li:nth-child(3):after,
      footer .foot-sab-link li:last-child:after {
          content: none;
      }
      footer .copyright {
          background-color: #fff;
          text-align: center;
          padding: 1em 0;
          font-size: 1.16em;
      }
}
