@charset "UTF-8";
/* CSS Document */
.clearfix:after {
 content: " ";
 height: 0;
 clear: both;
 visibility: hidden;
}

@font-face {
    font-family: 'IBM';
    src: url('../fonts/IBMPlexSansJP-Regular.woff2');
}
@font-face {
    font-family: 'IBM-BLD';
    src: url('../fonts/IBMPlexSansJP-Bold.woff2');
}
@font-face {
    font-family: 'IBM-JP-BLD';
    src: url('../fonts/IBMPlexSansJP-SemiBold.woff2');
}
@font-face {
    font-family: 'IBM-MDI';
    src: url('../fonts/IBMPlexSans-Medium.woff2');
}
@font-face {
    font-family: 'IBM-JP-MDI';
    src: url('../fonts/IBMPlexSansJP-Medium.woff2');
}
@font-face {
    font-family: 'IBM-SEM-BLD';
    src: url('../fonts/IBMPlexSans-SemiBold.woff2');
}
@font-face {
    font-family: 'IBM-SEM-JP-BLD';
    src: url('../fonts/IBMPlexSansJP-SemiBold.woff2');
}
@font-face {
    font-family: 'NOTO';
    src: url('../fonts/NotoSansJP-Regular.otf');
}
@font-face {
    font-family: 'NOTO-MDI';
    src: url('../fonts/NotoSansJP-Medium.otf');
}
@font-face {
    font-family: 'NOTO-BLD';
    src: url('../fonts/NotoSansJP-Bold.otf');
}
@font-face {
    font-family: 'NOTO-SEM-BLD';
    src: url('../fonts/NotoSansJP-Medium.otf');
}
@font-face {
    font-family: 'NOTO-BLK';
    src: url('../fonts/NotoSansJP-Black.otf');
}
@font-face {
    font-family: 'EB-BLD';
    src: url('../fonts/EBGaramond-Bold.woff2');
}
@font-face {
    font-family: 'SHI-BLD';
    src: url('../fonts/ShipporiMincho-Bold.woff2');
}
@font-face {
    font-family: 'SHI-MDI';
    src: url('../fonts/ShipporiMincho-Medium.woff2');
}

/ ＊Hides from IE-mac \＊/
* html .clearfix {height: 1%;}
/* End hide from IE-mac */

    html {
        scroll-behavior: smooth;
    }

    tr {
        display: inline-block;
        vertical-align: top;
        border-color: inherit;
    }

    tbody {
        margin: 0px auto;
        width: 100%;
        display: block;
        vertical-align: middle;
        border-color: inherit;
    }

    h1 {
        display: block;
        font-size: 2em;
        margin-block-start: 0.67em;
        margin-block-end: 0.67em;
        margin-inline-start: 0px;
        margin-inline-end: 0px;
        font-weight: unset;
    }

    h2 {
        font-weight: normal;
    }

    h3 {
        font-weight: normal;
    }

    h4 {
        font-weight: normal;
    }

    h5 {
        font-weight: normal;
    }

    h6 {
        font-weight: normal;
    }

    a {
        text-decoration: none;
    }

/* 地図全体 */
    .map-area {
      width: 100%;
    }

    .map-wrap {
      position: relative;
      width: 100%;
      line-height: 0;
    }

    .map-wrap picture,
    .map-wrap .map-image {
      display: block;
      width: 100%;
      height: auto;
    }

    /* =========================
       花びらピン共通
       ========================= */
    .map-pin {
      --x: 50%;
      --y: 50%;

      position: absolute;
      left: var(--x);
      top: var(--y);
      transform: translate(-50%, -50%);

      width: 3.3854167%; /* 65 / 1920 × 100 = 3.3854167% */
      min-width: 34px;   /* 小さすぎ防止。不要なら削除可 */
      max-width: 65px;   /* 1920px以上で65pxを維持したい場合 */
      
      padding: 0;
      margin: 0;
      border: 0;
      background: transparent;
      cursor: pointer;
      appearance: none;
      z-index: 2;
      line-height: 1;
    }

    .map-pin-2 {
      --x: 50%;
      --y: 50%;

      position: absolute;
      left: var(--x);
      top: var(--y);
      transform: translate(-50%, -50%);

      width: 4.3854167%; /* 65 / 1920 × 100 = 3.3854167% */
      min-width: 34px;   /* 小さすぎ防止。不要なら削除可 */
      max-width: 65px;   /* 1920px以上で65pxを維持したい場合 */
      
      padding: 0;
      margin: 0;
      border: 0;
      background: transparent;
      cursor: pointer;
      appearance: none;
      z-index: 2;
      line-height: 1;
    }

    /* 画像 */
    .map-pin .pin-img {
      display: block;
      width: 100%;
      height: auto;
      transition:
        filter 0.35s ease,
        transform 0.35s ease,
        opacity 0.35s ease;
    }

    /* 画像 */
    .map-pin-2 .pin-img {
      display: block;
      width: 100%;
      height: auto;
      transition:
        filter 0.35s ease,
        transform 0.35s ease,
        opacity 0.35s ease;
    }

    /* ラベル */
    .map-pin .pin-label {
      position: absolute;
          left: 112%;
    bottom: 88%;
      transform: translate(10px, 10px);

      white-space: nowrap;
      background: #2a2220;
      color: #fff;
      font-size: clamp(12px, 1vw, 18px);
      line-height: 1.2;
      padding: 0.7em 1em;
      opacity: 0;
      visibility: hidden;

      transition:
        opacity 0.3s ease,
        transform 0.3s ease,
        visibility 0.3s ease;

      z-index: 3;
    }

    /* ラベル */
    .map-pin-2 .pin-label {
      position: absolute;
          left: 112%;
    bottom: 88%;
      transform: translate(10px, 10px);

      white-space: nowrap;
      background: #2a2220;
      color: #fff;
      font-size: clamp(12px, 1vw, 18px);
      line-height: 1.2;
      padding: 0.7em 1em;
      opacity: 0;
      visibility: hidden;

      transition:
        opacity 0.3s ease,
        transform 0.3s ease,
        visibility 0.3s ease;

      z-index: 3;
    }

    /* ラベルの吹き出しの尻尾 */
    .map-pin .pin-label::before {
        content: "";
        position: absolute;
        left: -30px;
        bottom: 3px;
        width: 33px;
        height: 5px;
        background: #2a2220;
        transform: rotate(-42deg);
        transform-origin: right center;
    }

    /* ラベルの吹き出しの尻尾 */
    .map-pin-2 .pin-label::before {
        content: "";
        position: absolute;
        left: -30px;
        bottom: 3px;
        width: 33px;
        height: 5px;
        background: #2a2220;
        transform: rotate(-42deg);
        transform-origin: right center;
    }

    /* hover / focus */
    .map-pin:hover .pin-img,
    .map-pin:focus-visible .pin-img {
      filter: invert(1);
      transform: scale(1.05);
    }

    .map-pin:hover .pin-label,
    .map-pin:focus-visible .pin-label {
      opacity: 1;
      visibility: visible;
      transform: translate(0, 0);
      font-size: 24px;
      line-height: 32px;
      letter-spacing: 0px;
      font-family: 'SHI-BLD';
    }

    /* hover / focus */
    .map-pin-2:hover .pin-img,
    .map-pin-2:focus-visible .pin-img {
      filter: invert(1);
      transform: scale(1.05);
    }

    .map-pin-2:hover .pin-label,
    .map-pin-2:focus-visible .pin-label {
      opacity: 1;
      visibility: visible;
      transform: translate(0, 0);
      font-size: 24px;
      line-height: 32px;
      letter-spacing: 0px;
      font-family: 'SHI-BLD';
    }

    /* =========================
       位置指定
       数字を変えるだけで後から調整可能
       ========================= */

    /* 仙台 */
    .map-pin.sendai {
        --x: 61.2%;
        --y: 51.8%;
    }

    /* 大阪 */
    .map-pin.osaka {
        --x: 38.8%;
        --y: 71.9%;
    }

    /* 福岡 */
    .map-pin.fukuoka {
        --x: 19.6%;
        --y: 75.8%;
    }

    /* 仙台 */
    .map-pin-2.sendai {
        --x: 61.2%;
        --y: 51.8%;
    }

    /* 大阪 */
    .map-pin-2.osaka {
        --x: 38.8%;
        --y: 71.9%;
    }

    /* 福岡 */
    .map-pin-2.fukuoka {
        --x: 19.6%;
        --y: 75.8%;
    }

    /* =========================
       スマホでラベルの位置や大きさを少し調整
       ========================= */
    @media screen and (max-width: 1200px) {
      
      .map-pin {
        --x: 50%;
        --y: 50%;
        position: absolute;
        left: var(--x);
        top: var(--y);
        transform: translate(-50%, -50%);
        width: 3.3854167%;
        min-width: 21px;
        max-width: none;
        padding: 0;
        margin: 0;
        border: 0;
        background: transparent;
        cursor: pointer;
        appearance: none;
        z-index: 2;
        line-height: 1;
    }

      .map-pin .pin-label {
        left: -84%;
        bottom: 128%;
        font-size: clamp(10px, 2.2vw, 16px);
        padding: 0.1em 0.9em;
    }

      .map-pin .pin-label::before {
        content: "";
        position: absolute;
        left: -17px;
        bottom: 3px;
        width: 26px;
        height: 3px;
        background: #2a2220;
        transform: rotate(-132deg);
        transform-origin: right center;
    }

      .map-pin-2 {
        --x: 50%;
        --y: 50%;
        position: absolute;
        left: var(--x);
        top: var(--y);
        transform: translate(-50%, -50%);
        width: 3.3854167%;
        min-width: 30px;
        max-width: none;
        padding: 0;
        margin: 0;
        border: 0;
        background: transparent;
        cursor: pointer;
        appearance: none;
        z-index: 2;
        line-height: 1;
    }

      .map-pin-2 .pin-label {
        left: -84%;
        bottom: 128%;
        font-size: clamp(10px, 2.2vw, 16px);
        padding: 0.1em 0.9em;
    }

      .map-pin-2 .pin-label::before {
        content: "";
        position: absolute;
        left: -17px;
        bottom: 3px;
        width: 26px;
        height: 3px;
        background: #2a2220;
        transform: rotate(-132deg);
        transform-origin: right center;
    }

      .map-pin.sendai {
        --x: 71.2%;
        --y: 45.8%;
    }

        /* 大阪 */
        .map-pin.osaka {
        --x: 40.8%;
        --y: 68.9%;
    }

        /* 福岡 */
        .map-pin.fukuoka {
        --x: 13.6%;
        --y: 75.8%;
    }

        /* 仙台 */
        .map-pin-2.sendai {
        --x: 71.2%;
        --y: 45.8%;
    }

        /* 大阪 */
        .map-pin-2.osaka {
        --x: 40.8%;
        --y: 68.9%;
    }

        /* 福岡 */
        .map-pin-2.fukuoka {
        --x: 13.6%;
        --y: 75.8%;
    }

        .map-pin:hover .pin-label, .map-pin:focus-visible .pin-label {
            opacity: 1;
            visibility: visible;
            transform: translate(0, 0);
            font-size: 15px;
            line-height: 32px;
            letter-spacing: 0px;
            font-family: 'SHI-BLD';
        }
    }

