@charset "UTF-8";
@media screen and (min-width: 1024px) {
  .btn_style01 {
    position: relative;
    width: 100%; }
    .btn_style01 a, .btn_style01 a:link, .btn_style01 a:visited {
      width: 100%;
      display: flex;
      flex-wrap: wrap;
      color: #333;
      font-size: 1.6rem;
      font-weight: 500;
      letter-spacing: 0.05em;
      line-height: 1.0;
      background: url(../img/arrow_bk01.svg) no-repeat right 10px top 13px;
      background-size: 10px;
      border-bottom: 1px solid #ddd;
      padding: 8px 0 16px 3px; }
    .btn_style01 a::after {
      position: absolute;
      bottom: 0px;
      left: 0;
      content: '';
      width: 100%;
      height: 1px;
      background: #333;
      transform: scale(0, 1);
      transform-origin: right top;
      transition: transform .3s; }
    .btn_style01 a:hover {
      color: #333;
      background: url(../img/arrow_bk01.svg) no-repeat right 7px top 13px;
      background-size: 10px; }
    .btn_style01 a:hover::after {
      transform-origin: left top;
      transform: scale(1, 1); } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .btn_style01 {
    position: relative;
    width: 100%; }
    .btn_style01 a, .btn_style01 a:link, .btn_style01 a:visited {
      width: 100%;
      display: flex;
      flex-wrap: wrap;
      color: #333;
      font-size: 1.5rem;
      font-weight: 500;
      letter-spacing: 0.05em;
      line-height: 1.0;
      background: url(../img/arrow_bk01.svg) no-repeat right 10px top 13px;
      background-size: 10px;
      border-bottom: 1px solid #ddd;
      padding: 8px 0 16px 3px; }
    .btn_style01 a::after {
      position: absolute;
      bottom: 0px;
      left: 0;
      content: '';
      width: 100%;
      height: 1px;
      background: #333;
      transform: scale(0, 1);
      transform-origin: right top;
      transition: transform .3s; }
    .btn_style01 a:hover {
      color: #333;
      background: url(../img/arrow_bk01.svg) no-repeat right 7px top 13px;
      background-size: 10px; }
    .btn_style01 a:hover::after {
      transform-origin: left top;
      transform: scale(1, 1); } }
@media screen and (max-width: 767px) {
  .btn_style01 {
    position: relative;
    width: 100%; }
    .btn_style01 a {
      width: 100%;
      display: flex;
      flex-wrap: wrap;
      color: #333;
      font-size: 1.5rem;
      font-weight: 500;
      letter-spacing: 0.05em;
      line-height: 1.0;
      background: url(../img/arrow_bk01.svg) no-repeat right 5px top 13px;
      background-size: 10px;
      border-bottom: 1px solid #ddd;
      padding: 8px 0 14px 3px; } }

