@charset "UTF-8";
/*
  contents

 - reset（編集しない）
 - base（font-familyなどの変更。fontは1.6rem＝16px）
 - button（ボタン関連）
 - typography（見出し・注釈・本文など共通）
 - main（各セクションごとのスタイル）
 - footer（コピーライトなどフッター関連）
 - utility（clearfix・mb10など）
 */
/* -----------------------------------------
  reset（編集しない）
  ----------------------------------------- */
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, menu, nav, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
    max-height: 99999px;
}

body {
    line-height: 1;
    overflow-x: hidden;
    box-sizing: border-box;
}

article, aside, details, figcaption, figure,
footer, header, menu, nav, section {
    display: block;
}

ol, ul {
    list-style: none;
}

blockquote, q {
    quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}

/* remember to define focus styles! */
:focus {
    outline: 0;
}

/* remember to highlight inserts somehow! */
ins {
    text-decoration: none;
}

del {
    text-decoration: line-through;
}

/* tables still need 'cellspacing=&quot;0&quot;' in the markup */
table {
    border-collapse: collapse;
    border-spacing: 0;
}

*, *:before, *:after {
    box-sizing: border-box;
}

a {
    color: #FFF;
}

a:visited {
    color: #FFF;
}

a img {
    /* 通常時の明るさ(デフォルト値) */
    filter: brightness(1.0);
    transition: filter 0.3s;
}

a img:hover {
    /* マウスオーバー時に明るくする */
    filter: brightness(1.1);
}

/* -----------------------------------------
  base（font-familyなどの変更。fontは1.6rem＝16px）
  ----------------------------------------- */
/* rem用 */
html {
    font-size: 62.5%;
}

@media (max-width: 640px) {
    html {
        font-size: calc(100vw / 32);
    }

    #form {
        font-size: 14px;
    }
}

body {
    font-family: "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    font-size: 1.6rem;

}

/* 解析タグの隙間対策 */
body > img {
    display: none;
}

/* 画像の隙間対策 */
#wrapper img {
    vertical-align: bottom;
}

#wrapper {
    overflow: hidden;
}


/* -----------------------------------------
  main PC
  ----------------------------------------- */

.header {
    background-color: #000;
    position: fixed;
    padding: 0.52% 0;
    width: 100%;
    z-index: 100;
    transition: .5s;
}

.header img {
    margin-left: 5.99%;
    width: 17.08%;
    position: relative;
}

.header_to_form{
    position: absolute;
    display: inline-block;
    vertical-align: middle;
    right: 5.99%;
    top: 50%;
    transform: translateY(-50%);
    padding: 0.52% 1% 0.52% 1%;
    border-radius: 5px;
    background-color: #88ba41;
    text-decoration: none;
    text-align: center;
    letter-spacing: 0.05em;
    transition: opacity 0.2s ease;
}

.header_to_form:hover{
    opacity: 0.75;
}

.pce {
    display: block !important;
}

.pcei {
    display: inline-block !important;
}

.spe {
    display: none !important;
}

.spei {
    display: none !important;
}

.inner {
    /*width: 1200px;*/
    margin: 0 auto;
}

/* fv */

section.fv {
    text-align: center;
    position: relative;
    background-image: url(../img/bg_fv.jpg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center top;
    width: 100%;
    padding-top: 47.08%;
    z-index: 5;
    margin-top: 3.8%;
}

.fv_inner {
    position: absolute;
    top: 12.56%;
    width: 100%;
    position: absolute;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);

}

.fv_h2box {
    width: 100%;
}

.fv_inner h1 {
    background-color: rgba(46, 77, 76, .5);
    color: #FFF;
    font-size: calc(6px + 2.15vw);
    display: inline-block;
    line-height: 1;
    padding: 0.3vw 0.5vw 0;
    vertical-align: middle;
}

.fv_inner h1 {
    background-color: rgba(0, 0, 0, .5);
    font-size: calc(4px + 1.5vw);
    display: inline;
    color: #FFF;
    padding: 0 0.5vw;
    line-height: 1.2;
    display: inline-block;
    margin-top: 4.5%;
}