/*  map  */

/*clearfix*/
    .lp-contents-clearfix {
        text-align: center;
        width: 52%;
        flex-wrap: wrap;
        display: flex;
        margin: 0px auto 120px auto;
        flex-direction: row;
        justify-content: space-between;
        align-content: center;
        align-items: flex-start;
    }
    .lp-contents-clearfix a{
        opacity: 1;
    }
    .lp-contents-clearfix a:hover{
        opacity: 1;
    }

    .lp-contents-clearfix-m {
        text-align: center;
        width: 100%;
        flex-wrap: wrap;
        display: flex;
        margin: 0px auto 48px auto;
        flex-direction: row;
        justify-content: center;
        align-content: center;
        align-items: center;
    }
    .lp-contents-clearfix-m a{
        opacity: 1;
    }
    .lp-contents-clearfix-m a:hover{
        opacity: 1;
    }

    .lp-contents-clearfix-m-2 {
        text-align: center;
        width: 100%;
        flex-wrap: wrap;
        display: flex;
        margin: 0px auto 10px auto;
        flex-direction: row;
        justify-content: flex-start;
        align-content: center;
        align-items: center;
    }
    .lp-contents-clearfix-m-2 a{
        opacity: 1;
    }
    .lp-contents-clearfix-m-2 a:hover{
        opacity: 1;
    }

    .lp-contents-clearfix-m-2-2 {
        text-align: center;
        width: 100%;
        flex-wrap: wrap;
        display: flex;
        margin: 0px auto 0px auto;
        flex-direction: row;
        justify-content: flex-start;
        align-content: center;
        align-items: center;
    }
    .lp-contents-clearfix-m-2-2 a{
        opacity: 1;
    }
    .lp-contents-clearfix-m-2-2 a:hover{
        opacity: 1;
    }

    .lp-contents-clearfix-2 {
        text-align: center;
        width: 100%;
        flex-wrap: wrap;
        display: flex;
        margin: 0px auto 16px auto;
        flex-direction: row;
        justify-content: center;
        align-content: center;
        align-items: center;
    }
    .lp-contents-clearfix-2 a{
        opacity: 1;
    }
    .lp-contents-clearfix-2 a:hover{
        opacity: 0.5;
    }

    .lp-contents-clearfix-3 {
        text-align: center;
        width: 100%;
        flex-wrap: wrap;
        display: flex;
        margin: 0px auto 0px auto;
        flex-direction: row;
        justify-content: center;
        align-content: center;
        align-items: center;
    }
    .lp-contents-clearfix-3 a{
        opacity: 1;
    }
    .lp-contents-clearfix-3 a:hover{
        opacity: 1;
    }

    .lp-contents-clearfix-3-2 {
        text-align: center;
        width: 100%;
        flex-wrap: wrap;
        display: flex;
        margin: 0px auto 150px auto;
        flex-direction: row;
        justify-content: center;
        align-content: center;
        align-items: center;
    }
    .lp-contents-clearfix-3-2 a{
        opacity: 1;
    }
    .lp-contents-clearfix-3-2 a:hover{
        opacity: 1;
    }

    .lp-contents-clearfix-4 {
        display: none;
    }
    .lp-contents-clearfix-4 a{
        opacity: 1;
    }
    .lp-contents-clearfix-4 a:hover{
        opacity: 1;
    }
    .lp-contents-clearfix-4-2 {
            text-align: center;
    width: 924px;
    flex-wrap: wrap;
    display: flex;
    margin: 0px auto 123px auto;
    flex-direction: row;
    justify-content: flex-start;
    align-content: center;
    align-items: flex-start;
    }
    .lp-contents-clearfix-4-2 a{
        opacity: 1;
    }
    .lp-contents-clearfix-4-2 a:hover{
        opacity: 0.5;
    }

    .lp-contents-clearfix-5 {
        text-align: center;
        width: 61.4%;
        flex-wrap: wrap;
        display: flex;
        margin: 0px auto 64px auto;
        flex-direction: row;
        justify-content: space-between;
        align-content: center;
        align-items: flex-start;
    }
    .lp-contents-clearfix-5 a{
        opacity: 1;
    }
    .lp-contents-clearfix-5 a:hover{
        opacity: 1;
    }

    .lp-contents-clearfix-6 {
    text-align: center;
    width: 100%;
    flex-wrap: wrap;
    display: flex;
    margin: 0px auto 50px auto;
    flex-direction: row;
    justify-content: center;
    align-content: center;
    align-items: center;
}
    .lp-contents-clearfix-6 a{
        opacity: 1;
    }
    .lp-contents-clearfix-6 a:hover{
        opacity: 1;
    }

    .box-img-m {
        width: 450px;
        margin: 0px 42px 0px 0px;
        flex-direction: row;
        text-align: left;
    }
    .box-img-m picture{
        width: 100%;
        margin: 0px auto 0px auto;
    }
    .box-img-m img{
        width: 100%;
        margin: 0px auto 0px auto;
    }

    .box-img-m-2 {
        width: 495px;
        margin: 0px 0px 0px 0px;
        flex-direction: row;
        text-align: left;
    }
    .box-img-m-2 picture{
        width: 100%;
        margin: 0px auto 0px auto;
    }
    .box-img-m-2 img{
        width: 100%;
        margin: 0px auto 0px auto;
    }

    .box-img-m-3 {
        width: 68px;
        margin: 0px 0px 0px 0px;
        flex-direction: row;
        text-align: left;
    }
    .box-img-m-3 picture{
        width: 100%;
        margin: 0px auto 0px auto;
    }
    .box-img-m-3 img{
        width: 100%;
        margin: 0px auto 0px auto;
    }

    .box-img-m-4 {
        width: 12px;
        margin: 0px 0px 0px 0px;
        flex-direction: row;
        text-align: left;
    }
    .box-img-m-4 picture{
        width: 100%;
        margin: 0px auto 0px auto;
    }
    .box-img-m-4 img{
        width: 100%;
        margin: 0px auto 0px auto;
    }

    .box-img-m-5 {
        width: 415px;
        margin: 0px 0px 0px 0px;
        flex-direction: row;
        text-align: left;
    }
    .box-img-m-5 picture{
        width: 100%;
        margin: 0px auto 0px auto;
    }
    .box-img-m-5 img{
        width: 100%;
        margin: 0px auto 0px auto;
    }

    .box-img-1 {
        width: 48.4%;
        margin: 0px 0px 0px 0px;
        flex-direction: row;
        text-align: center;
    }

    .box-img-1 img{
        width: 100%;
        margin: 0px auto 0px auto;
        display: block;
        transition: filter 0.4s ease;
    }
    .box-img-1 img:hover{
        width: 100%;
        margin: 0px auto 0px auto;
        filter: invert(1);
    }

    .box-img-2 {
        width: 84px;
        margin: 0px 48px 0px 0px;
        flex-direction: row;
        text-align: left;
    }
    .box-img-2 picture{
        width: 100%;
        margin: 0px auto 0px auto;
    }
    .box-img-2 img{
        width: 100%;
        margin: 0px auto 0px auto;
    }

    .box-img-3 {
        width: 355px;
        margin: 0px 0px 0px 0px;
        flex-direction: row;
        text-align: left;
    }
    .box-img-3 picture{
        width: 100%;
        margin: 0px auto 0px auto;
    }
    .box-img-3 img{
        width: 100%;
        margin: 0px auto 0px auto;
    }

    .box-img-4 {
        width: 20%;
        margin: 0px auto 0px auto;
        flex-direction: row;
        text-align: left;
    }
    .box-img-4 picture{
        width: 100%;
        margin: 0px auto 11px auto;
    }
    .box-img-4 img{
        width: 100%;
        margin: 0px auto 11px auto;
    }

/*    .box-img-product {
        width: 100%;
        margin: 0px 0px 0px 0px;
        flex-direction: row;
        text-align: center;
    }
    .box-img-product picture{
        width: 100%;
        margin: 0px auto 0px auto;
    }
    .box-img-product img{
        width: 100%;
        margin: 0px auto 0px auto;
    }*/

    .box-img-5 {
        width: 30%;
        margin: 0px 0px 0px 0px;
        flex-direction: row;
        text-align: left;
    }
    .box-img-5 picture{
        width: 100%;
        margin: 0px auto 16px auto;
    }
    .box-img-5 img{
        width: 100%;
        margin: 0px auto 16px auto;
    }

    .box-img-6 {
        width: 250px;
        margin: 0px 25px 50px 25px;
        flex-direction: row;
        text-align: left;
    }
    .box-img-6 picture{
        width: 100%;
        margin: 0px auto 0px auto;
    }
    .box-img-6 img{
        width: 100%;
        margin: 0px auto 0px auto;
    }

    .box-img-7 {
        width: 400px;
        margin: 0px 50px 0px 0px;
        flex-direction: row;
        text-align: left;
    }
    .box-img-7 picture{
        width: 100%;
        margin: 0px auto 0px auto;
    }
    .box-img-7 img{
        width: 100%;
        margin: 0px auto 0px auto;
    }

    .box-img-8 {
        width: 450px;
        margin: 0px 0px 0px 0px;
        flex-direction: row;
        text-align: left;
    }
    .box-img-8 picture{
        width: 100%;
        margin: 0px auto 0px auto;
    }
    .box-img-8 img{
        width: 100%;
        margin: 0px auto 0px auto;
    }

/*clearfix*/

/* nav */
    /* 右上固定メニュー */
    .floating-menu {
        position: fixed;
        right: 4%;
        top: 140px;
        z-index: 999;
        width: 335px;
        height: 40px;
        background: rgba(0, 0, 0, 0.8);
        border-radius: 999px;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
        opacity: 0.7;
        transition: opacity .3s ease;
        flex-wrap: wrap;
        flex-direction: row;
    }

    /* link */
    .floating-menu a,
    .floating-menu .divider {
        opacity: 0.7;
        color: #fff;
        line-height: 30px;
        text-decoration: none;
        opacity: 0.7;
        font-family: 'MON-MDI';
        font-size: 16px;
        margin: 0px 3px;
    }

    .floating-menu a:hover,
    .floating-menu .divider {
        opacity: 1;
        color: #fff;
        line-height: 30px;
        text-decoration: none;
        opacity: 0.7;
        font-family: 'MON-MDI';
        font-size: 16px;
        margin: 0px 3px;
    }

    .floating-menu .divider {
      pointer-events: none;
    }

    .floating-menu a.is-active {
      opacity: 1;
    }

/* nav_end */