@media screen and (min-width: 1024px) {
  .btn_style02 {
    width: 100%; }
    .btn_style02 a, .btn_style02 a:link a:visited {
      width: 100%;
      height: 40px;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center;
      color: #333;
      font-size: 1.3rem;
      font-weight: 500;
      letter-spacing: 0.2em;
      line-height: 1.0;
      border: 1px solid #ccc; }
      .btn_style02 a img, .btn_style02 a:link a:visited img {
        width: 19px;
        padding-right: 7px; }
    .btn_style02 a:hover {
      background-color: #fff; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .btn_style02 {
    width: 100%; }
    .btn_style02 a, .btn_style02 a:link a:visited {
      width: 100%;
      height: 40px;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center;
      color: #333;
      font-size: 1.4rem;
      font-weight: 500;
      letter-spacing: 0.2em;
      line-height: 1.0;
      border: 1px solid #ccc; }
      .btn_style02 a img, .btn_style02 a:link a:visited img {
        width: 19px;
        padding-right: 7px; }
    .btn_style02 a:hover {
      background-color: #fff; } }
@media screen and (max-width: 767px) {
  .btn_style02 {
    width: 100%; }
    .btn_style02 a {
      width: 100%;
      height: 40px;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center;
      color: #333;
      font-size: 1.5rem;
      font-weight: 500;
      letter-spacing: 0.2em;
      line-height: 1.0;
      border: 1px solid #ccc; }
      .btn_style02 a img {
        width: 19px;
        padding-right: 7px; } }

@media screen and (min-width: 1024px) {
  .btn_style03 {
    position: relative;
    width: 100%; }
    .btn_style03 a, .btn_style03 a:link, .btn_style03 a:visited {
      width: 100%;
      display: flex;
      flex-wrap: wrap;
      color: #333;
      font-size: 1.5rem;
      font-weight: 500;
      letter-spacing: 0.05em;
      line-height: 1.0;
      background: url(../img/arrow_bk02.svg) no-repeat left 10px top 12px;
      background-size: 10px;
      border-bottom: 1px solid #ccc;
      padding: 8px 0 16px 32px; }
    .btn_style03 a::after {
      position: absolute;
      bottom: 0px;
      left: 0;
      content: '';
      width: 100%;
      height: 1px;
      background: #333;
      transform: scale(0, 1);
      transform-origin: right top;
      transition: transform .3s; }
    .btn_style03 a:hover {
      color: #333;
      background: url(../img/arrow_bk02.svg) no-repeat left 7px top 12px;
      background-size: 10px; }
    .btn_style03 a:hover::after {
      transform-origin: left top;
      transform: scale(1, 1); } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .btn_style03 {
    position: relative;
    width: 100%; }
    .btn_style03 a, .btn_style03 a:link, .btn_style03 a:visited {
      width: 100%;
      display: flex;
      flex-wrap: wrap;
      color: #333;
      font-size: 1.4rem;
      font-weight: 500;
      letter-spacing: 0.05em;
      line-height: 1.0;
      background: url(../img/arrow_bk02.svg) no-repeat left 10px top 11px;
      background-size: 10px;
      border-bottom: 1px solid #ccc;
      padding: 8px 0 16px 32px; }
    .btn_style03 a::after {
      position: absolute;
      bottom: 0px;
      left: 0;
      content: '';
      width: 100%;
      height: 1px;
      background: #333;
      transform: scale(0, 1);
      transform-origin: right top;
      transition: transform .3s; }
    .btn_style03 a:hover {
      color: #333;
      background: url(../img/arrow_bk02.svg) no-repeat left 7px top 11px;
      background-size: 10px; }
    .btn_style03 a:hover::after {
      transform-origin: left top;
      transform: scale(1, 1); } }
@media screen and (max-width: 767px) {
  .btn_style03 {
    position: relative;
    width: 100%; }
    .btn_style03 a {
      width: 100%;
      display: flex;
      flex-wrap: wrap;
      color: #333;
      font-size: 1.2rem;
      font-weight: 500;
      letter-spacing: 0.05em;
      line-height: 1.0;
      background: url(../img/arrow_bk02.svg) no-repeat left 5px top 11px;
      background-size: 8px;
      border-bottom: 1px solid #ccc;
      padding: 8px 0 10px 20px; } }

@media screen and (min-width: 1024px) {
  .cta_btn_style01 {
    width: 100%; }
    .cta_btn_style01 a, .cta_btn_style01 a:link a:visited {
      width: 100%;
      height: 56px;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center;
      color: #fff;
      font-size: 1.6rem;
      font-weight: 500;
      line-height: 1.0;
      border: 1px solid rgba(255, 255, 255, 0.4); }
      .cta_btn_style01 a svg, .cta_btn_style01 a:link a:visited svg {
        width: 24px;
        padding-right: 8px;
        padding-top: 1px; }
        .cta_btn_style01 a svg .st0, .cta_btn_style01 a:link a:visited svg .st0 {
          fill: #fff; }
    .cta_btn_style01 a:hover {
      color: #fff;
      background-color: rgba(255, 255, 255, 0.2);
      border: 1px solid rgba(255, 255, 255, 0.6); } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .cta_btn_style01 {
    width: 100%; }
    .cta_btn_style01 a, .cta_btn_style01 a:link a:visited {
      width: 100%;
      height: 54px;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center;
      color: #fff;
      font-size: 1.5rem;
      font-weight: 500;
      line-height: 1.0;
      border: 1px solid rgba(255, 255, 255, 0.4); }
      .cta_btn_style01 a svg, .cta_btn_style01 a:link a:visited svg {
        width: 22px;
        padding-right: 8px;
        padding-top: 1px; }
        .cta_btn_style01 a svg .st0, .cta_btn_style01 a:link a:visited svg .st0 {
          fill: #fff; }
    .cta_btn_style01 a:hover {
      color: #fff;
      background-color: rgba(255, 255, 255, 0.2);
      border: 1px solid rgba(255, 255, 255, 0.6); } }
@media screen and (max-width: 767px) {
  .cta_btn_style01 {
    width: 100%; }
    .cta_btn_style01 a {
      width: 100%;
      height: 50px;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center;
      color: #fff;
      font-size: 1.5rem;
      font-weight: 500;
      line-height: 1.0;
      border: 1px solid rgba(255, 255, 255, 0.4); }
      .cta_btn_style01 a svg {
        width: 22px;
        padding-right: 8px;
        padding-top: 1px; }
        .cta_btn_style01 a svg .st0 {
          fill: #fff; } }

@media screen and (min-width: 1024px) {
  .insta_btn_style01 {
    width: 100%; }
    .insta_btn_style01 a, .insta_btn_style01 a:link a:visited {
      width: 100%;
      height: 56px;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center;
      color: #333;
      font-size: 1.6rem;
      font-weight: 500;
      line-height: 1.0;
      background: url(../img/arrow_bk01.svg) no-repeat right 15px center;
      background-size: 10px;
      border: 1px solid #ddd; }
      .insta_btn_style01 a img, .insta_btn_style01 a:link a:visited img {
        width: 28px;
        padding-right: 8px; }
    .insta_btn_style01 a:hover {
      background: url(../img/arrow_bk01.svg) no-repeat right 12px center;
      background-size: 10px;
      background-color: #f3f3f3; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .insta_btn_style01 {
    width: 100%; }
    .insta_btn_style01 a, .insta_btn_style01 a:link a:visited {
      width: 100%;
      height: 54px;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center;
      color: #333;
      font-size: 1.5rem;
      font-weight: 500;
      line-height: 1.0;
      background: url(../img/arrow_bk01.svg) no-repeat right 15px center;
      background-size: 10px;
      border: 1px solid #ddd; }
      .insta_btn_style01 a img, .insta_btn_style01 a:link a:visited img {
        width: 28px;
        padding-right: 8px; }
    .insta_btn_style01 a:hover {
      background: url(../img/arrow_bk01.svg) no-repeat right 12px center;
      background-size: 10px;
      background-color: #f3f3f3; } }
@media screen and (max-width: 767px) {
  .insta_btn_style01 {
    width: 100%; }
    .insta_btn_style01 a {
      width: 100%;
      height: 50px;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center;
      color: #333;
      font-size: 1.5rem;
      font-weight: 500;
      line-height: 1.0;
      background: url(../img/arrow_bk01.svg) no-repeat right 10px center;
      background-size: 10px;
      border: 1px solid #ddd; }
      .insta_btn_style01 a img {
        width: 24px;
        padding-right: 6px; } }

/* ########## index_header ########## */
@media screen and (min-width: 1024px) {
  .index_header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 80px;
    z-index: 1000;
    transition: all .6s;
    border-bottom: 1px solid rgba(255, 255, 255, 0.3); }
    .index_header__detail {
      position: relative;
      width: 92%;
      height: 80px;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      margin: 0 auto; }
      .index_header__detail__logo {
        display: none; }
      .index_header__detail__nav {
        position: relative;
        flex: 1;
        height: 80px;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: flex-end; }
        .index_header__detail__nav ul {
          display: flex;
          flex-wrap: wrap; }
          .index_header__detail__nav ul li {
            position: relative;
            font-size: min(1.0vw, 14px);
            font-weight: 500; }
            .index_header__detail__nav ul li a, .index_header__detail__nav ul li a:link a:visited {
              position: relative;
              color: #fff; }
            .index_header__detail__nav ul li a::after {
              position: absolute;
              bottom: -2px;
              left: 0;
              content: '';
              width: 100%;
              height: 1px;
              background: #fff;
              transform: scale(0, 1);
              transform-origin: right top;
              transition: transform .3s; }
            .index_header__detail__nav ul li a:hover {
              color: #fff; }
            .index_header__detail__nav ul li a:hover::after {
              transform-origin: left top;
              transform: scale(1, 1); }
          .index_header__detail__nav ul li:nth-child(n + 2) {
            margin-left: 40px; }
        .index_header__detail__nav p.contact {
          width: 50px;
          height: 50px;
          margin-left: 45px; }
          .index_header__detail__nav p.contact a, .index_header__detail__nav p.contact a:link, .index_header__detail__nav p.contact a:visited {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 50px;
            height: 50px;
            border: 1px solid rgba(255, 255, 255, 0.3); }
            .index_header__detail__nav p.contact a svg, .index_header__detail__nav p.contact a:link svg, .index_header__detail__nav p.contact a:visited svg {
              width: 18px; }
              .index_header__detail__nav p.contact a svg .st0, .index_header__detail__nav p.contact a:link svg .st0, .index_header__detail__nav p.contact a:visited svg .st0 {
                fill: #fff; }
          .index_header__detail__nav p.contact a:hover {
            border: 1px solid rgba(255, 255, 255, 0.6); }
        .index_header__detail__nav p.insta {
          width: 50px;
          height: 50px;
          margin-left: 8px; }
          .index_header__detail__nav p.insta a, .index_header__detail__nav p.insta a:link, .index_header__detail__nav p.insta a:visited {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 50px;
            height: 50px;
            border: 1px solid rgba(255, 255, 255, 0.3); }
            .index_header__detail__nav p.insta a svg, .index_header__detail__nav p.insta a:link svg, .index_header__detail__nav p.insta a:visited svg {
              width: 20px; }
              .index_header__detail__nav p.insta a svg .st0, .index_header__detail__nav p.insta a:link svg .st0, .index_header__detail__nav p.insta a:visited svg .st0 {
                fill: #fff; }
          .index_header__detail__nav p.insta a:hover {
            border: 1px solid rgba(255, 255, 255, 0.6); } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .index_header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 70px;
    z-index: 1000;
    transition: all .6s;
    border-bottom: 1px solid rgba(255, 255, 255, 0.3); }
    .index_header__detail {
      position: relative;
      width: 96%;
      height: 70px;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      margin: 0 0 0 4%;
      padding-right: 74px; }
      .index_header__detail__logo {
        display: none; }
      .index_header__detail__nav {
        position: relative;
        flex: 1;
        height: 70px;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: flex-end; }
        .index_header__detail__nav ul {
          display: none; }
        .index_header__detail__nav p.contact {
          width: 46px;
          height: 46px; }
          .index_header__detail__nav p.contact a, .index_header__detail__nav p.contact a:link, .index_header__detail__nav p.contact a:visited {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 46px;
            height: 46px;
            border: 1px solid rgba(255, 255, 255, 0.3); }
            .index_header__detail__nav p.contact a svg, .index_header__detail__nav p.contact a:link svg, .index_header__detail__nav p.contact a:visited svg {
              width: 18px; }
              .index_header__detail__nav p.contact a svg .st0, .index_header__detail__nav p.contact a:link svg .st0, .index_header__detail__nav p.contact a:visited svg .st0 {
                fill: #fff; }
          .index_header__detail__nav p.contact a:hover {
            border: 1px solid rgba(255, 255, 255, 0.6); }
        .index_header__detail__nav p.insta {
          width: 46px;
          height: 46px;
          margin-left: 8px; }
          .index_header__detail__nav p.insta a, .index_header__detail__nav p.insta a:link, .index_header__detail__nav p.insta a:visited {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 46px;
            height: 46px;
            border: 1px solid rgba(255, 255, 255, 0.3); }
            .index_header__detail__nav p.insta a svg, .index_header__detail__nav p.insta a:link svg, .index_header__detail__nav p.insta a:visited svg {
              width: 20px; }
              .index_header__detail__nav p.insta a svg .st0, .index_header__detail__nav p.insta a:link svg .st0, .index_header__detail__nav p.insta a:visited svg .st0 {
                fill: #fff; }
          .index_header__detail__nav p.insta a:hover {
            border: 1px solid rgba(255, 255, 255, 0.6); } }
@media screen and (max-width: 767px) {
  .index_header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 56px;
    z-index: 1000;
    transition: all .6s;
    border-bottom: 1px solid rgba(255, 255, 255, 0.3); }
    .index_header__detail {
      position: relative;
      width: 92%;
      height: 56px;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      margin: 0 auto; }
      .index_header__detail__logo {
        display: none; }
      .index_header__detail__nav {
        position: absolute;
        top: 17px;
        left: 0;
        width: 22px;
        height: 22px; }
        .index_header__detail__nav ul {
          display: none; }
        .index_header__detail__nav p.contact {
          display: none; }
        .index_header__detail__nav p.insta {
          position: absolute;
          width: 22px;
          height: 22px; }
          .index_header__detail__nav p.insta a {
            width: 100%; }
            .index_header__detail__nav p.insta a svg {
              width: 22px; }
              .index_header__detail__nav p.insta a svg .st0 {
                fill: #fff; } }

@media screen and (min-width: 1024px) {
  .is-fixed {
    background-color: #fff;
    transition: all .6s; }
    .is-fixed .index_header__detail {
      position: relative; }
      .is-fixed .index_header__detail__logo {
        display: block;
        width: 240px; }
        .is-fixed .index_header__detail__logo svg {
          color: #333; }
      .is-fixed .index_header__detail__nav {
        position: relative; }
        .is-fixed .index_header__detail__nav ul {
          position: relative; }
          .is-fixed .index_header__detail__nav ul li {
            position: relative; }
            .is-fixed .index_header__detail__nav ul li a, .is-fixed .index_header__detail__nav ul li a:link a:visited {
              position: relative;
              color: #333; }
            .is-fixed .index_header__detail__nav ul li a::after {
              background: #333; }
            .is-fixed .index_header__detail__nav ul li a:hover {
              color: #333; }
            .is-fixed .index_header__detail__nav ul li a:hover::after {
              transform-origin: left top;
              transform: scale(1, 1); }
          .is-fixed .index_header__detail__nav ul li:nth-child(n + 2) {
            margin-left: 40px; }
        .is-fixed .index_header__detail__nav p.contact {
          width: 50px;
          height: 50px; }
          .is-fixed .index_header__detail__nav p.contact a, .is-fixed .index_header__detail__nav p.contact a:link, .is-fixed .index_header__detail__nav p.contact a:visited {
            border: 1px solid #ddd; }
            .is-fixed .index_header__detail__nav p.contact a svg, .is-fixed .index_header__detail__nav p.contact a:link svg, .is-fixed .index_header__detail__nav p.contact a:visited svg {
              width: 18px; }
              .is-fixed .index_header__detail__nav p.contact a svg .st0, .is-fixed .index_header__detail__nav p.contact a:link svg .st0, .is-fixed .index_header__detail__nav p.contact a:visited svg .st0 {
                fill: #333; }
          .is-fixed .index_header__detail__nav p.contact a:hover {
            background-color: #f3f3f3;
            border: 1px solid #666; }
        .is-fixed .index_header__detail__nav p.insta {
          width: 50px;
          height: 50px; }
          .is-fixed .index_header__detail__nav p.insta a, .is-fixed .index_header__detail__nav p.insta a:link, .is-fixed .index_header__detail__nav p.insta a:visited {
            border: 1px solid #ddd; }
            .is-fixed .index_header__detail__nav p.insta a svg, .is-fixed .index_header__detail__nav p.insta a:link svg, .is-fixed .index_header__detail__nav p.insta a:visited svg {
              width: 20px; }
              .is-fixed .index_header__detail__nav p.insta a svg .st0, .is-fixed .index_header__detail__nav p.insta a:link svg .st0, .is-fixed .index_header__detail__nav p.insta a:visited svg .st0 {
                fill: #333; }
          .is-fixed .index_header__detail__nav p.insta a:hover {
            background-color: #f3f3f3;
            border: 1px solid #666; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .is-fixed {
    background-color: #fff;
    transition: all .6s; }
    .is-fixed .index_header__detail {
      position: relative; }
      .is-fixed .index_header__detail__logo {
        display: block;
        width: 220px; }
        .is-fixed .index_header__detail__logo svg {
          color: #333; }
      .is-fixed .index_header__detail__nav {
        position: relative; }
        .is-fixed .index_header__detail__nav p.contact {
          width: 46px;
          height: 46px; }
          .is-fixed .index_header__detail__nav p.contact a, .is-fixed .index_header__detail__nav p.contact a:link, .is-fixed .index_header__detail__nav p.contact a:visited {
            border: 1px solid #ddd; }
            .is-fixed .index_header__detail__nav p.contact a svg, .is-fixed .index_header__detail__nav p.contact a:link svg, .is-fixed .index_header__detail__nav p.contact a:visited svg {
              width: 18px; }
              .is-fixed .index_header__detail__nav p.contact a svg .st0, .is-fixed .index_header__detail__nav p.contact a:link svg .st0, .is-fixed .index_header__detail__nav p.contact a:visited svg .st0 {
                fill: #333; }
          .is-fixed .index_header__detail__nav p.contact a:hover {
            background-color: #f3f3f3;
            border: 1px solid #666; }
        .is-fixed .index_header__detail__nav p.insta {
          width: 46px;
          height: 46px; }
          .is-fixed .index_header__detail__nav p.insta a, .is-fixed .index_header__detail__nav p.insta a:link, .is-fixed .index_header__detail__nav p.insta a:visited {
            border: 1px solid #ddd; }
            .is-fixed .index_header__detail__nav p.insta a svg, .is-fixed .index_header__detail__nav p.insta a:link svg, .is-fixed .index_header__detail__nav p.insta a:visited svg {
              width: 20px; }
              .is-fixed .index_header__detail__nav p.insta a svg .st0, .is-fixed .index_header__detail__nav p.insta a:link svg .st0, .is-fixed .index_header__detail__nav p.insta a:visited svg .st0 {
                fill: #333; }
          .is-fixed .index_header__detail__nav p.insta a:hover {
            background-color: #f3f3f3;
            border: 1px solid #666; } }
@media screen and (max-width: 767px) {
  .is-fixed {
    background-color: #fff;
    transition: all .6s; }
    .is-fixed .index_header__detail {
      position: relative; }
      .is-fixed .index_header__detail__logo {
        display: block;
        width: 180px;
        margin: 0 auto; }
        .is-fixed .index_header__detail__logo svg {
          color: #333; }
      .is-fixed .index_header__detail p.insta {
        position: absolute;
        width: 22px;
        height: 22px; }
        .is-fixed .index_header__detail p.insta a {
          width: 100%; }
          .is-fixed .index_header__detail p.insta a svg {
            width: 22px; }
            .is-fixed .index_header__detail p.insta a svg .st0 {
              fill: #333; } }

/* ########## index_header ########## */
/* ########## brand_header ########## */
@media screen and (min-width: 1024px) {
  .brand_header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 80px;
    z-index: 1000;
    transition: all .6s;
    border-bottom: 1px solid rgba(255, 255, 255, 0.3); }
    .brand_header__detail {
      position: relative;
      width: 92%;
      height: 80px;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      margin: 0 auto; }
      .brand_header__detail__logo {
        width: 240px; }
        .brand_header__detail__logo svg {
          color: #fff; }
      .brand_header__detail__nav {
        position: relative;
        flex: 1;
        height: 80px;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: flex-end; }
        .brand_header__detail__nav ul {
          display: flex;
          flex-wrap: wrap; }
          .brand_header__detail__nav ul li {
            position: relative;
            font-size: min(1.0vw, 14px);
            font-weight: 500; }
            .brand_header__detail__nav ul li a, .brand_header__detail__nav ul li a:link a:visited {
              position: relative;
              color: #fff; }
            .brand_header__detail__nav ul li a::after {
              position: absolute;
              bottom: -2px;
              left: 0;
              content: '';
              width: 100%;
              height: 1px;
              background: #fff;
              transform: scale(0, 1);
              transform-origin: right top;
              transition: transform .3s; }
            .brand_header__detail__nav ul li a:hover {
              color: #fff; }
            .brand_header__detail__nav ul li a:hover::after {
              transform-origin: left top;
              transform: scale(1, 1); }
          .brand_header__detail__nav ul li.current {
            font-weight: 600;
            padding-bottom: 1px;
            border-bottom: 1px solid #fff; }
          .brand_header__detail__nav ul li:nth-child(n + 2) {
            margin-left: 40px; }
        .brand_header__detail__nav p.contact {
          width: 50px;
          height: 50px;
          margin-left: 45px; }
          .brand_header__detail__nav p.contact a, .brand_header__detail__nav p.contact a:link, .brand_header__detail__nav p.contact a:visited {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 50px;
            height: 50px;
            border: 1px solid rgba(255, 255, 255, 0.3); }
            .brand_header__detail__nav p.contact a svg, .brand_header__detail__nav p.contact a:link svg, .brand_header__detail__nav p.contact a:visited svg {
              width: 18px; }
              .brand_header__detail__nav p.contact a svg .st0, .brand_header__detail__nav p.contact a:link svg .st0, .brand_header__detail__nav p.contact a:visited svg .st0 {
                fill: #fff; }
          .brand_header__detail__nav p.contact a:hover {
            border: 1px solid rgba(255, 255, 255, 0.6); }
        .brand_header__detail__nav p.insta {
          width: 50px;
          height: 50px;
          margin-left: 8px; }
          .brand_header__detail__nav p.insta a, .brand_header__detail__nav p.insta a:link, .brand_header__detail__nav p.insta a:visited {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 50px;
            height: 50px;
            border: 1px solid rgba(255, 255, 255, 0.3); }
            .brand_header__detail__nav p.insta a svg, .brand_header__detail__nav p.insta a:link svg, .brand_header__detail__nav p.insta a:visited svg {
              width: 20px; }
              .brand_header__detail__nav p.insta a svg .st0, .brand_header__detail__nav p.insta a:link svg .st0, .brand_header__detail__nav p.insta a:visited svg .st0 {
                fill: #fff; }
          .brand_header__detail__nav p.insta a:hover {
            border: 1px solid rgba(255, 255, 255, 0.6); } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .brand_header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 70px;
    z-index: 1000;
    transition: all .6s;
    border-bottom: 1px solid rgba(255, 255, 255, 0.3); }
    .brand_header__detail {
      position: relative;
      width: 96%;
      height: 70px;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      margin: 0 0 0 4%;
      padding-right: 74px; }
      .brand_header__detail__logo {
        width: 220px; }
        .brand_header__detail__logo svg {
          color: #fff; }
      .brand_header__detail__nav {
        position: relative;
        flex: 1;
        height: 70px;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: flex-end; }
        .brand_header__detail__nav ul {
          display: none; }
        .brand_header__detail__nav p.contact {
          width: 46px;
          height: 46px; }
          .brand_header__detail__nav p.contact a, .brand_header__detail__nav p.contact a:link, .brand_header__detail__nav p.contact a:visited {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 46px;
            height: 46px;
            border: 1px solid rgba(255, 255, 255, 0.3); }
            .brand_header__detail__nav p.contact a svg, .brand_header__detail__nav p.contact a:link svg, .brand_header__detail__nav p.contact a:visited svg {
              width: 18px; }
              .brand_header__detail__nav p.contact a svg .st0, .brand_header__detail__nav p.contact a:link svg .st0, .brand_header__detail__nav p.contact a:visited svg .st0 {
                fill: #fff; }
          .brand_header__detail__nav p.contact a:hover {
            border: 1px solid rgba(255, 255, 255, 0.6); }
        .brand_header__detail__nav p.insta {
          width: 46px;
          height: 46px;
          margin-left: 8px; }
          .brand_header__detail__nav p.insta a, .brand_header__detail__nav p.insta a:link, .brand_header__detail__nav p.insta a:visited {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 46px;
            height: 46px;
            border: 1px solid rgba(255, 255, 255, 0.3); }
            .brand_header__detail__nav p.insta a svg, .brand_header__detail__nav p.insta a:link svg, .brand_header__detail__nav p.insta a:visited svg {
              width: 20px; }
              .brand_header__detail__nav p.insta a svg .st0, .brand_header__detail__nav p.insta a:link svg .st0, .brand_header__detail__nav p.insta a:visited svg .st0 {
                fill: #fff; }
          .brand_header__detail__nav p.insta a:hover {
            border: 1px solid rgba(255, 255, 255, 0.6); } }
@media screen and (max-width: 767px) {
  .brand_header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 56px;
    z-index: 1000;
    transition: all .6s;
    border-bottom: 1px solid rgba(255, 255, 255, 0.3); }
    .brand_header__detail {
      position: relative;
      width: 92%;
      height: 56px;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      margin: 0 auto; }
      .brand_header__detail__logo {
        position: relative;
        width: 180px;
        margin: 0 auto; }
        .brand_header__detail__logo svg {
          color: #fff; }
      .brand_header__detail__nav {
        position: absolute;
        top: 17px;
        left: 0;
        width: 22px;
        height: 22px; }
        .brand_header__detail__nav ul {
          display: none; }
        .brand_header__detail__nav p.contact {
          display: none; }
        .brand_header__detail__nav p.insta {
          position: absolute;
          width: 22px;
          height: 22px; }
          .brand_header__detail__nav p.insta a {
            width: 100%; }
            .brand_header__detail__nav p.insta a svg {
              width: 22px; }
              .brand_header__detail__nav p.insta a svg .st0 {
                fill: #fff; } }

@media screen and (min-width: 1024px) {
  .is-brand-fixed {
    background-color: #fff;
    transition: all .6s; }
    .is-brand-fixed .brand_header__detail {
      position: relative; }
      .is-brand-fixed .brand_header__detail__logo {
        width: 240px; }
        .is-brand-fixed .brand_header__detail__logo svg {
          color: #333; }
      .is-brand-fixed .brand_header__detail__nav {
        position: relative; }
        .is-brand-fixed .brand_header__detail__nav ul {
          position: relative; }
          .is-brand-fixed .brand_header__detail__nav ul li {
            position: relative; }
            .is-brand-fixed .brand_header__detail__nav ul li a, .is-brand-fixed .brand_header__detail__nav ul li a:link a:visited {
              position: relative;
              color: #333; }
            .is-brand-fixed .brand_header__detail__nav ul li a::after {
              background: #333; }
            .is-brand-fixed .brand_header__detail__nav ul li a:hover {
              color: #333; }
          .is-brand-fixed .brand_header__detail__nav ul li.current {
            border-bottom: 1px solid #333; }
        .is-brand-fixed .brand_header__detail__nav p.contact {
          width: 50px;
          height: 50px; }
          .is-brand-fixed .brand_header__detail__nav p.contact a, .is-brand-fixed .brand_header__detail__nav p.contact a:link, .is-brand-fixed .brand_header__detail__nav p.contact a:visited {
            border: 1px solid #ddd; }
            .is-brand-fixed .brand_header__detail__nav p.contact a svg, .is-brand-fixed .brand_header__detail__nav p.contact a:link svg, .is-brand-fixed .brand_header__detail__nav p.contact a:visited svg {
              width: 18px; }
              .is-brand-fixed .brand_header__detail__nav p.contact a svg .st0, .is-brand-fixed .brand_header__detail__nav p.contact a:link svg .st0, .is-brand-fixed .brand_header__detail__nav p.contact a:visited svg .st0 {
                fill: #333; }
          .is-brand-fixed .brand_header__detail__nav p.contact a:hover {
            background-color: #f3f3f3;
            border: 1px solid #666; }
        .is-brand-fixed .brand_header__detail__nav p.insta {
          margin-left: 8px; }
          .is-brand-fixed .brand_header__detail__nav p.insta a, .is-brand-fixed .brand_header__detail__nav p.insta a:link, .is-brand-fixed .brand_header__detail__nav p.insta a:visited {
            border: 1px solid #ddd; }
            .is-brand-fixed .brand_header__detail__nav p.insta a svg, .is-brand-fixed .brand_header__detail__nav p.insta a:link svg, .is-brand-fixed .brand_header__detail__nav p.insta a:visited svg {
              width: 20px; }
              .is-brand-fixed .brand_header__detail__nav p.insta a svg .st0, .is-brand-fixed .brand_header__detail__nav p.insta a:link svg .st0, .is-brand-fixed .brand_header__detail__nav p.insta a:visited svg .st0 {
                fill: #333; }
          .is-brand-fixed .brand_header__detail__nav p.insta a:hover {
            background-color: #f3f3f3;
            border: 1px solid #666; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .is-brand-fixed {
    background-color: #fff;
    transition: all .6s; }
    .is-brand-fixed .brand_header__detail {
      position: relative; }
      .is-brand-fixed .brand_header__detail__logo {
        width: 220px; }
        .is-brand-fixed .brand_header__detail__logo svg {
          color: #333; }
      .is-brand-fixed .brand_header__detail__nav {
        position: relative; }
        .is-brand-fixed .brand_header__detail__nav p.contact {
          width: 46px;
          height: 46px; }
          .is-brand-fixed .brand_header__detail__nav p.contact a, .is-brand-fixed .brand_header__detail__nav p.contact a:link, .is-brand-fixed .brand_header__detail__nav p.contact a:visited {
            border: 1px solid #ddd; }
            .is-brand-fixed .brand_header__detail__nav p.contact a svg, .is-brand-fixed .brand_header__detail__nav p.contact a:link svg, .is-brand-fixed .brand_header__detail__nav p.contact a:visited svg {
              width: 18px; }
              .is-brand-fixed .brand_header__detail__nav p.contact a svg .st0, .is-brand-fixed .brand_header__detail__nav p.contact a:link svg .st0, .is-brand-fixed .brand_header__detail__nav p.contact a:visited svg .st0 {
                fill: #333; }
          .is-brand-fixed .brand_header__detail__nav p.contact a:hover {
            background-color: #f3f3f3;
            border: 1px solid #666; }
        .is-brand-fixed .brand_header__detail__nav p.insta {
          width: 46px;
          height: 46px; }
          .is-brand-fixed .brand_header__detail__nav p.insta a, .is-brand-fixed .brand_header__detail__nav p.insta a:link, .is-brand-fixed .brand_header__detail__nav p.insta a:visited {
            border: 1px solid #ddd; }
            .is-brand-fixed .brand_header__detail__nav p.insta a svg, .is-brand-fixed .brand_header__detail__nav p.insta a:link svg, .is-brand-fixed .brand_header__detail__nav p.insta a:visited svg {
              width: 20px; }
              .is-brand-fixed .brand_header__detail__nav p.insta a svg .st0, .is-brand-fixed .brand_header__detail__nav p.insta a:link svg .st0, .is-brand-fixed .brand_header__detail__nav p.insta a:visited svg .st0 {
                fill: #333; }
          .is-brand-fixed .brand_header__detail__nav p.insta a:hover {
            background-color: #f3f3f3;
            border: 1px solid #666; } }
@media screen and (max-width: 767px) {
  .is-brand-fixed {
    background-color: #fff;
    transition: all .6s; }
    .is-brand-fixed .brand_header__detail {
      position: relative; }
      .is-brand-fixed .brand_header__detail__logo {
        width: 180px; }
        .is-brand-fixed .brand_header__detail__logo svg {
          color: #333; }
      .is-brand-fixed .brand_header__detail p.insta {
        position: absolute;
        width: 22px;
        height: 22px; }
        .is-brand-fixed .brand_header__detail p.insta a {
          width: 100%; }
          .is-brand-fixed .brand_header__detail p.insta a svg {
            width: 22px; }
            .is-brand-fixed .brand_header__detail p.insta a svg .st0 {
              fill: #333; } }

/* ########## brand_header ########## */
/* ########## page_header ########## */
@media screen and (min-width: 1024px) {
  .page_header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 80px;
    z-index: 1000;
    transition: all .6s; }
    .page_header__detail {
      position: relative;
      width: 92%;
      height: 80px;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      margin: 0 auto; }
      .page_header__detail__logo {
        width: 240px; }
        .page_header__detail__logo svg {
          color: #333; }
      .page_header__detail__nav {
        position: relative;
        flex: 1;
        height: 80px;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: flex-end; }
        .page_header__detail__nav ul {
          display: flex;
          flex-wrap: wrap; }
          .page_header__detail__nav ul li {
            position: relative;
            font-size: min(1.0vw, 14px);
            font-weight: 500; }
            .page_header__detail__nav ul li a, .page_header__detail__nav ul li a:link a:visited {
              position: relative;
              color: #333; }
            .page_header__detail__nav ul li a::after {
              position: absolute;
              bottom: -2px;
              left: 0;
              content: '';
              width: 100%;
              height: 1px;
              background: #333;
              transform: scale(0, 1);
              transform-origin: right top;
              transition: transform .3s; }
            .page_header__detail__nav ul li a:hover {
              color: #333; }
            .page_header__detail__nav ul li a:hover::after {
              transform-origin: left top;
              transform: scale(1, 1); }
          .page_header__detail__nav ul li.current {
            font-weight: 600;
            padding-bottom: 1px;
            border-bottom: 1px solid #333; }
          .page_header__detail__nav ul li:nth-child(n + 2) {
            margin-left: 40px; }
        .page_header__detail__nav p.contact {
          width: 50px;
          height: 50px;
          margin-left: 45px; }
          .page_header__detail__nav p.contact a, .page_header__detail__nav p.contact a:link, .page_header__detail__nav p.contact a:visited {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 50px;
            height: 50px;
            border: 1px solid #ccc; }
            .page_header__detail__nav p.contact a svg, .page_header__detail__nav p.contact a:link svg, .page_header__detail__nav p.contact a:visited svg {
              width: 18px; }
              .page_header__detail__nav p.contact a svg .st0, .page_header__detail__nav p.contact a:link svg .st0, .page_header__detail__nav p.contact a:visited svg .st0 {
                fill: #333; }
          .page_header__detail__nav p.contact a:hover {
            border: 1px solid #666; }
        .page_header__detail__nav p.insta {
          width: 50px;
          height: 50px;
          margin-left: 8px; }
          .page_header__detail__nav p.insta a, .page_header__detail__nav p.insta a:link, .page_header__detail__nav p.insta a:visited {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 50px;
            height: 50px;
            border: 1px solid #ccc; }
            .page_header__detail__nav p.insta a svg, .page_header__detail__nav p.insta a:link svg, .page_header__detail__nav p.insta a:visited svg {
              width: 20px; }
              .page_header__detail__nav p.insta a svg .st0, .page_header__detail__nav p.insta a:link svg .st0, .page_header__detail__nav p.insta a:visited svg .st0 {
                fill: #333; }
          .page_header__detail__nav p.insta a:hover {
            border: 1px solid #666; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .page_header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 70px;
    z-index: 1000;
    transition: all .6s; }
    .page_header__detail {
      position: relative;
      width: 96%;
      height: 70px;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      margin: 0 0 0 4%;
      padding-right: 74px; }
      .page_header__detail__logo {
        width: 220px; }
        .page_header__detail__logo svg {
          color: #333; }
      .page_header__detail__nav {
        position: relative;
        flex: 1;
        height: 70px;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: flex-end; }
        .page_header__detail__nav ul {
          display: none; }
        .page_header__detail__nav p.contact {
          width: 46px;
          height: 46px; }
          .page_header__detail__nav p.contact a, .page_header__detail__nav p.contact a:link, .page_header__detail__nav p.contact a:visited {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 46px;
            height: 46px;
            border: 1px solid #ccc; }
            .page_header__detail__nav p.contact a svg, .page_header__detail__nav p.contact a:link svg, .page_header__detail__nav p.contact a:visited svg {
              width: 18px; }
              .page_header__detail__nav p.contact a svg .st0, .page_header__detail__nav p.contact a:link svg .st0, .page_header__detail__nav p.contact a:visited svg .st0 {
                fill: #333; }
          .page_header__detail__nav p.contact a:hover {
            background-color: #f3f3f3;
            border: 1px solid #666; }
        .page_header__detail__nav p.insta {
          width: 46px;
          height: 46px;
          margin-left: 8px; }
          .page_header__detail__nav p.insta a, .page_header__detail__nav p.insta a:link, .page_header__detail__nav p.insta a:visited {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 46px;
            height: 46px;
            border: 1px solid #ccc; }
            .page_header__detail__nav p.insta a svg, .page_header__detail__nav p.insta a:link svg, .page_header__detail__nav p.insta a:visited svg {
              width: 20px; }
              .page_header__detail__nav p.insta a svg .st0, .page_header__detail__nav p.insta a:link svg .st0, .page_header__detail__nav p.insta a:visited svg .st0 {
                fill: #333; }
          .page_header__detail__nav p.insta a:hover {
            background-color: #f3f3f3;
            border: 1px solid #666; } }
@media screen and (max-width: 767px) {
  .page_header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 56px;
    z-index: 1000;
    transition: all .6s; }
    .page_header__detail {
      position: relative;
      width: 92%;
      height: 56px;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      margin: 0 auto; }
      .page_header__detail__logo {
        position: relative;
        width: 180px;
        margin: 0 auto; }
        .page_header__detail__logo svg {
          color: #333; }
      .page_header__detail__nav {
        position: absolute;
        top: 17px;
        left: 0;
        width: 22px;
        height: 22px; }
        .page_header__detail__nav ul {
          display: none; }
        .page_header__detail__nav p.contact {
          display: none; }
        .page_header__detail__nav p.insta {
          position: absolute;
          width: 22px;
          height: 22px; }
          .page_header__detail__nav p.insta a {
            width: 100%; }
            .page_header__detail__nav p.insta a svg {
              width: 22px; }
              .page_header__detail__nav p.insta a svg .st0 {
                fill: #333; } }

@media screen and (min-width: 1024px) {
  .is-page-fixed {
    background-color: #fff;
    transition: all .6s; }
    .is-page-fixed .page_header__detail {
      position: relative; }
      .is-page-fixed .page_header__detail__nav {
        position: relative; }
        .is-page-fixed .page_header__detail__nav p.contact {
          width: 50px;
          height: 50px; }
          .is-page-fixed .page_header__detail__nav p.contact a:hover {
            background-color: #f3f3f3;
            border: 1px solid #666; }
        .is-page-fixed .page_header__detail__nav p.insta {
          margin-left: 8px; }
          .is-page-fixed .page_header__detail__nav p.insta a:hover {
            background-color: #f3f3f3;
            border: 1px solid #666; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .is-page-fixed {
    background-color: #fff;
    transition: all .6s; }
    .is-page-fixed .page_header__detail {
      position: relative; }
      .is-page-fixed .page_header__detail__nav {
        position: relative; }
        .is-page-fixed .page_header__detail__nav p.contact {
          width: 46px;
          height: 46px; }
          .is-page-fixed .page_header__detail__nav p.contact a:hover {
            background-color: #f3f3f3;
            border: 1px solid #666; }
        .is-page-fixed .page_header__detail__nav p.insta {
          margin-left: 8px; }
          .is-page-fixed .page_header__detail__nav p.insta a:hover {
            background-color: #f3f3f3;
            border: 1px solid #666; } }
@media screen and (max-width: 767px) {
  .is-page-fixed {
    background-color: #fff;
    transition: all .6s; } }

/* ########## page_header ########## */
/* ########## nav_menu ########## */
@media screen and (min-width: 1024px) {
  div.nav_menu {
    display: none; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  div.nav_menu {
    position: fixed;
    top: 0;
    right: 0;
    display: block;
    width: 70px;
    height: 70px;
    z-index: 9000; }
    div.nav_menu a.nav_menu__icon {
      position: relative;
      cursor: pointer;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      width: 70px;
      height: 70px;
      text-align: center;
      text-decoration: none;
      background: url(../img/nav_icon_backimg.svg) no-repeat center center;
      background-size: 100%;
      transition: all .3s; }
      div.nav_menu a.nav_menu__icon .menu__line {
        display: block;
        height: 1px;
        position: absolute;
        transition: transform .3s; }
      div.nav_menu a.nav_menu__icon .menu__line--top {
        width: 30px;
        top: 22px;
        left: 20px;
        background-color: #fff; }
      div.nav_menu a.nav_menu__icon .menu__line--bottom {
        width: 20px;
        bottom: 38px;
        left: 30px;
        background-color: #fff; }
    div.nav_menu a.nav_menu__icon.active {
      width: 100%;
      height: 70px;
      background: url(../img/nav_icon_backimg_bk.svg) no-repeat center center;
      background-size: 100%; }
      div.nav_menu a.nav_menu__icon.active .menu__line {
        display: block;
        height: 1px;
        position: absolute;
        transition: transform .3s; }
      div.nav_menu a.nav_menu__icon.active .menu__line--top {
        width: 30px;
        top: 27px;
        left: 20px;
        background-color: #333;
        transform: rotate(24deg); }
      div.nav_menu a.nav_menu__icon.active .menu__line--bottom {
        width: 30px;
        bottom: 42px;
        left: 20px;
        background-color: #333;
        transform: rotate(-24deg); } }
@media screen and (max-width: 767px) {
  div.nav_menu {
    position: fixed;
    top: 0px;
    right: 0px;
    display: block;
    width: 56px;
    height: 56px;
    z-index: 9000; }
    div.nav_menu a.nav_menu__icon {
      position: relative;
      cursor: pointer;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      width: 56px;
      height: 56px;
      text-align: center;
      text-decoration: none;
      background: url(../img/nav_icon_backimg.svg) no-repeat center center;
      background-size: 100%;
      transition: all .3s; }
      div.nav_menu a.nav_menu__icon .menu__line {
        display: block;
        height: 1px;
        position: absolute;
        transition: transform .3s; }
      div.nav_menu a.nav_menu__icon .menu__line--top {
        width: 24px;
        top: 18px;
        left: 16px;
        background-color: #fff; }
      div.nav_menu a.nav_menu__icon .menu__line--bottom {
        width: 18px;
        bottom: 30px;
        left: 22px;
        background-color: #fff; }
    div.nav_menu a.nav_menu__icon.active {
      width: 100%;
      height: 56px;
      background: url(../img/nav_icon_backimg_bk.svg) no-repeat center center;
      background-size: 100%; }
      div.nav_menu a.nav_menu__icon.active .menu__line {
        display: block;
        height: 1px;
        position: absolute;
        transition: transform .3s; }
      div.nav_menu a.nav_menu__icon.active .menu__line--top {
        width: 25px;
        top: 20px;
        left: 16px;
        background-color: #333;
        transform: rotate(24deg); }
      div.nav_menu a.nav_menu__icon.active .menu__line--bottom {
        width: 25px;
        bottom: 35px;
        left: 16px;
        background-color: #333;
        transform: rotate(-24deg); } }

@media screen and (max-width: 1023px) and (min-width: 768px) {
  .is-navicon-fixed {
    position: fixed; }
    .is-navicon-fixed a.nav_menu__icon {
      background: url(../img/nav_icon_backimg_bk.svg) no-repeat center center !important;
      background-size: 100%; }
      .is-navicon-fixed a.nav_menu__icon .menu__line--top {
        background-color: #333 !important; }
      .is-navicon-fixed a.nav_menu__icon .menu__line--bottom {
        background-color: #333 !important; }
    .is-navicon-fixed a.nav_menu__icon.active {
      width: 100%;
      height: 70px;
      background: url(../img/nav_icon_backimg.svg) no-repeat center center;
      background-size: 100%; }
      .is-navicon-fixed a.nav_menu__icon.active .menu__line {
        display: block;
        height: 1px;
        position: absolute;
        transition: transform .3s; }
      .is-navicon-fixed a.nav_menu__icon.active .menu__line--top {
        width: 25px;
        top: 20px;
        left: 16px;
        background-color: #fff;
        transform: rotate(24deg); }
      .is-navicon-fixed a.nav_menu__icon.active .menu__line--bottom {
        width: 25px;
        bottom: 35px;
        left: 16px;
        background-color: #fff;
        transform: rotate(-24deg); } }
@media screen and (max-width: 767px) {
  .is-navicon-fixed {
    position: fixed; }
    .is-navicon-fixed a.nav_menu__icon {
      background: url(../img/nav_icon_backimg_bk.svg) no-repeat center center !important;
      background-size: 100%; }
      .is-navicon-fixed a.nav_menu__icon .menu__line--top {
        background-color: #333 !important; }
      .is-navicon-fixed a.nav_menu__icon .menu__line--bottom {
        background-color: #333 !important; }
    .is-navicon-fixed a.nav_menu__icon.active {
      width: 100%;
      height: 56px;
      background: url(../img/nav_icon_backimg.svg) no-repeat center center;
      background-size: 100%; }
      .is-navicon-fixed a.nav_menu__icon.active .menu__line {
        display: block;
        height: 1px;
        position: absolute;
        transition: transform .3s; }
      .is-navicon-fixed a.nav_menu__icon.active .menu__line--top {
        width: 29px;
        top: 20px;
        left: 14px;
        background-color: #fff;
        transform: rotate(24deg); }
      .is-navicon-fixed a.nav_menu__icon.active .menu__line--bottom {
        width: 29px;
        bottom: 35px;
        left: 14px;
        background-color: #fff;
        transform: rotate(-24deg); } }

/* ########## nav_menu ########## */
/* ########## nav_menu02 ########## */
@media screen and (min-width: 1024px) {
  div.nav_menu02 {
    display: none; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  div.nav_menu02 {
    position: fixed;
    top: 0;
    right: 0;
    display: block;
    width: 70px;
    height: 70px;
    z-index: 9000; }
    div.nav_menu02 a.nav_menu02__icon {
      position: relative;
      cursor: pointer;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      width: 70px;
      height: 70px;
      text-align: center;
      text-decoration: none;
      background: url(../img/nav_icon_backimg_bk.svg) no-repeat center center;
      background-size: 100%;
      transition: all .3s; }
      div.nav_menu02 a.nav_menu02__icon .menu__line {
        display: block;
        height: 1px;
        position: absolute;
        transition: transform .3s; }
      div.nav_menu02 a.nav_menu02__icon .menu__line--top {
        width: 30px;
        top: 22px;
        left: 20px;
        background-color: #333; }
      div.nav_menu02 a.nav_menu02__icon .menu__line--bottom {
        width: 20px;
        bottom: 38px;
        left: 30px;
        background-color: #333; }
    div.nav_menu02 a.nav_menu02__icon.active {
      width: 100%;
      height: 70px;
      background: url(../img/nav_icon_backimg_bk.svg) no-repeat center center;
      background-size: 100%; }
      div.nav_menu02 a.nav_menu02__icon.active .menu__line {
        display: block;
        height: 1px;
        position: absolute;
        transition: transform .3s; }
      div.nav_menu02 a.nav_menu02__icon.active .menu__line--top {
        width: 30px;
        top: 27px;
        left: 20px;
        background-color: #333;
        transform: rotate(24deg); }
      div.nav_menu02 a.nav_menu02__icon.active .menu__line--bottom {
        width: 30px;
        bottom: 42px;
        left: 20px;
        background-color: #333;
        transform: rotate(-24deg); } }
@media screen and (max-width: 767px) {
  div.nav_menu02 {
    position: fixed;
    top: 0px;
    right: 0px;
    display: block;
    width: 56px;
    height: 56px;
    z-index: 9000; }
    div.nav_menu02 a.nav_menu02__icon {
      position: relative;
      cursor: pointer;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      width: 56px;
      height: 56px;
      text-align: center;
      text-decoration: none;
      background: url(../img/nav_icon_backimg_bk.svg) no-repeat center center;
      background-size: 100%;
      transition: all .3s; }
      div.nav_menu02 a.nav_menu02__icon .menu__line {
        display: block;
        height: 1px;
        position: absolute;
        transition: transform .3s; }
      div.nav_menu02 a.nav_menu02__icon .menu__line--top {
        width: 24px;
        top: 18px;
        left: 16px;
        background-color: #333; }
      div.nav_menu02 a.nav_menu02__icon .menu__line--bottom {
        width: 18px;
        bottom: 30px;
        left: 22px;
        background-color: #333; }
    div.nav_menu02 a.nav_menu02__icon.active {
      width: 100%;
      height: 56px;
      background: url(../img/nav_icon_backimg_bk.svg) no-repeat center center;
      background-size: 100%; }
      div.nav_menu02 a.nav_menu02__icon.active .menu__line {
        display: block;
        height: 1px;
        position: absolute;
        transition: transform .3s; }
      div.nav_menu02 a.nav_menu02__icon.active .menu__line--top {
        width: 25px;
        top: 20px;
        left: 16px;
        background-color: #333;
        transform: rotate(24deg); }
      div.nav_menu02 a.nav_menu02__icon.active .menu__line--bottom {
        width: 25px;
        bottom: 35px;
        left: 16px;
        background-color: #333;
        transform: rotate(-24deg); } }

/* ########## nav_menu02 ########## */
@media screen and (min-width: 1024px) {
  .gnav {
    background-color: #f3f3f3;
    display: none;
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 8900; }
    .gnav .gnav__wrap {
      position: relative;
      height: 100%;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      align-items: center;
      overflow: auto;
      -webkit-overflow-scrolling: touch;
      padding: 45px 0 45px 45px; }
      .gnav .gnav__wrap__img {
        width: 45%;
        height: calc(100vh - 90px);
        background: url(../img/header_img_back.png) repeat center center;
        background-size: cover; }
      .gnav .gnav__wrap__menu {
        width: 50%; }
        .gnav .gnav__wrap__menu__list {
          position: relative;
          max-width: 60%;
          margin: 0 auto 15px; }
          .gnav .gnav__wrap__menu__list p {
            width: 100%;
            font-size: 1.3rem;
            font-weight: 500;
            letter-spacing: 0.2em; }
            .gnav .gnav__wrap__menu__list p a {
              display: block;
              width: 100%;
              padding: 15px 10px;
              border-bottom: 0.8px solid #ddd; }
        .gnav .gnav__wrap__menu__works {
          position: relative;
          max-width: 60%;
          margin: 0 auto; }
          .gnav .gnav__wrap__menu__works .toggle {
            display: none; }
          .gnav .gnav__wrap__menu__works .option {
            position: relative; }
          .gnav .gnav__wrap__menu__works .option::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            border-bottom: 0.8px solid #ddd; }
          .gnav .gnav__wrap__menu__works .title, .gnav .gnav__wrap__menu__works .gnav__wrap__menu__works__sub {
            -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
            transform: translateZ(0);
            transition: all 0.6s; }
          .gnav .gnav__wrap__menu__works .title {
            position: relative;
            display: block;
            cursor: pointer;
            width: 100%;
            font-size: 1.3rem;
            font-weight: 500;
            letter-spacing: 0.2em;
            padding: 15px 10px; }
          .gnav .gnav__wrap__menu__works .title::after, .gnav .gnav__wrap__menu__works .title::before {
            content: "";
            position: absolute;
            right: 15px;
            top: 1.25em;
            width: 1px;
            height: 0.75em;
            background-color: #333;
            transition: all 0.6s; }
          .gnav .gnav__wrap__menu__works .title::after {
            transform: rotate(90deg); }
          .gnav .gnav__wrap__menu__works .gnav__wrap__menu__works__sub {
            max-height: 0;
            overflow: hidden; }
          .gnav .gnav__wrap__menu__works .gnav__wrap__menu__works__sub ul {
            margin: 0;
            font-size: 1.3rem;
            letter-spacing: 0.2em;
            padding: 30px 20px;
            background: url(../img/pattern.png) repeat center center;
            background-size: 100%; }
            .gnav .gnav__wrap__menu__works .gnav__wrap__menu__works__sub ul li {
              position: relative;
              width: 100%;
              padding-left: 22px; }
              .gnav .gnav__wrap__menu__works .gnav__wrap__menu__works__sub ul li a {
                display: block;
                width: 100%;
                padding: 5px 0; }
            .gnav .gnav__wrap__menu__works .gnav__wrap__menu__works__sub ul li::after {
              position: absolute;
              content: '';
              width: 10px;
              height: 0.8px;
              top: 50%;
              left: 3px;
              transform: translateY(-50%);
              -webkit-transform: translateY(-50%);
              background-color: #ddd; }
            .gnav .gnav__wrap__menu__works .gnav__wrap__menu__works__sub ul li:nth-child(n + 2) {
              margin-top: 10px; }
          .gnav .gnav__wrap__menu__works .toggle:checked + .title + .gnav__wrap__menu__works__sub {
            max-height: 500px;
            transition: all 1.5s; }
          .gnav .gnav__wrap__menu__works .toggle:checked + .title::before {
            transform: rotate(90deg) !important; }
          .gnav .gnav__wrap__menu__works .toggle:checked + .title::after {
            display: none; }
        .gnav .gnav__wrap__menu__service {
          position: relative;
          max-width: 60%;
          margin: 0 auto 15px; }
          .gnav .gnav__wrap__menu__service p {
            width: 100%;
            font-size: 1.3rem;
            font-weight: 500;
            letter-spacing: 0.2em;
            padding-top: 15px; }
            .gnav .gnav__wrap__menu__service p a {
              display: block;
              width: 100%;
              padding: 15px 10px;
              border-bottom: 0.8px solid #ddd; }
        .gnav .gnav__wrap__menu__contact {
          max-width: 55%;
          margin: 40px auto 0; }
          .gnav .gnav__wrap__menu__contact p {
            width: 100%; }
            .gnav .gnav__wrap__menu__contact p a, .gnav .gnav__wrap__menu__contact p a:link a:visited {
              width: 100%;
              height: 52px;
              display: -webkit-flex;
              display: -moz-flex;
              display: -ms-flex;
              display: -o-flex;
              display: flex;
              -webkit-flex-wrap: wrap;
              -moz-flex-wrap: wrap;
              -ms-flex-wrap: wrap;
              flex-wrap: wrap;
              align-items: center;
              justify-content: center;
              color: #333;
              font-size: 1.3rem;
              font-weight: 500;
              letter-spacing: 0.2em;
              line-height: 1.0;
              border: 1.5px solid #ddd; }
              .gnav .gnav__wrap__menu__contact p a img, .gnav .gnav__wrap__menu__contact p a:link a:visited img {
                width: 24px;
                padding-right: 10px; }
            .gnav .gnav__wrap__menu__contact p a:hover {
              background-color: #fff; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .gnav {
    background-color: #f3f3f3;
    display: none;
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 8900; }
    .gnav .gnav__wrap {
      position: relative;
      height: 100%;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      align-items: center;
      overflow: auto;
      -webkit-overflow-scrolling: touch; }
      .gnav .gnav__wrap__img {
        display: none; }
      .gnav .gnav__wrap__menu {
        width: 100%; }
        .gnav .gnav__wrap__menu__list {
          position: relative;
          width: 100%; }
          .gnav .gnav__wrap__menu__list p {
            width: 60%;
            font-size: 1.5rem;
            font-weight: 500;
            margin: 0 auto; }
            .gnav .gnav__wrap__menu__list p a {
              display: block;
              width: 100%;
              padding: 24px 3px 16px;
              background: url(../img/arrow_bk01.svg) no-repeat right 10px top 30px;
              background-size: 10px;
              border-bottom: 1px solid #ddd; } }
@media screen and (max-width: 767px) {
  .gnav {
    background-color: #f3f3f3;
    display: none;
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 6000; }
    .gnav .gnav__wrap {
      position: relative;
      height: 100%;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      align-items: center;
      overflow: auto;
      -webkit-overflow-scrolling: touch; }
      .gnav .gnav__wrap__img {
        display: none; }
      .gnav .gnav__wrap__menu {
        width: 100%; }
        .gnav .gnav__wrap__menu__list {
          position: relative;
          width: 100%; }
          .gnav .gnav__wrap__menu__list p {
            width: 80%;
            font-size: 1.4rem;
            font-weight: 500;
            margin: 0 auto; }
            .gnav .gnav__wrap__menu__list p a {
              display: block;
              width: 100%;
              padding: 24px 3px 12px 3px;
              background: url(../img/arrow_bk01.svg) no-repeat right 10px top 30px;
              background-size: 10px;
              border-bottom: 1px solid #ddd; } }

/* ########## nav_menu ########## */
@media screen and (min-width: 1024px) {
  .footer {
    position: relative;
    width: 100%;
    background-color: #f3f3f3;
    margin-top: 220px;
    border-top: 1px solid #ddd; }
    .footer__detail {
      position: relative;
      width: 100%;
      display: flex;
      flex-wrap: wrap; }
      .footer__detail__left {
        position: relative;
        width: 50%;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        background: url(../img/footer_contact_backimg.png) no-repeat center center;
        background-size: cover; }
        .footer__detail__left__desc {
          position: relative;
          width: 70%;
          margin: 0 auto;
          z-index: 5; }
          .footer__detail__left__desc .title_sp {
            position: relative; }
            .footer__detail__left__desc .title_sp h2 {
              color: #fff; }
            .footer__detail__left__desc .title_sp p {
              color: #fff;
              margin-top: 0; }
          .footer__detail__left__desc .title_sp::after {
            background-color: #fff; }
          .footer__detail__left__desc p {
            color: #fff;
            font-size: 1.4rem;
            line-height: 2.2;
            margin-top: 28px; }
          .footer__detail__left__desc h4 {
            width: 360px;
            margin: 40px auto 0; }
      .footer__detail__left::after {
        content: '';
        position: absolute;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.2);
        top: 0;
        left: 0; }
      .footer__detail__right {
        position: relative;
        width: 50%;
        padding: 80px 0 56px; }
        .footer__detail__right__desc {
          width: 70%;
          margin: 0 auto; }
          .footer__detail__right__desc h3 {
            width: 330px;
            margin: 0 auto; }
            .footer__detail__right__desc h3 img {
              width: 100%; }
          .footer__detail__right__desc ul {
            width: 100%;
            margin-top: 40px;
            display: flex;
            flex-wrap: wrap;
            justify-content: space-between; }
            .footer__detail__right__desc ul li {
              position: relative;
              width: 48%; }
              .footer__detail__right__desc ul li a, .footer__detail__right__desc ul li a:link, .footer__detail__right__desc ul li a:visited {
                width: 100%;
                display: flex;
                flex-wrap: wrap;
                color: #333;
                font-size: 1.4rem;
                font-weight: 500;
                letter-spacing: 0.05em;
                line-height: 1.0;
                background: url(../img/arrow_bk01.svg) no-repeat right 10px top 13px;
                background-size: 10px;
                border-bottom: 1px solid #ddd;
                padding: 8px 0 13px 3px; }
              .footer__detail__right__desc ul li a::after {
                position: absolute;
                bottom: 0px;
                left: 0;
                content: '';
                width: 100%;
                height: 1px;
                background: #333;
                transform: scale(0, 1);
                transform-origin: right top;
                transition: transform .3s; }
              .footer__detail__right__desc ul li a:hover {
                color: #333;
                background: url(../img/arrow_bk01.svg) no-repeat right 7px top 13px;
                background-size: 10px; }
              .footer__detail__right__desc ul li a:hover::after {
                transform-origin: left top;
                transform: scale(1, 1); }
            .footer__detail__right__desc ul li:nth-child(n + 3) {
              margin-top: 16px; }
        .footer__detail__right__company {
          width: 70%;
          margin: 64px auto 0;
          display: flex;
          flex-wrap: wrap; }
          .footer__detail__right__company__img {
            width: 102px; }
            .footer__detail__right__company__img p {
              width: 100%; }
              .footer__detail__right__company__img p img {
                width: 100%; }
          .footer__detail__right__company__txt {
            flex: 1;
            padding-left: 32px; }
            .footer__detail__right__company__txt h4 {
              font-size: 1.6rem;
              font-weight: 600; }
            .footer__detail__right__company__txt p {
              font-size: 1.2rem;
              line-height: 2.0;
              margin-top: 16px; }
            .footer__detail__right__company__txt h5 {
              width: 240px;
              margin-top: 16px; }
              .footer__detail__right__company__txt h5 a {
                font-size: 1.4rem !important;
                line-height: 1.0; }
                .footer__detail__right__company__txt h5 a img {
                  width: 20px;
                  padding-left: 8px; }
        .footer__detail__right__copy {
          width: 100%;
          padding-top: 80px; }
          .footer__detail__right__copy p {
            text-align: center;
            font-family: "EB Garamond", "Shippori Mincho B1", sans-serif;
            font-size: 1rem;
            font-weight: 500;
            line-height: 1.0;
            letter-spacing: 0.075em; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .footer {
    position: relative;
    width: 100%;
    background-color: #f3f3f3;
    margin-top: 200px;
    border-top: 1px solid #ddd; }
    .footer__detail {
      position: relative;
      width: 100%; }
      .footer__detail__left {
        position: relative;
        width: 100%;
        background: url(../img/footer_contact_backimg.png) no-repeat center center;
        background-size: cover; }
        .footer__detail__left__desc {
          position: relative;
          width: 70%;
          margin: 0 auto;
          padding: 72px 0;
          z-index: 5; }
          .footer__detail__left__desc .title_sp {
            position: relative; }
            .footer__detail__left__desc .title_sp h2 {
              color: #fff; }
            .footer__detail__left__desc .title_sp p {
              color: #fff;
              margin-top: 0; }
          .footer__detail__left__desc .title_sp::after {
            background-color: #fff; }
          .footer__detail__left__desc p {
            color: #fff;
            font-size: 1.3rem;
            line-height: 2.2;
            margin-top: 24px; }
          .footer__detail__left__desc h4 {
            width: 340px;
            margin: 32px auto 0; }
      .footer__detail__left::after {
        content: '';
        position: absolute;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.2);
        top: 0;
        left: 0; }
      .footer__detail__right {
        position: relative;
        width: 100%;
        padding: 72px 0 48px; }
        .footer__detail__right__desc {
          width: 92%;
          margin: 0 auto; }
          .footer__detail__right__desc h3 {
            width: 300px;
            margin: 0 auto; }
            .footer__detail__right__desc h3 img {
              width: 100%; }
          .footer__detail__right__desc ul {
            width: 100%;
            margin-top: 32px;
            display: flex;
            flex-wrap: wrap;
            justify-content: space-between; }
            .footer__detail__right__desc ul li {
              position: relative;
              width: 48%; }
              .footer__detail__right__desc ul li a, .footer__detail__right__desc ul li a:link, .footer__detail__right__desc ul li a:visited {
                width: 100%;
                display: flex;
                flex-wrap: wrap;
                color: #333;
                font-size: 1.4rem;
                font-weight: 500;
                letter-spacing: 0.05em;
                line-height: 1.0;
                background: url(../img/arrow_bk01.svg) no-repeat right 10px top 13px;
                background-size: 10px;
                border-bottom: 1px solid #ddd;
                padding: 8px 0 13px 3px; }
              .footer__detail__right__desc ul li a::after {
                position: absolute;
                bottom: 0px;
                left: 0;
                content: '';
                width: 100%;
                height: 1px;
                background: #333;
                transform: scale(0, 1);
                transform-origin: right top;
                transition: transform .3s; }
              .footer__detail__right__desc ul li a:hover {
                color: #333;
                background: url(../img/arrow_bk01.svg) no-repeat right 7px top 13px;
                background-size: 10px; }
              .footer__detail__right__desc ul li a:hover::after {
                transform-origin: left top;
                transform: scale(1, 1); }
            .footer__detail__right__desc ul li:nth-child(n + 3) {
              margin-top: 16px; }
        .footer__detail__right__company {
          width: 92%;
          margin: 56px auto 0;
          display: flex;
          flex-wrap: wrap; }
          .footer__detail__right__company__img {
            width: 102px; }
            .footer__detail__right__company__img p {
              width: 100%; }
              .footer__detail__right__company__img p img {
                width: 100%; }
          .footer__detail__right__company__txt {
            flex: 1;
            padding-left: 32px; }
            .footer__detail__right__company__txt h4 {
              font-size: 1.5rem;
              font-weight: 600; }
            .footer__detail__right__company__txt p {
              font-size: 1.2rem;
              line-height: 2.0;
              margin-top: 16px; }
            .footer__detail__right__company__txt h5 {
              width: 240px;
              margin-top: 16px; }
              .footer__detail__right__company__txt h5 a {
                font-size: 1.3rem !important;
                line-height: 1.0; }
                .footer__detail__right__company__txt h5 a img {
                  width: 20px;
                  padding-left: 8px; }
        .footer__detail__right__copy {
          width: 100%;
          padding-top: 80px; }
          .footer__detail__right__copy p {
            text-align: center;
            font-family: "EB Garamond", "Shippori Mincho B1", sans-serif;
            font-size: 1rem;
            font-weight: 500;
            line-height: 1.0;
            letter-spacing: 0.075em; } }
@media screen and (max-width: 767px) {
  .footer {
    position: relative;
    width: 100%;
    background-color: #f3f3f3;
    margin-top: 180px; }
    .footer__detail {
      position: relative;
      width: 100%; }
      .footer__detail__left {
        position: relative;
        width: 100%;
        height: 450px;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        background: url(../img/footer_contact_backimg.png) no-repeat center center;
        background-size: cover; }
        .footer__detail__left__desc {
          position: relative;
          width: 88%;
          margin: 0 auto;
          z-index: 5; }
          .footer__detail__left__desc .title_sp {
            position: relative; }
            .footer__detail__left__desc .title_sp h2 {
              color: #fff; }
            .footer__detail__left__desc .title_sp p {
              text-align: center;
              color: #fff;
              margin-top: 0; }
          .footer__detail__left__desc .title_sp::after {
            background-color: #fff; }
          .footer__detail__left__desc p {
            text-align: justify;
            color: #fff;
            font-size: 1.4rem;
            line-height: 2.0;
            margin-top: 24px; }
          .footer__detail__left__desc h4 {
            width: 100%;
            margin: 32px auto 0; }
      .footer__detail__left::after {
        content: '';
        position: absolute;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.2);
        top: 0;
        left: 0; }
      .footer__detail__right {
        position: relative;
        width: 100%;
        padding: 64px 0 40px; }
        .footer__detail__right__desc {
          width: 88%;
          margin: 0 auto; }
          .footer__detail__right__desc h3 {
            width: 200px;
            margin: 0 auto; }
            .footer__detail__right__desc h3 img {
              width: 100%; }
          .footer__detail__right__desc ul {
            width: 100%;
            margin-top: 28px;
            display: flex;
            flex-wrap: wrap;
            justify-content: space-between; }
            .footer__detail__right__desc ul li {
              position: relative;
              width: 49%; }
              .footer__detail__right__desc ul li a {
                width: 100%;
                display: flex;
                flex-wrap: wrap;
                color: #333;
                font-size: 1.3rem;
                font-weight: 500;
                letter-spacing: 0.05em;
                line-height: 1.0;
                border-bottom: 1px solid #ddd;
                padding: 8px 0 12px 0; }
            .footer__detail__right__desc ul li:nth-child(n + 3) {
              margin-top: 16px; }
        .footer__detail__right__company {
          width: 88%;
          margin: 64px auto 0;
          display: flex;
          flex-wrap: wrap; }
          .footer__detail__right__company__img {
            width: 64px; }
            .footer__detail__right__company__img p {
              width: 100%; }
              .footer__detail__right__company__img p img {
                width: 100%; }
          .footer__detail__right__company__txt {
            flex: 1;
            padding-left: 24px; }
            .footer__detail__right__company__txt h4 {
              font-size: 1.5rem;
              font-weight: 600; }
            .footer__detail__right__company__txt p {
              font-size: 1.2rem;
              line-height: 2.0;
              margin-top: 12px; }
            .footer__detail__right__company__txt h5 {
              width: 180px;
              margin-top: 12px; }
              .footer__detail__right__company__txt h5 a {
                font-size: 1.3rem !important;
                background: none;
                line-height: 1.0; }
                .footer__detail__right__company__txt h5 a img {
                  width: 18px;
                  padding-left: 6px; }
        .footer__detail__right__copy {
          width: 100%;
          padding-top: 56px; }
          .footer__detail__right__copy p {
            text-align: center;
            font-family: "EB Garamond", "Shippori Mincho B1", sans-serif;
            font-size: 1rem;
            font-weight: 500;
            line-height: 1.0;
            letter-spacing: 0.075em; } }

/* ###### title_sp ##### */
@media screen and (min-width: 1024px) {
  .title_sp {
    text-align: center;
    position: relative;
    width: 100%;
    padding-bottom: 27px;
    margin-bottom: 48px; }
    .title_sp h1 {
      color: #333;
      font-family: "EB Garamond", "Shippori Mincho B1", sans-serif;
      font-weight: 500;
      font-size: 5.6rem;
      letter-spacing: 0.075em;
      line-height: 1.0; }
    .title_sp h2 {
      color: #333;
      font-family: "EB Garamond", "Shippori Mincho B1", sans-serif;
      font-weight: 500;
      font-size: 5.6rem;
      letter-spacing: 0.075em;
      line-height: 1.0; }
    .title_sp p {
      color: #333;
      font-size: 1.3rem;
      font-weight: 500;
      margin-bottom: 11px; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .title_sp {
    text-align: center;
    position: relative;
    width: 100%;
    padding-bottom: 25px;
    margin-bottom: 40px; }
    .title_sp h1 {
      color: #333;
      font-family: "EB Garamond", "Shippori Mincho B1", sans-serif;
      font-weight: 500;
      font-size: 4.6rem;
      line-height: 1.4;
      letter-spacing: 0.075em;
      line-height: 1.0; }
    .title_sp h2 {
      color: #333;
      font-family: "EB Garamond", "Shippori Mincho B1", sans-serif;
      font-weight: 500;
      font-size: 4.6rem;
      line-height: 1.4;
      letter-spacing: 0.075em;
      line-height: 1.0; }
    .title_sp p {
      color: #333;
      font-size: 1.2rem;
      font-weight: 500;
      margin-bottom: 9px; } }
@media screen and (max-width: 767px) {
  .title_sp {
    text-align: center;
    position: relative;
    width: 100%;
    padding-bottom: 16px;
    margin-bottom: 32px; }
    .title_sp h1 {
      color: #333;
      font-family: "EB Garamond", "Shippori Mincho B1", sans-serif;
      font-weight: 500;
      font-size: 3.2rem;
      letter-spacing: 0.075em;
      line-height: 1.4;
      line-height: 1.0; }
    .title_sp h2 {
      color: #333;
      font-family: "EB Garamond", "Shippori Mincho B1", sans-serif;
      font-weight: 500;
      font-size: 3.2rem;
      letter-spacing: 0.075em;
      line-height: 1.4;
      line-height: 1.0; }
    .title_sp p {
      color: #333;
      font-size: 1.2rem;
      font-weight: 500;
      margin-bottom: 8px; } }

@media screen and (min-width: 1024px) {
  .title_sp::after {
    content: '';
    position: absolute;
    width: 15px;
    height: 1px;
    background-color: #333;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%); } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .title_sp::after {
    content: '';
    position: absolute;
    width: 15px;
    height: 1px;
    background-color: #333;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%); } }
@media screen and (max-width: 767px) {
  .title_sp::after {
    content: '';
    position: absolute;
    width: 10px;
    height: 1px;
    background-color: #333;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%); } }

/* ###### title_sp ##### */
@media screen and (min-width: 1024px) {
  .genbu {
    position: relative;
    width: 100%;
    padding-top: 120px; }
    .genbu__about {
      position: relative;
      width: 92%;
      max-width: 1600px;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      margin: 0 auto 60px; }
      .genbu__about__img {
        position: relative;
        width: 55%; }
        .genbu__about__img p.genbu_img01 {
          width: 70%;
          margin-left: 30%; }
          .genbu__about__img p.genbu_img01 img {
            width: 100%; }
        .genbu__about__img p.genbu_img02 {
          width: 45%;
          margin-top: -200px; }
          .genbu__about__img p.genbu_img02 img {
            width: 100%; }
      .genbu__about__desc {
        position: relative;
        width: 45%;
        padding-left: 60px; }
        .genbu__about__desc h3 {
          color: #333;
          font-family: "Shippori Mincho B1", serif;
          font-size: 3rem;
          line-height: 1.7; }
        .genbu__about__desc p {
          font-size: 1.5rem;
          line-height: 2.2;
          margin-top: 28px; }
    .genbu__about02 {
      position: relative;
      width: 92%;
      max-width: 1600px;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      margin: 0 auto 160px; }
      .genbu__about02__img {
        position: relative;
        width: 55%;
        padding-left: 10%; }
        .genbu__about02__img p {
          width: 100%; }
          .genbu__about02__img p img {
            width: 100%; }
      .genbu__about02__desc {
        position: relative;
        width: 45%;
        padding-left: 60px; }
        .genbu__about02__desc p {
          font-size: 1.5rem;
          line-height: 2.2; }
        .genbu__about02__desc p:nth-child(n + 2) {
          margin-top: 28px; }
    .genbu__feature {
      position: relative;
      width: 92%;
      margin: 0 auto 160px; }
      .genbu__feature__list01 {
        position: relative;
        width: 100%;
        height: 480px;
        background: url(../../img/genbu_img/genbu_feature01_backimg.png) no-repeat 50% 50%;
        background-size: cover; }
        .genbu__feature__list01__desc {
          position: relative;
          width: 480px;
          height: 480px;
          display: flex;
          flex-wrap: wrap;
          align-items: center;
          background-color: rgba(0, 0, 0, 0.4);
          padding: 0 64px; }
          .genbu__feature__list01__desc__txt {
            position: relative;
            width: 100%; }
            .genbu__feature__list01__desc__txt h4 {
              color: #fff;
              font-size: 2rem;
              font-family: "Shippori Mincho B1", serif; }
            .genbu__feature__list01__desc__txt h3 {
              color: #fff;
              font-size: 3rem;
              font-family: "Shippori Mincho B1", serif;
              margin-top: 8px; }
            .genbu__feature__list01__desc__txt p {
              color: #fff;
              font-size: 1.5rem;
              line-height: 2.2;
              margin-top: 24px; }
      .genbu__feature__list02 {
        position: relative;
        width: 100%;
        height: 480px;
        background: url(../../img/genbu_img/genbu_feature02_backimg.png) no-repeat 50% 50%;
        background-size: cover;
        margin-top: 24px; }
        .genbu__feature__list02__desc {
          position: relative;
          width: 480px;
          height: 480px;
          display: flex;
          flex-wrap: wrap;
          align-items: center;
          background-color: rgba(0, 0, 0, 0.4);
          padding: 0 64px; }
          .genbu__feature__list02__desc__txt {
            position: relative;
            width: 100%; }
            .genbu__feature__list02__desc__txt h4 {
              color: #fff;
              font-size: 2rem;
              font-family: "Shippori Mincho B1", serif; }
            .genbu__feature__list02__desc__txt h3 {
              color: #fff;
              font-size: 3rem;
              font-family: "Shippori Mincho B1", serif;
              margin-top: 8px; }
            .genbu__feature__list02__desc__txt p {
              color: #fff;
              font-size: 1.5rem;
              line-height: 2.2;
              margin-top: 24px; }
      .genbu__feature__list03 {
        position: relative;
        width: 100%;
        height: 480px;
        background: url(../../img/genbu_img/genbu_feature03_backimg.png) no-repeat 50% 50%;
        background-size: cover;
        margin-top: 24px; }
        .genbu__feature__list03__desc {
          position: relative;
          width: 480px;
          height: 480px;
          display: flex;
          flex-wrap: wrap;
          align-items: center;
          background-color: rgba(0, 0, 0, 0.4);
          padding: 0 64px; }
          .genbu__feature__list03__desc__txt {
            position: relative;
            width: 100%; }
            .genbu__feature__list03__desc__txt h4 {
              color: #fff;
              font-size: 2rem;
              font-family: "Shippori Mincho B1", serif; }
            .genbu__feature__list03__desc__txt h3 {
              color: #fff;
              font-size: 3rem;
              font-family: "Shippori Mincho B1", serif;
              margin-top: 8px; }
            .genbu__feature__list03__desc__txt p {
              color: #fff;
              font-size: 1.5rem;
              line-height: 2.2;
              margin-top: 24px; }
      .genbu__feature__list04 {
        position: relative;
        width: 100%;
        height: 480px;
        background: url(../../img/genbu_img/genbu_feature04_backimg.png) no-repeat 50% 50%;
        background-size: cover;
        margin-top: 24px; }
        .genbu__feature__list04__desc {
          position: relative;
          width: 480px;
          height: 480px;
          display: flex;
          flex-wrap: wrap;
          align-items: center;
          background-color: rgba(0, 0, 0, 0.4);
          padding: 0 64px; }
          .genbu__feature__list04__desc__txt {
            position: relative;
            width: 100%; }
            .genbu__feature__list04__desc__txt h4 {
              color: #fff;
              font-size: 2rem;
              font-family: "Shippori Mincho B1", serif; }
            .genbu__feature__list04__desc__txt h3 {
              color: #fff;
              font-size: 3rem;
              font-family: "Shippori Mincho B1", serif;
              margin-top: 8px; }
            .genbu__feature__list04__desc__txt p {
              color: #fff;
              font-size: 1.5rem;
              line-height: 2.2;
              margin-top: 24px; }
    .genbu__item {
      position: relative;
      width: 92%;
      margin: 0 auto 160px; }
      .genbu__item__detail {
        position: relative;
        width: 100%;
        display: flex;
        flex-wrap: wrap; }
        .genbu__item__detail__nav {
          position: relative;
          width: 280px; }
        .genbu__item__detail__content {
          position: relative;
          flex: 1;
          padding-left: 60px; }
          .genbu__item__detail__content__list {
            position: relative;
            width: 100%;
            display: flex;
            flex-wrap: wrap;
            margin-top: -120px;
            padding-top: 168px;
            padding-bottom: 48px;
            border-bottom: 1px solid #ddd; }
            .genbu__item__detail__content__list__img {
              position: relative;
              width: 40%; }
              .genbu__item__detail__content__list__img h6 {
                position: absolute;
                color: #333;
                top: -30px;
                left: -20px;
                font-family: "EB Garamond", "Shippori Mincho B1", sans-serif;
                font-size: 6.0rem;
                font-weight: 500;
                letter-spacing: 0.075em;
                line-height: 1.0; }
            .genbu__item__detail__content__list__desc {
              position: relative;
              width: 60%;
              padding-left: 48px; }
              .genbu__item__detail__content__list__desc h3 {
                color: #333;
                font-family: "Shippori Mincho B1", serif;
                font-size: 2.4rem;
                line-height: 1.6;
                margin-bottom: 24px; }
              .genbu__item__detail__content__list__desc p {
                font-size: 1.5rem;
                line-height: 2.2;
                margin-top: 24px; }
              .genbu__item__detail__content__list__desc dl {
                margin-top: 12px;
                display: flex;
                flex-wrap: wrap;
                align-items: center; }
                .genbu__item__detail__content__list__desc dl dt {
                  position: relative;
                  width: 100px;
                  padding-left: 14px;
                  font-size: 1.4rem;
                  font-weight: 500; }
                .genbu__item__detail__content__list__desc dl dt::after {
                  content: '';
                  position: absolute;
                  top: 50%;
                  left: 2px;
                  width: 6px;
                  height: 1px;
                  background-color: #333;
                  transform: translateY(-50%);
                  -webkit-transform: translateY(-50%); }
                .genbu__item__detail__content__list__desc dl dd {
                  flex: 1;
                  font-size: 1.4rem; }
              .genbu__item__detail__content__list__desc__comment {
                width: 100%;
                background-color: #fff;
                padding: 8px 32px 32px;
                margin-top: 24px; }
          .genbu__item__detail__content__list:first-of-type::after {
            content: '';
            position: absolute;
            top: 120px;
            left: 0;
            width: 100%;
            height: 1px;
            background-color: #ddd; }
    .genbu__news {
      position: relative;
      width: 100%;
      background-color: #fff;
      padding: 120px 4%;
      margin-bottom: 160px; }
      .genbu__news__list {
        position: relative;
        width: 100%;
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 16px; }
        .genbu__news__list__sp {
          position: relative;
          width: 100%;
          display: flex;
          flex-direction: column; }
          .genbu__news__list__sp__img {
            position: relative;
            width: 100%;
            overflow: hidden; }
            .genbu__news__list__sp__img img {
              width: 100%;
              object-fit: cover;
              -webkit-transition: .3s ease-in-out;
              transition: .3s ease-in-out; }
            .genbu__news__list__sp__img .caption {
              text-align: center;
              position: absolute;
              width: 100%;
              top: 50%;
              left: 50%;
              transform: translateY(-50%) translateX(-50%);
              -webkit-transform: translateY(-50%) translateX(-50%);
              font-family: "EB Garamond", "Shippori Mincho B1", sans-serif;
              font-size: 1.1rem;
              font-weight: 400;
              color: #fff;
              letter-spacing: 0.075em; }
            .genbu__news__list__sp__img .mask {
              width: 100%;
              height: 100%;
              position: absolute;
              top: 0;
              left: 0;
              opacity: 0;
              background-color: rgba(0, 0, 0, 0.2);
              -webkit-transition: all 0.6s ease;
              -moz-transition: all 0.6s ease;
              -o-transition: all 0.6s ease;
              transition: all 0.6s ease; }
          .genbu__news__list__sp__img:hover img {
            transform: scale(1.1); }
          .genbu__news__list__sp__img:hover .mask {
            opacity: 1;
            /* マスクを表示する */ }
          .genbu__news__list__sp__desc {
            position: relative;
            width: 100%;
            padding-top: 16px; }
            .genbu__news__list__sp__desc h3 {
              font-size: 1.8rem;
              line-height: 1.7;
              font-weight: 600;
              padding-right: 24px; }
          .genbu__news__list__sp__option {
            position: relative;
            width: 100%;
            margin-top: auto;
            padding-top: 24px; }
            .genbu__news__list__sp__option ul {
              position: relative;
              display: flex;
              flex-wrap: wrap;
              align-items: center; }
              .genbu__news__list__sp__option ul li {
                position: relative;
                width: 50%;
                font-size: 1.3rem;
                font-weight: 500; }
                .genbu__news__list__sp__option ul li a, .genbu__news__list__sp__option ul li a:link, .genbu__news__list__sp__option ul li a:visited {
                  position: relative;
                  color: #333;
                  border-bottom: 1px solid #ddd; }
                .genbu__news__list__sp__option ul li a::after {
                  position: absolute;
                  bottom: -1px;
                  left: 0;
                  content: '';
                  width: 100%;
                  height: 1px;
                  background: #333;
                  transform: scale(0, 1);
                  transform-origin: right top;
                  transition: transform .3s; }
                .genbu__news__list__sp__option ul li a:hover {
                  color: #333; }
                .genbu__news__list__sp__option ul li a:hover::after {
                  transform-origin: left top;
                  transform: scale(1, 1); }
              .genbu__news__list__sp__option ul li:nth-child(2) {
                text-align: right;
                font-family: "EB Garamond", "Shippori Mincho B1", sans-serif;
                font-size: 1.2rem;
                font-weight: 500;
                padding-right: 5px; }
        .genbu__news__list__none {
          grid-column: 1 / -1;
          width: 100%;
          background-color: #f3f3f3;
          padding: 40px 16px; }
          .genbu__news__list__none p {
            text-align: center;
            font-size: 1.5rem; }
      .genbu__news h4.btn_style01 {
        position: absolute;
        top: 160px;
        right: 4%;
        width: 260px; }
      .genbu__news__instagram {
        position: relative;
        width: 100%;
        margin-top: 100px; }
        .genbu__news__instagram__list {
          position: relative;
          width: 100%; }
          .genbu__news__instagram__list ul {
            display: grid;
            grid-template-columns: repeat(6, 2fr);
            gap: 16px; }
            .genbu__news__instagram__list ul li {
              position: relative;
              width: 100%;
              background-color: #fff; }
              .genbu__news__instagram__list ul li img {
                position: absolute;
                width: 100%;
                height: 100%;
                top: 0;
                right: 0;
                bottom: 0;
                left: 0;
                margin: auto;
                object-fit: cover; }
            .genbu__news__instagram__list ul li:before {
              content: "";
              display: block;
              padding-top: 100%; }
        .genbu__news__instagram h4.insta_btn_style01 {
          position: relative;
          width: 360px;
          margin: 48px auto 0; }
    .genbu__cases {
      position: relative;
      width: 100%;
      background-color: #fff;
      padding: 120px 4%;
      margin-bottom: 160px; }
      .genbu__cases__list {
        position: relative;
        width: 100%;
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 16px; }
        .genbu__cases__list__sp {
          position: relative;
          width: 100%;
          display: flex;
          flex-direction: column; }
          .genbu__cases__list__sp__img {
            position: relative;
            width: 100%;
            overflow: hidden; }
            .genbu__cases__list__sp__img img {
              width: 100%;
              object-fit: cover;
              -webkit-transition: .3s ease-in-out;
              transition: .3s ease-in-out; }
            .genbu__cases__list__sp__img .caption {
              text-align: center;
              position: absolute;
              width: 100%;
              top: 50%;
              left: 50%;
              transform: translateY(-50%) translateX(-50%);
              -webkit-transform: translateY(-50%) translateX(-50%);
              font-family: "EB Garamond", "Shippori Mincho B1", sans-serif;
              font-size: 1.1rem;
              font-weight: 400;
              color: #fff;
              letter-spacing: 0.075em; }
            .genbu__cases__list__sp__img .mask {
              width: 100%;
              height: 100%;
              position: absolute;
              top: 0;
              left: 0;
              opacity: 0;
              background-color: rgba(0, 0, 0, 0.2);
              -webkit-transition: all 0.6s ease;
              -moz-transition: all 0.6s ease;
              -o-transition: all 0.6s ease;
              transition: all 0.6s ease; }
          .genbu__cases__list__sp__img:hover img {
            transform: scale(1.1); }
          .genbu__cases__list__sp__img:hover .mask {
            opacity: 1;
            /* マスクを表示する */ }
          .genbu__cases__list__sp__desc {
            position: relative;
            width: 100%;
            padding-top: 16px; }
            .genbu__cases__list__sp__desc h3 {
              font-size: 1.8rem;
              line-height: 1.7;
              font-weight: 600;
              padding-right: 24px; }
          .genbu__cases__list__sp__option {
            position: relative;
            width: 100%;
            margin-top: auto;
            padding-top: 24px; }
            .genbu__cases__list__sp__option ul {
              position: relative; }
              .genbu__cases__list__sp__option ul li {
                position: relative;
                font-size: 1.3rem;
                font-weight: 500; }
                .genbu__cases__list__sp__option ul li a, .genbu__cases__list__sp__option ul li a:link, .genbu__cases__list__sp__option ul li a:visited {
                  position: relative;
                  color: #333;
                  border-bottom: 1px solid #ddd; }
                .genbu__cases__list__sp__option ul li a::after {
                  position: absolute;
                  bottom: -1px;
                  left: 0;
                  content: '';
                  width: 100%;
                  height: 1px;
                  background: #333;
                  transform: scale(0, 1);
                  transform-origin: right top;
                  transition: transform .3s; }
                .genbu__cases__list__sp__option ul li a:hover {
                  color: #333; }
                .genbu__cases__list__sp__option ul li a:hover::after {
                  transform-origin: left top;
                  transform: scale(1, 1); }
      .genbu__cases h4.btn_style01 {
        position: absolute;
        top: 160px;
        right: 4%;
        width: 260px; }
    .genbu__brand {
      position: relative;
      width: 92%;
      margin: 0 auto; }
      .genbu__brand__list {
        position: relative;
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between; }
        .genbu__brand__list__sp {
          position: relative;
          width: 48.5%; }
          .genbu__brand__list__sp p {
            width: 100%; }
            .genbu__brand__list__sp p img {
              width: 100%; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .genbu {
    position: relative;
    width: 100%;
    padding-top: 100px; }
    .genbu__about {
      position: relative;
      width: 96%;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      margin-bottom: 48px; }
      .genbu__about__img {
        position: relative;
        width: 55%; }
        .genbu__about__img p.genbu_img01 {
          width: 80%;
          margin-left: 20%; }
          .genbu__about__img p.genbu_img01 img {
            width: 100%; }
        .genbu__about__img p.genbu_img02 {
          width: 50%;
          margin-top: -40px; }
          .genbu__about__img p.genbu_img02 img {
            width: 100%; }
      .genbu__about__desc {
        position: relative;
        width: 45%;
        padding-left: 48px; }
        .genbu__about__desc h3 {
          font-family: "Shippori Mincho B1", serif;
          font-size: 2.2rem;
          line-height: 1.7; }
        .genbu__about__desc p {
          font-size: 1.4rem;
          line-height: 2.2;
          margin-top: 24px; }
    .genbu__about02 {
      position: relative;
      width: 70%;
      margin: 0 auto 120px; }
      .genbu__about02__img {
        position: relative;
        width: 100%; }
        .genbu__about02__img p {
          width: 100%; }
          .genbu__about02__img p img {
            width: 100%; }
      .genbu__about02__desc {
        position: relative;
        width: 100%;
        padding-top: 32px; }
        .genbu__about02__desc p {
          width: 75%;
          text-align: justify;
          font-size: 1.4rem;
          line-height: 2.2; }
        .genbu__about02__desc p:nth-child(n + 2) {
          margin-top: 24px; }
    .genbu__feature {
      position: relative;
      width: 96%;
      margin: 0 auto 120px; }
      .genbu__feature__list01 {
        position: relative;
        width: 100%;
        height: 400px;
        background: url(../../img/genbu_img/genbu_feature01_backimg.png) no-repeat 50% 50%;
        background-size: cover; }
        .genbu__feature__list01__desc {
          position: relative;
          width: 360px;
          height: 400px;
          display: flex;
          flex-wrap: wrap;
          align-items: center;
          background-color: rgba(0, 0, 0, 0.4);
          padding: 0 48px; }
          .genbu__feature__list01__desc__txt {
            position: relative;
            width: 100%; }
            .genbu__feature__list01__desc__txt h4 {
              color: #fff;
              font-size: 1.8rem;
              font-family: "Shippori Mincho B1", serif; }
            .genbu__feature__list01__desc__txt h3 {
              color: #fff;
              font-size: 2.8rem;
              font-family: "Shippori Mincho B1", serif;
              margin-top: 8px; }
            .genbu__feature__list01__desc__txt p {
              color: #fff;
              font-size: 1.4rem;
              line-height: 2.2;
              margin-top: 16px; }
      .genbu__feature__list02 {
        position: relative;
        width: 100%;
        height: 400px;
        background: url(../../img/genbu_img/genbu_feature02_backimg.png) no-repeat 50% 50%;
        background-size: cover;
        margin-top: 16px; }
        .genbu__feature__list02__desc {
          position: relative;
          width: 360px;
          height: 400px;
          display: flex;
          flex-wrap: wrap;
          align-items: center;
          background-color: rgba(0, 0, 0, 0.4);
          padding: 0 48px; }
          .genbu__feature__list02__desc__txt {
            position: relative;
            width: 100%; }
            .genbu__feature__list02__desc__txt h4 {
              color: #fff;
              font-size: 1.8rem;
              font-family: "Shippori Mincho B1", serif; }
            .genbu__feature__list02__desc__txt h3 {
              color: #fff;
              font-size: 2.8rem;
              font-family: "Shippori Mincho B1", serif;
              margin-top: 8px; }
            .genbu__feature__list02__desc__txt p {
              color: #fff;
              font-size: 1.4rem;
              line-height: 2.2;
              margin-top: 16px; }
      .genbu__feature__list03 {
        position: relative;
        width: 100%;
        height: 400px;
        background: url(../../img/genbu_img/genbu_feature03_backimg.png) no-repeat 50% 50%;
        background-size: cover;
        margin-top: 16px; }
        .genbu__feature__list03__desc {
          position: relative;
          width: 360px;
          height: 400px;
          display: flex;
          flex-wrap: wrap;
          align-items: center;
          background-color: rgba(0, 0, 0, 0.4);
          padding: 0 48px; }
          .genbu__feature__list03__desc__txt {
            position: relative;
            width: 100%; }
            .genbu__feature__list03__desc__txt h4 {
              color: #fff;
              font-size: 1.8rem;
              font-family: "Shippori Mincho B1", serif; }
            .genbu__feature__list03__desc__txt h3 {
              color: #fff;
              font-size: 2.8rem;
              font-family: "Shippori Mincho B1", serif;
              margin-top: 8px; }
            .genbu__feature__list03__desc__txt p {
              color: #fff;
              font-size: 1.4rem;
              line-height: 2.2;
              margin-top: 16px; }
      .genbu__feature__list04 {
        position: relative;
        width: 100%;
        height: 400px;
        background: url(../../img/genbu_img/genbu_feature04_backimg.png) no-repeat 50% 50%;
        background-size: cover;
        margin-top: 16px; }
        .genbu__feature__list04__desc {
          position: relative;
          width: 360px;
          height: 400px;
          display: flex;
          flex-wrap: wrap;
          align-items: center;
          background-color: rgba(0, 0, 0, 0.4);
          padding: 0 48px; }
          .genbu__feature__list04__desc__txt {
            position: relative;
            width: 100%; }
            .genbu__feature__list04__desc__txt h4 {
              color: #fff;
              font-size: 1.8rem;
              font-family: "Shippori Mincho B1", serif; }
            .genbu__feature__list04__desc__txt h3 {
              color: #fff;
              font-size: 2.8rem;
              font-family: "Shippori Mincho B1", serif;
              margin-top: 8px; }
            .genbu__feature__list04__desc__txt p {
              color: #fff;
              font-size: 1.4rem;
              line-height: 2.2;
              margin-top: 16px; }
    .genbu__item {
      position: relative;
      width: 92%;
      margin: 0 auto 120px; }
      .genbu__item__detail {
        position: relative;
        width: 100%;
        display: flex;
        flex-wrap: wrap; }
        .genbu__item__detail__nav {
          position: relative;
          width: 220px; }
        .genbu__item__detail__content {
          position: relative;
          flex: 1;
          padding-left: 48px; }
          .genbu__item__detail__content__list {
            position: relative;
            width: 100%;
            margin-top: -100px;
            padding-top: 140px;
            padding-bottom: 40px;
            border-bottom: 1px solid #ddd; }
            .genbu__item__detail__content__list__img {
              position: relative;
              width: 100%;
              padding: 0 20%; }
              .genbu__item__detail__content__list__img h6 {
                position: absolute;
                color: #333;
                top: -20px;
                left: 0;
                font-family: "EB Garamond", "Shippori Mincho B1", sans-serif;
                font-size: 4.6rem;
                font-weight: 500;
                letter-spacing: 0.075em;
                line-height: 1.0; }
            .genbu__item__detail__content__list__desc {
              position: relative;
              width: 100%;
              padding-top: 32px; }
              .genbu__item__detail__content__list__desc h3 {
                color: #333;
                font-family: "Shippori Mincho B1", serif;
                font-size: 2.2rem;
                line-height: 1.6;
                margin-bottom: 20px; }
              .genbu__item__detail__content__list__desc p {
                font-size: 1.4rem;
                line-height: 2.2;
                margin-top: 20px; }
              .genbu__item__detail__content__list__desc dl {
                margin-top: 12px;
                display: flex;
                flex-wrap: wrap;
                align-items: center; }
                .genbu__item__detail__content__list__desc dl dt {
                  position: relative;
                  width: 100px;
                  padding-left: 14px;
                  font-size: 1.3rem;
                  font-weight: 500; }
                .genbu__item__detail__content__list__desc dl dt::after {
                  content: '';
                  position: absolute;
                  top: 50%;
                  left: 2px;
                  width: 6px;
                  height: 1px;
                  background-color: #333;
                  transform: translateY(-50%);
                  -webkit-transform: translateY(-50%); }
                .genbu__item__detail__content__list__desc dl dd {
                  flex: 1;
                  font-size: 1.3rem; }
              .genbu__item__detail__content__list__desc__comment {
                width: 100%;
                background-color: #fff;
                padding: 4px 24px 24px;
                margin-top: 24px; }
          .genbu__item__detail__content__list:first-of-type::after {
            content: '';
            position: absolute;
            top: 100px;
            left: 0;
            width: 100%;
            height: 1px;
            background-color: #ddd; }
    .genbu__news {
      position: relative;
      width: 100%;
      background-color: #fff;
      padding: 80px 4%;
      margin-bottom: 120px; }
      .genbu__news__list {
        position: relative;
        width: 100%;
        display: grid;
        grid-template-columns: repeat(2, 2fr);
        gap: 24px; }
        .genbu__news__list__sp {
          position: relative;
          width: 100%;
          display: flex;
          flex-direction: column; }
          .genbu__news__list__sp__img {
            position: relative;
            width: 100%;
            overflow: hidden; }
            .genbu__news__list__sp__img img {
              width: 100%;
              object-fit: cover;
              -webkit-transition: .3s ease-in-out;
              transition: .3s ease-in-out; }
            .genbu__news__list__sp__img .caption {
              text-align: center;
              position: absolute;
              width: 100%;
              top: 50%;
              left: 50%;
              transform: translateY(-50%) translateX(-50%);
              -webkit-transform: translateY(-50%) translateX(-50%);
              font-family: "EB Garamond", "Shippori Mincho B1", sans-serif;
              font-size: 1.1rem;
              font-weight: 400;
              color: #fff;
              letter-spacing: 0.075em; }
            .genbu__news__list__sp__img .mask {
              width: 100%;
              height: 100%;
              position: absolute;
              top: 0;
              left: 0;
              opacity: 0;
              background-color: rgba(0, 0, 0, 0.2);
              -webkit-transition: all 0.6s ease;
              -moz-transition: all 0.6s ease;
              -o-transition: all 0.6s ease;
              transition: all 0.6s ease; }
          .genbu__news__list__sp__img:hover img {
            transform: scale(1.1); }
          .genbu__news__list__sp__img:hover .mask {
            opacity: 1;
            /* マスクを表示する */ }
          .genbu__news__list__sp__desc {
            position: relative;
            width: 100%;
            padding-top: 16px; }
            .genbu__news__list__sp__desc h3 {
              font-size: 1.5rem;
              line-height: 1.7;
              font-weight: 600;
              padding-right: 24px; }
          .genbu__news__list__sp__option {
            position: relative;
            width: 100%;
            margin-top: auto;
            padding-top: 24px; }
            .genbu__news__list__sp__option ul {
              position: relative;
              display: flex;
              flex-wrap: wrap;
              align-items: center; }
              .genbu__news__list__sp__option ul li {
                position: relative;
                width: 50%;
                font-size: 1.2rem;
                font-weight: 500; }
                .genbu__news__list__sp__option ul li a, .genbu__news__list__sp__option ul li a:link, .genbu__news__list__sp__option ul li a:visited {
                  position: relative;
                  color: #333;
                  border-bottom: 1px solid #ddd; }
                .genbu__news__list__sp__option ul li a::after {
                  position: absolute;
                  bottom: -1px;
                  left: 0;
                  content: '';
                  width: 100%;
                  height: 1px;
                  background: #333;
                  transform: scale(0, 1);
                  transform-origin: right top;
                  transition: transform .3s; }
                .genbu__news__list__sp__option ul li a:hover {
                  color: #333; }
                .genbu__news__list__sp__option ul li a:hover::after {
                  transform-origin: left top;
                  transform: scale(1, 1); }
              .genbu__news__list__sp__option ul li:nth-child(2) {
                text-align: right;
                font-family: "EB Garamond", "Shippori Mincho B1", sans-serif;
                font-size: 1.1rem;
                font-weight: 500;
                padding-right: 5px; }
        .genbu__news__list__sp:nth-child(n + 3) {
          margin-top: 32px; }
        .genbu__news__list__none {
          grid-column: 1 / -1;
          width: 100%;
          background-color: #f3f3f3;
          padding: 32px 8px; }
          .genbu__news__list__none p {
            text-align: center;
            font-size: 1.4rem; }
      .genbu__news h4.btn_style01 {
        width: 260px;
        margin: 40px auto 0; }
      .genbu__news__instagram {
        position: relative;
        width: 100%;
        margin-top: 100px; }
        .genbu__news__instagram__list {
          position: relative;
          width: 100%; }
          .genbu__news__instagram__list ul {
            display: grid;
            grid-template-columns: repeat(4, 3fr);
            gap: 16px; }
            .genbu__news__instagram__list ul li {
              position: relative;
              width: 100%;
              background-color: #fff; }
              .genbu__news__instagram__list ul li img {
                position: absolute;
                width: 100%;
                height: 100%;
                top: 0;
                right: 0;
                bottom: 0;
                left: 0;
                margin: auto;
                object-fit: cover; }
            .genbu__news__instagram__list ul li:before {
              content: "";
              display: block;
              padding-top: 100%; }
        .genbu__news__instagram h4.insta_btn_style01 {
          position: relative;
          width: 320px;
          margin: 40px auto 0; }
    .genbu__cases {
      position: relative;
      width: 100%;
      background-color: #fff;
      padding: 80px 4%;
      margin-bottom: 120px; }
      .genbu__cases__list {
        position: relative;
        width: 100%;
        display: grid;
        grid-template-columns: repeat(2, 2fr);
        gap: 24px; }
        .genbu__cases__list__sp {
          position: relative;
          width: 100%;
          display: flex;
          flex-direction: column; }
          .genbu__cases__list__sp__img {
            position: relative;
            width: 100%;
            overflow: hidden; }
            .genbu__cases__list__sp__img img {
              width: 100%;
              object-fit: cover;
              -webkit-transition: .3s ease-in-out;
              transition: .3s ease-in-out; }
            .genbu__cases__list__sp__img .caption {
              text-align: center;
              position: absolute;
              width: 100%;
              top: 50%;
              left: 50%;
              transform: translateY(-50%) translateX(-50%);
              -webkit-transform: translateY(-50%) translateX(-50%);
              font-family: "EB Garamond", "Shippori Mincho B1", sans-serif;
              font-size: 1.1rem;
              font-weight: 400;
              color: #fff;
              letter-spacing: 0.075em; }
            .genbu__cases__list__sp__img .mask {
              width: 100%;
              height: 100%;
              position: absolute;
              top: 0;
              left: 0;
              opacity: 0;
              background-color: rgba(0, 0, 0, 0.2);
              -webkit-transition: all 0.6s ease;
              -moz-transition: all 0.6s ease;
              -o-transition: all 0.6s ease;
              transition: all 0.6s ease; }
          .genbu__cases__list__sp__img:hover img {
            transform: scale(1.1); }
          .genbu__cases__list__sp__img:hover .mask {
            opacity: 1;
            /* マスクを表示する */ }
          .genbu__cases__list__sp__desc {
            position: relative;
            width: 100%;
            padding-top: 16px; }
            .genbu__cases__list__sp__desc h3 {
              font-size: 1.5rem;
              line-height: 1.7;
              font-weight: 600;
              padding-right: 24px; }
          .genbu__cases__list__sp__option {
            position: relative;
            width: 100%;
            margin-top: auto;
            padding-top: 24px; }
            .genbu__cases__list__sp__option ul {
              position: relative; }
              .genbu__cases__list__sp__option ul li {
                position: relative;
                font-size: 1.2rem;
                font-weight: 500; }
                .genbu__cases__list__sp__option ul li a, .genbu__cases__list__sp__option ul li a:link, .genbu__cases__list__sp__option ul li a:visited {
                  position: relative;
                  color: #333;
                  border-bottom: 1px solid #ddd; }
                .genbu__cases__list__sp__option ul li a::after {
                  position: absolute;
                  bottom: -1px;
                  left: 0;
                  content: '';
                  width: 100%;
                  height: 1px;
                  background: #333;
                  transform: scale(0, 1);
                  transform-origin: right top;
                  transition: transform .3s; }
                .genbu__cases__list__sp__option ul li a:hover {
                  color: #333; }
                .genbu__cases__list__sp__option ul li a:hover::after {
                  transform-origin: left top;
                  transform: scale(1, 1); }
        .genbu__cases__list__sp:nth-child(n + 3) {
          margin-top: 32px; }
      .genbu__cases h4 {
        width: 260px;
        margin-top: 40px; }
    .genbu__brand {
      position: relative;
      width: 92%;
      margin: 0 auto; }
      .genbu__brand__list {
        position: relative;
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between; }
        .genbu__brand__list__sp {
          position: relative;
          width: 48.5%; }
          .genbu__brand__list__sp p {
            width: 100%; }
            .genbu__brand__list__sp p img {
              width: 100%; } }
@media screen and (max-width: 767px) {
  .genbu {
    position: relative;
    width: 100%;
    padding-top: 80px; }
    .genbu__about {
      position: relative;
      width: 100%;
      margin: 0 auto 48px; }
      .genbu__about__img {
        position: relative;
        width: 94%;
        margin-bottom: 32px; }
        .genbu__about__img p.genbu_img01 {
          width: 70%;
          margin-left: 30%; }
          .genbu__about__img p.genbu_img01 img {
            width: 100%; }
        .genbu__about__img p.genbu_img02 {
          width: 45%;
          margin-top: -100px; }
          .genbu__about__img p.genbu_img02 img {
            width: 100%; }
      .genbu__about__desc {
        position: relative;
        width: 82%;
        margin: 0 auto; }
        .genbu__about__desc h3 {
          font-family: "Shippori Mincho B1", serif;
          font-size: 2rem;
          line-height: 1.8; }
        .genbu__about__desc p {
          text-align: justify;
          font-size: 1.4rem;
          line-height: 2.2;
          margin-top: 24px; }
    .genbu__about02 {
      position: relative;
      width: 100%;
      margin: 0 auto 100px; }
      .genbu__about02__img {
        position: relative;
        width: 88%;
        margin: 0 auto 32px; }
        .genbu__about02__img p {
          width: 100%; }
          .genbu__about02__img p img {
            width: 100%; }
      .genbu__about02__desc {
        position: relative;
        width: 82%;
        margin: 0 auto; }
        .genbu__about02__desc p {
          text-align: justify;
          font-size: 1.4rem;
          line-height: 2.2; }
        .genbu__about02__desc p:nth-child(n + 2) {
          margin-top: 24px; }
    .genbu__feature {
      position: relative;
      width: 100%;
      margin: 0 auto 100px; }
      .genbu__feature__list01 {
        position: relative;
        width: 96%;
        height: 550px;
        background: url(../../img/genbu_img/sp_genbu_feature01_backimg.png) no-repeat 50% 50%;
        background-size: cover;
        margin: 0 auto; }
        .genbu__feature__list01__desc {
          position: absolute;
          left: 0;
          bottom: 0;
          width: 100%;
          background-color: rgba(0, 0, 0, 0.4);
          padding: 24px 24px; }
          .genbu__feature__list01__desc__txt {
            position: relative;
            width: 100%; }
            .genbu__feature__list01__desc__txt h4 {
              color: #fff;
              font-size: 1.5rem;
              font-family: "Shippori Mincho B1", serif; }
            .genbu__feature__list01__desc__txt h3 {
              color: #fff;
              font-size: 2.4rem;
              font-family: "Shippori Mincho B1", serif;
              margin-top: 8px; }
            .genbu__feature__list01__desc__txt p {
              text-align: justify;
              color: #fff;
              font-size: 1.3rem;
              line-height: 2.2;
              margin-top: 16px; }
      .genbu__feature__list02 {
        position: relative;
        width: 96%;
        height: 550px;
        background: url(../../img/genbu_img/sp_genbu_feature02_backimg.png) no-repeat 50% 50%;
        background-size: cover;
        margin: 16px auto 0; }
        .genbu__feature__list02__desc {
          position: absolute;
          left: 0;
          bottom: 0;
          width: 100%;
          background-color: rgba(0, 0, 0, 0.4);
          padding: 24px 24px; }
          .genbu__feature__list02__desc__txt {
            position: relative;
            width: 100%; }
            .genbu__feature__list02__desc__txt h4 {
              color: #fff;
              font-size: 1.5rem;
              font-family: "Shippori Mincho B1", serif; }
            .genbu__feature__list02__desc__txt h3 {
              color: #fff;
              font-size: 2.4rem;
              font-family: "Shippori Mincho B1", serif;
              margin-top: 8px; }
            .genbu__feature__list02__desc__txt p {
              text-align: justify;
              color: #fff;
              font-size: 1.3rem;
              line-height: 2.2;
              margin-top: 16px; }
      .genbu__feature__list03 {
        position: relative;
        width: 96%;
        height: 550px;
        background: url(../../img/genbu_img/sp_genbu_feature03_backimg.png) no-repeat 50% 50%;
        background-size: cover;
        margin: 16px auto 0; }
        .genbu__feature__list03__desc {
          position: absolute;
          left: 0;
          bottom: 0;
          width: 100%;
          background-color: rgba(0, 0, 0, 0.4);
          padding: 24px 24px; }
          .genbu__feature__list03__desc__txt {
            position: relative;
            width: 100%; }
            .genbu__feature__list03__desc__txt h4 {
              color: #fff;
              font-size: 1.5rem;
              font-family: "Shippori Mincho B1", serif; }
            .genbu__feature__list03__desc__txt h3 {
              color: #fff;
              font-size: 2.4rem;
              font-family: "Shippori Mincho B1", serif;
              margin-top: 8px; }
            .genbu__feature__list03__desc__txt p {
              text-align: justify;
              color: #fff;
              font-size: 1.3rem;
              line-height: 2.2;
              margin-top: 16px; }
      .genbu__feature__list04 {
        position: relative;
        width: 96%;
        height: 550px;
        background: url(../../img/genbu_img/sp_genbu_feature04_backimg.png) no-repeat 50% 50%;
        background-size: cover;
        margin: 16px auto 0; }
        .genbu__feature__list04__desc {
          position: absolute;
          left: 0;
          bottom: 0;
          width: 100%;
          background-color: rgba(0, 0, 0, 0.4);
          padding: 24px 24px; }
          .genbu__feature__list04__desc__txt {
            position: relative;
            width: 100%; }
            .genbu__feature__list04__desc__txt h4 {
              color: #fff;
              font-size: 1.5rem;
              font-family: "Shippori Mincho B1", serif; }
            .genbu__feature__list04__desc__txt h3 {
              color: #fff;
              font-size: 2.4rem;
              font-family: "Shippori Mincho B1", serif;
              margin-top: 8px; }
            .genbu__feature__list04__desc__txt p {
              text-align: justify;
              color: #fff;
              font-size: 1.3rem;
              line-height: 2.2;
              margin-top: 16px; }
    .genbu__item {
      position: relative;
      width: 100%;
      margin: 0 auto 100px; }
      .genbu__item__detail {
        position: relative;
        width: 100%; }
        .genbu__item__detail__nav {
          display: none; }
        .genbu__item__detail__content {
          position: relative;
          width: 100%; }
          .genbu__item__detail__content__list {
            position: relative;
            width: 100%;
            padding: 32px 0;
            border-bottom: 1px solid #ddd; }
            .genbu__item__detail__content__list__img {
              position: relative;
              width: 100%;
              margin-bottom: 24px; }
              .genbu__item__detail__content__list__img h6 {
                position: absolute;
                color: #333;
                top: -20px;
                left: 6%;
                font-family: "EB Garamond", "Shippori Mincho B1", sans-serif;
                font-size: 4.0rem;
                font-weight: 500;
                letter-spacing: 0.075em;
                line-height: 1.0; }
            .genbu__item__detail__content__list__desc {
              position: relative;
              width: 88%;
              margin: 0 auto; }
              .genbu__item__detail__content__list__desc h3 {
                color: #333;
                font-family: "Shippori Mincho B1", serif;
                font-size: 1.8rem;
                line-height: 1.7;
                margin-bottom: 16px; }
              .genbu__item__detail__content__list__desc p {
                text-align: justify;
                font-size: 1.4rem;
                line-height: 2.2;
                margin-top: 16px; }
              .genbu__item__detail__content__list__desc dl {
                margin-top: 8px;
                display: flex;
                flex-wrap: wrap;
                line-height: 1.7; }
                .genbu__item__detail__content__list__desc dl dt {
                  position: relative;
                  width: 80px;
                  padding-left: 14px;
                  font-size: 1.3rem;
                  font-weight: 500; }
                .genbu__item__detail__content__list__desc dl dt::after {
                  content: '';
                  position: absolute;
                  top: 12px;
                  left: 2px;
                  width: 6px;
                  height: 1px;
                  background-color: #333;
                  transform: translateY(-50%);
                  -webkit-transform: translateY(-50%); }
                .genbu__item__detail__content__list__desc dl dd {
                  flex: 1;
                  font-size: 1.3rem; }
              .genbu__item__detail__content__list__desc__comment {
                width: 100%;
                background-color: #fff;
                padding: 8px 24px 24px;
                margin-top: 24px; }
          .genbu__item__detail__content__list:first-of-type {
            border-top: 1px solid #ddd; }
    .genbu__news {
      position: relative;
      width: 100%;
      background-color: #fff;
      padding: 80px 6%;
      margin-bottom: 120px; }
      .genbu__news__list {
        position: relative;
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between; }
        .genbu__news__list__sp {
          position: relative;
          width: 48%; }
          .genbu__news__list__sp__img {
            position: relative;
            width: 100%;
            overflow: hidden; }
            .genbu__news__list__sp__img img {
              width: 100%;
              object-fit: cover; }
            .genbu__news__list__sp__img .caption {
              display: none; }
            .genbu__news__list__sp__img .mask {
              display: none; }
          .genbu__news__list__sp__desc {
            position: relative;
            width: 100%;
            padding-top: 12px; }
            .genbu__news__list__sp__desc h3 {
              font-size: 1.5rem;
              line-height: 1.7;
              font-weight: 500;
              padding-right: 12px; }
          .genbu__news__list__sp__option {
            position: relative;
            width: 100%;
            margin-top: auto;
            padding-top: 16px; }
            .genbu__news__list__sp__option ul {
              position: relative;
              display: flex;
              flex-wrap: wrap;
              align-items: center; }
              .genbu__news__list__sp__option ul li {
                position: relative;
                width: 50%;
                font-size: 1.2rem;
                font-weight: 500; }
                .genbu__news__list__sp__option ul li a {
                  position: relative;
                  color: #333;
                  border-bottom: 1px solid #ddd; }
              .genbu__news__list__sp__option ul li:nth-child(2) {
                text-align: right;
                font-family: "EB Garamond", "Shippori Mincho B1", sans-serif;
                font-size: 1rem;
                font-weight: 500;
                padding-right: 5px; }
        .genbu__news__list__sp:nth-child(n + 3) {
          margin-top: 32px; }
        .genbu__news__list__none {
          width: 100%;
          background-color: #f3f3f3;
          padding: 24px 8px; }
          .genbu__news__list__none p {
            text-align: center;
            font-size: 1.4rem; }
      .genbu__news h4.btn_style01 {
        width: 220px;
        margin: 40px auto 0; }
      .genbu__news__instagram {
        position: relative;
        width: 100%;
        margin-top: 80px; }
        .genbu__news__instagram__list {
          position: relative;
          width: 100%; }
          .genbu__news__instagram__list ul {
            display: grid;
            grid-template-columns: repeat(3, 4fr);
            gap: 12px; }
            .genbu__news__instagram__list ul li {
              position: relative;
              width: 100%;
              background-color: #fff; }
              .genbu__news__instagram__list ul li img {
                position: absolute;
                width: 100%;
                height: 100%;
                top: 0;
                right: 0;
                bottom: 0;
                left: 0;
                margin: auto;
                object-fit: cover; }
            .genbu__news__instagram__list ul li:before {
              content: "";
              display: block;
              padding-top: 100%; }
        .genbu__news__instagram h4.insta_btn_style01 {
          position: relative;
          width: 100%;
          margin: 32px auto 0; }
    .genbu__cases {
      position: relative;
      width: 100%;
      background-color: #fff;
      padding: 80px 6%;
      margin-bottom: 120px; }
      .genbu__cases__list {
        position: relative;
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between; }
        .genbu__cases__list__sp {
          position: relative;
          width: 48%; }
          .genbu__cases__list__sp__img {
            position: relative;
            width: 100%;
            overflow: hidden; }
            .genbu__cases__list__sp__img img {
              width: 100%;
              object-fit: cover; }
            .genbu__cases__list__sp__img .caption {
              display: none; }
            .genbu__cases__list__sp__img .mask {
              display: none; }
          .genbu__cases__list__sp__desc {
            position: relative;
            width: 100%;
            padding-top: 12px; }
            .genbu__cases__list__sp__desc h3 {
              font-size: 1.5rem;
              line-height: 1.7;
              font-weight: 500;
              padding-right: 12px; }
          .genbu__cases__list__sp__option {
            position: relative;
            width: 100%;
            margin-top: auto;
            padding-top: 16px; }
            .genbu__cases__list__sp__option ul {
              position: relative; }
              .genbu__cases__list__sp__option ul li {
                position: relative;
                font-size: 1.2rem;
                font-weight: 500; }
                .genbu__cases__list__sp__option ul li a {
                  position: relative;
                  color: #333;
                  border-bottom: 1px solid #ddd; }
        .genbu__cases__list__sp:nth-child(n + 3) {
          margin-top: 32px; }
      .genbu__cases h4.btn_style01 {
        width: 220px;
        margin: 40px auto 0; }
    .genbu__brand {
      position: relative;
      width: 88%;
      margin: 0 auto; }
      .genbu__brand__list {
        position: relative;
        width: 100%; }
        .genbu__brand__list__sp {
          position: relative;
          width: 100%; }
          .genbu__brand__list__sp p {
            width: 100%;
            margin-top: 24px; }
            .genbu__brand__list__sp p img {
              width: 100%; } }

@media screen and (min-width: 1024px) {
  .tsuki {
    position: relative;
    width: 100%;
    padding-top: 120px; }
    .tsuki__about {
      position: relative;
      width: 96%;
      max-width: 1600px;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      margin: 0 0 60px; }
      .tsuki__about__img {
        position: relative;
        width: 60%; }
        .tsuki__about__img p {
          width: 100%; }
          .tsuki__about__img p img {
            width: 100%; }
      .tsuki__about__desc {
        position: relative;
        width: 40%;
        padding-left: 60px; }
        .tsuki__about__desc h3 {
          color: #333;
          font-family: "Shippori Mincho B1", serif;
          font-size: 3rem;
          line-height: 1.7; }
        .tsuki__about__desc p {
          font-size: 1.5rem;
          line-height: 2.2;
          margin-top: 28px; }
    .tsuki__about02 {
      position: relative;
      width: 92%;
      max-width: 1600px;
      display: flex;
      flex-wrap: wrap;
      flex-direction: row-reverse;
      margin: 0 auto 160px; }
      .tsuki__about02__img {
        position: relative;
        width: 50%; }
        .tsuki__about02__img p {
          width: 100%; }
          .tsuki__about02__img p img {
            width: 100%; }
      .tsuki__about02__desc {
        position: relative;
        width: 50%;
        padding-right: 60px; }
        .tsuki__about02__desc p {
          font-size: 1.5rem;
          line-height: 2.2; }
        .tsuki__about02__desc p:nth-child(n + 2) {
          margin-top: 28px; }
    .tsuki__feature {
      position: relative;
      width: 92%;
      margin: 0 auto 160px; }
      .tsuki__feature__list01 {
        position: relative;
        width: 100%;
        height: 480px;
        background: url(../../../img/genbu_img/genbu_feature01_backimg.png) no-repeat 50% 50%;
        background-size: cover; }
        .tsuki__feature__list01__desc {
          position: relative;
          width: 480px;
          height: 480px;
          display: flex;
          flex-wrap: wrap;
          align-items: center;
          background-color: rgba(0, 0, 0, 0.4);
          padding: 0 64px; }
          .tsuki__feature__list01__desc__txt {
            position: relative;
            width: 100%; }
            .tsuki__feature__list01__desc__txt h4 {
              color: #fff;
              font-size: 2rem;
              font-family: "Shippori Mincho B1", serif; }
            .tsuki__feature__list01__desc__txt h3 {
              color: #fff;
              font-size: 3rem;
              font-family: "Shippori Mincho B1", serif;
              margin-top: 8px; }
            .tsuki__feature__list01__desc__txt p {
              color: #fff;
              font-size: 1.5rem;
              line-height: 2.2;
              margin-top: 24px; }
      .tsuki__feature__list02 {
        position: relative;
        width: 100%;
        height: 480px;
        background: url(../../../img/genbu_img/genbu_feature02_backimg.png) no-repeat 50% 50%;
        background-size: cover;
        margin-top: 24px; }
        .tsuki__feature__list02__desc {
          position: relative;
          width: 480px;
          height: 480px;
          display: flex;
          flex-wrap: wrap;
          align-items: center;
          background-color: rgba(0, 0, 0, 0.4);
          padding: 0 64px; }
          .tsuki__feature__list02__desc__txt {
            position: relative;
            width: 100%; }
            .tsuki__feature__list02__desc__txt h4 {
              color: #fff;
              font-size: 2rem;
              font-family: "Shippori Mincho B1", serif; }
            .tsuki__feature__list02__desc__txt h3 {
              color: #fff;
              font-size: 3rem;
              font-family: "Shippori Mincho B1", serif;
              margin-top: 8px; }
            .tsuki__feature__list02__desc__txt p {
              color: #fff;
              font-size: 1.5rem;
              line-height: 2.2;
              margin-top: 24px; }
      .tsuki__feature__list03 {
        position: relative;
        width: 100%;
        height: 480px;
        background: url(../../../img/genbu_img/genbu_feature03_backimg.png) no-repeat 50% 50%;
        background-size: cover;
        margin-top: 24px; }
        .tsuki__feature__list03__desc {
          position: relative;
          width: 480px;
          height: 480px;
          display: flex;
          flex-wrap: wrap;
          align-items: center;
          background-color: rgba(0, 0, 0, 0.4);
          padding: 0 64px; }
          .tsuki__feature__list03__desc__txt {
            position: relative;
            width: 100%; }
            .tsuki__feature__list03__desc__txt h4 {
              color: #fff;
              font-size: 2rem;
              font-family: "Shippori Mincho B1", serif; }
            .tsuki__feature__list03__desc__txt h3 {
              color: #fff;
              font-size: 3rem;
              font-family: "Shippori Mincho B1", serif;
              margin-top: 8px; }
            .tsuki__feature__list03__desc__txt p {
              color: #fff;
              font-size: 1.5rem;
              line-height: 2.2;
              margin-top: 24px; }
      .tsuki__feature__list04 {
        position: relative;
        width: 100%;
        height: 480px;
        background: url(../../../img/genbu_img/genbu_feature04_backimg.png) no-repeat 50% 50%;
        background-size: cover;
        margin-top: 24px; }
        .tsuki__feature__list04__desc {
          position: relative;
          width: 480px;
          height: 480px;
          display: flex;
          flex-wrap: wrap;
          align-items: center;
          background-color: rgba(0, 0, 0, 0.4);
          padding: 0 64px; }
          .tsuki__feature__list04__desc__txt {
            position: relative;
            width: 100%; }
            .tsuki__feature__list04__desc__txt h4 {
              color: #fff;
              font-size: 2rem;
              font-family: "Shippori Mincho B1", serif; }
            .tsuki__feature__list04__desc__txt h3 {
              color: #fff;
              font-size: 3rem;
              font-family: "Shippori Mincho B1", serif;
              margin-top: 8px; }
            .tsuki__feature__list04__desc__txt p {
              color: #fff;
              font-size: 1.5rem;
              line-height: 2.2;
              margin-top: 24px; }
    .tsuki__item {
      position: relative;
      width: 92%;
      margin: 0 auto 160px; }
      .tsuki__item__detail {
        position: relative;
        width: 100%;
        display: flex;
        flex-wrap: wrap; }
        .tsuki__item__detail__nav {
          position: relative;
          width: 280px; }
        .tsuki__item__detail__content {
          position: relative;
          flex: 1;
          padding-left: 60px; }
          .tsuki__item__detail__content__list {
            position: relative;
            width: 100%;
            display: flex;
            flex-wrap: wrap;
            margin-top: -120px;
            padding-top: 168px;
            padding-bottom: 48px;
            border-bottom: 1px solid #ddd; }
            .tsuki__item__detail__content__list__img {
              position: relative;
              width: 40%; }
              .tsuki__item__detail__content__list__img h6 {
                position: absolute;
                color: #333;
                top: -30px;
                left: -20px;
                font-family: "EB Garamond", "Shippori Mincho B1", sans-serif;
                font-size: 6.0rem;
                font-weight: 500;
                letter-spacing: 0.075em;
                line-height: 1.0; }
            .tsuki__item__detail__content__list__desc {
              position: relative;
              width: 60%;
              padding-left: 48px; }
              .tsuki__item__detail__content__list__desc h3 {
                color: #333;
                font-family: "Shippori Mincho B1", serif;
                font-size: 2.4rem;
                line-height: 1.6;
                margin-bottom: 24px; }
              .tsuki__item__detail__content__list__desc p {
                font-size: 1.5rem;
                line-height: 2.2;
                margin-top: 24px; }
              .tsuki__item__detail__content__list__desc dl {
                margin-top: 12px;
                display: flex;
                flex-wrap: wrap; }
                .tsuki__item__detail__content__list__desc dl dt {
                  position: relative;
                  width: 100px;
                  padding-left: 14px;
                  font-size: 1.4rem;
                  line-height: 1.7;
                  font-weight: 500; }
                .tsuki__item__detail__content__list__desc dl dt::after {
                  content: '';
                  position: absolute;
                  top: 12px;
                  left: 2px;
                  width: 6px;
                  height: 1px;
                  background-color: #333; }
                .tsuki__item__detail__content__list__desc dl dd {
                  flex: 1;
                  line-height: 1.7;
                  font-size: 1.4rem; }
              .tsuki__item__detail__content__list__desc__comment {
                width: 100%;
                background-color: #fff;
                padding: 8px 32px 32px;
                margin-top: 24px; }
          .tsuki__item__detail__content__list:first-of-type::after {
            content: '';
            position: absolute;
            top: 120px;
            left: 0;
            width: 100%;
            height: 1px;
            background-color: #ddd; }
    .tsuki__news {
      position: relative;
      width: 100%;
      background-color: #fff;
      padding: 120px 4%;
      margin-bottom: 160px; }
      .tsuki__news__list {
        position: relative;
        width: 100%;
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 16px; }
        .tsuki__news__list__sp {
          position: relative;
          width: 100%;
          display: flex;
          flex-direction: column; }
          .tsuki__news__list__sp__img {
            position: relative;
            width: 100%;
            overflow: hidden; }
            .tsuki__news__list__sp__img img {
              width: 100%;
              object-fit: cover;
              -webkit-transition: .3s ease-in-out;
              transition: .3s ease-in-out; }
            .tsuki__news__list__sp__img .caption {
              text-align: center;
              position: absolute;
              width: 100%;
              top: 50%;
              left: 50%;
              transform: translateY(-50%) translateX(-50%);
              -webkit-transform: translateY(-50%) translateX(-50%);
              font-family: "EB Garamond", "Shippori Mincho B1", sans-serif;
              font-size: 1.1rem;
              font-weight: 400;
              color: #fff;
              letter-spacing: 0.075em; }
            .tsuki__news__list__sp__img .mask {
              width: 100%;
              height: 100%;
              position: absolute;
              top: 0;
              left: 0;
              opacity: 0;
              background-color: rgba(0, 0, 0, 0.2);
              -webkit-transition: all 0.6s ease;
              -moz-transition: all 0.6s ease;
              -o-transition: all 0.6s ease;
              transition: all 0.6s ease; }
          .tsuki__news__list__sp__img:hover img {
            transform: scale(1.1); }
          .tsuki__news__list__sp__img:hover .mask {
            opacity: 1;
            /* マスクを表示する */ }
          .tsuki__news__list__sp__desc {
            position: relative;
            width: 100%;
            padding-top: 16px; }
            .tsuki__news__list__sp__desc h3 {
              font-size: 1.8rem;
              line-height: 1.7;
              font-weight: 600;
              padding-right: 24px; }
          .tsuki__news__list__sp__option {
            position: relative;
            width: 100%;
            margin-top: auto;
            padding-top: 24px; }
            .tsuki__news__list__sp__option ul {
              position: relative;
              display: flex;
              flex-wrap: wrap;
              align-items: center; }
              .tsuki__news__list__sp__option ul li {
                position: relative;
                width: 50%;
                font-size: 1.3rem;
                font-weight: 500; }
                .tsuki__news__list__sp__option ul li a, .tsuki__news__list__sp__option ul li a:link, .tsuki__news__list__sp__option ul li a:visited {
                  position: relative;
                  color: #333;
                  border-bottom: 1px solid #ddd; }
                .tsuki__news__list__sp__option ul li a::after {
                  position: absolute;
                  bottom: -1px;
                  left: 0;
                  content: '';
                  width: 100%;
                  height: 1px;
                  background: #333;
                  transform: scale(0, 1);
                  transform-origin: right top;
                  transition: transform .3s; }
                .tsuki__news__list__sp__option ul li a:hover {
                  color: #333; }
                .tsuki__news__list__sp__option ul li a:hover::after {
                  transform-origin: left top;
                  transform: scale(1, 1); }
              .tsuki__news__list__sp__option ul li:nth-child(2) {
                text-align: right;
                font-family: "EB Garamond", "Shippori Mincho B1", sans-serif;
                font-size: 1.2rem;
                font-weight: 500;
                padding-right: 5px; }
        .tsuki__news__list__none {
          grid-column: 1 / -1;
          width: 100%;
          background-color: #f3f3f3;
          padding: 40px 16px; }
          .tsuki__news__list__none p {
            text-align: center;
            font-size: 1.5rem; }
      .tsuki__news h4.btn_style01 {
        position: absolute;
        top: 160px;
        right: 4%;
        width: 260px; }
      .tsuki__news__instagram {
        position: relative;
        width: 100%;
        margin-top: 100px; }
        .tsuki__news__instagram__list {
          position: relative;
          width: 100%; }
          .tsuki__news__instagram__list ul {
            display: grid;
            grid-template-columns: repeat(6, 2fr);
            gap: 16px; }
            .tsuki__news__instagram__list ul li {
              position: relative;
              width: 100%;
              background-color: #fff; }
              .tsuki__news__instagram__list ul li img {
                position: absolute;
                width: 100%;
                height: 100%;
                top: 0;
                right: 0;
                bottom: 0;
                left: 0;
                margin: auto;
                object-fit: cover; }
            .tsuki__news__instagram__list ul li:before {
              content: "";
              display: block;
              padding-top: 100%; }
        .tsuki__news__instagram h4.insta_btn_style01 {
          position: relative;
          width: 360px;
          margin: 48px auto 0; }
    .tsuki__cases {
      position: relative;
      width: 100%;
      background-color: #fff;
      padding: 120px 4%;
      margin-bottom: 160px; }
      .tsuki__cases__list {
        position: relative;
        width: 100%;
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 16px; }
        .tsuki__cases__list__sp {
          position: relative;
          width: 100%;
          display: flex;
          flex-direction: column; }
          .tsuki__cases__list__sp__img {
            position: relative;
            width: 100%;
            overflow: hidden; }
            .tsuki__cases__list__sp__img img {
              width: 100%;
              object-fit: cover;
              -webkit-transition: .3s ease-in-out;
              transition: .3s ease-in-out; }
            .tsuki__cases__list__sp__img .caption {
              text-align: center;
              position: absolute;
              width: 100%;
              top: 50%;
              left: 50%;
              transform: translateY(-50%) translateX(-50%);
              -webkit-transform: translateY(-50%) translateX(-50%);
              font-family: "EB Garamond", "Shippori Mincho B1", sans-serif;
              font-size: 1.1rem;
              font-weight: 400;
              color: #fff;
              letter-spacing: 0.075em; }
            .tsuki__cases__list__sp__img .mask {
              width: 100%;
              height: 100%;
              position: absolute;
              top: 0;
              left: 0;
              opacity: 0;
              background-color: rgba(0, 0, 0, 0.2);
              -webkit-transition: all 0.6s ease;
              -moz-transition: all 0.6s ease;
              -o-transition: all 0.6s ease;
              transition: all 0.6s ease; }
          .tsuki__cases__list__sp__img:hover img {
            transform: scale(1.1); }
          .tsuki__cases__list__sp__img:hover .mask {
            opacity: 1;
            /* マスクを表示する */ }
          .tsuki__cases__list__sp__desc {
            position: relative;
            width: 100%;
            padding-top: 16px; }
            .tsuki__cases__list__sp__desc h3 {
              font-size: 1.8rem;
              line-height: 1.7;
              font-weight: 600;
              padding-right: 24px; }
          .tsuki__cases__list__sp__option {
            position: relative;
            width: 100%;
            margin-top: auto;
            padding-top: 24px; }
            .tsuki__cases__list__sp__option ul {
              position: relative; }
              .tsuki__cases__list__sp__option ul li {
                position: relative;
                font-size: 1.3rem;
                font-weight: 500; }
                .tsuki__cases__list__sp__option ul li a, .tsuki__cases__list__sp__option ul li a:link, .tsuki__cases__list__sp__option ul li a:visited {
                  position: relative;
                  color: #333;
                  border-bottom: 1px solid #ddd; }
                .tsuki__cases__list__sp__option ul li a::after {
                  position: absolute;
                  bottom: -1px;
                  left: 0;
                  content: '';
                  width: 100%;
                  height: 1px;
                  background: #333;
                  transform: scale(0, 1);
                  transform-origin: right top;
                  transition: transform .3s; }
                .tsuki__cases__list__sp__option ul li a:hover {
                  color: #333; }
                .tsuki__cases__list__sp__option ul li a:hover::after {
                  transform-origin: left top;
                  transform: scale(1, 1); }
      .tsuki__cases h4.btn_style01 {
        position: absolute;
        top: 160px;
        right: 4%;
        width: 260px; }
    .tsuki__brand {
      position: relative;
      width: 92%;
      margin: 0 auto; }
      .tsuki__brand__list {
        position: relative;
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between; }
        .tsuki__brand__list__sp {
          position: relative;
          width: 48.5%; }
          .tsuki__brand__list__sp p {
            width: 100%; }
            .tsuki__brand__list__sp p img {
              width: 100%; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .tsuki {
    position: relative;
    width: 100%;
    padding-top: 100px; }
    .tsuki__about {
      position: relative;
      width: 96%;
      display: flex;
      flex-wrap: wrap;
      margin-bottom: 48px; }
      .tsuki__about__img {
        position: relative;
        width: 55%; }
        .tsuki__about__img p {
          width: 100%; }
          .tsuki__about__img p img {
            width: 100%; }
      .tsuki__about__desc {
        position: relative;
        width: 45%;
        padding-left: 48px; }
        .tsuki__about__desc h3 {
          font-family: "Shippori Mincho B1", serif;
          font-size: 2.2rem;
          line-height: 1.7; }
        .tsuki__about__desc p {
          font-size: 1.4rem;
          line-height: 2.2;
          margin-top: 24px; }
          .tsuki__about__desc p br {
            display: none; }
    .tsuki__about02 {
      position: relative;
      width: 70%;
      margin: 0 auto 120px; }
      .tsuki__about02__img {
        position: relative;
        width: 100%; }
        .tsuki__about02__img p {
          width: 100%; }
          .tsuki__about02__img p img {
            width: 100%; }
      .tsuki__about02__desc {
        position: relative;
        width: 100%;
        padding-top: 32px; }
        .tsuki__about02__desc p {
          width: 75%;
          text-align: justify;
          font-size: 1.4rem;
          line-height: 2.2; }
        .tsuki__about02__desc p:nth-child(n + 2) {
          margin-top: 24px; }
    .tsuki__feature {
      position: relative;
      width: 96%;
      margin: 0 auto 120px; }
      .tsuki__feature__list01 {
        position: relative;
        width: 100%;
        height: 400px;
        background: url(../../../img/genbu_img/genbu_feature01_backimg.png) no-repeat 50% 50%;
        background-size: cover; }
        .tsuki__feature__list01__desc {
          position: relative;
          width: 360px;
          height: 400px;
          display: flex;
          flex-wrap: wrap;
          align-items: center;
          background-color: rgba(0, 0, 0, 0.4);
          padding: 0 48px; }
          .tsuki__feature__list01__desc__txt {
            position: relative;
            width: 100%; }
            .tsuki__feature__list01__desc__txt h4 {
              color: #fff;
              font-size: 1.8rem;
              font-family: "Shippori Mincho B1", serif; }
            .tsuki__feature__list01__desc__txt h3 {
              color: #fff;
              font-size: 2.8rem;
              font-family: "Shippori Mincho B1", serif;
              margin-top: 8px; }
            .tsuki__feature__list01__desc__txt p {
              color: #fff;
              font-size: 1.4rem;
              line-height: 2.2;
              margin-top: 16px; }
      .tsuki__feature__list02 {
        position: relative;
        width: 100%;
        height: 400px;
        background: url(../../../img/genbu_img/genbu_feature02_backimg.png) no-repeat 50% 50%;
        background-size: cover;
        margin-top: 16px; }
        .tsuki__feature__list02__desc {
          position: relative;
          width: 360px;
          height: 400px;
          display: flex;
          flex-wrap: wrap;
          align-items: center;
          background-color: rgba(0, 0, 0, 0.4);
          padding: 0 48px; }
          .tsuki__feature__list02__desc__txt {
            position: relative;
            width: 100%; }
            .tsuki__feature__list02__desc__txt h4 {
              color: #fff;
              font-size: 1.8rem;
              font-family: "Shippori Mincho B1", serif; }
            .tsuki__feature__list02__desc__txt h3 {
              color: #fff;
              font-size: 2.8rem;
              font-family: "Shippori Mincho B1", serif;
              margin-top: 8px; }
            .tsuki__feature__list02__desc__txt p {
              color: #fff;
              font-size: 1.4rem;
              line-height: 2.2;
              margin-top: 16px; }
      .tsuki__feature__list03 {
        position: relative;
        width: 100%;
        height: 400px;
        background: url(../../../img/genbu_img/genbu_feature03_backimg.png) no-repeat 50% 50%;
        background-size: cover;
        margin-top: 16px; }
        .tsuki__feature__list03__desc {
          position: relative;
          width: 360px;
          height: 400px;
          display: flex;
          flex-wrap: wrap;
          align-items: center;
          background-color: rgba(0, 0, 0, 0.4);
          padding: 0 48px; }
          .tsuki__feature__list03__desc__txt {
            position: relative;
            width: 100%; }
            .tsuki__feature__list03__desc__txt h4 {
              color: #fff;
              font-size: 1.8rem;
              font-family: "Shippori Mincho B1", serif; }
            .tsuki__feature__list03__desc__txt h3 {
              color: #fff;
              font-size: 2.8rem;
              font-family: "Shippori Mincho B1", serif;
              margin-top: 8px; }
            .tsuki__feature__list03__desc__txt p {
              color: #fff;
              font-size: 1.4rem;
              line-height: 2.2;
              margin-top: 16px; }
      .tsuki__feature__list04 {
        position: relative;
        width: 100%;
        height: 400px;
        background: url(../../../img/genbu_img/genbu_feature04_backimg.png) no-repeat 50% 50%;
        background-size: cover;
        margin-top: 16px; }
        .tsuki__feature__list04__desc {
          position: relative;
          width: 360px;
          height: 400px;
          display: flex;
          flex-wrap: wrap;
          align-items: center;
          background-color: rgba(0, 0, 0, 0.4);
          padding: 0 48px; }
          .tsuki__feature__list04__desc__txt {
            position: relative;
            width: 100%; }
            .tsuki__feature__list04__desc__txt h4 {
              color: #fff;
              font-size: 1.8rem;
              font-family: "Shippori Mincho B1", serif; }
            .tsuki__feature__list04__desc__txt h3 {
              color: #fff;
              font-size: 2.8rem;
              font-family: "Shippori Mincho B1", serif;
              margin-top: 8px; }
            .tsuki__feature__list04__desc__txt p {
              color: #fff;
              font-size: 1.4rem;
              line-height: 2.2;
              margin-top: 16px; }
    .tsuki__item {
      position: relative;
      width: 92%;
      margin: 0 auto 120px; }
      .tsuki__item__detail {
        position: relative;
        width: 100%;
        display: flex;
        flex-wrap: wrap; }
        .tsuki__item__detail__nav {
          position: relative;
          width: 220px; }
        .tsuki__item__detail__content {
          position: relative;
          flex: 1;
          padding-left: 48px; }
          .tsuki__item__detail__content__list {
            position: relative;
            width: 100%;
            margin-top: -100px;
            padding-top: 140px;
            padding-bottom: 40px;
            border-bottom: 1px solid #ddd; }
            .tsuki__item__detail__content__list__img {
              position: relative;
              width: 100%;
              padding: 0 20%; }
              .tsuki__item__detail__content__list__img h6 {
                position: absolute;
                color: #333;
                top: -20px;
                left: 0;
                font-family: "EB Garamond", "Shippori Mincho B1", sans-serif;
                font-size: 4.6rem;
                font-weight: 500;
                letter-spacing: 0.075em;
                line-height: 1.0; }
            .tsuki__item__detail__content__list__desc {
              position: relative;
              width: 100%;
              padding-top: 32px; }
              .tsuki__item__detail__content__list__desc h3 {
                color: #333;
                font-family: "Shippori Mincho B1", serif;
                font-size: 2.2rem;
                line-height: 1.6;
                margin-bottom: 20px; }
              .tsuki__item__detail__content__list__desc p {
                font-size: 1.4rem;
                line-height: 2.2;
                margin-top: 20px; }
              .tsuki__item__detail__content__list__desc dl {
                margin-top: 12px;
                display: flex;
                flex-wrap: wrap; }
                .tsuki__item__detail__content__list__desc dl dt {
                  position: relative;
                  width: 100px;
                  padding-left: 14px;
                  font-size: 1.3rem;
                  font-weight: 500;
                  line-height: 1.7; }
                .tsuki__item__detail__content__list__desc dl dt::after {
                  content: '';
                  position: absolute;
                  top: 12px;
                  left: 2px;
                  width: 6px;
                  height: 1px;
                  background-color: #333; }
                .tsuki__item__detail__content__list__desc dl dd {
                  flex: 1;
                  font-size: 1.3rem;
                  line-height: 1.7; }
              .tsuki__item__detail__content__list__desc__comment {
                width: 100%;
                background-color: #fff;
                padding: 4px 24px 24px;
                margin-top: 24px; }
          .tsuki__item__detail__content__list:first-of-type::after {
            content: '';
            position: absolute;
            top: 100px;
            left: 0;
            width: 100%;
            height: 1px;
            background-color: #ddd; }
    .tsuki__news {
      position: relative;
      width: 100%;
      background-color: #fff;
      padding: 80px 4%;
      margin-bottom: 120px; }
      .tsuki__news__list {
        position: relative;
        width: 100%;
        display: grid;
        grid-template-columns: repeat(2, 2fr);
        gap: 24px; }
        .tsuki__news__list__sp {
          position: relative;
          width: 100%;
          display: flex;
          flex-direction: column; }
          .tsuki__news__list__sp__img {
            position: relative;
            width: 100%;
            overflow: hidden; }
            .tsuki__news__list__sp__img img {
              width: 100%;
              object-fit: cover;
              -webkit-transition: .3s ease-in-out;
              transition: .3s ease-in-out; }
            .tsuki__news__list__sp__img .caption {
              text-align: center;
              position: absolute;
              width: 100%;
              top: 50%;
              left: 50%;
              transform: translateY(-50%) translateX(-50%);
              -webkit-transform: translateY(-50%) translateX(-50%);
              font-family: "EB Garamond", "Shippori Mincho B1", sans-serif;
              font-size: 1.1rem;
              font-weight: 400;
              color: #fff;
              letter-spacing: 0.075em; }
            .tsuki__news__list__sp__img .mask {
              width: 100%;
              height: 100%;
              position: absolute;
              top: 0;
              left: 0;
              opacity: 0;
              background-color: rgba(0, 0, 0, 0.2);
              -webkit-transition: all 0.6s ease;
              -moz-transition: all 0.6s ease;
              -o-transition: all 0.6s ease;
              transition: all 0.6s ease; }
          .tsuki__news__list__sp__img:hover img {
            transform: scale(1.1); }
          .tsuki__news__list__sp__img:hover .mask {
            opacity: 1;
            /* マスクを表示する */ }
          .tsuki__news__list__sp__desc {
            position: relative;
            width: 100%;
            padding-top: 16px; }
            .tsuki__news__list__sp__desc h3 {
              font-size: 1.5rem;
              line-height: 1.7;
              font-weight: 600;
              padding-right: 24px; }
          .tsuki__news__list__sp__option {
            position: relative;
            width: 100%;
            margin-top: auto;
            padding-top: 24px; }
            .tsuki__news__list__sp__option ul {
              position: relative;
              display: flex;
              flex-wrap: wrap;
              align-items: center; }
              .tsuki__news__list__sp__option ul li {
                position: relative;
                width: 50%;
                font-size: 1.2rem;
                font-weight: 500; }
                .tsuki__news__list__sp__option ul li a, .tsuki__news__list__sp__option ul li a:link, .tsuki__news__list__sp__option ul li a:visited {
                  position: relative;
                  color: #333;
                  border-bottom: 1px solid #ddd; }
                .tsuki__news__list__sp__option ul li a::after {
                  position: absolute;
                  bottom: -1px;
                  left: 0;
                  content: '';
                  width: 100%;
                  height: 1px;
                  background: #333;
                  transform: scale(0, 1);
                  transform-origin: right top;
                  transition: transform .3s; }
                .tsuki__news__list__sp__option ul li a:hover {
                  color: #333; }
                .tsuki__news__list__sp__option ul li a:hover::after {
                  transform-origin: left top;
                  transform: scale(1, 1); }
              .tsuki__news__list__sp__option ul li:nth-child(2) {
                text-align: right;
                font-family: "EB Garamond", "Shippori Mincho B1", sans-serif;
                font-size: 1.1rem;
                font-weight: 500;
                padding-right: 5px; }
        .tsuki__news__list__sp:nth-child(n + 3) {
          margin-top: 32px; }
        .tsuki__news__list__none {
          grid-column: 1 / -1;
          width: 100%;
          background-color: #f3f3f3;
          padding: 32px 8px; }
          .tsuki__news__list__none p {
            text-align: center;
            font-size: 1.4rem; }
      .tsuki__news h4.btn_style01 {
        width: 260px;
        margin: 40px auto 0; }
      .tsuki__news__instagram {
        position: relative;
        width: 100%;
        margin-top: 100px; }
        .tsuki__news__instagram__list {
          position: relative;
          width: 100%; }
          .tsuki__news__instagram__list ul {
            display: grid;
            grid-template-columns: repeat(4, 3fr);
            gap: 16px; }
            .tsuki__news__instagram__list ul li {
              position: relative;
              width: 100%;
              background-color: #fff; }
              .tsuki__news__instagram__list ul li img {
                position: absolute;
                width: 100%;
                height: 100%;
                top: 0;
                right: 0;
                bottom: 0;
                left: 0;
                margin: auto;
                object-fit: cover; }
            .tsuki__news__instagram__list ul li:before {
              content: "";
              display: block;
              padding-top: 100%; }
        .tsuki__news__instagram h4.insta_btn_style01 {
          position: relative;
          width: 320px;
          margin: 40px auto 0; }
    .tsuki__cases {
      position: relative;
      width: 100%;
      background-color: #fff;
      padding: 80px 4%;
      margin-bottom: 120px; }
      .tsuki__cases__list {
        position: relative;
        width: 100%;
        display: grid;
        grid-template-columns: repeat(2, 2fr);
        gap: 24px; }
        .tsuki__cases__list__sp {
          position: relative;
          width: 100%;
          display: flex;
          flex-direction: column; }
          .tsuki__cases__list__sp__img {
            position: relative;
            width: 100%;
            overflow: hidden; }
            .tsuki__cases__list__sp__img img {
              width: 100%;
              object-fit: cover;
              -webkit-transition: .3s ease-in-out;
              transition: .3s ease-in-out; }
            .tsuki__cases__list__sp__img .caption {
              text-align: center;
              position: absolute;
              width: 100%;
              top: 50%;
              left: 50%;
              transform: translateY(-50%) translateX(-50%);
              -webkit-transform: translateY(-50%) translateX(-50%);
              font-family: "EB Garamond", "Shippori Mincho B1", sans-serif;
              font-size: 1.1rem;
              font-weight: 400;
              color: #fff;
              letter-spacing: 0.075em; }
            .tsuki__cases__list__sp__img .mask {
              width: 100%;
              height: 100%;
              position: absolute;
              top: 0;
              left: 0;
              opacity: 0;
              background-color: rgba(0, 0, 0, 0.2);
              -webkit-transition: all 0.6s ease;
              -moz-transition: all 0.6s ease;
              -o-transition: all 0.6s ease;
              transition: all 0.6s ease; }
          .tsuki__cases__list__sp__img:hover img {
            transform: scale(1.1); }
          .tsuki__cases__list__sp__img:hover .mask {
            opacity: 1;
            /* マスクを表示する */ }
          .tsuki__cases__list__sp__desc {
            position: relative;
            width: 100%;
            padding-top: 16px; }
            .tsuki__cases__list__sp__desc h3 {
              font-size: 1.5rem;
              line-height: 1.7;
              font-weight: 600;
              padding-right: 24px; }
          .tsuki__cases__list__sp__option {
            position: relative;
            width: 100%;
            margin-top: auto;
            padding-top: 24px; }
            .tsuki__cases__list__sp__option ul {
              position: relative; }
              .tsuki__cases__list__sp__option ul li {
                position: relative;
                font-size: 1.2rem;
                font-weight: 500; }
                .tsuki__cases__list__sp__option ul li a, .tsuki__cases__list__sp__option ul li a:link, .tsuki__cases__list__sp__option ul li a:visited {
                  position: relative;
                  color: #333;
                  border-bottom: 1px solid #ddd; }
                .tsuki__cases__list__sp__option ul li a::after {
                  position: absolute;
                  bottom: -1px;
                  left: 0;
                  content: '';
                  width: 100%;
                  height: 1px;
                  background: #333;
                  transform: scale(0, 1);
                  transform-origin: right top;
                  transition: transform .3s; }
                .tsuki__cases__list__sp__option ul li a:hover {
                  color: #333; }
                .tsuki__cases__list__sp__option ul li a:hover::after {
                  transform-origin: left top;
                  transform: scale(1, 1); }
        .tsuki__cases__list__sp:nth-child(n + 3) {
          margin-top: 32px; }
      .tsuki__cases h4 {
        width: 260px;
        margin-top: 40px; }
    .tsuki__brand {
      position: relative;
      width: 92%;
      margin: 0 auto; }
      .tsuki__brand__list {
        position: relative;
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between; }
        .tsuki__brand__list__sp {
          position: relative;
          width: 48.5%; }
          .tsuki__brand__list__sp p {
            width: 100%; }
            .tsuki__brand__list__sp p img {
              width: 100%; } }
@media screen and (max-width: 767px) {
  .tsuki {
    position: relative;
    width: 100%;
    padding-top: 80px; }
    .tsuki__about {
      position: relative;
      width: 100%;
      margin: 0 auto 48px; }
      .tsuki__about__img {
        position: relative;
        width: 94%;
        margin-bottom: 32px; }
        .tsuki__about__img p.genbu_img01 {
          width: 70%;
          margin-left: 30%; }
          .tsuki__about__img p.genbu_img01 img {
            width: 100%; }
        .tsuki__about__img p.genbu_img02 {
          width: 45%;
          margin-top: -100px; }
          .tsuki__about__img p.genbu_img02 img {
            width: 100%; }
      .tsuki__about__desc {
        position: relative;
        width: 82%;
        margin: 0 auto; }
        .tsuki__about__desc h3 {
          font-family: "Shippori Mincho B1", serif;
          font-size: 2rem;
          line-height: 1.8; }
        .tsuki__about__desc p {
          text-align: justify;
          font-size: 1.4rem;
          line-height: 2.2;
          margin-top: 24px; }
    .tsuki__about02 {
      position: relative;
      width: 100%;
      margin: 0 auto 100px; }
      .tsuki__about02__img {
        position: relative;
        width: 88%;
        margin: 0 auto 32px; }
        .tsuki__about02__img p {
          width: 100%; }
          .tsuki__about02__img p img {
            width: 100%; }
      .tsuki__about02__desc {
        position: relative;
        width: 82%;
        margin: 0 auto; }
        .tsuki__about02__desc p {
          text-align: justify;
          font-size: 1.4rem;
          line-height: 2.2; }
        .tsuki__about02__desc p:nth-child(n + 2) {
          margin-top: 24px; }
    .tsuki__feature {
      position: relative;
      width: 100%;
      margin: 0 auto 100px; }
      .tsuki__feature__list01 {
        position: relative;
        width: 96%;
        height: 550px;
        background: url(../../../img/genbu_img/sp_genbu_feature01_backimg.png) no-repeat 50% 50%;
        background-size: cover;
        margin: 0 auto; }
        .tsuki__feature__list01__desc {
          position: absolute;
          left: 0;
          bottom: 0;
          width: 100%;
          background-color: rgba(0, 0, 0, 0.4);
          padding: 24px 24px; }
          .tsuki__feature__list01__desc__txt {
            position: relative;
            width: 100%; }
            .tsuki__feature__list01__desc__txt h4 {
              color: #fff;
              font-size: 1.5rem;
              font-family: "Shippori Mincho B1", serif; }
            .tsuki__feature__list01__desc__txt h3 {
              color: #fff;
              font-size: 2.4rem;
              font-family: "Shippori Mincho B1", serif;
              margin-top: 8px; }
            .tsuki__feature__list01__desc__txt p {
              text-align: justify;
              color: #fff;
              font-size: 1.3rem;
              line-height: 2.2;
              margin-top: 16px; }
      .tsuki__feature__list02 {
        position: relative;
        width: 96%;
        height: 550px;
        background: url(../../../img/genbu_img/sp_genbu_feature02_backimg.png) no-repeat 50% 50%;
        background-size: cover;
        margin: 16px auto 0; }
        .tsuki__feature__list02__desc {
          position: absolute;
          left: 0;
          bottom: 0;
          width: 100%;
          background-color: rgba(0, 0, 0, 0.4);
          padding: 24px 24px; }
          .tsuki__feature__list02__desc__txt {
            position: relative;
            width: 100%; }
            .tsuki__feature__list02__desc__txt h4 {
              color: #fff;
              font-size: 1.5rem;
              font-family: "Shippori Mincho B1", serif; }
            .tsuki__feature__list02__desc__txt h3 {
              color: #fff;
              font-size: 2.4rem;
              font-family: "Shippori Mincho B1", serif;
              margin-top: 8px; }
            .tsuki__feature__list02__desc__txt p {
              text-align: justify;
              color: #fff;
              font-size: 1.3rem;
              line-height: 2.2;
              margin-top: 16px; }
      .tsuki__feature__list03 {
        position: relative;
        width: 96%;
        height: 550px;
        background: url(../../../img/genbu_img/sp_genbu_feature03_backimg.png) no-repeat 50% 50%;
        background-size: cover;
        margin: 16px auto 0; }
        .tsuki__feature__list03__desc {
          position: absolute;
          left: 0;
          bottom: 0;
          width: 100%;
          background-color: rgba(0, 0, 0, 0.4);
          padding: 24px 24px; }
          .tsuki__feature__list03__desc__txt {
            position: relative;
            width: 100%; }
            .tsuki__feature__list03__desc__txt h4 {
              color: #fff;
              font-size: 1.5rem;
              font-family: "Shippori Mincho B1", serif; }
            .tsuki__feature__list03__desc__txt h3 {
              color: #fff;
              font-size: 2.4rem;
              font-family: "Shippori Mincho B1", serif;
              margin-top: 8px; }
            .tsuki__feature__list03__desc__txt p {
              text-align: justify;
              color: #fff;
              font-size: 1.3rem;
              line-height: 2.2;
              margin-top: 16px; }
      .tsuki__feature__list04 {
        position: relative;
        width: 96%;
        height: 550px;
        background: url(../../../img/genbu_img/sp_genbu_feature04_backimg.png) no-repeat 50% 50%;
        background-size: cover;
        margin: 16px auto 0; }
        .tsuki__feature__list04__desc {
          position: absolute;
          left: 0;
          bottom: 0;
          width: 100%;
          background-color: rgba(0, 0, 0, 0.4);
          padding: 24px 24px; }
          .tsuki__feature__list04__desc__txt {
            position: relative;
            width: 100%; }
            .tsuki__feature__list04__desc__txt h4 {
              color: #fff;
              font-size: 1.5rem;
              font-family: "Shippori Mincho B1", serif; }
            .tsuki__feature__list04__desc__txt h3 {
              color: #fff;
              font-size: 2.4rem;
              font-family: "Shippori Mincho B1", serif;
              margin-top: 8px; }
            .tsuki__feature__list04__desc__txt p {
              text-align: justify;
              color: #fff;
              font-size: 1.3rem;
              line-height: 2.2;
              margin-top: 16px; }
    .tsuki__item {
      position: relative;
      width: 100%;
      margin: 0 auto 100px; }
      .tsuki__item__detail {
        position: relative;
        width: 100%; }
        .tsuki__item__detail__nav {
          display: none; }
        .tsuki__item__detail__content {
          position: relative;
          width: 100%; }
          .tsuki__item__detail__content__list {
            position: relative;
            width: 100%;
            padding: 32px 0;
            border-bottom: 1px solid #ddd; }
            .tsuki__item__detail__content__list__img {
              position: relative;
              width: 100%;
              margin-bottom: 24px; }
              .tsuki__item__detail__content__list__img h6 {
                position: absolute;
                color: #333;
                top: -20px;
                left: 6%;
                font-family: "EB Garamond", "Shippori Mincho B1", sans-serif;
                font-size: 4.0rem;
                font-weight: 500;
                letter-spacing: 0.075em;
                line-height: 1.0; }
            .tsuki__item__detail__content__list__desc {
              position: relative;
              width: 88%;
              margin: 0 auto; }
              .tsuki__item__detail__content__list__desc h3 {
                color: #333;
                font-family: "Shippori Mincho B1", serif;
                font-size: 1.8rem;
                line-height: 1.7;
                margin-bottom: 16px; }
              .tsuki__item__detail__content__list__desc p {
                text-align: justify;
                font-size: 1.4rem;
                line-height: 2.2;
                margin-top: 16px; }
              .tsuki__item__detail__content__list__desc dl {
                margin-top: 8px;
                display: flex;
                flex-wrap: wrap; }
                .tsuki__item__detail__content__list__desc dl dt {
                  position: relative;
                  width: 88px;
                  padding-left: 14px;
                  font-size: 1.2rem;
                  font-weight: 500;
                  line-height: 1.9; }
                .tsuki__item__detail__content__list__desc dl dt::after {
                  content: '';
                  position: absolute;
                  top: 11px;
                  left: 2px;
                  width: 6px;
                  height: 1px;
                  background-color: #333; }
                .tsuki__item__detail__content__list__desc dl dd {
                  flex: 1;
                  font-size: 1.3rem;
                  line-height: 1.7; }
              .tsuki__item__detail__content__list__desc__comment {
                width: 100%;
                background-color: #fff;
                padding: 8px 24px 24px;
                margin-top: 24px; }
          .tsuki__item__detail__content__list:first-of-type {
            border-top: 1px solid #ddd; }
    .tsuki__news {
      position: relative;
      width: 100%;
      background-color: #fff;
      padding: 80px 6%;
      margin-bottom: 120px; }
      .tsuki__news__list {
        position: relative;
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between; }
        .tsuki__news__list__sp {
          position: relative;
          width: 48%; }
          .tsuki__news__list__sp__img {
            position: relative;
            width: 100%;
            overflow: hidden; }
            .tsuki__news__list__sp__img img {
              width: 100%;
              object-fit: cover; }
            .tsuki__news__list__sp__img .caption {
              display: none; }
            .tsuki__news__list__sp__img .mask {
              display: none; }
          .tsuki__news__list__sp__desc {
            position: relative;
            width: 100%;
            padding-top: 12px; }
            .tsuki__news__list__sp__desc h3 {
              font-size: 1.5rem;
              line-height: 1.7;
              font-weight: 500;
              padding-right: 12px; }
          .tsuki__news__list__sp__option {
            position: relative;
            width: 100%;
            margin-top: auto;
            padding-top: 16px; }
            .tsuki__news__list__sp__option ul {
              position: relative;
              display: flex;
              flex-wrap: wrap;
              align-items: center; }
              .tsuki__news__list__sp__option ul li {
                position: relative;
                width: 50%;
                font-size: 1.2rem;
                font-weight: 500; }
                .tsuki__news__list__sp__option ul li a {
                  position: relative;
                  color: #333;
                  border-bottom: 1px solid #ddd; }
              .tsuki__news__list__sp__option ul li:nth-child(2) {
                text-align: right;
                font-family: "EB Garamond", "Shippori Mincho B1", sans-serif;
                font-size: 1rem;
                font-weight: 500;
                padding-right: 5px; }
        .tsuki__news__list__sp:nth-child(n + 3) {
          margin-top: 32px; }
        .tsuki__news__list__none {
          width: 100%;
          background-color: #f3f3f3;
          padding: 24px 8px; }
          .tsuki__news__list__none p {
            text-align: center;
            font-size: 1.4rem; }
      .tsuki__news h4.btn_style01 {
        width: 220px;
        margin: 40px auto 0; }
      .tsuki__news__instagram {
        position: relative;
        width: 100%;
        margin-top: 80px; }
        .tsuki__news__instagram__list {
          position: relative;
          width: 100%; }
          .tsuki__news__instagram__list ul {
            display: grid;
            grid-template-columns: repeat(3, 4fr);
            gap: 12px; }
            .tsuki__news__instagram__list ul li {
              position: relative;
              width: 100%;
              background-color: #fff; }
              .tsuki__news__instagram__list ul li img {
                position: absolute;
                width: 100%;
                height: 100%;
                top: 0;
                right: 0;
                bottom: 0;
                left: 0;
                margin: auto;
                object-fit: cover; }
            .tsuki__news__instagram__list ul li:before {
              content: "";
              display: block;
              padding-top: 100%; }
        .tsuki__news__instagram h4.insta_btn_style01 {
          position: relative;
          width: 100%;
          margin: 32px auto 0; }
    .tsuki__cases {
      position: relative;
      width: 100%;
      background-color: #fff;
      padding: 80px 6%;
      margin-bottom: 120px; }
      .tsuki__cases__list {
        position: relative;
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between; }
        .tsuki__cases__list__sp {
          position: relative;
          width: 48%; }
          .tsuki__cases__list__sp__img {
            position: relative;
            width: 100%;
            overflow: hidden; }
            .tsuki__cases__list__sp__img img {
              width: 100%;
              object-fit: cover; }
            .tsuki__cases__list__sp__img .caption {
              display: none; }
            .tsuki__cases__list__sp__img .mask {
              display: none; }
          .tsuki__cases__list__sp__desc {
            position: relative;
            width: 100%;
            padding-top: 12px; }
            .tsuki__cases__list__sp__desc h3 {
              font-size: 1.5rem;
              line-height: 1.7;
              font-weight: 500;
              padding-right: 12px; }
          .tsuki__cases__list__sp__option {
            position: relative;
            width: 100%;
            margin-top: auto;
            padding-top: 16px; }
            .tsuki__cases__list__sp__option ul {
              position: relative; }
              .tsuki__cases__list__sp__option ul li {
                position: relative;
                font-size: 1.2rem;
                font-weight: 500; }
                .tsuki__cases__list__sp__option ul li a {
                  position: relative;
                  color: #333;
                  border-bottom: 1px solid #ddd; }
        .tsuki__cases__list__sp:nth-child(n + 3) {
          margin-top: 32px; }
      .tsuki__cases h4.btn_style01 {
        width: 220px;
        margin: 40px auto 0; }
    .tsuki__brand {
      position: relative;
      width: 88%;
      margin: 0 auto; }
      .tsuki__brand__list {
        position: relative;
        width: 100%; }
        .tsuki__brand__list__sp {
          position: relative;
          width: 100%; }
          .tsuki__brand__list__sp p {
            width: 100%;
            margin-top: 24px; }
            .tsuki__brand__list__sp p img {
              width: 100%; } }

@media screen and (min-width: 1024px) {
  .about {
    position: relative;
    width: 100%;
    padding-top: 120px; }
    .about__desc {
      position: relative;
      width: 92%;
      max-width: 1600px;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      margin: 0 auto 160px; }
      .about__desc__img {
        position: relative;
        width: 50%; }
        .about__desc__img p {
          width: 100%; }
          .about__desc__img p img {
            width: 100%; }
      .about__desc__desc {
        position: relative;
        width: 50%;
        padding-left: 60px; }
        .about__desc__desc h3 {
          color: #333;
          font-family: "Shippori Mincho B1", serif;
          font-size: 3rem;
          line-height: 1.7; }
        .about__desc__desc p {
          font-size: 1.5rem;
          line-height: 2.2;
          margin-top: 28px; }
    .about__slide {
      position: relative;
      width: 100%;
      margin: 0 auto 160px; }
    .about__brand {
      position: relative;
      width: 100%;
      margin: 0 auto; }
      .about__brand__list {
        position: relative;
        width: 100%; }
        .about__brand__list__genbu {
          position: relative;
          width: 96%;
          display: flex;
          flex-wrap: wrap;
          align-items: center; }
          .about__brand__list__genbu__img {
            position: relative;
            flex: 1;
            padding-right: 60px; }
            .about__brand__list__genbu__img p {
              width: 100%; }
              .about__brand__list__genbu__img p img {
                width: 100%; }
          .about__brand__list__genbu__desc {
            position: relative;
            width: 420px; }
            .about__brand__list__genbu__desc h3 {
              color: #333;
              font-family: "EB Garamond", "Shippori Mincho B1", sans-serif;
              font-size: 3rem;
              letter-spacing: 0.075em; }
            .about__brand__list__genbu__desc p {
              font-size: 1.5rem;
              line-height: 2.2;
              margin-top: 28px; }
            .about__brand__list__genbu__desc h4 {
              width: 260px;
              margin-top: 32px; }
        .about__brand__list__tsuki {
          position: relative;
          width: 96%;
          display: flex;
          flex-wrap: wrap;
          align-items: center;
          flex-direction: row-reverse;
          margin: 40px 0 0 4%; }
          .about__brand__list__tsuki__img {
            position: relative;
            flex: 1;
            padding-left: 60px; }
            .about__brand__list__tsuki__img p {
              width: 100%; }
              .about__brand__list__tsuki__img p img {
                width: 100%; }
          .about__brand__list__tsuki__desc {
            position: relative;
            width: 420px; }
            .about__brand__list__tsuki__desc h3 {
              color: #333;
              font-family: "Shippori Mincho B1", serif;
              font-size: 3rem;
              letter-spacing: 0.075em; }
            .about__brand__list__tsuki__desc p {
              font-size: 1.5rem;
              line-height: 2.2;
              margin-top: 28px; }
            .about__brand__list__tsuki__desc h4 {
              width: 260px;
              margin-top: 32px; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .about {
    position: relative;
    width: 100%;
    padding-top: 100px; }
    .about__desc {
      position: relative;
      width: 96%;
      display: flex;
      flex-wrap: wrap;
      margin-bottom: 120px; }
      .about__desc__img {
        position: relative;
        width: 55%; }
        .about__desc__img p {
          width: 100%; }
          .about__desc__img p img {
            width: 100%; }
      .about__desc__desc {
        position: relative;
        width: 45%;
        padding-left: 48px; }
        .about__desc__desc h3 {
          font-family: "Shippori Mincho B1", serif;
          font-size: 2.2rem;
          line-height: 1.7; }
        .about__desc__desc p {
          font-size: 1.4rem;
          line-height: 2.2;
          margin-top: 24px; }
          .about__desc__desc p br {
            display: none; }
    .about__slide {
      position: relative;
      width: 100%;
      margin: 0 auto 120px; }
    .about__brand {
      position: relative;
      width: 92%;
      margin: 0 auto; }
      .about__brand__list {
        position: relative;
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between; }
        .about__brand__list__sp {
          position: relative;
          width: 48.5%; }
          .about__brand__list__sp p {
            width: 100%; }
            .about__brand__list__sp p img {
              width: 100%; } }
@media screen and (max-width: 767px) {
  .about {
    position: relative;
    width: 100%;
    padding-top: 80px; }
    .about__desc {
      position: relative;
      width: 100%;
      margin: 0 auto 100px; }
      .about__desc__img {
        position: relative;
        width: 92%;
        margin: 0 auto 32px; }
        .about__desc__img p {
          width: 100%; }
          .about__desc__img p img {
            width: 100%; }
      .about__desc__desc {
        position: relative;
        width: 82%;
        margin: 0 auto; }
        .about__desc__desc h3 {
          font-family: "Shippori Mincho B1", serif;
          font-size: 2rem;
          line-height: 1.8; }
        .about__desc__desc p {
          text-align: justify;
          font-size: 1.4rem;
          line-height: 2.2;
          margin-top: 24px; }
    .about__slide {
      position: relative;
      width: 100%;
      margin: 0 auto 100px; }
    .about__brand {
      position: relative;
      width: 100%;
      margin: 0 auto; }
      .about__brand__list {
        position: relative;
        width: 100%; }
        .about__brand__list__genbu {
          position: relative;
          width: 100%; }
          .about__brand__list__genbu__img {
            position: relative;
            width: 94%; }
            .about__brand__list__genbu__img p {
              width: 100%; }
              .about__brand__list__genbu__img p img {
                width: 100%; }
          .about__brand__list__genbu__desc {
            position: relative;
            width: 88%;
            margin: 32px auto 0; }
            .about__brand__list__genbu__desc h3 {
              color: #333;
              font-family: "EB Garamond", "Shippori Mincho B1", sans-serif;
              font-size: 2.4rem;
              letter-spacing: 0.075em; }
            .about__brand__list__genbu__desc p {
              text-align: justify;
              font-size: 1.4rem;
              line-height: 2.0;
              margin-top: 24px; }
            .about__brand__list__genbu__desc h4 {
              width: 220px;
              margin-top: 24px; }
        .about__brand__list__tsuki {
          position: relative;
          width: 100%;
          margin-top: 48px; }
          .about__brand__list__tsuki__img {
            position: relative;
            width: 94%;
            margin-left: 6%; }
            .about__brand__list__tsuki__img p {
              width: 100%; }
              .about__brand__list__tsuki__img p img {
                width: 100%; }
          .about__brand__list__tsuki__desc {
            position: relative;
            width: 88%;
            margin: 32px auto 0; }
            .about__brand__list__tsuki__desc h3 {
              color: #333;
              font-family: "Shippori Mincho B1", serif;
              font-size: 2.4rem;
              letter-spacing: 0.075em; }
            .about__brand__list__tsuki__desc p {
              text-align: justify;
              font-size: 1.4rem;
              line-height: 2.0;
              margin-top: 24px; }
            .about__brand__list__tsuki__desc h4 {
              width: 220px;
              margin-top: 24px; } }

@media screen and (min-width: 1024px) {
  .brand {
    position: relative;
    width: 100%;
    padding-top: 120px; }
    .brand__list {
      position: relative;
      width: 100%;
      margin: 0 auto; }
      .brand__list__sp {
        position: relative;
        width: 100%; }
        .brand__list__sp__genbu {
          position: relative;
          width: 96%;
          display: flex;
          flex-wrap: wrap;
          align-items: center; }
          .brand__list__sp__genbu__img {
            position: relative;
            flex: 1;
            padding-right: 60px; }
            .brand__list__sp__genbu__img p {
              width: 100%; }
              .brand__list__sp__genbu__img p img {
                width: 100%; }
          .brand__list__sp__genbu__desc {
            position: relative;
            width: 420px; }
            .brand__list__sp__genbu__desc h3 {
              color: #333;
              font-family: "EB Garamond", "Shippori Mincho B1", sans-serif;
              font-size: 3rem;
              letter-spacing: 0.075em; }
            .brand__list__sp__genbu__desc p {
              font-size: 1.5rem;
              line-height: 2.2;
              margin-top: 28px; }
            .brand__list__sp__genbu__desc h4 {
              width: 260px;
              margin-top: 32px; }
        .brand__list__sp__tsuki {
          position: relative;
          width: 96%;
          display: flex;
          flex-wrap: wrap;
          align-items: center;
          flex-direction: row-reverse;
          margin: 40px 0 0 4%; }
          .brand__list__sp__tsuki__img {
            position: relative;
            flex: 1;
            padding-left: 60px; }
            .brand__list__sp__tsuki__img p {
              width: 100%; }
              .brand__list__sp__tsuki__img p img {
                width: 100%; }
          .brand__list__sp__tsuki__desc {
            position: relative;
            width: 420px; }
            .brand__list__sp__tsuki__desc h3 {
              color: #333;
              font-family: "Shippori Mincho B1", serif;
              font-size: 3rem;
              letter-spacing: 0.075em; }
            .brand__list__sp__tsuki__desc p {
              font-size: 1.5rem;
              line-height: 2.2;
              margin-top: 28px; }
            .brand__list__sp__tsuki__desc h4 {
              width: 260px;
              margin-top: 32px; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .brand {
    position: relative;
    width: 100%;
    padding-top: 100px; }
    .brand__list {
      position: relative;
      width: 92%;
      margin: 0 auto; }
      .brand__list__sp {
        position: relative;
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between; }
        .brand__list__sp__sp {
          position: relative;
          width: 48.5%; }
          .brand__list__sp__sp p {
            width: 100%; }
            .brand__list__sp__sp p img {
              width: 100%; } }
@media screen and (max-width: 767px) {
  .brand {
    position: relative;
    width: 100%;
    padding-top: 80px; }
    .brand__list {
      position: relative;
      width: 100%;
      margin: 0 auto; }
      .brand__list__sp {
        position: relative;
        width: 100%; }
        .brand__list__sp__genbu {
          position: relative;
          width: 100%; }
          .brand__list__sp__genbu__img {
            position: relative;
            width: 94%; }
            .brand__list__sp__genbu__img p {
              width: 100%; }
              .brand__list__sp__genbu__img p img {
                width: 100%; }
          .brand__list__sp__genbu__desc {
            position: relative;
            width: 88%;
            margin: 32px auto 0; }
            .brand__list__sp__genbu__desc h3 {
              color: #333;
              font-family: "EB Garamond", "Shippori Mincho B1", sans-serif;
              font-size: 2.4rem;
              letter-spacing: 0.075em; }
            .brand__list__sp__genbu__desc p {
              text-align: justify;
              font-size: 1.4rem;
              line-height: 2.0;
              margin-top: 24px; }
            .brand__list__sp__genbu__desc h4 {
              width: 220px;
              margin-top: 24px; }
        .brand__list__sp__tsuki {
          position: relative;
          width: 100%;
          margin-top: 48px; }
          .brand__list__sp__tsuki__img {
            position: relative;
            width: 94%;
            margin-left: 6%; }
            .brand__list__sp__tsuki__img p {
              width: 100%; }
              .brand__list__sp__tsuki__img p img {
                width: 100%; }
          .brand__list__sp__tsuki__desc {
            position: relative;
            width: 88%;
            margin: 32px auto 0; }
            .brand__list__sp__tsuki__desc h3 {
              color: #333;
              font-family: "Shippori Mincho B1", serif;
              font-size: 2.4rem;
              letter-spacing: 0.075em; }
            .brand__list__sp__tsuki__desc p {
              text-align: justify;
              font-size: 1.4rem;
              line-height: 2.0;
              margin-top: 24px; }
            .brand__list__sp__tsuki__desc h4 {
              width: 220px;
              margin-top: 24px; } }

@media screen and (min-width: 1024px) {
  .news {
    position: relative;
    width: 100%; }
    .news__archive {
      position: relative;
      width: 92%;
      margin: 0 auto;
      padding-top: 120px; }
      .news__archive__nav {
        position: relative;
        width: 100%;
        margin-bottom: 80px; }
        .news__archive__nav ul {
          display: flex;
          justify-content: center; }
          .news__archive__nav ul li {
            position: relative;
            width: 220px;
            font-size: 1.4rem;
            margin: 0 12px; }
            .news__archive__nav ul li a, .news__archive__nav ul li a:link, .news__archive__nav ul li a:visited {
              width: 100%;
              display: flex;
              flex-wrap: wrap;
              color: #333;
              font-weight: 500;
              letter-spacing: 0.05em;
              line-height: 1.0;
              background: url(../img/arrow_bk01.svg) no-repeat right 10px top 13px;
              background-size: 10px;
              border-bottom: 1px solid #ddd;
              padding: 8px 0 16px 3px; }
            .news__archive__nav ul li a::after {
              position: absolute;
              bottom: 0px;
              left: 0;
              content: '';
              width: 100%;
              height: 1px;
              background: #333;
              transform: scale(0, 1);
              transform-origin: right top;
              transition: transform .3s; }
            .news__archive__nav ul li a:hover {
              color: #333;
              background: url(../img/arrow_bk01.svg) no-repeat right 7px top 13px;
              background-size: 10px; }
            .news__archive__nav ul li a:hover::after {
              transform-origin: left top;
              transform: scale(1, 1); }
      .news__archive__list {
        position: relative;
        width: 100%;
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 48px 16px; }
        .news__archive__list__sp {
          position: relative;
          width: 100%;
          display: flex;
          flex-direction: column; }
          .news__archive__list__sp__img {
            position: relative;
            width: 100%;
            overflow: hidden; }
            .news__archive__list__sp__img img {
              width: 100%;
              object-fit: cover;
              -webkit-transition: .3s ease-in-out;
              transition: .3s ease-in-out; }
            .news__archive__list__sp__img .caption {
              text-align: center;
              position: absolute;
              width: 100%;
              top: 50%;
              left: 50%;
              transform: translateY(-50%) translateX(-50%);
              -webkit-transform: translateY(-50%) translateX(-50%);
              font-family: "EB Garamond", "Shippori Mincho B1", sans-serif;
              font-size: 1.1rem;
              font-weight: 400;
              color: #fff;
              letter-spacing: 0.075em; }
            .news__archive__list__sp__img .mask {
              width: 100%;
              height: 100%;
              position: absolute;
              top: 0;
              left: 0;
              opacity: 0;
              background-color: rgba(0, 0, 0, 0.2);
              -webkit-transition: all 0.6s ease;
              -moz-transition: all 0.6s ease;
              -o-transition: all 0.6s ease;
              transition: all 0.6s ease; }
          .news__archive__list__sp__img:hover img {
            transform: scale(1.1); }
          .news__archive__list__sp__img:hover .mask {
            opacity: 1;
            /* マスクを表示する */ }
          .news__archive__list__sp__desc {
            position: relative;
            width: 100%;
            padding-top: 16px; }
            .news__archive__list__sp__desc h3 {
              font-size: 1.8rem;
              line-height: 1.7;
              font-weight: 600;
              padding-right: 24px; }
          .news__archive__list__sp__option {
            position: relative;
            width: 100%;
            margin-top: auto;
            padding-top: 24px; }
            .news__archive__list__sp__option ul {
              position: relative;
              display: flex;
              flex-wrap: wrap;
              align-items: center; }
              .news__archive__list__sp__option ul li {
                position: relative;
                width: 50%;
                font-size: 1.3rem;
                font-weight: 500; }
                .news__archive__list__sp__option ul li a, .news__archive__list__sp__option ul li a:link, .news__archive__list__sp__option ul li a:visited {
                  position: relative;
                  color: #333;
                  border-bottom: 1px solid #ddd; }
                .news__archive__list__sp__option ul li a::after {
                  position: absolute;
                  bottom: -1px;
                  left: 0;
                  content: '';
                  width: 100%;
                  height: 1px;
                  background: #333;
                  transform: scale(0, 1);
                  transform-origin: right top;
                  transition: transform .3s; }
                .news__archive__list__sp__option ul li a:hover {
                  color: #333; }
                .news__archive__list__sp__option ul li a:hover::after {
                  transform-origin: left top;
                  transform: scale(1, 1); }
              .news__archive__list__sp__option ul li:nth-child(2) {
                text-align: right;
                font-family: "EB Garamond", "Shippori Mincho B1", sans-serif;
                font-size: 1.2rem;
                font-weight: 500;
                padding-right: 5px; }
        .news__archive__list__none {
          grid-column: 1 / -1;
          width: 100%;
          background-color: #f3f3f3;
          padding: 40px 16px; }
          .news__archive__list__none p {
            text-align: center;
            font-size: 1.5rem; }
    .news__detail {
      position: relative;
      width: 860px;
      margin: 0 auto;
      padding-top: 120px; }
      .news__detail__title {
        position: relative;
        width: 100%;
        margin-bottom: 48px; }
        .news__detail__title__option {
          position: relative;
          width: 100%;
          padding-bottom: 16px; }
          .news__detail__title__option ul {
            position: relative;
            display: flex;
            flex-wrap: wrap;
            align-items: center; }
            .news__detail__title__option ul li {
              position: relative;
              width: 50%;
              font-size: 1.3rem;
              font-weight: 500; }
              .news__detail__title__option ul li a, .news__detail__title__option ul li a:link, .news__detail__title__option ul li a:visited {
                position: relative;
                color: #333;
                border-bottom: 1px solid #ddd; }
              .news__detail__title__option ul li a::after {
                position: absolute;
                bottom: -1px;
                left: 0;
                content: '';
                width: 100%;
                height: 1px;
                background: #333;
                transform: scale(0, 1);
                transform-origin: right top;
                transition: transform .3s; }
              .news__detail__title__option ul li a:hover {
                color: #333; }
              .news__detail__title__option ul li a:hover::after {
                transform-origin: left top;
                transform: scale(1, 1); }
            .news__detail__title__option ul li:nth-child(2) {
              text-align: right;
              font-family: "EB Garamond", "Shippori Mincho B1", sans-serif;
              font-size: 1.2rem;
              font-weight: 500; }
        .news__detail__title h1 {
          color: #333;
          font-family: "Shippori Mincho B1", serif;
          font-size: 3rem;
          line-height: 1.6; }
      .news__detail__eyecatch {
        position: relative;
        width: 80%;
        margin: 0 auto; }
        .news__detail__eyecatch p {
          width: 100%; }
          .news__detail__eyecatch p img {
            width: 100%;
            border: 1px solid #ddd; }
      .news__detail__content {
        position: relative;
        width: 100%;
        margin-top: 80px; }
        .news__detail__content h2 {
          color: #333;
          font-family: "Shippori Mincho B1", serif;
          font-size: 3rem;
          line-height: 1.7;
          margin-top: 80px; }
        .news__detail__content h3 {
          font-size: 2.4rem;
          line-height: 1.7;
          font-weight: 600;
          margin-top: 48px; }
        .news__detail__content p {
          font-size: 1.5rem;
          line-height: 2.0;
          margin-top: 32px; }
          .news__detail__content p a {
            color: #333;
            font-weight: 500; }
        .news__detail__content ul.list_style01 {
          font-size: 1.5rem;
          margin-top: 40px; }
          .news__detail__content ul.list_style01 li {
            position: relative;
            line-height: 2.0;
            margin-top: 16px;
            padding-left: 14px; }
          .news__detail__content ul.list_style01 li::after {
            content: '';
            position: absolute;
            top: 14px;
            left: 2px;
            width: 6px;
            height: 1px;
            background-color: #333;
            transform: translateY(-50%);
            -webkit-transform: translateY(-50%); }
        .news__detail__content ul.list_style02 {
          font-size: 1.5rem;
          margin-top: 40px;
          background-color: #f3f3f3;
          padding: 24px 40px 40px; }
          .news__detail__content ul.list_style02 li {
            position: relative;
            line-height: 2.0;
            margin-top: 16px;
            padding-left: 14px; }
            .news__detail__content ul.list_style02 li a, .news__detail__content ul.list_style02 li a:link a:visited {
              position: relative;
              color: #333;
              font-weight: 500; }
            .news__detail__content ul.list_style02 li a::after {
              position: absolute;
              bottom: -2px;
              left: 0;
              content: '';
              width: 100%;
              height: 1px;
              background: #333;
              transform: scale(0, 1);
              transform-origin: right top;
              transition: transform .3s; }
            .news__detail__content ul.list_style02 li a:hover {
              color: #333; }
            .news__detail__content ul.list_style02 li a:hover::after {
              transform-origin: left top;
              transform: scale(1, 1); }
          .news__detail__content ul.list_style02 li::after {
            content: '';
            position: absolute;
            top: 14px;
            left: 2px;
            width: 6px;
            height: 1px;
            background-color: #333;
            transform: translateY(-50%);
            -webkit-transform: translateY(-50%); }
        .news__detail__content figure {
          width: 100%;
          margin: 40px 0; }
          .news__detail__content figure img {
            width: 100%; }
          .news__detail__content figure figcaption {
            color: #999;
            text-align: center;
            font-size: 1.1rem;
            padding-top: 12px; }
    .news__bottom_archive {
      position: relative;
      width: 100%;
      margin: 160px auto 0;
      padding: 120px 4% 0;
      border-top: 1px solid #ddd; }
      .news__bottom_archive__list {
        position: relative;
        width: 100%;
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 16px; }
        .news__bottom_archive__list__sp {
          position: relative;
          width: 100%;
          display: flex;
          flex-direction: column; }
          .news__bottom_archive__list__sp__img {
            position: relative;
            width: 100%;
            overflow: hidden; }
            .news__bottom_archive__list__sp__img img {
              width: 100%;
              object-fit: cover;
              -webkit-transition: .3s ease-in-out;
              transition: .3s ease-in-out; }
            .news__bottom_archive__list__sp__img .caption {
              text-align: center;
              position: absolute;
              width: 100%;
              top: 50%;
              left: 50%;
              transform: translateY(-50%) translateX(-50%);
              -webkit-transform: translateY(-50%) translateX(-50%);
              font-family: "EB Garamond", "Shippori Mincho B1", sans-serif;
              font-size: 1.1rem;
              font-weight: 400;
              color: #fff;
              letter-spacing: 0.075em; }
            .news__bottom_archive__list__sp__img .mask {
              width: 100%;
              height: 100%;
              position: absolute;
              top: 0;
              left: 0;
              opacity: 0;
              background-color: rgba(0, 0, 0, 0.2);
              -webkit-transition: all 0.6s ease;
              -moz-transition: all 0.6s ease;
              -o-transition: all 0.6s ease;
              transition: all 0.6s ease; }
          .news__bottom_archive__list__sp__img:hover img {
            transform: scale(1.1); }
          .news__bottom_archive__list__sp__img:hover .mask {
            opacity: 1;
            /* マスクを表示する */ }
          .news__bottom_archive__list__sp__desc {
            position: relative;
            width: 100%;
            padding-top: 16px; }
            .news__bottom_archive__list__sp__desc h3 {
              font-size: 1.8rem;
              line-height: 1.7;
              font-weight: 600;
              padding-right: 24px; }
          .news__bottom_archive__list__sp__option {
            position: relative;
            width: 100%;
            margin-top: auto;
            padding-top: 24px; }
            .news__bottom_archive__list__sp__option ul {
              position: relative;
              display: flex;
              flex-wrap: wrap;
              align-items: center; }
              .news__bottom_archive__list__sp__option ul li {
                position: relative;
                width: 50%;
                font-size: 1.3rem;
                font-weight: 500; }
                .news__bottom_archive__list__sp__option ul li a, .news__bottom_archive__list__sp__option ul li a:link, .news__bottom_archive__list__sp__option ul li a:visited {
                  position: relative;
                  color: #333;
                  border-bottom: 1px solid #ddd; }
                .news__bottom_archive__list__sp__option ul li a::after {
                  position: absolute;
                  bottom: -1px;
                  left: 0;
                  content: '';
                  width: 100%;
                  height: 1px;
                  background: #333;
                  transform: scale(0, 1);
                  transform-origin: right top;
                  transition: transform .3s; }
                .news__bottom_archive__list__sp__option ul li a:hover {
                  color: #333; }
                .news__bottom_archive__list__sp__option ul li a:hover::after {
                  transform-origin: left top;
                  transform: scale(1, 1); }
              .news__bottom_archive__list__sp__option ul li:nth-child(2) {
                text-align: right;
                font-family: "EB Garamond", "Shippori Mincho B1", sans-serif;
                font-size: 1.2rem;
                font-weight: 500;
                padding-right: 5px; }
        .news__bottom_archive__list__none {
          grid-column: 1 / -1;
          width: 100%;
          background-color: #f3f3f3;
          padding: 40px 16px; }
          .news__bottom_archive__list__none p {
            text-align: center;
            font-size: 1.5rem; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .news {
    position: relative;
    width: 100%; }
    .news__archive {
      position: relative;
      width: 92%;
      margin: 0 auto;
      padding-top: 100px; }
      .news__archive__nav {
        position: relative;
        width: 100%;
        margin-bottom: 64px; }
        .news__archive__nav ul {
          display: flex;
          justify-content: center; }
          .news__archive__nav ul li {
            position: relative;
            width: 220px;
            font-size: 1.3rem;
            margin: 0 8px; }
            .news__archive__nav ul li a, .news__archive__nav ul li a:link, .news__archive__nav ul li a:visited {
              width: 100%;
              display: flex;
              flex-wrap: wrap;
              color: #333;
              font-weight: 500;
              letter-spacing: 0.05em;
              line-height: 1.0;
              background: url(../img/arrow_bk01.svg) no-repeat right 10px top 13px;
              background-size: 10px;
              border-bottom: 1px solid #ddd;
              padding: 8px 0 16px 3px; }
            .news__archive__nav ul li a::after {
              position: absolute;
              bottom: 0px;
              left: 0;
              content: '';
              width: 100%;
              height: 1px;
              background: #333;
              transform: scale(0, 1);
              transform-origin: right top;
              transition: transform .3s; }
            .news__archive__nav ul li a:hover {
              color: #333;
              background: url(../img/arrow_bk01.svg) no-repeat right 7px top 13px;
              background-size: 10px; }
            .news__archive__nav ul li a:hover::after {
              transform-origin: left top;
              transform: scale(1, 1); }
      .news__archive__list {
        position: relative;
        width: 100%;
        display: grid;
        grid-template-columns: repeat(2, 2fr);
        gap: 32px 24px; }
        .news__archive__list__sp {
          position: relative;
          width: 100%;
          display: flex;
          flex-direction: column; }
          .news__archive__list__sp__img {
            position: relative;
            width: 100%;
            overflow: hidden; }
            .news__archive__list__sp__img img {
              width: 100%;
              object-fit: cover;
              -webkit-transition: .3s ease-in-out;
              transition: .3s ease-in-out; }
            .news__archive__list__sp__img .caption {
              text-align: center;
              position: absolute;
              width: 100%;
              top: 50%;
              left: 50%;
              transform: translateY(-50%) translateX(-50%);
              -webkit-transform: translateY(-50%) translateX(-50%);
              font-family: "EB Garamond", "Shippori Mincho B1", sans-serif;
              font-size: 1.1rem;
              font-weight: 400;
              color: #fff;
              letter-spacing: 0.075em; }
            .news__archive__list__sp__img .mask {
              width: 100%;
              height: 100%;
              position: absolute;
              top: 0;
              left: 0;
              opacity: 0;
              background-color: rgba(0, 0, 0, 0.2);
              -webkit-transition: all 0.6s ease;
              -moz-transition: all 0.6s ease;
              -o-transition: all 0.6s ease;
              transition: all 0.6s ease; }
          .news__archive__list__sp__img:hover img {
            transform: scale(1.1); }
          .news__archive__list__sp__img:hover .mask {
            opacity: 1;
            /* マスクを表示する */ }
          .news__archive__list__sp__desc {
            position: relative;
            width: 100%;
            padding-top: 16px; }
            .news__archive__list__sp__desc h3 {
              font-size: 1.5rem;
              line-height: 1.7;
              font-weight: 600;
              padding-right: 24px; }
          .news__archive__list__sp__option {
            position: relative;
            width: 100%;
            margin-top: auto;
            padding-top: 24px; }
            .news__archive__list__sp__option ul {
              position: relative;
              display: flex;
              flex-wrap: wrap;
              align-items: center; }
              .news__archive__list__sp__option ul li {
                position: relative;
                width: 50%;
                font-size: 1.2rem;
                font-weight: 500; }
                .news__archive__list__sp__option ul li a, .news__archive__list__sp__option ul li a:link, .news__archive__list__sp__option ul li a:visited {
                  position: relative;
                  color: #333;
                  border-bottom: 1px solid #ddd; }
                .news__archive__list__sp__option ul li a::after {
                  position: absolute;
                  bottom: -1px;
                  left: 0;
                  content: '';
                  width: 100%;
                  height: 1px;
                  background: #333;
                  transform: scale(0, 1);
                  transform-origin: right top;
                  transition: transform .3s; }
                .news__archive__list__sp__option ul li a:hover {
                  color: #333; }
                .news__archive__list__sp__option ul li a:hover::after {
                  transform-origin: left top;
                  transform: scale(1, 1); }
              .news__archive__list__sp__option ul li:nth-child(2) {
                text-align: right;
                font-family: "EB Garamond", "Shippori Mincho B1", sans-serif;
                font-size: 1.1rem;
                font-weight: 500;
                padding-right: 5px; }
        .news__archive__list__none {
          grid-column: 1 / -1;
          width: 100%;
          background-color: #f3f3f3;
          padding: 32px 8px; }
          .news__archive__list__none p {
            text-align: center;
            font-size: 1.4rem; }
    .news__detail {
      position: relative;
      width: 92%;
      margin: 0 auto;
      padding-top: 100px; }
      .news__detail__title {
        position: relative;
        width: 100%;
        margin-bottom: 40px; }
        .news__detail__title__option {
          position: relative;
          width: 100%;
          padding-bottom: 16px; }
          .news__detail__title__option ul {
            position: relative;
            display: flex;
            flex-wrap: wrap;
            align-items: center; }
            .news__detail__title__option ul li {
              position: relative;
              width: 50%;
              font-size: 1.2rem;
              font-weight: 500; }
              .news__detail__title__option ul li a, .news__detail__title__option ul li a:link, .news__detail__title__option ul li a:visited {
                position: relative;
                color: #333;
                border-bottom: 1px solid #ddd; }
              .news__detail__title__option ul li a::after {
                position: absolute;
                bottom: -1px;
                left: 0;
                content: '';
                width: 100%;
                height: 1px;
                background: #333;
                transform: scale(0, 1);
                transform-origin: right top;
                transition: transform .3s; }
              .news__detail__title__option ul li a:hover {
                color: #333; }
              .news__detail__title__option ul li a:hover::after {
                transform-origin: left top;
                transform: scale(1, 1); }
            .news__detail__title__option ul li:nth-child(2) {
              text-align: right;
              font-family: "EB Garamond", "Shippori Mincho B1", sans-serif;
              font-size: 1.1rem;
              font-weight: 500; }
        .news__detail__title h1 {
          color: #333;
          font-family: "Shippori Mincho B1", serif;
          font-size: 2.2rem;
          line-height: 1.6; }
      .news__detail__eyecatch {
        position: relative;
        width: 80%;
        margin: 0 auto; }
        .news__detail__eyecatch p {
          width: 100%; }
          .news__detail__eyecatch p img {
            width: 100%;
            border: 1px solid #ddd; }
      .news__detail__content {
        position: relative;
        width: 100%;
        margin-top: 80px; }
        .news__detail__content h2 {
          color: #333;
          font-family: "Shippori Mincho B1", serif;
          font-size: 2.2rem;
          line-height: 1.6;
          margin-top: 80px; }
        .news__detail__content h3 {
          font-size: 2.2rem;
          line-height: 1.7;
          font-weight: 600;
          margin-top: 40px; }
        .news__detail__content p {
          font-size: 1.4rem;
          line-height: 2.0;
          margin-top: 28px; }
          .news__detail__content p a {
            color: #333;
            font-weight: 500; }
        .news__detail__content ul.list_style01 {
          font-size: 1.4rem;
          margin-top: 32px; }
          .news__detail__content ul.list_style01 li {
            position: relative;
            line-height: 2.0;
            margin-top: 16px;
            padding-left: 14px; }
          .news__detail__content ul.list_style01 li::after {
            content: '';
            position: absolute;
            top: 14px;
            left: 2px;
            width: 6px;
            height: 1px;
            background-color: #333;
            transform: translateY(-50%);
            -webkit-transform: translateY(-50%); }
        .news__detail__content ul.list_style02 {
          font-size: 1.4rem;
          margin-top: 32px;
          background-color: #f3f3f3;
          padding: 16px 32px 32px; }
          .news__detail__content ul.list_style02 li {
            position: relative;
            line-height: 2.0;
            margin-top: 16px;
            padding-left: 14px; }
            .news__detail__content ul.list_style02 li a, .news__detail__content ul.list_style02 li a:link a:visited {
              position: relative;
              color: #333;
              font-weight: 500; }
            .news__detail__content ul.list_style02 li a::after {
              position: absolute;
              bottom: -2px;
              left: 0;
              content: '';
              width: 100%;
              height: 1px;
              background: #333;
              transform: scale(0, 1);
              transform-origin: right top;
              transition: transform .3s; }
            .news__detail__content ul.list_style02 li a:hover {
              color: #333; }
            .news__detail__content ul.list_style02 li a:hover::after {
              transform-origin: left top;
              transform: scale(1, 1); }
          .news__detail__content ul.list_style02 li::after {
            content: '';
            position: absolute;
            top: 14px;
            left: 2px;
            width: 6px;
            height: 1px;
            background-color: #333;
            transform: translateY(-50%);
            -webkit-transform: translateY(-50%); }
        .news__detail__content figure {
          width: 100%;
          margin: 32px 0; }
          .news__detail__content figure img {
            width: 100%; }
          .news__detail__content figure figcaption {
            color: #999;
            text-align: center;
            font-size: 1.1rem;
            padding-top: 12px; }
    .news__bottom_archive {
      position: relative;
      width: 100%;
      margin: 120px auto 0;
      padding: 100px 4% 0;
      border-top: 1px solid #ddd; }
      .news__bottom_archive__list {
        position: relative;
        width: 100%;
        display: grid;
        grid-template-columns: repeat(2, 2fr);
        gap: 32px 24px; }
        .news__bottom_archive__list__sp {
          position: relative;
          width: 100%;
          display: flex;
          flex-direction: column; }
          .news__bottom_archive__list__sp__img {
            position: relative;
            width: 100%;
            overflow: hidden; }
            .news__bottom_archive__list__sp__img img {
              width: 100%;
              object-fit: cover;
              -webkit-transition: .3s ease-in-out;
              transition: .3s ease-in-out; }
            .news__bottom_archive__list__sp__img .caption {
              text-align: center;
              position: absolute;
              width: 100%;
              top: 50%;
              left: 50%;
              transform: translateY(-50%) translateX(-50%);
              -webkit-transform: translateY(-50%) translateX(-50%);
              font-family: "EB Garamond", "Shippori Mincho B1", sans-serif;
              font-size: 1.1rem;
              font-weight: 400;
              color: #fff;
              letter-spacing: 0.075em; }
            .news__bottom_archive__list__sp__img .mask {
              width: 100%;
              height: 100%;
              position: absolute;
              top: 0;
              left: 0;
              opacity: 0;
              background-color: rgba(0, 0, 0, 0.2);
              -webkit-transition: all 0.6s ease;
              -moz-transition: all 0.6s ease;
              -o-transition: all 0.6s ease;
              transition: all 0.6s ease; }
          .news__bottom_archive__list__sp__img:hover img {
            transform: scale(1.1); }
          .news__bottom_archive__list__sp__img:hover .mask {
            opacity: 1;
            /* マスクを表示する */ }
          .news__bottom_archive__list__sp__desc {
            position: relative;
            width: 100%;
            padding-top: 16px; }
            .news__bottom_archive__list__sp__desc h3 {
              font-size: 1.5rem;
              line-height: 1.7;
              font-weight: 600;
              padding-right: 24px; }
          .news__bottom_archive__list__sp__option {
            position: relative;
            width: 100%;
            margin-top: auto;
            padding-top: 24px; }
            .news__bottom_archive__list__sp__option ul {
              position: relative;
              display: flex;
              flex-wrap: wrap;
              align-items: center; }
              .news__bottom_archive__list__sp__option ul li {
                position: relative;
                width: 50%;
                font-size: 1.2rem;
                font-weight: 500; }
                .news__bottom_archive__list__sp__option ul li a, .news__bottom_archive__list__sp__option ul li a:link, .news__bottom_archive__list__sp__option ul li a:visited {
                  position: relative;
                  color: #333;
                  border-bottom: 1px solid #ddd; }
                .news__bottom_archive__list__sp__option ul li a::after {
                  position: absolute;
                  bottom: -1px;
                  left: 0;
                  content: '';
                  width: 100%;
                  height: 1px;
                  background: #333;
                  transform: scale(0, 1);
                  transform-origin: right top;
                  transition: transform .3s; }
                .news__bottom_archive__list__sp__option ul li a:hover {
                  color: #333; }
                .news__bottom_archive__list__sp__option ul li a:hover::after {
                  transform-origin: left top;
                  transform: scale(1, 1); }
              .news__bottom_archive__list__sp__option ul li:nth-child(2) {
                text-align: right;
                font-family: "EB Garamond", "Shippori Mincho B1", sans-serif;
                font-size: 1.1rem;
                font-weight: 500;
                padding-right: 5px; }
        .news__bottom_archive__list__none {
          grid-column: 1 / -1;
          width: 100%;
          background-color: #f3f3f3;
          padding: 32px 8px; }
          .news__bottom_archive__list__none p {
            text-align: center;
            font-size: 1.4rem; } }
@media screen and (max-width: 767px) {
  .news {
    position: relative;
    width: 100%; }
    .news__archive {
      position: relative;
      width: 88%;
      margin: 0 auto;
      padding-top: 80px; }
      .news__archive__nav {
        position: relative;
        width: 100%;
        margin-bottom: 40px; }
        .news__archive__nav ul {
          display: flex;
          justify-content: space-between; }
          .news__archive__nav ul li {
            position: relative;
            width: 48%;
            font-size: 1.2rem; }
            .news__archive__nav ul li a {
              width: 100%;
              display: flex;
              flex-wrap: wrap;
              color: #333;
              font-weight: 500;
              letter-spacing: 0.05em;
              line-height: 1.0;
              background: url(../img/arrow_bk01.svg) no-repeat right 5px top 13px;
              background-size: 10px;
              border-bottom: 1px solid #ddd;
              padding: 8px 0 14px 3px; }
      .news__archive__list {
        position: relative;
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between; }
        .news__archive__list__sp {
          position: relative;
          width: 48%; }
          .news__archive__list__sp__img {
            position: relative;
            width: 100%;
            overflow: hidden; }
            .news__archive__list__sp__img img {
              width: 100%;
              object-fit: cover; }
            .news__archive__list__sp__img .caption {
              display: none; }
            .news__archive__list__sp__img .mask {
              display: none; }
          .news__archive__list__sp__desc {
            position: relative;
            width: 100%;
            padding-top: 10px; }
            .news__archive__list__sp__desc h3 {
              font-size: 1.5rem;
              line-height: 1.7;
              font-weight: 500;
              padding-right: 12px; }
          .news__archive__list__sp__option {
            position: relative;
            width: 100%;
            margin-top: auto;
            padding-top: 16px; }
            .news__archive__list__sp__option ul {
              position: relative;
              display: flex;
              flex-wrap: wrap;
              align-items: center; }
              .news__archive__list__sp__option ul li {
                position: relative;
                width: 50%;
                font-size: 1.2rem;
                font-weight: 500; }
                .news__archive__list__sp__option ul li a {
                  position: relative;
                  color: #333;
                  border-bottom: 1px solid #ddd; }
              .news__archive__list__sp__option ul li:nth-child(2) {
                text-align: right;
                font-family: "EB Garamond", "Shippori Mincho B1", sans-serif;
                font-size: 1rem;
                font-weight: 500;
                padding-right: 5px; }
        .news__archive__list__sp:nth-child(n + 3) {
          margin-top: 32px; }
        .news__archive__list__none {
          width: 100%;
          background-color: #f3f3f3;
          padding: 24px 8px; }
          .news__archive__list__none p {
            text-align: center;
            font-size: 1.4rem; }
    .news__detail {
      position: relative;
      width: 100%;
      margin: 0 auto;
      padding-top: 64px; }
      .news__detail__title {
        position: relative;
        width: 88%;
        margin: 0 auto 24px; }
        .news__detail__title__option {
          position: relative;
          width: 100%;
          padding-bottom: 12px; }
          .news__detail__title__option ul {
            position: relative;
            display: flex;
            flex-wrap: wrap;
            align-items: center; }
            .news__detail__title__option ul li {
              position: relative;
              width: 50%;
              font-size: 1.2rem;
              font-weight: 500; }
              .news__detail__title__option ul li a {
                position: relative;
                color: #333;
                border-bottom: 1px solid #ddd; }
            .news__detail__title__option ul li:nth-child(2) {
              text-align: right;
              font-family: "EB Garamond", "Shippori Mincho B1", sans-serif;
              font-size: 1rem;
              font-weight: 500; }
        .news__detail__title h1 {
          color: #333;
          font-family: "Shippori Mincho B1", serif;
          font-size: 2rem;
          line-height: 1.6; }
      .news__detail__eyecatch {
        position: relative;
        width: 100%;
        margin: 0 auto; }
        .news__detail__eyecatch p {
          width: 100%; }
          .news__detail__eyecatch p img {
            width: 100%;
            border-top: 1px solid #ddd;
            border-bottom: 1px solid #ddd; }
      .news__detail__content {
        position: relative;
        width: 88%;
        margin: 56px auto 0; }
        .news__detail__content h2 {
          color: #333;
          font-family: "Shippori Mincho B1", serif;
          font-size: 2rem;
          line-height: 1.6;
          margin-top: 64px; }
        .news__detail__content h3 {
          font-size: 1.8rem;
          line-height: 1.7;
          font-weight: 600;
          margin-top: 40px; }
        .news__detail__content p {
          text-align: justify;
          font-size: 1.4rem;
          line-height: 2.0;
          margin-top: 24px; }
          .news__detail__content p a {
            color: #333;
            font-weight: 500; }
        .news__detail__content ul.list_style01 {
          font-size: 1.4rem;
          margin-top: 28px; }
          .news__detail__content ul.list_style01 li {
            position: relative;
            line-height: 2.0;
            margin-top: 10px;
            padding-left: 14px; }
          .news__detail__content ul.list_style01 li::after {
            content: '';
            position: absolute;
            top: 14px;
            left: 2px;
            width: 6px;
            height: 1px;
            background-color: #333;
            transform: translateY(-50%);
            -webkit-transform: translateY(-50%); }
        .news__detail__content ul.list_style02 {
          font-size: 1.4rem;
          margin-top: 28px;
          background-color: #f3f3f3;
          padding: 14px 24px 24px; }
          .news__detail__content ul.list_style02 li {
            position: relative;
            line-height: 2.0;
            margin-top: 10px;
            padding-left: 14px; }
            .news__detail__content ul.list_style02 li a {
              position: relative;
              color: #333;
              font-weight: 500; }
          .news__detail__content ul.list_style02 li::after {
            content: '';
            position: absolute;
            top: 14px;
            left: 2px;
            width: 6px;
            height: 1px;
            background-color: #333;
            transform: translateY(-50%);
            -webkit-transform: translateY(-50%); }
        .news__detail__content figure {
          width: 100%;
          margin: 32px 0; }
          .news__detail__content figure img {
            width: 100%; }
          .news__detail__content figure figcaption {
            color: #999;
            text-align: center;
            font-size: 1rem;
            padding-top: 10px; }
    .news__bottom_archive {
      position: relative;
      width: 100%;
      margin: 120px auto 0;
      padding: 80px 6% 0;
      border-top: 1px solid #ddd; }
      .news__bottom_archive__list {
        position: relative;
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between; }
        .news__bottom_archive__list__sp {
          position: relative;
          width: 48%; }
          .news__bottom_archive__list__sp__img {
            position: relative;
            width: 100%;
            overflow: hidden; }
            .news__bottom_archive__list__sp__img img {
              width: 100%;
              object-fit: cover; }
            .news__bottom_archive__list__sp__img .caption {
              display: none; }
            .news__bottom_archive__list__sp__img .mask {
              display: none; }
          .news__bottom_archive__list__sp__desc {
            position: relative;
            width: 100%;
            padding-top: 10px; }
            .news__bottom_archive__list__sp__desc h3 {
              font-size: 1.5rem;
              line-height: 1.7;
              font-weight: 500;
              padding-right: 12px; }
          .news__bottom_archive__list__sp__option {
            position: relative;
            width: 100%;
            margin-top: auto;
            padding-top: 16px; }
            .news__bottom_archive__list__sp__option ul {
              position: relative;
              display: flex;
              flex-wrap: wrap;
              align-items: center; }
              .news__bottom_archive__list__sp__option ul li {
                position: relative;
                width: 50%;
                font-size: 1.2rem;
                font-weight: 500; }
                .news__bottom_archive__list__sp__option ul li a {
                  position: relative;
                  color: #333;
                  border-bottom: 1px solid #ddd; }
              .news__bottom_archive__list__sp__option ul li:nth-child(2) {
                text-align: right;
                font-family: "EB Garamond", "Shippori Mincho B1", sans-serif;
                font-size: 1rem;
                font-weight: 500;
                padding-right: 5px; }
        .news__bottom_archive__list__sp:nth-child(n + 3) {
          margin-top: 32px; }
        .news__bottom_archive__list__none {
          width: 100%;
          background-color: #f3f3f3;
          padding: 24px 8px; }
          .news__bottom_archive__list__none p {
            text-align: center;
            font-size: 1.4rem; } }

@media screen and (min-width: 1024px) {
  .contact {
    position: relative;
    width: 100%; }
    .contact__desc {
      position: relative;
      width: 860px;
      margin: 120px auto 0; }
      .contact__desc p {
        font-size: 1.5rem;
        line-height: 2.2; }
        .contact__desc p img {
          width: 20px;
          padding: 0 6px 8px 2px; }
      .contact__desc p:nth-child(n + 2) {
        margin-top: 32px; }
    .contact__form {
      position: relative;
      width: 860px;
      margin: 80px auto 0; }
      .contact__form dl {
        width: 100%;
        color: #333;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        align-items: center;
        padding: 32px 3px;
        border-bottom: 1px solid #ddd; }
        .contact__form dl dt {
          position: relative;
          width: 200px;
          display: -webkit-flex;
          display: -moz-flex;
          display: -ms-flex;
          display: -o-flex;
          display: flex;
          align-items: center;
          font-size: 1.5rem;
          padding-left: 14px; }
          .contact__form dl dt img {
            display: none; }
        .contact__form dl dt.required {
          background: url(../img/required_icon.svg) no-repeat right center;
          background-size: 12px; }
        .contact__form dl dt::after {
          content: '';
          position: absolute;
          top: 50%;
          left: 2px;
          width: 6px;
          height: 1px;
          background-color: #333;
          transform: translateY(-50%);
          -webkit-transform: translateY(-50%); }
        .contact__form dl dd {
          flex: 1;
          font-size: 1.5rem;
          line-height: 2.0;
          padding-left: 32px; }
      .contact__form dl:first-of-type {
        border-top: 1px solid #ddd; }
      .contact__form__check {
        width: 860px;
        padding: 32px 16px 16px;
        background-color: #f3f3f3;
        margin: 32px auto 0; }
        .contact__form__check p {
          text-align: center;
          font-size: 1.3rem;
          line-height: 1.8;
          margin-bottom: 24px; }
          .contact__form__check p a {
            color: #333;
            font-weight: 600; }
        .contact__form__check .confirmArea {
          display: -webkit-flex;
          display: -moz-flex;
          display: -ms-flex;
          display: -o-flex;
          display: flex;
          -webkit-flex-wrap: wrap;
          -moz-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
          flex-wrap: wrap;
          align-items: center;
          justify-content: center;
          font-size: 1.5rem;
          font-weight: 500;
          background-color: #fff;
          padding: 24px 0; }
          .contact__form__check .confirmArea .wpcf7-acceptance {
            font-weight: 500;
            letter-spacing: 0.05em; }
        .contact__form__check .error {
          font-size: 1rem !important;
          font-weight: 500 !important;
          letter-spacing: 0.1em;
          color: #d30000 !important;
          display: block !important;
          padding-top: 10px !important; }
      .contact__form__btn {
        width: 100%;
        margin-top: 40px; }
      .contact__form__bottom {
        position: relative;
        width: 100%;
        margin-top: 80px; }
        .contact__form__bottom p {
          text-align: center;
          font-size: 1.2rem; }
          .contact__form__bottom p br {
            display: none; }
          .contact__form__bottom p a {
            color: #333; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .contact {
    position: relative;
    width: 100%; }
    .contact__desc {
      position: relative;
      width: 88%;
      margin: 100px auto 0; }
      .contact__desc p {
        font-size: 1.4rem;
        line-height: 2.0; }
        .contact__desc p img {
          width: 20px;
          padding: 0 8px 8px 0; }
      .contact__desc p:nth-child(n + 2) {
        margin-top: 24px; }
    .contact__form {
      position: relative;
      width: 88%;
      margin: 80px auto 0; }
      .contact__form dl {
        color: #333;
        padding: 28px 3px;
        border-bottom: 1px solid #ddd; }
        .contact__form dl dt {
          position: relative;
          display: -webkit-flex;
          display: -moz-flex;
          display: -ms-flex;
          display: -o-flex;
          display: flex;
          align-items: center;
          font-size: 1.4rem;
          padding-left: 14px;
          margin-bottom: 16px; }
          .contact__form dl dt img {
            width: 20px;
            padding-left: 8px; }
        .contact__form dl dt::after {
          content: '';
          position: absolute;
          top: 50%;
          left: 2px;
          width: 6px;
          height: 1px;
          background-color: #333;
          transform: translateY(-50%);
          -webkit-transform: translateY(-50%); }
        .contact__form dl dd {
          flex: 1;
          font-size: 1.4rem;
          line-height: 2.0; }
      .contact__form dl:first-of-type {
        border-top: 1px solid #ddd; }
      .contact__form__check {
        width: 100%;
        padding: 32px 16px 16px;
        background-color: #f3f3f3;
        margin-top: 32px; }
        .contact__form__check p {
          width: 100%;
          text-align: center;
          font-size: 1.1rem;
          line-height: 1.8;
          margin: 0 auto 24px; }
          .contact__form__check p a {
            color: #333;
            border-bottom: 1px solid #333;
            font-weight: 500; }
        .contact__form__check .confirmArea {
          display: -webkit-flex;
          display: -moz-flex;
          display: -ms-flex;
          display: -o-flex;
          display: flex;
          -webkit-flex-wrap: wrap;
          -moz-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
          flex-wrap: wrap;
          align-items: center;
          justify-content: center;
          font-size: 1.4rem;
          font-weight: 500;
          background-color: #fff;
          padding: 24px 0; }
          .contact__form__check .confirmArea .wpcf7-acceptance {
            font-weight: 500;
            letter-spacing: 0.05em; }
        .contact__form__check .error {
          font-size: 1rem !important;
          font-weight: 500 !important;
          letter-spacing: 0.1em;
          color: #d30000 !important;
          display: block !important;
          padding-top: 10px !important; }
      .contact__form__btn {
        width: 100%;
        margin-top: 40px; }
      .contact__form__bottom {
        position: relative;
        width: 100%;
        margin-top: 64px; }
        .contact__form__bottom p {
          text-align: center;
          line-height: 1.8;
          font-size: 1.1rem; }
          .contact__form__bottom p a {
            color: #333;
            font-weight: 500; } }
@media screen and (max-width: 767px) {
  .contact {
    position: relative;
    width: 100%; }
    .contact__desc {
      position: relative;
      width: 88%;
      margin: 80px auto 0; }
      .contact__desc p {
        text-align: justify;
        font-size: 1.4rem;
        line-height: 2.0; }
        .contact__desc p img {
          width: 18px;
          padding: 0 6px 8px 2px; }
      .contact__desc p:nth-child(n + 2) {
        margin-top: 16px; }
    .contact__form {
      position: relative;
      width: 88%;
      margin: 64px auto 0; }
      .contact__form dl {
        color: #333;
        padding: 24px 0;
        border-bottom: 1px solid #ddd; }
        .contact__form dl dt {
          position: relative;
          display: -webkit-flex;
          display: -moz-flex;
          display: -ms-flex;
          display: -o-flex;
          display: flex;
          align-items: center;
          font-size: 1.4rem;
          padding-left: 14px;
          margin-bottom: 16px; }
          .contact__form dl dt img {
            width: 18px;
            padding-left: 8px; }
        .contact__form dl dt::after {
          content: '';
          position: absolute;
          top: 50%;
          left: 2px;
          width: 6px;
          height: 1px;
          background-color: #333;
          transform: translateY(-50%);
          -webkit-transform: translateY(-50%); }
        .contact__form dl dd {
          font-size: 1.4rem;
          line-height: 2.0; }
      .contact__form dl:first-of-type {
        border-top: 1px solid #ddd; }
      .contact__form__check {
        width: 100%;
        padding: 16px 8px 8px;
        background-color: #f3f3f3;
        margin: 24px auto 0; }
        .contact__form__check p {
          text-align: justify;
          font-size: 1.1rem;
          line-height: 1.8;
          margin-bottom: 16px;
          padding: 0 8px; }
          .contact__form__check p a {
            color: #333;
            border-bottom: 1px solid #333;
            font-weight: 500; }
        .contact__form__check .confirmArea {
          display: -webkit-flex;
          display: -moz-flex;
          display: -ms-flex;
          display: -o-flex;
          display: flex;
          -webkit-flex-wrap: wrap;
          -moz-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
          flex-wrap: wrap;
          align-items: center;
          justify-content: center;
          font-size: 1.4rem;
          font-weight: 500;
          background-color: #fff;
          padding: 16px 0; }
          .contact__form__check .confirmArea .wpcf7-acceptance {
            font-weight: 500;
            letter-spacing: 0.05em; }
            .contact__form__check .confirmArea .wpcf7-acceptance span.wpcf7-list-item {
              margin: 0; }
        .contact__form__check .error {
          font-size: 1rem !important;
          letter-spacing: 0.1em !important;
          font-weight: 500 !important;
          color: #d30000 !important;
          display: block !important;
          padding-top: 10px !important; }
      .contact__form__btn {
        width: 92%;
        margin: 32px auto 0; }
      .contact__form__bottom {
        position: relative;
        width: 100%;
        margin: 54px auto 0; }
        .contact__form__bottom p {
          text-align: justify;
          font-size: 1.1rem;
          line-height: 1.8; }
          .contact__form__bottom p br {
            display: none; }
          .contact__form__bottom p a {
            color: #333;
            font-weight: 500; } }

@media screen and (min-width: 1024px) {
  .notfound {
    position: relative;
    width: 100%; }
    .notfound__desc {
      position: relative;
      width: 860px;
      margin: 0 auto;
      padding-top: 100px; }
      .notfound__desc p {
        text-align: center;
        font-size: 1.5rem;
        line-height: 2.2; }
      .notfound__desc h4 {
        width: 260px;
        margin: 40px auto 0; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .notfound {
    position: relative;
    width: 100%; }
    .notfound__desc {
      position: relative;
      width: 88%;
      margin: 0 auto;
      padding-top: 80px; }
      .notfound__desc p {
        text-align: center;
        font-size: 1.4rem;
        line-height: 2.2; }
      .notfound__desc h4 {
        width: 260px;
        margin: 32px auto 0; } }
@media screen and (max-width: 767px) {
  .notfound {
    position: relative;
    width: 100%; }
    .notfound__desc {
      position: relative;
      width: 88%;
      margin: 0 auto;
      padding-top: 80px; }
      .notfound__desc p {
        text-align: justify;
        font-size: 1.4rem;
        line-height: 2.0; }
      .notfound__desc h4 {
        width: 240px;
        margin-top: 32px; } }

@media screen and (min-width: 1024px) {
  .privacy-policy {
    position: relative;
    width: 100%;
    padding-top: 120px; }
    .privacy-policy__desc {
      position: relative;
      width: 860px;
      margin: 0 auto; }
      .privacy-policy__desc h2 {
        color: #333;
        font-family: "Shippori Mincho B1", serif;
        font-size: 3rem;
        line-height: 1.7; }
      .privacy-policy__desc h2:nth-child(n + 2) {
        margin-top: 80px; }
      .privacy-policy__desc h3 {
        font-size: 2rem;
        line-height: 1.7;
        font-weight: 600;
        margin-top: 48px; }
      .privacy-policy__desc p {
        font-size: 1.5rem;
        line-height: 2.0;
        margin-top: 28px; }
      .privacy-policy__desc ul.list_style01 {
        font-size: 1.5rem;
        margin-top: 32px; }
        .privacy-policy__desc ul.list_style01 li {
          line-height: 2.0;
          margin-top: 16px; }
      .privacy-policy__desc ul.list_style02 {
        font-size: 1.5rem;
        margin-top: 32px; }
        .privacy-policy__desc ul.list_style02 li {
          position: relative;
          line-height: 2.0;
          margin-top: 16px;
          padding-left: 14px; }
        .privacy-policy__desc ul.list_style02 li::after {
          content: '';
          position: absolute;
          top: 14px;
          left: 2px;
          width: 6px;
          height: 1px;
          background-color: #333;
          transform: translateY(-50%);
          -webkit-transform: translateY(-50%); }
      .privacy-policy__desc__contact {
        position: relative;
        width: 100%;
        background-color: #f3f3f3;
        padding: 48px 48px;
        margin-top: 40px; }
        .privacy-policy__desc__contact dl {
          color: #333;
          display: -webkit-flex;
          display: -moz-flex;
          display: -ms-flex;
          display: -o-flex;
          display: flex;
          align-items: center;
          border-bottom: 1px solid #ddd;
          padding: 24px 2px; }
          .privacy-policy__desc__contact dl dt {
            position: relative;
            width: 200px;
            font-size: 1.5rem;
            padding-left: 14px; }
          .privacy-policy__desc__contact dl dt::after {
            content: '';
            position: absolute;
            top: 50%;
            left: 2px;
            width: 6px;
            height: 1px;
            background-color: #333;
            transform: translateY(-50%);
            -webkit-transform: translateY(-50%); }
          .privacy-policy__desc__contact dl dd {
            flex: 1;
            font-size: 1.5rem;
            line-height: 2.0; }
            .privacy-policy__desc__contact dl dd a {
              color: #333;
              font-weight: 500; }
              .privacy-policy__desc__contact dl dd a img {
                width: 22px;
                padding-left: 8px;
                padding-bottom: 8px; }
        .privacy-policy__desc__contact dl:first-of-type {
          border-top: 1px solid #ddd; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .privacy-policy {
    position: relative;
    width: 100%;
    padding-top: 100px; }
    .privacy-policy__desc {
      position: relative;
      width: 92%;
      margin: 0 auto; }
      .privacy-policy__desc h2 {
        font-family: "Shippori Mincho B1", serif;
        font-size: 2.2rem;
        line-height: 1.7; }
      .privacy-policy__desc h2:nth-child(n + 2) {
        margin-top: 80px; }
      .privacy-policy__desc h3 {
        font-size: 2rem;
        line-height: 1.7;
        font-weight: 600;
        margin-top: 40px; }
      .privacy-policy__desc p {
        font-size: 1.4rem;
        line-height: 2.0;
        margin-top: 24px; }
      .privacy-policy__desc ul.list_style01 {
        font-size: 1.4rem;
        margin-top: 24px; }
        .privacy-policy__desc ul.list_style01 li {
          line-height: 2.0;
          margin-top: 16px; }
      .privacy-policy__desc ul.list_style02 {
        font-size: 1.4rem;
        margin-top: 24px; }
        .privacy-policy__desc ul.list_style02 li {
          position: relative;
          line-height: 2.0;
          margin-top: 16px;
          padding-left: 14px; }
        .privacy-policy__desc ul.list_style02 li::after {
          content: '';
          position: absolute;
          top: 14px;
          left: 2px;
          width: 6px;
          height: 1px;
          background-color: #333;
          transform: translateY(-50%);
          -webkit-transform: translateY(-50%); }
      .privacy-policy__desc__contact {
        position: relative;
        width: 100%;
        background-color: #f3f3f3;
        padding: 40px 40px;
        margin-top: 32px; }
        .privacy-policy__desc__contact dl {
          color: #333;
          display: -webkit-flex;
          display: -moz-flex;
          display: -ms-flex;
          display: -o-flex;
          display: flex;
          align-items: center;
          border-bottom: 1px solid #ddd;
          padding: 24px 2px; }
          .privacy-policy__desc__contact dl dt {
            position: relative;
            width: 180px;
            font-size: 1.4rem;
            font-weight: 500;
            padding-left: 14px; }
          .privacy-policy__desc__contact dl dt::after {
            content: '';
            position: absolute;
            top: 50%;
            left: 2px;
            width: 6px;
            height: 1px;
            background-color: #333;
            transform: translateY(-50%);
            -webkit-transform: translateY(-50%); }
          .privacy-policy__desc__contact dl dd {
            flex: 1;
            font-size: 1.4rem;
            line-height: 2.0; }
            .privacy-policy__desc__contact dl dd a {
              color: #333;
              font-weight: 500; }
              .privacy-policy__desc__contact dl dd a img {
                width: 22px;
                padding-left: 8px;
                padding-bottom: 8px; }
        .privacy-policy__desc__contact dl:first-of-type {
          border-top: 1px solid #ddd; } }
@media screen and (max-width: 767px) {
  .privacy-policy {
    position: relative;
    width: 100%;
    padding-top: 80px; }
    .privacy-policy__desc {
      position: relative;
      width: 88%;
      margin: 0 auto; }
      .privacy-policy__desc h2 {
        font-family: "Shippori Mincho B1", serif;
        font-size: 2rem;
        line-height: 1.8; }
      .privacy-policy__desc h2:nth-child(n + 2) {
        margin-top: 60px; }
      .privacy-policy__desc h3 {
        font-size: 1.8rem;
        font-weight: 600;
        margin: 32px auto 0;
        padding-bottom: 3px;
        line-height: 1.6; }
      .privacy-policy__desc p {
        text-align: justify;
        font-size: 1.4rem;
        line-height: 2.0;
        margin-top: 16px; }
      .privacy-policy__desc ul.list_style01 {
        font-size: 1.4rem;
        margin-top: 24px; }
        .privacy-policy__desc ul.list_style01 li {
          text-align: justify;
          line-height: 2.0;
          margin-top: 16px; }
      .privacy-policy__desc ul.list_style02 {
        font-size: 1.4rem;
        margin-top: 24px; }
        .privacy-policy__desc ul.list_style02 li {
          text-align: justify;
          position: relative;
          line-height: 2.0;
          margin-top: 16px;
          padding-left: 14px; }
        .privacy-policy__desc ul.list_style02 li::after {
          content: '';
          position: absolute;
          top: 14px;
          left: 2px;
          width: 6px;
          height: 1px;
          background-color: #333;
          transform: translateY(-50%);
          -webkit-transform: translateY(-50%); }
      .privacy-policy__desc__contact {
        position: relative;
        width: 100%;
        background-color: #f3f3f3;
        padding: 24px 24px;
        margin-top: 32px; }
        .privacy-policy__desc__contact dl {
          color: #333;
          border-bottom: 1px solid #ddd;
          padding: 16px 2px; }
          .privacy-policy__desc__contact dl dt {
            position: relative;
            font-size: 1.3rem;
            padding-left: 14px;
            margin-bottom: 10px; }
          .privacy-policy__desc__contact dl dt::after {
            content: '';
            position: absolute;
            top: 50%;
            left: 2px;
            width: 6px;
            height: 1px;
            background-color: #333;
            transform: translateY(-50%);
            -webkit-transform: translateY(-50%); }
          .privacy-policy__desc__contact dl dd {
            flex: 1;
            font-size: 1.4rem;
            line-height: 1.8;
            padding-left: 14px; }
            .privacy-policy__desc__contact dl dd a {
              color: #333;
              font-weight: 500; }
              .privacy-policy__desc__contact dl dd a img {
                width: 22px;
                padding-left: 8px;
                padding-bottom: 8px; }
        .privacy-policy__desc__contact dl:first-of-type {
          border-top: 1px solid #ddd; } }

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  border: 0;
  font-family: inherit;
  font-size: 100%;
  font-style: inherit;
  font-weight: inherit;
  margin: 0;
  outline: 0;
  padding: 0;
  vertical-align: baseline; }

* {
  word-wrap: break-word;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box; }

@media screen and (min-width: 1024px) {
  html, body {
    font-size: 62.5%;
    overflow: visible; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  html, body {
    font-size: 62.5%;
    overflow: visible; } }
@media screen and (max-width: 767px) {
  html, body {
    font-size: 62.5%;
    overflow: visible;
    overflow-x: hidden; } }

body {
  height: 100%;
  color: #454545;
  background-color: #fff;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
  font-size: 10px;
  font-size: 1.0rem;
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
  overflow-x: hidden;
  -webkit-text-size-adjust: 100%; }

ol, ul {
  list-style: none;
  font-weight: 400; }

h1 {
  font-weight: 400; }

h2 {
  font-weight: 400; }

h3 {
  font-weight: 400; }

h4 {
  font-weight: 400; }

h5 {
  font-weight: 400; }

h6 {
  font-weight: 400; }

p {
  font-weight: 400; }

dl {
  font-weight: 400; }

caption, th, td {
  font-weight: normal;
  text-align: left;
  vertical-align: top; }

img {
  max-width: 100%;
  height: auto;
  width: auto;
  border: 0;
  vertical-align: bottom; }

a, a:link a:visited {
  color: #333;
  transition: all .3s;
  text-decoration: none; }

a:hover {
  color: #454545;
  text-decoration: none; }

a.imghover:link img {
  transition: all .3s; }

a.imghover:hover img {
  filter: alpha(opacity=80);
  opacity: 0.8; }

.imghover {
  transition: all .3s; }

.imghover:hover {
  filter: alpha(opacity=80);
  opacity: 0.8; }

.fadeUp {
  animation-name: fadeUpAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  animation-delay: 0.4s;
  opacity: 0; }

@keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(20px); }
  to {
    opacity: 1;
    transform: translateY(0); } }
@keyframes fadeIn {
  0% {
    opacity: 0;
    transform: translateY(0); }
  100% {
    opacity: 1;
    transform: translateY(0); } }
@keyframes pathmove {
  0% {
    height: 0;
    top: 0;
    opacity: 0; }
  30% {
    height: 30px;
    opacity: 1; }
  100% {
    height: 0;
    top: 60px;
    opacity: 0; } }
/* ########## container ########## */
@media screen and (min-width: 1024px) {
  .container {
    position: relative;
    width: 100%;
    animation: fadeIn 2s ease 0s 1 normal;
    -webkit-animation: fadeIn 2s ease 0s 1 normal;
    -moz-animation: fadeIn 2s ease 0s 1 normal;
    -o-animation: fadeIn 2s ease 0s 1 normal; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .container {
    position: relative;
    width: 100%;
    animation: fadeIn 2s ease 0s 1 normal;
    -webkit-animation: fadeIn 2s ease 0s 1 normal;
    -moz-animation: fadeIn 2s ease 0s 1 normal;
    -o-animation: fadeIn 2s ease 0s 1 normal; } }
@media screen and (max-width: 767px) {
  .container {
    position: relative;
    width: 100%;
    animation: fadeIn 2s ease 0s 1 normal;
    -webkit-animation: fadeIn 2s ease 0s 1 normal;
    -moz-animation: fadeIn 2s ease 0s 1 normal;
    -o-animation: fadeIn 2s ease 0s 1 normal; } }

/* ########## container ########## */
/* ########## brand_contents ########## */
@media screen and (min-width: 1024px) {
  .brand_contents {
    position: relative;
    width: 100%;
    background-color: #f3f3f3;
    /* ### bread ### */
    /* ### bread ### */ }
    .brand_contents__main {
      position: relative;
      width: 100%;
      height: 700px; }
      .brand_contents__main__genbu {
        position: relative;
        width: 100%;
        height: 700px;
        background: url(../../img/genbu_img/genbu_main_backimg.png) no-repeat 50% 50%;
        background-size: cover; }
        .brand_contents__main__genbu .scrolldown {
          position: absolute;
          left: 4.5%;
          bottom: 60px;
          height: 60px;
          z-index: 3; }
          .brand_contents__main__genbu .scrolldown span {
            /*描画位置*/
            position: absolute;
            left: -6px;
            top: -70px;
            color: #fff;
            font-family: "EB Garamond", "Shippori Mincho B1", sans-serif;
            font-size: 1.2rem;
            font-weight: 500;
            line-height: 1.0;
            letter-spacing: 0.2em;
            -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl; }
          .brand_contents__main__genbu .scrolldown::before {
            content: "";
            position: absolute;
            bottom: 0;
            width: 1px;
            height: 60px;
            background-color: rgba(255, 255, 255, 0.3);
            z-index: 1; }
          .brand_contents__main__genbu .scrolldown::after {
            content: "";
            position: absolute;
            bottom: 0;
            width: 1px;
            height: 60px;
            background: #fff;
            animation: pathmove 1.4s ease-in-out infinite;
            opacity: 0;
            z-index: 3; }
        .brand_contents__main__genbu__logo {
          position: absolute;
          width: 210px;
          top: 50%;
          left: 50%;
          transform: translateY(-50%) translateX(-50%);
          -webkit-transform: translateY(-50%) translateX(-50%);
          z-index: 3; }
          .brand_contents__main__genbu__logo p {
            width: 100%; }
            .brand_contents__main__genbu__logo p img {
              width: 100%; }
      .brand_contents__main__genbu::after {
        content: '';
        position: absolute;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.15);
        top: 0;
        left: 0;
        z-index: 1; }
      .brand_contents__main__tsuki {
        position: relative;
        width: 100%;
        height: 700px;
        background: url(../../img/tsuki_img/tsuki_main_backimg.png) no-repeat 50% 50%;
        background-size: cover; }
        .brand_contents__main__tsuki .scrolldown {
          position: absolute;
          left: 4.5%;
          bottom: 60px;
          height: 60px;
          z-index: 3; }
          .brand_contents__main__tsuki .scrolldown span {
            /*描画位置*/
            position: absolute;
            left: -6px;
            top: -70px;
            color: #fff;
            font-family: "EB Garamond", "Shippori Mincho B1", sans-serif;
            font-size: 1.2rem;
            font-weight: 500;
            line-height: 1.0;
            letter-spacing: 0.2em;
            -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl; }
          .brand_contents__main__tsuki .scrolldown::before {
            content: "";
            position: absolute;
            bottom: 0;
            width: 1px;
            height: 60px;
            background-color: rgba(255, 255, 255, 0.3);
            z-index: 1; }
          .brand_contents__main__tsuki .scrolldown::after {
            content: "";
            position: absolute;
            bottom: 0;
            width: 1px;
            height: 60px;
            background: #fff;
            animation: pathmove 1.4s ease-in-out infinite;
            opacity: 0;
            z-index: 3; }
        .brand_contents__main__tsuki__logo {
          position: absolute;
          width: 150px;
          top: 50%;
          left: 50%;
          transform: translateY(-50%) translateX(-50%);
          -webkit-transform: translateY(-50%) translateX(-50%);
          z-index: 3; }
          .brand_contents__main__tsuki__logo p {
            width: 100%; }
            .brand_contents__main__tsuki__logo p img {
              width: 100%; }
      .brand_contents__main__tsuki::after {
        content: '';
        position: absolute;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.15);
        top: 0;
        left: 0;
        z-index: 1; }
    .brand_contents__bread {
      position: relative;
      width: 96%;
      padding: 28px 0 4%;
      background-color: #f3f3f3;
      margin-top: -60px;
      z-index: 10; }
      .brand_contents__bread ul {
        position: relative;
        width: 92%;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin: 0 auto; }
        .brand_contents__bread ul li {
          position: relative;
          font-size: 1rem; }
          .brand_contents__bread ul li a, .brand_contents__bread ul li a:link a:visited {
            position: relative;
            color: #333;
            font-weight: 500; }
          .brand_contents__bread ul li a::after {
            position: absolute;
            bottom: -1px;
            left: 0;
            content: '';
            width: 100%;
            height: 1px;
            background: #333;
            transform: scale(0, 1);
            transform-origin: right top;
            transition: transform .3s; }
          .brand_contents__bread ul li a:hover {
            color: #333; }
          .brand_contents__bread ul li a:hover::after {
            transform-origin: left top;
            transform: scale(1, 1); }
        .brand_contents__bread ul li.bread_list {
          padding-left: 26px; }
        .brand_contents__bread ul li.bread_list::after {
          content: '';
          position: absolute;
          top: 50%;
          left: 10px;
          width: 6px;
          height: 1px;
          background-color: #333;
          transform: translateY(-50%);
          -webkit-transform: translateY(-50%); } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .brand_contents {
    position: relative;
    width: 100%;
    background-color: #f3f3f3;
    /* ### bread ### */
    /* ### bread ### */ }
    .brand_contents__main {
      position: relative;
      width: 100%;
      height: 600px; }
      .brand_contents__main__genbu {
        position: relative;
        width: 100%;
        height: 600px;
        background: url(../../img/genbu_img/genbu_main_backimg.png) no-repeat 50% 50%;
        background-size: cover; }
        .brand_contents__main__genbu .scrolldown {
          position: absolute;
          left: 4.5%;
          bottom: 60px;
          height: 56px;
          z-index: 3; }
          .brand_contents__main__genbu .scrolldown span {
            /*描画位置*/
            position: absolute;
            left: -5px;
            top: -64px;
            color: #fff;
            font-family: "EB Garamond", "Shippori Mincho B1", sans-serif;
            font-size: 1.1rem;
            font-weight: 500;
            line-height: 1.0;
            letter-spacing: 0.2em;
            -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl; }
          .brand_contents__main__genbu .scrolldown::before {
            content: "";
            position: absolute;
            bottom: 0;
            width: 1px;
            height: 56px;
            background-color: rgba(255, 255, 255, 0.3);
            z-index: 1; }
          .brand_contents__main__genbu .scrolldown::after {
            content: "";
            position: absolute;
            bottom: 0;
            width: 1px;
            height: 56px;
            background: #fff;
            animation: pathmove 1.4s ease-in-out infinite;
            opacity: 0;
            z-index: 3; }
        .brand_contents__main__genbu__logo {
          position: absolute;
          width: 180px;
          top: 50%;
          left: 50%;
          transform: translateY(-50%) translateX(-50%);
          -webkit-transform: translateY(-50%) translateX(-50%);
          z-index: 3; }
          .brand_contents__main__genbu__logo p {
            width: 100%; }
            .brand_contents__main__genbu__logo p img {
              width: 100%; }
      .brand_contents__main__genbu::after {
        content: '';
        position: absolute;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.15);
        top: 0;
        left: 0;
        z-index: 1; }
      .brand_contents__main__tsuki {
        position: relative;
        width: 100%;
        height: 600px;
        background: url(../../img/tsuki_img/tsuki_main_backimg.png) no-repeat 50% 50%;
        background-size: cover; }
        .brand_contents__main__tsuki .scrolldown {
          position: absolute;
          left: 4.5%;
          bottom: 60px;
          height: 56px;
          z-index: 3; }
          .brand_contents__main__tsuki .scrolldown span {
            /*描画位置*/
            position: absolute;
            left: -5px;
            top: -64px;
            color: #fff;
            font-family: "EB Garamond", "Shippori Mincho B1", sans-serif;
            font-size: 1.1rem;
            font-weight: 500;
            line-height: 1.0;
            letter-spacing: 0.2em;
            -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl; }
          .brand_contents__main__tsuki .scrolldown::before {
            content: "";
            position: absolute;
            bottom: 0;
            width: 1px;
            height: 56px;
            background-color: rgba(255, 255, 255, 0.3);
            z-index: 1; }
          .brand_contents__main__tsuki .scrolldown::after {
            content: "";
            position: absolute;
            bottom: 0;
            width: 1px;
            height: 56px;
            background: #fff;
            animation: pathmove 1.4s ease-in-out infinite;
            opacity: 0;
            z-index: 3; }
        .brand_contents__main__tsuki__logo {
          position: absolute;
          width: 130px;
          top: 50%;
          left: 50%;
          transform: translateY(-50%) translateX(-50%);
          -webkit-transform: translateY(-50%) translateX(-50%);
          z-index: 3; }
          .brand_contents__main__tsuki__logo p {
            width: 100%; }
            .brand_contents__main__tsuki__logo p img {
              width: 100%; }
      .brand_contents__main__tsuki::after {
        content: '';
        position: absolute;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.15);
        top: 0;
        left: 0;
        z-index: 1; }
    .brand_contents__bread {
      position: relative;
      width: 96%;
      padding: 28px 0 4%;
      background-color: #f3f3f3;
      margin-top: -60px;
      z-index: 10; }
      .brand_contents__bread ul {
        position: relative;
        width: 92%;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin: 0 auto; }
        .brand_contents__bread ul li {
          position: relative;
          font-size: 1rem; }
          .brand_contents__bread ul li a, .brand_contents__bread ul li a:link a:visited {
            position: relative;
            color: #333;
            font-weight: 500; }
          .brand_contents__bread ul li a::after {
            position: absolute;
            bottom: -1px;
            left: 0;
            content: '';
            width: 100%;
            height: 1px;
            background: #333;
            transform: scale(0, 1);
            transform-origin: right top;
            transition: transform .3s; }
          .brand_contents__bread ul li a:hover {
            color: #333; }
          .brand_contents__bread ul li a:hover::after {
            transform-origin: left top;
            transform: scale(1, 1); }
        .brand_contents__bread ul li.bread_list {
          padding-left: 26px; }
        .brand_contents__bread ul li.bread_list::after {
          content: '';
          position: absolute;
          top: 50%;
          left: 10px;
          width: 6px;
          height: 1px;
          background-color: #333;
          transform: translateY(-50%);
          -webkit-transform: translateY(-50%); } }
@media screen and (max-width: 767px) {
  .brand_contents {
    position: relative;
    width: 100%;
    background-color: #f3f3f3;
    /* ### bread ### */
    /* ### bread ### */ }
    .brand_contents__main {
      position: relative;
      width: 100%;
      height: 500px; }
      .brand_contents__main__genbu {
        position: relative;
        width: 100%;
        height: 500px;
        background: url(../../img/genbu_img/sp_genbu_main_backimg.png) no-repeat 50% 50%;
        background-size: cover; }
        .brand_contents__main__genbu .scrolldown {
          position: absolute;
          left: 5%;
          bottom: 0;
          height: 50px;
          z-index: 3; }
          .brand_contents__main__genbu .scrolldown span {
            /*描画位置*/
            position: absolute;
            left: -5px;
            top: -58px;
            color: #fff;
            font-family: "EB Garamond", "Shippori Mincho B1", sans-serif;
            font-size: 1rem;
            font-weight: 500;
            line-height: 1.0;
            letter-spacing: 0.2em;
            -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl; }
          .brand_contents__main__genbu .scrolldown::before {
            content: "";
            position: absolute;
            bottom: 0;
            width: 1px;
            height: 50px;
            background-color: rgba(255, 255, 255, 0.3);
            z-index: 1; }
          .brand_contents__main__genbu .scrolldown::after {
            content: "";
            position: absolute;
            bottom: 0;
            width: 1px;
            height: 50px;
            background: #fff;
            animation: pathmove 1.4s ease-in-out infinite;
            opacity: 0;
            z-index: 3; }
        .brand_contents__main__genbu__logo {
          position: absolute;
          width: 120px;
          top: 50%;
          left: 50%;
          transform: translateY(-50%) translateX(-50%);
          -webkit-transform: translateY(-50%) translateX(-50%);
          z-index: 3; }
          .brand_contents__main__genbu__logo p {
            width: 100%; }
            .brand_contents__main__genbu__logo p img {
              width: 100%; }
      .brand_contents__main__genbu::after {
        content: '';
        position: absolute;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.15);
        top: 0;
        left: 0;
        z-index: 1; }
      .brand_contents__main__tsuki {
        position: relative;
        width: 100%;
        height: 500px;
        background: url(../../img/tsuki_img/sp_tsuki_main_backimg.png) no-repeat 50% 50%;
        background-size: cover; }
        .brand_contents__main__tsuki .scrolldown {
          position: absolute;
          left: 5%;
          bottom: 0;
          height: 50px;
          z-index: 3; }
          .brand_contents__main__tsuki .scrolldown span {
            /*描画位置*/
            position: absolute;
            left: -5px;
            top: -58px;
            color: #fff;
            font-family: "EB Garamond", "Shippori Mincho B1", sans-serif;
            font-size: 1rem;
            font-weight: 500;
            line-height: 1.0;
            letter-spacing: 0.2em;
            -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl; }
          .brand_contents__main__tsuki .scrolldown::before {
            content: "";
            position: absolute;
            bottom: 0;
            width: 1px;
            height: 50px;
            background-color: rgba(255, 255, 255, 0.3);
            z-index: 1; }
          .brand_contents__main__tsuki .scrolldown::after {
            content: "";
            position: absolute;
            bottom: 0;
            width: 1px;
            height: 50px;
            background: #fff;
            animation: pathmove 1.4s ease-in-out infinite;
            opacity: 0;
            z-index: 3; }
        .brand_contents__main__tsuki__logo {
          position: absolute;
          width: 110px;
          top: 50%;
          left: 50%;
          transform: translateY(-50%) translateX(-50%);
          -webkit-transform: translateY(-50%) translateX(-50%);
          z-index: 3; }
          .brand_contents__main__tsuki__logo p {
            width: 100%; }
            .brand_contents__main__tsuki__logo p img {
              width: 100%; }
      .brand_contents__main__tsuki::after {
        content: '';
        position: absolute;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.15);
        top: 0;
        left: 0;
        z-index: 1; }
    .brand_contents__bread {
      position: relative;
      width: 92%;
      margin: 20px auto 0; }
      .brand_contents__bread ul {
        position: relative;
        width: 100%;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
        .brand_contents__bread ul li {
          position: relative;
          font-size: 1rem; }
          .brand_contents__bread ul li a {
            position: relative;
            color: #333;
            font-weight: 500; }
        .brand_contents__bread ul li.bread_list {
          padding-left: 21px; }
        .brand_contents__bread ul li.bread_list::after {
          content: '';
          position: absolute;
          top: 50%;
          left: 8px;
          width: 5px;
          height: 1px;
          background-color: #333;
          transform: translateY(-50%);
          -webkit-transform: translateY(-50%); } }

@media screen and (min-width: 1024px) {
  .brand_contents::after {
    content: '';
    position: absolute;
    bottom: -220px;
    left: 0;
    width: 100%;
    height: 220px;
    background-color: #f3f3f3; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .brand_contents::after {
    content: '';
    position: absolute;
    bottom: -200px;
    left: 0;
    width: 100%;
    height: 200px;
    background-color: #f3f3f3; } }
@media screen and (max-width: 767px) {
  .brand_contents::after {
    content: '';
    position: absolute;
    bottom: -180px;
    left: 0;
    width: 100%;
    height: 180px;
    background-color: #f3f3f3; } }

/* ########## brand_contents ########## */
/* ########## page_contents ########## */
@media screen and (min-width: 1024px) {
  .page_contents {
    position: relative;
    width: 100%;
    background-color: #fff;
    /* ### header ### */
    /* ### header ### */
    /* ### single_header ### */
    /* ### header ### */
    /* ### bread ### */
    /* ### bread ### */ }
    .page_contents__header {
      position: relative;
      width: 100%;
      max-width: 1600px;
      height: 480px;
      background: url(../img/page_contents_backimg.png) no-repeat 50% 50%;
      background-size: cover;
      background-color: #f3f3f3; }
      .page_contents__header__title {
        position: absolute;
        top: 50%;
        left: 50%;
        width: 100%;
        transform: translateY(-50%) translateX(-50%);
        -webkit-transform: translateY(-50%) translateX(-50%);
        padding-top: 80px;
        z-index: 5; }
        .page_contents__header__title .title_sp {
          width: 100%; }
          .page_contents__header__title .title_sp p, .page_contents__header__title .title_sp h1 {
            background: none;
            overflow: hidden;
            padding: 0; }
            .page_contents__header__title .title_sp p span, .page_contents__header__title .title_sp h1 span {
              display: block;
              transform: translateY(100%);
              opacity: 0; }
    .page_contents__single_header {
      position: relative;
      width: 100%;
      max-width: 1600px;
      height: 240px;
      background: url(../img/page_contents_backimg.png) no-repeat 50% 50%;
      background-size: cover;
      background-color: #f3f3f3; }
      .page_contents__single_header__title {
        position: absolute;
        top: 50%;
        left: 50%;
        width: 92%;
        transform: translateY(-50%) translateX(-50%);
        -webkit-transform: translateY(-50%) translateX(-50%);
        padding-top: 40px;
        z-index: 5; }
        .page_contents__single_header__title h4 {
          width: 220px; }
    .page_contents__bread {
      position: relative;
      width: 100%;
      padding: 24px 2px 0;
      max-width: 1600px; }
      .page_contents__bread ul {
        position: relative;
        width: 92%;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin: 0 auto; }
        .page_contents__bread ul li {
          position: relative;
          font-size: 1rem; }
          .page_contents__bread ul li a, .page_contents__bread ul li a:link a:visited {
            position: relative;
            color: #333;
            font-weight: 500; }
          .page_contents__bread ul li a::after {
            position: absolute;
            bottom: -1px;
            left: 0;
            content: '';
            width: 100%;
            height: 1px;
            background: #333;
            transform: scale(0, 1);
            transform-origin: right top;
            transition: transform .3s; }
          .page_contents__bread ul li a:hover {
            color: #333; }
          .page_contents__bread ul li a:hover::after {
            transform-origin: left top;
            transform: scale(1, 1); }
        .page_contents__bread ul li.bread_list {
          padding-left: 26px; }
        .page_contents__bread ul li.bread_list::after {
          content: '';
          position: absolute;
          top: 50%;
          left: 10px;
          width: 6px;
          height: 1px;
          background-color: #333;
          transform: translateY(-50%);
          -webkit-transform: translateY(-50%); } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .page_contents {
    position: relative;
    width: 100%;
    background-color: #fff;
    /* ### header ### */
    /* ### header ### */
    /* ### single_header ### */
    /* ### single_header ### */
    /* ### bread ### */
    /* ### bread ### */ }
    .page_contents__header {
      position: relative;
      width: 100%;
      height: 400px;
      background: url(../img/page_contents_backimg.png) no-repeat 50% 50%;
      background-size: cover;
      background-color: #f3f3f3; }
      .page_contents__header__title {
        position: absolute;
        top: 50%;
        left: 50%;
        width: 100%;
        transform: translateY(-50%) translateX(-50%);
        -webkit-transform: translateY(-50%) translateX(-50%);
        padding-top: 70px;
        z-index: 5; }
        .page_contents__header__title .title_sp {
          width: 100%; }
          .page_contents__header__title .title_sp p, .page_contents__header__title .title_sp h1 {
            background: none;
            overflow: hidden;
            padding: 0; }
            .page_contents__header__title .title_sp p span, .page_contents__header__title .title_sp h1 span {
              display: block;
              transform: translateY(100%);
              opacity: 0; }
    .page_contents__single_header {
      position: relative;
      width: 100%;
      height: 200px;
      background: url(../img/page_contents_backimg.png) no-repeat 50% 50%;
      background-size: cover;
      background-color: #f3f3f3; }
      .page_contents__single_header__title {
        position: absolute;
        top: 50%;
        left: 50%;
        width: 92%;
        transform: translateY(-50%) translateX(-50%);
        -webkit-transform: translateY(-50%) translateX(-50%);
        padding-top: 35px;
        z-index: 5; }
        .page_contents__single_header__title h4 {
          width: 200px; }
    .page_contents__bread {
      position: relative;
      width: 100%;
      padding: 24px 2px 0; }
      .page_contents__bread ul {
        position: relative;
        width: 92%;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin: 0 auto; }
        .page_contents__bread ul li {
          position: relative;
          font-size: 1rem; }
          .page_contents__bread ul li a, .page_contents__bread ul li a:link a:visited {
            position: relative;
            color: #333;
            font-weight: 500; }
          .page_contents__bread ul li a::after {
            position: absolute;
            bottom: -1px;
            left: 0;
            content: '';
            width: 100%;
            height: 1px;
            background: #333;
            transform: scale(0, 1);
            transform-origin: right top;
            transition: transform .3s; }
          .page_contents__bread ul li a:hover {
            color: #333; }
          .page_contents__bread ul li a:hover::after {
            transform-origin: left top;
            transform: scale(1, 1); }
        .page_contents__bread ul li.bread_list {
          padding-left: 26px; }
        .page_contents__bread ul li.bread_list::after {
          content: '';
          position: absolute;
          top: 50%;
          left: 10px;
          width: 6px;
          height: 1px;
          background-color: #333;
          transform: translateY(-50%);
          -webkit-transform: translateY(-50%); } }
@media screen and (max-width: 767px) {
  .page_contents {
    position: relative;
    background-color: #fff;
    /* ### header ### */
    /* ### header ### */
    /* ### single_header ### */
    /* ### single_header ### */
    /* ### bread ### */
    /* ### bread ### */ }
    .page_contents__header {
      position: relative;
      width: 100%;
      height: 300px;
      background: url(../img/sp_page_contents_backimg.png) no-repeat 50% 50%;
      background-size: cover;
      background-color: #f3f3f3; }
      .page_contents__header__title {
        position: absolute;
        top: 50%;
        left: 50%;
        width: 100%;
        transform: translateY(-50%) translateX(-50%);
        -webkit-transform: translateY(-50%) translateX(-50%);
        padding-top: 56px;
        z-index: 5; }
        .page_contents__header__title .title_sp {
          width: 100%; }
          .page_contents__header__title .title_sp p, .page_contents__header__title .title_sp h1 {
            background: none;
            overflow: hidden;
            padding: 0; }
            .page_contents__header__title .title_sp p span, .page_contents__header__title .title_sp h1 span {
              display: block;
              transform: translateY(100%);
              opacity: 0; }
    .page_contents__single_header {
      position: relative;
      width: 100%;
      height: 160px;
      background: url(../img/sp_page_contents_backimg.png) no-repeat 50% 50%;
      background-size: cover;
      background-color: #f3f3f3; }
      .page_contents__single_header__title {
        position: absolute;
        top: 50%;
        left: 50%;
        width: 92%;
        transform: translateY(-50%) translateX(-50%);
        -webkit-transform: translateY(-50%) translateX(-50%);
        padding-top: 32px;
        z-index: 5; }
        .page_contents__single_header__title h4 {
          width: 140px; }
    .page_contents__bread {
      position: relative;
      width: 92%;
      margin: 20px auto 0; }
      .page_contents__bread ul {
        position: relative;
        width: 100%;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
        .page_contents__bread ul li {
          position: relative;
          font-size: 1rem;
          margin-bottom: 5px; }
          .page_contents__bread ul li a {
            position: relative;
            color: #333;
            font-weight: 500; }
        .page_contents__bread ul li.bread_list {
          padding-left: 21px; }
        .page_contents__bread ul li.bread_list::after {
          content: '';
          position: absolute;
          top: 50%;
          left: 8px;
          width: 5px;
          height: 1px;
          background-color: #333;
          transform: translateY(-50%);
          -webkit-transform: translateY(-50%); } }

/* ########## page_contents ########## */
/* ########## page_contents__detail ########## */
@media screen and (min-width: 1024px) {
  .page_contents__detail {
    position: relative;
    width: 100%;
    max-width: 1600px;
    margin: 0 auto; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .page_contents__detail {
    position: relative;
    width: 100%; } }
@media screen and (max-width: 767px) {
  .page_contents__detail {
    position: relative;
    width: 100%; } }

/* ########## page_contents__detail ########## */
/* ########## pagenavi ########## */
@media screen and (min-width: 1024px) {
  .wp-pagenavi {
    position: relative;
    width: 100%;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: center;
    font-size: 1.3rem;
    font-family: "EB Garamond", "Shippori Mincho B1", sans-serif;
    letter-spacing: 0.05em;
    margin-top: 120px;
    padding: 32px 0 0;
    border-top: 1px solid #ddd; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .wp-pagenavi {
    position: relative;
    width: 100%;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: center;
    font-size: 1.2rem;
    font-family: "EB Garamond", "Shippori Mincho B1", sans-serif;
    letter-spacing: 0.05em;
    margin-top: 120px;
    padding: 32px 0 0;
    border-top: 1px solid #ddd; } }
@media screen and (max-width: 767px) {
  .wp-pagenavi {
    position: relative;
    width: 100%;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: center;
    font-family: "EB Garamond", "Shippori Mincho B1", sans-serif;
    letter-spacing: 0.05em;
    padding: 20px 0 0;
    margin: 80px auto 0;
    border-top: 1px solid #ddd; } }

@media screen and (min-width: 1024px) {
  .wp-pagenavi span.pages {
    display: none; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .wp-pagenavi span.pages {
    display: none; } }
@media screen and (max-width: 767px) {
  .wp-pagenavi span.pages {
    display: none; } }

@media screen and (min-width: 1024px) {
  .wp-pagenavi span.current {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: 46px;
    height: 46px;
    color: #333;
    font-weight: 600;
    background-color: #f3f3f3;
    margin: 0 6px;
    border: none; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .wp-pagenavi span.current {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: 46px;
    height: 46px;
    color: #333;
    font-weight: 600;
    background-color: #f3f3f3;
    margin: 0 5px;
    border: none; } }
@media screen and (max-width: 767px) {
  .wp-pagenavi span.current {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: 42px;
    height: 42px;
    font-size: 1.3rem;
    color: #333;
    font-weight: 600;
    background-color: #f3f3f3;
    margin: 0 4px; } }

@media screen and (min-width: 1024px) {
  .wp-pagenavi a.first {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    align-items: center;
    height: 46px; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .wp-pagenavi a.first {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    align-items: center;
    height: 46px; } }
@media screen and (max-width: 767px) {
  .wp-pagenavi a.first {
    position: absolute;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    align-items: center;
    height: 42px;
    top: 15px;
    left: 0;
    font-size: 1.3rem; } }

@media screen and (min-width: 1024px) {
  .wp-pagenavi a.last {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    align-items: center;
    height: 46px; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .wp-pagenavi a.last {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    align-items: center;
    height: 46px; } }
@media screen and (max-width: 767px) {
  .wp-pagenavi a.last {
    position: absolute;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    align-items: center;
    height: 42px;
    top: 15px;
    right: 0;
    font-size: 1.3rem; } }

@media screen and (min-width: 1024px) {
  .wp-pagenavi a.page:link, a.page:visited {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: 46px;
    height: 46px;
    font-weight: 500;
    background-color: #fff;
    margin: 0 6px;
    border: 1px solid #ddd; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .wp-pagenavi a.page:link, a.page:visited {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: 46px;
    height: 46px;
    font-weight: 500;
    background-color: #fff;
    margin: 0 5px;
    border: 1px solid #ddd; } }

@media screen and (max-width: 767px) {
  .wp-pagenavi a.page {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: 42px;
    height: 42px;
    font-weight: 500;
    font-size: 1.3rem;
    background-color: #fff;
    margin: 0 4px;
    border: 1px solid #ddd; } }

@media screen and (min-width: 1024px) {
  .wp-pagenavi a.page:hover {
    background-color: #f3f3f3; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .wp-pagenavi a.page:hover {
    background-color: #f3f3f3; } }

@media screen and (min-width: 1024px) {
  .wp-pagenavi a.previouspostslink {
    position: absolute;
    top: 32px;
    left: 2px;
    display: block;
    height: 46px;
    line-height: 46px;
    font-size: 1.2rem;
    font-weight: 600;
    background: url(../img/arrow_bk02.svg) no-repeat 0 center;
    background-size: 8px;
    padding: 0 0 0 16px;
    border: none; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .wp-pagenavi a.previouspostslink {
    position: absolute;
    top: 32px;
    left: 2px;
    display: block;
    height: 46px;
    line-height: 46px;
    font-size: 1.1rem;
    font-weight: 600;
    background: url(../img/arrow_bk02.svg) no-repeat 0 center;
    background-size: 8px;
    padding: 0 0 0 16px;
    border: none; } }
@media screen and (max-width: 767px) {
  .wp-pagenavi a.previouspostslink {
    display: none; } }

@media screen and (min-width: 1024px) {
  .wp-pagenavi a.nextpostslink {
    position: absolute;
    top: 32px;
    right: 2px;
    display: block;
    height: 46px;
    line-height: 46px;
    font-size: 1.2rem;
    font-weight: 600;
    background: url(../img/arrow_bk01.svg) no-repeat right center;
    background-size: 8px;
    padding: 0 16px 0 0;
    border: none; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .wp-pagenavi a.nextpostslink {
    position: absolute;
    top: 32px;
    right: 2px;
    display: block;
    height: 46px;
    line-height: 46px;
    font-size: 1.1rem;
    font-weight: 600;
    background: url(../img/arrow_bk01.svg) no-repeat right center;
    background-size: 8px;
    padding: 0 16px 0 0;
    border: none; } }
@media screen and (max-width: 767px) {
  .wp-pagenavi a.nextpostslink {
    display: none; } }

/* ########## pagenavi ########## */
/* ########## page_contents_block ########## */
@media screen and (min-width: 1024px) {
  .page_contents_block {
    width: 100%; } }

@media screen and (min-width: 1024px) {
  .page_contents_block:nth-child(n+2) {
    width: 100%; } }

/* ########## page_contents_block ########## */
/* ########## page_contents_list ########## */
@media screen and (min-width: 1024px) {
  .page_contents_list {
    width: 100%; }
    .page_contents_list ul {
      position: relative;
      width: 100%;
      border-top: 1px solid #ddd; }
      .page_contents_list ul li {
        position: relative;
        font-size: 1.3rem;
        border-bottom: 1px solid #ddd; }
        .page_contents_list ul li a, .page_contents_list ul li a:link a:visited {
          display: block;
          width: 100%;
          font-weight: 400;
          padding: 14px 0 14px 14px; }
        .page_contents_list ul li a:hover {
          color: #333; }
      .page_contents_list ul li::after {
        content: '';
        position: absolute;
        top: 50%;
        left: 2px;
        width: 6px;
        height: 1px;
        background-color: #333;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%); }
      .page_contents_list ul .link-current a {
        position: relative;
        color: #333 !important;
        font-weight: 600; }
      .page_contents_list ul .link-current a::after {
        content: '';
        position: absolute;
        top: 22px;
        right: 5px;
        width: 10px;
        height: 10px;
        background: url(../img/arrow_bk01.svg) no-repeat 0 0;
        background-size: 10px; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .page_contents_list {
    width: 100%; }
    .page_contents_list ul {
      position: relative;
      width: 100%;
      border-top: 1px solid #ddd; }
      .page_contents_list ul li {
        position: relative;
        font-size: 1.2rem;
        border-bottom: 1px solid #ddd; }
        .page_contents_list ul li a, .page_contents_list ul li a:link a:visited {
          display: block;
          width: 100%;
          font-weight: 400;
          padding: 14px 0 14px 2px; }
        .page_contents_list ul li a:hover {
          color: #333; }
      .page_contents_list ul .link-current a {
        position: relative;
        color: #333 !important;
        font-weight: 600; }
      .page_contents_list ul .link-current a::after {
        content: '';
        position: absolute;
        top: 18px;
        right: 5px;
        width: 10px;
        height: 10px;
        background: url(../img/arrow_bk01.svg) no-repeat 0 0;
        background-size: 10px; } }
@media screen and (max-width: 767px) {
  .page_contents_list {
    display: none; } }

/* ########## page_contents_list ########## */
/* ########## form_style ########## */
@media screen and (min-width: 1024px) {
  span.input_font {
    font-size: 1.2rem;
    padding-top: 10px; }

  span.wpcf7-not-valid-tip {
    font-size: 1.2rem;
    font-weight: 500;
    color: #d30000;
    padding-top: 6px; }

  .error {
    font-size: 1rem !important;
    font-weight: 500 !important;
    color: #d30000 !important;
    display: block !important;
    padding-top: 6px !important; }

  p.contact_font_style01 {
    font-size: 1.2rem;
    padding-top: 10px; }

  p.contact_font_style02 {
    font-size: 1.2rem;
    padding-top: 10px;
    padding-bottom: 5px; }

  p.contact_font_style03 {
    font-size: 1.2rem;
    padding-bottom: 5px; }

  /* contact form7 */
  input.input_title01 {
    color: #333;
    font-size: 1.6rem;
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
    letter-spacing: 0.025em;
    font-weight: 500;
    border: none;
    padding: 12px 0;
    width: 100%; }

  input.input_text01 {
    color: #333;
    font-size: 1.6rem;
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
    letter-spacing: 0.025em;
    font-weight: 500;
    border: 1px solid #ddd;
    padding: 12px 16px;
    width: 70%; }

  input.input_text02 {
    color: #333;
    font-size: 1.6rem;
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
    letter-spacing: 0.025em;
    font-weight: 500;
    border: 1px solid #ddd;
    padding: 12px 16px;
    width: 100%; }

  input.input_text03 {
    color: #333;
    font-size: 1.6rem;
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
    letter-spacing: 0.025em;
    font-weight: 500;
    border: 1px solid #ddd;
    padding: 12px 16px;
    width: 120px;
    margin: 0 8px; }

  input.input_zip01 {
    color: #333;
    font-size: 1.6rem;
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
    letter-spacing: 0.025em;
    font-weight: 500;
    border: 1px solid #ddd;
    padding: 12px 16px;
    width: 200px; }

  input.input_date01 {
    color: #333;
    font-size: 1.6rem;
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
    letter-spacing: 0.025em;
    font-weight: 500;
    border: 1px solid #ddd;
    padding: 12px 16px;
    width: 260px; }

  input.input_tel01 {
    color: #333;
    font-size: 1.6rem;
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
    letter-spacing: 0.025em;
    font-weight: 500;
    border: 1px solid #ddd;
    padding: 12px 16px;
    width: 50%; }

  .select_style01 {
    color: #333;
    font-size: 1.6rem;
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
    letter-spacing: 0.025em;
    font-weight: 500;
    border: 1px solid #ddd;
    padding: 12px 16px;
    width: 260px;
    margin-left: 5px;
    background: url(../img/arrow_b03.svg) no-repeat right 15px center;
    background-size: 10px; }

  .select_style02 {
    color: #333;
    font-size: 1.6rem;
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
    letter-spacing: 0.025em;
    font-weight: 500;
    border: 1px solid #ddd;
    padding: 12px 16px;
    width: 130px;
    margin-left: 5px;
    background: url(../img/arrow_b03.svg) no-repeat right 15px center;
    background-size: 10px; }

  .wpcf7-checkbox {
    display: block;
    width: 50%; }
    .wpcf7-checkbox .wpcf7-list-item {
      display: block;
      width: 100%;
      font-size: 1.6rem;
      margin-left: 0 !important; }
    .wpcf7-checkbox .wpcf7-list-item:nth-child(n+2) {
      margin-top: 6px; }

  .wpcf7-response-output {
    position: relative;
    width: 860px;
    color: #d30000;
    text-align: center;
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: 0.025em;
    background-color: #f3f3f3;
    padding: 40px 16px !important;
    border: none !important;
    margin: 60px auto 0 !important; }

  h6.form_btn_style01 {
    position: relative;
    width: 340px;
    height: 58px;
    margin: 0 auto; }
    h6.form_btn_style01 input {
      position: relative;
      cursor: pointer;
      width: 100%;
      height: 58px;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #fff;
      font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
      display: block !important;
      font-size: 1.6rem;
      font-weight: 600;
      letter-spacing: 0.025em;
      line-height: 1.0;
      background-color: #333;
      transition: all .3s;
      border: none; }
    h6.form_btn_style01 input:hover {
      background-color: #454545; }

  /* contact form7 */
  textarea {
    color: #333;
    font-size: 1.6rem;
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
    letter-spacing: 0.05em;
    font-weight: 500;
    line-height: 2.0;
    border: 1px solid #ddd;
    padding: 16px;
    width: 100%;
    height: 200px; }

  ::placeholder {
    color: #ccc;
    font-weight: 400;
    font-size: 1.6rem; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  span.input_font {
    font-size: 1.1rem;
    padding-top: 10px; }

  span.wpcf7-not-valid-tip {
    font-size: 1.1rem;
    font-weight: 500;
    color: #d30000;
    padding-top: 6px; }

  .error {
    font-size: 1.1rem !important;
    font-weight: 500 !important;
    color: #d30000 !important;
    display: block !important;
    padding-top: 6px !important; }

  .wpcf7-list-item {
    margin: 0 !important; }

  p.contact_font_style01 {
    font-size: 1.1rem;
    padding-top: 10px; }

  p.contact_font_style02 {
    font-size: 1.1rem;
    padding-top: 10px;
    padding-bottom: 5px; }

  p.contact_font_style03 {
    font-size: 1.1rem;
    padding-bottom: 5px; }

  /* contact form7 */
  input.input_title01 {
    color: #333;
    font-size: 1.5rem;
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
    letter-spacing: 0.025em;
    font-weight: 500;
    border: none;
    padding: 12px 0;
    width: 100%; }

  input.input_text01 {
    color: #333;
    font-size: 1.5rem;
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
    letter-spacing: 0.025em;
    font-weight: 500;
    border: 1px solid #ddd;
    padding: 12px 16px;
    width: 80%; }

  input.input_text02 {
    color: #333;
    font-size: 1.5rem;
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
    letter-spacing: 0.025em;
    font-weight: 500;
    border: 1px solid #ddd;
    padding: 12px 16px;
    width: 100%; }

  input.input_text03 {
    color: #333;
    font-size: 1.5rem;
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
    letter-spacing: 0.025em;
    font-weight: 500;
    border: 1px solid #ddd;
    padding: 12px 20px;
    width: 100px;
    margin: 0 10px; }

  input.input_zip01 {
    color: #333;
    font-size: 1.5rem;
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
    letter-spacing: 0.025em;
    font-weight: 500;
    border: 1px solid #ddd;
    padding: 12px 16px;
    width: 35%; }

  input.input_date01 {
    color: #333;
    font-size: 1.5rem;
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
    letter-spacing: 0.025em;
    font-weight: 500;
    border: 1px solid #ddd;
    padding: 12px 16px;
    width: 220px; }

  input.input_tel01 {
    color: #333;
    font-size: 1.5rem;
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
    letter-spacing: 0.025em;
    font-weight: 500;
    border: 1px solid #ddd;
    padding: 12px 16px;
    width: 80%; }

  .select_style01 {
    color: #333;
    font-size: 1.5rem;
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
    letter-spacing: 0.025em;
    font-weight: 500;
    border: 1px solid #ddd;
    background: url(../img/arrow_b03.svg) no-repeat right 15px center;
    background-size: 10px;
    padding: 12px 20px;
    width: 220px;
    margin-left: 5px; }

  .select_style02 {
    color: #333;
    font-size: 1.5rem;
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
    letter-spacing: 0.025em;
    font-weight: 500;
    border: 1px solid #ddd;
    background: url(../img/arrow_b03.svg) no-repeat right 15px center;
    background-size: 10px;
    padding: 12px 16px;
    width: 120px;
    margin-left: 5px; }

  .wpcf7-checkbox {
    display: block;
    width: 100%; }
    .wpcf7-checkbox .wpcf7-list-item {
      display: block;
      width: 100%;
      font-size: 1.5rem;
      margin-left: 0 !important; }
    .wpcf7-checkbox .wpcf7-list-item:nth-child(n+2) {
      margin-top: 6px; }

  .wpcf7-response-output {
    position: relative;
    width: 100%;
    color: #d30000;
    text-align: center;
    font-size: 1.4rem;
    font-weight: 500;
    letter-spacing: 0.025em;
    background-color: #f3f3f3;
    padding: 32px 8px !important;
    border: none !important;
    margin: 45px 0 0 !important; }

  h6.form_btn_style01 {
    position: relative;
    width: 340px;
    height: 56px;
    margin: 0 auto; }
    h6.form_btn_style01 input {
      position: relative;
      cursor: pointer;
      width: 100%;
      height: 56px;
      display: flex;
      align-items: center;
      justify-content: center;
      margin: 0 auto;
      color: #fff;
      font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
      display: block !important;
      font-size: 1.5rem;
      font-weight: 600;
      letter-spacing: 0.025em;
      line-height: 1.0;
      background-color: #333;
      transition: all .3s;
      border: none; }
    h6.form_btn_style01 input:hover {
      background-color: #454545; }

  /* contact form7 */
  textarea {
    color: #333;
    font-size: 1.5rem;
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
    letter-spacing: 0.025em;
    font-weight: 500;
    line-height: 2.0;
    border: 1px solid #ddd;
    padding: 16px;
    width: 100%;
    height: 200px; }

  ::placeholder {
    color: #ccc;
    font-weight: 400;
    font-size: 1.5rem; } }
@media screen and (max-width: 767px) {
  span.input_font {
    font-size: 1.1rem;
    padding-top: 10px; }

  span.wpcf7-not-valid-tip {
    font-size: 1.1rem;
    font-weight: 500;
    color: #d30000;
    padding-top: 5px; }

  .error {
    font-size: 1.1rem !important;
    font-weight: 500 !important;
    color: #d30000 !important;
    display: block !important;
    padding-top: 5px !important; }

  p.contact_font_style01 {
    font-size: 1.1rem;
    margin-top: 8px; }

  p.contact_font_style02 {
    font-size: 1.1rem;
    margin-top: 8px;
    padding-bottom: 6px; }

  p.contact_font_style03 {
    font-size: 1.1rem;
    padding-bottom: 6px; }

  /* contact form7 */
  input.input_title01 {
    color: #333;
    font-size: 1.5rem;
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
    letter-spacing: 0.025em;
    font-weight: 500;
    border: none;
    padding: 0;
    width: 100%; }

  input.input_text01 {
    color: #333;
    font-size: 1.5rem;
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
    font-weight: 500;
    letter-spacing: 0.025em;
    border: 1px solid #ddd;
    padding: 12px;
    width: 100%; }

  input.input_text02 {
    color: #333;
    font-size: 1.5rem;
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
    font-weight: 500;
    letter-spacing: 0.025em;
    border: 1px solid #ddd;
    padding: 12px;
    width: 100%; }

  input.input_text03 {
    color: #333;
    font-size: 1.5rem;
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
    font-weight: 500;
    letter-spacing: 0.025em;
    border: 1px solid #ddd;
    padding: 12px;
    width: 80px;
    margin: 0 6px 0 8px; }

  input.input_tel01 {
    color: #333;
    font-size: 1.5rem;
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
    font-weight: 500;
    letter-spacing: 0.025em;
    border: 1px solid #ddd;
    padding: 12px;
    width: 100%; }

  input.input_zip01 {
    color: #333;
    font-size: 1.5rem;
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
    font-weight: 500;
    letter-spacing: 0.025em;
    border: 1px solid #ddd;
    padding: 12px;
    width: 50%; }

  input.input_date01 {
    color: #333;
    font-size: 1.5rem;
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
    font-weight: 500;
    letter-spacing: 0.025em;
    border: 1px solid #ddd;
    padding: 12px;
    width: 180px; }

  .select_style01 {
    color: #333;
    font-size: 1.5rem;
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
    font-weight: 500;
    letter-spacing: 0.025em;
    border: 1px solid #ddd;
    padding: 10px;
    width: 180px;
    margin-left: 5px;
    background: url(../img/arrow_b03.svg) no-repeat right 15px center;
    background-size: 8px; }

  .select_style02 {
    color: #333;
    font-size: 1.5rem;
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
    font-weight: 500;
    letter-spacing: 0.025em;
    border: 1px solid #ddd;
    padding: 10px;
    width: 100px;
    margin-left: 5px;
    background: url(../img/arrow_b03.svg) no-repeat right 15px center;
    background-size: 8px; }

  .wpcf7-checkbox {
    display: block;
    width: 100%; }
    .wpcf7-checkbox .wpcf7-list-item {
      display: block;
      width: 100%;
      font-size: 1.3rem;
      font-weight: 500;
      margin-left: 0 !important; }
    .wpcf7-checkbox .wpcf7-list-item:nth-child(n+2) {
      margin-top: 4px; }

  .wpcf7-response-output {
    position: relative;
    width: 88%;
    color: #d30000;
    text-align: center;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0.025em;
    background-color: #f3f3f3;
    padding: 24px 8px !important;
    border: none !important;
    margin: 40px auto 0 !important; }

  h6.form_btn_style01 {
    position: relative;
    width: 100%;
    height: 52px; }
    h6.form_btn_style01 input {
      position: relative;
      width: 100%;
      height: 52px;
      font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #333;
      color: #fff;
      font-size: 1.5rem;
      font-weight: 500;
      line-height: 1.0;
      letter-spacing: 0.025em;
      border: none;
      background-color: #333; }

  /* contact form7 */
  textarea {
    color: #333;
    font-size: 1.5rem;
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
    font-weight: 500;
    letter-spacing: 0.025em;
    line-height: 2.0;
    border: 1px solid #ddd;
    padding: 12px;
    width: 100%;
    height: 200px; }

  ::placeholder {
    color: #ccc;
    font-weight: 400;
    font-size: 1.5rem; } }
/* ########## form_style ########## */
/* ########## class_style ########## */
@media screen and (min-width: 1024px) {
  #ui-datepicker-div {
    width: 260px;
    padding: 1rem !important;
    border: 1px solid #ddd; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  #ui-datepicker-div {
    width: 260px;
    padding: 1rem !important;
    border: 1px solid #ddd; } }
@media screen and (max-width: 767px) {
  #ui-datepicker-div {
    width: 280px;
    padding: 1rem !important;
    border: 1px solid #ddd; } }

.ui-state-default,
.ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default,
.ui-button, html
.ui-button.ui-state-disabled:hover, html
.ui-button.ui-state-disabled:active {
  font-family: "EB Garamond", "Shippori Mincho B1", sans-serif !important;
  font-size: 1.3rem !important;
  font-weight: 500 !important;
  padding: 5px 5px !important; }

.ui-widget-header {
  font-family: "EB Garamond", "Shippori Mincho B1", sans-serif !important;
  color: #333 !important;
  font-weight: 600 !important; }

table.ui-datepicker-calendar th {
  font-family: "EB Garamond", "Shippori Mincho B1", sans-serif !important;
  font-size: 1.2rem !important;
  font-weight: 600 !important; }

@media screen and (min-width: 1024px) {
  .mt_0 {
    margin-top: 0 !important; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .mt_0 {
    margin-top: 0 !important; } }
@media screen and (max-width: 767px) {
  .mt_0 {
    margin-top: 0 !important; } }

@media screen and (min-width: 1024px) {
  .img_border01 {
    border: 1px solid #ddd; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .img_border01 {
    border: 1px solid #ddd; } }
@media screen and (max-width: 767px) {
  .img_border01 {
    border: 1px solid #ddd; } }

@media screen and (min-width: 1024px) {
  .fadein {
    opacity: 0;
    transform: translate(0, 15px);
    transition: all 1000ms; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .fadein {
    opacity: 0;
    transform: translate(0, 15px);
    transition: all 1000ms; } }

@media screen and (min-width: 1024px) {
  .fadein.scrollin {
    opacity: 1;
    transform: translate(0, 0); } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .fadein.scrollin {
    opacity: 1;
    transform: translate(0, 0); } }

@media screen and (max-width: 767px) {
  .sp_fadein {
    opacity: 0;
    transform: translate(0, 15px);
    transition: all 1000ms; } }

@media screen and (max-width: 767px) {
  .sp_fadein.scrollin {
    opacity: 1;
    transform: translate(0, 0); } }

@media screen and (min-width: 1024px) {
  .fadein_left {
    opacity: 0;
    transform: translate(20px, 0);
    transition: all 1000ms; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .fadein_left {
    opacity: 0;
    transform: translate(20px, 0);
    transition: all 1000ms; } }

@media screen and (min-width: 1024px) {
  .fadein_left.scrollin {
    opacity: 1;
    transform: translate(0, 0); } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .fadein_left.scrollin {
    opacity: 1;
    transform: translate(0, 0); } }

@media screen and (max-width: 767px) {
  .sp_fadein_left {
    opacity: 0;
    transform: translate(10px, 0);
    transition: all 1000ms; } }

@media screen and (max-width: 767px) {
  .sp_fadein_left.scrollin {
    opacity: 1;
    transform: translate(0, 0); } }

@media screen and (max-width: 767px) {
  .pc {
    display: none; } }

@media screen and (min-width: 1024px) {
  .sp {
    display: none; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .sp {
    display: none; } }

@media screen and (min-width: 1024px) {
  .sticky {
    position: sticky;
    position: -webkit-sticky;
    top: 120px; } }
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .sticky {
    position: sticky;
    position: -webkit-sticky;
    top: 100px; } }

.f_black_style01 {
  color: #333; }

.f_black_style02 {
  color: #333;
  font-weight: 500; }

.f_red_style01 {
  color: #d30000; }

.f_red_style02 {
  color: #d30000;
  font-weight: 500; }

.js-logo-reveal {
  opacity: 0; }

/* ########## class_style ########## */
/* ########## recaptcha ########## */
.grecaptcha-badge {
  visibility: hidden; }

/* ########## recaptcha ########## */