.fv_inner h2{
    font-weight: normal;
}
.fv_inner p {
    line-height: 4vw;
    margin-top: 4.5%;
    display: inline-block;
}

.fv_inner p span {
    background-color: rgba(0, 0, 0, .5);
    font-size: calc(4px + 1.5vw);
    display: inline;
    color: #FFF;
    padding: 0 0.5vw;
    line-height: 1.2;
    display: inline-block;
}

.fv_sample {
    position: absolute;
    right: 4%;
    bottom: -13.5%;
    width: 27.81%;
    z-index: 10;
}

/* sec_1 */

.sec_1 {
    text-align: left;
    position: relative;
    background-image: url(../img/bg_sec1.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center top;
    width: 100%;
    padding-top: 51.93%;
    z-index: 5;
    margin-top: 11.72%;
}

.sec1_inner {
    position: absolute;
    top: 0;
    left: 11.98%;
}

.sec_1 h3 {
    font-size: calc(2px + 2.15vw);
    font-weight: normal;
    line-height: 1.5;
    margin-bottom: 3%;
}

ul.checl_list li {
    font-size: calc(4px + 0.8vw);
    position: relative;
    padding-left: 1.2vw;
    line-height: 1.5;
    background-image: url(../img/icon_check.png);
    background-repeat: no-repeat;
    background-size: 0.8vw 0.8vw;
    background-position: left 0.2vw;
}


/* sec_2 */

.sec_2 {
    width: 100%;
    position: relative;
    padding-bottom: 3.8%;
    border-bottom: 1px solid #8c8c8c;
}

.sec2_inner {
    text-align: center;
    overflow: hidden;
}

.sec_2 h2 {
    margin: 3.91% 0 1%;
    font-size: calc(4px + 1.5vw);
    font-weight: normal;
}

.sec_2 .box_left {
    float: left;
    text-align: left;
}

.sec_2 .box_right {
    float: right;
    text-align: left;
}

.box01 {
    box-sizing: border-box;
    background-image: url(../img/sec3_img01.png);
    background-repeat: no-repeat;
    background-position: left top;
    background-size: 25.26vw 15.52vw;
    padding-left: 25.26vw;
    height: 15.52vw;
    margin-left: 5.21%;
    padding-top: 4.17%;
}

.sec_2 h3 {

    font-weight: normal;
    font-size: calc(2px + 1.5vw);
}

.sec_2 p {
    margin-top: 1.2vw;
    font-size: calc(4px + 0.8vw);
    line-height: 1.6;
}

.box02 {
    box-sizing: border-box;
    background-image: url(../img/sec3_img02.png);
    background-repeat: no-repeat;
    background-position: right top;
    background-size: 16.56vw 17.5vw;
    padding-right: 16.56vw;
    padding-left: 53.1%;
    padding-top: 2.6%;
    height: 17.5vw;
    margin-top: -1vw;
    margin-right: 5.21%;
}

.box03 {
    box-sizing: border-box;
    background-image: url(../img/sec3_img03.png);
    background-repeat: no-repeat;
    background-position: left top;
    background-size: 19.84vw 17.55vw;
    padding-left: 21.2vw;
    height: 19.84vw;
    margin-top: -1.5vw;
    margin-left: 9.21%;
    padding-top: 0.89%;
}

.box04 {
    box-sizing: border-box;
    background-image: url(../img/sec3_img04.png);
    background-repeat: no-repeat;
    background-position: right top;
    background-size: 17.19vw 17.24vw;
    padding-right: 17.19vw;
    padding-left: 53.1%;
    padding-top: 2.6%;
    height: 17.19vw;
    margin-top: -1vw;
    margin-right: 5.21%;
}

/* sec_3 */

.sec_3 {
    width: 100%;
    position: relative;
    padding-top: 4.69%;
    padding-bottom: 6.77%;
    border-bottom: 1px solid #8c8c8c;
}

.sec3_inner {
    text-align: center;
}

.sec_3 h2 img {
    width: 15.31%;
}

.sec_3 p.sec3_toptxt {
    font-size: 0.8vw;
    line-height: 1.4;
    margin-top: 0;
}

.sec3_toptxt span {
    font-size: 1.4vw;
    line-height: 1.8;
}

.sec_3 h3 {

    font-weight: normal;
    font-size: calc(2px + 1.5vw);
}

.sec_3 p {
    margin-top: 1.2vw;
    font-size: calc(4px + 0.8vw);
    line-height: 1.6;
}

.sec_3 p.check {
    margin-top: 0;
    text-indent: 1.3rem;
    background-image: url(../img/icon_check.png);
    background-repeat: no-repeat;
}

.box05 {
    text-align: left;
    box-sizing: border-box;
    position: relative;
    background-image: url(../img/sec4_img01.png);
    background-repeat: no-repeat;
    background-position: left top;
    background-size: 20.78vw 18.18vw;
    padding-left: 23.78vw;
    padding-right: 4vw;
    height: 18.18vw;
    margin-left: 6.77%;
    padding-top: 4.17%;
    z-index: 5;
}

.box05:before,
.box06:before,
.box07:before {
    content: '';
    top: 0;
    left: 0;
    width: 100%;
    /*padding-top: 100%;*/
    display: block;
}

.box05:after {
    position: absolute;
    content: '';
    top: 10%;
    left: 59%;
    width: 4.22vw;
    height: 15.63vw;
    background-image: url(../img/sec3_bg01.png);
    background-size: contain;
    background-repeat: no-repeat;
    z-index: -1;
}

.box06 {
    text-align: left;
    box-sizing: border-box;
    position: relative;
    background-image: url(../img/sec4_img02.png);
    background-repeat: no-repeat;
    background-position: right top;
    background-size: 17.97vw 17.86vw;
    padding-right: 16.56vw;
    padding-left: 32.13%;
    padding-top: 11.3%;
    height: 17.86vw;
    margin-top: -2vw;
    margin-right: 5.21%;
}

.box06:after {
    position: absolute;
    content: '';
    top: 30%;
    left: 30.5%;
    width: 10.68vw;
    height: 15.89vw;
    background-image: url(../img/sec3_bg02.png);
    background-size: contain;
    z-index: -1;
}

.box07 {
    text-align: left;
    box-sizing: border-box;
    position: relative;
    background-image: url(../img/sec4_img03.png);
    background-repeat: no-repeat;
    background-position: left top;
    background-size: 25.99vw 18.8vw;
    padding-left: 25.86vw;
    padding-right: 4vw;
    height: 18.8vw;
    margin-left: 4.69%;
    padding-top: 2%;
    z-index: 5;
    margin-top: 10%;
}

.box07:after {
    position: absolute;
    content: '';
    top: -5.2%;
    left: 64%;
    width: 10.78vw;
    height: 16.04vw;
    background-image: url(../img/sec3_bg03.png);
    background-size: contain;
    z-index: -1;
}

/* sec_4 */

.sec_4 {
    width: 100%;
    text-align: center;
    padding-top: 6.88%;

}

.sec_4 h2 {
    font-size: calc(2px + 1.5vw);
    font-weight: normal;
    margin-bottom: 4.9%;
}

img.sec4_table {
    width: 86.77%;
    margin: 0 auto 7.29%;
}


/* #form */

.form_head {
    background: linear-gradient(0deg, #8dc33e 0%, #8dc33e 50%, #a1d08d 50%, #a1d08d 100%);
    text-align: center;
    padding: 0.78vw 0;
    vertical-align: middle;
    line-height: 1;
}

.form_head h2 {
    display: inline-block;
    color: #FFF;
    font-size: 1.5vw;
    font-weight: 100;
    vertical-align: middle;
    /*padding:0.52vw;*/
    margin-right: 2vw;
    padding-top: 0.2vw;
}

p.form_sample {
    font-size: 1.2vw;
    display: inline-block;
    color: #f08d1d;
    background-color: #FFF;
    border-radius: 1000px;
    vertical-align: middle;
    padding: 0.52vw 1vw;
}

.message {
    color: #F00;
    font-weight: bold;
    line-height: 24px;
}

/* formカスタマイズ */
#form {
    margin-bottom: 120px;
}

form {
    text-align: center;
}

form .form_box {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
}

form .form_box:not(:last-child) {
    margin-bottom: 50px;
}

form .form_table div.label {
    width: 27%;
    max-width: 270px;
    min-width: 270px;
    line-height: 74px;
}

form .form_table div.form_box_item {
    width: 73%;
    max-width: 717px;
    position: relative;
}

form .form_table .label img {
    vertical-align: middle !important;
    margin-right: 20px;
}

.question {
    vertical-align: top;
    padding-top: 25px;
    padding-left: 78px;
}

.form_table {
    text-align: left;
    margin: 117px auto 65px;
    padding: 0 3%;
    width: 100%;
    max-width: 1000px;
}

.form_table input,
.form_table select,
.form_table textarea {
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    background-color: transparent;
    background-image: none;
    border: 1px solid #88ba41;
    border-radius: 0;
    color: inherit;
    font-family: inherit;
    font-size: 1em;
    padding: 0.4em 50px;
    max-width: 717px;
    width: 100%;
}

.form_table input:focus,
.form_table select:focus,
.form_table textarea:focus {
    border: 1px solid rgba(0, 0, 0, 0.32);
    box-shadow: none;
    outline: none;
}

.form_table input,
.form_table select {
    height: 74px;
}

.form_table input.invalid{
    border: 1px solid red;
}

.form_table select {
    background: transparent url(../img/arrow.png) no-repeat center right 24px/29px 18px;
}

.form_table select::-ms-expand {
    display: none;
}

.form_table textarea {
    height: 281px;
    resize: none;
}

.checkbox01 {
    margin-bottom: 60px;
}

.checkbox01-input {
    display: none;
}

.checkbox01-parts {
    padding-left: 20px;
    position: relative;
}

.checkbox01-parts::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: -8px;
    width: 19px;
    height: 19px;
    border: 1px solid #88ba41;
}

