* {
  font-family: "Noto Sans JP", sans-serif;
}

body {
  color: #222;
}

input[type=checkbox]{
  appearance: checkbox;
}


@media(min-width:641px){
  a {
    width: inherit;
    height: inherit;
    display: inline-block;
    cursor: pointer;
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  a:hover {
    opacity: 0.7;
  }
  
  .ly_inner {
    width: 1000px;
    margin: 0 auto;
  }
  
  .hp_pcNone {
    display: none !important;
  }
  
  /*----------- header -----------*/
  .ly_header {
    background: #23b553;
    padding: 16px 0;
  }
  
  .bl_header_logo {
    width: 125px;
    height: 41px;
  }
  
  /*----------- form -----------*/
  .ly_form {
    padding: 45px 0 140px;
    min-height: calc(100vh - 180px);
  }
  
  .bl_form_txt {
    font-size: 18px;
    line-height: 1.5;
    text-align: center;
    margin-top: 10px;
  }
  
  .bl_form_body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    margin-top: 20px;
  }
  
  .ly_form form {
    width: 560px;
    background: #f0f4f5;
    border-radius: 20px;
    padding: 40px 40px 60px;
    margin-top: 18px;
  }
  .ly_form dl .error {
    display: block;
    width: 100%;
    color: #df3434;
    font-size: 14px;
    padding-bottom: 8px;
  }
  .ly_form dl + dl {
    margin-top: 18px;
  }
  .ly_form dt {
    font-size: 18px;
    line-height: 1.3;
    width: 460px;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
  .ly_form dt label {
    font-weight: bold;
    line-height: 1.3;
  }
  .ly_form dd {
    margin-top: 7px;
    font-size: 18px;
    line-height: 1.5;
    letter-spacing: 0.04em;
  }
  .ly_form dl.req dt::after {
    content: "必須";
    color: #fff;
    background: #d81617;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0.06em;
    width: 36px;
    text-align: center;
    display: inline-block;
    margin-left: 7px;
  }
  .ly_form input[type=text], .ly_form textarea, .ly_form select {
    border: none;
    width: 100%;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    background: #fff;
    border-radius: 4px;
    font-size: 18px;
    line-height: 1.5;
    letter-spacing: 0.04em;
    padding: 12px 20px;
    resize: none;
    cursor: pointer;
  }
  .ly_form input[type=text]::-webkit-input-placeholder, .ly_form textarea::-webkit-input-placeholder, .ly_form select::-webkit-input-placeholder {
    color: #91918f;
  }
  .ly_form input[type=text]::-moz-placeholder, .ly_form textarea::-moz-placeholder, .ly_form select::-moz-placeholder {
    color: #91918f;
  }
  .ly_form input[type=text]::-ms-input-placeholder, .ly_form textarea::-ms-input-placeholder, .ly_form select::-ms-input-placeholder {
    color: #91918f;
  }
  .ly_form input[type=text]::placeholder, .ly_form textarea::placeholder, .ly_form select::placeholder {
    color: #91918f;
  }
  .ly_form select {
    width: 240px;
    background: url(../img/common_form_arrow.png) no-repeat right 18px center/12px 10px, #fff;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
  }
  .ly_form select:invalid {
    color: #91918f;
  }
  .ly_form form.bl_form--confirm {
    padding-top: 56px;
  }
  .ly_form form.bl_form--confirm dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    border-top: solid 1px #afbec2;
    padding: 10px 0 0;
  }
  .ly_form form.bl_form--confirm dl:last-of-type {
    border-bottom: solid 1px #afbec2;
    padding-bottom: 10px;
  }

  .ly_form form.bl_form--confirm dl dt {
    width: 220px;
  }

  .contact dt span{
    display: block;
    font-size: 16px;
    padding: 5px 0;
  }
  
  .bl_privacypolicy_agree {
    display: table;
    font-size: 0;
    margin: 35px auto 0;
    position: relative;
  }
  .bl_privacypolicy_agree input[type=checkbox] {
    position: absolute;
    opacity: 0;
  }
  .bl_privacypolicy_agree input[type=checkbox] + label {
    cursor: pointer;
    display: block;
    font-size: 16px;
    line-height: 1.625;
    width: 100%;
    padding-left: 45px;
    position: relative;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    -webkit-transition: 0.2s;
    transition: 0.2s;
  }
  .bl_privacypolicy_agree input[type=checkbox] + label a {
    font-weight: bold;
    display: inline;
    color: #23b553;
    text-decoration: underline;
    text-underline-offset: 0.5em;
  }
  .bl_privacypolicy_agree input[type=checkbox] + label a:hover {
    opacity: 1;
    text-decoration: none;
  }
  .bl_privacypolicy_agree input[type=checkbox] + label::before {
    content: "";
    background: #fff;
    display: block;
    width: 26px;
    height: 26px;
    position: absolute;
    left: 0;
    top: 5px;
    -webkit-transition: 0.2s;
    transition: 0.2s;
  }
  .bl_privacypolicy_agree input[type=checkbox] + label::after {
    content: "";
    border-right: 2px solid #222;
    border-bottom: 2px solid #222;
    display: block;
    opacity: 0;
    width: 9px;
    height: 17px;
    position: absolute;
    left: 9px;
    bottom: 1px;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    -webkit-transition: 0.2s;
    transition: 0.2s;
  }
  .bl_privacypolicy_agree input[type=checkbox]:checked + label::after {
    opacity: 1;
  }
  
  .bl_form_confirm {
    width: 400px;
    margin: 40px auto 0;
  }
  .bl_form_confirm input {
    border: none;
    font-size: 18px;
    letter-spacing: 0.1em;
    text-align: center;
  }
  .bl_form_confirm input.bl_form_confirmBtn {
    font-size: 0;
  }
  
  .bl_form_confirmBtn {
    width: 100%;
    height: 70px;
    background: url(../img/pc_form_button.png) no-repeat center/cover;
    cursor: pointer;
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .bl_form_confirmBtn:hover {
    opacity: 0.8;
  }
  
  .bl_send_list {
    width: 400px;
    margin: 40px auto 0;
  }
  .bl_send_list input {
    border: none;
    font-size: 18px;
    letter-spacing: 0.1em;
    text-align: center;
  }
  .bl_send_list input.bl_form_sendBtn {
    font-size: 0;
  }
  
  .bl_form_sendBtn {
    width: 100%;
    height: 70px;
    background: url(../img/pc_confirm_button.png) no-repeat center/cover;
    cursor: pointer;
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .bl_form_sendBtn:hover {
    opacity: 0.8;
  }
  
  .bl_form_prevBtn {
    margin-top: 20px;
  }
  
  .bl_thanks_ttl {
    font-size: 20px;
    font-weight: bold;
    line-height: 1.35;
    letter-spacing: 0.1em;
    text-align: center;
    margin-top: 12px;
  }
  
  .bl_thanks_txt {
    font-size: 18px;
    line-height: 1.5;
    letter-spacing: 0.04em;
    width: 610px;
    margin: 18px auto 0;
  }
  
  .bl_thanks_wrapper {
    width: 910px;
    margin: 5px auto 0;
    position: relative;
  }
  
  .bl_thanks_btn {
    width: 440px;
    position: absolute;
    bottom: 75px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  
  .bl_thanks_top {
    text-align: center;
    margin: 55px 0 30px;
  }
  .bl_thanks_top.bl_thanks_top--contact {
    margin-top: 100px;
  }
  
  /*----------- footer -----------*/
  .ly_footer {
    background: #000;
    padding: 30px 0 25px;
  }
  
  .bl_footer_inner {
    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;
  }
  
  .bl_footer_copyright {
    color: #fff;
    font-size: 13px;
    letter-spacing: 0.1em;
    display: block;
    margin-right: 48px;
  }
}
@media(max-width:640px){
  input:focus,
textarea:focus,
select:focus {
  font-size: clamp(16px, 3.906vw, 25px) !important;
}
  a {
    width: inherit;
    height: inherit;
    display: inline-block;
  }
  
  img {
    width: 100%;
    height: auto;
    display: block;
  }
  
  .hp_spNone {
    display: none !important;
  }
  
  /*----------- header -----------*/
  .ly_header {
    background: #23b553;
    padding: 3.90625vw 0;
  }
  
  .bl_header_logo {
    width: 21.875vw;
    margin-inline: auto;
  }
  
  /*----------- form -----------*/
  .ly_form {
    padding: 0 0 12.8125vw;
    min-height: calc(100vh - 28.125vw);
  }
  .ly_form .ly_inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  
  .bl_form_ttl {
    -webkit-box-ordinal-group: -1;
        -ms-flex-order: -2;
            order: -2;
  }
  
  .bl_form_body {
    display: contents;
  }
  
  .bl_form_txt {
    font-size: 4.375vw;
    line-height: 1.3571428571;
    width: 90.625vw;
    margin: 3.75vw auto 0;
    border-top: solid 0.15625vw #bcbcbc;
    padding: 5vw 0 0;
  }
  .bl_form_txt.bl_form_txt--contact {
    border-top: none;
    padding-top: 1.09375vw;
  }
  
  .bl_form_contsImg {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
    margin-top: 4.6875vw;
  }
  .bl_form_contsImg.bl_form_contsImg--contact {
    width: 92.1875vw;
    margin: 2.65625vw auto 0;
  }
  
  .ly_form form {
    margin: 5vw 1.5625vw 0;
    background: #f0f4f5;
    border-radius: 3.125vw;
    padding: 6.25vw 4.6875vw 14.0625vw;
  }
  .ly_form dl .error {
    display: block;
    width: 100%;
    color: #df3434;
    font-size: 2.1875vw;
    padding-bottom: 1.25vw;
  }
  .ly_form dl + dl {
    margin-top: 7.8125vw;
  }
  .ly_form dt {
    font-size: 4.375vw;
    line-height: 4.375vw;
  }
  .ly_form dt label {
    font-weight: bold;
    line-height: 4.375vw;
  }
  .ly_form dd {
    margin-top: 1.875vw;
    font-size: 4.375vw;
    line-height: 1.5;
    letter-spacing: 0.04em;
  }
  .ly_form dl.req dt::after {
    content: "必須";
    color: #fff;
    background: #d81617;
    font-size: 3.125vw;
    font-weight: bold;
    line-height: 4.375vw;
    letter-spacing: 0.06em;
    width: 7.8125vw;
    text-align: center;
    display: inline-block;
    margin-left: 0.625vw;
  }
  .ly_form input[type=text], .ly_form textarea, .ly_form select {
    border: none;
    width: 100%;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    background: #fff;
    border-radius: 0.625vw;
    font-size: 4.375vw;
    line-height: 1.5;
    letter-spacing: 0.04em;
    padding: 2.03125vw 3.125vw;
    resize: none;
    cursor: pointer;
  }
  .ly_form input[type=text]::-webkit-input-placeholder, .ly_form textarea::-webkit-input-placeholder, .ly_form select::-webkit-input-placeholder {
    color: #91918f;
  }
  .ly_form input[type=text]::-moz-placeholder, .ly_form textarea::-moz-placeholder, .ly_form select::-moz-placeholder {
    color: #91918f;
  }
  .ly_form input[type=text]::-ms-input-placeholder, .ly_form textarea::-ms-input-placeholder, .ly_form select::-ms-input-placeholder {
    color: #91918f;
  }
  .ly_form input[type=text]::placeholder, .ly_form textarea::placeholder, .ly_form select::placeholder {
    color: #91918f;
  }
  .ly_form select {
    background: url(../img/common_form_arrow.png) no-repeat right 4.6875vw center/2.34375vw 2.03125vw, #fff;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
  }
  .ly_form select:invalid {
    color: #91918f;
  }
  .ly_form form.bl_form--confirm {
    padding-top: 5.15625vw;
  }
  .ly_form form.bl_form--confirm dl {
    border-bottom: solid 0.15625vw #afbec2;
    padding: 1.5625vw 0 0;
  }
  .ly_form form.bl_form--confirm dl + dl {
    margin-top: 0;
    padding-top: 6.25vw;
  }
  .ly_form form.bl_form--confirm dd {
    margin: 3.4375vw 2.8125vw;
  }

  .contact dt span{
    display: block;
    font-size: 3.781vw;
    padding: 0.781vw 0;
  }
  
  .bl_privacypolicy_agree {
    display: table;
    font-size: 0;
    margin: 10.9375vw auto 0;
    position: relative;
  }
  .bl_privacypolicy_agree input[type=checkbox] {
    position: absolute;
    opacity: 0;
  }
  .bl_privacypolicy_agree input[type=checkbox] + label {
    cursor: pointer;
    display: block;
    font-size: 4.0625vw;
    width: 100%;
    padding-left: 7.03125vw;
    position: relative;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    -webkit-transition: 0.2s;
    transition: 0.2s;
  }
  .bl_privacypolicy_agree input[type=checkbox] + label a {
    font-weight: bold;
    display: inline;
    color: #23b553;
    text-decoration: underline;
    text-underline-offset: 0.5em;
  }
  .bl_privacypolicy_agree input[type=checkbox] + label a:hover {
    opacity: 1;
    text-decoration: none;
  }
  .bl_privacypolicy_agree input[type=checkbox] + label::before {
    content: "";
    background: #fff;
    display: block;
    width: 4.6875vw;
    height: 4.6875vw;
    border: solid 0.15625vw #8e8e8e;
    position: absolute;
    left: 0;
    top: 0.78125vw;
    -webkit-transition: 0.2s;
    transition: 0.2s;
  }
  .bl_privacypolicy_agree input[type=checkbox] + label::after {
    content: "";
    border-right: 0.3125vw solid #222;
    border-bottom: 0.3125vw solid #222;
    display: block;
    opacity: 0;
    width: 1.40625vw;
    height: 2.65625vw;
    position: absolute;
    left: 1.40625vw;
    bottom: 0;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    -webkit-transition: 0.2s;
    transition: 0.2s;
  }
  .bl_privacypolicy_agree input[type=checkbox]:checked + label::after {
    opacity: 1;
  }
  
  .bl_form_confirm {
    width: 87.5vw;
    margin: 11.71875vw auto 0;
  }
  .bl_form_confirm input {
    border: none;
    font-size: 2.8125vw;
    letter-spacing: 0.1em;
    text-align: center;
  }
  .bl_form_confirm input.bl_form_confirmBtn {
    font-size: 0;
  }
  
  .bl_form_confirmBtn {
    width: 100%;
    height: 15.625vw;
    background: url(../img/sp_form_button.png) no-repeat center/contain;
  }
  
  .bl_send_list {
    width: 87.5vw;
    margin: 11.71875vw auto 0;
  }
  .bl_send_list input {
    border: none;
    font-size: 2.8125vw;
    letter-spacing: 0.1em;
    text-align: center;
  }
  .bl_send_list input.bl_form_sendBtn {
    font-size: 0;
  }
  
  .bl_form_sendBtn {
    width: 100%;
    height: 15.625vw;
    background: url(../img/sp_confirm_button.png) no-repeat center/contain;
  }
  
  .bl_form_prevBtn {
    margin-top: 6.25vw;
  }
  
  .bl_thanks_ttl {
    font-size: 4.6875vw;
    font-weight: bold;
    line-height: 2;
    letter-spacing: 0.04em;
    text-align: center;
    margin-top: 4.375vw;
  }
  
  .bl_thanks_txt {
    font-size: 4.375vw;
    line-height: 1.3571428571;
    letter-spacing: 0.04em;
    width: 89.0625vw;
    margin: 1.71875vw auto 0;
  }
  
  .bl_thanks_wrapper {
    margin-top: 3.90625vw;
  }
  
  .bl_thanks_btn {
    width: 87.5vw;
    margin: 7.8125vw auto 0;
  }
  
  .bl_thanks_top {
    text-align: center;
    margin: 10.46875vw auto 0;
    width: 28.125vw;
  }
  .bl_thanks_top.bl_thanks_top--contact {
    margin-top: 15.625vw;
  }
  
  /*----------- footer -----------*/
  .ly_footer {
    background: #000;
    padding: 3.90625vw 0 3.90625vw;
  }
  
  .bl_footer_logo {
    width: 21.875vw;
    margin: 0 auto;
  }
  
  .bl_footer_copyright {
    color: #fff;
    font-size: 2.8125vw;
    letter-spacing: 0.1em;
    display: block;
    text-align: center;
    margin-top: 3.4375vw;
  }
}