/*youtube*/
    #movie-section {
        width: 380px;
        text-align: center;
        margin: 0px auto 0px auto;
    }
    #movie-section img{
        width: 100%;
        text-align: center;
        margin: 0px auto 0px auto;
    }

    #movie-section-2 {
        width: 100%;
        text-align: center;
        margin: 0px auto 0px auto;
    }
    #movie-section-2 img{
        width: 100%;
        text-align: center;
        margin: 0px auto 0px auto;
    }
    .tv__movie_2 {
        margin: 0px auto 0px auto;
        width: 100%;
        height: 170px;
        padding-top: 37%;
        position: relative;
    }
    .tv__movie_2 iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        border-radius: 10px;
    }
    .tv__movie {
        margin: 0px auto 0px auto;
        width: 100%;
        height: auto;
        padding-top: 178%;
        position: relative;
    }
    .tv__movie iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
    .tv__movie-pink {
        margin: 0px auto 0px auto;
        width: 100%;
        height: auto;
        padding-top: 56%;
        position: relative;
    }
    .tv__movie-pink iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
/*youtube*/

/*  text-animation  */

    .flow-underline {
      position: absolute;
      bottom: 32px;
      left: 50%;
      transform: translate(-50%,0%);
      display: inline-block;
    }

    .flow-underline .text {
        position: relative;
        color: #fff;
        font-family: 'MON-MDI';
        font-size: 16px;
        font-weight: bold;
        line-height: 16px;
        letter-spacing: 0.025em;
        /* padding-bottom: 7px; */
        padding: 0px 0px 7px 0px;
    }

    /* 下線 */
    .flow-underline .text::after {
      content: "";
      position: absolute;
      left: 0;
      bottom: 0;
      width: 100%;
      height: 2.5px;
      background-color: #fff;
      clip-path: inset(0 100% 0 0);
      animation: underlineClip 2.5s cubic-bezier(.4,0,.2,1) infinite;
    }

    /* アニメーション */
    @keyframes underlineClip {
      /* 左 → 右に伸びる */
      0% {
        clip-path: inset(0 100% 0 0);
      }

      45% {
        clip-path: inset(0 0 0 0);
      }

      /* 伸び切った状態を少しキープ */
      55% {
        clip-path: inset(0 0 0 0);
      }

      /* 左 → 右へ縮む */
      100% {
        clip-path: inset(0 0 0 100%);
      }
    }


    .flow-underline-2 {
      position: absolute;
      /*bottom: 32px;
      left: 50%;*/
      transform: translate(-50%,-50%);
      display: inline-block;
    }

    .flow-underline-2 .text-2 {
        position: relative;
        color: #fff;
        font-family: 'MON-MDI';
        font-size: 18px;
        font-weight: bold;
        line-height: 28px;
        letter-spacing: 0.025em;
        /* padding-bottom: 7px; */
        padding: 0px 0px 7px 0px;
    }

    /* 下線 */
    .flow-underline-2 .text-2::after {
      content: "";
      position: absolute;
      left: 0;
      bottom: 0;
      width: 100%;
      height: 2.5px;
      background-color: #fff;
      clip-path: inset(0 100% 0 0);
      animation: underlineClip 2.5s cubic-bezier(.4,0,.2,1) infinite;
    }

    /* アニメーション */
    @keyframes underlineClip {
      /* 左 → 右に伸びる */
      0% {
        clip-path: inset(0 100% 0 0);
      }

      45% {
        clip-path: inset(0 0 0 0);
      }

      /* 伸び切った状態を少しキープ */
      55% {
        clip-path: inset(0 0 0 0);
      }

      /* 左 → 右へ縮む */
      100% {
        clip-path: inset(0 0 0 100%);
      }
    }


/* text-animation_end */

/*img*/
    .title-img-top {
        width: 100%;
        margin: 0px auto 0px auto;
    }
    .title-img-top img {
      width: 100%;
      height: auto;
      display: block;
      /*animation: focusIn 2s ease-out forwards;
      filter: blur(12px);
      opacity: 0;
      transform: scale(1.03);
      will-change: filter, opacity, transform;*/
    }

    @keyframes focusIn {
      0% {
        filter: blur(12px);
        opacity: 0;
        transform: scale(1.03);
      }
      100% {
        filter: blur(0);
        opacity: 1;
        transform: scale(1);
      }
    }


    .title-img-top-load {
        position: absolute;
        top: 50%;
        right: 3%;
        transform: translate(-0%,-50%);
        width: 274px;
        margin: 0px auto 120px auto;
    }
    .title-img-top-load picture {
      width: 100%;
      height: auto;
      display: block;
      animation: focusInUp 1.6s ease-out forwards;
      animation-delay: 0.6s;
      filter: blur(12px);
      opacity: 0;
      transform: translateY(30px) scale(1.03);
      will-change: filter, opacity, transform;
    }

    @keyframes focusIn {
      0% {
        filter: blur(12px);
        opacity: 0;
        transform: scale(1.03);
      }
      100% {
        filter: blur(0);
        opacity: 1;
        transform: scale(1);
      }
    }

    .title-img-top-load-2 {
        position: absolute;
        top: 50%;
        left: 3%;
        transform: translate(-0%,-50%);
        width: 230px;
        margin: 0px auto 120px auto;
    }
    .title-img-top-load-2 img {
      width: 100%;
      height: auto;
      display: block;
      animation: focusInUp 1.6s ease-out forwards;
      animation-delay: 1s;
      filter: blur(12px);
      opacity: 0;
      transform: translateY(30px) scale(1.03);
      will-change: filter, opacity, transform;
    }

    @keyframes focusIn {
      0% {
        filter: blur(12px);
        opacity: 0;
        transform: scale(1.03);
      }
      100% {
        filter: blur(0);
        opacity: 1;
        transform: scale(1);
      }
    }

    @keyframes focusInUp {
      0% {
        filter: blur(12px);
        opacity: 0;
        transform: translateY(30px) scale(1.03);
      }
      100% {
        filter: blur(0);
        opacity: 1;
        transform: translateY(0) scale(1);
      }
    }

    .title-img-top-2 {
        width: 87%;
        margin: 0px auto 120px auto;
    }
    .title-img-top-2 img{
        width: 100%;
        margin: 0px auto 0px auto;
    }
    .title-img-top-2 picture{
        width: 100%;
        margin: 0px auto 0px auto;
    }
    .title-img-top-3 {
        width: 100%;
        margin: 0px auto 150px auto;
    }
    .title-img-top-3 img{
        width: 100%;
        margin: 0px auto 0px auto;
    }
    .title-img-top-3 picture{
        width: 100%;
        margin: 0px auto 0px auto;
    }

    .title-img-top-4 {
        display: block;
        width: 810px;
        margin: 0px auto 120px auto;
    }
    .title-img-top-4 img{
        width: 100%;
        margin: 0px auto 32px auto;
    }
    .title-img-top-4 picture{
        width: 100%;
        margin: 0px auto 32px auto;
    }

    .title-img-top-5 {
        width: 85%;
        margin: 0px auto 20px auto;
    }
/*img*/

/*button*/

    .button {
        padding: 14px 0px;
        margin: 0px auto 0px auto;
        text-align: center;
        width: 100%;
        border: 1px solid #2A2421;
        border-radius: 3px;
        font-family: 'NOTO-BLD';
        font-size: 16px;
        line-height: 24px;
        letter-spacing: 0px;
        color: #2A2421;
    }
    .button:hover {
        padding: 14px 0px;
        margin: 0px auto 0px auto;
        text-align: center;
        width: 100%;
        background-color: #2A2421;
        border: 1px solid #2A2421;
        border-radius: 3px;
        font-family: 'NOTO-BLD';
        font-size: 16px;
        line-height: 24px;
        letter-spacing: 0px;
        color: #fff;
    }

    .button-2 {
        padding: 15px 0px;
        margin: 0px auto 120px auto;
        text-align: center;
        width: 480px;
        background-color: #2A2421;
        border: 1px solid #2A2421;
        border-radius: 0px;
        font-family: 'NOTO-BLD';
        font-size: 16px;
        line-height: 24px;
        letter-spacing: 0px;
        color: #fff;
    }
    .button-2:hover {
        padding: 15px 0px;
        margin: 0px auto 120px auto;
        text-align: center;
        width: 480px;
        background-color: #fff;
        border: 1px solid #2A2421;
        border-radius: 0px;
        font-family: 'NOTO-BLD';
        font-size: 16px;
        line-height: 24px;
        letter-spacing: 0px;
        color: #2A2421;
    }
/*button*/