.checkbox01-input:checked + .checkbox01-parts::before {
    background: #88ba41;
}

.checkbox01-input:checked + .checkbox01-parts::after {
    content: "";
    display: block;
    position: absolute;
    top: 3px;
    left: -4px;
    width: 14px;
    height: 12px;
    background: url(../img/check.png) no-repeat;
    background-size: 100%;
}

.privacy_policy {
    margin-left: 55px;
    font-size: 19px;
}

.privacy_policy a {
    color: #000;
    text-decoration: none;
}

footer {
    background-color: #000;
    color: #FFF;

    padding: 30px 0;
}

footer a {
    color: #fff;
    text-decoration: none;
}

footer ul.foot_list {
    text-align: center;
    margin-bottom: 40px;

}

footer ul.foot_list li {
    display: inline-block;
    font-size: 14px;
}

footer ul.foot_list li:nth-of-type(1) {
    margin-right: 50px;
}

footer .copy {
    color: #FFF;
    text-align: center;
}

div.btn_fix {
    position: fixed;
    bottom: 5%;
    right: 5%;
    z-index: 10;
    transition: .5s;
}

div.btn_fix img {
    width: 100px;
}

.is-show {
    opacity: 1 !important;

}

.is-hide {

    opacity: 0 !important;
}

/* -----------------------------------------
  main SP
  ----------------------------------------- */
