/*! Writen  by SCSS */
.img_wrap {
  max-width: 1182px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 15px 0; }
  .img_wrap img {
    width: 100%; }
  .img_wrap .sld {
    overflow-x: scroll;
    overflow-y: hidden; }
    .img_wrap .sld figure {
      width: calc(3002% / 23.64); }
      .img_wrap .sld figure img {
        width: 100%; }
  .img_wrap .sc_icon {
    width: 50%;
    max-width: 300px;
    margin: 0 auto -30px;
    animation: next_anime 3s ease-in-out infinite; }
    @media screen and (max-width: 480px) {
      .img_wrap .sc_icon {
        margin-bottom: -15px; } }

@keyframes next_anime {
  0% {
    transform: translateX(8px); }
  50% {
    transform: translateX(-8px); }
  100% {
    transform: translateX(8px); } }
.contents_wrap {
  background: #fbf9f5;
  background: #fdfcf9;
  background: #fbf9f7; }

.sec00 {
  margin-bottom: clamp(50px, 7.5vw, 90px); }
  .sec00 .item_ttl {
    margin-bottom: clamp(40px, 4.167vw, 50px); }

.tab {
  display: flex;
  justify-content: center;
  gap: 15px calc(36% / 12);
  margin-top: clamp(30px, 4.167vw, 50px);
  padding-bottom: clamp(30px, 4.167vw, 50px);
  flex-wrap: wrap; }
  .tab li {
    width: calc(376% / 12); }
    @media screen and (max-width: 480px) {
      .tab li {
        width: 100%; } }
    .tab li a {
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      font-size: clamp(10px, 2.167vw, 26px);
      width: 100%;
      height: 3.6em;
      background: #006953;
      color: #fff;
      transition: all 0.3s ease-in-out; }
      @media screen and (max-width: 480px) {
        .tab li a {
          font-size: calc(16vw / 3.9); } }
      .tab li a.on, body:not(.mobile) .tab li a:hover {
        background: #cabb89;
        color: #006953; }
      .tab li a .eng {
        font-size: clamp(10px, 2.167vw, 26px);
        font-weight: 700;
        line-height: 1;
        letter-spacing: 0.15em;
        margin-bottom: 0.3em; }
        @media screen and (max-width: 480px) {
          .tab li a .eng {
            font-size: calc(16vw / 3.9); } }
      .tab li a .ja {
        font-size: clamp(10px, 1.5vw, 18px);
        line-height: 1;
        letter-spacing: 0.05em; }
        @media screen and (max-width: 480px) {
          .tab li a .ja {
            font-size: calc(13vw / 3.9); } }

.sub {
  display: flex;
  justify-content: center;
  gap: 15px calc(64% / 12);
  flex-wrap: wrap; }
  @media screen and (max-width: 480px) {
    .sub {
      gap: 10px 4%; } }
  .sub li {
    width: calc(252% / 12); }
    @media screen and (max-width: 480px) {
      .sub li {
        width: 48%; } }
    .sub li > div,
    .sub li a {
      display: block;
      text-align: center;
      width: 100%; }
      .sub li > div .eng,
      .sub li a .eng {
        font-size: clamp(10px, 1.751vw, 21px);
        font-weight: 700;
        line-height: 1;
        letter-spacing: 0.05em;
        padding: 0.5em 0;
        border-bottom: solid 1px #006953;
        background: #fdfcf9;
        color: #006953;
        transition: all 0.3s ease-in-out; }
        @media screen and (max-width: 480px) {
          .sub li > div .eng,
          .sub li a .eng {
            font-size: calc(15vw / 3.9); } }
      .sub li > div .ja,
      .sub li a .ja {
        font-size: clamp(10px, 1.25vw, 15px);
        line-height: 1;
        letter-spacing: 0.05em;
        color: #006953;
        padding: 0.4em 0; }
        @media screen and (max-width: 480px) {
          .sub li > div .ja,
          .sub li a .ja {
            font-size: calc(12vw / 3.9); } }
      .sub li > div.on .eng, body:not(.mobile) .sub li > div:hover .eng,
      .sub li a.on .eng,
      body:not(.mobile) .sub li a:hover .eng {
        background: #cabb89; }

.page_head_wrap {
  margin-top: clamp(40px, 5.834vw, 70px); }
  .page_head_wrap .page_head {
    margin-inline: auto;
    min-width: 820px;
    width: fit-content; }
    @media screen and (max-width: 1200px) {
      .page_head_wrap .page_head {
        min-width: inherit; } }
    .page_head_wrap .page_head .page_ttl {
      font-size: clamp(14px, 2.667vw, 32px);
      line-height: 1.3;
      letter-spacing: 0.05em;
      margin: 0 auto 0.4em;
      padding-bottom: 0.4em;
      border-bottom: dotted 2px #000;
      text-align: center; }
      @media screen and (max-width: 480px) {
        .page_head_wrap .page_head .page_ttl {
          font-size: calc(18vw / 3.9); } }
    .page_head_wrap .page_head .page_lead {
      font-size: clamp(10px, 1.334vw, 16px);
      line-height: 2;
      letter-spacing: 0.05em;
      text-align: center; }
      @media screen and (max-width: 480px) {
        .page_head_wrap .page_head .page_lead {
          font-size: calc(12vw / 3.9); } }

.sec .sec_ttl {
  background: #006953;
  font-size: clamp(10px, 1.667vw, 20px);
  line-height: 1.4;
  letter-spacing: 0.05em;
  color: #fff;
  padding: 0.2em 0.5em;
  text-align: center;
  margin-bottom: 1.6em; }
  @media screen and (max-width: 480px) {
    .sec .sec_ttl {
      font-size: calc(16vw / 3.9); } }
.sec .sec_lead {
  font-size: clamp(10px, 1.334vw, 16px);
  line-height: 2;
  letter-spacing: 0.05em;
  padding: 1em 2em 0;
  text-align: center;
  border-top: dotted 2px #000;
  width: fit-content;
  margin: 0 auto clamp(40px, 6.667vw, 80px); }
  @media screen and (max-width: 480px) {
    .sec .sec_lead {
      font-size: calc(12vw / 3.9);
      padding: 0.8em 0.5em 0; } }
.sec .item .item_ttl {
  background: #a3bab0;
  font-size: clamp(10px, 1.667vw, 20px);
  line-height: 1.4;
  letter-spacing: 0.05em;
  color: #231815;
  padding: 0.3em 0.1em;
  text-align: center;
  margin-bottom: 0.6em; }
  @media screen and (max-width: 480px) {
    .sec .item .item_ttl {
      font-size: calc(16vw / 3.9); } }
.sec .item .item_txt {
  font-size: clamp(10px, 1.25vw, 15px);
  line-height: 1.6;
  letter-spacing: 0.05em;
  color: #231815; }
  @media screen and (max-width: 480px) {
    .sec .item .item_txt {
      font-size: calc(12vw / 3.9); } }
.sec .item .item_cap {
  font-size: clamp(10px, 1vw, 12px);
  line-height: 1.4;
  color: #231815; }
  @media screen and (max-width: 480px) {
    .sec .item .item_cap {
      font-size: calc(10vw / 3.9); } }
.sec .grid_wrap {
  display: grid;
  align-items: flex-start;
  align-content: start;
  grid-auto-flow: dense;
  justify-content: space-between; }

sup {
  font-size: 10px;
  vertical-align: top; }

.ls_00 {
  letter-spacing: 0em !important; }

.ls_02 {
  letter-spacing: -0.02em !important; }

.ls_04 {
  letter-spacing: -0.04em !important; }

.ls_06 {
  letter-spacing: -0.06em !important; }

.ls_08 {
  letter-spacing: -0.08em !important; }

.ls_1 {
  letter-spacing: -0.1em !important; }

@media screen and (max-width: 480px) {
  .ls02_sp {
    letter-spacing: -0.02em !important; }

  .ls04_sp {
    letter-spacing: -0.04em !important; }

  .ls06_sp {
    letter-spacing: -0.06em !important; }

  .ls08_sp {
    letter-spacing: -0.08em !important; }

  .ls1_sp {
    letter-spacing: -0.1em !important; } }

/*# sourceMappingURL=limited_quality.css.map */
