@charset "utf-8";
/* CSS Document */

@media screen and (max-width: 1170px) {


  /* --- concatenated (in original order) --- */
  /* 共通 */
  
    .pc, .pc_1, .is_sp {
  
      display: none;
    }
  
    .sp, .sp_1, .is_sp {
  
      display: block;
    }
  
    .wrapper {
  
      width: 900px;
      margin: 100px auto;
    }
  
    .btn_35 {
  
      width: 350px;
    }
  
    /* ヘッダー*/
  
    #header {
  
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 70px;
      /* ここ基準で中央揃え */
  
      background: #fff;
      z-index: 1000;
    }
  
    body {
  
      padding-top: 70px !important;
    }
  
    #header .wrapper {
  
      width: 100%;
      height: 70px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      display: block;
      position: relative;
      margin: auto;
    }
  
    .header_left img {
  
      position: absolute;
      top: 10px;
      left: 100px;
    }
  
    .header_right_sp a {
  
      position: absolute;
      top: 13px;
      right: 100px;
    }
  
    #g-nav {
  
      position:fixed;
      z-index: 999;
      top:0;
      right: -120%;
      width: 40%;
      height: 100vh;
      background: linear-gradient(120deg, rgba(247, 69, 83, 0.9), rgba(173, 125, 237, 0.9) 50%, rgba(78, 204, 219, 0.9));
      transition: all 0.6s;
    }
  
    #g-nav.panelactive {
  
      right: 0;
    }
  
    #g-nav ul {
  
      position: absolute;
      z-index: 999;
      top:40%;
      left:50%;
      transform: translate(-50%,-50%);
    }
  
    #g-nav li {
  
      list-style: none;
      text-align: center;
    }
  
    #g-nav li a {
  
      color: #F4F4F4;
      text-decoration: none;
      padding:15px;
      display: block;
      text-transform: uppercase;
      letter-spacing: 0.1em;
      font-weight: 700;
    }
  
    .openbtn {
  
      position:fixed;
      z-index: 1001;
      top: 5px;
      right: 50px;
      cursor: pointer;
      width: 50px;
      height: 50px;
    }
  
    .openbtn span {
  
      background: none;
      display: inline-block;
      transition: all .4s;
      position: absolute;
      left: 14px;
      height: 3px;
      border-radius: 2px;
      background-color: #666;
      width: 45%;
    }
  
    .openbtn span:nth-of-type(1) {
  
      top:15px;
    }
  
    .openbtn span:nth-of-type(2) {
  
      top:23px;
    }
  
    .openbtn span:nth-of-type(3) {
  
      top:31px;
    }
  
    .openbtn.active span:nth-of-type(1) {
  
      top: 18px;
      left: 18px;
      transform: translateY(6px) rotate(-45deg);
      width: 30%;
    }
  
    .openbtn.active span:nth-of-type(2) {
  
      opacity: 0;
    }
  
    .openbtn.active span:nth-of-type(3) {
  
      top: 30px;
      left: 18px;
      transform: translateY(-6px) rotate(45deg);
      width: 30%;
    }
  
    /* FV */
  
    .FV {
  
      display: flex;
      width: 900px;
    }
  
    .FV_sp {
  
      display: none;
    }
  
    .FV_left h2 {
  
      font-size: 52px;
      line-height: 1;
    }
  
    .FV_left h2:nth-child(1) {
  
      font-size: 2.2em;
    }
  
    .FV_left p {
  
      font-size: 21px;
    }
  
    .FV_bottom a {
  
      width: 900px;
    }
  
    .FV_bottom img {
  
      width: 900px;
    }
  
    /* 強み */
  
    .content_02 .box3_01 {
  
      width:  260px;
    }
  
    .content_02 .box3_01 h3 {
  
      font-size: 22px;
    }
  
    /* CTA */
  
    .content_03 .col_2_box1 h2 {
  
      font-size: 39px;
    }
  
    /* About us */
  
    .content_04 {
  
      width: 100%;
    }
  
    .content_04 .col_2 {
  
      width: 900px;
    }
  
    .content_04 iframe {
  
      width: 400px;
      height: 225px;
    }
  
    .youtube {
  
      margin-left: auto;
    }
  
    .content_04 .col_2_box1 {
  
      margin-top: 155px;
    }
  
    .content_04 .col_2_box2 {
  
      width: 450px;
    }
  
    /* インタビュー　interview */
  
    .content_interview .slide-wrapper {
  
      width: 85%;
    }
  
    .content_interview .slick-slide {
  
      margin-right: 10px;
      margin-left: 10px;
    }
  
    /*.Plan*/
  
    #plan.wrapper {
  
      width: 100%;
      padding: 0;
    }
  
    .content_05 .campaign img {
  
      width: 600px;
    }
  
    .col_3 {
  
      gap: 30px;
    }
  
    .col_3 .col_3_box {
  
      width: 280px;
    }
  
    .col_3_boxinner .plan_img {
  
      width: 250px;
    }
  
    .col_3_boxinner .sp_text {
  
      margin-bottom: 56px;
    }
  
    .col_3_boxinner .left {
  
      width: 250px;
    }
  
    .col_3_boxinner .space {
  
      height: 25px;
    }
  
    /* LINE */
  
    .content_06 {
  
      width: 100%;
    }
  
    .content_06 .col_2 {
  
      width: 900px;
      gap: 30px;
    }
  
    .content_06 .col_2_box1 .img_right {
  
      top: 140px;
      left: 80px;
    }
  
    .content_06 .col_2_box1 .img_left {
  
      top: 140px;
      left: 440px;
    }
  
    .content_06 .col_2_box2 a {
  
      font-size: 28px;
      padding: 20px 40px 20px 70px;
      background-position: left 30px center;
      background-size: 40px;
    }
  
    /* 他社比較 */
  
    .content_07 img {
  
      width: 900px;
    }
  
    /* メディア */
  
    .content_08 {
  
      width: 100%;
    }
    
    /* カメラマン */
  
    @media screen and (min-width: 761px) and (max-width: 1170px) {
  
      .content_10 .pc_1 {
  
        display: block !important;
      }
  
      /* PC用列を出す */
  
      .content_10 .col_4 {
  
        display: flex !important;
        justify-content: center;
        gap: 40px;
      }
  
      .content_10 .sp_1 {
  
        display: none !important;
      }
  
      /* SP横スクロールは隠す */
  
      .content_10 .col_4_sp {
  
        display: none !important;
      }
  
      /* カード寸法はPCベースを維持（250px） */
  
      .content_10 .col_4 .col_4_box {
  
        width: 250px;
      }
  
    }
  
    /* CTA */
  
    .content_11 {
  
      width: 100%;
    }
  
    .content_11 .col_2 {
  
      width: 900px;
    }
  
    .content_11 .col_2 .col_2_box1 {
  
      display: block;
      margin: auto;
    }
  
    .content_11 h2 {
  
      margin-bottom: 30px;
    }
  
    /* Flow */
  
    .content_12 .col_4_box {
  
      width: 180px;
    }
  
    .img_box {
  
      width: 180px;
      height: 170px;
    }
  
    .flow_img {
  
      max-width: 180px;
      max-height: 170px;
    }
  
    .content_12 .sp_img {
  
      margin-top: 66px;
    }

  body {
  
      padding-top: 0px;
    }
  
    #g-nav {
  
      width: 50%;
    }
  
    .sp_1 {
  
      display: block;
    }
  
    .pc_1, .is_sp {
  
      display: none;
    }
  
    .wrapper {
  
      width: 730px;
      margin: 0 auto 70px;
    }
  
    #header {
  
      height: 75px;
      position: inherit;
      background: inherit;
      z-index: inherit;
    }
  
    #header .wrapper {
  
      width: 100%;
    }
  
    .header_left img {
  
      top: 20px;
      left: 50px
    }
  
    .header_right_sp a {
  
      top: 20px;
      right: 80px;
    }
  
    .openbtn {
  
      position:fixed;
      z-index: 10;
      top: 13px;
      right: 30px;
    }
  
    /* FV */
  
    .pc {
  
      display: none;
    }
  
    .FV_sp {
  
      display: block;
      width: 100%;
      margin: 0;
    }
  
    .FV_content {
  
      background: none;   /* ← 背景はもうここでは指定しない */
      height: auto;       /* ← 100%も解除 */
      padding: 20px 0 0;  /* ← 余白は残す */
    }
  
    .FV_content img {
  
      width: 90%;
      height: auto;
      display: block;
      margin: 0 auto 20px;
      max-width: none;
    }

    /* <=1170px のとき、背景は .firstview に持たせる */
    .firstview{
      background-image: url("/img/img_f/FV_sp_01.webp?v=9");
      background-size: 103% auto;
      background-position: center -25px;
      background-repeat: no-repeat;
      position: relative;
      padding-bottom: 56px; /* ← バナーを被せる余白（好みで80〜120px） */
    }

    /* バナーを上に少し被せる */
    .FV_bottom{
      position: relative;
      z-index: 2;
      margin: auto;
      padding-top: 15px;
    }

    .FV_bottom a {
  
      width: 730px;
    }
  
    .FV_bottom img {
  
      width: 730px;
      margin-bottom: 0;
    }
  
    /* 強み */
  
    .content_02 .img_center {
  
      margin-bottom: 20px;
    }
  
    .content_02 h2 {
  
      margin-bottom: 50px;
    }
  
    .content_02 .box3_01 {
  
      width: 220px;
    }
  
    .content_02 .box3_01 h3 {
  
      margin-bottom: 20px;
    }
  
    .content_02 .box3_01 .sp_text {
  
      margin: 10px 0 40px;
    }
  
    .content_02 .box3_01 img {
  
      margin-bottom: 30px;
    }
  
    /* CTA */
  
	  .content_03 .col_2{
		display: block;
	}
  
    .content_03 .col_2_box1 .text_center {
  
      margin: 0 0 30px;
    }
  
    /* About us */
  
    .content_04 {
  
      width: 100%;
    }
  
    .content_04 .col_2 {
  
      width: 730px;
    }
  
    .content_04 .col_2 {
  
      display: block;
    }
  
    .content_04 .col_2_box1 {
  
      width: 700px;
      margin: 0 auto 30px;
    }
  
    .content_04 .youtube {
  
      width: 100%;
      height: 0;
      position: relative;
      padding-bottom: 56.25%;
      overflow: hidden;
    }
  
    .content_04 iframe {
  
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      right: 0;
    }
  
    .content_04 .col_2_box2 {
  
      width: 700px;
    }
  
    /*plan*/
  
    .col_3 {
  
      display: block;
    }
  
    .col_3:not(:last-child) {
  
      margin-bottom: 0;
    }
  
    .col_3 .col_3_box {
  
      width: 500px;
      margin: 0 auto 50px;
    }
  
    #plan div.omicale_cp .col_3:nth-child(3) .col_3_box:nth-child(3) {
  
      margin: 0 auto 0px;
    }
  
    .omicale_cp {
  
      padding-bottom: 25px;
      margin-bottom: 25px;
    }
  
    .col_3_boxinner .table {
  
      margin-bottom: 10px;
    }
  
    .col_3_boxinner .plan_img {
  
      width: 280px;
    }
  
    .col_3_boxinner .left {
  
      max-width: 280px;
      width: 100%;
      height: auto;
    }
  
    /* LINE*/
  
    .content_06 {
  
      width: 100%;
    }
  
    .content_06 .col_2 {
  
      width: 730px;
      display: block;
    }
  
    .content_06 .col_2_box1 .img_right {
  
      top: 150px;
      left: 20px;
    }
  
    .content_06 .col_2_box1 .img_left {
  
      top: 150px;
      left: 610px;
    }
  
    .content_06 .col_2_box2 a {
  
      display: block;
      margin: 20px auto 0;
      width: 180px;
    }
  
    /* 他社比較 */
  
    .content_07 img {
  
      width: 730px;
    }
  
    /* メディア */
  
    .content_08 {
  
      width: 100%;
    }
  
  
    /* カメラマン */
  
    .content_10 {
  
      width: 100%;
    }
  
    .content_10 .col_4_sp {
  
      width: 100%;
      display:-webkit-box;
      display:-ms-flexbox;
      display: flex;
      overflow-x: scroll;
      -webkit-overflow-scrolling: touch;
      overflow-scrolling: touch;
      scroll-snap-type: x mandatory;
      padding:0 50px 30px;
      scroll-behavior: smooth;
    }
  
    .content_10 .col_4_sp .col_4_box {
  
      flex: 0 0 300px;
      margin: 0 30px;
      height: 390px;
      box-sizing: border-box;
      background: linear-gradient(120deg, #f74553, #ad7ded 50%, #4eccdb);
      padding: 2px;
      border-radius: 20px;
      position: relative;
    }
  
    .content_10 .col_4_sp .col_4_box .col_4_boxinner {
  
      background: #ffffff;
      border-radius: 20px;
      height: 100%;
      padding: 30px 20px;
      box-sizing: border-box;
      position: relative;
    }
  
    .col_4_boxinner .photo_img {
  
      width: 200px;
      /* 追記 */
  
      height: auto;
      aspect-ratio: 1 / 1;
      object-fit: cover;
    }
  
    .col_4_boxinner .p_18 {
  
      line-height: 1.4;
      width: 85%;
      margin: 0 auto;
    }
  
    /* CTA */
  
    .content_11 {
  
      width: 100%;
    }
  
    .content_11 .col_2 {
  
      width: 730px;
      display: block;
    }
  
    .content_11 .col_2_box1 {
  
      width: 100%;
      margin: 0 auto;
    }
  
    .content_11 .col_2_box1 img {
  
      width: 70%;
      display: block;
      margin: 0 auto 10px;
    }
  
    /* Flow */
  
    .content_12 .col_4_sp {
  
      width: 100%;
      margin: 0 auto;
    }
  
    .content_12 .col_4_sp .col_4_box {
  
      max-width: 300px;
      width: 100%;
      margin: 0 auto 50px;
    }
  
    .col_4_sp .num {
  
      font-size: 50px
    }
  
    .col_4_sp .p_22 {
  
      font-size: 25px;
    }
  
    .col_4_sp .img_box {
  
      width: 300px;
      height: 250px;
    }
  
    .col_4_sp .flow_img {
  
      max-width: 300px;
      max-height: 250px;
    }
  
    .col_4_sp .p_18 {
  
      width: 90%;
      margin: 0 auto;
    }
  
    .content_12 .p_18 {
  
      width: 300px;
    }

  .sns_icons_sp {
  
      display: flex !important;
    }

  #header {
  
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 70px;
      /* 既存指定に合わせる */
  
      background: #fff;
      z-index: 1000;
    }
  
    /* 固定ヘッダーのぶん下げる（被り防止） */
  
    body {
  
      padding-top: 70px !important;
    }

  .content_07 .no_sp {
  
      display: none !important;
    }
  
    /* PC用を隠す */
  
    .content_07 .is_sp {
  
      display: block !important;
    }
  
    /* SP用だけ出す */
}




