@charset "utf-8";


/* A Modern CSS Reset */
*,*::before,*::after{box-sizing:border-box}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}ul[role="list"],ol[role="list"]{list-style:none}a:not([class]){text-decoration-skip-ink:auto}picture{max-width:100%;display:block}input,button,textarea,select{font:inherit}table{border-collapse: collapse;border-spacing: 0;width: 100%;}


html {
    font-size: 16px;
    scroll-behavior: smooth;
}

body {
    position: relative;
    font-family: Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,sans-serif;
    line-height: 1.8;
    color: #141e1e;
    background: linear-gradient(90deg, #f1dfd7 0, #f6e6de 49.95%, #f4e4dc 100%);
    
}
.thanks_page {
    min-height: 100dvh;
}

@media only screen and (min-width: 545px) , print {
    body {
        background-image: url(../img/contact-bg.jpg);
        background-size: cover;
        background-position: center center;
        background-repeat: no-repeat;
    }
}

.font_m {
    font-family: 游明朝,YuMincho,Hiragino Mincho ProN W3,ヒラギノ明朝 ProN W3,Hiragino Mincho ProN,HG明朝E,ＭＳ Ｐ明朝,ＭＳ 明朝,serif;
}

::selection {
    
}
a:hover,
a:active,
a:visited {
    text-decoration: none;
}

p {
    word-break: break-all !important;
    word-wrap: break-word !important;
}

img {
    max-width: 100%;
    height: auto;
}

embed,
iframe,
object {
    max-width: 100%;
}

a {
    text-decoration: none;
}

ul,ol {
    padding-left: 1.5rem;
}

.pc {
    display: none!important;
}
@media only screen and (min-width: 1024px) , print {
    html {
        scroll-padding-top:160px;
    }
    .pc {
        display: inherit!important;
    }
    .mobile {
        display: none!important;
    }
}


.block {
    display: block;
}
.ib {
    display: inline-block;
}
.inline_block {
    display: inline-block!important;
}
.w_60 {
    width: 60px!important;
}
.w_80 {
    width: 80px!important;
}
.w_100 {
    width: 100px!important;
}
.w_120 {
    width: 120px!important;
}
.w_240 {
    width: 240px!important;
}
.w_30per {
    width: 30%!important;
}
.w_50per {
    width: 50%!important;
}
.w_auto {
    width: auto!important;
}
.h_auto {
    height: auto!important;
}
.mt0 {
    margin-top: 0!important;
}
.mt01 {
    margin-top: 1rem!important;
}
.mt02 {
    margin-top: 2rem!important;
}
.mt03 {
    margin-top: 3rem!important;
}
.mt04 {
    margin-top: 4rem!important;
}
.mb0 {
    margin-bottom: 0!important;
}
.mb01 {
    margin-bottom: 1rem!important;
}
.mb02 {
    margin-bottom: 2rem!important;
}
.mb03 {
    margin-bottom: 3rem!important;
}
.mb04 {
    margin-bottom: 4rem!important;
}
.mr_auto {
    margin-right: auto!important;
}
.mr01 {
    margin-right: 1rem!important;
}
.ml_auto {
    margin-left: auto!important;
}
.p01 {
    padding: 1.2rem 1rem!important;
}
.pt0 {
    padding-top: 0!important;
}
.pt01 {
    padding-top: 1rem!important;
}
.pt02 {
    padding-top: 2rem!important;
}
.pb0 {
    padding-bottom: 0!important;
}
.pb01 {
    padding-bottom: 1rem!important;
}
.pb02 {
    padding-bottom: 2rem!important;
}
.pb03 {
    padding-bottom: 3rem!important;
}
.pb04 {
    padding-bottom: 4rem!important;
}

.mt_middle {
    margin-top: 2rem;
}
.mb_middle {
    margin-bottom: 2rem;
}
.mt_middlelarge {
    margin-top: 3rem;
}
.mb_middlelarge {
    margin-bottom: 3rem;
}
.mt_large {
    margin-top: 4rem;
}
.mb_large {
    margin-bottom: 4rem;
}
.mb_32 {
    margin-bottom: 32px;
}
.pt_middle {
    padding-top: 2rem;
}
.pb_middle {
    padding-bottom: 2rem;
}
.pt_large {
    padding-top: 4rem;
}
.pb_large {
    padding-bottom: 4rem;
}

.border_0 {
    border: 0!important;
}
.border_left_0 {
    border-left: 0!important;
}
.border_top_0 {
    border-top: 0!important;
}
.border_bottom_0 {
    border-bottom: 0!important;
}
.border_right_0 {
    border-right: 0!important;
}
.border01 {
    border: 1px solid #CBCBCB;
}
.border_bottom_01 {
    border-bottom: 1px solid #CBCBCB;
}
.border_top_01 {
    border-top: 1px solid #CBCBCB;
}
.bg_white {
    background-color: #fff;
}
.bg_red {
    background-color: #EC1C24;
}
.bg_red2 {
    background-color: #FF0042;
}
.bg_black {
    background-color: #333;
}
.bg_light_orange {
    background-color: #FBF0E8;
}
.bg_light_pink {
    background-color: #EBE1E4;
}
.bg_light_gray {
    background-color: #F1F1F1;
}
.bg_brown {
    background-color: #866000;
}
.bg_brown02 {
    background-color: #5D4734;
}
.bg_peach {
    background-color: #E8B39F;
}
.brown {
    color: #5D4734;
}
.gray {
    color: #666666;
}
.gray2 {
    color: #4F4F4F;
}
.white {
    color: #fff;
}
.red {
    color: #d91c1c;
}
.red2 {
    color: #804C4F;
}

.pointer {
    cursor: pointer;
}

.underline {
    text-decoration: underline;
}

.fw {
    font-weight: 700;
}
.fw400 {
    font-weight: 400;
}
.small {
    font-size: 0.8em;
}

.fs_xxs {
    font-size: 0.625rem;
}
.fs_xs {
    font-size: 0.84rem;
}
.fs_s {
    font-size: 0.88rem;
}
.fs_m {
    font-size: 1rem;
}
.fs_ml {
    font-size: 1.25rem;
}
.fs_l {
    font-size: 1.875rem;
}
.fs_xl {
    font-size: 2rem;
}
.f11 {
    font-size: 11px;
}
.f12 {
    font-size: 12px;
}
.f14 {
    font-size: 14px;
}
.fs_24 {
    font-size:24px;
}

.text-left {
    text-align: left!important;
}
.text-center {
    text-align: center!important;
}
.text-right {
    text-align: right!important;
}
.mobile_l_pc_c {
    text-align: left;
}
.lh01 {
    line-height: 1.4;
}
.lh02 {
    line-height: 1.25;
}
.lh03 {
    line-height: 1.8;
}
.lh04 {
    line-height: 2;
}

.d-flex {
    display: flex;
}
.flex-wrap {
    flex-wrap: wrap!important;
}
.justify-content-start {
    justify-content: flex-start!important;
}
.justify-content-end {
    justify-content: flex-end!important;
}
.justify-content-center {
    justify-content: center!important;
}
.justify-content-between {
    justify-content: space-between!important;
}
.justify-content-around {
    justify-content: space-around!important;
}
.align-items-start {
    align-items: flex-start!important;
}
.align-items-end {
    align-items: flex-end!important;
}
.align-items-center {
    align-items: center!important;
}
.align-items-baseline {
    align-items: baseline!important;
}
.align-items-stretch {
    align-items: stretch!important;
}

.d-grid {
    display: grid;
}
.gap01 {
    grid-gap: 1rem 4%;
}
.gap02 {
    grid-gap: 2rem 8%;
}
.gap03 {
    grid-gap: 3rem 12%;
}

.img_circle {
    display: block;
    border-radius: 100%;
}

.wrapper {
    max-width: 1216px;
    padding-left: 16px;
    padding-right: 16px;
    position: relative;
}
.wrapper_s {
    max-width: 544px;
    margin-left: auto;
    margin-right: auto;
}
.wrapper_720 {
    max-width: 720px;
}

@media only screen and (min-width: 1024px) , print {
    .wrapper {
        margin-left: auto;
        margin-right: auto;
        padding-left: 48px;
        padding-right: 48px;
    }
    
    .mt_middle {
        margin-top: 4rem;
    }
    .mb_middle {
        margin-bottom: 4rem;
    }
    .mt_middlelarge {
        margin-top: 5rem;
    }
    .mb_middlelarge {
        margin-bottom: 5rem;
    }
    .mt_large {
        margin-top: 6rem;
    }
    .mb_large {
        margin-bottom: 6rem;
    }
    .pt_middle {
        padding-top: 4rem;
    }
    .pb_middle {
        padding-bottom: 4rem;
    }
    .pt_large {
        padding-top: 6rem;
    }
    .pb_large {
        padding-bottom: 6rem;
    }
    
    .gap01 {
        grid-gap: 2rem 4%;
    }
    .gap02 {
        grid-gap: 4rem 8%;
    }
    .gap03 {
        grid-gap: 6rem 12%;
    }
}

/* header
-------------------------------*/
.header {
    padding: 64px 0 0;
    background-image: url(../img/contact-bg.jpg);
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}
.logo {
    display: block;
    padding-bottom: 24px;
}
.logo img {
    display: block;
    height: 12px;
    width: 192px;
    margin: 0 auto;
}
.main_title {
    font-size: 32px;
    padding-bottom: 280px;
}
.confirm_title {
    margin-bottom: 16px;
    border-bottom: 1px solid #000000;
    color: #141E1E;
    padding-bottom: 8px;
    line-height: 150%;
    font-weight: 600;
}

@media only screen and (min-width: 545px) , print {
    .header {
        background: none;
    }
    .main_title {
        padding-bottom: 64px;
    }
    .confirm_title {
        padding-bottom: 8px;
    }
}
@media only screen and (min-width: 769px) , print {
    .logo img {
        height: 16px;
        margin-bottom: 16px;
    }
    .main_title {
        font-size: 40px;
    }
    .thanks_page .logo {
        padding-bottom: 0;
    }
}



/* main
-------------------------------*/
.contact_wrap {
    padding: 32px 16px;
}
.required {
    display: inline-block;
    background-color: #e1e6e8;
    padding: 5px 8px;
    border-radius: 12px;
    margin-right: 4px;
    font-weight: 400;
    color: inherit;
    vertical-align: middle;
    font-size: 14px;
}

.form-control {
    line-height: 150%;
    padding: 12px;
    color: #141e1e;
    border: 1px solid rgba(20,30,30,.2);
    border-radius: 4px;
    outline: 0;
}
.form-control:focus,
.form-control:hover {
    border-color: #006462;
    box-shadow: none;
}
textarea.form-control {
    min-height: 180px;
}

.form-select {
    display: block;
    border: 1px solid rgba(20,30,30,.2);
    border-radius: 4px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: url(../img/chevron-down.svg) no-repeat right;
    background-position-x: calc(100% - 8px);
    background-color: #fff;
    outline: 0;
    min-width: 128px;
    padding: 12px 30px 12px 12px;
}

.form_checkbox, .form_radio {
    position: relative;
    display: inline-block;
    cursor: pointer;
}
.form_checkbox input, .form_radio input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    margin: 0;
}
.form_checkbox>.checkbox, .form_radio>.checkbox {
    position: absolute;
    top: 0.2rem;
    left: 0;
    width: 20px;
    height: 20px;
    border: 1px solid rgba(20,30,30,.3);
    border-radius: 2px;
    box-sizing: border-box;
    background: #fff;
    cursor: pointer;
}
.form_checkbox>.label, .form_radio>.label {
    display: inline-block;
    font-weight: 400;
    line-height: 150%;
    padding: 2px 0 2px 24px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.form_checkbox input:checked~.checkbox, .form_radio input:checked~.checkbox {
    background-color: #006462;
    border: none;
}
.form_checkbox input:checked~.label, .form_radio input:checked~.label {
    font-weight: 700;
}
.form_checkbox>.checkbox::after, .form_radio>.checkbox::after {
    content: "";
    width: 20px;
    height: 20px;
    background-image: url(../img/checkmark.svg);
    background-repeat: no-repeat;
    background-position: center;
}
.form_checkbox input:checked+.checkbox::after, .form_radio input:checked~.checkbox::after {
    display: block;
}


.btn,
.form_submit {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    font-weight: 700;
    transition: all .3s ease-in-out;
    padding: 0;
    border: 0;
    cursor: pointer;
    border-radius: 2px;
    height: 48px;
    line-height: 48px;
    background-color: #006462;
    color: #fff;
    width: 240px;
    display: block;
    margin-left: auto;
    margin-right: auto;
}
.btn:hover,
.form_submit:hover {
    background-color: #00453f;
    color: #fff;
}
.btn:focus,
.form_submit:focus {
    outline: none;
}

.form-control.is-valid, .was-validated .form-control:valid {
    background-image: none;
    border-color: rgba(20,30,30,.2);
}
.form-select.is-valid, .was-validated .form-select:valid {
    background: url(../img/chevron-down.svg) no-repeat right;
    background-position-x: calc(100% - 8px);
    border-color: rgba(20,30,30,.2);
}
.form-control.is-invalid, .was-validated .form-control:invalid {
    background-image: none;
    border-color: #d90d00;
}

.formTable,
.formTable tr,
.formTable tr th,
.formTable tr td {
    display: block;
    line-height: 24px;
}
.formTable tr td {
    word-break: break-all;
}

.btn-back {
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    color: #006462;
    font-weight: 700;
    font-size: 16px;
    cursor: pointer;
    transition: all 0.3s ease-in-out;
    background: none;
    border: none;
    margin: auto;
}
.btn-back::before {
    -webkit-mask: url(../img/arrow-left.svg) no-repeat;
    mask: url(../img/arrow-left.svg) no-repeat;
    background-color: currentColor;
    content: '';
    display: inline-block;
    vertical-align: middle;
    margin-right: 2px;
    width: 13px;
    height: 13px;
    transition: all 0.3s ease-in-out;
}
.btn-back:hover {
    color: #00453F
}
.btn-back:hover::before {
    margin-right: 6px
}

@media only screen and (min-width: 545px) , print {
    .contact_wrap {
        padding: 32px;
        border-radius: 2px;
    }
    .formTable {
        display: table;
    }
    .formTable tr {
        display: grid;
        grid-template-columns: 4fr 5fr;
    }
    .formTable tr th,
    .formTable tr td {
        padding: 2px;
    }
    .formTable tr th {
        text-align: right;
        padding-right: 24px;
        font-weight: 600;
    }
}


/* footer
-------------------------------*/
.footer {
    margin-top: 64px;
}
.copy {
    font-style: normal;
    font-weight: 400;
    font-size: 10px;
    text-align: center;
    line-height: 100%;
    color: rgba(20, 30, 30, .7);
    mix-blend-mode: normal;
    margin-bottom: 32px;
}