/*txt*/

    .lp-title-1 {
        font-family: 'EB-BLD';
        font-size: 50px;
        margin: 0px auto 8px auto;
        line-height: 60px;
        color: #2A2421;
        text-align: center;
        letter-spacing: 0px;
    }
    .lp-title-2 {
        font-family: 'SHI-BLD';
        font-size: 40px;
        margin: 0px auto 32px auto;
        line-height: 54px;
        color: #2A2421;
        text-align: center;
        letter-spacing: 0px;
    }
    .lp-title-3 {
        font-family: 'NOTO-BLD';
        font-size: 25px;
        margin: 0px auto 32px auto;
        line-height: 35px;
        color: #2A2421;
        text-align: center;
        letter-spacing: 0px;
    }
    .lp-title-3-2 {
        font-family: 'BEB';
        font-size: 71px;
        margin: 0px auto 50px auto;
        line-height: 38px;
        color: #fff;
        text-align: center;
        letter-spacing: 0px;
    }
    .lp-title-4 {
        font-family: 'NOTO-BLD';
        font-size: 16px;
        margin: 0px auto 0px 0px;
        line-height: 36px;
        color: #2A2421;
        text-align: left;
        letter-spacing: 0px;
    }
    .lp-title-5 {
        font-family: 'NOTO-BLD';
        font-size: 16px;
        margin: 0px auto 11px 0px;
        line-height: 24px;
        color: #2A2421;
        text-align: left;
        letter-spacing: 0px;
    }
    .lp-title-5-2 {
        font-family: 'SHI-BLD';
        font-size: 48px;
        margin: 0px auto 40px auto;
        line-height: 58px;
        color: #2A2421;
        text-align: center;
        letter-spacing: 0px;
    }
    .lp-title-5-3 {
        font-family: 'SHI-BLD';
        font-size: 42px;
        margin: 0px auto 32px auto;
        line-height: 52px;
        color: #2A2421;
        text-align: center;
        letter-spacing: 0px;
    }
    .lp-title-5-4 {
        font-family: 'EB-BLD';
        font-size: 42px;
        margin: 0px auto 48px auto;
        line-height: 52px;
        color: #2A2421;
        text-align: center;
        letter-spacing: 0px;
    }
    .lp-title-6 {
        font-family: 'SHI-BLD';
        font-size: 25px;
        margin: 0px auto 24px auto;
        line-height: 36px;
        color: #2A2421;
        text-align: center;
        letter-spacing: 0px;
    }
    .lp-title-6-2 {
        font-family: 'SHI-BLD';
        font-size: 25px;
        margin: 0px auto 8px 0px;
        line-height: 36px;
        color: #2A2421;
        text-align: left;
        letter-spacing: 0px;
    }

    .lp-title-6-3 {
        font-family: 'SHI-BLD';
        font-size: 25px;
        margin: 0px auto 8px 0px;
        line-height: 36px;
        color: #2A2421;
        text-align: left;
        letter-spacing: 0px;
    }

    .lp-txt-m {
        font-family: 'SHI-BLD';
        font-size: 25px;
        margin: 0px auto 42px 0px;
        line-height: 35px;
        color: #2A2421;
        text-align: left;
        letter-spacing: 0px;
    }

    .lp-txt-m-2 {
        font-family: 'NOTO-BLD';
        font-size: 16px;
        margin: 0px auto 0px 0px;
        line-height: 26px;
        color: #2A2421;
        text-align: left;
        letter-spacing: 0px;
    }

    .lp-txt-m-3 {
        font-family: 'NOTO';
        font-size: 16px;
        margin: 0px auto 0px 0px;
        line-height: 26px;
        color: #2A2421;
        text-align: left;
        letter-spacing: 0px;
    }

    .lp-txt {
        font-family: 'SHI-MDI';
        font-size: 18px;
        margin: 0px auto 0px 0px;
        line-height: 36px;
        color: #2A2421;
        text-align: left;
        letter-spacing: 0px;
    }
    .lp-txt-1 {
        font-family: 'SHI-MDI';
        font-size: 18px;
        margin: 0px auto 0px auto;
        line-height: 36px;
        color: #2A2421;
        text-align: center;
        letter-spacing: 0px;
    }
    .lp-txt-2 {
        font-family: 'NOTO';
        font-size: 16px;
        margin: 0px auto 0px 0px;
        line-height: 36px;
        color: #2A2421;
        text-align: left;
        letter-spacing: 0px;
    }
    .lp-txt-3 {
        font-family: 'NOTO';
        font-size: 14px;
        margin: 0px auto 23px 0px;
        line-height: 22px;
        color: #2A2421;
        text-align: left;
        letter-spacing: 0px;
    }
    .lp-txt-3-2 {
        font-family: 'NOTO-MDI';
        font-size: 14px;
        margin: 15px auto 0px 0px;
        line-height: 22px;
        color: #fff;
        text-align: left;
        letter-spacing: 0px;
    }
    .lp-txt-4 {
        font-family: 'SHI-MDI';
        font-size: 18px;
        margin: 0px auto 8px auto;
        line-height: 36px;
        color: #2A2421;
        text-align: center;
        letter-spacing: 0px;
    }
    .lp-txt-4-2 {
        font-family: 'SHI-MDI';
        font-size: 18px;
        margin: 0px auto 0px auto;
        line-height: 36px;
        color: #2A2421;
        text-align: center;
        letter-spacing: 0px;
    }
    .lp-txt-5 {
        font-family: 'NOTO';
        font-size: 14px;
        margin: 0px auto 0px 0px;
        line-height: 24px;
        color: #2A2421;
        text-align: left;
        letter-spacing: 0px;
    }
    .lp-txt-5-2 {
        font-family: 'NOTO';
        font-size: 16px;
        margin: 0px auto 0px 0px;
        line-height: 30px;
        color: #111;
        text-align: left;
        letter-spacing: 0px;
    }
    .lp-txt-5-3 {
        font-family: 'NOTO';
        font-size: 16px;
        margin: 0px auto 0px 0px;
        line-height: 30px;
        color: #111;
        text-align: left;
        letter-spacing: 0px;
    }
    .lp-txt-6 {
        font-family: 'NOTO-MDI';
        font-size: 14px;
        margin: 20px auto 0px 0px;
        line-height: 28px;
        color: #111;
        text-align: left;
        letter-spacing: 0px;
    }
    .lp-txt-7 {
        font-family: 'NOTO';
        font-size: 16px;
        margin: 0px auto 20px 0px;
        line-height: 32px;
        color: #fff;
        text-align: left;
        letter-spacing: 0px;
    }
    .lp-txt-8 {
        font-family: 'NOTO-BLD';
        font-size: 20px;
        margin: 0px auto 30px 0px;
        line-height: 40px;
        color: #fff;
        text-align: left;
        letter-spacing: 0px;
    }
    .lp-txt-9 {
        font-family: 'NOTO';
        font-size: 16px;
        margin: 0px auto 50px 0px;
        line-height: 40px;
        color: #fff;
        text-align: left;
        letter-spacing: 0px;
    }
    .lp-txt-10 {
        font-family: 'NOTO-MDI';
        font-size: 16px;
        margin: 0px auto 0px 0px;
        line-height: 40px;
        color: #fff;
        text-align: left;
        letter-spacing: 0px;
    }
    .lp-txt-10 a{
        text-decoration: underline;
        font-family: 'NOTO-MDI';
        font-size: 16px;
        line-height: 40px;
        color: #fff;
        letter-spacing: 0px;
    }
    .lp-txt-10 a:hover {
        text-decoration: none;
        font-family: 'NOTO-MDI';
        font-size: 16px;
        line-height: 40px;
        color: #fff;
        letter-spacing: 0px;
    }

    .lp-txt-11 {
        font-family: 'NOTO-MDI';
        font-size: 16px;
        margin: 0px auto 0px 0px;
        line-height: 40px;
        color: #fff;
        text-align: left;
        letter-spacing: 0px;
    }
    .lp-txt-11 a{
        text-decoration: underline;
        font-family: 'NOTO-MDI';
        font-size: 16px;
        line-height: 40px;
        color: #fff;
        letter-spacing: 0px;
    }
    .lp-txt-11 a:hover {
        text-decoration: none;
        font-family: 'NOTO-MDI';
        font-size: 16px;
        line-height: 40px;
        color: #fff;
        letter-spacing: 0px;
    }
/*txt*/

/*border*/
    .border-1 {
        width: 700px;
        border-bottom: 1px solid #2A2421;
        margin: 0px auto 32px auto;
        text-align: center;
    }

    .border-2 {
        width: 100%;
        border-bottom: 1px solid #2A2421;
        margin: 13px auto 13px auto;
        text-align: center;
    }
/*border*/

/*main*/
    .lp-contents-box {
        width: 100%;
        margin: 0px auto 0px auto;
        text-align: center;
        padding: 0.1px 0px 0.1px 0px;
        background-color: #fff;
    }
/*main*/

/*article*/
    .lp-contents {
        width: 100%;
        margin: 0 auto;
        text-align: center;
    }
/*article*/

/*section*/
    .fv-section {
        width: 100%;
        margin: 0 auto;
        text-align: center;
        padding: 0.1px 0px;
    }
    .item-section {
        width: 100%;
        margin: 0 auto;
        text-align: center;
        padding: 150px 0px 0.1px 0px;
        background-image: url(./bg_top_1920px.webp);
        background-position: top;
        background-size: 100%;
        background-repeat: no-repeat;
    }
    .item-section-2 {
        width: 100%;
        margin: 0px auto 0px auto;
        text-align: center;
        padding: 0.1px 0px 0.1px 0px;
        background-image: url(./bg_pop_up_1920px.webp);
        background-position: bottom;
        background-size: 100%;
        background-repeat: no-repeat;
    }
    .item-section-3 {
        width: 100%;
        margin: 0px auto 0px auto;
        text-align: center;
        padding: 0.1px 0px;
        background-image: url(./bg_1920.webp);
        background-position: bottom;
        background-size: 100%;
        background-repeat: no-repeat;
    }
    .item-section-4 {
        width: 100%;
        margin: 0px auto 0px auto;
        text-align: center;
        padding: 120px 0px 0.1px 0px;
    }
    .item-section-5 {
        width: 100%;
        margin: 0px auto 0px auto;
        text-align: center;
        padding: 0.1px 0px;
    }
/*section*/

    .text-box-1 {
        width: 740px;
        margin: 0px auto 90px auto;
        text-align: center;
        padding: 0px 0px;
    }
    .text-box-2 {
        width: 900px;
        margin: 0px auto 48px auto;
        text-align: center;
        padding: 64px 0px;
        background-color: #F2F0F2;
    }
    .text-box-2-2 {
        width: 750px;
        margin: 0px auto 100px auto;
        text-align: center;
        padding: 0px 0px;
    }
    .text-box-3 {
        width: 734px;
        margin: 0px auto 40px auto;
        text-align: center;
        padding: 0px 0px;
    }
    .text-box-3-2 {
        width: 100%;
        margin: 0px auto 0px auto;
        text-align: center;
        padding: 0px 0px;
    }
    .text-box-4 {
        width: 800px;
        margin: 0px auto 80px auto;
        padding: 48px 0px;
        background-color: #fff;
    }
    .text-box-4-2 {
        width: 323px;
        margin: 0px auto 120px auto;
        padding: 0px 0px;
    }
    .text-box-5 {
        position: absolute;
        top: 50%;
        left: 0%;
        transform: translate(-0%,-50%);
        margin: 0px 0px 0px 0px;
        text-align: left;
        padding: 0px 20px 0px 0px;
        background-color: #fff;
    }
    .text-box-6 {
        position: absolute;
        top: 50%;
        right: 0%;
        transform: translate(-0%,-50%);
        margin: 0px 0px 0px 0px;
        text-align: right;
        padding: 0px 0px 0px 20px;
        background-color: #fff;
    }
    .text-box-7 {
        width: 900px;
        margin: 0px auto 120px auto;
        padding: 0px 0px;
    }

/*  products  */
    .product-wrapper {
        display: flex;
        flex-wrap: wrap;
        width: 100%;
        gap: 2px;
        align-items: flex-start;
        margin: 0px auto 56px auto;
    }

    .product-wrapper a{
        width: calc((100% - 8px) / 5); /* 2px × 4隙間 */
    }

    .product {
/*      width: calc((100% - 8px) / 5); /* 2px × 4隙間 */*/
      position: relative;
      margin-bottom: 24px;
    }

    .image-wrap img {
      width: 100%;
      display: block;
      transition: opacity 0.6s ease; /* ← フェード速度 */
      opacity: 1;
      will-change: opacity;
      backface-visibility: hidden;
    }

    .text {
        position: relative;
        margin-top: 0px;
        padding: 8px 0px 0px 0px;
        /* background: rgba(255, 255, 255, 0.85); */
    }

    .text p {
      margin: 0px 0px;
      text-align: left;
    }

    .name {
        font-family:'NOTO-BLD';
        font-size: 16px;
        line-height: 24px;
        text-align: left;
        font-weight: bold;
        color: #2A2421;
    }

    .code {
        font-family:'NOTO';
        font-size: 14px;
        line-height: 22px;
        text-align: left;
        color: #2A2421;
        margin-bottom: 0px;
    }

    .price {
      font-family:'NOTO';
    font-size: 14px;
    line-height: 22px;
    text-align: left;
    color: #2A2421;
    margin-bottom: 0px;
    }
/*  products_end  */


