@charset "UTF-8";
/* basic layout */
/* 全体の設定
---------------------------------------------------------------------------*/
/* 基本設定
---------------------------------------------------------------------------*/
/* responsive */
/* サイズ */
/* flexbox */
/* フォント */
/* regular: 400, medium: 500, semibold: 600, bold: 700 */
/*@mixin font-min {
	font-family:"Hiragino Mincho ProN", serif;
	font-optical-sizing: auto;
	font-weight: 300;
	font-style: normal;
}*/
/* medium: 500, bold: 700 */
/* regular: 400, medium: 500, semibold: 600, bold: 700 */
/*@mixin font-en {
	font-family: english, sans-serif;
	font-weight: 400;
	font-style: normal;
}*/
/* regular: 400, medium: 500, semibold: 600, bold: 700 */
/* regular: 400 */
/*@mixin font-deco {
	font-family: "Fuggles", cursive;
	font-weight: 400;
	font-style: normal;
}*/
/* 色 */
/* グラデ背景色 */
/* 中央揃え */
/* objectfit */
/* ホバーアクション */
/* 角丸 */
/* ボタン */
/* ボタンの中のspan */
/* フォントサイズ */
/* padding margin */
/* 縦書き */
/* 内径 */
/* 基本設定
---------------------------------------------------------------------------*/
/* reboot */
/*!
 * Bootstrap Reboot v4.1.3 (https://getbootstrap.com/)
 * Copyright 2011-2018 The Bootstrap Authors
 * Copyright 2011-2018 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
 */
*,
*::before,
*::after {
  box-sizing: border-box; }

@-ms-viewport {
  width: device-width; }
article, aside, figcaption, figure, footer, header, hgroup, main, nav, section {
  display: block; }

body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, Noto Sans, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: .16rem;
  font-weight: 400;
  line-height: 1.5;
  text-align: left; }

[tabindex="-1"]:focus {
  outline: 0 !important; }

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible; }

h1, h2, h3, h4, h5, h6, em {
  margin: 0;
  font-weight: normal;
  font-style: inherit; }

p {
  margin: 0;
  padding: 0; }

abbr[title],
abbr[data-original-title] {
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
  cursor: help;
  border-bottom: 0; }

address {
  margin-bottom: 1rem;
  font-style: normal;
  line-height: inherit; }

ol,
ul,
dl {
  margin: 0;
  padding: 0;
  list-style-type: none; }

ol ol,
ul ul,
ol ul,
ul ol {
  margin-bottom: 0;
  padding: 0; }

dt {
  font-weight: 400;
  margin: 0;
  padding: 0; }

dd {
  margin: 0;
  padding: 0; }

blockquote {
  margin: 0 0 1rem; }

b,
strong {
  font-weight: bolder; }

small {
  font-size: 80%; }

sub,
sup {
  position: relative;
  font-size: 65%;
  line-height: 0;
  vertical-align: baseline; }

sub {
  bottom: -.25em; }

sup {
  top: -.5em; }

a {
  color: #007bff;
  text-decoration: none;
  background-color: transparent; }

a:not([href]):not([tabindex]) {
  color: inherit;
  text-decoration: none; }

a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {
  color: inherit;
  text-decoration: none; }

a:not([href]):not([tabindex]):focus {
  outline: 0; }

pre,
code,
kbd,
samp {
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 1em; }

pre {
  margin-top: 0;
  margin-bottom: 1rem;
  overflow: auto;
  -ms-overflow-style: scrollbar; }

figure {
  margin: 0 0 1rem; }

img {
  vertical-align: middle;
  border-style: none; }

svg {
  overflow: hidden;
  vertical-align: middle; }

table {
  border-collapse: collapse; }

caption {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  color: #6c757d;
  text-align: left;
  caption-side: bottom; }

th {
  text-align: inherit; }

label {
  display: inline-block; }

button {
  border-radius: 0; }

button:focus {
  outline: 1px dotted;
  outline: 5px auto -webkit-focus-ring-color; }

input,
button,
select,
optgroup,
textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit; }

button,
input {
  overflow: visible; }

button,
select {
  text-transform: none; }

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; }

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  padding: 0;
  border-style: none; }

input[type="radio"],
input[type="checkbox"] {
  box-sizing: border-box;
  padding: 0; }

input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="month"] {
  -webkit-appearance: listbox; }

textarea {
  overflow: auto;
  resize: vertical; }

fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0; }

legend {
  display: block;
  width: 100%;
  max-width: 100%;
  padding: 0;
  margin-bottom: .5rem;
  font-size: 1.5rem;
  line-height: inherit;
  color: inherit;
  white-space: normal; }

progress {
  vertical-align: baseline; }

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

[type="search"] {
  outline-offset: -2px;
  -webkit-appearance: none; }

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button; }

output {
  display: inline-block; }

summary {
  display: list-item;
  cursor: pointer; }

template {
  display: none; }

[hidden] {
  display: none !important; }

/* basic layout */
/* 全体の設定
---------------------------------------------------------------------------*/
/* chromeで表示される謎の青枠を消す */
*:focus {
  outline: none; }

/* 電話番号のリンク */
/*@media (min-width: 769px) {
	a[href*="tel:"] {
		pointer-events: none;
		cursor: default;
		text-decoration: none;
	}
}*/
a.notel {
  pointer-events: none;
  cursor: default;
  text-decoration: none; }

/*リンク（全般）設定
---------------------------------------------------------------------------*/
/* 共通設定
---------------------------------------------------------------------------*/
#wrap {
  position: relative;
  width: 100%;
  margin: 0 auto;
  overflow: hidden; }

@media screen and (max-width: 768px) {
  #wrap {
    margin-top: 0; } }
/* iOSでのデフォルトスタイルをリセット
---------------------------------------------------------------------------*/
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box; }
  input[type="submit"]::-webkit-search-decoration,
  input[type="button"]::-webkit-search-decoration {
    display: none; }
  input[type="submit"]::focus,
  input[type="button"]::focus {
    outline-offset: -2px; }

button, textarea, select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

/* レスポンシブ */
@media screen and (max-width: 480px) {
  .view-pc {
    display: none; } }

.view-tab {
  display: none; }
  @media screen and (max-width: 768px) {
    .view-tab {
      display: block; } }
  @media screen and (max-width: 480px) {
    .view-tab {
      display: none; } }

.view-sp {
  display: none; }
  @media screen and (max-width: 480px) {
    .view-sp {
      display: block; } }

/* 画像 */
img {
  max-width: 100%;
  height: auto; }

/* ------------------------------------------------------------------------*/
/* レイアウト
---------------------------------------------------------------------------*/
body {
  position: relative;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-style: normal;
  background-color: #ffffff;
  color: #222222;
  font-size: 18px;
  line-height: 1; }
  @media screen and (max-width: 1300px) {
    body {
      font-size: 1.3846153846vw; } }
  @media screen and (max-width: 480px) {
    body {
      font-size: 4.8vw; } }
  body.scrollnone {
    overflow: hidden; }

#wrap {
  overflow: hidden;
  position: relative; }

body#top #wrap {
  padding-top: 0; }

* {
  outline: none; }

img {
  display: block;
  width: auto;
  height: auto; }

a {
  transition-property: all;
  transition-duration: 0.3s;
  transition-timing-function: ease;
  color: inherit; }

@media screen and (min-width: 481px) {
  a:hover {
    opacity: .6;
    color: inherit;
    text-decoration: none; } }

a.notel {
  pointer-events: none; }

