@charset "UTF-8";
@import url(./fontawesome-all.min.css);
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local("Noto Sans CJK JP"), local("Noto Sans JP"), url(https://fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.woff2) format("woff2"), url(https://fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.woff) format("woff"), url(https://fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.otf) format("opentype"); }

/*  index ~ member

----------------------------------------------------*/
/*-- common --*/
[id^="sec"] {
  width: 100%;
  padding-top: 2em;
  margin-bottom: 40px; }
  [id^="sec"] .ttlImg {
    line-height: 0;
    margin: 0 auto 2em;
    text-align: center;
    max-width: 80vw; }
    [id^="sec"] .ttlImg img {
      max-width: 500px;
      margin: 0 auto; }

/*///////////////////////////////////////////////////////////

//// ippan  ///////////////////////////////////////////////*/
#secTopImage {
  background: url("../images/top_img.jpg") center bottom no-repeat;
  background-size: cover;
  min-height: 400px;
  height: 400px;
  padding: 2em 0;
  position: relative; }
  #secTopImage nav.loginNav {
    width: 70%;
    max-width: 300px;
    margin: 0 auto;
    padding: 1rem;
    background-color: rgba(255, 255, 255, 0.8); }
    #secTopImage nav.loginNav h3 {
      border: solid 1px #e50012;
      background-color: #fff;
      text-align: center;
      padding: 1rem;
      color: #e50012;
      margin-bottom: 4px;
      font-size: 1.6em;
      font-weight: bold; }
    #secTopImage nav.loginNav ul li {
      margin-bottom: 4px; }
      #secTopImage nav.loginNav ul li a {
        background-color: #e50012;
        text-decoration: none;
        color: #fff;
        display: block;
        line-height: 3em;
        height: 3em;
        padding: 0 .8em;
        position: relative; }
        #secTopImage nav.loginNav ul li a:after {
          content: "";
          position: absolute;
          bottom: 4px;
          right: 4px;
          width: 0;
          height: 0;
          border-bottom: 6px solid #fff;
          border-left: 6px solid transparent; }

#secPickup {
  padding-top: 0; }
  #secPickup h2.ttlImg {
    margin-bottom: 0; }
  #secPickup .topBnr {
    background-color: #00a63c;
    color: #fff;
    text-align: center;
    display: block;
    max-width: 100%;
    padding: 0;
    min-height: 120px;
    margin: 0 3%; }

#secTopmenu {
  background-color: #f3f3f3;
  border-top: solid 3px #00A63C;
  padding-bottom: 4em;
  margin-bottom: 0; }
  #secTopmenu h2 {
    margin: 1em auto; }
  #secTopmenu dl {
    width: 100%;
    display: block; }
    #secTopmenu dl dt, #secTopmenu dl dd {
      padding: 15px; }
      #secTopmenu dl dt ul, #secTopmenu dl dd ul {
        width: 100%;
        display: block; }
        #secTopmenu dl dt ul li, #secTopmenu dl dd ul li {
          width: 100%;
          margin-bottom: 5px; }
          #secTopmenu dl dt ul li a, #secTopmenu dl dd ul li a {
            display: block;
            border: solid 2px #00A63C;
            background-color: #fff;
            height: 6em;
            line-height: 6em;
            padding: 0 1em;
            text-align: center;
            text-decoration: none;
            color: #00A63C;
            font-weight: bold;
            position: relative; }
            #secTopmenu dl dt ul li a:after, #secTopmenu dl dd ul li a:after {
              content: "";
              position: absolute;
              bottom: 4px;
              right: 4px;
              width: 0;
              height: 0;
              border-bottom: 6px solid #00A63C;
              border-left: 6px solid transparent; }
    #secTopmenu dl dd {
      background-color: #fff; }
      #secTopmenu dl dd ul > li > a {
        border: solid 1px #fff;
        background-color: #e50012;
        line-height: 7em;
        color: #fff; }
        #secTopmenu dl dd ul > li > a:before {
          content: "会員メニュー";
          display: block;
          background-color: #fff;
          color: #4c4c4c;
          text-align: center;
          padding: 5px;
          line-height: 1;
          font-size: 1.2rem;
          position: absolute;
          top: 2px;
          left: 2px;
          right: 2px; }
        #secTopmenu dl dd ul > li > a:after {
          content: "";
          position: absolute;
          bottom: 4px;
          right: 4px;
          width: 0;
          height: 0;
          border-bottom: 6px solid #fff;
          border-left: 6px solid transparent; }