/*  products_002  */
    .product-wrapper_002 {
        display: flex;
        flex-wrap: wrap;
        width: 248px;
        gap: 10px;
        align-items: flex-start;
        margin: 0px auto 0px auto;
        justify-content: center;
        flex-direction: row;
    }

    .product-wrapper_002 a{
/*        width: calc((100% - 10px) / 2);*/
        text-decoration: none;
    }

    .product-wrapper_003 {
        display: flex;
        flex-wrap: wrap;
        width: 764px;
        gap: 10px;
        align-items: flex-start;
        margin: 0px auto 56px auto;
    }

    .product-wrapper_003 a{
        width: calc((100% - 20px) / 3);
        text-decoration: none;
    }

    .product_002 {
        width: 248px;
        position: relative;
        margin-bottom: 0px;
    }

    .product_003 {
/*      width: calc((100% - 20px) / 3); /* 2px × 4隙間 */*/
      position: relative;
      margin-bottom: 0px;
    }
/*  products_end  */


/*  modal  */
    .modalArea {
      display: none;
      position: fixed;
      z-index: 999; /*サイトによってここの数値は調整 */
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
    }
    .modalBg {
        width: 100%;
        height: 100%;
        background-color: rgb(78 78 78 / 90%);
    }
    .modalWrapper {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 90%;
        height: 80vh;
        background-color: #fff;
        overflow: hidden;
    }
    .closeModal {
        position: absolute;
        top: 16px;
        right: 16px;
        width: 32px;
        height: 32px;
        border: none;
        background: transparent;
        cursor: pointer;
        z-index: 10;
    }
    .closeModal img {
        width: 100%;
    }
    .modalContents {
        max-height: calc(80vh - 64px); /* ← 超重要 */
        overflow-y: auto;
        padding: 64px 0 40px 0;
        box-sizing: border-box;
    }
    .modal-look-wrapper {
        width: 100%;
        height: 100%;
        margin: 0px auto;
    }
    .modal-look-img {
        width: 450px;
        margin: 0px auto 64px auto;
    }
    .modal-look-img img{
        width: 100%;
        margin: 0px auto 24px auto;
    }
    .modal-look-img-2 {
        display: flex;
        width: 450px;
        margin: 0px auto 64px auto;
        justify-content: space-between;
        align-items: flex-start;
        flex-direction: row;
        flex-wrap: wrap;
    }
    .modal-look-img-3 {
        width: 217px;
        margin: 0px 0px 0px 0px;
    }
    .modal-look-img-3 img{
        width: 100%;
        margin: 0px 0px 0px 0px;
    }
    .modal-product{
        width: 60%;
        margin: 40px auto;
    }
    .modal-product-3 {
        width: 50%;
    }
    .modal-product-wrapper {
        width: 100%;
        display: flex;
        gap: 16px;
        justify-content: center;
        margin-bottom: 26px;
    }
    .modal-product-wrapper img{
        display: flex;
        gap: 16px;  
        margin-bottom: 8px;
    }
    .modal-product-1 {
        width: 47%;
        margin: 0px 0px;
    }
    .modal-product-1 img{
        width: 100%;
        margin: 0px 0px 26px 0px;
    }
    .modal-product-2 {
        width: 47%;
        margin: 0px 0px;
    }
    .modal-product-2 img{
        width: 100%;
        margin: 0px 0px 26px 0px;
    }
/*  modal_end  */

    #openModal img{
        width: 100%;
    }
    #openModal-2 img{
        width: 100%;
    }
    #openModal-3 img{
        width: 100%;
    }
    #openModal-4 img{
        width: 100%;
    }
    #openModal-5 img{
        width: 100%;
    }
    #openModal-6 img{
        width: 100%;
    }
    #openModal-7 img{
        width: 100%;
    }
    #openModal-8 img{
        width: 100%;
    }
    #openModal-9 img{
        width: 100%;
    }

/* 以下ボタンスタイル */
    button {
      padding: 10px;
      background-color: #fff;
      border: 1px solid #282828;
      border-radius: 2px;
      cursor: pointer;
    }

/*  modal  */

/* slide */

    .slide-box-1 {
      width: 100%;
      margin: 0px auto 0px auto;
    }

    .slide-box-1 img{
      width: 100%;
    }

    .scroll {
      margin: auto;
      overflow-x: auto;
      white-space: nowrap;
      width: 300px;
    }

    .slide-box-2 {
      margin: 0px auto 120px auto;
      overflow-x: auto;
      white-space: nowrap;
      width: 100%;
      scrollbar-width: none;
    }
    .slide-box-2 ::-webkit-scrollbar { 
      display: none;
    }
    .box {
      display: inline-block;
      width: 41%;
      position: relative;
      overflow: hidden;
    }
    /* picture をブロック化 */
    .box picture {
      display: block;
      position: relative;
    }
    .box img {
      width: 100%;
      display: block;
      transition: transform .6s ease;
    }

    .slide-box-2 img{
      width: 100%;
    }

    /*  LOOK  */
    .styling-item {
      position: relative;
      display: block;
      overflow: hidden;
      cursor: pointer;
    }

    /* 画像 */
    .styling-item img {
      width: 100%;
      display: block;
      transition: transform .6s ease, opacity .6s ease;
      position: relative;
      z-index: 1;
    }

    /* hover 拡大（PCのみ） */
    @media (hover: hover) {
      .styling-item:hover img {
        transform: scale(1.1);
      }
    }

    /* VIEW STYLING */
    .overlay {
      position: absolute;
      inset: 0;
      z-index: 50;
      pointer-events: none;
    }

    /* スクロール連動用 */
    .overlay-inner {
      position: absolute;
      top: 0;
      left: 50%;
      transform: translateX(-50%);
      opacity: 0;
      font-family: 'MON-MDI';
      font-size: 18px;
      line-height: 28px;
      color: #fff;
      text-align: center;
      transition: opacity .4s ease;
    }


    /* 下線 */
    .overlay-inner .underline {
      display: block;
      width: 100%;
      height: 1px;
      background: #fff;
      margin-top: 7px;
    }

    /* hover 表示 */
    @media (hover: hover) {
      .box:hover img {
      }

      .box:hover .overlay-inner {
        opacity: 1;
      }
    }

    /* SPは常時表示 & 拡大なし */
    @media (hover: none) {
      .overlay-inner {
        opacity: 1;
      }
    }

    /*  LOOK_end  */
/* slide_end */

/*article*/
    .lp-contents {
    	width: 100%;
    	margin: 0 auto;
    	text-align: center;
    }
/*article*/

/*video*/
    .v-section {
        width: 900px;
        text-align: center;
        margin: 0px auto 100px auto;
    }
    .v-section video {
        width: 100%;
    }
/*video*/

/*1200px*/
    .fv-img-box {
        width: 910px;
        margin: 0px auto;
        text-align: center;
    }
/*1200px*/

/*hide*/

    .hidden-1 {
        visibility: hidden;
        display: inline-block;
    }
    .hidden-2 {
        visibility: hidden;
    }
    .hidden-3 {
        visibility: hidden;
        display: inline;
    }

    .hide-pc {
    	display: none;
    }
    .hide-sp {
        display: inline;
        vertical-align: middle;
    }
    .hide-pc-2 {
        display: none;
    }
    .hide-sp-2 {
        display: block;
    }

/*hide*/

@media (max-width: 1200px) {

/*article*/
	.lp-contents {
		width: 100%;
    }
/*article*/

/*youtube*/
    #movie-section {
        width: 88%;
        text-align: center;
        margin: 0px auto 0px auto;
    }
    #movie-section img{
        width: 100%;
        text-align: center;
        margin: 0px auto 0px auto;
    }
    .tv__movie {
        margin: 0px auto 0px auto;
        width: 100%;
        height: auto;
        padding-top: 178.25%;
        position: relative;
    }
    .tv__movie iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
    .tv__movie-pink {
        margin: 0px auto 0px auto;
        width: 100%;
        height: auto;
        padding-top: 56.5%;
        position: relative;
    }
    .tv__movie-pink iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
/*youtube*/

/*img*/
    .title-img-top {
        width: 100%;
        margin: 0px auto 0px auto;
    }
    .title-img-top img {
      width: 100%;
      height: auto;
      display: block;
      /*animation: focusIn 2s ease-out forwards;
      filter: blur(12px);
      opacity: 0;
      transform: scale(1.03);
      will-change: filter, opacity, transform;*/
    }

    @keyframes focusIn {
      0% {
        filter: blur(12px);
        opacity: 0;
        transform: scale(1.03);
      }
      100% {
        filter: blur(0);
        opacity: 1;
        transform: scale(1);
      }
    }

    .title-img-top-load {
        position: absolute;
        top: unset;
        bottom: 9.5px;
        right: unset;
        left: 50%;
        transform: translate(-50%,0%);
        width: 217px;
        margin: 0px auto 0px auto;
    }
    .title-img-top-load picture {
      width: 100%;
      height: auto;
      display: block;
      animation: focusIn 4s ease-out forwards;
      filter: blur(12px);
      opacity: 0;
      transform: scale(1.03);
      will-change: filter, opacity, transform;
    }

    @keyframes focusIn {
      0% {
        filter: blur(12px);
        opacity: 0;
        transform: scale(1.03);
      }
      100% {
        filter: blur(0);
        opacity: 1;
        transform: scale(1);
      }
    }

    .title-img-top-load-2 {
        position: absolute;
        top: unset;
        bottom: 33.5px;
        left: 50%;
        transform: translate(-50%,0%);
        width: 77px;
        margin: 0px auto 0px auto;
    }
    .title-img-top-load-2 img {
      width: 100%;
      height: auto;
      display: block;
      animation: focusIn 4s ease-out forwards;
      filter: blur(12px);
      opacity: 0;
      transform: scale(1.03);
      will-change: filter, opacity, transform;
    }

    @keyframes focusIn {
      0% {
        filter: blur(12px);
        opacity: 0;
        transform: scale(1.03);
      }
      100% {
        filter: blur(0);
        opacity: 1;
        transform: scale(1);
      }
    }

    .title-img-top-2 {
        display: none;
        width: 100px;
        margin: 0px auto 0px auto;
    }
    .title-img-top-2 img{
        width: 100%;
        margin: 0px auto 0px auto;
    }
    .title-img-top-2 picture{
        width: 100%;
        margin: 0px auto 0px auto;
    }
    .title-img-top-3 {
        width: 100%;
        margin: 0px auto 0px auto;
    }
    .title-img-top-4 {
        width: 88%;
        margin: 0px auto 48px auto;
    }
    .title-img-top-4 img{
        width: 100%;
        margin: 0px auto 32px auto;
    }
    .title-img-top-4 picture{
        width: 100%;
        margin: 0px auto 32px auto;
    }
    .title-img-top-5 {
        display: block;
        width: 85%;
        margin: 0px auto 30px auto;
    }
/*img*/

/*hide*/
    .hide-sp {
    	display: none;
    }
    .hide-pc {
    	display: block;
    }
    .hide-sp-2{
        display: none;
    }
    .hide-pc-2 {
        display: block;
    }

    .hidden-1 {
        visibility: hidden;
        display: none;
    }
    .hidden-2 {
        visibility: hidden;
    }
    .hidden-3 {
        visibility: hidden;
        display: inline;
    }
/*hide*/