@media (max-width: 640px) {

    .none {display:none}

    body {
        min-width: 100%;
    }

    /* サイトの最大幅 */
    .inner {
        width: 100%;
        max-width: 640px;
    }

    img {
        width: 100%;
        height: auto;
    }

    .pce {
        display: none !important;
    }

    .pcei {
        display: none !important;
    }

    .spe {
        display: block !important;
    }

    .spei {
        display: inline-block !important;
    }

    .header {
        position: static;
        background-color: #000;
        padding: 1.88% 0;
    }

    .header img {
        margin-left: 3.59%;
        width: 23.44%;
    }

    .inner {
        /*width: 1200px;*/
        margin: 0 auto;
    }

    /* fv */
    section.fv {
        text-align: center;
        position: relative;
        background-image: url(../img/bg_fv_sp.jpg);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center top;
        width: 100%;
        padding-top: 141.88%;
        z-index: 5;
        margin-top: 0;
    }

    .fv_inner {
        position: absolute;
        top: 5.56%;
        width: 100%;
        position: absolute;
        left: 50%;
        -webkit-transform: translate(-50%, 0);
        transform: translate(-50%, 0);

    }

    .fv_h2box {
        width: 100%;
    }

    .fv_inner h1 {
        background-color: rgba(46, 77, 76, .5);
        color: #FFF;
        font-size: calc(4px + 5.47vw);
        display: block;
        line-height: 1.5;
        padding: 0.3vw 0.5vw 0;
        vertical-align: middle;
        margin-bottom: 1%;
    }

    .fv_inner h2{
    font-weight: normal;
}

    .fv_inner p {
        line-height: 2vw;
        margin-top: 7%;
        display: block;
    }

    .fv_inner p span {
        background-color: rgba(0, 0, 0, .5);
        font-size: calc(1px + 3.5vw);
        display: block !important;
        color: #FFF;
        padding: 0 0.5vw;
        line-height: 1.5;
        display: inline-block;
        width: 100%;
    }

    .fv_inner p span:nth-of-type(3) {
        letter-spacing: -0.2vw;
    }

    .fv_sample {
        position: absolute;

        bottom: 5.5%;
        left: 50%;
        -webkit-transform: translate(-50%, 0);
        transform: translate(-50%, 0);
        width: 83.44%;
        z-index: 10;
    }

    /* sec_1 */
    .sec_1 {
        text-align: left;
        position: relative;
        background-image: url(../img/bg_sec1_sp.jpg);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center bottom;
        width: 100%;
        padding-top: 90.94%;
        z-index: 5;
        margin-top: 6.09%;
    }

    .sec1_inner {
        position: absolute;
        top: 0;
        left: 4.69%;
    }

    .sec_1 h3 {
        font-size: 5.47vw;
        font-weight: normal;
        line-height: 1.4;
        margin-bottom: 3%;
    }

    ul.checl_list li {
        font-size: calc(3px + 2vw);
        position: relative;
        padding-left: 2.19%;
        padding-right: 3%;
        line-height: 1.9;
        background-image: url(../img/icon_check.png);
        background-repeat: no-repeat;
        background-size: 2.19vw 2.19vw;
        background-position: left 0.8vw;
        letter-spacing: -0.1vw;
    }


    /* sec_2 */
    .sec_2 {
        width: 100%;
        position: relative;
        padding-bottom: 8%;
        border-bottom: 1px solid #8c8c8c;
    }

    .sec2_inner {
        text-align: center;
        overflow: hidden;
    }

    .sec_2 h2 {
        margin: 8% 0 12%;
        font-size: calc(6px + 3.75vw);
        font-weight: normal;
    }

    .sec_2 .box_left {
        float: left;
        text-align: left;
    }

    .sec_2 .box_right {
        float: right;
        text-align: left;
    }

    .box01 {
        box-sizing: border-box;
        background-image: url(../img/sec3_img01.png);
        background-repeat: no-repeat;
        background-position: left top;
        background-size: 56.88vw 36.56vw;
        padding-left: 2vw;
        padding-right: 8%;
        height: 62vw;
        margin-left: 3.13%;
        padding-top: 35.17%;
    }

    .sec_2 h3 {

        font-weight: normal;
        font-size: calc(4px + 2.86vw);
    }

    .sec_2 p {
        margin-top: 3vw;
        font-size: calc(4px + 2vw);
        line-height: 1.6;
    }

    .box02 {
        box-sizing: border-box;
        text-align: right !important;
        background-image: url(../img/sec3_img02.png);
        background-repeat: no-repeat;
        background-position: right top;
        background-size: 37.5vw 39.06vw;
        padding-right: 40vw;
        padding-left: 8%;
        padding-top: 19.6%;
        height: 45vw;
        margin-top: 5%;
        margin-right: 5.21%;
    }

    .box03 {
        text-align: right !important;
        box-sizing: border-box;
        background-image: url(../img/sec3_img03.png);
        background-repeat: no-repeat;
        background-position: left 5.47% top;
        background-size: 44.22vw 39.06vw;
        padding-left: 0;
        height: 57vw;
        margin-top: -1.5vw;
        margin-left: 0;
        padding-top: 37.89%;
        padding-right: 2.91%;
    }

    .box03 p {
        letter-spacing: -1px;
    }

    .box04 {
        box-sizing: border-box;
        background-image: url(../img/sec3_img04.png);
        background-repeat: no-repeat;
        background-position: right 5.21% top;
        background-size: 38.44vw 38.44vw;
        padding-right: 0;
        padding-left: 3.91%;
        padding-top: 35.6%;
        height: 50.19vw;
        margin-top: 2%;
        margin-right: 0;
    }

    /* sec_3 */
    .sec_3 {
        width: 100%;
        position: relative;
        padding-top: 7.81%;
        padding-bottom: 12%;
        border-bottom: 1px solid #8c8c8c;
    }

    .sec3_inner {
        text-align: center;
    }

    .sec_3 h2 img {
        width: 38.28%;
    }

    .sec_3 p.sec3_toptxt {
        font-size: calc(4px + 2.19vw);
        line-height: 1.4;
        margin-top: 0;
    }

    .sec3_toptxt span {
        font-size: calc(2px + 3.75vw);
        line-height: 1.6;
    }

    .sec_3 h3 {

        font-weight: normal;
        font-size: calc(8px + 2.86vw);
    }

    .sec_3 p {
        margin-top: 3vw;
        font-size: calc(4px + 2vw);
        line-height: 2;
    }

    .sec_3 p.check {
        margin-top: 0.5vw;
        text-indent: 0.8rem;
        background-image: url(../img/icon_check.png);
        background-repeat: no-repeat;
        background-position: top left;
        background-size: 2.19vw 2.19vw;
        background-position: left 1.2vw;
    }


    .box05 {
        text-align: left;
        box-sizing: border-box;
        position: relative;
        background-image: url(../img/sec4_img01.png);
        background-repeat: no-repeat;
        background-position: left top;
        background-size: 46.41vw 40.47vw;
        padding-left: 0;
        padding-right: 3.13%;
        height: 108vw;
        margin-left: 3.13%;
        padding-top: 50.17%;
        z-index: 5;
    }

    .box05:before,
    .box06:before,
    .box07:before {
        content: '';
        top: 0;
        left: 0;
        width: 100%;
        /*padding-top: 100%;*/
        display: block;
    }

    .box05:after {
        position: absolute;
        content: '';
        top: 43%;
        left: 63.5%;
        width: 19.5vw;
        height: 64.56vw;
        background-image: url(../img/sec3_bg01.png);
        background-size: contain;
        background-repeat: no-repeat;
        z-index: -1;
    }

    .box06 {
        text-align: right !important;
        box-sizing: border-box;
        position: relative;
        background-image: url(../img/sec4_img02.png);
        background-repeat: no-repeat;
        background-position: right 7.19% top;
        background-size: 40.16vw 39.84vw;
        padding-right: 3.91%;
        padding-left: 3%;
        padding-top: 46.3%;
        height: 90vw;
        margin-top: 12%;
        margin-right: 0;
        letter-spacing: -0.1vw;
    }

    .box06:after {
        position: absolute;
        content: '';
        top: 38%;
        left: 9.5%;
        width: 40.72vw;
        height: 59.88vw;
        background-image: url(../img/sec3_bg02.png);
        background-repeat: no-repeat;
        background-size: contain;
        z-index: -1;
    }

    .box06_inner p.check {
        display: inline-block;
        letter-spacing: -0.25vw;
    }

    .box07 {
        text-align: left;
        box-sizing: border-box;
        position: relative;
        background-image: url(../img/sec4_img03.png);
        background-repeat: no-repeat;
        background-position: left top;
        background-size: 57.97vw 42.03vw;
        padding-left: 2%;
        height: 100vw;
        margin-left: 3.91%;
        padding-right: 3.13%;
        padding-top: 48%;
        z-index: 5;
        margin-top: 10%;
    }

    .box07:after {
        position: absolute;
        content: '';
        top: 43.8%;
        left: 54%;
        width: 42.41vw;
        height: 62.81vw;
        background-image: url(../img/sec3_bg03.png);
        background-size: contain;
        background-repeat: no-repeat;
        z-index: -1;
    }

    /* sec_4 */
    .sec_4 {
        width: 100%;
        text-align: center;
        padding-top: 6.56%;

    }

    .sec_4 h2 {
        font-size: calc(2px + 3.75vw);
        font-weight: normal;
        margin-bottom: 7.03%;
    }

    img.sec4_table {
        width: 94.06%;
        margin: 0 auto 10%;
    }


    /* #form */
    .form_head {
        background: linear-gradient(0deg, #8dc33e 0%, #8dc33e 50%, #a1d08d 50%, #a1d08d 100%);
        text-align: center;
        padding: 2% 0;
        vertical-align: middle;
        line-height: 1;
        position: relative;
    }

    .form_head h2 {
        display: inline-block;
        color: #FFF;
        font-size: 3.5vw;
        font-weight: 100;
        vertical-align: middle;
        /*padding:0.52vw;*/
        margin-right: 2vw;
        padding-top: 0;
        position: relative;
    }

    p.form_sample {
        display: inline-block;
        color: #f08d1d;
        background-color: #FFF;
        border-radius: 1000px;
        vertical-align: middle;
        padding: 1vw 1vw;
        position: absolute;
        font-size: 2vw;
        top: 25%;
        right: 11%;
    }

    /* formカスタマイズ */
    #form {
        margin-bottom: 40px;
    }

    form {
        text-align: center;
    }

    form .form_table {
        width: 100%;
        max-width: 100%;
        text-align: left;
        margin: 30px 0;
        padding: 0 3%;
    }

    form .form_table div {
        width: 100% !important;
    }

    form .form_table .form_box:not(:last-child) {
        margin-bottom: 18px;
    }

    form .form_table .label,
    form .form_table .form_box_item {
        width: 100%;
        max-width: 100% !important;
    }

    form .form_table .label img {
        width: 11.26%;
        min-width: 58px;
        vertical-align: middle !important;
        margin-right: 20px;
    }

    form .form_box {
        margin: 0;
        display: block;
    }

    .question {
        padding: 0;
    }

    .form_table input,
    .form_table select,
    .form_table textarea {
        -moz-appearance: none;
        -webkit-appearance: none;
        appearance: none;
        background-color: transparent;
        background-image: none;
        border: 1px solid #88ba41;
        border-radius: 0;
        color: inherit;
        font-family: inherit;
        font-size: 1em;
        margin-left: 12.26%;
        padding: 0.4em 10.75%;
        width: 85%;
    }

    .form_table input:focus,
    .form_table select:focus,
    .form_table textarea:focus {
        border: 1px solid rgba(0, 0, 0, 0.32);
        box-shadow: none;
        outline: none;
    }

    .form_table input,
    .form_table select {
        height: 39px;
    }

    .form_table select {
        background: transparent url(../img/arrow.png) no-repeat center right 4.3%/3.87% 26.31%;
    }

    .form_table select::-ms-expand {
        display: none;
    }

    .form_table textarea {
        height: 19.24%;
        resize: none;
    }

    .checkbox01 {
        margin-bottom: 35px;
        padding: 0 3%;
    }

    .checkbox01-input {
        display: none;
    }

    .checkbox01-parts {
        padding-left: 8%;
        position: relative;
    }

    .checkbox01-parts::before {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        left: -7%;
        width: 18.62%;
        height: 89.05%;
        border: 1px solid #88ba41;
    }

    .checkbox01-input:checked + .checkbox01-parts::before {
        background: #88ba41;
    }

    .checkbox01-input:checked + .checkbox01-parts::after {
        content: "";
        display: block;
        position: absolute;
        top: 15%;
        left: -3%;
        width: 18.62%;
        height: 89.05%;
        background: url(../img/check.png) no-repeat;
        background-size: 70%;
    }

    .privacy_policy {
        margin-left: 8.59%;
        font-size: 19px;
    }

    .privacy_policy a {
        color: #000;
        text-decoration: none;
    }

    .submit_button {
        width: 78.28%;
    }

    .submit_button_disabled{
        width: 78.28%;
        opacity: 0.3;
    }

    footer {
        background-color: #000;
        color: #FFF;
        font-size: 12px;
        padding: 30px 0;
    }

    footer a {
        color: #fff;
        text-decoration: none;
    }

    footer ul.foot_list {
        text-align: center;
        margin-bottom: 40px;
    }

    footer ul.foot_list li {
        display: inline-block;
        font-size: 12px;
    }

    footer ul.foot_list li:nth-of-type(1) {
        margin-right: 50px;
    }

    footer .copy {
        color: #FFF;
        text-align: center;
        font-size: 10px;
    }

    div.btn_fix {
        position: fixed;
        bottom: 5%;
        right: 5%;

        z-index: 10;
    }

    div.btn_fix img {
        width: 80px;
    }
}