#secInfo1 {
  border-top: solid 3px #00A63C; }

#secTopbnr {
  padding: 0; }
  #secTopbnr .hatoko {
    display: block;
    overflow: hidden; }
    #secTopbnr .hatoko img {
      float: right;
      max-height: 100px;
      width: auto; }
  #secTopbnr ul {
    padding: 0 3%; }
    #secTopbnr ul li {
      margin-bottom: 5px; }
      #secTopbnr ul li a {
        border: solid 1px #ccc;
        display: block; }

/*/// secSlider  /////////////////////////////*/
#secSlider {
  padding: 0 15px;
  /** swiper.js*/
  /** mainvisual*/ }
  #secSlider .swiper-container {
    width: 100%;
    height: 100%;
    overflow: visible;
    position: relative;
    z-index: 1; }
  #secSlider .mainvisual {
    overflow-x: hidden; }

#secSlideBnr {
  background-color: #fbdbde;
  padding: 2em 0;
  margin-bottom: 0; }
  #secSlideBnr .swiper-container {
    width: 100%;
    height: 100%; }
  #secSlideBnr .swiper-slide {
    text-align: center;
    font-size: 18px;
    background: transparent;
    /* Center slide text vertically */
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
    max-height: 40px; }
    #secSlideBnr .swiper-slide img {
      min-height: 40px;
      min-width: 160px;
      width: auto; }

.swiper-button-prev,
.swiper-button-next {
  z-index: 10000;
  width: 3em; }

.swiper-button-prev:before,
.swiper-button-next:before {
  content: "";
  z-index: 9999;
  width: 2rem;
  height: 2rem;
  background-color: #fff;
  border-radius: 50%;
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: absolute; }

.swiper-button-prev:after {
  content: "\f137";
  font-family: "Font Awesome 5 Free";
  color: #7c7c7c;
  font-size: 2.5em;
  font-weight: bold;
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: absolute;
  z-index: 10001; }

.swiper-button-next:after {
  content: "\f138";
  font-family: "Font Awesome 5 Free";
  color: #7c7c7c;
  font-size: 2.5em;
  font-weight: bold;
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: absolute;
  z-index: 10001; }

@media (min-width: 768px) {
  .swiper-button-prev,
  .swiper-button-next {
    width: 27px; } }

/*///////////////////////////////////////////////////////////

//// member  //////////////////////////////////////////////*/
#secMemberMenu {
  position: relative;
  z-index: 1; }
  #secMemberMenu nav {
    padding: 0 3%;
    width: 100%;
    display: block;
    position: relative;
    z-index: 9; }
    #secMemberMenu nav .hatoko {
      width: 27%;
      height: auto;
      display: inline-block;
      position: absolute;
      top: -6rem;
      left: 1rem;
      z-index: 2; }
    #secMemberMenu nav ul {
      width: 100%; }
      #secMemberMenu nav ul li {
        margin-bottom: 5px; }
        #secMemberMenu nav ul li a {
          border: solid 2px #e50012;
          background-color: #fff;
          text-align: center;
          text-decoration: none;
          width: 100%;
          min-height: 5em;
          display: -webkit-box;
          display: -moz-box;
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-align: center;
          -ms-flex-align: center;
          align-items: center;
          -webkit-box-pack: center;
          -ms-flex-pack: center;
          justify-content: center;
          padding: 1em;
          color: #4c4c4c;
          position: relative;
          z-index: 10; }
          #secMemberMenu nav ul li a:after {
            content: "";
            position: absolute;
            bottom: 4px;
            right: 4px;
            width: 0;
            height: 0;
            border-bottom: 6px solid #e50012;
            border-left: 6px solid transparent; }

