@charset "UTF-8";

.main-slide .bg-area {
    background-image: url(../w2img/20221031173443keyvisual_img01.jpg);
}

/* Common --------------- */

#form-submit {
    max-width: none;
    text-align: center;
    margin-top: 7%;
    margin-bottom: 4%;
}

.error-txt {
    color: red;
}

.focus-animation {
    border: 1px solid #eaeaea;
    transition: all 0.3s ease-in-out 0s;
}

.focus-animation:focus {
    border: 1px solid #39c;
    box-shadow: 0 0 5px #39c;
    outline: medium none;
    transition: all 0.3s ease-in-out 0s;
}

/* Form required --------------- */

.required, .n-required {
    background-color: #e5131d;
    color: #fff;
    font-size: 14px;
    font-weight: normal;
    display: inline-block;
    border-radius: 4px;
    margin: 0 5px;
    padding: 0 2px 2px;
    text-align: center;
    line-height: 1.6;
    width: 34px;
}

.n-required {
    background-color: #aaa;
}

/* method-blc --------------- */

#method-blc {
    padding: 4% 0 0;
}

#method-blc > .comm-blc {
    max-width: 1000px;
    margin: 0 auto;
}

#method-blc > .comm-blc > .txt-blc {
    text-align: center;
    margin-bottom: 4%;
}

#method-blc .list {
    display: flex;
    flex-wrap: wrap;    
}

#method-blc .list li {
    background-color: #fff;
    width: 48%;
    padding: 40px 20px 40px 95px;
    margin: 0 4% 4% 0;
    display: flex;
    align-items: center;
    position: relative;
    box-sizing: border-box;
    box-shadow: 0 0 32px rgba(0, 0, 0, 0.1);
}

#method-blc .list li:nth-of-type(2n+2) {
    margin-right: 0;
}

#method-blc .list li.tel::before {
    font-family: "Font Awesome 5 Free";
    content: '\f3cd';
    color: #1b1f72 ;
    font-weight: 900;
    font-size: 40px;
    margin: auto 0;
    display: flex;
    align-items: center;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 40px;
    z-index: 1;
}

#method-blc .list li.fax::before {
    font-family: "Font Awesome 5 Free";
    content: '\f1ac';
    color: #1b1f72 ;
    font-weight: 900;
    font-size: 40px;
    margin: auto 0;
    display: flex;
    align-items: center;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 30px;
    z-index: 1;
}

#method-blc .list li.mail {
    width: 100%;
    margin-right: 0;
}

#method-blc .list li.mail::before {
    font-family: "Font Awesome 5 Free";
    content: '\f658';
    color: #1b1f72 ;
    font-weight: 900;
    font-size: 40px;
    margin: auto 0;
    display: flex;
    align-items: center;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 30px;
    z-index: 1;
}

#method-blc .list li .txt {
    line-height: 1.4;
    position: relative;
    z-index: 1;
}

#method-blc .list li .txt01 {
    margin-bottom: 4%;
}

#method-blc .list li .txt02 {
    font-size: 90%;
}

#method-blc .list li .num {
    font-size: 180%;
    line-height: 1;
    margin-bottom: 2%;
}

#method-blc .list li .num a {
    text-decoration: none;
}

@media screen and (max-width: 1000px) {
    #method-blc .list li {
        padding: 80px 20px 20px 20px;
        justify-content: center;
    }
    #method-blc .list li.tel::before {
        font-size: 45px;
        margin: auto;
        justify-content: center;
        top: 0;
        bottom: auto;
        left: 0;
        right: 0;
    }
    #method-blc .list li.fax::before {
        font-size: 45px;
        margin: auto;
        justify-content: center;
        top: 0;
        bottom: auto;
        left: 0;
        right: 0;
    }
    #method-blc .list li.mail::before {
        font-size: 45px;
        margin: auto;
        justify-content: center;
        top: 0;
        bottom: auto;
        left: 0;
        right: 0;
    }
    #method-blc .list li .txt {
        text-align: center;
    }
}

@media screen and (max-width: 640px) {
    #method-blc .list li {
        width: 100%;
        padding: 40px 20px 40px 95px;
        margin-right: 0;
        margin-bottom: 4%;
        justify-content: flex-start;
    }
    #method-blc .list li.tel::before {
        font-size: 40px;
        justify-content: flex-start;
        top: 0;
        bottom: 0;
        left: 40px;
        right: auto;
    }
    #method-blc .list li.fax::before {
        font-size: 40px;
        justify-content: flex-start;
        top: 0;
        bottom: 0;
        left: 30px;
        right: auto;
    }
    #method-blc .list li.mail::before {
        font-size: 40px;
        justify-content: flex-start;
        top: 0;
        bottom: 0;
        left: 30px;
        right: auto;
    }
    #method-blc .list li .txt {
        text-align: left;
    }
    #method-blc .list li .txt01 {
        font-size: 120%;
    }    
    #method-blc .list li .txt02 {
        font-size: 100%;
    }
    #method-blc .list li .num {
        font-size: 220%;
    }
}

@media screen and (max-width: 480px) {
    #method-blc .list li {
        padding: 30px 20px 30px 60px;
    }    
    #method-blc .list li.tel::before {
        font-size: 32px;
        left: 20px;
    }
    #method-blc .list li.fax::before {
        font-size: 32px;
        left: 15px;
    }
    #method-blc .list li.mail::before {
        font-size: 32px;
        left: 15px;
    }
    #method-blc .list li .txt01 {
        font-size: 100%;
    }    
    #method-blc .list li .txt02 {
        font-size: 85%;
    }
    #method-blc .list li .num {
        font-size: 180%;
    }
}

