@charset "UTF-8";
@keyframes fadeInScale {
  0% {
    opacity: 0;
    transform: scale(0.8); }
  100% {
    opacity: 1;
    transform: scale(1); } }
html {
  scroll-behavior: smooth; }

@media screen and (min-width: 769px) {
  #bfwlp1 {
    font-family: "Shippori Mincho", serif;
    font-weight: 400;
    font-style: normal;
    padding-bottom: 15.14vw;
    color: #002B62;
    background: #fff;
    /* lp1_point */
    /* lp1_cm */
    /* lp1_interview */
    /* lp1_gal */ }
    #bfwlp1 .mv_menu {
      position: fixed;
      left: 3.4vw;
      top: 3.68vw;
      z-index: 4; }
      #bfwlp1 .mv_menu.is-black .mv_menu_logo {
        filter: brightness(0);
        transition: color 0.3s ease; }
      #bfwlp1 .mv_menu.is-black .mv_menu_list li a {
        color: #000;
        transition: color 0.3s ease; }
      #bfwlp1 .mv_menu .mv_menu_logo {
        width: 7.1vw;
        margin-bottom: 3.1vw;
        transition: color 0.3s ease; }
        #bfwlp1 .mv_menu .mv_menu_logo img {
          width: 100%;
          height: auto;
          display: block; }
      #bfwlp1 .mv_menu .mv_menu_list li {
        font-size: 1.45vw;
        line-height: 1.5em;
        margin-bottom: 1.38vw; }
        #bfwlp1 .mv_menu .mv_menu_list li a {
          color: #fff;
          transition: color 0.3s ease; }
    #bfwlp1 .lp1-ttl {
      color: #012B62;
      font-size: 4.86vw;
      line-height: 1.5em;
      font-weight: 600;
      text-align: center;
      margin-bottom: 3.47vw; }
    #bfwlp1 #lp1_prd {
      padding-top: 16vw;
      margin-top: -16vw; }
    #bfwlp1 #lp1_mv {
      position: relative;
      margin-bottom: -5vw;
      z-index: 1; }
      #bfwlp1 #lp1_mv .lp1_mv_img {
        position: relative;
        z-index: 1; }
        #bfwlp1 #lp1_mv .lp1_mv_img img {
          width: 100%;
          height: auto;
          display: block; }
      #bfwlp1 #lp1_mv .lp1_mv_txt {
        width: 26vw;
        position: absolute;
        right: 9.23vw;
        top: 16.8vw;
        z-index: 2; }
      #bfwlp1 #lp1_mv .lp1_mv_txt2 {
        position: absolute;
        z-index: 2;
        width: 4.02vw;
        left: 20.4vw;
        top: 4vw; }
      #bfwlp1 #lp1_mv .lp1_mv_txt_info {
        position: absolute;
        z-index: 2;
        left: 0;
        width: 100%;
        top: 73.3vw; }
        #bfwlp1 #lp1_mv .lp1_mv_txt_info .lp1_mv_txt_info_inner {
          width: 69.4vw;
          margin: 0 auto;
          position: relative; }
          #bfwlp1 #lp1_mv .lp1_mv_txt_info .lp1_mv_txt_info_inner .lp1_mv_txt_info_left {
            color: #fff;
            width: 38.6vw; }
            #bfwlp1 #lp1_mv .lp1_mv_txt_info .lp1_mv_txt_info_inner .lp1_mv_txt_info_left .lp1_mv_txt_info_inner_ttl {
              margin-bottom: 2.36vw;
              font-size: 4.16vw;
              line-height: 1.5em; }
            #bfwlp1 #lp1_mv .lp1_mv_txt_info .lp1_mv_txt_info_inner .lp1_mv_txt_info_left .lp1_mv_txt_info_inner_txt {
              line-height: 1.8em;
              font-size: 1.38vw; }
          #bfwlp1 #lp1_mv .lp1_mv_txt_info .lp1_mv_txt_info_inner .lp1_mv_txt_info_right {
            position: absolute;
            right: -2.5vw;
            top: 0;
            width: 30.2vw; }
    #bfwlp1 #lp1_feature {
      position: relative;
      background: #fff;
      z-index: 2; }
      #bfwlp1 #lp1_feature:before {
        content: '';
        display: block;
        width: 100%;
        bottom: 100%;
        margin-bottom: -0.14vw;
        height: 10.28vw;
        z-index: 3;
        position: absolute;
        background: url("../img/lp1/lp1-point_wave.webp") no-repeat center top;
        background-size: cover; }
      #bfwlp1 #lp1_feature .lp1_feature_boxes {
        width: 69.44vw;
        margin: 0 auto;
        padding-bottom: 6.94vw; }
        #bfwlp1 #lp1_feature .lp1_feature_boxes .lp1_feature_box {
          display: flex;
          justify-content: space-between;
          align-items: center;
          margin-bottom: 3.19vw; }
          #bfwlp1 #lp1_feature .lp1_feature_boxes .lp1_feature_box:last-child {
            margin-bottom: 0; }
          #bfwlp1 #lp1_feature .lp1_feature_boxes .lp1_feature_box:nth-child(2) .lp1_feature_box_left {
            order: 2; }
          #bfwlp1 #lp1_feature .lp1_feature_boxes .lp1_feature_box:nth-child(2) .lp1_feature_box_right {
            order: 1; }
          #bfwlp1 #lp1_feature .lp1_feature_boxes .lp1_feature_box .lp1_feature_box_left {
            width: 48.6%; }
            #bfwlp1 #lp1_feature .lp1_feature_boxes .lp1_feature_box .lp1_feature_box_left img {
              display: block;
              width: 100%;
              height: auto; }
          #bfwlp1 #lp1_feature .lp1_feature_boxes .lp1_feature_box .lp1_feature_box_right {
            width: 48.8%; }
            #bfwlp1 #lp1_feature .lp1_feature_boxes .lp1_feature_box .lp1_feature_box_right .lp1_feature_box_ttl {
              font-size: 2.64vw;
              line-height: 1.5em;
              margin-bottom: 6.25vw; }
            #bfwlp1 #lp1_feature .lp1_feature_boxes .lp1_feature_box .lp1_feature_box_right .lp1_feature_box_txt {
              font-size: 1.24vw;
              line-height: 1.5em; }
    #bfwlp1 .sponly {
      display: none !important; }
    #bfwlp1 .lp1_float {
      position: fixed;
      z-index: 4;
      right: 0;
      top: 50%;
      transform: translateY(-50%);
      width: 9.8vw; }
      #bfwlp1 .lp1_float a {
        display: block; }
    #bfwlp1 #lp1_point {
      background: url("../img/lp1/lp1-point_bg.webp") no-repeat center top;
      background-size: cover;
      padding-bottom: 17.92vw;
      padding-top: 16.11vw;
      position: relative; }
      #bfwlp1 #lp1_point:before {
        content: '';
        display: block;
        width: 100%;
        height: 22.71vw;
        background: url("../img/lp1/lp1-features_bg.webp") no-repeat center bottom;
        background-size: cover;
        z-index: 1;
        position: absolute;
        left: 0;
        top: 0;
        margin-top: -1px; }
      #bfwlp1 #lp1_point .lp1-sub {
        position: relative;
        z-index: 2;
        text-align: center;
        color: #fff;
        font-size: 3.61vw;
        line-height: 1.5em; }
      #bfwlp1 #lp1_point .lp1_point_img {
        width: 44.5vw;
        margin: 4.3vw auto 6.5vw; }
      #bfwlp1 #lp1_point .lp1_point_box {
        width: 69.44vw;
        margin: 0 auto;
        position: relative; }
        #bfwlp1 #lp1_point .lp1_point_box .lp1_point_box_img {
          position: absolute;
          right: 0;
          top: 0;
          width: 35.83vw; }
          #bfwlp1 #lp1_point .lp1_point_box .lp1_point_box_img img {
            width: 100%; }
        #bfwlp1 #lp1_point .lp1_point_box .lp1_point_box_ttl {
          font-size: 2.78vw;
          line-height: 1.5em;
          margin-bottom: 2.08vw;
          color: #fff;
          width: 30vw; }
        #bfwlp1 #lp1_point .lp1_point_box .lp1_point_box_txt {
          color: #fff;
          width: 30vw; }
          #bfwlp1 #lp1_point .lp1_point_box .lp1_point_box_txt .txt1 {
            margin-bottom: 2.08vw;
            font-size: 1.25vw;
            line-height: 1.8em; }
          #bfwlp1 #lp1_point .lp1_point_box .lp1_point_box_txt .txt2 {
            font-size: 0.97vw;
            line-height: 1.5em;
            font-weight: 400; }
    #bfwlp1 #lp1_cm {
      padding-top: 5.69vw;
      position: relative; }
      #bfwlp1 #lp1_cm:before {
        content: '';
        display: block;
        width: 100%;
        bottom: 100%;
        margin-bottom: -0.14vw;
        height: 10.28vw;
        z-index: 3;
        position: absolute;
        background: url("../img/lp1/lp1-point_wave.webp") no-repeat center top;
        background-size: cover; }
      #bfwlp1 #lp1_cm .lp1_cm_video {
        width: 69.44vw;
        margin: 0 auto;
        /* YouTubeを囲む大枠 */
        /* ダミー画像のカバーエリア */
        /* ダミー画像本体 */
        /* オリジナルの再生ボタン（CSSで描画） */
        /* YouTubeのiframeエリア（最初はダミー画像の下に隠れている） */ }
        #bfwlp1 #lp1_cm .lp1_cm_video img {
          width: 100%;
          height: auto;
          display: block; }
        #bfwlp1 #lp1_cm .lp1_cm_video video {
          width: 100%;
          height: auto;
          display: block; }
        #bfwlp1 #lp1_cm .lp1_cm_video iframe {
          width: 100%;
          height: auto;
          display: block;
          height: 39vw; }
        #bfwlp1 #lp1_cm .lp1_cm_video .custom-youtube {
          position: relative;
          width: 100%;
          margin: 0 auto;
          aspect-ratio: 16 / 9;
          /* 16:9の比率を保つ（レスポンシブ対応） */
          background: #000;
          overflow: hidden; }
        #bfwlp1 #lp1_cm .lp1_cm_video .custom-cover {
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          z-index: 2;
          cursor: pointer;
          display: flex;
          justify-content: center;
          /* 再生ボタンを中央揃え */
          align-items: center;
          /* 再生ボタンを中央揃え */ }
        #bfwlp1 #lp1_cm .lp1_cm_video .custom-cover .cover-img {
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          object-fit: cover;
          /* 枠に合わせて画像をトリミング */ }
        #bfwlp1 #lp1_cm .lp1_cm_video .play-btn {
          display: none; }
        #bfwlp1 #lp1_cm .lp1_cm_video .youtube-iframe {
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          z-index: 1; }
    #bfwlp1 #lp1_interview {
      padding-top: 11.81vw; }
      #bfwlp1 #lp1_interview .lp1_interview_txt {
        text-align: center;
        font-size: 1.25vw;
        margin-top: 2vw;
        line-height: 1.5em; }
      #bfwlp1 #lp1_interview .lp1_interview_video {
        width: 69.44vw;
        margin: 0 auto;
        /* YouTubeを囲む大枠 */
        /* ダミー画像のカバーエリア */
        /* ダミー画像本体 */
        /* オリジナルの再生ボタン（CSSで描画） */
        /* YouTubeのiframeエリア（最初はダミー画像の下に隠れている） */ }
        #bfwlp1 #lp1_interview .lp1_interview_video img {
          width: 100%;
          height: auto;
          display: block; }
        #bfwlp1 #lp1_interview .lp1_interview_video video {
          width: 100%;
          height: auto;
          display: block; }
        #bfwlp1 #lp1_interview .lp1_interview_video iframe {
          width: 100%;
          height: auto;
          display: block;
          height: 39vw; }
        #bfwlp1 #lp1_interview .lp1_interview_video .custom-youtube {
          position: relative;
          width: 100%;
          margin: 0 auto;
          aspect-ratio: 16 / 9;
          /* 16:9の比率を保つ（レスポンシブ対応） */
          background: #000;
          overflow: hidden; }
        #bfwlp1 #lp1_interview .lp1_interview_video .custom-cover {
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          z-index: 2;
          cursor: pointer;
          display: flex;
          justify-content: center;
          /* 再生ボタンを中央揃え */
          align-items: center;
          /* 再生ボタンを中央揃え */ }
        #bfwlp1 #lp1_interview .lp1_interview_video .custom-cover .cover-img {
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          object-fit: cover;
          /* 枠に合わせて画像をトリミング */ }
        #bfwlp1 #lp1_interview .lp1_interview_video .play-btn {
          display: none; }
        #bfwlp1 #lp1_interview .lp1_interview_video .youtube-iframe {
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          z-index: 1; }
      #bfwlp1 #lp1_interview .lp1_interview_boxes {
        display: flex;
        flex-wrap: wrap;
        width: 69.44vw;
        margin: 0 auto; }
        #bfwlp1 #lp1_interview .lp1_interview_boxes .lp1_interview_box {
          width: 31%;
          margin-right: 3.5%;
          margin-bottom: 2.08vw; }
          #bfwlp1 #lp1_interview .lp1_interview_boxes .lp1_interview_box:nth-child(3n) {
            margin-right: 0; }
          #bfwlp1 #lp1_interview .lp1_interview_boxes .lp1_interview_box .lp1_interview_box_img {
            margin-bottom: 1.25vw; }
            #bfwlp1 #lp1_interview .lp1_interview_boxes .lp1_interview_box .lp1_interview_box_img:hover {
              opacity: 0.9;
              cursor: pointer; }
            #bfwlp1 #lp1_interview .lp1_interview_boxes .lp1_interview_box .lp1_interview_box_img img {
              width: 100%;
              height: auto;
              display: block; }
            #bfwlp1 #lp1_interview .lp1_interview_boxes .lp1_interview_box .lp1_interview_box_img a {
              display: block; }
          #bfwlp1 #lp1_interview .lp1_interview_boxes .lp1_interview_box .lp1_interview_box_ttl {
            color: #002B62;
            line-height: 1.5em;
            font-size: 1.11vw;
            margin-bottom: 1.32vw; }
            #bfwlp1 #lp1_interview .lp1_interview_boxes .lp1_interview_box .lp1_interview_box_ttl a {
              color: #002B62; }
          #bfwlp1 #lp1_interview .lp1_interview_boxes .lp1_interview_box .lp1_interview_box_btn {
            text-align: right; }
            #bfwlp1 #lp1_interview .lp1_interview_boxes .lp1_interview_box .lp1_interview_box_btn a {
              display: inline-block;
              border: solid 1px #002B62;
              color: #002B62;
              font-size: 0.97vw;
              line-height: 1.1em;
              padding: 0.49vw 1.04vw;
              border-radius: 6.94vw;
              -webkit-border-radius: 6.94vw;
              -moz-border-radius: 6.94vw; }
              #bfwlp1 #lp1_interview .lp1_interview_boxes .lp1_interview_box .lp1_interview_box_btn a:hover {
                background: #002B62;
                color: #fff; }
    #bfwlp1 #lp1_gal {
      padding-top: 9.17vw;
      width: 69.44vw;
      margin: 0 auto;
      /* モーダル背景 */
      /* モーダル表示状態 */
      /* モーダルの中身*/
      /* アニメーション*/ }
      #bfwlp1 #lp1_gal .lp1_gal_list {
        display: flex;
        flex-wrap: wrap; }
        #bfwlp1 #lp1_gal .lp1_gal_list li {
          width: 31%;
          margin-right: 3.5%;
          margin-bottom: 2.08vw; }
          #bfwlp1 #lp1_gal .lp1_gal_list li:nth-child(3n) {
            margin-right: 0; }
          #bfwlp1 #lp1_gal .lp1_gal_list li .open-btn {
            background: none;
            border: none;
            padding: 0;
            margin: 0;
            width: 100%; }
            #bfwlp1 #lp1_gal .lp1_gal_list li .open-btn:hover {
              opacity: 0.9;
              cursor: pointer; }
          #bfwlp1 #lp1_gal .lp1_gal_list li img {
            width: 100%;
            height: auto;
            display: block; }
      #bfwlp1 #lp1_gal .close-btn {
        position: absolute;
        top: -3.61vw;
        right: -3.96vw;
        font-size: 0;
        width: 2.22vw;
        padding: 0;
        margin: 0;
        background: none;
        border: none; }
      #bfwlp1 #lp1_gal .modal {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        justify-content: center;
        align-items: center;
        width: 100%;
        height: 100%;
        background: rgba(79, 79, 79, 0.6);
        z-index: 100;
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.3s ease; }
      #bfwlp1 #lp1_gal .modal.active {
        display: flex;
        opacity: 1;
        pointer-events: auto; }
      #bfwlp1 #lp1_gal .modal-content {
        width: 64.58vw;
        text-align: center;
        position: relative;
        opacity: 0;
        transform: scale(0.8);
        transition: all 0.3s ease; }
        #bfwlp1 #lp1_gal .modal-content img {
          width: 100%;
          height: auto;
          display: block; }
      #bfwlp1 #lp1_gal .modal.active .modal-content {
        animation: fadeInScale 0.4s ease forwards; }

  /* bfwlp1 */ }
