@charset "UTF-8";
@font-face { font-family: 'NIS_SMS5N'; src: url(../font/NIS_SMS5N.woff2) format('woff2'), url(../font/NIS_SMS5N.woff) format('woff');}
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:0;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}

*{ box-sizing: border-box;}
body{
    font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
    color: #111;
    height: -webkit-fill-available;
}
body{
    min-height: 100vh;
    min-height: -webkit-fill-available;
    padding-top: 0 !important;
}
h1,h2,h3,h4,h5{
    font-family: NIS_SMS5N2,NIS_SMS5N;
    letter-spacing: 0.2em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.container{
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}
.container_980{
    max-width: 980px;
    margin: 0 auto;
    padding: 0 20px;
}

header{
    padding: 10px 0;
    position: relative !important;
}
header h1{
    margin: 0;
    text-align: center;
    font-size: 1.25rem;
    line-height: 1;
}
header h1 a{
    text-decoration: none;
    color: #111;
}
header h1 img{
    width: auto;
    height: 40px;
}
footer{
    background: #0f3568;
    color: #fafafa;
}
footer #copy{
    padding: 100px 0;
}
footer #copy .img{
    margin: 0 0 40px;
    text-align: center;
}
footer #copy .img a{
    transition: opacity .2s ease;
}
footer #copy .img a img{
    max-width: 120px;
    transition: max-width .4s ease;
}
footer #copy p{
/*    font-size: .875rem; */
    text-align: center;
}

#commonHeader{
    margin: 100px 0;
}
#commonHeader .ttl{}
#commonHeader .ttl h1{
    position: relative;
}
#commonHeader .ttl h1::after{
    content: "";
    width: 100%;
    height: 1px;
    background: #111;
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
}
#commonHeader .ttl h1 span{
    padding-right: 1em;
    display: inline-block;
    background: #fff;
    line-height: 1.5;
}
#commonHeader article{
    margin: 60px 0 0;
    text-align: justify;
}
#commonHeader article p{
    line-height: 1.5;
}

.link{}
.link a{
    height: 60px;
    padding: 0 50px 0 20px;
    display: inline-block;
    text-decoration: none;
    line-height: 60px;
    color: #333;
    font-size: 1rem;
    background: #eee;
    position: relative;
    transition: background 0.2s ease;
}
.link a::after{
    content: "\e037";
    font-family: "material icons";
    font-weight: 600;
    font-size: .75rem;
    line-height: 16px;
    letter-spacing: 0;
    text-align: center;
    color: #fff;
    width: 16px;
    height: 16px;
    margin-top: -8px;
    background: #af1e2b;
    display: block;
    position: absolute;
    top: 50%;
    right: 20px;
}
.link a span{}
.link a{}
.link{}

@media (pointer: fine){
    header h1 a:hover{
        opacity: .8;
    }
    footer #commercial .banners ul.banners_list li a:hover img{
        opacity: .6;
    }
    footer #copy .img a:hover{
        opacity: .6;
    }
    .link a:hover{
        background: #ddd;
    }
    
}
@media screen and (min-width: 1024px){}
@media screen and (max-width: 1023.98px){
    footer #commercial .message h2{
        font-size: 2rem;
    }
}
@media screen and (min-width: 768px){
    .onlySP{ display: none;}
}
@media screen and (max-width: 767.98px){
    .onlyPC{ display: none;}
    .container,
    .container_980{
        padding: 0 12px;
    }
    footer #copy{
        padding: 160px 0;
    }
    footer #copy .img{
        margin: 0 0 60px;
    }
    footer #copy .img a img{
        max-width: 80px;
    }
    footer #copy p{
        font-size: .75rem;
    }
    #commonHeader{
        margin: 60px 0;
    }
    #commonHeader .ttl h1{
        font-size: 1.5rem;
    }
    #commonHeader article{
        margin: 40px 0 0;
    }
    .link a{
        padding: 0;
        width: 100%;
        text-align: center;
    }
}


#commonHeader ul.other_entry{
    margin: 40px 0 0;
    padding: 0;
    list-style: none;
    display: flex;
    gap: 2vw;
}
#commonHeader ul.other_entry li{
    flex: 1;
    text-align: center;
    border: 1px solid #ddd;
    padding: 20px;
}
#commonHeader ul.other_entry li .ttl{
    margin: 0 0 20px;
}
#commonHeader ul.other_entry li .link a{
    width: 100%;
    padding: 0;
}