/*video*/
    .v-section {
        width: 85%;
        text-align: center;
        margin: 0px auto 64px auto;
    }
    .v-section video {
        width: 100%;
    }
/*video*/

/*1200px*/
    .fv-img-box {
        width: 100%;
        margin: 0 auto;
        text-align: center;
    }
/*1200px*/

    tr {
        width: 100%;
        display: inline-block;
        vertical-align: top;
        border-color: inherit;
    }

/* slide */

    .slide-box-1 {
      width: 100%;
      margin: 0px auto 0px auto;
    }

    .slide-box-1 img{
      width: 100%;
    }

    .scroll {
      margin: auto;
      overflow-x: auto;
      white-space: nowrap;
      width: 300px;
    }

    .slide-box-2 {
      margin: 0px auto 64px auto;
      overflow-x: auto;
      white-space: nowrap;
      width: 100%;
      scrollbar-width: none;
    }
    .slide-box-2 ::-webkit-scrollbar { 
      display: none;
    }
    .box {
      display: inline-block;
      width: 100%;
      position: relative;
      overflow: hidden;
    }
    /* picture をブロック化 */
    .box picture {
      display: block;
      position: relative;
    }
    .box img {
      width: 100%;
      display: block;
      transition: transform .6s ease;
    }

    .slide-box-2 img{
      width: 100%;
    }

    /*  LOOK  */
    .styling-item {
      position: relative;
      display: block;
      overflow: hidden;
      cursor: pointer;
    }

    /* 画像 */
    .styling-item img {
      width: 100%;
      display: block;
      transition: transform .6s ease, opacity .6s ease;
      position: relative;
      z-index: 1;
    }

    /* hover 拡大（PCのみ） */
    @media (hover: hover) {
      .styling-item:hover img {
        transform: scale(1.1);
      }
    }

    .overlay {
      position: absolute;
      inset: 0;
      z-index: 50;
      pointer-events: none;
      overflow: hidden;
    }

    /* 中身 */
    .overlay-inner {
              position: sticky;
        top: 50%;
        right: unset;
        left: unset;
/*      transform: translate(-50%,-50%);*/
/*      opacity: 0;*/
      transition: opacity .4s ease;
      text-align: center;
    }

    /* hover できる端末（PC） */
    @media (hover: hover) {
      .box:hover .overlay-inner {
        opacity: 1;
      }
    }

    /* hover できない端末（SP） */
    @media (hover: none) {
      .overlay-inner {
        opacity: 1;
      }
    }


    /*  LOOK_end  */
/* slide_end */

/*  modal  */
    .modalArea {
      display: none;
      position: fixed;
      z-index: 999; /*サイトによってここの数値は調整 */
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
    }
    .modalBg {
        width: 100%;
        height: 100%;
        background-color: rgb(78 78 78 / 90%);
    }
    .modalWrapper {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 88%;
        height: 70vh;
        background-color: #fff;
        overflow: hidden;
    }
    .closeModal {
        position: absolute;
        top: 16px;
        right: 16px;
        width: 32px;
        height: 32px;
        border: none;
        background: transparent;
        cursor: pointer;
        z-index: 10;
    }
    .closeModal img {
        width: 100%;
    }
    .modalContents {
        max-height: calc(80vh - 64px); /* ← 超重要 */
        overflow-y: auto;
        padding: 64px 0 40px 0;
        box-sizing: border-box;
    }
    .modal-look-wrapper {
        width: 100%;
        height: 100%;
        margin: 0px auto;
    }
    .modal-look-img {
        width: 88%;
        margin: 0px auto 64px auto;
    }
    .modal-look-img img{
        width: 100%;
        margin: 0px auto 24px auto;
    }
    .modal-look-img-2 {
        display: flex;
        width: 88%;
        margin: 0px auto 64px auto;
        justify-content: space-between;
        align-items: flex-start;
        flex-direction: row;
        flex-wrap: wrap;
    }
    .modal-look-img-3 {
        width: 48.9%;
        margin: 0px 0px 0px 0px;
    }
    .modal-look-img-3 img{
        width: 100%;
        margin: 0px 0px 0px 0px;
    }
    .modal-product{
        width: 60%;
        margin: 40px auto;
    }
    .modal-product-3 {
        width: 50%;
    }
    .modal-product-wrapper {
        width: 100%;
        display: flex;
        gap: 16px;
        justify-content: center;
        margin-bottom: 26px;
    }
    .modal-product-wrapper img{
        display: flex;
        gap: 16px;  
        margin-bottom: 8px;
    }
    .modal-product-1 {
        width: 47%;
        margin: 0px 0px;
    }
    .modal-product-1 img{
        width: 100%;
        margin: 0px 0px 26px 0px;
    }
    .modal-product-2 {
        width: 47%;
        margin: 0px 0px;
    }
    .modal-product-2 img{
        width: 100%;
        margin: 0px 0px 26px 0px;
    }
/*  modal_end  */

    #openModal img{
        width: 100%;
    }
    #openModal-2 img{
        width: 100%;
    }
    #openModal-3 img{
        width: 100%;
    }
    #openModal-4 img{
        width: 100%;
    }
    #openModal-5 img{
        width: 100%;
    }
    #openModal-6 img{
        width: 100%;
    }
    #openModal-7 img{
        width: 100%;
    }
    #openModal-8 img{
        width: 100%;
    }
    #openModal-9 img{
        width: 100%;
    }

/* 以下ボタンスタイル */
    button {
      padding: 10px;
      background-color: #fff;
      border: 1px solid #282828;
      border-radius: 2px;
      cursor: pointer;
    }

/*  modal_end  */

/*  text-animation  */

    .flow-underline {
      position: absolute;
      bottom: 100px;
      left: 50%;
      transform: translate(-50%,0%);
      display: inline-block;
    }

    .flow-underline .text {
      position: relative;
      color: #fff;
      font-family: 'MON-MDI';
      font-size: 16px;
      font-weight: bold;
      line-height: 16px;
      letter-spacing: 0.025em;
      padding-bottom: 7px;
    }

    /* 下線 */
    .flow-underline .text::after {
      content: "";
      position: absolute;
      left: 0;
      bottom: 0;
      width: 100%;
      height: 1.5px;
      background-color: #fff;
      clip-path: inset(0 100% 0 0);
      animation: underlineClip 2.5s cubic-bezier(.4,0,.2,1) infinite;
    }

    /* アニメーション */
    @keyframes underlineClip {
      /* 左 → 右に伸びる */
      0% {
        clip-path: inset(0 100% 0 0);
      }

      45% {
        clip-path: inset(0 0 0 0);
      }

      /* 伸び切った状態を少しキープ */
      55% {
        clip-path: inset(0 0 0 0);
      }

      /* 左 → 右へ縮む */
      100% {
        clip-path: inset(0 0 0 100%);
      }
    }

    .flow-underline-2 {
      position: absolute;
      /*bottom: 32px;
      left: 50%;*/
      transform: translate(-50%,-50%);
      display: inline-block;
    }

    .flow-underline-2 .text-2 {
        position: relative;
        color: #fff;
        font-family: 'MON-MDI';
        font-size: 18px;
        font-weight: bold;
        line-height: 28px;
        letter-spacing: 0.025em;
        /* padding-bottom: 7px; */
        padding: 0px 0px 7px 0px;
    }

    /* 下線 */
    .flow-underline-2 .text-2::after {
      content: "";
      position: absolute;
      left: 0;
      bottom: 0;
      width: 100%;
      height: 2.5px;
      background-color: #fff;
      clip-path: inset(0 100% 0 0);
      animation: underlineClip 2.5s cubic-bezier(.4,0,.2,1) infinite;
    }

    /* アニメーション */
    @keyframes underlineClip {
      /* 左 → 右に伸びる */
      0% {
        clip-path: inset(0 100% 0 0);
      }

      45% {
        clip-path: inset(0 0 0 0);
      }

      /* 伸び切った状態を少しキープ */
      55% {
        clip-path: inset(0 0 0 0);
      }

      /* 左 → 右へ縮む */
      100% {
        clip-path: inset(0 0 0 100%);
      }
    }


/* text-animation_end */
    
    .text-box-1 {
        width: 88%;
        margin: 0px auto 48px auto;
        text-align: center;
        padding: 0px 0px;
    }
    .text-box-2 {
        width: 88%;
        margin: 0px auto 48px auto;
        text-align: center;
        padding: 54px 0px;
        background-color: #F2F0F2;
    }
    .text-box-3 {
        width: 88%;
        margin: 0px auto 40px auto;
        text-align: center;
        padding: 0px 0px;
    }
    .text-box-3-2 {
        width: 100%;
        margin: 0px auto 0px auto;
        text-align: center;
        padding: 0px 0px;
    }
    .text-box-4 {
        width: 88%;
        margin: 0px auto 48px auto;
        padding: 48px 0px;
        background-color: #fff;
    }
    .text-box-4-2 {
        width: 88%;
        margin: 0px auto 48px auto;
        padding: 0px 0px;
    }
    .text-box-5 {
        width: 67%;
        position: unset;
        top: unset;
        left: unset;
        transform: unset;
        margin: 0px 0px 0px 0px;
        text-align: left;
        padding: 0px 0px 0px 0px;
        background-color: #fff;
    }
    .text-box-6 {
        width: 30%;
        position: unset;
        top: unset;
        right: unset;
        transform: unset;
        margin: 0px 0px 0px 0px;
        text-align: right;
        padding: 0px 0px 0px 0px;
        background-color: #fff;
    }

    .text-box-7 {
        width: 88%;
        margin: 0px auto 120px auto;
        padding: 0px 0px;
    }