@keyframes fadein {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
.wrap {
  /* 1280 */
  width: 1280px;
  margin-left: auto;
  margin-right: auto; }
  @media screen and (max-width: 1300px) {
    .wrap {
      width: 98.4615384615vw; } }
  @media screen and (max-width: 480px) {
    .wrap {
      width: 89.3333333333vw; } }

.wrap-min {
  /* 1080 */
  width: 1100px;
  margin-left: auto;
  margin-right: auto; }
  @media screen and (max-width: 1300px) {
    .wrap-min {
      width: 84.6153846154vw; } }
  @media screen and (max-width: 480px) {
    .wrap-min {
      width: 89.3333333333vw; } }

.wrap-minest {
  /* 980 */
  width: 980px;
  margin-left: auto;
  margin-right: auto; }
  @media screen and (max-width: 1300px) {
    .wrap-minest {
      width: 75.3846153846vw; } }
  @media screen and (max-width: 480px) {
    .wrap-minest {
      width: 89.3333333333vw; } }

/* 直書きされているスタイル打ち消し */
:nth-of-type(even) {
  flex-direction: row !important; }

/* コンタクトフォーム周り調整：応急処置 */
.contact-body form p + p {
  margin-top: 1em; }
.contact-body form p label {
  width: 100%; }
.contact-body .wpcf7 input, .contact-body .wpcf7 textarea, .contact-body .wpcf7 select {
  margin-top: 1.5em; }

/* head
---------------------------------------------------------------------------*/
.head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: fixed;
  z-index: 9000;
  width: 100%;
  height: 90px;
  padding: 12px 40px;
  background-color: #ffffff; }
  @media screen and (max-width: 1300px) {
    .head {
      height: 6.9230769231vw;
      padding: 0.9230769231vw 2.3076923077vw; } }
  @media screen and (max-width: 480px) {
    .head {
      height: 12vw;
      padding: 1.6vw 5.3333333333vw; } }
  .head-logo {
    width: 233px; }
    @media screen and (max-width: 1300px) {
      .head-logo {
        width: 17.1538461538vw; } }
    @media screen and (max-width: 480px) {
      .head-logo {
        width: 36vw; } }
  .head-nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; }
    @media screen and (max-width: 480px) {
      .head-nav {
        display: none;
        position: absolute;
        left: 0;
        top: 100%;
        width: 100%;
        background-color: #ffffff;
        padding: 8vw 0; } }
    .head-nav-link {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      gap: 20px;
      font-size: 16px; }
      @media screen and (max-width: 1300px) {
        .head-nav-link {
          font-size: 1.2307692308vw; } }
      @media screen and (max-width: 480px) {
        .head-nav-link {
          font-size: 4.2666666667vw; } }
      @media screen and (max-width: 1300px) {
        .head-nav-link {
          gap: 1.2307692308vw; } }
      @media screen and (max-width: 480px) {
        .head-nav-link {
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
          -ms-flex-direction: column;
          flex-direction: column;
          padding: 5.3333333333vw;
          gap: 5.3333333333vw; } }
    .head-nav-tel {
      margin-left: 40px; }
      @media screen and (max-width: 1300px) {
        .head-nav-tel {
          margin-left: 2.3076923077vw; } }
      @media screen and (max-width: 480px) {
        .head-nav-tel {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
          -ms-flex-direction: column;
          flex-direction: column;
          -webkit-box-align: center;
          -ms-flex-align: center;
          align-items: center;
          margin-left: 0;
          margin-top: 5.3333333333vw;
          margin-bottom: 5.3333333333vw; } }
      .head-nav-tel p {
        font-size: 9px;
        text-align: center;
        margin-bottom: 4px; }
        @media screen and (max-width: 1300px) {
          .head-nav-tel p {
            font-size: 0.6923076923vw; } }
        @media screen and (max-width: 480px) {
          .head-nav-tel p {
            font-size: 2.4vw; } }
        @media screen and (max-width: 1300px) {
          .head-nav-tel p {
            margin-bottom: 0.3076923077vw; } }
        @media screen and (max-width: 480px) {
          .head-nav-tel p {
            font-size: 3.2vw;
            margin-bottom: 1.6vw; } }
      .head-nav-tel a {
        display: block;
        position: relative;
        font-family: "Mulish", sans-serif;
        font-optical-sizing: auto;
        font-weight: 700;
        font-style: normal;
        font-weight: 700;
        font-size: 24px;
        padding-left: 30px; }
        @media screen and (max-width: 1300px) {
          .head-nav-tel a {
            font-size: 1.8461538462vw; } }
        @media screen and (max-width: 480px) {
          .head-nav-tel a {
            font-size: 6.4vw; } }
        @media screen and (max-width: 1300px) {
          .head-nav-tel a {
            padding-left: 2.3076923077vw; } }
        @media screen and (max-width: 480px) {
          .head-nav-tel a {
            padding-left: 8vw; } }
        .head-nav-tel a::before {
          position: absolute;
          content: "";
          background-repeat: no-repeat;
          background-position: center;
          background-size: contain;
          width: 24px;
          height: 24px;
          background-image: url(../img/img_2025lp/icn-head-tel.png);
          left: 0;
          top: 50%;
          transform: translateY(-50%); }
          @media screen and (max-width: 1300px) {
            .head-nav-tel a::before {
              width: 1.8461538462vw;
              height: 1.8461538462vw; } }
          @media screen and (max-width: 480px) {
            .head-nav-tel a::before {
              width: 5.0666666667vw;
              height: 5.0666666667vw; } }
    .head-nav-request {
      margin-left: 24px; }
      @media screen and (max-width: 1300px) {
        .head-nav-request {
          margin-left: 1.8461538462vw; } }
      @media screen and (max-width: 480px) {
        .head-nav-request {
          margin-left: 0;
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
          -ms-flex-direction: column;
          flex-direction: column;
          -webkit-box-align: center;
          -ms-flex-align: center;
          align-items: center; } }
      .head-nav-request p {
        font-size: 9px;
        color: #E84B06;
        margin-bottom: 4px;
        text-align: center; }
        @media screen and (max-width: 1300px) {
          .head-nav-request p {
            font-size: 0.6923076923vw; } }
        @media screen and (max-width: 480px) {
          .head-nav-request p {
            font-size: 2.4vw; } }
        @media screen and (max-width: 1300px) {
          .head-nav-request p {
            margin-bottom: 0.3076923077vw; } }
        @media screen and (max-width: 480px) {
          .head-nav-request p {
            font-size: 3.2vw;
            margin-bottom: 1.6vw; } }
      .head-nav-request a {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        width: 202px;
        height: 50px;
        background-color: #C90208;
        color: #ffffff;
        padding: 12px 24px; }
        @media screen and (max-width: 1300px) {
          .head-nav-request a {
            width: 15.5384615385vw;
            height: 3.8461538462vw;
            padding: 0.9230769231vw 1.8461538462vw; } }
        @media screen and (max-width: 480px) {
          .head-nav-request a {
            -webkit-box-pack: center;
            -ms-flex-pack: center;
            justify-content: center;
            width: 60vw;
            height: 13.3333333333vw;
            padding: 3.2vw 5.3333333333vw; } }
        .head-nav-request a span {
          display: block;
          border-radius: 2px;
          background-color: #ffffff;
          font-size: 12px;
          padding: 4px 8px;
          color: #C90208; }
          @media screen and (max-width: 1300px) {
            .head-nav-request a span {
              font-size: 0.9230769231vw; } }
          @media screen and (max-width: 480px) {
            .head-nav-request a span {
              font-size: 3.2vw; } }
          @media screen and (max-width: 1300px) {
            .head-nav-request a span {
              border-radius: 0.1538461538vw;
              padding: 0.3076923077vw 0.6153846154vw; } }
          @media screen and (max-width: 480px) {
            .head-nav-request a span {
              border-radius: 0.5333333333vw;
              padding: 1.0666666667vw 2.1333333333vw;
              margin-right: 2.6666666667vw; } }
        .head-nav-request a strong {
          font-size: 17px; }
          @media screen and (max-width: 1300px) {
            .head-nav-request a strong {
              font-size: 1.3076923077vw; } }
          @media screen and (max-width: 480px) {
            .head-nav-request a strong {
              font-size: 4.5333333333vw; } }
  .head-sp {
    display: none; }
    @media screen and (max-width: 480px) {
      .head-sp {
        display: block;
        position: absolute;
        width: 10vw;
        height: 10vw;
        right: 5.3333333333vw;
        top: 50%;
        transform: translateY(-50%); }
        .head-sp a > div {
          position: absolute;
          left: 0;
          top: 0;
          width: 100%;
          height: 100%;
          transition-property: all;
          transition-duration: 0.3s;
          transition-timing-function: ease; }
          .head-sp a > div.close {
            opacity: 0; }
        .head-sp a.active > div.open {
          opacity: 0; }
        .head-sp a.active > div.close {
          opacity: 1; } }

/* mv
---------------------------------------------------------------------------*/
.mv {
  position: relative;
  width: 100%;
  padding-top: 90px; }
  @media screen and (max-width: 1300px) {
    .mv {
      padding-top: 6.9230769231vw; } }
  @media screen and (max-width: 480px) {
    .mv {
      padding-top: 12vw; } }
  .mv img {
    width: 100%; }
  .mv a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: absolute;
    width: 38.8888vw;
    height: 5vw;
    background-color: #F4FC6D;
    color: #000000;
    bottom: 4vw;
    left: 3.47222vw;
    box-shadow: 4px 4px 4px rgba(86, 86, 86, 0.3);
    border-radius: 2px; }
    @media screen and (max-width: 1300px) {
      .mv a {
        border-radius: 0.1538461538vw; } }
    .mv a span {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      width: 3.8888vw;
      height: 2.36111vw;
      color: #ffffff;
      background-color: #C90208;
      border-radius: 2px;
      margin-right: .83333vw;
      font-size: 1.11111vw; }
      @media screen and (max-width: 1300px) {
        .mv a span {
          border-radius: 0.1538461538vw; } }
    .mv a strong {
      font-size: 1.94444vw;
      font-weight: 700; }