@media screen and (max-width: 760px) {


  /* --- concatenated (in original order) --- */
  .no_sp {
  
      display: none;
    }
  
    .is_sp {
  
      display: block;
    }
  
    h2 {
  
      font-size: 28px;
    }
  
    h3 {
  
      font-size: 20px;
      margin-top: 5px;
    }
  
    .p_28 {
  
      font-size: 16px;
    }
  
    .p_25 {
  
      font-size: 20px;
    }
  
    .p_20, .p_18 {
  
      font-size: 14px;
    }
  
    .col_2_box1 strong {
  
      font-size: 40px;
    }
  
    .wrapper {
  
      width: 100%;
      padding: 0 15px;
      box-sizing: border-box;
    }
  
    .btn_35, .btn_40 {
  
      font-size: 16px;
      padding: 16px 0;
      width: 80%;
    }
  
    .btn_20 {
  
      font-size: 14px;
    }
  
    .modal-btn {
  
      font-weight: bold;
      width: 280px;
    }
  
    .FV_bottom img, .content_02 .img_center, .content_04 .col_2, .content_04 .col_2_box1,.content_04 .col_2_box2, .content_05, .col_3, .col_3, .col_3 .col_3_box, .col_3_box .col_3_boxinner, .content_06 .col_2, .content_06 .col_2_box2, .content_07 img, .content_08 .col_2, .content_09 .voice_sp, .voice_sp .voice_2, .content_09 a img,.content_11 .col_2,.FV_bottom a {
  
      width: 100%;
    }
  
    .col_3 {
  
      width: 95%;
    }
  
    .header_left img {
  
      left: 20px;
    }
  
    #g-nav {
  
      width: 100%;
    }
  
    .openbtn {
  
      right: 10px;
    }
  
    .FV_sp {
  
      display: block;
      width: 100%;
      margin: 0;
    }
  
    .FV_content {
  
      background-image: url("/img/img_f/FV_sp_02.webp?v=6");
      background-size: cover;
      height: 100%;
      padding: 20px 0 0;
      background-position: top center;
    }
  
    .FV_content .btn_40 {
  
      width: 80%;
    }
  
    .FV_content img {
  
      width: 100%;
      height: auto;
      display: block;
      margin: 10px auto 10px;
      max-width: none;
    }
  
    .FV_bottom {
  
      width: 100%;
      box-sizing: border-box;
      padding: 10px 10px 0 10px;
    }
  
    .content_01 {
  
      margin-top: 0 !important;
      margin-bottom: 50px;
    }
  
    .loop_wrap ul {
  
      display: flex;
      animation: loop-slide 20s infinite linear 1s;
      height: 170px;
    }
  
    @keyframes loop-slide {
  
      from {
  
        transform: translateX(0);
      }
  
      to {
  
        transform: translateX(-1540px);
      }
  
    }
  
    .loop_wrap li {
  
      width: 200px;
      height: 150px;
      margin-right: 20px;
    }
  
    .loop_wrap .p_25 {
  
      font-size: 16px;
    }
  
    .loop_wrap img {
  
      width: 200px;
    }
  
    .content_02 .img_center {
  
      margin-bottom: 10px;
    }
  
    .content_02 .box3 {
  
      display: block;
    }
  
    .content_02 h2 {
  
      margin-bottom: 35px;
    }
  
    .content_02 .box3_01 h3 {
  
      font-size: 20px;
    }
  
    .content_02 .box3_01 {
  
      max-width: 300px;
      width: 100%;
      margin: 0 auto;
    }
  
    .content_02 .box3_01:not(:last-child) {
  
      margin-bottom: 50px;
    }
  
    .content_02 .box3_01 h3, .content_02 .box3_01 .sp_text {
  
      margin: 0 auto 10px;
    }
  
    .content_02 .box3_01 img {
  
      margin-bottom: 10px;
      max-width: 300px;
    }
  
    .content_03 .col_2_box2 .btn_plan, .content_03 .col_2_box2 .btn_35 {
  
      width: 80%;
    }
  
    .content_03 .col_2_box1 h2 {
  
      font-size: 28px;
    }
  
    .col_2_box2 .btn_plan {
  
      margin-bottom: 20px;
    }
  
    .col_3 .col_3_box .col_3_boxinner {
  
      padding: 20px 10px;
      display: block;
    }
  
    .col_3_boxinner .p_20 {
  
      margin-bottom: 18px;
    }
  
    .content_04 {
  
      padding: 70px 15px;
    }
  
    .content_04 .p_20 {
  
      font-weight: 500;
    }
  
    .omicale_cp .campaign {
  
      position: relative;
      height: 45vw;
    }
  
    .content_05 .campaign img {
  
      width: 90%;
      margin-bottom: 70px;
    }
  
    .col_3_boxinner .p_28 {
  
      font-size: 22px;
    }
  
    .col_3_boxinner .plan_img {
  
      width: 100%;
      max-width: 280px;
    }
  
    .content_06, .content_11 {
  
      padding: 30px 15px;
    }
  
    .content_06 .col_2 {
  
      width: 300px;
    }
  
    .col_2_box1 strong {
  
      font-size: 35px;
    }
  
    .content_06 .col_2_box1 h2 {
  
      font-size: 20px;
    }
  
    .content_06 .col_2_box1 .img_right {
  
      position: absolute;
      width: 53px;
      top: 75px;
      left: -18px;
    }
  
    .content_06 .col_2_box1 .img_left {
  
      position: absolute;
      width: 50px;
      top: 70px;
      left: 264px;
    }
  
    .content_06 .col_2_box2 a {
  
      width: 80%;
      box-sizing: border-box;
      margin-top: 30px;
      font-size: 23px;
    }
  
    .content_07 h2 {
  
      font-size: 25px;
    }
  
    .content_08 {
  
      padding: 30px 15px;
    }
  
    .content_08 h2 {
  
      font-size: 25px;
    }
  
    .content_08 img {
  
      height: 30px;
    }
  
    .content_08 .col_2 {
  
      justify-content: center;
      gap: 20px;
    }
  
    .content_08 .col_2_box2 {
  
      margin-left: 0;
    }
    
    .voice_sp .voice_2 p {
  
      font-weight: 500;
    }
  
    .voice_sp .voice_1 img {
  
      width: 80%;
      max-width: 320px;
    }
  
    .content_10 .text {
  
      margin-bottom: 30px;
    }
  
    .content_10 .p_28 {
  
      margin-bottom: 10px;
    }
  
    .content_10 .col_4_sp {
  
      padding: 0 0 30px;
    }
  
    .content_10 .col_4_sp .col_4_box {
  
      margin: 0 10px;
    }
  
    .content_10 .col_4_sp .col_4_box:first-child {
  
      margin-left: 0;
    }
  
    .content_10 .col_4_sp .col_4_box:last-child {
  
      margin-right: 0;
    }
  
    .content_11 .col_2 .no_sp {
  
      display: none;
    }
  
    .content_11 h2 {
  
      margin-bottom: 20px;
      line-height: 1.3;
    }
  
    .content_11 .small {
  
      font-size: 16px;
    }
  
    .content_11 p {
  
      font-size: 16px;
      margin-bottom: 30px;
    }
  
    .content_12 {
  
      padding: 0;
    }
  
    .col_4_sp .p_22 {
  
      margin-bottom: 20px;
      font-size: 18px;
    }
  
    .col_4_sp .img_box {
  
      width: 220px;
      height: 180px;
      margin: 20px auto;
    }
  
    .col_4_sp .flow_img {
  
      max-width: 220px;
      max-height: 180px;
    }
  
    .col_4_sp .img {
  
      height: 160px;
    }
  
    .content_12 .sp_img {
  
      margin: 0 auto 20px;
    }
  
    .qa-list dl {
  
      padding: 30px 40px 30px 20px;
    }
  
    .qa-list dl dt {
  
      line-height: 1.4;
      font-size: 14px;
      padding-left: 40px;
    }
  
    .qa-list dl dt .q {
  
      top: -2px;
      font-size: 14px;
      width: 25px;
      height: 25px;
    }
  
    .qa-list dl dd p {
  
      font-size: 14px;
    }
  
    .qa-list dl dd {
  
      padding-left: 40px;
    }
  
    .qa-list dl dd .a {
  
      font-size: 14px;
      width: 23px;
      height: 23px;
    }
  
    .qa-list dl::before {
  
      right: 20px;
      top: 40px;
    }
  
    .qa-list .qa_sp::before {
  
      top:30px;
    }
  
    .flex {
  
      width: 100%;
      display: block;
    }
  
    #footer ul.flex:nth-child(2) {
  
      margin: 0 auto 0px;
    }
  
    ul li {
  
      text-align: center;
      margin-bottom: 15px;
    }
  
    ul li a {
  
      font-size: 14px;
    }
  
    footer .flex_icon{
      width: min(320px, 100%); /* 端末幅が狭い時は100%上限 */
      margin: 0 auto 30px;  /* 余白 */
      display: grid;
      grid-template-columns: repeat(3, auto); /* 3列 × 2段 */
      justify-content: center;
      column-gap: 60px;        /* アイコン横の間隔 */
      row-gap: 28px;           /* アイコン縦の間隔 */
    }

    /* フッター専用にスコープ（ヘッダーの22pxには影響させない） */
    footer .flex_icon .icon img{
      width: 40px;            /* 異なるSVGでも揃うよう幅も明示 */
      height: 40px;
      object-fit: contain;
      display: block;
    }
  
    .log img {
  
      width: 250px;
    }
  
    .copyright {
  
      font-size: 14px;
    }
  
    .bottom_btn {
  
      padding: 20px 0;
    }
  
    footer {
  
      margin-bottom: 88px;
    }
  
    .bottom_btn {
  
      padding-top: 40px;
    }
  
    /* インタビュー　interview */
  
    .content_interview .slick-slide {
  
      margin-right: 1vw;
      margin-left: 1vw;
    }
  
    .content_13 h2 span {
  
      font-size: 1.2rem;
    }
  
    .content_interview .p_28 {
  
      margin-bottom: 30px;
    }
  
    .slick-next {
  
      right: -48px !important;
    }
  
    .slick-prev {
  
      left: -48px !important;
    }
}