/*  txt  */

    .lp-title-1 {
        font-size: 29px;
        margin: 0px auto 8px auto;
        line-height: 36px;
        text-align: center;
        letter-spacing: 0px;
    }
    .lp-title-2 {
        font-size: 18px;
        margin: 0px auto 32px auto;
        line-height: 25px;
        text-align: center;
        letter-spacing: 0px;
        padding: 0px 0px;
    }
    .lp-title-3 {
        font-size: 24px;
        margin: 0px auto 24px auto;
        line-height: 34px;
        text-align: center;
        letter-spacing: 0px;
    }

    .lp-title-3-2 {
        font-size: 50px;
        margin: 0px auto 28px auto;
        line-height: 44px;
        text-align: center;
        letter-spacing: 0px;
    }
    .lp-title-4 {
        font-size: 16px;
        margin: 0px auto 0px auto;
        line-height: 26px;
        text-align: center;
        letter-spacing: 0px;
    }
    .lp-title-5 {
        font-size: 16px;
        margin: 0px auto 11px 0px;
        line-height: 24px;
        text-align: left;
        letter-spacing: 0px;
    }
    .lp-title-5-2 {
        font-size: 32px;
        margin: 0px auto 40px auto;
        line-height: 42px;
        text-align: center;
        letter-spacing: 0px;
    }
    .lp-title-5-3 {
        font-size: 25px;
        margin: 0px auto 8px auto;
        line-height: 35px;
        text-align: center;
        letter-spacing: 0px;
    }
    .lp-title-5-4 {
        font-size: 40px;
        margin: 0px auto 24px auto;
        line-height: 50px;
        text-align: center;
        letter-spacing: 0px;
    }
    .lp-title-6 {
        font-size: 25px;
        margin: 0px auto 24px auto;
        line-height: 35px;
        text-align: center;
        letter-spacing: 0px;
    }
    .lp-title-6-2 {
        font-size: 25px;
        margin: 0px auto 8px 0px;
        line-height: 35px;
        text-align: left;
        letter-spacing: 0px;
    }
    .lp-txt-m {
        font-family: 'SHI-BLD';
        font-size: 20px;
        margin: 0px auto 16px 0px;
        line-height: 30px;
        color: #2A2421;
        text-align: left;
        letter-spacing: 0px;
    }

    .lp-txt-m-2 {
        font-family: 'NOTO-BLD';
        font-size: 16px;
        margin: 0px auto 0px 0px;
        line-height: 26px;
        color: #2A2421;
        text-align: left;
        letter-spacing: 0px;
    }

    .lp-txt-m-3 {
        font-family: 'NOTO';
        font-size: 16px;
        margin: 0px auto 0px 0px;
        line-height: 24px;
        color: #2A2421;
        text-align: left;
        letter-spacing: 0px;
    }
    .lp-txt {
        font-size: 18px;
        margin: 0px auto 0px 0px;
        line-height: 36px;
        text-align: left;
        padding: 0px 0px;
        letter-spacing: 0px;
    }
    .lp-txt-1 {
        font-size: 18px;
        margin: 0px auto 0px auto;
        line-height: 36px;
        text-align: center;
        padding: 0px 0px;
        letter-spacing: 0px;
    }
    .lp-txt-2 {
        font-size: 16px;
        margin: 0px auto 0px auto;
        line-height: 26px;
        text-align: center;
        padding: 0px 0px;
        letter-spacing: 0px;
    }
    .lp-txt-3 {
        font-size: 14px;
        margin: 0px auto 23px 0px;
        line-height: 22px;
        text-align: left;
        letter-spacing: 0px;
    }

    .lp-txt-3-2 {
        font-size: 12px;
        margin: 11px auto 0px 0px;
        line-height: 22px;
        text-align: left;
        padding: 0px 0px;
        letter-spacing: 0px;
    }

    .lp-txt-4 {
        font-size: 18px;
        margin: 0px auto 8px auto;
        line-height: 36px;
        text-align: center;
        padding: 0px 0px;
        letter-spacing: 0.9px;
    }

    .lp-txt-4-2 {
        font-size: 18px;
        margin: 0px auto 0px auto;
        line-height: 36px;
        text-align: center;
        padding: 0px 0px;
        letter-spacing: 0.9px;
    }

    .lp-txt-5 {
        font-size: 14px;
        margin: 0px auto 0px 0px;
        line-height: 24px;
        text-align: left;
        padding: 0px 0px;
        letter-spacing: 0px;
    }

    .lp-txt-6 {
        font-size: 12px;
        margin: 20px auto 0px 0px;
        line-height: 22px;
        text-align: left;
        padding: 0px 0px;
        letter-spacing: 0px;
    }

    .lp-txt-7 {
        font-size: 16px;
        margin: 0px auto 20px 0px;
        line-height: 30px;
        text-align: left;
        padding: 0px 0px;
        letter-spacing: 0px;
    }

    .lp-txt-8 {
        font-size: 18px;
        margin: 0px auto 30px 0px;
        line-height: 32px;
        text-align: left;
        padding: 0px 0px;
        letter-spacing: 0px;
    }

    .lp-txt-9 {
        font-size: 14px;
        margin: 0px auto 30px 0px;
        line-height: 26px;
        text-align: left;
        padding: 0px 0px;
        letter-spacing: 0px;
    }

    .lp-txt-10 {
        font-size: 14px;
        margin: 0px auto 30px 0px;
        line-height: 26px;
        text-align: left;
        padding: 0px 0px;
        letter-spacing: 0px;
    }

    .lp-txt-10 a{
        text-decoration: underline;
        font-family: 'NOTO-MDI';
        font-size: 14px;
        line-height: 26px;
        color: #fff;
        letter-spacing: 0px;
    }
    .lp-txt-10 a:hover {
        text-decoration: none;
        font-family: 'NOTO-MDI';
        font-size: 14px;
        line-height: 26px;
        color: #fff;
        letter-spacing: 0px;
    }

    .lp-txt-11 {
        font-size: 14px;
        margin: 0px auto 0px 0px;
        line-height: 26px;
        text-align: left;
        padding: 0px 0px;
        letter-spacing: 0px;
    }

    .lp-txt-11 a{
        text-decoration: underline;
        font-family: 'NOTO-MDI';
        font-size: 14px;
        line-height: 26px;
        color: #fff;
        letter-spacing: 0px;
    }
    .lp-txt-11 a:hover {
        text-decoration: none;
        font-family: 'NOTO-MDI';
        font-size: 14px;
        line-height: 26px;
        color: #fff;
        letter-spacing: 0px;
    }

/*  txt_end  */

/* section */

    .fv-section {
        width: 100%;
        margin: 0 auto;
        text-align: center;
        padding: 0.1px 0px;
    }
    .item-section {
        width: 100%;
        margin: 0 auto;
        text-align: center;
        padding: 64px 0px 0.1px 0px;
        background-image: url(./bg_top_sp.webp);
        background-position: top;
        background-size: 100%;
        background-repeat: no-repeat;
    }
    .item-section-2 {
        width: 100%;
        margin: 0px auto 0px auto;
        text-align: center;
        padding: 0.1px 0px 0.1px 0px;
        background-image: url(./bg_pop_up_sp.webp);
        background-position: bottom;
        background-size: 100%;
        background-repeat: no-repeat;
    }
    .item-section-3 {
        width: 100%;
        margin: 0px auto 0px auto;
        text-align: center;
        padding: 64px 0px 0.1px 0px;
        background-image: url(./bg_sp.webp);
        background-position: bottom;
        background-size: 100%;
        background-repeat: no-repeat;
    }
    .item-section-4 {
        width: 100%;
        margin: 0px auto 0px auto;
        text-align: center;
        padding: 120px 0px 0.1px 0px;
    }
    .item-section-5 {
        width: 100%;
        margin: 0px auto 0px auto;
        text-align: center;
        padding: 0.1px 0px;
    }

/* section_end */

/*border*/
    .border-1 {
        width: 88%;
        border-bottom: 1px solid #2A2421;
        margin: 0px auto 24px auto;
        text-align: center;
    }

    .border-2 {
        width: 100%;
        border-bottom: 1px solid #2A2421;
        margin: 13px auto 13px auto;
        text-align: center;
    }
/*border*/

/*  products  */
    .product-wrapper {
        display: flex;
        flex-wrap: wrap;
        width: 100%;
        gap: 2px;
        align-items: flex-start;
        margin: 0px auto 32px auto;
    }

    .product-wrapper a{
        width: calc((100% - 8px) / 2); /* 2px × 4隙間 */
    }

    .product {
/*      width: calc((100% - 8px) / 2); /* 2px × 4隙間 */*/
      position: relative;
      margin-bottom: 24px;
    }

    .image-wrap img {
      width: 100%;
      display: block;
      transition: opacity 0.6s ease; /* ← フェード速度 */
      opacity: 1;
      will-change: opacity;
      backface-visibility: hidden;
    }

    .text {
        position: relative;
        margin-top: 0px;
        padding: 0px 0px 0px 0px;
        /* background: rgba(255, 255, 255, 0.85); */
    }

    .text p {
      margin: 4px 0;
      text-align: left;
    }

    .name {
        font-family:'NOTO-BLD';
        font-size: 16px;
        line-height: 24px;
        text-align: left;
        font-weight: bold;
        color: #2A2421;
    }

    .code {
        font-family:'NOTO';
        font-size: 14px;
        line-height: 22px;
        text-align: left;
        color: #2A2421;
        margin-bottom: 0px;
    }

    .price {
        font-family:'NOTO';
        font-size: 14px;
        line-height: 22px;
        text-align: left;
        color: #2A2421;
        margin-bottom: 0px;
    }
/*  products_end  */

/*  products_002  */
    .product-wrapper_002 {
        display: flex;
        flex-wrap: wrap;
        width: 70%;
        gap: 10px;
        align-items: flex-start;
        margin: 0px auto 0px auto;
    }

    .product-wrapper_002 a{
/*        width: calc((100% - 10px) / 2);*/
        text-decoration: none;
    }

    .product-wrapper_003 {
        display: flex;
        flex-wrap: wrap;
        width: 88%;
        gap: 10px;
        align-items: flex-start;
        margin: 0px auto 0px auto;
    }

    .product-wrapper_003 a{
        width: calc((100% - 20px) / 2);
        text-decoration: none;
    }

    .product_002 {
/*        width: calc((100% - 10px) / 2);*/
        position: relative;
        margin-bottom: 0px;
    }

    .product_003 {
/*      width: calc((100% - 20px) / 3); /* 2px × 4隙間 */*/
      position: relative;
      margin-bottom: 0px;
    }
/*  products_end  */

/*button*/
    .button {
        padding: 14px 0px;
        margin: 0px auto 0px auto;
        text-align: center;
        width: 100%;
        border: 1px solid #2A2421;
        border-radius: 3px;
        font-family: 'NOTO-BLD';
        font-size: 16px;
        line-height: 24px;
        letter-spacing: 0px;
        color: #2A2421;
    }
    .button:hover {
        padding: 14px 0px;
        margin: 0px auto 0px auto;
        text-align: center;
        width: 100%;
        background-color: #2A2421;
        border: 1px solid #2A2421;
        border-radius: 3px;
        font-family: 'NOTO-BLD';
        font-size: 16px;
        line-height: 24px;
        letter-spacing: 0px;
        color: #fff;
    }

    .button-2 {
        padding: 15px 0px;
        margin: 0px auto 64px auto;
        text-align: center;
        width: 88%;
        background-color: #2A2421;
        border: 1px solid #2A2421;
        border-radius: 0px;
        font-family: 'NOTO-BLD';
        font-size: 16px;
        line-height: 24px;
        letter-spacing: 0px;
        color: #fff;
    }
    .button-2:hover {
        padding: 15px 0px;
        margin: 0px auto 64px auto;
        text-align: center;
        width: 88%;
        background-color: #fff;
        border: 1px solid #2A2421;
        border-radius: 0px;
        font-family: 'NOTO-BLD';
        font-size: 16px;
        line-height: 24px;
        letter-spacing: 0px;
        color: #2A2421;
    }
/*button*/