.submit_button{
    transition: opacity 0.2s ease;
}

.submit_button:hover{
    opacity: 0.7;
}

.submit_button_disabled{
    opacity: 0.3;
}



/* modal */
.black_surface {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 11;
    background: rgba(0, 0, 0, .7);
}
.modal {
    display: none;
}
.modal.active {
    display: block;
}
.modal_information {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    position: fixed;
    width: 738px;
    height: 540px;
    border-radius: 12px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: white;
    z-index: 12;
}
.modal .modal_information {
    font-family: "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
    font-weight: bold;
}
.check_OK {
    position: relative;
    margin: 0 0 27px;
}
.finished_big {
    font-size: 72px;
    color: #8DC33E;
    margin: 0 0 27px;
}
.finished_small {
    margin: 0 0 30px;
    font-size: 20px;
    line-height: 150%;
    color: #000000;
    text-align: center;
}
.OK_box {
    width: 171px;
    height: 45px;
    border-radius: 30px;
    background-color: #398AE4;
    font-size: 32px;
    color: white;
    text-align: center;
    line-height: 45px;
    transition: opacity, .3s;
}
.modal .modal_information .OK_box:hover {
    cursor: pointer;
    opacity: 0.6;
}


/* -----------------------------------------
  utility（clearfix・mb10など）
  ----------------------------------------- */