#form{
    padding: 60px 0;
    background: #fafafa;
}
#form .form_set{
    margin: 0 auto;
}
#form .form_set h2{
    margin-bottom: 2em;
    text-align: center;
}
#form ul.form_list{
    margin: 0;
    padding: 0;
    list-style: none;
}
#form ul.form_list > li{
    padding: 12px 0;
    display: flex;
    flex-direction: row;
    gap: 40px;
    border-top: 1px dashed #ddd;
}
#form ul.form_list > li:first-child,
#form ul.form_list > li:last-child{
    border-top-style: solid;
    border-color: #ccc;
}
#form ul.form_list > li .ttl{
    width: 240px;
}
#form ul.form_list > li .ttl label{
    line-height: 40px;
    display: block;
    position: relative;
    font-weight: 600;
/*    font-size: .875rem; */
}
#form ul.form_list > li .ttl label.required::after{
    content: "必須";
    color: #fff;
    font-size: .75em;
    text-align: center;
    line-height: 20px;
    width: 40px;
    height: 20px;
    margin-top: -10px;
    display: inline-block;
    background: #af1e2b;
    position: absolute;
    right: 0;
    top: 50%;
}
#form ul.form_list > li .input{
    flex: 1;
    padding: 4px 0;
}
#form ul.form_list > li.submit{
    padding: 30px 0;
    flex-direction: column;
    gap: 0;
}
#form ul.form_list > li.submit p.policy{
    margin: 0 0 1em;
    text-align: center;
/*    font-size: .875rem; */
}

#form ul.form_list > li input[type="text"],
#form ul.form_list > li input[type="tel"],
#form ul.form_list > li input[type="email"],
#form ul.form_list > li select,
#form ul.form_list > li textarea{
    width: 100%;
    padding: 10px 8px;
    border: none;
    outline: none;
    border: 1px solid #ccc;
    background: #fff;
    border-radius: 4px;
}
#form ul.form_list > li textarea{
    height: 6em;
    resize: vertical;
}
#form ul.form_list > li.policy textarea{
    height: 200px;
    background: #fff;
    border: 1px solid #ddd;
    line-height: 1.5;
}
#form ul.form_list > li.submit .send{
    width: calc(100% - 40px);
    margin: 0 auto;
    color: #fff;
    border-radius: 4px;
    background: #af1e2b;
    position: relative;
    transition: opacity 0.2s ease;
}
#form ul.form_list > li.submit .send::before{
    content: "\e163";
    font-family: "material icons";
    line-height: 20px;
    text-align: center;
    width: 20px;
    height: 20px;
    margin-top: -10px;
    display: block;
    position: absolute;
    top: 50%;
    left: 20px;
}
#form ul.form_list > li.submit .send input[type="submit"]{
    width: 100%;
    padding: 20px 0;
    font-weight: 600;
    font-family: serif;
    color: #fff;
    border: none;
    border-radius: 4px;
    background: none;
    cursor: pointer;
}
#form ul.form_list p.memo{
    margin-bottom: 0;
    font-size: .75em;
}
#form ul.name_list{
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: row;
}
#form ul.name_list li{
    flex: 1;
    display: flex;
    flex-direction: row;
    gap: 10px;
}
#form ul.name_list li .ttl{
    width: 60px;
    text-align: right;
}
#form ul.name_list li .input{
    flex: 1;
}
#form ul.hope_list{
    margin: 0 0;
    padding: 0;
    list-style: none;
    flex-direction: column;
    gap: 10px;
}
#form ul.hope_list li{
    display: flex;
    flex-direction: row;
    gap: 10px;
}
#form ul.hope_list li .ttl{
    width: 100px;
    text-align: right;
}
#form ul.hope_list li .input{
    flex: 1;
}
#form ul.adr_list{
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
}
#form ul.adr_list li .ttl label{
    line-height: 1.5;
}
#form ul.adr_list li .input.zip input[type="text"]{
    width: 120px;
}
#form .cause_set{
    margin: 0 0 10px;
}
#form .cause_set span{
    margin: 0 !important;
}
#form .cause_set label{
    padding: .5em 1em;
    display: block;
}
#form .cause_set label span{
    padding-left: .5em;
}
#form .cause_set label{}
#form .cause_set .wpcf7-radio{
    display: grid;
    grid-template-columns: 1fr;
}