/* Form Block --------------- */

#form-blc .text-desc {
    margin-bottom: 6%;
}

#form-blc p.info {
    margin-bottom: 4%;
}

#form-blc p.info .required {
    transform: translateY(-3px);
}

#form-blc table.tbl-form {
    box-sizing: border-box;
    margin: 0 0 3%;
    width: 100%;
}

#form-blc table.tbl-form th, #form-blc table.tbl-form td {
    background: transparent;
    padding: 25px 15px;
    box-sizing: border-box;
    border-bottom: 1px solid #d2d2d2;
}

#form-blc table.tbl-form tr:first-of-type th, #form-blc table.tbl-form tr:first-of-type td {
    border-top: 1px solid #d2d2d2;
}

#form-blc table.tbl-form th {
    background-color: #f5f5f8;
    font-weight: bold;
    width: 250px;
    padding-right: 45px;
}

/*#form-blc table.tbl-form th .required, #form-blc table.tbl-form th .n-required {
    position: absolute;
    top: 25px;
    right: 0;
}*/

#form-blc table.tbl-form .radio-label {
    margin-right: 10px;
}

input:-ms-input-placeholder {
    color: #ccc;
}

#form-blc input, #form-blc textarea {
    box-sizing: border-box;
    resize: none;
}

#form-blc input[type=button], #form-blc input[type=submit], #form-blc button[type=button], #form-blc button[type=submit],  #rule-blc input[type=button], #rule-blc input[type=submit],  #rule-blc button[type=button], #rule-blc button[type=submit] {
    max-width: 240px;
    padding-top: 12px;
    padding-bottom: 12px;
    display: inline-block;
    cursor: pointer;
    -webkit-appearance: none;
}

#form-blc input[type=submit] + input[type=button], #form-blc button[type=submit] + button[type=button] {
    margin-left: 20px;
}

#form-blc input[disabled=disabled]::after {
    content: "";
    background-color: #fff;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

#form-blc select {
    background-color: #fff;
    border: 1px solid #eaeaea;
    padding: 5px 8px;
    box-sizing: border-box;
    transition: all 0.3s ease-in-out 0s;
}

#form-blc select:focus {
    border-color: #39c;
    box-shadow: 0 0 5px #39c;
    outline: medium none;
}

#form-blc input.narrow-size {
    width: 20%;
}

#form-blc input.middle-size {
    width: 50%;
}

#form-blc input.small-size {
    width: 35%;
}

#form-blc input.wide-size {
    width: 80%;
}

#form-blc .full-size {
    width: 100%;
}

#form-blc input[type=tel] {
    width: 20%;
}

#form-blc input[name=add2] {
    margin-top: 10px;
}

#form-blc textarea {
    width: 100%;
    height: 200px;
}

#form-blc label.label-for {
    margin-right: 15px;
    display: inline-flex;
    align-items: center;
}

#form-blc label.label-for > input[type=radio] {
    margin-right: 5px;
}

#form-blc input[readonly] {
    background-color: #eee;
}

@media screen and (max-width: 1200px) {
    #form-blc input[type=button], #form-blc input[type=submit], #form-blc button[type=button], #form-blc button[type=submit],  #rule-blc input[type=button], #rule-blc input[type=submit],  #rule-blc button[type=button], #rule-blc button[type=submit] {
        background-image: none;
    }
}

@media screen and (max-width: 767px) {
    /* Form Block --------------- */
    #form-blc p.info {
        text-align: left;
    }
    #form-blc table.tbl-form th, #form-blc table.tbl-form td {
        width: 100%;
        display: block;
        padding: 10px 5px;
    }
    #form-blc table.tbl-form th {
        border-bottom: 0;
    }
    #form-blc table.tbl-form td {
        padding-bottom: 15px;
    }
    #form-blc table.tbl-form th .required, #form-blc table.tbl-form th .n-required {
        top: 5px;
    }
    #form-blc input[type=button], #form-blc input[type=submit], #form-blc button[type=button], #form-blc button[type=submit],  #rule-blc input[type=button], #rule-blc input[type=submit],  #rule-blc button[type=button], #rule-blc button[type=submit] {
        max-width: 200px;
    }
    #form-blc input.narrow-size {
        width: 30%;
    }
    #form-blc input.middle-size {
        width: 70%;
    }
    #form-blc input.small-size {
        width: 60%;
    }
    #form-blc input.wide-size {
        width: 100%;
    }
    #form-blc input[name=birthday1] {
        width: 60px;
    }    
    #form-blc input[name=birthday2],
    #form-blc input[name=birthday3] {
        width: 40px;
    }
}

@media screen and (max-width: 640px) {
    /* Form Block --------------- */
    #form-blc ul.method li {
        width: 100%;
    }
}

@media screen and (max-width: 480px) {
    #form-blc .form-confirm input[type=button], #form-blc .form-confirm input[type=submit], #form-blc .form-confirm button[type=button], #form-blc .form-confirm button[type=submit],  #rule-blc .form-confirm input[type=button], #rule-blc .form-confirm input[type=submit], #rule-blc .form-confirm button[type=button], #rule-blc .form-confirm button[type=submit] {
        max-width: 130px;
    }
}

/* Rule Block --------------- */

#rule-blc dt {
    margin: 0 0 5px;
    font-size: 100%;
    font-weight: 500;
}

#rule-blc dd {
    margin: 0 0 5%;
}

/* g-recaptcha --------------- */

.g-recaptcha {
    display: flex;
    justify-content: center;
}