@media screen and (max-width: 510px) {


  /* --- concatenated (in original order) --- */
  .bottom_btn .bottom_pr {
  
      font-weight: bold;
      width: 310px;
      top: 12px;
      font-size: 11px;
    }
  
    .content_interview .slick-slide {
  
      margin-right: 0;
      margin-left: 0;
    }
  
    /* インタビュー　interview */
  
    .content_interview .slide-wrapper {
  
      width: calc(100% + 30px);
      margin-left: -15px;
    }
  
    .slick-list {
  
      padding: 0 !important;
    }
  
    .slick-next {
  
      right: 0 !important;
    }
  
    .slick-prev {
  
      left: 0 !important;
    }

  .sp_4 {
  
      display: block;
    }
}

/* SNSアイコン＆ハンバーガー */

/* PC表示時にスマホ用アイコンを非表示 */

@media screen and (min-width: 1171px) {

  .sns_icons_sp {

    display: none !important;
  }

}

/* 1170px以下では改めて表示 */

#header .wrapper {

  position: relative;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.header_left.sp img {

  margin-top: -2px;
  /* +で下、-で上 */

}

/* スマホ用SNSアイコン */

.sns_icons_sp {

  position: absolute;
  top: calc(50% + 2px);
  right: 60px;
  /* ハンバーガー左に配置 */

  transform: translateY(-50%);
  display: flex !important;
  align-items: center;
  gap: 10px;
  z-index: 11;
}