#secMemberCnt1 .txtinfo1 {
  background-color: #fff;
  display: block;
  padding: 1em;
  margin: 0 3%; }
  #secMemberCnt1 .txtinfo1 h2 {
    letter-spacing: 1px;
    line-height: 2em;
    height: 2em;
    margin-bottom: 1rem;
    text-align: center;
    color: #194878;
    font-size: 2em; }
  #secMemberCnt1 .txtinfo1 p {
    margin-bottom: 1em;
    font-size: 1.4rem; }
  #secMemberCnt1 .txtinfo1 p:nth-of-type(2) {
    padding-left: 2em;
    text-align: left; }
  #secMemberCnt1 .txtinfo1 ul li {
    padding: 5px 5px 10px;
    margin-bottom: 10px;
    border-bottom: dashed 1px #ccc;
    /* a{

          background-color: $ciR;

          display: block;

          color:#fff;

          text-align: center;

          text-decoration:none;

          line-height: 3.2em;

          height: 3.2em;

          position: relative;

          &:after{    //cornerArrow

            content:"";

            position: absolute;

            bottom: 4px;

            right: 4px;

            width: 0;

            height: 0;

            border-bottom: 6px solid #fff;

            border-left: 6px solid transparent;

          }

        } */ }
    #secMemberCnt1 .txtinfo1 ul li p {
      font-weight: bold;
      margin-bottom: 5px; }

#secInfoMember {
  border-top: solid 3px #e50012; }

#secMemberWaribiki {
  border-top: solid 3px #e50012; }
  #secMemberWaribiki h2.ttlImg {
    max-width: 92vw !important; }
  #secMemberWaribiki nav {
    padding: 0 3%; }
    #secMemberWaribiki nav dl {
      width: 100%;
      padding: 5px 5px 10px;
      margin-bottom: 10px;
      border-bottom: dashed 1px #ccc; }
      #secMemberWaribiki nav dl dt, #secMemberWaribiki nav dl dd {
        width: 100%;
        display: block; }
      #secMemberWaribiki nav dl dt {
        padding: 0;
        margin-bottom: 5px; }
        #secMemberWaribiki nav dl dt h3 {
          padding: 5px;
          font-size: 1.5rem;
          font-weight: bold;
          color: #4c4c4c;
          line-height: 1.5; }
        #secMemberWaribiki nav dl dt p {
          font-size: 1.4rem;
          padding: 5px; }
      #secMemberWaribiki nav dl dd {
        /* a{

          display: block;

          text-align: center;

          line-height: 3.2em;

          height: 3.2em;

          color:#fff;

          position: relative;

        } */ }

#secMemberOyakudachi {
  border-top: solid 3px #e50012; }
  #secMemberOyakudachi nav {
    padding: 0 3%; }
    #secMemberOyakudachi nav dl {
      width: 100%;
      padding: 5px 5px 10px;
      margin-bottom: 10px;
      border-bottom: dashed 1px #ccc; }
      #secMemberOyakudachi nav dl dt, #secMemberOyakudachi nav dl dd {
        width: 100%;
        display: block; }
      #secMemberOyakudachi nav dl dt {
        padding: 0; }
        #secMemberOyakudachi nav dl dt h3 {
          padding: 5px;
          font-size: 1.5rem;
          font-weight: bold;
          color: #4c4c4c;
          line-height: 1.5; }
        #secMemberOyakudachi nav dl dt p {
          color: #4c4c4c;
          display: block;
          font-size: 1.2rem;
          font-weight: normal; }
      #secMemberOyakudachi nav dl dd {
        /* a{

          display: block;

          text-align: center;

          line-height: 3.2em;

          height: 3.2em;

          color:#fff;

          position: relative;

        } */ }

