@charset "UTF-8";
/* Scss Document */
/* flex box --------------------------------------------------------------------------- */
/* 装飾 -------------------- */
* {
  box-sizing: border-box; }

h1, h2, h3, h4, h5, h6, p, ol, ul, li, dl, dt, dd, section, figure {
  margin: 0px 0px 0px 0px;
  padding: 0px 0px 0px 0px; }

p, ul, dl {
  line-height: 1.6em; }

img {
  border: none;
  vertical-align: bottom;
  height: auto; }

body {
  margin: 0px;
  padding: 0px 0px 0px 0px;
  text-align: center;
  font-family: futura-pt,sans-serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.1em;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  /*font-family: futura-pt,'Noto Sans JP', sans-serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.15em;*/
  color: #000;
  font-size: 16px;
  word-wrap: break-word;
  word-break: break-all;
  width: 100vw;
  overflow-x: hidden;
  counter-reset: number 0;
  /* number のカウンタを 0 にセット */ }
  @media screen and (max-width: 499px) {
    body {
      font-size: 16px;
      line-height: 1.4em; } }

body.fixed {
  position: fixed; }

a {
  color: #0066CC; }

a:hover {
  text-decoration: none; }

.date {
  font-weight: bold;
  color: #777;
  font-size: 12px; }

.btn-more a {
  display: block;
  margin: auto;
  width: 280px;
  text-align: center;
  color: #fff;
  background-color: black;
  border-color: black;
  border-style: solid;
  border-width: 1px;
  font-size: 14px;
  line-height: 52px;
  text-decoration: none;
  border-radius: 2px; }
.btn-more a:after {
  display: block;
  margin: -52px 0px 0px 0px;
  padding: 0px 0.5em 0px 0px;
  text-align: right;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f054"; }
.btn-more a:hover {
  color: black;
  background-color: #fff; }

.btn-more-s {
  font-family: futura-pt,sans-serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.1em; }
  .btn-more-s a {
    display: block;
    margin: auto;
    width: 160px;
    text-align: center;
    color: #fff;
    background-color: black;
    border-color: black;
    border-style: solid;
    border-width: 1px;
    font-size: 12px;
    line-height: 38px;
    text-decoration: none;
    border-radius: 2px; }
  .btn-more-s a:after {
    display: block;
    margin: -38px 0px 0px 0px;
    padding: 0px 0.5em 0px 0px;
    text-align: right;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f054"; }
  .btn-more-s a:hover {
    color: black;
    background-color: #fff; }

@media screen and (max-width: 499px) {
  br.sponly {
    display: none; } }
.itembox-img span {
  display: block;
  position: relative;
  z-index: 1;
  margin: 0px 0px -20px 0px;
  color: #fff;
  background-color: red;
  font-family: futura-pt,sans-serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.1em;
  font-size: 10px;
  line-height: 20px;
  width: 36px;
  height: 20px; }
.itembox-img figure {
  position: relative;
  z-index: 0; }

.itembox-eng {
  font-family: futura-pt, sans-serif;
  font-weight: 500;
  font-style: normal;
  letter-spacing: 0.1em;
  font-size: 14px; }

.itembox-title {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  /*font-family: futura-pt,'Noto Sans JP', sans-serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.15em;*/
  font-size: 12px;
  line-height: 1.6em; }

/* HEADER //////////////////////////////////////////////////////////////////////////// */
header {
  margin: auto;
  padding: 20px 4vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  border-color: #ddd;
  border-style: solid;
  border-width: 0px 0px 0px;
  width: 90%; }
  @media screen and (max-width: 1199px) {
    header {
      width: 100%; } }
  @media screen and (max-width: 1024px) {
    header {
      padding: 0px;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      -webkit-box-align: start;
      -ms-flex-align: start;
      align-items: flex-start; } }

.h-logo a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  color: #000;
  text-decoration: none; }
.h-logo .logo {
  width: 140px; }
  .h-logo .logo img {
    width: 100%;
    height: auto; }
.h-logo .sitetitle {
  padding: 0px 0px 0.7em 1em;
  font-size: 12px;
  font-weight: normal;
  line-height: 1.4em;
  text-align: left; }
  .h-logo .sitetitle br {
    display: none; }
@media screen and (max-width: 1199px) {
  .h-logo .sitetitle {
    padding: 0px 0px 0em 1em;
    width: 16em; } }
@media screen and (max-width: 1024px) {
  .h-logo .logo {
    padding: 4px;
    height: 50px;
    text-align: left; }
    .h-logo .logo img {
      width: auto;
      height: 100%; }
  .h-logo .sitetitle {
    padding: 0px 0px 0.4em 1em;
    width: inherit; } }
@media screen and (max-width: 499px) {
  .h-logo {
    width: 100%; }
    .h-logo a {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      -webkit-box-align: start;
      -ms-flex-align: start;
      align-items: flex-start;
      text-align: center; }
    .h-logo .sitetitle {
      margin: auto;
      padding: 0px 0px 0em 0em;
      text-align: center; } }

/* HEADER NAV //////////////////////////////////////////////////////////////////////////// */
@media screen and (max-width: 1024px) {
  #toggle {
    position: fixed;
    top: 0;
    right: 0;
    color: #fff;
    width: 50px;
    height: 50px;
    z-index: 100;
    background-color: black;
    letter-spacing: 0; }

  #toggle:before {
    display: block;
    padding: 5px 0px 2px;
    font-size: 20px;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f0c9"; }

  #toggle:after {
    display: block;
    content: "MENU";
    font-size: 9px;
    line-height: 1em;
    letter-spacing: 0.1em;
    font-family: futura-pt, sans-serif;
    font-weight: 500;
    font-style: normal;
    letter-spacing: 0.1em; }

  #toggle.active:before {
    display: block;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f00d"; }

  #toggle.active:after {
    display: block;
    content: "CLOSE"; } }
.h-menu-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
  .h-menu-wrap p {
    font-family: futura-pt, sans-serif;
    font-weight: 500;
    font-style: normal;
    letter-spacing: 0.1em;
    font-size: 14px;
    padding: 0.5em 1em; }
    .h-menu-wrap p a {
      text-decoration: none;
      color: #000; }
  .h-menu-wrap p:hover {
    cursor: pointer; }
  .h-menu-wrap p.selected {
    color: rgba(0, 0, 0, 0.4); }
  .h-menu-wrap ul {
    display: none; }
  @media screen and (min-width: 1025px) {
    .h-menu-wrap ul {
      background-color: #f6f6f6;
      position: absolute;
      z-index: 10;
      top: 88px;
      left: 0;
      padding: 2vw;
      width: 100vw;
      /*@include flex-base;
      @include flex-center;
      @include flex-wrap;*/
      border-color: rgba(0, 0, 0, 0.4);
      border-style: solid;
      border-width: 0px 0px; }
    .h-menu-wrap li.eng {
      font-family: futura-pt,sans-serif;
      font-weight: 400;
      font-style: normal;
      letter-spacing: 0.1em; }
    .h-menu-wrap li {
      list-style: none;
      margin: 0.5em;
      font-size: 14px;
      display: inline-block; }
      .h-menu-wrap li a:before {
        padding: 0px 0.2em 0px 0px;
        font-family: "Font Awesome 5 Free";
        font-weight: 900;
        content: "\f105"; }
      .h-menu-wrap li a {
        display: block;
        padding: 0.5em 1em;
        color: black;
        text-decoration: none;
        border-color: #ccc;
        border-style: solid;
        border-width: 0px; } }
  @media screen and (max-width: 1024px) {
    .h-menu-wrap {
      display: none;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      background-color: rgba(255, 255, 255, 0.9);
      position: fixed;
      z-index: 10;
      top: 0;
      left: 0;
      padding: 50px 0px 200px 0px;
      width: 100vw;
      height: 100vh;
      overflow-y: scroll;
      box-sizing: inherit; }
      .h-menu-wrap p {
        margin: 0px 0px -1px 0px;
        padding: 0px;
        text-align: left;
        line-height: 1em;
        width: 100%; }
        .h-menu-wrap p a {
          display: block;
          padding: 1em;
          border-color: #eee;
          border-style: solid;
          border-width: 1px 0px;
          color: black;
          background-color: #f6f6f6; }
        .h-menu-wrap p a:after {
          display: block;
          margin: -1em 0px 0px 0px;
          text-align: right;
          font-family: "Font Awesome 5 Free";
          font-weight: 900;
          content: "\f054"; }
        .h-menu-wrap p a:hover {
          color: rgba(0, 0, 0, 0.4); }
      .h-menu-wrap p.parent-toggle {
        display: block;
        padding: 1em;
        border-color: #eee;
        border-style: solid;
        border-width: 1px 0px;
        color: black;
        background-color: #f6f6f6; }
      .h-menu-wrap p.parent-toggle:after {
        display: block;
        margin: -1em 0px 0px 0px;
        text-align: right;
        font-family: "Font Awesome 5 Free";
        font-weight: 900;
        content: "\f067"; }
      .h-menu-wrap p.parent-toggle.active:after {
        display: block;
        margin: -1em 0px 0px 0px;
        text-align: right;
        font-family: "Font Awesome 5 Free";
        font-weight: 900;
        content: "\f077"; }
      .h-menu-wrap p.parent-toggle:hover {
        color: rgba(0, 0, 0, 0.4); }
      .h-menu-wrap ul {
        width: 100%; }
      .h-menu-wrap li.eng {
        font-family: futura-pt,sans-serif;
        font-weight: 400;
        font-style: normal;
        letter-spacing: 0.1em; }
      .h-menu-wrap li {
        list-style: none;
        margin: 0px 0px -1px 0px;
        text-align: left;
        line-height: 1em;
        font-size: 14px; }
        .h-menu-wrap li a:before {
          padding: 0px 0.2em 0px 0px;
          font-family: "Font Awesome 5 Free";
          font-weight: 900;
          content: "\f105"; }
        .h-menu-wrap li a {
          display: block;
          padding: 1em;
          border-color: #eee;
          border-style: solid;
          border-width: 1px 0px;
          color: black;
          text-decoration: none;
          background-color: rgba(255, 255, 255, 0.9); }
        .h-menu-wrap li a:hover {
          color: rgba(0, 0, 0, 0.4); } }

/*.h-nav {
    @include flex-base;
    @include flex-center;
    @include flex-wrap;
    li {
        list-style: none;
        font-size: 14px;
        line-height: 1em;
        a {
            display: inline-block;
            padding: 0.5em 1em;
            text-decoration: none;
            color: $text;
        }
        a:hover {
        }
        i {
            display: none;
        }
    }
    @media screen and (max-width:1024px) {
        display: none;
        background-color:rgba(255,255,255,0.90);
        position:fixed;
        z-index: 10;
        top:0;
        left: 0;
        padding: 50px 0px 200px 0px;
        width: 100%;
        height: 100vh;
        overflow-y:scroll;
        box-sizing: inherit;
        @include flex-column;
        li:before {
            content: "";
        }
        li {
            margin: 0px 0px -1px 0px;
            text-align: left;
            line-height: 1em;
            a:before {
                padding: 0px 0.2em 0px 0px;
                @include font-awesome;
                content: "\f105";
            }
            a {
                display: block;
                padding: 1em;
                border-color: #eee;
                border-style: solid;
                border-width: 1px 0px;
                color: $key100;
                background-color: rgba(255,255,255,0.90);
            }
            a:hover {
                color: $key100;
                background-color: #f6f6f6;
            }
        }
    }
}*/
/* FOOTER //////////////////////////////////////////////////////////////////////////// */
footer {
  margin: auto;
  border-color: #ddd;
  border-style: solid;
  border-width: 1px 0px 0px 0px; }

.f-menu-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 2vw;
  background-color: #F7F7F7; }
  .f-menu-wrap .f-menu-box {
    margin: 0px 15px;
    text-align: left;
    width: 200px; }
  @media screen and (max-width: 1024px) {
    .f-menu-wrap .f-menu-box {
      margin: 0px 0px;
      padding: 0px 2vw;
      text-align: left;
      line-height: 1em;
      width: 50%; }
    .f-menu-wrap .f-menu-box:nth-child(1) {
      order: 1; }
    .f-menu-wrap .f-menu-box:nth-child(2) {
      order: 2; }
    .f-menu-wrap .f-menu-box:nth-child(3) {
      order: 4; }
    .f-menu-wrap .f-menu-box:nth-child(4) {
      order: 3; } }
  @media screen and (max-width: 499px) {
    .f-menu-wrap {
      padding: 0vw; }
      .f-menu-wrap .f-menu-box {
        padding: 0px 0vw;
        width: 100%; }
      .f-menu-wrap .f-menu-box:nth-child(1) {
        order: 1; }
      .f-menu-wrap .f-menu-box:nth-child(2) {
        order: 2; }
      .f-menu-wrap .f-menu-box:nth-child(3) {
        order: 3; }
      .f-menu-wrap .f-menu-box:nth-child(4) {
        order: 4; } }

.f-menu {
  padding: 0px 0px 1em 0px;
  line-height: 1em; }
  .f-menu a {
    display: block;
    color: black;
    text-decoration: none; }
  .f-menu a:hover {
    color: rgba(0, 0, 0, 0.4); }
  .f-menu h5 {
    padding: 0px 0px 0.5em 0px;
    font-family: futura-pt, sans-serif;
    font-weight: 500;
    font-style: normal;
    letter-spacing: 0.1em;
    font-size: 14px; }
  .f-menu h5.parent-toggle {
    pointer-events: none; }
  .f-menu li.eng {
    font-family: futura-pt,sans-serif;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 0.1em; }
  .f-menu li {
    list-style: none;
    font-size: 12px;
    border-color: #ccc;
    border-style: solid;
    border-width: 0px 0px 1px 0px; }
    .f-menu li a:before {
      content: "・";
      font-family: 'Noto Sans JP', sans-serif;
      font-weight: 400;
      letter-spacing: 0.1em;
      /*font-family: futura-pt,'Noto Sans JP', sans-serif;
      font-weight: 400;
      font-style: normal;
      letter-spacing: 0.15em;*/ }
    .f-menu li a {
      padding: 0.5em 0px; }
  @media screen and (max-width: 499px) {
    .f-menu {
      padding: 0px; }
      .f-menu h5 {
        margin: -1px 0px 0px 0px;
        padding: 0px;
        border-color: #ccc;
        border-style: solid;
        border-width: 1px 0px 1px 0px; }
        .f-menu h5 a {
          padding: 1em; }
        .f-menu h5 a:after {
          display: block;
          margin: -1em 0px 0px 0px;
          text-align: right;
          font-family: "Font Awesome 5 Free";
          font-weight: 900;
          content: "\f054"; }
        .f-menu h5 a:hover {
          color: rgba(0, 0, 0, 0.4); }
      .f-menu h5.parent-toggle {
        display: block;
        padding: 1em;
        pointer-events: inherit; }
      .f-menu h5.parent-toggle:after {
        display: block;
        margin: -1em 0px 0px 0px;
        text-align: right;
        font-family: "Font Awesome 5 Free";
        font-weight: 900;
        content: "\f067"; }
      .f-menu h5.parent-toggle.active:after {
        display: block;
        margin: -1em 0px 0px 0px;
        text-align: right;
        font-family: "Font Awesome 5 Free";
        font-weight: 900;
        content: "\f077"; }
      .f-menu h5.parent-toggle:hover {
        color: rgba(0, 0, 0, 0.4); }
      .f-menu ul {
        display: none; }
      .f-menu li {
        border-color: #ccc;
        border-style: solid;
        border-width: 0px 0px 1px 0px; }
        .f-menu li a {
          padding: 1em;
          background-color: #fff; }
        .f-menu li a:before {
          padding: 0px 0.4em 0px 0.4em;
          font-family: "Font Awesome 5 Free";
          font-weight: 900;
          content: "\f0da"; } }

.f-corp {
  margin: auto;
  padding: 2vw 4vw 0px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 90%; }
  .f-corp .f-logo {
    margin: 0px 30px 0px 0px;
    text-align: left; }
    .f-corp .f-logo figure {
      margin: 0px 0px 10px 0px;
      width: 62px; }
      .f-corp .f-logo figure img {
        width: 100%;
        height: auto; }
    .f-corp .f-logo p {
      font-size: 12px;
      line-height: 1.6em; }
  .f-corp .f-address {
    margin: 10px 0px 0px 0px;
    text-align: left; }
    .f-corp .f-address h4 {
      margin: 0px 0px 10px 0px;
      font-size: 14px;
      line-height: 1em;
      font-family: futura-pt, sans-serif;
      font-weight: 500;
      font-style: normal;
      letter-spacing: 0.1em; }
    .f-corp .f-address p {
      font-size: 12px;
      line-height: 1.6em; }
    .f-corp .f-address .zip {
      display: block;
      padding: 0px 1em 0px 0px; }
    .f-corp .f-address a {
      color: #000;
      text-decoration: none; }
    .f-corp .f-address a:hover {
      color: #888;
      text-decoration: none; }
  @media screen and (max-width: 1199px) {
    .f-corp {
      width: 100%; } }
  @media screen and (max-width: 1024px) {
    .f-corp {
      order: 2;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      padding: 4vw 2vw; }
      .f-corp .f-address h4 {
        margin: 0px 0px 8px 0px; }
      .f-corp .f-address .zip {
        display: block; } }
  @media screen and (max-width: 499px) {
    .f-corp {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      padding: 6vw 0vw; }
      .f-corp .f-logo {
        margin: auto;
        width: 100%; }
        .f-corp .f-logo figure {
          margin: auto;
          width: 54px; }
        .f-corp .f-logo p br {
          display: none; }
      .f-corp .f-address {
        margin: 0px auto 0px; }
        .f-corp .f-address h4 {
          margin: 0px 0px 8px 0px; } }

.copy {
  margin: -2vw auto 0px;
  padding: 2vw 4vw;
  font-size: 12px;
  font-family: futura-pt,sans-serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.1em;
  text-align: right; }
  @media screen and (max-width: 1024px) {
    .copy {
      margin: 0vw auto 0px;
      padding: 1.5em 0px;
      text-align: center; } }

.pagetop-btn {
  position: fixed;
  right: 4vw;
  bottom: 6vw;
  width: 48px;
  height: 48px;
  color: black;
  line-height: 48px;
  font-size: 24px; }
  @media screen and (max-width: 1024px) {
    .pagetop-btn {
      right: 1vw;
      bottom: 1vw; } }

.sp-contact-bot {
  position: fixed;
  top: 0;
  right: 51px;
  color: #fff;
  width: 50px;
  height: 50px;
  z-index: 100;
  background-color: black;
  letter-spacing: 0; }
  .sp-contact-bot a {
    display: block;
    text-decoration: none;
    color: #fff; }
    .sp-contact-bot a i {
      display: block;
      padding: 9px 0px 3px;
      font-size: 20px; }
    .sp-contact-bot a p {
      font-size: 9px;
      line-height: 1em;
      letter-spacing: 0.1em;
      font-family: futura-pt, sans-serif;
      font-weight: 500;
      font-style: normal;
      letter-spacing: 0.1em; }
  @media screen and (min-width: 1025px) {
    .sp-contact-bot {
      display: none; } }

/* HOME //////////////////////////////////////////////////////////////////////////// */
h2.home-sec-title {
  margin: 0.5em 0px 2em 0px;
  font-family: futura-pt, sans-serif;
  font-weight: 500;
  font-style: normal;
  letter-spacing: 0.1em;
  font-size: 30px;
  letter-spacing: 0.15em; }
  @media screen and (max-width: 499px) {
    h2.home-sec-title {
      margin: 1em 0px 2em 0px;
      font-size: 16px; } }

/* HOME slide --------------------------- */
.home-slide-wrap {
  padding: 0px;
  border-color: #ccc;
  border-style: solid;
  border-width: 0px;
  width: 90%; }
  .home-slide-wrap .swiper-slide {
    padding: 0px 4vw 0px 4vw; }
  .home-slide-wrap figure {
    position: relative;
    z-index: 0;
    margin: auto 0px auto auto;
    width: 60%; }
    .home-slide-wrap figure img {
      width: 100%;
      height: auto; }
  .home-slide-wrap .cont {
    position: relative;
    z-index: 1;
    margin: -240px 0px 0px 0px;
    text-align: justify;
    height: 240px; }
    .home-slide-wrap .cont h2 {
      margin: 0px 0px 1em 0px;
      font-family: futura-pt, sans-serif;
      font-weight: 500;
      font-style: normal;
      letter-spacing: 0.1em;
      font-size: 48px;
      line-height: 1.2em; }
      .home-slide-wrap .cont h2 span {
        padding: 0px 0px 0px 1em;
        font-size: 24px; }
    .home-slide-wrap .cont p {
      padding: 0px 0px 0px 0.2em;
      line-height: 1.8em; }
  .home-slide-wrap .swiper-pagination {
    padding: 2vw 0px; }
  @media screen and (max-width: 1199px) {
    .home-slide-wrap {
      width: 100%; }
      .home-slide-wrap .cont h2 {
        font-size: 40px; }
        .home-slide-wrap .cont h2 span {
          padding: 0px 0px 0px 0.2em;
          display: block;
          line-height: 20px; } }
  @media screen and (max-width: 1024px) {
    .home-slide-wrap .swiper-slide {
      padding: 0px 0vw; }
    .home-slide-wrap figure {
      width: 100%; }
    .home-slide-wrap .cont {
      margin: 0px 0px 0px 0px;
      padding: 3vw 4vw;
      width: 100%;
      height: 180px;
      background-color: rgba(255, 255, 255, 0.8); }
      .home-slide-wrap .cont h2 {
        margin: 0px 0px 0.5em 0px;
        font-size: 32px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap; }
        .home-slide-wrap .cont h2 span {
          padding: 0px 0px 0px 1em;
          display: inline;
          font-size: 20px; }
      .home-slide-wrap .cont p {
        font-size: 14px;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
        overflow: hidden; }
    .home-slide-wrap .swiper-pagination {
      padding: 0px 0px 4vw 0px; } }
  @media screen and (max-width: 499px) {
    .home-slide-wrap figure {
      width: 100%; }
    .home-slide-wrap .cont {
      margin: 0px 0px 0px 0px;
      padding: 3vw 6vw;
      width: 100%;
      height: 128px;
      overflow: hidden; }
      .home-slide-wrap .cont h2 {
        margin: 0px 0px 0.5em 0px;
        font-size: 18px;
        text-align: center; }
        .home-slide-wrap .cont h2 span {
          padding: 0px 0px 0px 1em;
          display: inline;
          font-size: 14px; }
      .home-slide-wrap .cont p {
        padding: 0px; }
        .home-slide-wrap .cont p br {
          display: none; } }

/* HOME NEWS --------------------------- */
.home-news-wrap {
  padding: 4vw 8vw;
  background-color: #F7F7F7; }
  @media screen and (max-width: 799px) {
    .home-news-wrap {
      padding: 4vw 4vw; } }

.home-news-box {
  margin: auto auto 4vw;
  max-width: 1000px; }
  .home-news-box dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 1em 0px;
    width: 100%;
    border-color: #ccc;
    border-style: solid;
    border-width: 0px 0px 1px 0px; }
  .home-news-box dt {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    font-size: 12px;
    text-align: left;
    font-family: futura-pt,sans-serif;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 0.1em; }
    .home-news-box dt span {
      display: inline-block;
      margin: 0px 1em;
      padding: 4px 0px;
      width: 8em;
      color: #fff;
      font-size: 12px;
      line-height: 1em;
      border-radius: 2px;
      background-color: #999;
      text-align: center;
      font-family: 'Noto Sans JP', sans-serif;
      font-weight: 400;
      letter-spacing: 0.1em;
      /*font-family: futura-pt,'Noto Sans JP', sans-serif;
      font-weight: 400;
      font-style: normal;
      letter-spacing: 0.15em;*/ }
    .home-news-box dt .home-news-cat-all {
      background-color: #bbb; }
    .home-news-box dt .home-news-cat-products {
      background-color: #bbb; }
    .home-news-box dt .home-news-cat-media {
      background-color: #bbb; }
    .home-news-box dt .home-news-cat-event {
      background-color: #bbb; }
    .home-news-box dt .home-news-cat-other {
      background-color: #bbb; }
  .home-news-box dd {
    text-align: justify; }
    .home-news-box dd a {
      color: #000;
      text-decoration: none; }
    .home-news-box dd a:hover {
      color: #888; }
  @media screen and (max-width: 499px) {
    .home-news-box dl {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column; }
    .home-news-box dt {
      margin: 0px 0px 0.5em 0px; } }

.tab_wrap input[type="radio"] {
  display: none; }

.tab_area {
  margin: auto auto 4vw;
  max-width: 1000px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center; }
  .tab_area label {
    margin: 0px -1px 0px 0px;
    padding: 0px 0.5em;
    width: 20%;
    text-align: center;
    cursor: pointer;
    border-color: #ccc;
    border-style: solid;
    border-width: 0px 1px;
    font-size: 14px;
    line-height: 1.8em; }
  .tab_area label:hover span {
    display: inline-block;
    width: 100%;
    color: #fff;
    border-radius: 2px; }
  .tab_area label.tab1_label:hover span {
    background-color: #bbb; }
  .tab_area label.tab2_label:hover span {
    background-color: #bbb; }
  .tab_area label.tab3_label:hover span {
    background-color: #bbb; }
  .tab_area label.tab4_label:hover span {
    background-color: #bbb; }
  .tab_area label.tab5_label:hover span {
    background-color: #bbb; }
  @media screen and (max-width: 499px) {
    .tab_area label {
      font-size: 12px;
      padding: 0.3em; }
    .tab_area label.tab1_label,
    .tab_area label.tab5_label {
      width: 18%; }
    .tab_area label.tab2_label {
      width: 15%; }
    .tab_area label.tab3_label,
    .tab_area label.tab4_label {
      width: 23%; } }

.tab_panel {
  width: 100%;
  display: none; }
  .tab_panel .btn-more {
    margin: 3em auto; }

.tab_panel p {
  font-size: 14px;
  text-align: center; }

#tab1:checked ~ .tab_area .tab1_label span {
  display: inline-block;
  width: 100%;
  background-color: #bbb;
  color: #fff;
  border-radius: 2px; }

#tab1:checked ~ .panel_area #panel1 {
  display: block; }

#tab2:checked ~ .tab_area .tab2_label span {
  display: inline-block;
  width: 100%;
  background-color: #bbb;
  color: #fff;
  border-radius: 2px; }

#tab2:checked ~ .panel_area #panel2 {
  display: block; }

#tab3:checked ~ .tab_area .tab3_label span {
  display: inline-block;
  width: 100%;
  background-color: #bbb;
  color: #fff;
  border-radius: 2px; }

#tab3:checked ~ .panel_area #panel3 {
  display: block; }

#tab4:checked ~ .tab_area .tab4_label span {
  display: inline-block;
  width: 100%;
  background-color: #bbb;
  color: #fff;
  border-radius: 2px; }

#tab4:checked ~ .panel_area #panel4 {
  display: block; }

#tab5:checked ~ .tab_area .tab5_label span {
  display: inline-block;
  width: 100%;
  background-color: #bbb;
  color: #fff;
  border-radius: 2px; }

#tab5:checked ~ .panel_area #panel5 {
  display: block; }

/* HOME Pick Up Item --------------------------- */
.home-pickup-item-wrap {
  padding: 4vw 8vw; }
  .home-pickup-item-wrap .btn-more {
    margin: 3em auto; }
  @media screen and (max-width: 1024px) {
    .home-pickup-item-wrap {
      padding: 4vw 0vw; } }

.home-pickup-item {
  margin: auto;
  max-width: 1200px; }
  @media screen and (min-width: 1025px) {
    .home-pickup-item ul {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center; }
    .home-pickup-item li {
      list-style: none;
      margin: 0px 0vw 2vw;
      padding: 1.5vw;
      width: 25%; }
      .home-pickup-item li a {
        display: block; }
      .home-pickup-item li figure {
        width: 100%; }
        .home-pickup-item li figure img {
          width: 100%;
          height: auto; }
      .home-pickup-item li h3 {
        font-size: 14px; } }
  @media screen and (max-width: 1024px) {
    .home-pickup-item li {
      list-style: none; }
      .home-pickup-item li a {
        display: block; }
      .home-pickup-item li figure {
        width: 100%; }
        .home-pickup-item li figure img {
          width: 100%;
          height: auto; }
      .home-pickup-item li h3 {
        font-size: 14px; } }

.swiper-wrapper {
  text-align: center; }

.swiper-slide {
  margin: auto; }
  .swiper-slide a {
    display: block;
    text-decoration: none;
    color: #000; }
  .swiper-slide a:hover {
    color: #888; }

/* HOME Brands --------------------------- */
.home-brands-wrap {
  padding: 4vw 8vw;
  background-color: #F7F7F7; }
  @media screen and (max-width: 799px) {
    .home-brands-wrap {
      padding: 4vw 4vw; } }

.home-brands {
  margin: auto;
  max-width: 1200px; }
  .home-brands ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
  .home-brands li {
    list-style: none;
    margin: 0px 0px 4vw 0px;
    width: 46%; }
    .home-brands li figure {
      margin: 0px 0px 1em;
      width: 100%; }
      .home-brands li figure img {
        width: 100%;
        height: auto; }
    .home-brands li .txt {
      text-align: justify; }
    .home-brands li h3 {
      margin: 0em 0px 0.5em;
      font-family: futura-pt, sans-serif;
      font-weight: 500;
      font-style: normal;
      letter-spacing: 0.1em;
      font-size: 16px; }
    .home-brands li p {
      margin: 0px 0px 1.5em;
      font-size: 14px; }
  @media screen and (max-width: 1024px) {
    .home-brands {
      /*li {
          width: 100%;
          @include flex-base;
          @include flex-justify;
          figure {
              width: 48%;
              @include flex-shrink;
          }
          .txt {
              width: 49%;
          }
      }*/ } }
  @media screen and (max-width: 599px) {
    .home-brands li {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      width: 100%;
      margin: 0px 0px 2em 0px; }
      .home-brands li figure {
        width: 100%;
        -ms-flex-negative: 0;
        flex-shrink: 0; }
      .home-brands li .txt {
        width: 100%; } }

/* insta feed --------------------------- */
.insta-feed-wrap {
  padding: 4vw 8vw; }

/* Pages Common //////////////////////////////////////////////////////////////////////////// */
.breadcrumb {
  padding: 0em;
  background-color: #F7F7F7;
  border-color: #ddd;
  border-style: solid;
  border-width: 0px 0px 0px 0px; }
  .breadcrumb ul {
    margin: auto;
    padding: 1em 4vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 90%; }
  .breadcrumb li {
    padding: 0em 0em;
    list-style: none;
    color: #888;
    font-size: 12px;
    line-height: 1.6em; }
    .breadcrumb li a {
      color: #000;
      text-decoration: none; }
    .breadcrumb li a:hover {
      color: #888; }
  .breadcrumb li:after {
    padding: 0px 0.5em;
    content: "/"; }
  .breadcrumb li:last-child:after {
    content: ""; }
  @media screen and (max-width: 1199px) {
    .breadcrumb ul {
      width: 100%; } }
  @media screen and (max-width: 1024px) {
    .breadcrumb ul {
      padding: 0.5em 1em; } }

.wp-pagenavi {
  margin: auto;
  text-align: center;
  position: relative;
  z-index: 2;
  padding: 4vw 0px;
  line-height: 30px;
  font-size: 12px;
  font-family: futura-pt,sans-serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.1em; }
  .wp-pagenavi .pages {
    margin: 2px 8px 2px 0px;
    text-align: center; }
  .wp-pagenavi .current {
    margin: 2px;
    background-color: #eee;
    width: 30px;
    height: 30px;
    display: inline-block;
    border-radius: 50%;
    box-sizing: border-box;
    border-color: #eee;
    border-style: solid;
    border-width: 1px;
    text-align: center; }
  .wp-pagenavi a {
    margin: 2px;
    background-color: #fff;
    width: 30px;
    height: 30px;
    display: inline-block;
    border-radius: 50%;
    box-sizing: border-box;
    border-color: black;
    border-style: solid;
    border-width: 1px;
    text-decoration: none;
    text-align: center;
    color: #000; }
  .wp-pagenavi a:hover {
    background-color: black;
    color: #fff; }

/* Brands //////////////////////////////////////////////////////////////////////////// */
.brand-image {
  border-color: #e9e9e9;
  border-style: solid;
  border-width: 0px 0px; }
  .brand-image figure {
    max-width: 100%;
    height: auto; }
    .brand-image figure img {
      width: 100%;
      height: auto; }
  @media screen and (min-width: 1025px) {
    .brand-image {
      margin: 2vw auto 0px; }
      .brand-image figure {
        margin: auto;
        max-width: 1000px; } }
  @media screen and (max-width: 1024px) {
    .brand-image {
      margin: 0vw auto 0px; }
      .brand-image figure {
        max-width: 100%; } }

.brand-slide-wrap {
  padding: 0px;
  border-color: #ccc;
  border-style: solid;
  border-width: 0px;
  width: 100%; }
  .brand-slide-wrap .swiper-slide {
    padding: 0px 0vw 0px 0vw; }
  .brand-slide-wrap figure {
    position: relative;
    z-index: 0;
    width: 100%; }
    .brand-slide-wrap figure img {
      width: 100%;
      height: auto; }
  .brand-slide-wrap .swiper-pagination {
    padding: 2vw 0px; }
  @media screen and (max-width: 1199px) {
    .brand-slide-wrap {
      width: 100%; } }
  @media screen and (max-width: 1024px) {
    .brand-slide-wrap .swiper-slide {
      padding: 0px 0vw; }
    .brand-slide-wrap figure {
      width: 100%; }
    .brand-slide-wrap .swiper-pagination {
      padding: 0px 0px 4vw 0px; } }
  @media screen and (max-width: 499px) {
    .brand-slide-wrap figure {
      width: 100%; } }

.brand-intro {
  margin: auto;
  padding: 4vw 0px;
  width: 600px;
  text-align: justify; }
  .brand-intro h1 {
    margin: 0px 0px 1em 0px;
    font-family: futura-pt, sans-serif;
    font-weight: 500;
    font-style: normal;
    letter-spacing: 0.1em;
    font-size: 36px;
    text-align: center; }
  @media screen and (max-width: 799px) {
    .brand-intro {
      padding: 6vw 4vw;
      width: inherit; }
      .brand-intro h1 {
        font-size: 20px; } }

.brand-item-wrap {
  padding: 4vw 8vw 12vw; }
  .brand-item-wrap .btn-more {
    margin: 3em auto; }
  @media screen and (max-width: 1199px) {
    .brand-item-wrap {
      padding: 4vw 4vw 12vw; } }
  @media screen and (max-width: 599px) {
    .brand-item-wrap {
      padding: 4vw 5vw 12vw; } }

h2.brand-item-title {
  margin: 0.5em 0px 2em 0px;
  font-family: futura-pt, sans-serif;
  font-weight: 500;
  font-style: normal;
  letter-spacing: 0.1em;
  font-size: 30px;
  letter-spacing: 0.15em; }
  @media screen and (max-width: 1024px) {
    h2.brand-item-title {
      margin: 1em 0px 2em 0px;
      font-size: 24px; } }
  @media screen and (max-width: 499px) {
    h2.brand-item-title {
      margin: 1em 0px 2em 0px;
      font-size: 16px; } }

.brand-item {
  margin: auto;
  max-width: 1200px; }
  .brand-item ul {
    margin: 0px -1.5vw;
    padding: 0px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center; }
  .brand-item li {
    list-style: none;
    margin: 0px 0px 2vw 0px;
    padding: 1.5vw;
    width: 25%; }
    .brand-item li a {
      display: block; }
    .brand-item li figure {
      width: 100%; }
      .brand-item li figure img {
        width: 100%;
        height: auto; }
    .brand-item li h3 {
      font-size: 14px; }
  @media screen and (max-width: 1024px) {
    .brand-item li {
      width: 33%; } }
  @media screen and (max-width: 599px) {
    .brand-item li {
      width: 50%; } }

/* Item Category //////////////////////////////////////////////////////////////////////////// */
.cat-page-title {
  padding: 4vw 0px 2vw 0px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column; }
  .cat-page-title h1 {
    order: 2;
    font-size: 16px; }
  .cat-page-title h2 {
    order: 1;
    margin: 0px 0px 0.5em 0px;
    font-size: 28px;
    line-height: 1em;
    font-family: futura-pt, sans-serif;
    font-weight: 500;
    font-style: normal;
    letter-spacing: 0.1em; }
  @media screen and (max-width: 1024px) {
    .cat-page-title {
      padding: 6vw 0px 2vw 0px; }
      .cat-page-title h1 {
        font-size: 14px; }
      .cat-page-title h2 {
        font-size: 20px; } }
  @media screen and (max-width: 499px) {
    .cat-page-title {
      padding: 8vw 0px 2vw 0px; }
      .cat-page-title h1 {
        font-size: 14px; }
      .cat-page-title h2 {
        font-size: 18px; } }

.cat-item-wrap {
  margin: auto;
  padding: 4vw 8vw 12vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start; }
  .cat-item-wrap .btn-more {
    margin: 3em auto; }
  @media screen and (max-width: 1199px) {
    .cat-item-wrap {
      padding: 4vw 4vw 12vw; } }
  @media screen and (max-width: 599px) {
    .cat-item-wrap {
      padding: 4vw 5vw 12vw; } }

.cat-list {
  width: 20%;
  text-align: justify; }
  .cat-list h2 {
    margin: 0px 0px 1em 0px;
    font-family: futura-pt, sans-serif;
    font-weight: 500;
    font-style: normal;
    letter-spacing: 0.1em;
    font-size: 16px; }
  .cat-list li, .cat-list li.cat-item {
    list-style: none;
    font-size: 12px;
    border-color: #ccc;
    border-style: solid;
    border-width: 0px 0px 1px 0px; }
    .cat-list li a, .cat-list li.cat-item a {
      display: block;
      padding: 0.8em 0px;
      text-decoration: none;
      color: #000;
      text-decoration: none; }
    .cat-list li a:hover, .cat-list li.cat-item a:hover {
      color: #888; }
  @media screen and (min-width: 1025px) {
    .cat-list p.cat-toggle {
      display: none; } }
  @media screen and (max-width: 1024px) {
    .cat-list {
      width: 100%; }
      .cat-list h2 {
        display: none; }
      .cat-list p.cat-toggle {
        padding: 1em 0.5em;
        border-color: #000;
        border-style: solid;
        border-width: 1px;
        border-radius: 2px;
        line-height: 1em;
        font-size: 12px; }
      .cat-list p.cat-toggle:after {
        display: block;
        text-align: right;
        margin: -1em 0px 0px auto;
        font-family: "Font Awesome 5 Free";
        font-weight: 900;
        content: "\f078"; }
      .cat-list p.cat-toggle.active:after {
        font-family: "Font Awesome 5 Free";
        font-weight: 900;
        content: "\f077"; }
      .cat-list ul {
        display: none; }
      .cat-list li a {
        padding: 0.8em 0px 0.8em 0.5em; } }

.category-item {
  margin: auto;
  padding: 0px 0px 0px 4vw;
  width: 80%; }
  .category-item ul {
    margin: 0px -1.5vw;
    padding: 0px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start; }
  .category-item li {
    list-style: none;
    margin: 0px 0px 2vw 0px;
    padding: 1.5vw;
    width: 25%; }
    .category-item li a {
      display: block; }
    .category-item li figure {
      width: 100%; }
      .category-item li figure img {
        width: 100%;
        height: auto; }
    .category-item li h3 {
      font-size: 14px; }
  @media screen and (max-width: 1024px) {
    .category-item {
      padding: 6vw 0px 0px 0vw;
      width: 100%; }
      .category-item li {
        width: 33%; } }
  @media screen and (max-width: 599px) {
    .category-item {
      padding: 8vw 0px 0px 0vw; }
      .category-item li {
        width: 50%; } }

/* Item //////////////////////////////////////////////////////////////////////////// */
.item-page-title-sp {
  padding: 4vw 0px 2vw 0px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column; }
  .item-page-title-sp .item-name-sp {
    order: 2;
    font-size: 16px; }
  .item-page-title-sp .item-name-eng-sp {
    order: 1;
    margin: 0px 0px 0.5em 0px;
    font-size: 28px;
    line-height: 1em;
    font-family: futura-pt, sans-serif;
    font-weight: 500;
    font-style: normal;
    letter-spacing: 0.1em; }
  @media screen and (min-width: 800px) {
    .item-page-title-sp {
      display: none; } }
  @media screen and (max-width: 799px) {
    .item-page-title-sp {
      padding: 4vw 0px 0vw 0px; }
      .item-page-title-sp .item-name-sp {
        font-size: 14px; }
      .item-page-title-sp .item-name-eng-sp {
        font-size: 20px; } }
  @media screen and (max-width: 499px) {
    .item-page-title-sp {
      padding: 4vw 0px 0vw 0px; }
      .item-page-title-sp .item-name-sp {
        font-size: 14px; }
      .item-page-title-sp .item-name-eng-sp {
        font-size: 18px; } }

.item-intro-wrap {
  margin: auto;
  padding: 4vw 4vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 90%; }
  @media screen and (max-width: 1199px) {
    .item-intro-wrap {
      width: 100%; } }
  @media screen and (max-width: 799px) {
    .item-intro-wrap {
      padding: 4vw 0vw; } }

.item-intro-img {
  margin: 0px 0px 2em 0px;
  width: 60%; }
  @media screen and (max-width: 799px) {
    .item-intro-img {
      width: 100%; } }

.item-intro-img-parent {
  width: 100%; }
  .item-intro-img-parent img {
    width: 100%;
    height: auto; }

.item-intro-img-thumb {
  padding: 5px 0px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
  .item-intro-img-thumb li {
    list-style: none;
    padding: 5px;
    width: 20%; }
    .item-intro-img-thumb li img {
      width: 100%;
      height: auto; }

.item-intro {
  margin: 0px 0px 2em 0px;
  width: 38%;
  text-align: justify; }
  @media screen and (max-width: 799px) {
    .item-intro {
      padding: 0vw 4vw;
      width: 100%; } }

.item-intro-title {
  margin: 0px 0px 2em 0px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column; }
  .item-intro-title h1 {
    font-size: 16px;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    letter-spacing: 0.1em;
    /*font-family: futura-pt,'Noto Sans JP', sans-serif;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 0.15em;*/ }
  .item-intro-title .item-eng-name {
    font-family: futura-pt, sans-serif;
    font-weight: 500;
    font-style: normal;
    letter-spacing: 0.1em;
    font-size: 28px; }
  @media screen and (max-width: 799px) {
    .item-intro-title h1, .item-intro-title .item-eng-name {
      display: none; } }

.item-cat {
  margin: 1em 0px; }
  .item-cat ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
  .item-cat li {
    list-style: none;
    font-size: 12px; }
  .item-cat li:after {
    color: #999;
    padding: 0px 0.5em;
    content: "/"; }
  .item-cat li:last-child:after {
    content: ""; }
  .item-cat a {
    color: #888; }
  @media screen and (max-width: 799px) {
    .item-cat {
      margin: 0px; } }

.item-intro-cont h3 {
  margin: 0px 0px 1em 0px; }

/* Item details ---------------------------- */
.item-sec-title {
  padding: 1em 0px;
  font-family: futura-pt, sans-serif;
  font-weight: 500;
  font-style: normal;
  letter-spacing: 0.1em;
  font-size: 28px; }
  @media screen and (max-width: 799px) {
    .item-sec-title {
      font-size: 24px; } }

.item-details-wrap {
  margin: auto;
  padding: 4vw 9vw;
  background-color: #F7F7F7; }
  .item-details-wrap img {
    margin: auto auto 1em;
    max-width: 100%;
    height: auto; }
  @media screen and (max-width: 1199px) {
    .item-details-wrap {
      padding: 4vw 4vw; } }

.item-details-box {
  padding: 2vw 0px 6vw; }
  @media screen and (max-width: 799px) {
    .item-details-box {
      padding: 4vw 0px; } }

.item-details-box1-img-left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
  .item-details-box1-img-left .item-details-box-img {
    width: 60%; }
  .item-details-box1-img-left .item-details {
    width: 38%;
    text-align: justify; }
  @media screen and (max-width: 799px) {
    .item-details-box1-img-left .item-details-box-img {
      width: 100%; }
    .item-details-box1-img-left .item-details {
      width: 100%; } }

.item-details-box2-img-center {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
  .item-details-box2-img-center .item-details-box-img {
    width: 80%; }
  .item-details-box2-img-center .item-details {
    padding: 2vw 0px 0px 0px;
    width: 80%;
    text-align: justify; }
  @media screen and (max-width: 799px) {
    .item-details-box2-img-center .item-details-box-img {
      width: 100%; }
    .item-details-box2-img-center .item-details {
      padding: 0vw 0px 0px 0px;
      width: 100%; } }

.item-details-box3-img-right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
  .item-details-box3-img-right .item-details-box-img {
    order: 2;
    width: 60%; }
  .item-details-box3-img-right .item-details {
    order: 1;
    width: 38%;
    text-align: justify; }
  @media screen and (max-width: 799px) {
    .item-details-box3-img-right .item-details-box-img {
      order: 1;
      width: 100%; }
    .item-details-box3-img-right .item-details {
      order: 2;
      width: 100%; } }

/* Item spec ---------------------------- */
.item-about-wrap {
  margin: auto;
  padding: 4vw 9vw; }
  @media screen and (max-width: 1199px) {
    .item-about-wrap {
      padding: 4vw 4vw; } }

.item-about {
  padding: 2vw 0px 4vw;
  /*@include flex-base;
  @include flex-justify;
  @include flex-wrap;*/ }

.item-about-spec {
  margin: auto;
  width: 800px; }
  .item-about-spec dl {
    margin: 0px 0px -1px 0px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    border-color: #ccc;
    border-style: solid;
    border-width: 1px;
    font-size: 12px; }
  .item-about-spec dt {
    padding: 1em;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 12em;
    background-color: #F7F7F7;
    text-align: justify; }
  .item-about-spec dd {
    padding: 1em;
    text-align: justify; }
  @media screen and (max-width: 1024px) {
    .item-about-spec {
      width: 80%; } }
  @media screen and (max-width: 799px) {
    .item-about-spec {
      width: 100%; } }
  @media screen and (max-width: 499px) {
    .item-about-spec dl {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column; }
    .item-about-spec dt {
      width: inherit; } }

.item-about-other {
  display: none;
  padding: 4vw;
  width: 40%;
  border-color: #ccc;
  border-style: dashed;
  border-width: 1px; }
  @media screen and (max-width: 799px) {
    .item-about-other {
      width: 100%; } }

/* News //////////////////////////////////////////////////////////////////////////// */
.news-wrap {
  margin: auto;
  padding: 4vw 0px 8vw;
  width: 90vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; }
  @media screen and (max-width: 1024px) {
    .news-wrap {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column; } }

.news-index-cont {
  width: 100%; }
  @media screen and (max-width: 1024px) {
    .news-index-cont {
      padding: 0px 0px 4em 0px;
      width: 100%; } }

.news-cont {
  margin: auto;
  width: 100%;
  max-width: 880px;
  text-align: justify; }
  .news-cont h1 {
    margin: 0px 0px 1em 0px;
    font-size: 20px; }
  .news-cont p {
    margin: 0px 0px 1em 0px;
    font-size: 16px; }
  .news-cont img {
    margin: 0px 0px 1em 0px;
    max-width: 100%; }
  @media screen and (max-width: 1024px) {
    .news-cont {
      padding: 0px 0px 4em 0px;
      width: 100%; } }

.news-date {
  margin: 0px 0px 1em 0px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .news-date .date {
    margin: 0px 1em 0px 0px;
    font-size: 14px;
    line-height: 20px; }
  .news-date .post-categories {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 12px;
    line-height: 20px; }
    .news-date .post-categories li {
      list-style: none; }
      .news-date .post-categories li a {
        margin: 0px 0.2em 0px 0px;
        padding: 0px 1em;
        color: #000;
        text-decoration: none;
        border-color: #bbb;
        border-style: solid;
        border-width: 1px;
        border-radius: 4px; }
      .news-date .post-categories li a:hover {
        color: #fff;
        background-color: #bbb; }

.news-cont-body {
  margin: 0px 0px 0em 0px;
  padding: 2em 0px;
  border-color: #ccc;
  border-style: solid;
  border-width: 1px 0px; }

.news_cat_area {
  margin: auto auto 4vw;
  max-width: 1000px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center; }
  .news_cat_area li {
    list-style: none;
    margin: 0px -1px 0px 0px;
    padding: 0px 0.5em;
    width: 20%;
    text-align: center;
    cursor: pointer;
    border-color: #ccc;
    border-style: solid;
    border-width: 0px 1px;
    font-size: 14px;
    line-height: 1.8em; }
    .news_cat_area li a {
      display: inline-block;
      width: 100%;
      color: #000;
      text-decoration: none; }
    .news_cat_area li a:hover {
      width: 100%;
      color: #fff;
      border-radius: 2px;
      background-color: #bbb; }
    .news_cat_area li a.current {
      width: 100%;
      color: #fff;
      border-radius: 2px;
      background-color: #bbb; }
  @media screen and (max-width: 499px) {
    .news_cat_area li {
      font-size: 12px;
      padding: 0.3em; }
    .news_cat_area li.tab1_label,
    .news_cat_area li.tab5_label {
      width: 18%; }
    .news_cat_area li.tab2_label {
      width: 15%; }
    .news_cat_area li.tab3_label,
    .news_cat_area li.tab4_label {
      width: 23%; } }

.news-index-list li {
  margin: 0px 0px -1px 0px;
  list-style: none;
  font-size: 14px; }
.news-index-list a {
  display: block;
  padding: 0.5em;
  color: #000;
  text-decoration: none;
  border-color: #ddd;
  border-style: solid;
  border-width: 1px 0px; }
.news-index-list a:hover {
  background-color: #F7F7F7; }
.news-index-list h3 {
  font-size: 14px;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  /*font-family: futura-pt,'Noto Sans JP', sans-serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.15em;*/ }
.news-index-list .date {
  margin: 0px;
  font-size: 12px;
  font-family: futura-pt,sans-serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.1em; }

.postlink {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; }
  .postlink li {
    list-style: none;
    width: 50%;
    font-size: 14px; }
    .postlink li a {
      display: block;
      padding: 1em;
      text-decoration: none; }
    .postlink li a:hover {
      background-color: #F7F7F7; }
  .postlink .next {
    text-align: justify; }
  .postlink .prev {
    text-align: right; }
  @media screen and (max-width: 1024px) {
    .postlink {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column; }
      .postlink li {
        margin: 0px 0px -1px;
        width: 100%;
        border-color: #ccc;
        border-style: solid;
        border-width: 1px 0px; }
        .postlink li a {
          padding: 0.5em; } }

.news-side {
  display: none;
  width: 100%;
  text-align: justify; }
  @media screen and (max-width: 1024px) {
    .news-side {
      width: 100%; } }

.news-side-box {
  margin: 0px 0px 2em 0px; }
  .news-side-box h2 {
    margin: 0px 0px 0.5em 0px;
    font-family: futura-pt, sans-serif;
    font-weight: 500;
    font-style: normal;
    letter-spacing: 0.1em;
    font-size: 14px; }
  .news-side-box li {
    margin: 0px 0px -1px 0px;
    list-style: none;
    font-size: 14px; }
  .news-side-box a {
    display: block;
    padding: 0.5em;
    color: #000;
    text-decoration: none;
    border-color: #ddd;
    border-style: solid;
    border-width: 1px 0px; }
  .news-side-box a:hover {
    background-color: #F7F7F7; }
  .news-side-box h3 {
    font-size: 14px;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    letter-spacing: 0.1em;
    /*font-family: futura-pt,'Noto Sans JP', sans-serif;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 0.15em;*/ }
  .news-side-box .date {
    font-size: 12px;
    font-family: futura-pt,sans-serif;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 0.1em; }

/* Page //////////////////////////////////////////////////////////////////////////// */
.page-cont-wrap {
  margin: auto;
  padding: 4vw 0vw 12vw;
  width: 100%;
  max-width: 880px;
  text-align: justify; }
  .page-cont-wrap p {
    margin: 0px 0px 1em 0px;
    font-size: 16px;
    line-height: 1.8em; }
  .page-cont-wrap img {
    margin: 0px 0px 1em 0px;
    max-width: 100%; }
  @media screen and (max-width: 1024px) {
    .page-cont-wrap {
      padding: 4vw 4vw 12vw;
      width: 100%; } }
  @media screen and (max-width: 799px) {
    .page-cont-wrap {
      padding: 6vw 4vw 12vw; } }
  @media screen and (max-width: 499px) {
    .page-cont-wrap {
      padding: 8vw 4vw 12vw; } }

.greeting {
  padding: 0px 0px 4em 0px;
  text-align: center; }
  .greeting h3 {
    margin: 0px 0px 2em 0px;
    font-family: futura-pt, sans-serif;
    font-weight: 500;
    font-style: normal;
    letter-spacing: 0.1em;
    font-size: 20px;
    text-align: center; }
  @media screen and (max-width: 799px) {
    .greeting {
      text-align: justify; }
      .greeting h3 {
        margin: 1em 0px 2em; }
      .greeting br {
        display: none; } }

.corp-intro {
  padding: 0px 0px 4em 0px;
  text-align: center; }
  .corp-intro h3 {
    margin: 0px 0px 2em 0px;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    letter-spacing: 0.15em;
    font-size: 16px; }
  @media screen and (max-width: 799px) {
    .corp-intro {
      text-align: justify; } }

.corp-data dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0px 0px -1px 0px;
  padding: 1em 0px;
  border-color: #ddd;
  border-style: solid;
  border-width: 1px 0px;
  font-size: 14px; }
.corp-data dt {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 10em;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
  letter-spacing: 0.15em; }
.corp-data dd ul {
  margin: 0px 0px 0px 1em;
  padding: 0px 0px 0px 0px; }
@media screen and (max-width: 799px) {
  .corp-data dl {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column; }
  .corp-data dt {
    margin: 0px 0px 0.5em 0px;
    width: inherit; } }
@media screen and (max-width: 499px) {
  .corp-data dd span {
    display: block; } }

.recruit-non-message {
  padding: 3em 0px;
  border-color: #ddd;
  border-style: solid;
  border-width: 1px 0px;
  text-align: justify; }
  .recruit-non-message h3 {
    margin: 0px 0px 2em 0px;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    letter-spacing: 0.15em;
    font-size: 16px; }

.support {
  margin: 0px 0px -1px;
  padding: 3em 0px;
  border-color: #ddd;
  border-style: solid;
  border-width: 1px 0px;
  text-align: justify; }
  .support h3 {
    margin: 0px 0px 2em 0px;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    letter-spacing: 0.15em;
    font-size: 16px; }
  .support .zip {
    display: block; }
  .support ul {
    margin: 0px 0px 2em 0px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    background-color: #f0f0f0;
    padding: 1em; }
    .support ul li {
      list-style: none;
      padding: 1em;
      width: 49%;
      background-color: #fff;
      text-align: center; }
      .support ul li h4 {
        margin: 0px 0px 1em 0px;
        font-size: 14px;
        font-family: 'Noto Sans JP', sans-serif;
        font-weight: 700;
        letter-spacing: 0.15em; }
      .support ul li .phone {
        margin: 0px 0px 0px 0px;
        font-family: 'Noto Sans JP', sans-serif;
        font-weight: 700;
        letter-spacing: 0.15em;
        font-size: 18px;
        line-height: 1.4em; }
        .support ul li .phone span {
          display: block;
          font-family: 'Noto Sans JP', sans-serif;
          font-weight: 400;
          letter-spacing: 0.1em;
          /*font-family: futura-pt,'Noto Sans JP', sans-serif;
          font-weight: 400;
          font-style: normal;
          letter-spacing: 0.15em;*/
          font-size: 12px; }
      .support ul li .contact-btn {
        margin: 0px; }
        .support ul li .contact-btn a {
          display: block;
          margin: auto;
          max-width: 280px;
          text-align: center;
          color: #fff;
          background-color: black;
          border-color: black;
          border-style: solid;
          border-width: 1px;
          font-size: 14px;
          line-height: 52px;
          text-decoration: none;
          border-radius: 2px; }
        .support ul li .contact-btn a:after {
          display: block;
          margin: -52px 0px 0px 0px;
          padding: 0px 0.5em 0px 0px;
          text-align: right;
          font-family: "Font Awesome 5 Free";
          font-weight: 900;
          content: "\f054"; }
        .support ul li .contact-btn a:hover {
          color: black;
          background-color: #fff; }
  .support ol {
    margin: 0px 0px 1em 1.5em;
    text-align: left; }
    .support ol li {
      margin: 0px 0px 1.5em 0px;
      text-align: left; }
  .support ol.sub {
    margin: 0px 0px 1.5em 2.5em; }
    .support ol.sub li {
      list-style: none;
      margin: 0px 0px 0.5em 0px; }
    .support ol.sub li:before {
      margin: 0px 0px 0px -3em;
      counter-increment: number 1;
      /* number カウンタを増加 */
      content: "（" counter(number) "）";
      /* 表示形式を指定 */ }
  @media screen and (max-width: 599px) {
    .support ul {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column; }
      .support ul li {
        margin: 0px 0px 1em 0px;
        width: 100%; }
      .support ul li:last-child {
        margin: 0px; } }

/* Contact //////////////////////////////////////////////////////////////////////////// */
.contact-form dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0px 0px -1px 0px;
  padding: 1.5em 0px;
  border-color: #eee;
  border-style: solid;
  border-width: 1px 0px;
  font-size: 14px;
  width: 880px; }
.contact-form dt {
  padding: 0px 1.5em 0px 0px;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 220px;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
  letter-spacing: 0.15em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .contact-form dt span {
    margin: 4px 0px 0px 0.5em;
    padding: 0px 0.5em;
    font-size: 12px;
    line-height: 16px;
    height: 16px;
    background-color: red;
    color: #fff;
    border-radius: 2px; }
.contact-form dd {
  padding: 0px 1em 0px 0px;
  width: 660px; }
  .contact-form dd .att {
    margin: 0.5em 0px;
    font-size: 12px;
    color: #666; }
  .contact-form dd input[type="text"].basic {
    padding: 1em;
    border-color: #ddd;
    border-style: solid;
    border-width: 1px;
    background-color: #f6f6f6;
    width: 100%;
    font-size: 16px; }
  .contact-form dd input[type="tel"].zip {
    width: 4em !important;
    padding: 0.5em !important;
    border-color: #ddd !important;
    border-style: solid !important;
    border-width: 1px !important;
    background-color: #f6f6f6 !important; }
  .contact-form dd input[type="tel"].zip1 {
    width: 6em !important;
    padding: 0.5em !important;
    border-color: #ddd !important;
    border-style: solid !important;
    border-width: 1px !important;
    background-color: #f6f6f6 !important; }
  .contact-form dd textarea {
    padding: 1em;
    border-color: #ddd;
    border-style: solid;
    border-width: 1px;
    background-color: #f6f6f6;
    width: 100%;
    font-size: 16px; }
  .contact-form dd textarea.comment {
    height: 10em; }
.contact-form .submit {
  margin: 2em auto 0px;
  text-align: center;
  /*input[type="submit"].submit-btn:after {
      display: block;
      @include font-awesome;
      content: "\f0c9";
  }*/
  /*input[type="submit"].back-btn:before {
      @include font-awesome;
      content: "\f0c9";
  }*/ }
  .contact-form .submit input[type="submit"] {
    display: block; }
  .contact-form .submit input[type="submit"].submit-btn {
    margin: 1em auto;
    font-size: 16px;
    width: 200px;
    height: 48px;
    color: #fff;
    border-color: #000;
    border-style: solid;
    border-width: 2px;
    background-color: #000;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    letter-spacing: 0.1em;
    /*font-family: futura-pt,'Noto Sans JP', sans-serif;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 0.15em;*/ }
  .contact-form .submit input[type="submit"].submit-btn:hover {
    color: #000;
    background-color: #fff; }
  .contact-form .submit input[type="submit"].back-btn {
    margin: 1em auto;
    font-size: 12px;
    padding: 0.5em 2em;
    color: #888;
    border-color: #ddd;
    border-style: solid;
    border-width: 1px;
    background-color: #eee; }
  .contact-form .submit input[type="submit"].back-btn:hover {
    background-color: #fff; }
@media screen and (min-width: 1025px) {
  .contact-form dt {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; } }
@media screen and (max-width: 1024px) {
  .contact-form dl {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 100%; }
  .contact-form dt {
    margin: 0px 0px 0.5em 0px;
    width: inherit; }
  .contact-form dd {
    padding: 0px;
    width: 100%; } }
@media screen and (max-width: 499px) {
  .contact-form dd span {
    display: block; } }

.thanks {
  padding: 2em 0px;
  border-color: #ddd;
  border-style: solid;
  border-width: 1px 0px;
  text-align: justify; }
  .thanks .thanks-caution {
    padding: 3em 0px 0px 0px; }
  .thanks h3 {
    margin: 0px 0px 2em 0px;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    letter-spacing: 0.15em;
    font-size: 16px; }
  .thanks ul {
    margin: 0px 1em; }
  .thanks li {
    margin: 0px 0px 0.5em 0px; }