/* nav */
    /* 右上固定メニュー */
    .floating-menu {
        position: fixed;
        left: 50%;
        right: unset;
        top: 80px;
        transform: translate(-50%,0%);
        z-index: 999;
        width: 88%;
        height: 30px;
        background: rgba(0, 0, 0, 0.8);
        border-radius: 999px;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
        opacity: 0.7;
        transition: opacity .3s ease;
        flex-wrap: wrap;
        flex-direction: row;
    }

    /* link */
    .floating-menu a,
    .floating-menu .divider {
        opacity: 0.7;
        color: #fff;
        line-height: 30px;
        text-decoration: none;
        opacity: 0.7;
        font-family: 'MON-MDI';
        font-size: 16px;
        margin: 0px 0.3%;
    }

    .floating-menu a:hover,
    .floating-menu .divider {
        opacity: 1;
        color: #fff;
        line-height: 30px;
        text-decoration: none;
        opacity: 0.7;
        font-family: 'MON-MDI';
        font-size: 16px;
        margin: 0px 0.3%;
    }

    .floating-menu .divider {
      pointer-events: none;
    }

    .floating-menu a.is-active {
      opacity: 1;
    }

/* nav_end */

/*main*/
    .lp-contents-box {
        width: 100%;
        margin: 0px auto 0px auto;
        text-align: center;
        padding: 0.1px 0px 0.1px 0px;
        background-color: #fff;
    }
/*main*/

/*clearfix*/
    .lp-contents-clearfix {
        text-align: center;
        width: 327px;
        flex-wrap: wrap;
        display: flex;
        margin: 0px auto 32px auto;
        flex-direction: row;
        justify-content: space-between;
        align-content: center;
        align-items: flex-start;
    }
    .lp-contents-clearfix a{
        opacity: 1;
    }
    .lp-contents-clearfix a:hover{
        opacity: 1;
    }

    .lp-contents-clearfix-m {
        text-align: center;
        width: 88%;
        flex-wrap: wrap;
        display: flex;
        margin: 0px auto 24px auto;
        flex-direction: row;
        justify-content: center;
        align-content: center;
        align-items: center;
    }

    .lp-contents-clearfix-2 {
        text-align: center;
        width: 100%;
        flex-wrap: wrap;
        display: flex;
        margin: 0px auto 24px auto;
        flex-direction: row;
        justify-content: center;
        align-content: center;
        align-items: center;
    }
    .lp-contents-clearfix-2 a{
        opacity: 1;
    }
    .lp-contents-clearfix-2 a:hover{
        opacity: 0.5;
    }

    .lp-contents-clearfix-3 {
        text-align: center;
        width: 100%;
        flex-wrap: wrap;
        display: flex;
        margin: 0px auto 0px auto;
        flex-direction: row;
        justify-content: center;
        align-content: center;
        align-items: center;
    }
    .lp-contents-clearfix-3 a{
        opacity: 1;
    }
    .lp-contents-clearfix-3 a:hover{
        opacity: 1;
    }

    .lp-contents-clearfix-3-2 {
        text-align: center;
        width: 60%;
        flex-wrap: wrap;
        display: flex;
        margin: 0px auto 64px auto;
        flex-direction: row;
        justify-content: center;
        align-content: center;
        align-items: center;
    }
    .lp-contents-clearfix-3-2 a{
        opacity: 1;
    }
    .lp-contents-clearfix-3-2 a:hover{
        opacity: 1;
    }

    .lp-contents-clearfix-4 {
        text-align: center;
        width: 88%;
        flex-wrap: wrap;
        display: flex;
        margin: 0px auto 56px auto;
        flex-direction: row;
        justify-content: center;
        align-content: center;
        align-items: center;
    }
    .lp-contents-clearfix-4 a{
        opacity: 1;
    }
    .lp-contents-clearfix-4 a:hover{
        opacity: 1;
    }
    .lp-contents-clearfix-4-2 {
            text-align: center;
    width: 924px;
    flex-wrap: wrap;
    display: flex;
    margin: 0px auto 123px auto;
    flex-direction: row;
    justify-content: flex-start;
    align-content: center;
    align-items: flex-start;
    }
    .lp-contents-clearfix-4-2 a{
        opacity: 1;
    }
    .lp-contents-clearfix-4-2 a:hover{
        opacity: 0.5;
    }

    .lp-contents-clearfix-5 {
        text-align: center;
        width: 88%;
        flex-wrap: wrap;
        display: flex;
        margin: 0px auto 2px auto;
        flex-direction: row;
        justify-content: space-between;
        align-content: center;
        align-items: flex-start;
    }
    .lp-contents-clearfix-5 a{
        opacity: 1;
    }
    .lp-contents-clearfix-5 a:hover{
        opacity: 1;
    }

    .lp-contents-clearfix-6 {
    text-align: center;
    width: 100%;
    flex-wrap: wrap;
    display: flex;
    margin: 0px auto 50px auto;
    flex-direction: row;
    justify-content: center;
    align-content: center;
    align-items: center;
}
    .lp-contents-clearfix-6 a{
        opacity: 1;
    }
    .lp-contents-clearfix-6 a:hover{
        opacity: 1;
    }

    .box-img-m {
        width: 100%;
        margin: 0px 0px 16px 0px;
        flex-direction: row;
        text-align: left;
    }
    .box-img-m picture{
        width: 100%;
        margin: 0px auto 0px auto;
    }
    .box-img-m img{
        width: 100%;
        margin: 0px auto 0px auto;
    }

    .box-img-m-2 {
        width: 100%;
        margin: 0px 0px 0px 0px;
        flex-direction: row;
        text-align: left;
    }
    .box-img-m-2 picture{
        width: 100%;
        margin: 0px auto 0px auto;
    }
    .box-img-m-2 img{
        width: 100%;
        margin: 0px auto 0px auto;
    }

    .box-img-m-3 {
        width: 68px;
        margin: 0px 0px 0px 0px;
        flex-direction: row;
        text-align: left;
    }
    .box-img-m-3 picture{
        width: 100%;
        margin: 0px auto 0px auto;
    }
    .box-img-m-3 img{
        width: 100%;
        margin: 0px auto 0px auto;
    }

    .box-img-m-4 {
        display: none;
        width: 12px;
        margin: 0px 0px 0px 0px;
        flex-direction: row;
        text-align: left;
    }
    .box-img-m-4 picture{
        width: 100%;
        margin: 0px auto 0px auto;
    }
    .box-img-m-4 img{
        width: 100%;
        margin: 0px auto 0px auto;
    }

    .box-img-m-5 {
        width: 415px;
        margin: 0px 0px 0px 0px;
        flex-direction: row;
        text-align: left;
    }
    .box-img-m-5 picture{
        width: 100%;
        margin: 0px auto 0px auto;
    }
    .box-img-m-5 img{
        width: 100%;
        margin: 0px auto 0px auto;
    }

    .box-img-1 {
        width: 100%;
        margin: 0px 0px 16px 0px;
        flex-direction: row;
        text-align: center;
    }
    .box-img-1 img{
        width: 100%;
        margin: 0px auto 0px auto;
        display: block;
        transition: filter 0.4s ease;
    }
    .box-img-1 img:hover{
        width: 100%;
        margin: 0px auto 0px auto;
        filter: invert(1);
    }

    .box-img-1-2 {
        width: 250px;
        margin: 0px 25px 50px 100px;
        flex-direction: row;
        text-align: left;
    }
    .box-img-1-2 a{
        text-decoration: none;
        font-family: 'NOTO-BLD';
        font-size: 16px;
        margin: 0px auto 0px 0px;
        line-height: 24px;
        color: #111;
        text-align: left;
        letter-spacing: 0px;
    }
    .box-img-1-2 a:hover{
        text-decoration: underline;
        font-family: 'NOTO-BLD';
        font-size: 16px;
        margin: 0px auto 0px 0px;
        line-height: 24px;
        color: #111;
        text-align: left;
        letter-spacing: 0px;
    }
    .box-img-1-2 picture{
        width: 100%;
        margin: 0px auto 15px auto;
    }
    .box-img-1-2 img{
        width: 100%;
        margin: 0px auto 15px auto;
    }


    .box-img-1-3 {
        width: 250px;
        margin: 0px 100px 50px 25px;
        flex-direction: row;
        text-align: left;
    }
    .box-img-1-3 a{
        text-decoration: none;
        font-family: 'NOTO-BLD';
        font-size: 16px;
        margin: 0px auto 0px 0px;
        line-height: 24px;
        color: #111;
        text-align: left;
        letter-spacing: 0px;
    }
    .box-img-1-3 a:hover{
        text-decoration: underline;
        font-family: 'NOTO-BLD';
        font-size: 16px;
        margin: 0px auto 0px 0px;
        line-height: 24px;
        color: #111;
        text-align: left;
        letter-spacing: 0px;
    }
    .box-img-1-3 picture{
        width: 100%;
        margin: 0px auto 15px auto;
    }
    .box-img-1-3 img{
        width: 100%;
        margin: 0px auto 15px auto;
    }

    .box-img-2 {
        width: 100%;
        margin: 0px 0px 8px 0px;
        flex-direction: row;
        text-align: center;
    }
    .box-img-2 picture{
        width: 100%;
        margin: 0px auto 0px auto;
    }
    .box-img-2 img{
        width: 100%;
        margin: 0px auto 0px auto;
    }

    .box-img-3 {
        width: 100%;
        margin: 0px 0px 0px 0px;
        flex-direction: row;
        text-align: center;
    }
    .box-img-3 picture{
        width: 100%;
        margin: 0px auto 0px auto;
    }
    .box-img-3 img{
        width: 100%;
        margin: 0px auto 0px auto;
    }

    .box-img-4 {
        width: 100%;
        margin: 0px auto 0px auto;
        flex-direction: row;
        text-align: left;
        background-color: #fff;
        padding: 20px 10px 20px 10px;
    }
    .box-img-4 picture{
        width: 100%;
        margin: 0px auto 11px auto;
    }
    .box-img-4 img{
        width: 100%;
        margin: 0px auto 11px auto;
    }

    .box-img-5 {
        width: 100%;
        margin: 0px 0px 46px 0px;
        flex-direction: row;
        text-align: center;
    }
    .box-img-5 picture{
        width: 100%;
        margin: 0px auto 8px auto;
    }
    .box-img-5 img{
        width: 100%;
        margin: 0px auto 8px auto;
    }

    .box-img-6 {
        width: 250px;
        margin: 0px 25px 50px 25px;
        flex-direction: row;
        text-align: left;
    }
    .box-img-6 picture{
        width: 100%;
        margin: 0px auto 0px auto;
    }
    .box-img-6 img{
        width: 100%;
        margin: 0px auto 0px auto;
    }

    .box-img-7 {
        width: 400px;
        margin: 0px 50px 0px 0px;
        flex-direction: row;
        text-align: left;
    }
    .box-img-7 picture{
        width: 100%;
        margin: 0px auto 0px auto;
    }
    .box-img-7 img{
        width: 100%;
        margin: 0px auto 0px auto;
    }

    .box-img-8 {
        width: 450px;
        margin: 0px 0px 0px 0px;
        flex-direction: row;
        text-align: left;
    }
    .box-img-8 picture{
        width: 100%;
        margin: 0px auto 0px auto;
    }
    .box-img-8 img{
        width: 100%;
        margin: 0px auto 0px auto;
    }

/*clearfix*/
    
}