@media (min-width: 768px) {
  /* iPadmini以上 --------------------------------------------------- */
  [id^="sec"] .ttlImg {
    max-width: 60vw; }
  #secTopImage {
    padding: 0; }
    #secTopImage nav.loginNav {
      width: 35%;
      max-width: 270px;
      position: absolute;
      top: 40px;
      left: 40px; }
  #secTopmenu h2 {
    margin: 1em auto; }
  #secTopmenu dl dt ul, #secTopmenu dl dd ul {
    display: -webkit-box;
    display: -moz-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
    #secTopmenu dl dt ul > li, #secTopmenu dl dd ul > li {
      width: calc(50% - 5px);
      margin-bottom: 10px; }
  #secTopmenu dl dd ul > li > a {
    color: #fff; }
    #secTopmenu dl dd ul > li > a:before {
      content: "会員メニュー"; }
  #secPickup h2.ttlImg {
    position: relative;
    left: 10%; }
  #secPickup .topBnr {
    max-width: 1100px;
    min-height: 200px;
    margin: 0 15px; }
    #secPickup .topBnr img {
      display: block;
      height: auto; }
  [id^="secInfo"] {
    padding: inherit 3% 0; }
  #secTopbnr {
    margin-bottom: 30px; }
    #secTopbnr ul {
      padding: 0 3%;
      display: -webkit-box;
      display: -moz-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between; }
      #secTopbnr ul li {
        width: 32.9%; }
  /*///////////////////////////////////////////////////////////

//// member  //////////////////////////////////////////////*/
  #secMemberMenu {
    position: relative;
    z-index: 1; }
    #secMemberMenu nav {
      display: block;
      clear: both;
      overflow: hidden; }
      #secMemberMenu nav .hatoko {
        position: absolute;
        top: 2rem;
        left: 2rem; }
      #secMemberMenu nav .hatoko {
        width: 25%; }
      #secMemberMenu nav ul {
        display: -webkit-box;
        display: -moz-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        width: 72%;
        overflow: hidden;
        float: right; }
        #secMemberMenu nav ul li {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          width: 32.7%;
          margin-bottom: 5px;
          position: relative; }
          #secMemberMenu nav ul li a {
            display: -webkit-box;
            display: -moz-box;
            display: -webkit-flex;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
            -ms-flex-align: center;
            align-items: center;
            -webkit-box-pack: center;
            -ms-flex-pack: center;
            justify-content: center;
            text-align: center;
            width: 100%;
            min-height: 9rem;
            padding: 1em;
            position: relative;
            z-index: 10; }
  #secMemberCnt1 .txtinfo1 h2 {
    font-size: 2em; }
  #secMemberCnt1 .txtinfo1 p {
    text-align: center; }
  #secMemberCnt1 .txtinfo1 p:nth-of-type(2) {
    padding-left: 0;
    text-align: center; }
    #secMemberCnt1 .txtinfo1 p:nth-of-type(2) span {
      text-align: left;
      display: inline-block;
      margin: 0 auto; }
  #secMemberCnt1 .txtinfo1 ul {
    margin-top: 3em; }
    #secMemberCnt1 .txtinfo1 ul li {
      display: -webkit-box;
      display: -moz-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between; }
      #secMemberCnt1 .txtinfo1 ul li p {
        display: -webkit-box;
        display: -moz-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        padding-left: 1rem;
        margin-bottom: 0; }
      #secMemberCnt1 .txtinfo1 ul li a {
        min-width: 180px;
        line-height: 3.5rem;
        height: 3.5rem; }
  #secMemberWaribiki nav {
    padding: 0 3%; }
    #secMemberWaribiki nav dl {
      position: relative;
      padding: 5px 5px;
      margin-bottom: 2em; }
      #secMemberWaribiki nav dl dt, #secMemberWaribiki nav dl dd {
        width: auto;
        display: inline-block; }
      #secMemberWaribiki nav dl dt {
        width: 100%;
        padding: 0; }
        #secMemberWaribiki nav dl dt h3 {
          padding: 0 0 0 10px;
          font-size: 1.6rem;
          line-height: 3.5rem;
          height: 3.5rem;
          margin-bottom: 5px; }
        #secMemberWaribiki nav dl dt p {
          font-size: 1.4rem;
          padding-left: 10px; }
      #secMemberWaribiki nav dl dd {
        width: 270px;
        margin-bottom: 0;
        position: absolute;
        top: 5px;
        right: 5px;
        /* a{

            width:180px;

            line-height: 3.5rem;

            height: 3.5rem;

          } */ }
  #secMemberOyakudachi nav {
    padding: 0 3%; }
    #secMemberOyakudachi nav dl {
      position: relative;
      padding: 5px 5px;
      margin-bottom: 2em; }
      #secMemberOyakudachi nav dl dt, #secMemberOyakudachi nav dl dd {
        width: auto;
        display: inline-block; }
      #secMemberOyakudachi nav dl dt {
        width: 100%;
        padding: 0; }
        #secMemberOyakudachi nav dl dt h3 {
          padding: 0 0 0 10px;
          font-size: 1.6rem;
          line-height: 3.5rem;
          height: 3.5rem;
          margin-bottom: 5px; }
        #secMemberOyakudachi nav dl dt p {
          margin-top: 0;
          padding-left: 10px; }
      #secMemberOyakudachi nav dl dd {
        width: 270px;
        margin-bottom: 0;
        position: absolute;
        top: 5px;
        right: 5px;
        /* a{

          width:180px;

          line-height: 3.5rem;

          height: 3.5rem;

          min-height:3.5rem;

        } */ } }