.sns_icons_sp a img {

  width: 22px;
  height: 22px;
  display: block;
  object-fit: contain;
}

/* ハンバーガー位置調整 */

.openbtn {

  position: absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-50%);
  width: 45px;
  height: 45px;
  z-index: 12;
}

/* ロゴ位置補正 */

.header_left.sp {

  display: flex;
  align-items: center;
}

.header_left.sp img {

  height: 36px;
  /* 高さ固定で見た目を揃える */

  width: auto;
}

@media (min-width: 1171px) {

  .sns_icons_sp,  .header_left.sp,
  /* SPロゴ */

  .openbtn,
  /* SPハンバーガー */

  #g-nav {

    /* SPナビ */

    display: none !important;
  }

}

@media screen and (min-width: 761px) and (max-width: 1170px) {

  #header{
    --pad-left:   50px;  /* 左端の余白 */
    --pad-right:  30px;  /* 右端の余白 */
    --gap-hb-sns:  8px;  /* ハンバーガー ↔ SNS の間 */
    --gap-sns-res: 12px; /* SNS ↔ 予約ボタンの間 */
    --hb-w:       45px;  /* ハンバーガー見かけ幅 */
    --sns-w:      54px;  /* SNS2個(22×2) + アイコン間10 ≒ 54px。個数変えたら更新 */
  }

  /* 左側を固定pxで管理する場合この1行は不要 */
  #header .header_left img{ left: var(--pad-left) !important; }

  /* 右端：ハンバーガー（右端余白=--pad-right） */
  .openbtn{
    right: var(--pad-right) !important;
    width: var(--hb-w);
  }

  /* その左：SNS（ハンバーガー幅 + gap-hb-sns）だけ内側へ */
  .sns_icons_sp{
    right: calc(var(--pad-right) + var(--hb-w) + var(--gap-hb-sns)) !important;
    width: var(--sns-w);
  }

  /* さらに左：予約（SNS幅 + gap-sns-res）だけ内側へ */
  .header_right_sp a{
    right: calc(var(--pad-right) + var(--hb-w) + var(--gap-hb-sns) + var(--sns-w) + var(--gap-sns-res)) !important;
  }
}

@media screen and (max-width:760px){
  /* 背景画像の下の見える範囲を少し増やす */
  .FV_content {
    background: none !important;   /* 残っている背景を消す */
    height: auto !important;       /* 100%を解除して高さは中身任せ */
    padding-top: 0 !important;
  }

  /* PC背景の残りを消す */
  .firstview {
    background-image: url("/img/img_f/FV_sp_02.webp?v=6") !important; /* スマホ用背景で上書き */
    background-size: 100% auto !important;
    background-position: center -5px !important;
    background-repeat: no-repeat !important;
    padding-bottom: 40px;
    overflow: hidden;
  }

}