/* map
---------------------------------------------------------------------------*/
.map {
  background-image: url(../img/img_2025lp/map-bg.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  padding: 66px 0 100px; }
  @media screen and (max-width: 1300px) {
    .map {
      padding: 5.0769230769vw 0 7.6923076923vw; } }
  @media screen and (max-width: 480px) {
    .map {
      padding: 16vw 5.3333333333vw; } }
  .map-ttl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: center;
    margin-bottom: 40px; }
    @media screen and (max-width: 1300px) {
      .map-ttl {
        margin-bottom: 3.0769230769vw; } }
    @media screen and (max-width: 480px) {
      .map-ttl {
        margin-bottom: 5.3333333333vw; } }
    .map-ttl span {
      display: inline-block;
      background-color: #ffffff;
      padding: .2em 1em; }
      .map-ttl span .fs39 {
        font-size: 39px; }
        @media screen and (max-width: 1300px) {
          .map-ttl span .fs39 {
            font-size: 3vw; } }
        @media screen and (max-width: 480px) {
          .map-ttl span .fs39 {
            font-size: 10.4vw; } }
        @media screen and (max-width: 480px) {
          .map-ttl span .fs39 {
            font-size: 5vw; } }
      .map-ttl span .fs52 {
        font-size: 52px; }
        @media screen and (max-width: 1300px) {
          .map-ttl span .fs52 {
            font-size: 4vw; } }
        @media screen and (max-width: 480px) {
          .map-ttl span .fs52 {
            font-size: 13.8666666667vw; } }
        @media screen and (max-width: 480px) {
          .map-ttl span .fs52 {
            font-size: 8vw; } }
      .map-ttl span .red {
        color: #C90208; }
      .map-ttl span i {
        font-weight: 700; }
      .map-ttl span + span {
        margin-top: 24px; }
        @media screen and (max-width: 1300px) {
          .map-ttl span + span {
            margin-top: 1.8461538462vw; } }
        @media screen and (max-width: 480px) {
          .map-ttl span + span {
            margin-top: 3.2vw; } }
  .map-map {
    position: relative;
    width: 1020px;
    margin: 0 auto; }
    @media screen and (max-width: 1300px) {
      .map-map {
        width: 78.4615384615vw; } }
    @media screen and (max-width: 480px) {
      .map-map {
        width: 100%; } }
  .map-illust {
    position: absolute;
    width: 323px;
    height: 323px;
    right: -80px;
    bottom: 30px; }
    @media screen and (max-width: 1300px) {
      .map-illust {
        width: 24.8461538462vw;
        height: 24.8461538462vw;
        right: -6.1538461538vw;
        bottom: 2.3076923077vw; } }
    @media screen and (max-width: 480px) {
      .map-illust {
        width: 33vw;
        height: 33vw;
        right: -8vw;
        bottom: -8vw; } }

/* request
---------------------------------------------------------------------------*/
.request {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 60px; }
  @media screen and (max-width: 1300px) {
    .request {
      margin-top: 4.6153846154vw; } }
  @media screen and (max-width: 480px) {
    .request {
      margin-top: 8vw; } }
  .request-box {
    position: relative;
    width: 1000px;
    background-color: #ffffff;
    padding: 40px 0;
    border-radius: 4px;
    margin-right: 110px; }
    @media screen and (max-width: 1300px) {
      .request-box {
        width: 76.9230769231vw;
        padding: 3.0769230769vw 0;
        border-radius: 0.3076923077vw;
        margin-right: 8.4615384615vw; } }
    @media screen and (max-width: 480px) {
      .request-box {
        width: 100%;
        padding: 10.6666666667vw 0 53.3333333333vw;
        border-radius: 1.0666666667vw;
        margin-right: 0; } }
  .request-logo {
    width: 424px;
    margin: 0 auto 32px; }
    @media screen and (max-width: 1300px) {
      .request-logo {
        width: 32.6153846154vw;
        margin: 0 auto 2.4615384615vw; } }
    @media screen and (max-width: 480px) {
      .request-logo {
        width: 56.5333333333vw;
        margin: 0 auto 8.5333333333vw; } }
  .request-lead {
    font-size: 18px;
    text-align: center;
    margin-bottom: 30px; }
    @media screen and (max-width: 1300px) {
      .request-lead {
        font-size: 1.3846153846vw; } }
    @media screen and (max-width: 480px) {
      .request-lead {
        font-size: 4.8vw; } }
    @media screen and (max-width: 1300px) {
      .request-lead {
        margin-bottom: 2.3076923077vw; } }
    @media screen and (max-width: 480px) {
      .request-lead {
        position: relative;
        margin-bottom: 8vw;
        font-size: 4.2666666667vw;
        line-height: 1.5; } }
    .request-lead span {
      font-size: 24px; }
      @media screen and (max-width: 1300px) {
        .request-lead span {
          font-size: 1.8461538462vw; } }
      @media screen and (max-width: 480px) {
        .request-lead span {
          font-size: 6.4vw; } }
      @media screen and (max-width: 480px) {
        .request-lead span {
          position: absolute;
          top: 50%;
          transform: translateY(-50%);
          font-size: 6.4vw; }
          .request-lead span:nth-of-type(1) {
            left: 2.6666666667vw; }
          .request-lead span:nth-of-type(2) {
            right: 2.6666666667vw; } }
  .request-btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center; }
    @media screen and (max-width: 480px) {
      .request-btn {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center; } }
    .request-btn li {
      width: 400px; }
      @media screen and (max-width: 1300px) {
        .request-btn li {
          width: 30.7692307692vw; } }
      @media screen and (max-width: 480px) {
        .request-btn li {
          width: 80%; } }
      .request-btn li a {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        width: 100%;
        height: 72px;
        border-radius: 2px;
        box-shadow: 4px 4px 4px rgba(86, 86, 86, 0.3);
        border: 1px solid #C90208; }
        @media screen and (max-width: 1300px) {
          .request-btn li a {
            height: 5.5384615385vw;
            border-radius: 0.1538461538vw; } }
        @media screen and (max-width: 480px) {
          .request-btn li a {
            height: 16vw;
            border-radius: 0.5333333333vw; } }
        .request-btn li a span {
          display: block;
          position: relative;
          padding-left: 28px;
          font-weight: 700; }
          @media screen and (max-width: 1300px) {
            .request-btn li a span {
              padding-left: 2.1538461538vw; } }
          @media screen and (max-width: 480px) {
            .request-btn li a span {
              padding-left: 7.4666666667vw; } }
          .request-btn li a span::before {
            position: absolute;
            content: "";
            background-repeat: no-repeat;
            background-position: center;
            background-size: contain;
            width: 24px;
            height: 24px;
            left: 0;
            top: 50%;
            transform: translateY(-50%); }
            @media screen and (max-width: 1300px) {
              .request-btn li a span::before {
                width: 1.8461538462vw;
                height: 1.8461538462vw; } }
            @media screen and (max-width: 480px) {
              .request-btn li a span::before {
                width: 6.4vw;
                height: 6.4vw; } }
  .request-tel {
    background-color: #ffffff; }
    .request-tel span {
      color: #C90208;
      font-size: 22px; }
      @media screen and (max-width: 1300px) {
        .request-tel span {
          font-size: 1.6923076923vw; } }
      @media screen and (max-width: 480px) {
        .request-tel span {
          font-size: 5.8666666667vw; } }
      .request-tel span::before {
        background-image: url(../img/img_2025lp/request-icon-tel.png); }
  .request-contact {
    background-color: #C90208;
    margin-left: 32px; }
    @media screen and (max-width: 1300px) {
      .request-contact {
        margin-left: 2.4615384615vw; } }
    @media screen and (max-width: 480px) {
      .request-contact {
        margin-left: 0;
        margin-top: 5.3333333333vw; } }
    .request-contact span {
      color: #ffffff;
      font-size: 20px; }
      @media screen and (max-width: 1300px) {
        .request-contact span {
          font-size: 1.5384615385vw; } }
      @media screen and (max-width: 480px) {
        .request-contact span {
          font-size: 5.3333333333vw; } }
      .request-contact span::before {
        background-image: url(../img/img_2025lp/request-icon-note.png); }
  .request-eyecatch > div {
    position: absolute; }
    .request-eyecatch > div.woman {
      width: 466px;
      right: -218px;
      bottom: 0; }
      @media screen and (max-width: 1300px) {
        .request-eyecatch > div.woman {
          width: 35.8461538462vw;
          right: -16.7692307692vw; } }
      @media screen and (max-width: 480px) {
        .request-eyecatch > div.woman {
          width: 68vw;
          right: -9vw; } }
    .request-eyecatch > div.fuki {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      width: 228px;
      height: 206px;
      right: -126px;
      top: -78px;
      background-image: url(../img/img_2025lp/request-fuki.png);
      background-repeat: no-repeat;
      background-position: center;
      background-size: contain; }
      @media screen and (max-width: 1300px) {
        .request-eyecatch > div.fuki {
          width: 17.5384615385vw;
          height: 15.8461538462vw;
          right: -9.6923076923vw;
          top: -6vw; } }
      @media screen and (max-width: 480px) {
        .request-eyecatch > div.fuki {
          bottom: 13vw;
          top: auto;
          right: 26vw;
          width: 56vw;
          height: 50vw;
          padding-bottom: 3vw; } }
      .request-eyecatch > div.fuki p {
        width: 100%;
        text-align: center;
        font-size: 11px;
        line-height: 1.5; }
        @media screen and (max-width: 1300px) {
          .request-eyecatch > div.fuki p {
            font-size: 0.8461538462vw; } }
        @media screen and (max-width: 480px) {
          .request-eyecatch > div.fuki p {
            font-size: 2.9333333333vw; } }
        .request-eyecatch > div.fuki p span {
          font-size: 14px; }
          @media screen and (max-width: 1300px) {
            .request-eyecatch > div.fuki p span {
              font-size: 1.0769230769vw; } }
          @media screen and (max-width: 480px) {
            .request-eyecatch > div.fuki p span {
              font-size: 3.7333333333vw; } }

/* worries
---------------------------------------------------------------------------*/
.worries {
  background-image: url(../img/img_2025lp/worries-bg.png);
  background-size: 1440px auto;
  background-position: center bottom;
  background-repeat: repeat-x;
  padding: 112px 0 107px; }
  @media screen and (max-width: 1300px) {
    .worries {
      background-size: 110.7692307692vw auto;
      padding: 8.6153846154vw 0 8.2307692308vw; } }
  @media screen and (max-width: 480px) {
    .worries {
      position: relative;
      background-size: 100vw auto;
      padding: 16vw 5.3333333333vw; } }
  @media screen and (max-width: 480px) {
    .worries::before {
      position: absolute;
      content: "";
      width: 100%;
      height: 100%;
      bottom: 0;
      left: 0;
      background-image: url(../img/img_2025lp/bg-lattice.png);
      background-size: 100vw auto;
      z-index: -5; } }
  .worries-wrap {
    width: 1280px;
    margin: 0 auto; }
    @media screen and (max-width: 1300px) {
      .worries-wrap {
        width: 98.4615384615vw; } }
    @media screen and (max-width: 480px) {
      .worries-wrap {
        width: 100%; } }
  .worries-ttl {
    font-size: 32px;
    text-align: center;
    font-weight: 700;
    margin-bottom: 64px; }
    @media screen and (max-width: 1300px) {
      .worries-ttl {
        font-size: 2.4615384615vw; } }
    @media screen and (max-width: 480px) {
      .worries-ttl {
        font-size: 8.5333333333vw; } }
    @media screen and (max-width: 1300px) {
      .worries-ttl {
        margin-bottom: 4.9230769231vw; } }
    @media screen and (max-width: 480px) {
      .worries-ttl {
        line-height: 1.5;
        margin-bottom: 10.6666666667vw; } }
    .worries-ttl span {
      font-weight: 700;
      background: linear-gradient(transparent 70%, #FFDD57 30%); }
  .worries-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 24px; }
    @media screen and (max-width: 1300px) {
      .worries-list {
        margin-bottom: 1.8461538462vw; } }
    @media screen and (max-width: 480px) {
      .worries-list {
        margin-bottom: 5.3333333333vw; } }
    .worries-list li {
      position: relative;
      width: 50%;
      font-size: 17px;
      padding-left: 32px;
      margin-bottom: 24px; }
      @media screen and (max-width: 1300px) {
        .worries-list li {
          font-size: 1.3076923077vw; } }
      @media screen and (max-width: 480px) {
        .worries-list li {
          font-size: 4.5333333333vw; } }
      @media screen and (max-width: 1300px) {
        .worries-list li {
          padding-left: 2.4615384615vw;
          margin-bottom: 1.8461538462vw; } }
      @media screen and (max-width: 480px) {
        .worries-list li {
          width: 100%;
          padding-left: 8.5333333333vw;
          margin-bottom: 5.3333333333vw;
          line-height: 1.5; } }
      .worries-list li::before {
        position: absolute;
        content: "";
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
        width: 24px;
        height: 24px;
        background-image: url(../img/img_2025lp/icn-check.png);
        left: 0;
        top: 50%;
        transform: translateY(-50%); }
        @media screen and (max-width: 1300px) {
          .worries-list li::before {
            width: 1.8461538462vw;
            height: 1.8461538462vw; } }
        @media screen and (max-width: 480px) {
          .worries-list li::before {
            width: 6.4vw;
            height: 6.4vw;
            top: .3vw;
            transform: translateY(0); } }
      .worries-list li strong {
        font-size: 24px;
        color: #C90208;
        font-weight: 700; }
        @media screen and (max-width: 1300px) {
          .worries-list li strong {
            font-size: 1.8461538462vw; } }
        @media screen and (max-width: 480px) {
          .worries-list li strong {
            font-size: 6.4vw; } }
  .worries-ill {
    width: 305px;
    margin: 0 auto 34px; }
    @media screen and (max-width: 1300px) {
      .worries-ill {
        width: 23.4615384615vw;
        margin: 0 auto 2.6153846154vw; } }
    @media screen and (max-width: 480px) {
      .worries-ill {
        width: 80vw;
        margin: 0 auto 4.6153846154vw; } }
  .worries-arw {
    width: 67px;
    margin: 0 auto; }
    @media screen and (max-width: 1300px) {
      .worries-arw {
        width: 5.1538461538vw; } }
    @media screen and (max-width: 480px) {
      .worries-arw {
        width: 16vw; } }

/* solution
---------------------------------------------------------------------------*/
.solution {
  position: relative;
  padding: 72px 0 112px; }
  @media screen and (max-width: 1300px) {
    .solution {
      padding: 5.5384615385vw 0 8.6153846154vw; } }
  @media screen and (max-width: 480px) {
    .solution {
      padding: 16vw 5.3333333333vw; } }
  .solution::before {
    position: absolute;
    content: "";
    width: 100%;
    height: calc(100% + 193px);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    background-position: center bottom;
    background-image: url(../img/img_2025lp/solution-bg.jpg);
    left: 0;
    top: -193px;
    z-index: -1; }
    @media screen and (max-width: 1300px) {
      .solution::before {
        height: calc(100% + 14.84615vw);
        top: -14.8461538462vw; } }
  .solution-wrap {
    width: 1000px;
    margin: 0 auto; }
    @media screen and (max-width: 1300px) {
      .solution-wrap {
        width: 76.9230769231vw; } }
    @media screen and (max-width: 480px) {
      .solution-wrap {
        width: 100%; } }
  .solution-ttl {
    font-size: 32px;
    text-align: center;
    font-weight: 700;
    margin-bottom: 64px;
    color: #ffffff;
    line-height: 1.5; }
    @media screen and (max-width: 1300px) {
      .solution-ttl {
        font-size: 2.4615384615vw; } }
    @media screen and (max-width: 480px) {
      .solution-ttl {
        font-size: 8.5333333333vw; } }
    @media screen and (max-width: 1300px) {
      .solution-ttl {
        margin-bottom: 4.9230769231vw; } }
    @media screen and (max-width: 480px) {
      .solution-ttl {
        margin-bottom: 10.6666666667vw; } }
    .solution-ttl span {
      background: linear-gradient(transparent 70%, #E0C035 30%); }
  .solution-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
    @media screen and (max-width: 480px) {
      .solution-item {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column; } }
    .solution-item li {
      width: 320px;
      background-color: #ffffff;
      border-radius: 4px; }
      @media screen and (max-width: 1300px) {
        .solution-item li {
          width: 24.6153846154vw;
          border-radius: 0.3076923077vw; } }
      @media screen and (max-width: 480px) {
        .solution-item li {
          width: 100%;
          border-radius: 0.5333333333vw; }
          .solution-item li + li {
            margin-top: 5.3333333333vw; } }
  .solution-tx {
    padding: 20px; }
    @media screen and (max-width: 1300px) {
      .solution-tx {
        padding: 1.5384615385vw; } }
    @media screen and (max-width: 480px) {
      .solution-tx {
        padding: 5.3333333333vw; } }
  .solution-hdl {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 16px;
    line-height: 1.5; }
    @media screen and (max-width: 1300px) {
      .solution-hdl {
        font-size: 1.3846153846vw; } }
    @media screen and (max-width: 480px) {
      .solution-hdl {
        font-size: 4.8vw; } }
    @media screen and (max-width: 1300px) {
      .solution-hdl {
        margin-bottom: 1.2307692308vw; } }
    @media screen and (max-width: 480px) {
      .solution-hdl {
        margin-bottom: 4.2666666667vw; } }
    .solution-hdl span {
      color: #C90208; }
  .solution-desc {
    font-size: 15px;
    line-height: 1.5; }
    @media screen and (max-width: 1300px) {
      .solution-desc {
        font-size: 1.1538461538vw; } }
    @media screen and (max-width: 480px) {
      .solution-desc {
        font-size: 4vw; } }

/* bg-lattice
---------------------------------------------------------------------------*/
.bg-lattice {
  background-image: url(../img/img_2025lp/bg-lattice.png);
  background-size: 1440px auto;
  background-position: center top; }
  @media screen and (max-width: 1300px) {
    .bg-lattice {
      background-size: 110.7692307692vw auto; } }
  @media screen and (max-width: 480px) {
    .bg-lattice {
      background-size: 100vw auto; } }

/* structure
---------------------------------------------------------------------------*/
.structure {
  padding: 112px 0;
  /*&-list {
  	@include flex;
  	@include f-between;
  	@include mq(sm) {
  		@include f-column;
  	}
  }
  &-step {
  	width: 240px;
  	border-radius: 4px;
  	border: 1px solid #A7A7A7;
  	box-shadow: 2px 2px 4px rgba(86, 86, 86, .3);
  	background-color: clr(w);
  	@include mq(xl) {
  		width: px2vw(240);
  		border-radius: px2vw(4);
  	}
  	@include mq(sm) {
  		width: 100%;
  		border-radius: px2sp(8);
  	}
  	&-ttl {
  		@include flex;
  		@include f-middle;
  		height: 36px;
  		background-color: clr(red);
  		color: clr(w);
  		@include mq(xl) {
  			height: px2vw(26);
  		}
  		@include mq(sm) {
  			height: px2sp(70);
  		}
  		span {
  			display: block;
  			width: 100%;
  			text-align: center;
  			@include font-num;
  			@include fs(14);
  			font-weight: 700;
  		}
  	}
  	&-ill {
  	}
  	&-desc {
  		@include fs(17);
  		font-weight: 700;
  		line-height: 1.5;
  		padding: 20px;
  		@include mq(xl) {
  			padding: px2vw(20);
  		}
  		@include mq(sm) {
  			padding: px2sp(40);
  			text-align: center;
  		}
  	}
  }
  &-arw {
  	@include flex;
  	@include f-middle;
  	width: 100px;
  	@include mq(xl) {
  		width: px2vw(100);
  	}
  	@include mq(sm) {
  		width: 100%;
  		@include f-column;
  	}
  	& > div {
  		width: 100%;
  		text-align: center;
  		@include mq(sm) {
  			position: relative;
  			width: auto;
  			padding: 4vw 8vw;
  		}
  	}
  	p {
  		@include fs(14);
  		line-height: 1.5;
  	}
  	&-ill {
  		@include mq(sm) {
  			position: absolute;
  			left: 0;
  			@include top50;
  			transform: rotate(90deg);
  			width: 8vw;
  		}
  	}
  }*/ }
  @media screen and (max-width: 1300px) {
    .structure {
      padding: 8.6153846154vw 0; } }
  @media screen and (max-width: 480px) {
    .structure {
      padding: 16vw 5.3333333333vw; } }
  .structure-wrap {
    width: 1000px;
    margin: 0 auto; }
    @media screen and (max-width: 1300px) {
      .structure-wrap {
        width: 76.9230769231vw; } }
    @media screen and (max-width: 480px) {
      .structure-wrap {
        width: 100%; } }
  .structure-ttl {
    font-size: 32px;
    text-align: center;
    font-weight: 700;
    margin-bottom: 64px;
    line-height: 1.5; }
    @media screen and (max-width: 1300px) {
      .structure-ttl {
        font-size: 2.4615384615vw; } }
    @media screen and (max-width: 480px) {
      .structure-ttl {
        font-size: 8.5333333333vw; } }
    @media screen and (max-width: 1300px) {
      .structure-ttl {
        margin-bottom: 4.9230769231vw; } }
    @media screen and (max-width: 480px) {
      .structure-ttl {
        margin-bottom: 10.6666666667vw; } }
    .structure-ttl span {
      font-weight: 700;
      background: linear-gradient(transparent 70%, #FFDD57 30%); }
  .structure-img {
    width: 1000px; }
    @media screen and (max-width: 1300px) {
      .structure-img {
        width: 76.9230769231vw; } }
    @media screen and (max-width: 480px) {
      .structure-img {
        width: 100%; } }
  .structure-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
    width: 800px;
    height: 183px;
    margin-left: auto;
    margin-right: auto;
    background-image: url(../img/img_2025lp/structure-box-bd.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    margin-top: 2em; }
    @media screen and (max-width: 1300px) {
      .structure-box {
        width: 61.5384615385vw;
        height: 14.0769230769vw; } }
    @media screen and (max-width: 480px) {
      .structure-box {
        width: 100%;
        background-repeat: repeat;
        height: auto;
        padding: 6.6666666667vw;
        margin-top: 1em; } }
    .structure-box::before {
      position: absolute;
      content: "";
      width: 100%;
      height: 50px;
      top: -50px;
      background-repeat: no-repeat;
      background-position: center;
      background-size: contain;
      background-image: url(../img/img_2025lp/structure-box-hd.png); }
      @media screen and (max-width: 1300px) {
        .structure-box::before {
          height: 3.8461538462vw;
          top: -3.8461538462vw; } }
    .structure-box li {
      position: relative;
      font-size: 17px;
      font-weight: 700;
      color: #ffffff;
      padding-left: 32px; }
      @media screen and (max-width: 1300px) {
        .structure-box li {
          font-size: 1.3076923077vw; } }
      @media screen and (max-width: 480px) {
        .structure-box li {
          font-size: 4.5333333333vw; } }
      @media screen and (max-width: 1300px) {
        .structure-box li {
          padding-left: 2.4615384615vw; } }
      @media screen and (max-width: 480px) {
        .structure-box li {
          padding-left: 8.5333333333vw;
          line-height: 1.4; } }
      .structure-box li::before {
        position: absolute;
        content: "";
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
        width: 24px;
        height: 24px;
        left: 0;
        top: -3px;
        background-image: url(../img/img_2025lp/structure-box-check.png); }
        @media screen and (max-width: 1300px) {
          .structure-box li::before {
            width: 1.8461538462vw;
            height: 1.8461538462vw;
            top: -0.2307692308vw; } }
        @media screen and (max-width: 480px) {
          .structure-box li::before {
            width: 6.4vw;
            height: 6.4vw;
            top: -0.8vw; } }
      .structure-box li + li {
        margin-top: 16px; }
        @media screen and (max-width: 1300px) {
          .structure-box li + li {
            margin-top: 1.2307692308vw; } }
        @media screen and (max-width: 480px) {
          .structure-box li + li {
            margin-top: 4.2666666667vw; } }

/* comparison
---------------------------------------------------------------------------*/
.comparison {
  padding: 0 0 112px 0; }
  @media screen and (max-width: 1300px) {
    .comparison {
      padding: 0 0 8.6153846154vw 0; } }
  @media screen and (max-width: 480px) {
    .comparison {
      padding: 0 5.3333333333vw 16vw 5.3333333333vw; } }
  .comparison-wrap {
    width: 1000px;
    margin: 0 auto; }
    @media screen and (max-width: 1300px) {
      .comparison-wrap {
        width: 76.9230769231vw; } }
    @media screen and (max-width: 480px) {
      .comparison-wrap {
        width: 100%; } }
  .comparison-ttl {
    font-size: 32px;
    text-align: center;
    font-weight: 700;
    margin-bottom: 64px;
    line-height: 1.5;
    color: #C90208; }
    @media screen and (max-width: 1300px) {
      .comparison-ttl {
        font-size: 2.4615384615vw; } }
    @media screen and (max-width: 480px) {
      .comparison-ttl {
        font-size: 8.5333333333vw; } }
    @media screen and (max-width: 1300px) {
      .comparison-ttl {
        margin-bottom: 4.9230769231vw; } }
    @media screen and (max-width: 480px) {
      .comparison-ttl {
        margin-bottom: 10.6666666667vw; } }
  .comparison-tbl {
    width: 100%; }
    @media screen and (max-width: 480px) {
      .comparison-tbl-wrap {
        width: 100%;
        overflow-x: scroll; } }
    @media screen and (max-width: 480px) {
      .comparison-tbl {
        width: 300%; } }
    .comparison-tbl th, .comparison-tbl td {
      text-align: center;
      border-bottom: 1px solid #DADADA;
      padding: 34px 20px;
      vertical-align: middle; }
      @media screen and (max-width: 1300px) {
        .comparison-tbl th, .comparison-tbl td {
          padding: 2.6153846154vw 1.5384615385vw; } }
      @media screen and (max-width: 480px) {
        .comparison-tbl th, .comparison-tbl td {
          padding: 4.5333333333vw 5.3333333333vw; } }
    .comparison-tbl .pink {
      background-color: #FFE2E5; }
    .comparison-tbl th.star {
      background-color: #D4181D;
      border-top: 7px solid #FFDD57;
      border-left: 7px solid #FFDD57;
      border-right: 7px solid #FFDD57;
      width: 234px; }
      @media screen and (max-width: 1300px) {
        .comparison-tbl th.star {
          width: 18vw; } }
      @media screen and (max-width: 480px) {
        .comparison-tbl th.star {
          width: 25%; } }
      .comparison-tbl th.star img {
        width: 186px;
        margin: 0 auto; }
        @media screen and (max-width: 1300px) {
          .comparison-tbl th.star img {
            width: 15.0769230769vw; } }
        @media screen and (max-width: 480px) {
          .comparison-tbl th.star img {
            width: 90%; } }
    .comparison-tbl th.other {
      background-color: #808080;
      font-size: 20px;
      font-weight: 700;
      color: #ffffff;
      border-right: 1px solid #DADADA;
      width: 234px; }
      @media screen and (max-width: 1300px) {
        .comparison-tbl th.other {
          font-size: 1.5384615385vw; } }
      @media screen and (max-width: 480px) {
        .comparison-tbl th.other {
          font-size: 5.3333333333vw; } }
      @media screen and (max-width: 1300px) {
        .comparison-tbl th.other {
          width: 18vw; } }
      @media screen and (max-width: 480px) {
        .comparison-tbl th.other {
          width: 25%; } }
    .comparison-tbl th.genre {
      background-color: #474747;
      font-size: 20px;
      font-weight: 700;
      color: #ffffff; }
      @media screen and (max-width: 1300px) {
        .comparison-tbl th.genre {
          font-size: 1.5384615385vw; } }
      @media screen and (max-width: 480px) {
        .comparison-tbl th.genre {
          font-size: 5.3333333333vw; } }
      @media screen and (max-width: 480px) {
        .comparison-tbl th.genre {
          width: 25%; } }
    .comparison-tbl td.star {
      background-color: #D4181D;
      border-left: 7px solid #FFDD57;
      border-right: 7px solid #FFDD57;
      font-size: 16px;
      line-height: 1.5;
      color: #ffffff; }
      @media screen and (max-width: 1300px) {
        .comparison-tbl td.star {
          font-size: 1.2307692308vw; } }
      @media screen and (max-width: 480px) {
        .comparison-tbl td.star {
          font-size: 4.2666666667vw; } }
    .comparison-tbl td.other {
      background-color: #ffffff;
      font-size: 16px;
      font-size: 16px;
      border-right: 1px solid #DADADA; }
      @media screen and (max-width: 1300px) {
        .comparison-tbl td.other {
          font-size: 1.2307692308vw; } }
      @media screen and (max-width: 480px) {
        .comparison-tbl td.other {
          font-size: 4.2666666667vw; } }
      @media screen and (max-width: 1300px) {
        .comparison-tbl td.other {
          font-size: 1.2307692308vw; } }
      @media screen and (max-width: 480px) {
        .comparison-tbl td.other {
          font-size: 4.2666666667vw; } }
    .comparison-tbl td.star.last {
      border-bottom: 7px solid #FFDD57; }

/* structure
---------------------------------------------------------------------------*/
.voice {
  width: 1260px;
  padding: 112px 0;
  margin-left: auto;
  margin-right: auto; }
  @media screen and (max-width: 1300px) {
    .voice {
      width: 96.9230769231vw;
      padding: 8.6153846154vw 0; } }
  @media screen and (max-width: 480px) {
    .voice {
      width: 100%;
      padding: 16vw 5.3333333333vw; } }
  .voice-ttl {
    font-size: 32px;
    color: #C90208;
    font-weight: 700;
    text-align: center;
    margin-bottom: 22px; }
    @media screen and (max-width: 1300px) {
      .voice-ttl {
        font-size: 2.4615384615vw; } }
    @media screen and (max-width: 480px) {
      .voice-ttl {
        font-size: 8.5333333333vw; } }
    @media screen and (max-width: 1300px) {
      .voice-ttl {
        margin-bottom: 1.6923076923vw; } }
    @media screen and (max-width: 480px) {
      .voice-ttl {
        margin-bottom: 4.4vw; } }
  .voice-catch {
    font-size: 16px;
    color: #585858;
    text-align: center;
    font-weight: 500; }
    @media screen and (max-width: 1300px) {
      .voice-catch {
        font-size: 1.2307692308vw; } }
    @media screen and (max-width: 480px) {
      .voice-catch {
        font-size: 4.2666666667vw; } }
  .voice-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-top: 50px; }
    @media screen and (max-width: 1300px) {
      .voice-box {
        margin-top: 3.8461538462vw; } }
    @media screen and (max-width: 480px) {
      .voice-box {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        margin-top: 10.6666666667vw; } }
    .voice-box.rvs {
      flex-direction: row-reverse !important; }
      @media screen and (max-width: 480px) {
        .voice-box.rvs {
          flex-direction: column !important; } }
    .voice-box-tx {
      width: 600px; }
      @media screen and (max-width: 1300px) {
        .voice-box-tx {
          width: 46.1538461538vw; } }
      @media screen and (max-width: 480px) {
        .voice-box-tx {
          width: 100%;
          margin-bottom: 5.3333333333vw; } }
    .voice-box-img {
      width: 628px; }
      @media screen and (max-width: 1300px) {
        .voice-box-img {
          width: 48.3076923077vw; } }
      @media screen and (max-width: 480px) {
        .voice-box-img {
          width: 100%; } }
    .voice-box-case {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      width: 65px;
      height: 25px;
      border-radius: 12.5px;
      border: 1px solid #C90208;
      color: #C90208;
      font-weight: 700;
      font-size: 12px;
      margin-bottom: 10px; }
      @media screen and (max-width: 1300px) {
        .voice-box-case {
          font-size: 0.9230769231vw; } }
      @media screen and (max-width: 480px) {
        .voice-box-case {
          font-size: 3.2vw; } }
      @media screen and (max-width: 1300px) {
        .voice-box-case {
          width: 5vw;
          height: 1.9230769231vw;
          border-radius: 0.9615384615vw;
          margin-bottom: 0.7692307692vw; } }
      @media screen and (max-width: 480px) {
        .voice-box-case {
          width: 17.3333333333vw;
          height: 6.6666666667vw;
          border-radius: 3.3333333333vw;
          margin-bottom: 1.5384615385vw; } }
    .voice-box-name {
      font-size: 14px;
      color: #585858;
      font-weight: 700;
      margin-bottom: 30px; }
      @media screen and (max-width: 1300px) {
        .voice-box-name {
          font-size: 1.0769230769vw; } }
      @media screen and (max-width: 480px) {
        .voice-box-name {
          font-size: 3.7333333333vw; } }
      @media screen and (max-width: 1300px) {
        .voice-box-name {
          margin-bottom: 2.3076923077vw; } }
      @media screen and (max-width: 480px) {
        .voice-box-name {
          margin-bottom: 4vw; } }
    .voice-box-hdl {
      font-size: 24px;
      font-weight: 700;
      line-height: 1.7;
      color: #C90208;
      margin-bottom: 30px; }
      @media screen and (max-width: 1300px) {
        .voice-box-hdl {
          font-size: 1.8461538462vw; } }
      @media screen and (max-width: 480px) {
        .voice-box-hdl {
          font-size: 6.4vw; } }
      @media screen and (max-width: 1300px) {
        .voice-box-hdl {
          margin-bottom: 2.3076923077vw; } }
      @media screen and (max-width: 480px) {
        .voice-box-hdl {
          margin-bottom: 4vw;
          font-size: 5.2vw; } }
    .voice-box-desc {
      font-size: 14px;
      line-height: 2.1;
      color: #585858; }
      @media screen and (max-width: 1300px) {
        .voice-box-desc {
          font-size: 1.0769230769vw; } }
      @media screen and (max-width: 480px) {
        .voice-box-desc {
          font-size: 3.7333333333vw; } }

/* bg-gray
---------------------------------------------------------------------------*/
.bg-gray {
  background-image: url(../img/img_2025lp/bg-gray.png);
  background-size: 1440px auto;
  background-position: center bottom;
  padding: 112px 0 275px;
  margin-top: -10px; }
  @media screen and (max-width: 1300px) {
    .bg-gray {
      background-size: 110.7692307692vw auto;
      padding: 8.6153846154vw 0 21.1538461538vw;
      margin-top: -0.7692307692vw; } }
  @media screen and (max-width: 480px) {
    .bg-gray {
      background-size: cover;
      padding: 16vw 5.3333333333vw 26.6666666667vw;
      margin-top: -1.3333333333vw; } }
  .bg-gray-box {
    background-color: #ffffff;
    width: 1000px;
    margin: 0 auto;
    border-radius: 4px;
    padding: 80px 200px; }
    @media screen and (max-width: 1300px) {
      .bg-gray-box {
        width: 76.9230769231vw;
        border-radius: 0.3076923077vw;
        padding: 6.1538461538vw 15.3846153846vw; } }
    @media screen and (max-width: 480px) {
      .bg-gray-box {
        width: 100%;
        border-radius: 1.0666666667vw;
        padding: 10.6666666667vw 5.3333333333vw; } }

/* flow
---------------------------------------------------------------------------*/
.flow {
  position: relative;
  padding-bottom: 72px;
  margin-bottom: 72px; }
  @media screen and (max-width: 1300px) {
    .flow {
      padding-bottom: 5.5384615385vw;
      margin-bottom: 5.5384615385vw; } }
  @media screen and (max-width: 480px) {
    .flow {
      padding-bottom: 10.6666666667vw;
      margin-bottom: 10.6666666667vw; } }
  .flow::after {
    position: absolute;
    content: "";
    width: 775px;
    border-bottom: 2px dashed #777777;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%); }
    @media screen and (max-width: 1300px) {
      .flow::after {
        width: 59.6153846154vw; } }
    @media screen and (max-width: 480px) {
      .flow::after {
        width: 100%; } }
  .flow-ttl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
    font-size: 28px;
    font-weight: 700;
    width: 330px;
    height: 58px;
    border: 1px solid #555555;
    margin: 0 auto 64px; }
    @media screen and (max-width: 1300px) {
      .flow-ttl {
        font-size: 2.1538461538vw; } }
    @media screen and (max-width: 480px) {
      .flow-ttl {
        font-size: 7.4666666667vw; } }
    @media screen and (max-width: 1300px) {
      .flow-ttl {
        width: 25.3846153846vw;
        height: 4.4615384615vw;
        margin: 0 auto 4.9230769231vw; } }
    @media screen and (max-width: 480px) {
      .flow-ttl {
        width: 100%;
        height: 12vw;
        margin: 0 auto 10.6666666667vw; } }
    .flow-ttl > span {
      width: 100%;
      text-align: center; }
    .flow-ttl::before {
      position: absolute;
      content: "";
      left: 50%;
      top: 50%;
      transform: translateX(-50%) translateY(-50%);
      width: 340px;
      height: 68px;
      border: 1px solid #4D4D4D; }
      @media screen and (max-width: 1300px) {
        .flow-ttl::before {
          width: 26.1538461538vw;
          height: 5.3076923077vw; } }
      @media screen and (max-width: 480px) {
        .flow-ttl::before {
          width: calc(100% + 2vw);
          height: calc(100% + 2vw); } }
  .flow-list li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; }
    .flow-list li + li {
      position: relative;
      padding-top: 38px;
      margin-top: 20px; }
      @media screen and (max-width: 1300px) {
        .flow-list li + li {
          padding-top: 2.9230769231vw;
          margin-top: 1.5384615385vw; } }
      @media screen and (max-width: 480px) {
        .flow-list li + li {
          padding-top: 8vw;
          margin-top: 5.3333333333vw; } }
      .flow-list li + li::before {
        position: absolute;
        content: "";
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
        background-image: url(../img/img_2025lp/flow-arw.png);
        width: 40px;
        height: 18px;
        left: 50%;
        transform: translateX(-50%);
        top: 0; }
        @media screen and (max-width: 1300px) {
          .flow-list li + li::before {
            width: 3.0769230769vw;
            height: 1.3846153846vw; } }
        @media screen and (max-width: 480px) {
          .flow-list li + li::before {
            width: 10.6666666667vw;
            height: 4.8vw; } }
    .flow-list li .step {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      width: 64px;
      height: 64px;
      background-color: #FFDD57;
      border-radius: 50%;
      margin-right: 36px; }
      @media screen and (max-width: 1300px) {
        .flow-list li .step {
          width: 4.9230769231vw;
          height: 4.9230769231vw;
          margin-right: 2.7692307692vw; } }
      @media screen and (max-width: 480px) {
        .flow-list li .step {
          width: 16vw;
          height: 16vw;
          margin-right: 5.3333333333vw; } }
      .flow-list li .step > span {
        display: block;
        width: 100%;
        text-align: center;
        font-family: "Mulish", sans-serif;
        font-optical-sizing: auto;
        font-weight: 700;
        font-style: normal; }
        .flow-list li .step > span span {
          display: block;
          color: #5B5B5B;
          font-size: 13px;
          margin-bottom: 2px; }
          @media screen and (max-width: 1300px) {
            .flow-list li .step > span span {
              font-size: 1vw; } }
          @media screen and (max-width: 480px) {
            .flow-list li .step > span span {
              font-size: 3.4666666667vw; } }
          @media screen and (max-width: 1300px) {
            .flow-list li .step > span span {
              margin-bottom: 0.1538461538vw; } }
        .flow-list li .step > span strong {
          display: block;
          color: #4A4A4A;
          font-size: 20px;
          font-weight: 700; }
          @media screen and (max-width: 1300px) {
            .flow-list li .step > span strong {
              font-size: 1.5384615385vw; } }
          @media screen and (max-width: 480px) {
            .flow-list li .step > span strong {
              font-size: 5.3333333333vw; } }
    .flow-list li .tx {
      width: 500px; }
      @media screen and (max-width: 1300px) {
        .flow-list li .tx {
          width: 38.4615384615vw; } }
      @media screen and (max-width: 480px) {
        .flow-list li .tx {
          width: calc(100% - 22vw); } }
      .flow-list li .tx h3 {
        font-size: 18px;
        font-weight: 700;
        color: #C90208;
        margin-bottom: 8px; }
        @media screen and (max-width: 1300px) {
          .flow-list li .tx h3 {
            font-size: 1.3846153846vw; } }
        @media screen and (max-width: 480px) {
          .flow-list li .tx h3 {
            font-size: 4.8vw; } }
        @media screen and (max-width: 1300px) {
          .flow-list li .tx h3 {
            margin-bottom: 0.6153846154vw; } }
        @media screen and (max-width: 480px) {
          .flow-list li .tx h3 {
            margin-bottom: 2.6666666667vw; } }
      .flow-list li .tx p {
        font-size: 15px;
        line-height: 1.5;
        color: #585858; }
        @media screen and (max-width: 1300px) {
          .flow-list li .tx p {
            font-size: 1.1538461538vw; } }
        @media screen and (max-width: 480px) {
          .flow-list li .tx p {
            font-size: 4vw; } }
      .flow-list li .tx a {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        width: 300px;
        height: 57px;
        border-radius: 2px;
        box-shadow: 4px 4px 4px rgba(86, 86, 86, 0.3);
        border: 1px solid #C90208;
        background-color: #C90208;
        margin-top: 16px; }
        @media screen and (max-width: 1300px) {
          .flow-list li .tx a {
            width: 23.0769230769vw;
            height: 4.3846153846vw;
            border-radius: 0.1538461538vw;
            margin-top: 1.2307692308vw; } }
        @media screen and (max-width: 480px) {
          .flow-list li .tx a {
            width: 100%;
            height: 17.3333333333vw;
            margin-top: 4vw; } }
        .flow-list li .tx a span {
          display: block;
          position: relative;
          padding-left: 34px;
          font-weight: 700;
          color: #ffffff;
          font-size: 20px; }
          @media screen and (max-width: 1300px) {
            .flow-list li .tx a span {
              font-size: 1.5384615385vw; } }
          @media screen and (max-width: 480px) {
            .flow-list li .tx a span {
              font-size: 5.3333333333vw; } }
          @media screen and (max-width: 1300px) {
            .flow-list li .tx a span {
              padding-left: 2.6153846154vw; } }
          @media screen and (max-width: 480px) {
            .flow-list li .tx a span {
              padding-left: 9.0666666667vw;
              text-align: center;
              line-height: 1.1; } }
          .flow-list li .tx a span::before {
            position: absolute;
            content: "";
            background-repeat: no-repeat;
            background-position: center;
            background-size: contain;
            width: 22px;
            height: 22px;
            left: 0;
            top: 50%;
            transform: translateY(-50%);
            background-image: url(../img/img_2025lp/request-icon-note.png); }
            @media screen and (max-width: 1300px) {
              .flow-list li .tx a span::before {
                width: 1.6923076923vw;
                height: 1.6923076923vw; } }
            @media screen and (max-width: 480px) {
              .flow-list li .tx a span::before {
                width: 5.8666666667vw;
                height: 5.8666666667vw; } }
          .flow-list li .tx a span i {
            font-style: normal; }
            @media screen and (max-width: 480px) {
              .flow-list li .tx a span i {
                font-size: 80%; } }

/* faq
---------------------------------------------------------------------------*/
.faq dl + dl {
  margin-top: 32px;
  padding-top: 32px;
  border-top: 1px solid #C9C9C9; }
  @media screen and (max-width: 1300px) {
    .faq dl + dl {
      margin-top: 2.4615384615vw;
      padding-top: 2.4615384615vw; } }
  @media screen and (max-width: 480px) {
    .faq dl + dl {
      margin-top: 8.5333333333vw;
      padding-top: 8.5333333333vw; } }
.faq dl dt {
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 20px; }
  @media screen and (max-width: 1300px) {
    .faq dl dt {
      font-size: 1.2307692308vw; } }
  @media screen and (max-width: 480px) {
    .faq dl dt {
      font-size: 4.2666666667vw; } }
  @media screen and (max-width: 1300px) {
    .faq dl dt {
      margin-bottom: 1.5384615385vw; } }
  @media screen and (max-width: 480px) {
    .faq dl dt {
      margin-bottom: 5.3333333333vw; } }
  .faq dl dt::before {
    background-image: url(../img/img_2025lp/faq-q.png); }
.faq dl dd {
  font-size: 15px;
  color: #585858; }
  @media screen and (max-width: 1300px) {
    .faq dl dd {
      font-size: 1.1538461538vw; } }
  @media screen and (max-width: 480px) {
    .faq dl dd {
      font-size: 4vw; } }
  .faq dl dd::before {
    background-image: url(../img/img_2025lp/faq-a.png); }
.faq dl dt, .faq dl dd {
  position: relative;
  line-height: 1.5;
  padding-left: 48px; }
  @media screen and (max-width: 1300px) {
    .faq dl dt, .faq dl dd {
      padding-left: 3.6923076923vw; } }
  @media screen and (max-width: 480px) {
    .faq dl dt, .faq dl dd {
      padding-left: 12.8vw; } }
  .faq dl dt::before, .faq dl dd::before {
    position: absolute;
    content: "";
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    width: 32px;
    height: 32px;
    left: 0;
    top: -5px; }
    @media screen and (max-width: 1300px) {
      .faq dl dt::before, .faq dl dd::before {
        width: 2.4615384615vw;
        height: 2.4615384615vw;
        top: -0.3846153846vw; } }
    @media screen and (max-width: 480px) {
      .faq dl dt::before, .faq dl dd::before {
        width: 8.5333333333vw;
        height: 8.5333333333vw;
        top: -0.6666666667vw; } }

/* contact
---------------------------------------------------------------------------*/
.ancpos {
  padding-top: 90px;
  margin-top: -90px;
  position: relative;
  z-index: -999;
  display: block; }

.contact {
  padding: 190px 0 112px; }
  @media screen and (max-width: 1300px) {
    .contact {
      padding: 14.6153846154vw 0 8.6153846154vw; } }
  @media screen and (max-width: 480px) {
    .contact {
      padding: 40vw 5.3333333333vw 16vw; } }
  .contact-wrap {
    position: relative;
    width: 1000px;
    margin: 0 auto;
    padding: 138px 150px 148px;
    background-color: #ECECEC; }
    @media screen and (max-width: 1300px) {
      .contact-wrap {
        width: 76.9230769231vw;
        padding: 10.6153846154vw 11.5384615385vw 10.7692307692vw; } }
    @media screen and (max-width: 480px) {
      .contact-wrap {
        width: 100%;
        padding: 10.6666666667vw 5.3333333333vw; } }
  .contact-ttl {
    position: absolute;
    text-align: center;
    left: 50%;
    transform: translateX(-50%);
    top: -94px;
    width: 488px; }
    @media screen and (max-width: 1300px) {
      .contact-ttl {
        top: -7.2307692308vw;
        width: 37.5384615385vw; } }
    @media screen and (max-width: 480px) {
      .contact-ttl {
        width: 90%;
        top: -40vw; } }
    .contact-ttl .catch {
      color: #C90208;
      font-weight: 700;
      font-size: 18px;
      margin-bottom: 16px; }
      @media screen and (max-width: 1300px) {
        .contact-ttl .catch {
          font-size: 1.3846153846vw; } }
      @media screen and (max-width: 480px) {
        .contact-ttl .catch {
          font-size: 4.8vw; } }
      @media screen and (max-width: 1300px) {
        .contact-ttl .catch {
          margin-bottom: 1.2307692308vw; } }
      @media screen and (max-width: 480px) {
        .contact-ttl .catch {
          margin-bottom: 4vw; } }
      .contact-ttl .catch strong {
        font-size: 30px; }
        @media screen and (max-width: 1300px) {
          .contact-ttl .catch strong {
            font-size: 2.3076923077vw; } }
        @media screen and (max-width: 480px) {
          .contact-ttl .catch strong {
            font-size: 8vw; } }
    .contact-ttl .fuki {
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      width: 100%;
      height: 96px;
      background-color: #C90208;
      border-radius: 48px; }
      @media screen and (max-width: 1300px) {
        .contact-ttl .fuki {
          height: 7.3846153846vw;
          border-radius: 3.6923076923vw; } }
      @media screen and (max-width: 480px) {
        .contact-ttl .fuki {
          height: 32vw;
          border-radius: 16vw; } }
      .contact-ttl .fuki p {
        width: 100%;
        font-size: 24px;
        color: #ffffff;
        line-height: 1.5;
        font-weight: 700; }
        @media screen and (max-width: 1300px) {
          .contact-ttl .fuki p {
            font-size: 1.8461538462vw; } }
        @media screen and (max-width: 480px) {
          .contact-ttl .fuki p {
            font-size: 6.4vw; } }
        @media screen and (max-width: 480px) {
          .contact-ttl .fuki p {
            line-height: 1.3; } }
      .contact-ttl .fuki::after {
        position: absolute;
        content: "";
        border-top: 26px solid #C90208;
        border-left: 20px solid transparent;
        border-right: 20px solid transparent;
        bottom: -25px;
        left: 50%;
        transform: translateX(-50%); }
        @media screen and (max-width: 1300px) {
          .contact-ttl .fuki::after {
            border-top-width: 2vw;
            border-left-width: 1.5384615385vw;
            border-right-width: 1.5384615385vw;
            bottom: -1.9230769231vw; } }
        @media screen and (max-width: 480px) {
          .contact-ttl .fuki::after {
            border-top-width: 3.4666666667vw;
            border-left-width: 2.6666666667vw;
            border-right-width: 2.6666666667vw;
            bottom: -3.3333333333vw; } }
    .contact-ttl .ill {
      position: absolute;
      width: 137px;
      height: 137px;
      right: -60px;
      top: 56px; }
      @media screen and (max-width: 1300px) {
        .contact-ttl .ill {
          width: 10.5384615385vw;
          height: 10.5384615385vw;
          top: 4.3076923077vw;
          right: -4.6153846154vw; } }
      @media screen and (max-width: 480px) {
        .contact-ttl .ill {
          width: 36.5333333333vw;
          height: 36.5333333333vw;
          top: 8vw;
          right: -21vw; } }
  .contact-body dl + dl {
    margin-top: 28px; }
    @media screen and (max-width: 1300px) {
      .contact-body dl + dl {
        margin-top: 2.1538461538vw; } }
    @media screen and (max-width: 480px) {
      .contact-body dl + dl {
        margin-top: 5.3333333333vw; } }
  .contact-body dl dt {
    font-weight: 700;
    margin-bottom: 12px; }
    @media screen and (max-width: 1300px) {
      .contact-body dl dt {
        margin-bottom: 0.9230769231vw; } }
    @media screen and (max-width: 480px) {
      .contact-body dl dt {
        margin-bottom: 3.2vw; } }
    .contact-body dl dt strong {
      font-size: 17px; }
      @media screen and (max-width: 1300px) {
        .contact-body dl dt strong {
          font-size: 1.3076923077vw; } }
      @media screen and (max-width: 480px) {
        .contact-body dl dt strong {
          font-size: 4.5333333333vw; } }
    .contact-body dl dt .req {
      background-color: #C90208;
      border-radius: 1px;
      padding: 2px 8px;
      margin-left: 16px;
      font-size: 13px;
      color: #ffffff; }
      @media screen and (max-width: 1300px) {
        .contact-body dl dt .req {
          font-size: 1vw; } }
      @media screen and (max-width: 480px) {
        .contact-body dl dt .req {
          font-size: 3.4666666667vw; } }
      @media screen and (max-width: 1300px) {
        .contact-body dl dt .req {
          border-radius: 0.0769230769vw;
          padding: 0.1538461538vw 0.6153846154vw;
          margin-left: 1.2307692308vw; } }
      @media screen and (max-width: 480px) {
        .contact-body dl dt .req {
          border-radius: 0.2666666667vw;
          padding: 0.5333333333vw 2.1333333333vw;
          margin-left: 4.2666666667vw; } }
  .contact-body dl dd input {
    width: 100%;
    background-color: #ffffff;
    border: none;
    border-radius: 2px;
    padding: 16px 20px;
    font-size: 16px; }
    @media screen and (max-width: 1300px) {
      .contact-body dl dd input {
        font-size: 1.2307692308vw; } }
    @media screen and (max-width: 480px) {
      .contact-body dl dd input {
        font-size: 4.2666666667vw; } }
    @media screen and (max-width: 1300px) {
      .contact-body dl dd input {
        border-radius: 0.1538461538vw;
        padding: 1.2307692308vw 1.5384615385vw; } }
    @media screen and (max-width: 480px) {
      .contact-body dl dd input {
        border-radius: 0.5333333333vw;
        padding: 4.2666666667vw 5.3333333333vw; } }
    .contact-body dl dd input::placeholder {
      color: #A4A4A4; }
  .contact-btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 50px; }
    @media screen and (max-width: 1300px) {
      .contact-btn {
        margin-top: 3.8461538462vw; } }
    @media screen and (max-width: 480px) {
      .contact-btn {
        margin-top: 8vw; } }
    .contact-btn input {
      width: 300px;
      height: 60px;
      border-radius: 30px;
      border: none;
      background-color: #C90208;
      color: #ffffff;
      font-size: 18px;
      font-weight: 700;
      transition-property: all;
      transition-duration: 0.3s;
      transition-timing-function: ease;
      box-shadow: 4px 4px 4px rgba(86, 86, 86, 0.3); }
      @media screen and (max-width: 1300px) {
        .contact-btn input {
          font-size: 1.3846153846vw; } }
      @media screen and (max-width: 480px) {
        .contact-btn input {
          font-size: 4.8vw; } }
      .contact-btn input:hover {
        opacity: .6;
        cursor: pointer; }

/* message
---------------------------------------------------------------------------*/
.message {
  background-image: url(../img/img_2025lp/starpaint.jpg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  padding: 96px 0;
  color: #ffffff;
  text-align: center; }
  @media screen and (max-width: 1300px) {
    .message {
      padding: 7.3846153846vw 0; } }
  @media screen and (max-width: 480px) {
    .message {
      padding: 16vw 5.3333333333vw; } }
  .message-wrap {
    position: relative;
    width: 1000px;
    margin: 0 auto; }
    @media screen and (max-width: 1300px) {
      .message-wrap {
        width: 76.9230769231vw; } }
    @media screen and (max-width: 480px) {
      .message-wrap {
        width: 100%; } }
  .message-ttl {
    font-size: 32px;
    line-height: 1.5;
    margin-bottom: 32px; }
    @media screen and (max-width: 1300px) {
      .message-ttl {
        font-size: 2.4615384615vw; } }
    @media screen and (max-width: 480px) {
      .message-ttl {
        font-size: 8.5333333333vw; } }
    @media screen and (max-width: 1300px) {
      .message-ttl {
        margin-bottom: 2.4615384615vw; } }
    @media screen and (max-width: 480px) {
      .message-ttl {
        margin-bottom: 8vw; } }
  .message-desc {
    font-size: 18px;
    line-height: 1.5; }
    @media screen and (max-width: 1300px) {
      .message-desc {
        font-size: 1.3846153846vw; } }
    @media screen and (max-width: 480px) {
      .message-desc {
        font-size: 4.8vw; } }

/* foot
---------------------------------------------------------------------------*/
.foot {
  background-color: #F1F1F1;
  padding: 56px 0; }
  @media screen and (max-width: 1300px) {
    .foot {
      padding: 4.3076923077vw 0; } }
  @media screen and (max-width: 480px) {
    .foot {
      padding: 16vw 5.3333333333vw; } }
  .foot-wrap {
    /* 1280 */
    width: 1280px;
    margin-left: auto;
    margin-right: auto;
    padding-bottom: 32px;
    margin-bottom: 32px;
    border-bottom: 1px solid #5E5E5E; }
    @media screen and (max-width: 1300px) {
      .foot-wrap {
        width: 98.4615384615vw; } }
    @media screen and (max-width: 480px) {
      .foot-wrap {
        width: 89.3333333333vw; } }
    @media screen and (max-width: 1300px) {
      .foot-wrap {
        padding-bottom: 2.4615384615vw;
        margin-bottom: 2.4615384615vw; } }
    @media screen and (max-width: 480px) {
      .foot-wrap {
        width: 100%;
        padding-bottom: 8vw;
        margin-bottom: 8vw; } }
  .foot-logo {
    width: 316px; }
    @media screen and (max-width: 1300px) {
      .foot-logo {
        width: 24.3076923077vw; } }
    @media screen and (max-width: 480px) {
      .foot-logo {
        width: 60vw;
        margin-bottom: 8vw; } }
  .foot-navi {
    margin-bottom: 32px; }
    @media screen and (max-width: 1300px) {
      .foot-navi {
        margin-bottom: 2.4615384615vw; } }
    @media screen and (max-width: 480px) {
      .foot-navi {
        margin-bottom: 8vw; } }
    .foot-navi ul {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: end;
      -ms-flex-pack: end;
      justify-content: flex-end; }
      .foot-navi ul li {
        font-size: 16px; }
        @media screen and (max-width: 1300px) {
          .foot-navi ul li {
            font-size: 1.2307692308vw; } }
        @media screen and (max-width: 480px) {
          .foot-navi ul li {
            font-size: 4.2666666667vw; } }
        .foot-navi ul li + li {
          margin-left: 44px; }
          @media screen and (max-width: 1300px) {
            .foot-navi ul li + li {
              margin-left: 3.3846153846vw; } }
          @media screen and (max-width: 480px) {
            .foot-navi ul li + li {
              margin-left: 5.3333333333vw; } }
  .foot-sns {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    padding-right: 76px; }
    @media screen and (max-width: 1300px) {
      .foot-sns {
        padding-right: 5.8461538462vw; } }
    @media screen and (max-width: 480px) {
      .foot-sns {
        padding-right: 0; } }
    .foot-sns li {
      width: 32px; }
      @media screen and (max-width: 1300px) {
        .foot-sns li {
          width: 2.4615384615vw; } }
      @media screen and (max-width: 480px) {
        .foot-sns li {
          width: 8.5333333333vw; } }
      .foot-sns li + li {
        margin-left: 32px; }
        @media screen and (max-width: 1300px) {
          .foot-sns li + li {
            margin-left: 2.4615384615vw; } }
        @media screen and (max-width: 480px) {
          .foot-sns li + li {
            margin-left: 5.3333333333vw; } }
  .foot-copy {
    text-align: center;
    font-size: 13px;
    line-height: 1.5; }
    @media screen and (max-width: 1300px) {
      .foot-copy {
        font-size: 1vw; } }
    @media screen and (max-width: 480px) {
      .foot-copy {
        font-size: 3.4666666667vw; } }


@media screen and (max-width: 480px) {
		.mv a{
			width: 92vw;
			height: 16vw;
		}
		.mv a span {
			width: 15.7888vw;
			height: 9.36111vw;
			font-size: 4.91111vw;
		}
		.mv a strong {
			font-size: 5.44444vw;
		}
		.request-eyecatch > div.woman {
			width: 90vw;
			right: -3vw;
		}
		.request-box{
			padding: 11.666667vw 0 34.333333vw;
		}

		.solution{
			padding-bottom: 35vw;
		}
		.structure{
			padding-top: 0;
		}
		.head-nav-request{
			flex-direction: column!important;
		}
}
/* ===================================
   フォーム送信ローディングオーバーレイ
   =================================== */
#form-loading-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.7);
	z-index: 99999;
	display: flex;
	justify-content: center;
	align-items: center;
}

#form-loading-overlay .spinner {
	width: 60px;
	height: 60px;
	border: 6px solid rgba(255, 255, 255, 0.3);
	border-top-color: #fff;
	border-radius: 50%;
	animation: spinner-rotate 0.8s linear infinite;
}

@keyframes spinner-rotate {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}