@media (min-width: 992px) {
  /* PC ---------------------------------------------------------------- */
  #secTopImage {
    min-height: 450px;
    height: 450px;
    margin-bottom: 60px;
    position: relative; }
    #secTopImage nav.loginNav {
      margin-top: 70px; }
      #secTopImage nav.loginNav ul > li > a {
        line-height: 50px;
        height: 50px; }
        #secTopImage nav.loginNav ul > li > a:hover {
          opacity: .7; }
  #secTopmenu h2 {
    margin: 1em auto; }
  #secTopmenu dl {
    display: -webkit-box;
    display: -moz-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
    #secTopmenu dl dt ul > li, #secTopmenu dl dd ul > li {
      background-color: #fff; }
      #secTopmenu dl dt ul > li > a, #secTopmenu dl dd ul > li > a {
        font-size: 16px;
        letter-spacing: 1px;
        font-weight: bold; }
        #secTopmenu dl dt ul > li > a:hover, #secTopmenu dl dd ul > li > a:hover {
          opacity: .5; }
    #secTopmenu dl dt {
      width: 66%; }
      #secTopmenu dl dt ul {
        display: -webkit-box;
        display: -moz-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between; }
        #secTopmenu dl dt ul > li {
          width: calc(50% - 5px);
          margin-bottom: 10px; }
        #secTopmenu dl dt ul li:nth-child(n+3) {
          margin-bottom: 0; }
    #secTopmenu dl dd {
      width: 34%; }
      #secTopmenu dl dd ul {
        display: block; }
        #secTopmenu dl dd ul > li {
          width: 100%; }
          #secTopmenu dl dd ul > li > a:hover {
            opacity: .5; }
        #secTopmenu dl dd ul li:last-child {
          margin-bottom: 0; }
  /*/// secSlider  /////////////////////////////*/
  #secSlider .mainvisual {
    max-width: 1100px;
    margin: 0 auto; }
  /*///////////////////////////////////////////////////////////

  //// member  //////////////////////////////////////////////*/
  #secMemberMenu ul > li:hover {
    background-color: #fff; }
  #secMemberMenu ul > li > a {
    font-weight: bold; }
    #secMemberMenu ul > li > a:hover {
      color: #e50012;
      opacity: .5; }
  #secMemberCnt1 .txtinfo1 ul > li > a {
    /* min-width:180px;

        line-height: 4.5rem;

        height: 4.5rem; */ }
    #secMemberCnt1 .txtinfo1 ul > li > a:hover {
      opacity: .7; }
  #secMemberWaribiki nav dl dt h3 {
    line-height: 5rem;
    height: 5rem; }
  #secMemberWaribiki nav dl dd {
    /* a{

            line-height: 5rem;

            height: 5rem;

          } */ }
  #secMemberOyakudachi nav dl dt h3 {
    line-height: 5rem;
    height: 5rem; }
  #secMemberOyakudachi nav dl dd {
    /* a{

            line-height: 5rem;

            height: 5rem;

          } */ }
  /* IE11 */ }

@media all and (min-width: 992px) and (-ms-high-contrast: none) {
  *::-ms-backdrop, .swiper-button-prev:before {
    left: 6px; }
  *::-ms-backdrop, .swiper-button-prev:after {
    left: 5px; }
  *::-ms-backdrop, .swiper-button-next:before {
    right: 5px; }
  *::-ms-backdrop, .swiper-button-next:after {
    right: 15px; } }

@media (min-width: 1025px) {
  /* PC ---------------------------------------------------------------- */
  #secPickup .topBnr {
    margin: 0; } }