/* clearfix */
#wrapper .clearfix {
    width: 100%;
}

#wrapper .clearfix:after {
    content: "";
    display: block;
    clear: both;
}

/* 上付き文字 */
#wrapper sup {
    font-size: 1.2rem;
    vertical-align: text-top;
    line-height: 1.2;
}

/* positionでのレイアウトの外枠に使用 */
#wrapper .p-box {
    position: relative;
}


@media only screen and (max-width: 767px) {
    .black_surface {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 11;
        background: rgba(0, 0, 0, .7);
    }

    .modal {
        display: none;
    }

    .modal.active {
        display: block;
    }

    .modal_information {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        position: fixed;
        width: calc((100 / 375) * 300 * 1vw);
        height: calc((100 / 667) * 500 * 1vh);
        border-radius: 12px;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        background-color: white;
        z-index: 12;
        text-align: center;
    }

    .modal .modal_information {
        font-family: "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
        font-weight: bold;
    }

    .check_OK {
        position: relative;
        margin: 0 0 calc((100 / 667) * 25 * 1vh);
        width: calc((100 / 375) * 150 * 1vw);
        height: auto;
    }

    .finished_big {
        font-size: calc((100 / 375) * 50 * 1vw);
        color: #8DC33E;
        margin: 0 0 calc((100 / 667) * 20 * 1vh);
    }

    .finished_small {
        font-size: calc((100 / 375) * 18 * 1vw);
        color: #000000;
        margin: 0 calc((100 / 375) * 20 * 1vw) calc((100 / 667) * 25 * 1vh) calc((100 / 375) * 20 * 1vw);
    }

    .OK_box {
        width: calc((100 / 375) * 150 * 1vw);
        height: calc((100 / 667) * 45 * 1vh);
        border-radius: 30px;
        background-color: #398AE4;
        font-size: calc((100 / 375) * 30 * 1vw);
        color: white;
        text-align: center;
        line-height: calc((100 / 667) * 45 * 1vh);
        transition: opacity, .3s;
    }

    .modal .modal_information .OK_box:hover {
        cursor: pointer;
        opacity: 0.6;
    }
}

.finished_small.pc {
    display: block;
}

.finished_small.mobile {
    display: none;
}

@media only screen and (max-width: 767px) {
    .finished_small.pc {
        display: none;
    }

    .finished_small.mobile {
        display: block;
    }
}