.grecaptcha-badge { visibility: hidden; }
#form .recaptcha{}
#form .recaptcha p{
    text-align: center;
/*    font-size: .875rem; */
    line-height: 1.5;
    color: #999;
}
#form .recaptcha p a{
    color: #666;
}
#form .entry_flow{
    margin: 0 0 100px;
}
#form .entry_flow .credit{
    margin: 20px 0 0;
    text-align: center;
    font-size: .5rem;
    color: #bbb;
}
#form .entry_flow .credit a{
    color: #999;
}
#form .entry_flow{}
#form .entry_flow h2{
    text-align: center;
}
#form .entry_flow ul.flow_list{
    max-width: 720px;
    margin: 0 auto;
    padding: 40px 0;
    list-style: none;
    display: flex;
    flex-direction: row;
    justify-content: center;
    gap: 40px;
    border-bottom: 1px solid #ccc;
    border-top: 1px solid #ccc;
}
#form .entry_flow ul.flow_list li{
    flex: 1;
    max-width: 240px;
}
#form .entry_flow ul.flow_list li{}
#form .entry_flow ul.flow_list li .img{
    text-align: center;
}
#form .entry_flow ul.flow_list li .img img{
    width: 100%;
    max-width: 60px;
    filter: invert(15%) sepia(15%) saturate(6932%) hue-rotate(358deg) brightness(75%) contrast(112%);
}
#form .entry_flow ul.flow_list li .txt{
    text-align: center;
}
#form .entry_flow ul.flow_list li .txt p{
    line-height: 1.5;
    margin-bottom: 0;
/*    font-size: .875rem; */
}

/* contactform7 */
.wpcf7-spinner, .wpcf7 .send .ajax-loader {
    position: absolute !important;
    bottom: -28px;
    left: 0;
}
.wpcf7-spinner {
    visibility: hidden;
    display: inline-block;
    background-color: #23282d;
    opacity: 0.75;
    width: 24px;
    height: 24px;
    border: none;
    border-radius: 100%;
    padding: 0;
    margin: 0 24px;
    position: relative;
}



@media (pointer: fine){
    #form ul.form_list > li.submit .send:hover{
        opacity: .6;
    }
}
@media screen and (max-width: 767.98px){
    #commonHeader ul.other_entry{
        margin: 40px 0 0;
        flex-direction: column;
    }
    #commonHeader ul.other_entry li{
        padding: 16px;
    }
    #commonHeader ul.other_entry li .ttl{
        margin: 0 0 16px;
    }
    #form ul.form_list > li{
        padding: 4px 0;
        flex-direction: column;
        gap: 0;
    }
    #form ul.form_list > li .ttl{
        width: 100%;
        margin: 0 0 4px;
    }
    #form ul.form_list > li .ttl label{
        line-height: 1.5;
    }
    #form ul.form_list > li.submit .send{
        width: 100%;
    }
    #form .recaptcha p{
        text-align: left;
    }
    #form .entry_flow{}
    #form .entry_flow h2{
        text-align: center;
    }
    #form .entry_flow ul.flow_list{
        padding: 40px 0;
        flex-direction: column;
        gap: 60px;
    }
    #form .entry_flow ul.flow_list li{
        width: 100%;
        margin: 0 auto;
        max-width: 320px;
        display: flex;
        flex-direction: row;
    }
    #form .entry_flow ul.flow_list li + li{
        position: relative;
    }
    #form .entry_flow ul.flow_list li + li::before{
        content: "\e5db";
        font-family: "material icons";
        color: #999;
        width: 40px;
        height: 60px;
        text-align: center;
        line-height: 60px;
        display: block;
        position: absolute;
        top: -60px;
        left: calc(50% - 20px);
    }
    #form .entry_flow ul.flow_list li .img{
        width: 100px;
    }
    #form .entry_flow ul.flow_list li .txt{
        flex: 1;
        text-align: left;
    }
    #form .entry_flow ul.flow_list li .txt h3{
        margin-top: 0;
        margin-bottom: .8em;
    }
    #form ul.name_list li{
        gap: 0;
    }
    #form ul.name_list li .ttl{
        width: 40px;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    #form ul.name_list li .input{
        flex: 1;
    }
    #form ul.hope_list li .ttl{
        width: 60px;
        display: flex;
        justify-content: center;
        align-items: center;
    }
}