@media screen and (max-width: 768px) {
  #bfwlp1 {
    font-family: "Shippori Mincho", serif;
    font-weight: 400;
    font-style: normal;
    padding-bottom: 18.14vw;
    color: #002B62;
    overflow: hidden;
    /* lp1_point */
    /* lp1_cm */
    /* lp1_interview */
    /* lp1_gal */ }
    #bfwlp1 .lp1-ttl {
      color: #012B62;
      font-size: 9.66vw;
      line-height: 1.5em;
      font-weight: 600;
      text-align: center;
      margin-bottom: 6.36vw; }
    #bfwlp1 .mv_menu {
      position: fixed;
      left: 5.1vw;
      top: 4.1vw;
      z-index: 4; }
      #bfwlp1 .mv_menu.is-black .mv_menu_logo {
        filter: brightness(0);
        transition: color 0.3s ease; }
      #bfwlp1 .mv_menu .mv_menu_logo {
        width: 13vw;
        transition: color 0.3s ease; }
        #bfwlp1 .mv_menu .mv_menu_logo img {
          width: 100%;
          height: auto;
          display: block; }
    #bfwlp1 .spmenu_ch {
      display: none; }
    #bfwlp1 .spmenu_ch:checked + .spmenu_la .off {
      display: block; }
    #bfwlp1 .spmenu_ch:checked + .spmenu_la .on {
      display: none; }
    #bfwlp1 .spmenu_ch:checked + .spmenu_la + .spmenu {
      left: 0;
      transition: 0.2s;
      opacity: 1;
      visibility: visible; }
    #bfwlp1 .spmenu {
      position: fixed;
      left: 100%;
      opacity: 0;
      visibility: hidden;
      top: 0;
      transition: 0.2s;
      width: 100%;
      height: 100dvh;
      box-sizing: border-box;
      background: #66707C;
      z-index: 4; }
      #bfwlp1 .spmenu ul {
        box-sizing: border-box;
        padding-top: 34vw;
        text-align: center; }
        #bfwlp1 .spmenu ul li {
          font-size: 6.6vw;
          line-height: 1.5em;
          margin-bottom: 7.6vw; }
          #bfwlp1 .spmenu ul li a {
            color: #fff; }
    #bfwlp1 .spmenu_la {
      position: fixed;
      z-index: 10;
      width: 7.1vw;
      height: 7.1vw;
      display: flex;
      justify-content: center;
      align-items: center;
      right: 5.8vw;
      top: 5vw; }
      #bfwlp1 .spmenu_la.is-black .on {
        filter: brightness(0);
        transition: color 0.3s ease; }
      #bfwlp1 .spmenu_la .off {
        display: none;
        width: 80%;
        transition: color 0.3s ease; }
      #bfwlp1 .spmenu_la .on {
        width: 100%; }
    #bfwlp1 #lp1_prd {
      padding-top: 8vw;
      margin-top: -8vw; }
    #bfwlp1 #lp1_mv {
      position: relative;
      margin-bottom: -12vw;
      z-index: 1; }
      #bfwlp1 #lp1_mv .lp1_mv_img {
        position: relative;
        z-index: 1; }
        #bfwlp1 #lp1_mv .lp1_mv_img img {
          width: 100%;
          height: auto;
          display: block; }
      #bfwlp1 #lp1_mv .lp1_mv_txt {
        width: 63.3vw;
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        top: 101vw;
        z-index: 2; }
      #bfwlp1 #lp1_mv .lp1_mv_txt2 {
        position: absolute;
        z-index: 2;
        width: 9.1vw;
        left: 26.2vw;
        top: 19.5vw; }
      #bfwlp1 #lp1_mv .lp1_mv_txt_info {
        position: absolute;
        z-index: 2;
        left: 0;
        width: 100%;
        top: 178vw; }
        #bfwlp1 #lp1_mv .lp1_mv_txt_info .lp1_mv_txt_info_inner {
          position: relative; }
          #bfwlp1 #lp1_mv .lp1_mv_txt_info .lp1_mv_txt_info_inner .lp1_mv_txt_info_left {
            color: #fff;
            margin: 0 auto;
            width: 78.8vw; }
            #bfwlp1 #lp1_mv .lp1_mv_txt_info .lp1_mv_txt_info_inner .lp1_mv_txt_info_left .lp1_mv_txt_info_inner_ttl {
              margin-bottom: 5.8vw;
              font-size: 7.1vw;
              line-height: 1.5em; }
            #bfwlp1 #lp1_mv .lp1_mv_txt_info .lp1_mv_txt_info_inner .lp1_mv_txt_info_left .lp1_mv_txt_info_inner_txt {
              line-height: 1.8em;
              font-size: 4vw; }
          #bfwlp1 #lp1_mv .lp1_mv_txt_info .lp1_mv_txt_info_inner .lp1_mv_txt_info_right {
            width: 71vw;
            margin: 4.3vw auto 0; }
    #bfwlp1 #lp1_feature {
      position: relative;
      background: #fff;
      z-index: 2;
      padding-top: 5vw; }
      #bfwlp1 #lp1_feature:before {
        content: '';
        display: block;
        width: 100%;
        bottom: 100%;
        margin-bottom: -0.14vw;
        height: 10.28vw;
        z-index: 3;
        position: absolute;
        background: url("../img/lp1/lp1-point_wave.webp") no-repeat center top;
        background-size: cover; }
      #bfwlp1 #lp1_feature .lp1_feature_boxes {
        padding-bottom: 6.94vw; }
        #bfwlp1 #lp1_feature .lp1_feature_boxes .lp1_feature_box {
          margin-bottom: 16.19vw; }
          #bfwlp1 #lp1_feature .lp1_feature_boxes .lp1_feature_box:last-child {
            margin-bottom: 0; }
          #bfwlp1 #lp1_feature .lp1_feature_boxes .lp1_feature_box .lp1_feature_box_left img {
            display: block;
            width: 100%;
            height: auto; }
          #bfwlp1 #lp1_feature .lp1_feature_boxes .lp1_feature_box .lp1_feature_box_right {
            width: 78.8%;
            margin: 7vw auto 0; }
            #bfwlp1 #lp1_feature .lp1_feature_boxes .lp1_feature_box .lp1_feature_box_right .lp1_feature_box_ttl {
              font-size: 6.6vw;
              line-height: 1.5em;
              margin-bottom: 5.3vw; }
            #bfwlp1 #lp1_feature .lp1_feature_boxes .lp1_feature_box .lp1_feature_box_right .lp1_feature_box_txt {
              font-size: 4vw;
              line-height: 1.5em; }
    #bfwlp1 .pconly {
      display: none !important; }
    #bfwlp1 .lp1_float {
      position: fixed;
      z-index: 4;
      right: 0;
      bottom: 10vw;
      width: 21vw; }
      #bfwlp1 .lp1_float a {
        display: block; }
    #bfwlp1 #lp1_point {
      background: url("../img/lp1/lp1-point_bg.webp") no-repeat center top;
      background-size: cover;
      padding-bottom: 22.92vw;
      padding-top: 25vw;
      position: relative; }
      #bfwlp1 #lp1_point:before {
        content: '';
        display: block;
        width: 100%;
        height: 49.71vw;
        background: url("../img/lp1/lp1-features_bg_sp.webp") no-repeat center bottom;
        background-size: 108vw;
        z-index: 1;
        position: absolute;
        left: 0;
        top: 0;
        margin-top: -1px; }
      #bfwlp1 #lp1_point .lp1-sub {
        position: relative;
        z-index: 2;
        text-align: center;
        color: #fff;
        font-size: 6.3vw;
        line-height: 1.5em; }
      #bfwlp1 #lp1_point .lp1_point_img {
        width: 78vw;
        margin: 7.3vw auto 10.6vw; }
      #bfwlp1 #lp1_point .lp1_point_box {
        width: 77vw;
        margin: 0 auto;
        position: relative; }
        #bfwlp1 #lp1_point .lp1_point_box .lp1_point_box_img {
          margin-bottom: 6.8vw; }
          #bfwlp1 #lp1_point .lp1_point_box .lp1_point_box_img img {
            width: 100%; }
        #bfwlp1 #lp1_point .lp1_point_box .lp1_point_box_ttl {
          font-size: 6.6vw;
          line-height: 1.5em;
          margin-bottom: 6.8vw;
          color: #fff; }
        #bfwlp1 #lp1_point .lp1_point_box .lp1_point_box_txt {
          color: #fff; }
          #bfwlp1 #lp1_point .lp1_point_box .lp1_point_box_txt .txt1 {
            margin-bottom: 5vw;
            font-size: 4vw;
            line-height: 1.8em; }
          #bfwlp1 #lp1_point .lp1_point_box .lp1_point_box_txt .txt2 {
            font-size: 3.5vw;
            line-height: 1.5em;
            font-weight: 400; }
    #bfwlp1 #lp1_cm {
      padding-top: 25vw;
      position: relative; }
      #bfwlp1 #lp1_cm:before {
        content: '';
        display: block;
        width: 100%;
        bottom: 100%;
        margin-bottom: -0.14vw;
        height: 10.28vw;
        z-index: 3;
        position: absolute;
        background: url("../img/lp1/lp1-point_wave.webp") no-repeat center top;
        background-size: cover; }
      #bfwlp1 #lp1_cm .lp1_cm_video {
        width: 76vw;
        margin: 0 auto;
        /* YouTubeを囲む大枠 */
        /* ダミー画像のカバーエリア */
        /* ダミー画像本体 */
        /* オリジナルの再生ボタン（CSSで描画） */
        /* YouTubeのiframeエリア（最初はダミー画像の下に隠れている） */ }
        #bfwlp1 #lp1_cm .lp1_cm_video img {
          width: 100%;
          height: auto;
          display: block; }
        #bfwlp1 #lp1_cm .lp1_cm_video video {
          width: 100%;
          height: auto;
          display: block; }
        #bfwlp1 #lp1_cm .lp1_cm_video iframe {
          width: 100%;
          height: 43vw;
          display: block; }
        #bfwlp1 #lp1_cm .lp1_cm_video .custom-youtube {
          position: relative;
          width: 100%;
          margin: 0 auto;
          aspect-ratio: 16 / 9;
          /* 16:9の比率を保つ（レスポンシブ対応） */
          background: #000;
          overflow: hidden; }
        #bfwlp1 #lp1_cm .lp1_cm_video .custom-cover {
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          z-index: 2;
          cursor: pointer;
          display: flex;
          justify-content: center;
          /* 再生ボタンを中央揃え */
          align-items: center;
          /* 再生ボタンを中央揃え */ }
        #bfwlp1 #lp1_cm .lp1_cm_video .custom-cover .cover-img {
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          object-fit: cover;
          /* 枠に合わせて画像をトリミング */ }
        #bfwlp1 #lp1_cm .lp1_cm_video .play-btn {
          display: none; }
        #bfwlp1 #lp1_cm .lp1_cm_video .youtube-iframe {
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          z-index: 1; }
    #bfwlp1 #lp1_interview {
      padding-top: 9.17vw; }
      #bfwlp1 #lp1_interview .lp1_interview_txt {
        text-align: center;
        font-size: 3.58vw;
        line-height: 1.5em;
        margin-top: 4.5vw; }
      #bfwlp1 #lp1_interview .lp1_interview_video {
        width: 76vw;
        margin: 0 auto;
        /* YouTubeを囲む大枠 */
        /* ダミー画像のカバーエリア */
        /* ダミー画像本体 */
        /* オリジナルの再生ボタン（CSSで描画） */
        /* YouTubeのiframeエリア（最初はダミー画像の下に隠れている） */ }
        #bfwlp1 #lp1_interview .lp1_interview_video img {
          width: 100%;
          height: auto;
          display: block; }
        #bfwlp1 #lp1_interview .lp1_interview_video video {
          width: 100%;
          height: auto;
          display: block; }
        #bfwlp1 #lp1_interview .lp1_interview_video iframe {
          width: 100%;
          height: 43vw;
          display: block; }
        #bfwlp1 #lp1_interview .lp1_interview_video .custom-youtube {
          position: relative;
          width: 100%;
          margin: 0 auto;
          aspect-ratio: 16 / 9;
          /* 16:9の比率を保つ（レスポンシブ対応） */
          background: #000;
          overflow: hidden; }
        #bfwlp1 #lp1_interview .lp1_interview_video .custom-cover {
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          z-index: 2;
          cursor: pointer;
          display: flex;
          justify-content: center;
          /* 再生ボタンを中央揃え */
          align-items: center;
          /* 再生ボタンを中央揃え */ }
        #bfwlp1 #lp1_interview .lp1_interview_video .custom-cover .cover-img {
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          object-fit: cover;
          /* 枠に合わせて画像をトリミング */ }
        #bfwlp1 #lp1_interview .lp1_interview_video .play-btn {
          display: none; }
        #bfwlp1 #lp1_interview .lp1_interview_video .youtube-iframe {
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          z-index: 1; }
      #bfwlp1 #lp1_interview .lp1_interview_boxes .lp1_interview_box {
        margin: 0 3.4vw; }
        #bfwlp1 #lp1_interview .lp1_interview_boxes .lp1_interview_box .lp1_interview_box_img {
          margin-bottom: 4.3vw; }
          #bfwlp1 #lp1_interview .lp1_interview_boxes .lp1_interview_box .lp1_interview_box_img:hover {
            opacity: 0.9;
            cursor: pointer; }
          #bfwlp1 #lp1_interview .lp1_interview_boxes .lp1_interview_box .lp1_interview_box_img img {
            width: 100%;
            height: auto;
            display: block; }
          #bfwlp1 #lp1_interview .lp1_interview_boxes .lp1_interview_box .lp1_interview_box_img a {
            display: block; }
        #bfwlp1 #lp1_interview .lp1_interview_boxes .lp1_interview_box .lp1_interview_box_ttl {
          color: #002B62;
          line-height: 1.5em;
          font-size: 4vw;
          margin-bottom: 5.3vw; }
          #bfwlp1 #lp1_interview .lp1_interview_boxes .lp1_interview_box .lp1_interview_box_ttl a {
            color: #002B62; }
        #bfwlp1 #lp1_interview .lp1_interview_boxes .lp1_interview_box .lp1_interview_box_btn {
          text-align: right; }
          #bfwlp1 #lp1_interview .lp1_interview_boxes .lp1_interview_box .lp1_interview_box_btn a {
            display: inline-block;
            border: solid 1px #002B62;
            color: #002B62;
            font-size: 3.42vw;
            line-height: 1.1em;
            padding: 1.7vw 3.3vw;
            border-radius: 6.94vw;
            -webkit-border-radius: 6.94vw;
            -moz-border-radius: 6.94vw; }
            #bfwlp1 #lp1_interview .lp1_interview_boxes .lp1_interview_box .lp1_interview_box_btn a:hover {
              background: #002B62;
              color: #fff; }
    #bfwlp1 #lp1_gal {
      padding-top: 9.17vw;
      margin: 0 auto;
      /* モーダル背景 */
      /* モーダル表示状態 */
      /* モーダルの中身*/
      /* アニメーション*/ }
      #bfwlp1 #lp1_gal .lp1_gal_list li {
        margin: 0 3.4vw; }
        #bfwlp1 #lp1_gal .lp1_gal_list li .open-btn {
          background: none;
          border: none;
          padding: 0;
          margin: 0;
          width: 100%; }
          #bfwlp1 #lp1_gal .lp1_gal_list li .open-btn:hover {
            opacity: 0.9;
            cursor: pointer; }
        #bfwlp1 #lp1_gal .lp1_gal_list li img {
          width: 100%;
          height: auto;
          display: block; }
      #bfwlp1 #lp1_gal .close-btn {
        position: absolute;
        top: -3.61vw;
        right: -3.96vw;
        font-size: 0;
        width: 3.22vw;
        padding: 0;
        margin: 0;
        background: none;
        border: none; }
      #bfwlp1 #lp1_gal .modal {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        justify-content: center;
        align-items: center;
        width: 100%;
        height: 100%;
        background: rgba(79, 79, 79, 0.6);
        z-index: 100;
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.3s ease; }
      #bfwlp1 #lp1_gal .modal.active {
        display: flex;
        opacity: 1;
        pointer-events: auto; }
      #bfwlp1 #lp1_gal .modal-content {
        width: 86.58vw;
        text-align: center;
        position: relative;
        opacity: 0;
        transform: scale(0.8);
        transition: all 0.3s ease; }
        #bfwlp1 #lp1_gal .modal-content img {
          width: 100%;
          height: auto;
          display: block; }
      #bfwlp1 #lp1_gal .modal.active .modal-content {
        animation: fadeInScale 0.4s ease forwards; }

  /* bfwlp1 */ }
