/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

 html {
    line-height: 1.15; /* 1 */
    -webkit-text-size-adjust: 100%; /* 2 */
  }
  
  /* Sections
     ========================================================================== */
  
  /**
   * Remove the margin in all browsers.
   */
  
  body {
    margin: 0;
    font-family: "zen-kaku-gothic-new", sans-serif;
    font-style: normal;
    letter-spacing: 0.1em;
  }
  
  /**
   * Render the `main` element consistently in IE.
   */
  
  main {
    display: block;
  }
  
  /**
   * Correct the font size and margin on `h1` elements within `section` and
   * `article` contexts in Chrome, Firefox, and Safari.
   */
  
  h1 {
    font-size: 2em;
    margin: 0.67em 0;
  }


  h2 {
    margin-top: 0;
  }
  
  /* Grouping content
     ========================================================================== */
  
  /**
   * 1. Add the correct box sizing in Firefox.
   * 2. Show the overflow in Edge and IE.
   */
  
  hr {
    box-sizing: content-box; /* 1 */
    height: 0; /* 1 */
    overflow: visible; /* 2 */
  }
  
  /**
   * 1. Correct the inheritance and scaling of font size in all browsers.
   * 2. Correct the odd `em` font sizing in all browsers.
   */
  
  pre {
    font-family: monospace, monospace; /* 1 */
    font-size: 1em; /* 2 */
  }
  
  /* Text-level semantics
     ========================================================================== */
  
  /**
   * Remove the gray background on active links in IE 10.
   */
  
  a {
    background-color: transparent;
  }
  
  /**
   * 1. Remove the bottom border in Chrome 57-
   * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
   */
  
  abbr[title] {
    border-bottom: none; /* 1 */
    text-decoration: underline; /* 2 */
    text-decoration: underline dotted; /* 2 */
  }
  
  /**
   * Add the correct font weight in Chrome, Edge, and Safari.
   */
  
  b,
  strong {
    font-weight: bolder;
  }
  
  /**
   * 1. Correct the inheritance and scaling of font size in all browsers.
   * 2. Correct the odd `em` font sizing in all browsers.
   */
  
  code,
  kbd,
  samp {
    font-family: monospace, monospace; /* 1 */
    font-size: 1em; /* 2 */
  }
  
  /**
   * Add the correct font size in all browsers.
   */
  
  small {
    font-size: 80%;
  }
  
  /**
   * Prevent `sub` and `sup` elements from affecting the line height in
   * all browsers.
   */
  
  sub,
  sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  
  sub {
    bottom: -0.25em;
  }
  
  sup {
    top: -0.5em;
  }
  
  /* Embedded content
     ========================================================================== */
  
  /**
   * Remove the border on images inside links in IE 10.
   */
  
  img {
    border-style: none;
  }
  
  /* Forms
     ========================================================================== */
  
  /**
   * 1. Change the font styles in all browsers.
   * 2. Remove the margin in Firefox and Safari.
   */
  
  button,
  input,
  optgroup,
  select,
  textarea {
    font-family: inherit; /* 1 */
    font-size: 100%; /* 1 */
    line-height: 1.15; /* 1 */
    margin: 0; /* 2 */
  }
  
  /**
   * Show the overflow in IE.
   * 1. Show the overflow in Edge.
   */
  
  button,
  input { /* 1 */
    overflow: visible;
  }
  
  /**
   * Remove the inheritance of text transform in Edge, Firefox, and IE.
   * 1. Remove the inheritance of text transform in Firefox.
   */
  
  button,
  select { /* 1 */
    text-transform: none;
  }
  
  /**
   * Correct the inability to style clickable types in iOS and Safari.
   */
  
  button,
  [type="button"],
  [type="reset"],
  [type="submit"] {
    -webkit-appearance: button;
  }
  
  /**
   * Remove the inner border and padding in Firefox.
   */
  
  button::-moz-focus-inner,
  [type="button"]::-moz-focus-inner,
  [type="reset"]::-moz-focus-inner,
  [type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0;
  }
  
  /**
   * Restore the focus styles unset by the previous rule.
   */
  
  button:-moz-focusring,
  [type="button"]:-moz-focusring,
  [type="reset"]:-moz-focusring,
  [type="submit"]:-moz-focusring {
    outline: 1px dotted ButtonText;
  }
  
  /**
   * Correct the padding in Firefox.
   */
  
  fieldset {
    padding: 0.35em 0.75em 0.625em;
  }
  
  /**
   * 1. Correct the text wrapping in Edge and IE.
   * 2. Correct the color inheritance from `fieldset` elements in IE.
   * 3. Remove the padding so developers are not caught out when they zero out
   *    `fieldset` elements in all browsers.
   */
  
  legend {
    box-sizing: border-box; /* 1 */
    color: inherit; /* 2 */
    display: table; /* 1 */
    max-width: 100%; /* 1 */
    padding: 0; /* 3 */
    white-space: normal; /* 1 */
  }
  
  /**
   * Add the correct vertical alignment in Chrome, Firefox, and Opera.
   */
  
  progress {
    vertical-align: baseline;
  }
  
  /**
   * Remove the default vertical scrollbar in IE 10+.
   */
  
  textarea {
    overflow: auto;
    height: 165px;
  }
  
  /**
   * 1. Add the correct box sizing in IE 10.
   * 2. Remove the padding in IE 10.
   */
  
  [type="checkbox"],
  [type="radio"] {
    box-sizing: border-box; /* 1 */
    padding: 0; /* 2 */
  }
  
  /**
   * Correct the cursor style of increment and decrement buttons in Chrome.
   */
  
  [type="number"]::-webkit-inner-spin-button,
  [type="number"]::-webkit-outer-spin-button {
    height: auto;
  }
  
  /**
   * 1. Correct the odd appearance in Chrome and Safari.
   * 2. Correct the outline style in Safari.
   */
  
  [type="search"] {
    -webkit-appearance: textfield; /* 1 */
    outline-offset: -2px; /* 2 */
  }
  
  /**
   * Remove the inner padding in Chrome and Safari on macOS.
   */
  
  [type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  
  /**
   * 1. Correct the inability to style clickable types in iOS and Safari.
   * 2. Change font properties to `inherit` in Safari.
   */
  
  ::-webkit-file-upload-button {
    -webkit-appearance: button; /* 1 */
    font: inherit; /* 2 */
  }
  
  /* Interactive
     ========================================================================== */
  
  /*
   * Add the correct display in Edge, IE 10+, and Firefox.
   */
  
  details {
    display: block;
  }
  
  /*
   * Add the correct display in all browsers.
   */
  
  summary {
    display: list-item;
  }
  
  /* Misc
     ========================================================================== */
  
  /**
   * Add the correct display in IE 10+.
   */
  
  template {
    display: none;
  }
  
  /**
   * Add the correct display in IE 10.
   */
  
  [hidden] {
    display: none;
  }

.sp {
    display: none;
}



.inner {    
    max-width: 1200px;
    margin: 0 auto;
}
    
/* header */
header {
    position: fixed;
    width: 100%;
    background-color: #fff;
    z-index: 99;
}

.header_block {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.header_btn {
    display: flex;
}

.header_btn1 {
    width: 5.21vw;
    height: 5.21vw;
    display: block;
}

.header_btn1 img {
    width: 100%;
}

.header_btn2 {
    width: 22.14vw;
    height: 5.21vw;
    display: block;
}

.header_btn2 img {
    width: 100%;
}

.header_img a {
    margin-left: 9.38vw;
}

.header_img img {
    width: 26.04vw;
}

/* fv */
.fv {
    background-image: url(../img/fv_bg.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: right top;
}

.fv_block {
    display: flex;
    justify-content: center;
    padding-top: 10.42vw;
    padding-bottom: 4.17vw;
}

.fv_box img {
    width: 26.56vw;
}

.fv_box h1 {
    font-size: 3.59vw;
    margin-top: 0;
    
    margin-bottom: 0.5em;
}

.fv_box h1 span {
    font-size: 4.69vw;
    color: #022972;
    position: relative; /* これを追加 */
    line-height: 1.765;
}

.fv_box h1 span::before,
.fv_box h1 span::after {
    content: "";
    position: absolute;
    width: 3.23vw; /* 画像の幅 */
    height: 2.86vw; /* 画像の高さ */
    background-size: contain; /* 画像を要素にフィットさせる */
    background-repeat: no-repeat;
}

.fv_box h1 span::before {
    left: -1.3vw;
    top: 0;
    background-image: url(../img/fv_doubleq1.png); /* 画像1のパス */
}

.fv_box h1 span::after {
    right: -0.78vw;
    top: 0;
    background-image: url(../img/fv_doubleq2.png); /* 画像2のパス */
}


.fv_txt_block {
    width: 43.23vw;
    margin: 0 auto;
    position: relative;
    text-align: center;
}

.fv_txt_block::before, .fv_txt_block::after {
    content: "";
    display: block;
    width: 3.49vw;
    height: 200px;
    background-size: contain; /* 画像をコンテナにフィットさせる */
    position: absolute; /* 必要に応じて位置調整を行う */
    background-repeat: no-repeat;
}

.fv_txt_block::before {
    background-image: url('../img/fv_left.png'); /* 画像1のパスを指定 */
    /* 位置調整の例 */
    top: 0;
    left: 0;
}

.fv_txt_block::after {
    background-image: url('../img/fv_right.png'); /* 画像2のパスを指定 */
    /* 位置調整の例 */
    top: 0;
    right: 0;
}



.fv_txt {
    font-size: 3.13vw;
    position: relative;
    text-align: center;
    background-image: linear-gradient(to right, #E5B017, #F5D973, #E5B017); /* グラデーション */
  background-repeat: no-repeat; /* 背景画像の繰り返しを防ぐ */
  background-size: 100% 3px; /* 下線の厚さを3pxに設定 */
  background-position: left bottom; /* 下線の位置をテキストの下部に設定 */
  padding-bottom: 5px;
  display: inline-block;
  margin: 0;
  font-weight: bold;
}




.fv_txt span {
    font-size: 4.95vw;
    background: -webkit-linear-gradient(left, #E5B017, #F5D973, #E5B119);
    background: linear-gradient(to right, #E5B017, #F5D973, #E5B119);

    /* グラデーションをテキストに適用 */
    -webkit-background-clip: text;
    background-clip: text;

    /* テキストを透明にして背景が見えるように */
    color: transparent;
    font-family: "din-2014", sans-serif;
}

.fv_txt2 {
    text-align: center;
    font-size: 1.56vw;
    font-weight: bold;
    font-family: "din-2014", sans-serif;
}

.fv_txt2 span {
    background: -webkit-linear-gradient(left, #E5B017, #F5D973, #E5B119);
    background: linear-gradient(to right, #E5B017, #F5D973, #E5B119);

    /* グラデーションをテキストに適用 */
    -webkit-background-clip: text;
    background-clip: text;

    /* テキストを透明にして背景が見えるように */
    color: transparent;
    margin: 0 10px;
}


/* about */
.about {
    padding: 100px 0;
}

.about_block {
    display: flex;
    justify-content: center;
    align-items: center;
}

.about_box1 {
    background-image: url(../img/about_bg.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 660px;
    height: 244px;
    display: flex;
    align-items: center;
}

.about_box1 p {
    font-size: 44px;
    margin-left: 60px;
    color: #022972;
    font-weight: bold;
    letter-spacing: 0.1em;
    line-height: 1.591;
}

.about_box1 p span {
    font-size: 36px;
}

.about_box2 {
    width: calc(100% - 660px);
}

.about_box2 p {
    font-size: 26px;
    line-height: 1.7;
    letter-spacing: 0.05em;
}

.merit {
    background-color: #022972;
    padding: 70px;
}

.thanks_block p {
    color: #fff;
}

.sub_tit {
    font-size: 30px;
    color: #B3BFD5!important;
    text-align: center;
    font-weight: bold;
    margin-top: 0;
    margin-bottom: 50px;
    font-family: "din-2014", sans-serif;
}

.merit_inner {
    background-color: #ffff;
    border-radius: 10px;
    padding: 100px 0 80px;
}

.merit_inner h2 {
    color: #022972;
    font-size: 44px;
    text-align: center;
    margin-bottom: 20px;
}

.merit_wrap {
    display: flex;
    justify-content: space-between;
}

.merit_block {
    width: 370px;
}

.merit_block img {
    width: 160px;
    margin: 0 auto;
    display: block;
    margin-bottom: 70px;
}

.merit_box {
    position: relative;
    border: solid 1px #000;
    border-radius: 10px;
    width: 370px;
    height: 240px;
    padding: 70px 25px 0;
    box-sizing: border-box;
}

.merit_box img {
    position: absolute;
    width: 120px;
    display: block;
    margin: auto;
    left: 50%; /* 親要素の左端から50%の位置に設定 */
    top: 0; /* 親要素の上端から0%の位置に設定 */
    transform: translate(-50%, -35%);
}

.merit_box .merit_txt {
    font-size: 16px;
    line-height: 1.8;
}

.merit_box .merit_txt2 {
    font-size: 12px;
}

.merit_txt_under {
    margin-top: 10px;
}

.merit_box h3 {
    font-size: 20px;
    text-align: center;
    color: #F15A24;
    line-height: 1.5;
    margin-bottom: 0;
}

.special {
    background-image: url(../img/special_bg.png);
    background-repeat: no-repeat;
    background-size: cover;
    padding-bottom: 100px;
}

.special h2 {
    padding-top: 100px;
    text-align: center;
    font-size: 44px;
    color: #022972;
    margin-bottom: 25px;
}

.special_txt {
    text-align: center;
    margin-bottom: 70px;
    font-size: 17px;
    line-height: 1.8;
}

.special_txt span {
    font-size: 20px;
    text-decoration: underline;
    text-decoration-style: wavy;
    text-decoration-color: #F15A24;
    font-weight: bold;
    color: #022972;
}

.special_txt span {
    background-repeat: repeat-x;
    background-size: 10px 10px;
    background-position: 0 100%;
    background-size: auto 100%;
    background-position: 0 100%;
}

.special_txt span {
    position: relative;
    display: inline;
}

.special_txt span::after {
    content: "";
    position: absolute;
    bottom: -5px; /* 波の高さに合わせて位置を調整 */
    left: 0;
    width: 100%;
    height: 10px; /* 波の高さを調整 */
    /* background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 30' width='240' height='30'%3E%3Cpath d='M0 15 C 30 0, 30 30, 60 15 C 90 0, 90 30, 120 15 C 150 0, 150 30, 180 15 C 210 0, 210 30, 240 15' fill='none' stroke='%23F15A24' stroke-width='4'/%3E%3C/svg%3E"); */

    background-repeat: repeat-x;
    background-size: auto 100%;
}


.special_block {
    display: flex;
    justify-content: space-between;
    margin-bottom: 40px;
}

.special_box {
    background-color: #fff;
    border-radius: 50%;
    width: 265px;
    height: 265px;
    display: flex; /* Flexコンテナとして設定 */
    flex-direction: column; /* 子要素を縦方向に並べる */
    justify-content: center; /* 子要素を縦方向の中央に配置 */
    align-items: center; /* 子要素を横方向の中央に配置 */
    text-align: center; /* テキストを中央揃え */
}

.special_box p {
    font-weight: bold;
    line-height: 1.5;
}

.special_txt2 {
    font-size: 14px;
    line-height: 1.8;
}

.special_box1 img {
    height: 112px;
}
.special_box2 img {
    height: 112px;
}
.special_box3 img {
    height: 100px;
}
.special_box4 img {
    height: 105px;
}

/* use */
.use {
    padding: 100px 0;
}

.use h2 {
    font-size: 44px;
    text-align: center;
    color: #022972;
}

.use_txt {
    text-align: center;
    font-size: 24px;
    margin-bottom: 80px;
}

.use_txt .use_line {
    border-top: solid 1px #000;
    border-bottom: solid 1px #000;
    padding: 10px 35px;
    font-weight: bold;
}

.use_txt .use_txt_color {
    color: #F15A24;
}

.use_block {
    position: relative;
    background-color: #EBF9FF;
    padding: 65px 35px 40px 35px;
}

.use_txt_blue {
    background-color: #022972;
    color: #fff;
    width: 442px;
    height: 64px;
    border-radius: 30px;
    text-align: center;
    font-size: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: -50px;
    left: 50%; /* 左端から50%の位置に設定 */
    transform: translateX(-50%);
    font-weight: bold;
}

.use_txt_blue:after {
    content: "";
    position: absolute;
    top: 100%; /* 要素の下端から出るように配置 */
    left: 50%; /* 水平方向の中央に配置 */
    margin-left: -10px; /* 矢印の幅の半分だけ左にずらして中央揃えを修正 */
    border-left: 10px solid transparent; /* 左側のボーダー（透明） */
    border-right: 10px solid transparent; /* 右側のボーダー（透明） */
    border-top: 10px solid #022972; /* 上側のボーダー（矢印の色） */
}

.use_block_txt {
    font-size: 18px;
    text-align: center;
}

.use_box_outer {
    display: flex;
    justify-content: space-between;
}

.use_box {
    background-color: #fff;
    border-radius: 10px;
    width: 350px;
}

.use_box p {
    text-align: center;
    font-size: 16px;
}

.use_box span {
    color: #022972;
    font-weight: bold;
}

.use_box_fs40 {
    font-size: 40px;
    font-weight: bold;
    color: #022972;
    font-family: "din-2014", sans-serif;
}

.use_box_fs20 {
    font-size: 20px;
}

.use_txt3 {
    text-align: center;
    font-size: 30px;
    margin-bottom: 0;
}

.use_txt_orange {
    background-color: #F15A24;
    color: #fff;
    padding: 0px 10px;
    font-weight: bold;
}

.use_txt_orange1 {
    margin-right: 5px;
}

.use_txt_orange2 {
    padding-right: 0;
}

.use_txt_orange3 {
    padding-left: 3px;
    margin-left: -1px;
    padding-right: 0;
}

/* contact */
.contact {
    background-color: #022972;
    padding: 85px 0 100px;
}

.contact h2 {
    color: #fff;
    text-align: center;
    font-size: 44px;
}

.contact_block {
    background-color: #fff;
    padding: 100px 70px;
    margin: 0 50px;
}

.formTable {
    width: 100%;
}

.formTable tr {
    padding: 30px 0;
    border-bottom: solid 1px #DEDEDE;
    display: flex;
    align-items: center;
}

.formTable td input {
    width: 100%;
    height: 56px;
}

.formTable select {
    height: 56px;
}

.formTable th {
    width: 245px;
    font-size: 20px;
    text-align: left;
    padding-left: 30px;
}

.formTable td {
    width: calc(100% - 245px);
}

.form_txt {
    margin-top: 35px;
    text-align: center;
}

.form_txt p {
    font-size: 14px;
    margin: 0;
    margin-bottom: 10px;
}

.form_txt p a {
    color: #F15A24;
}

.form_btn {
    margin-top: 35px;
    text-align: center;
}

.form_btn input {
    width: 500px;
    height: 70px;
    font-size: 30px;
    text-align: center;
    border-radius: 10px;
    margin: 0 auto;
    display: block;
    background: linear-gradient(to bottom, #F7931E 0%, #F15C24 100%);
    border: none;
    color: #fff;
    font-weight: bold;
    /* 影を追加し、沈んだ時の効果をより際立たせます */
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
    transition: all 0.3s ease; /* アニメーション効果をスムーズに */
}

.form_btn input:hover {
    transform: translateY(4px); /* ホバー時に少し下に移動 */
    /* 影の効果を薄くして、ボタンが押されているように見せます */
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
}


.form_agree {
    margin-top: 25px;
}

.footer_block {
    padding: 60px 0;
}

/* footer */
.footer_block {
    display: flex;
}

.footer_box img {
    margin-bottom: 19px;
    width: 367px;
}

.footer_box p {
    font-size: 14px;
}

.footer_box ul {
    display: flex;
}

.footer_box ul li {
    list-style: none;
}

.footer_box ul li a {
    color: #000;
    text-decoration: none;
    font-size: 16px;
    margin-right: 100px;
}

.footer_bottom {
    background-color: #DEDEDE;
    text-align: center;
    padding: 17px 0;
    margin: 0;
}

.footer_bottom p {
    font-size: 16px;
}

textarea {
    width: 100%;
}

.form_btn button {
    border: none;
    background: no-repeat;
    text-decoration: underline;
    text-align: center;
    margin-top: 30px;
    font-size: 16px;
}

.thanks_block {
    background-color: #022972;
    padding-top: 185px;
    padding-bottom: 90px;
}

.thanks_block h2 {
    font-size: 44px;
    text-align: center;
    font-weight: bold;
    color: #fff;
}



.thanks_block a {
    color: #fff;
}

.thanks_block p {
    text-align: center;
    font-size: 20px;
}

.thanks_block a {
    text-align: center;
    display: block;
    font-size: 24px;
}

.form_red {
    color: #F15A24;
    font-weight: bold;
    font-size: 12px;
}

.confirm_main {
    padding-top: 100px;
}


@media screen and (max-width:1200px) {
   
    .merit_inner h2 {
        font-size: 2.29vw;
    }
    .merit_block {
        width: 23.27vw;
    }
    .merit_block img {
        width: 8.33vw;
        margin-bottom: 3.65vw;
    }
    .merit_box img {
        width: 6.25vw;
    }
    .merit_box {
        width: 100%;
        padding-top: 40px;
        height: 17.5vw;
    }
    .inner {
        width: 90%;
    }
    .special_txt {
        font-size: 15px;
    }
    .use_box {
        width: 26.17vw;
    }
    .merit_box h3 {
        font-size: 1.5vw;
    }
    .merit_box .merit_txt {
        font-size: 1.17vw;
    }
    .about .inner {
        width: 100%;
    }
    .about_box2 p {
        font-size: 1.35vw;
    }
    .about_box1 p {
        font-size: 2.29vw;
    }
    .about_box1 {
        width: 34.38vw;
        height: 12.71vw;
    }
    .about_box1 p span {
        font-size: 1.88vw;
    }
    .about_box1 p {
        margin-left: 3.13vw;
    }
    .merit_box .merit_txt2 {
        font-size: 1vw;
    }
    .about {
        padding: 5.21vw 0;
    }
    .merit_inner {
        padding: 5.21vw 0 4.17vw;
    }
    .special h2 {
        padding-top: 5.21vw;
    }
    .special {
        padding-bottom: 5.21vw;
    }
    .special_box {
   width: 22.08vw;
   height: 22.08vw;
    }
    .use {
        padding: 5.21vw 0;
    }
    .sub_tit {
        margin-bottom: 2.6vw;
    }
    .contact_block {
        padding: 5.21vw 3.65vw;
        margin: 0 2.6vw;
    }
    .formTable th {
        width: 20.76vw;
    }
    .formTable td {
        width: calc(100% - 20.76vw);
    }
}

@media screen and (max-width:768px) {
    .pc {
        display: none;
    }
    .sp {
        display: block;
    }
    header {
        height: 14.29vw;
    }
    .header_btn1 {
        width: 14.29vw;
        height: auto;
    }
    .header_btn2 {
        width: 14.29vw;
    }
    .header_img img {
        width: 57.14vw;
    }
    .header_img a {
        margin-left: 1.38vw;
    }
    .fv {
        background-image: url(../img/fv_bg_sp.png);
    }
    .fv_block {
        display: block;
        position: relative;
        height: 85.33vw;
        padding-top: 13.02vw;
    }
    .fv_box h1 {
        font-size: 6.67vw;
        text-align: center;
    }
    .fv_box h1 span {
        font-size: 8.27vw;
    }
    .fv_box img {
        position: absolute;
        right: 0;
        width: 32.56vw;
    }
    .fv_txt_block {
        position: absolute;
    }
    .fv_txt {
        font-size: 5.14vw;
    }
    .fv_txt_block {
        width: 65.71vw;
        bottom: 13.02vw;
        left: 5px;
    }
    .fv_txt span {
        font-size: 8.29vw;
    }
    .fv_txt2 {
        font-size: 3.43vw;
    }
    .fv_txt_block::before, .fv_txt_block::after {
        width: 6vw;
    }
    .fv_box h1 {
        margin-top: 8vw;
        line-height: 1.5;
    }
    .about_block {
        display: block;
    }
    .about_box1 {
        background-image: url(../img/about_bg_sp.png);
        width: 100%;
        height: 40vw;
        background-size: 100% 100%;
        justify-content: center;
    }
    .about .inner {
        width: 95%;
    }
    .about_box1 p {
        font-size: 7.47vw;
        margin-top: 0;
    }
    .about_box1 p span {
        font-size: 6.4vw;
    }
    .about {
        padding: 18.67vw 0;
    }
    .about_box2 p {
        font-size: 4.8vw;
        margin-top: 8vw;
        margin-bottom: 0;
    }
    .about_box2 {
        width: 100%;
        padding: 0 2.67vw;
        box-sizing: border-box;
    }
    .merit {
        padding: 10.67vw 0;
    }
    .merit_wrap {
        display: block;
    }
    .merit_inner {
        width: 90%;
        margin: 0 auto;
        padding: 18.67vw 0;
        border-radius: 12px;
    }
    .merit_inner h2 {
        font-size: 8.53vw;
        line-height: 1.563;
        margin-bottom: 15px;
    }
    .sub_tit {
        font-size: 5.33vw;
    }
    .merit_block img {
        width: 100%;
    }
    .merit_block {
        width: 100%;
        display: block;
        margin: 0 auto;
    }
    .merit_box {
        width: 100%;
        height: 63.13vw;
        padding: 16vw 5.33vw 8vw 5.33vw;
        border: solid 2px #000;
        margin-bottom: 13.33vw;
    }
    .merit_block img {
        width: 30.67vw;
        margin-bottom: 13.33vw;
    }
    .merit_box img {
        width: 25.33vw;
    }
    .merit_box .merit_txt {
        font-size: 4.27vw;
        margin-top: 1.3vw;
    }
    .merit_box .merit_txt2 {
        font-size: 2.67vw;
        letter-spacing: 0;
    }
    .merit_box h3 {
        font-size: 5.33vw;
        margin-top: 3vw;
    }
    .merit_box_last {
        margin-bottom: 0;
    }
    .special h2 {
        padding-top: 18.67vw;
    }
    .special h2 {
        font-size: 8.53vw;
    }
    .sub_tit {
        margin-bottom: 10.67vw;
    }
    .special_txt {
        font-size: 3.6vw;
        margin-bottom: 8vw;
    }
    .special_txt span {
        font-size: 3.6vw;
    }
    .special_block {
        flex-wrap: wrap;
    }
    .special_box {
        width: 42.67vw;
        height: 42.67vw;
        margin-bottom: 2.67vw;
    }
    .special_box p {
        font-size: 3.73vw;
        margin-top: 0;
        margin-bottom: 0;
    }
    .special_txt2 {
        font-size: 3.2vw;
        letter-spacing: 0;
    }
    .special_txt2 {
        margin-bottom: 0;
    }
    .special {
        padding-bottom: 18.67vw;
    }
    .use_txt .use_line {
        display: block;
        line-height: 1.5;
        padding-left: 0;
        padding-right: 0;
    }
    .use_txt {
        font-size: 4.27vw;
        margin-bottom: 20.8vw;
    }
    .use {
        padding: 18.67vw 0;
    }
    .use h2 {
        line-height: 1.5;
        font-size: 8.53vw;
    }
    .use_txt_blue {
        font-size: 5.33vw;
        width: 84vw;
        height: 12vw;
        border-radius: 60px;
    }
    .use_txt_blue {
        top: -13.02vw;
    }
    .use_block_txt {
        font-size: 4.8vw;
        margin-top: 0;
    }
    .use_box_outer {
        display: block;
    }
    .use_box {
        width: 100%;
        padding: 5.33vw 0;
        margin-bottom: 4vw;
        padding-bottom: 0;
    }
    .use_box p {
        font-size: 4.27vw;
        margin: 0;
        letter-spacing: 0;
    }
    .use_box .use_box_fs40 {
        font-size: 10.67vw;
        line-height: 1.875;
    }
    .use_box .use_box_fs20 {
        font-size: 5.33vw;
    }
    .use_txt3 {
        font-size: 7vw;
    }
    .use_txt_orange {
        line-height: 1.8;
        padding-right: 0;
    }
    .use_txt_orange1 {
        padding-right: 5px;
    }
    .use_txt_orange2 {
        padding-right: 5px;
    }
    .formTable tr {
        display: block;
    }
    .contact {
        padding-top: 18.67vw;
        padding-bottom: 21.33vw;
    }
    .contact h2 {
        font-size: 8.53vw;
    }
    .formTable tr {
        display: flex;
        flex-direction: column;
    }
    .formTable th {
        width: 100%;
        text-align: left;
    }
    .formTable td {
        width: 100%;
    }
    .formTable th {
        font-size: 5.33vw;
    }
    .formTable th {
        padding-bottom: 10px;
        padding-left: 10px;
    }
    .formTable select {
        width: 100%;
    }
    .footer_block {
        display: block;
    }
    .footer_box p {
        font-size: 4vw;
    }
    .footer_box img {
        width: 100%;
    }
    .footer_box ul li a {
        font-size: 4.27vw;
    }
    .footer_box ul {
        padding-left: 0;
        margin-top: 8.8vw;
    }
    .form_btn input {
        width: 100%;
    }
    .use_block {
        padding: 65px 4vw 40px 4vw;
    }
    .formTable td input {
        width: 95%;
    }
    .contact_block {
        padding-bottom: 18.67vw;
    }
    .thanks_block h2 {
        font-size: 8.53vw;
    }
    .thanks_block p {
        font-size: 4.27vw;
        line-height: 1.313;
    }
    .thanks_block a {
        font-size: 3.73vw;
        margin-top: 50px;
    }
    .thanks_block {
        padding-top: 32vw;
    }
    .special_box1 img {
        height: 18.13vw;
    }
    .special_box2 img {
        height: 18.13vw;
    }
    .special_box3 img {
        height: 16vw;
    }
    .special_box4 img {
        height: 17.33vw;
    }
    .special_box img {
        width: auto;
        margin-bottom: 10px;
    }
    .form_btn {
        width: 95%;
        margin: 0 auto;
        margin-top: 35px;
    }
    .fv_box h1 span::before, .fv_box h1 span::after {
        width: 6.23vw;
    height: 6.86vw;
    }
    .fv_txt2 {
        letter-spacing: 0;
        margin-top: 5px;
    }
    .fv_txt2 span {
        margin: 0 3px;
    }
    .special .inner {
        width: 92%;
    }
    .use .inner {
        width: 95%;
    }
    .use_txt_orange3 {
        padding-left: 7px;
    }
}


@media screen and (max-width:425px) {
  
    .contact .inner {
        width: 100%;
    }
    textarea {
        width: 95%;
    }
    .form_btn input {
        font-size: 8vw;
    }
    .form_btn input {
        height: 65px;
    }
  
}
