@charset "utf-8";
#header{
    margin: 0;
    border-bottom: 2px solid #F5F5F5;
}
.h-fonts{
    font-family: 'Noto Sans CJK JP' , 'Noto Sans JP' sans-serif;
}
.form-control{
    box-shadow: none;
    -webkit-box-shadow:none;
}
a:link, a:visited{
    color: #005bac;
}
.nblue{
    color: #005bac;
}
.text-center{
    text-align: center;
}
.bold{
    font-weight: bold;
}
.h-fonts .h-f-bold,
.board dt,
.board th,
.form-flow li{
    font-weight: bold;
}
.bg-gray{
    background: #F5F5F5;
}
.form-head{
    width: 90%;
    max-width: 1080px;
    margin: 28px auto;
}
.form-head img{
    width: 160px;
    height: auto;
}
.form-body{
    width: 90%;
    max-width: 1080px;
    margin: auto;
}

.form-body .ttl-area{
    padding: 20px 0 30px;
}
.form-body .ttl-area .ttl-h1{
    font-size:30px;
    line-height: 45px;
    text-align: center;
    margin-bottom: 24px;
}
.form-body .contents-area{
    padding: 28px 0 40px;
}
.form-body .intr{
    font-size:16px;
    margin-bottom: 24px;
}
.form-body .intr.nonbtm{
    margin-bottom: 0;
}

.form-flow{
    display: flex;
    justify-content: center;
}
.form-flow li{
    text-align: center;
    position: relative;
    display: inline-block;
    min-width: 130px;
    margin: 35px 50px 0;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.5;
}
.form-flow li::before{
    content: "";
    display: inline-block;
    width: 30px;
    height: 30px;
    line-height: 30px;
    border-radius: 50%;
    background: #EBEBEB;
    position: absolute;
    top: -35px;
    left: calc((100% - 30px)/2);
}
.form-flow li::after{
    content: "";
    width: 190px;
    height: 4px;
    position: absolute;
    right: -145px;
    top: -22.5px;
    border-bottom: 4px dotted #EBEBEB;
}
.form-flow li:last-of-type::after{
    display: none;
}
.form-flow li.now::before{
    background: #005bac;
}

.flex{
    display: flex;
    flex-flow: row wrap;
}
.flex .all-main{
    width: 100%;
}
.flex .left-main{
    width: 75%;
    max-width: 800px;
}
.flex .right-side{
    width: 22.3%;
    max-width: 240px;
    margin-left: auto;
    position: relative;
    padding-bottom:300px;
}
.flex .right-side .r-inner.fixed{
    position: -webkit-sticky; /* safari対応 */
    position: sticky;
    top: 30px;
    z-index: 2;
}

.description,
.description-fluid {
    overflow-wrap: break-word;
    hyphens: auto;
}

@media (min-width: 576px) {
    .description-fluid {
        word-break: keep-all;
    }
    .description-fluid br {
        display: none;
    }
}

.right-side .note{
    font-size: 12px;
}
.right-side .board{
    margin-bottom: 16px;
}
.right-side .board dd{
    padding-top: 5px;
}
.right-side .board .option-detail{
    margin-right: 0;
    width: 100%;
    margin-left: 0;
}
.right-side .board .f-line{
    display: flex;
    font-size: 12px;
    margin: 7px 0;
}
.right-side .board .f-line .lside{
    margin-right: auto;
}
.right-side .board .f-line .rside{
    width: 52%;
    text-align: right;
}
.right-side .board .f-line .rside.fixed{
    position: fixed;
    transform: translateX(125%);
    left: 50%;
}
.right-side .board .r-items{
    padding-bottom: 10px;
    border-bottom: 2px solid #e5e5e5;
    margin-bottom: 20px;
}
.right-side .board .r-items:last-of-type{
    border-bottom: 0;
    margin-bottom: 0;
}
.right-side .board .r-items .rttl{
    margin-top: 25px;
    color: #333;
}

/* white-boards */
.board{
    background: #fff;
    border: 1px solid #E5E5E5;
    border-radius: 10px;
    box-shadow: 0 1px 3px #00000029;
    padding: 25px;
    margin-bottom: 25px;
}
.board .ttl-h2{
    font-size:21px;
    line-height: inherit;
    margin: 0;
}
.board .ttl-h2.ttl-on-underline{
    padding-bottom: 18px;
    border-bottom: 2px solid #e5e5e5;
    margin-bottom: 24px;
}

.board dl{
    font-size: 16px;
}
.board dt{
    margin-bottom: 1rem;
    font-weight: bold;
}
.board .check-branch{
    width: 100%;
    margin-bottom: 10px;
}
.board .check-branch:hover,
.board .check-branch input[type=checkbox]:hover{
    cursor: pointer;
}
.board .check-branch input[type=checkbox]{
    margin: 0;
    margin-right: 10px;
}

.board .option-detail{
    font-size: 14px;
    color: #666;
    display: inline-block;
    margin: 0 25px;
}
.board .option-detail span,
.board .r-items span{
    color: #666;
}
.board .plan-changer{
    border: 1px solid #E6E6E6;
    background-color: #fff;
    border-radius: 3px;
    padding: 7px 27px;
    font-size: 14px;
    display: inline-block;
    color: #333;
    transition: 0.5s;
    height: 100%;
    display: block;
    margin-top: -7px;
}
.board .plan-changer:hover{
    cursor: pointer;
    background-color: #f5f5f5;
    transition: 0.5s;
}

span.required,
span.optional{
    padding: 7px 7px;
    font-size: 13px;
    border-radius: 2px;
    margin-left: 10px;
    text-shadow: none;
    line-height: 1;
}
span.required{
    background-color: #D8563B;
}
span.optional{
    background-color: #005bac;
}
.ttl-h2 span.required,
.ttl-h2 span.optional{
    position: relative;
    top: -4px;
}
.free-box,
.paid-box{
    display: none;
}
.free-box.on,
.paid-box.on{
    display: flex;
}
.free-right-box.on,
.paid-right-box.on{
    display: block;
}
.free-right-box,
.paid-right-box{
    display: none;
}

.option-col{
    display: none;
}
.option-col.on{
    display: block;
}
#bankInner,
#creditInner,
.sendbill-adress,
.send-adress,
.op-dsply{
    display: none;
}
#bankInner.on,
#creditInner.on,
.sendbill-adress.on,
.send-adress.on,
.op-dsply.on{
    display: block;
}

/* footer */
.ssl{
    padding: 40px 0;
}
.f-mgb{
    margin-bottom: 25px;
}

/* modal */
.centering{
    text-align: center;
}
.modal .m-body{
    padding: 30px 100px;
    background-color: #fff;
    border: 1px solid #707070;
    position: fixed;
    z-index: 3;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
}
.modal .m-bk{
    position: fixed;
    top: 0%;
    left: 0;
    width: 100%;
    height: 100%;
    background-color:rgba(0,0,0,0.7);
    z-index: 2;
}

.modal .m-body .md-ttl{
    font-size: 18px;
    color: #000;
    margin-bottom: 15px;
    text-align: center;
}
.modal .closebtn{
    color: #2BBEFF;
    font-size: 14px;
}
.modal .closebtn:hover{
    cursor: pointer;
    text-decoration: underline;
}
.modal .conf-btn{
    background-color: #005bac;
    border-radius: 4px;
    font-size: 20px;
    padding: 10px 40px;
    color: #fff;
    display: inline-block;
    margin: 0 auto 15px;
    line-height: 29px;
    transition: 0.5s;
}
.modal .conf-btn.off{
    background-color: #f5f5f5;
    color: #d2d2d2;
    transition: 0.5s;
}
.modal .conf-btn:hover{
    cursor: pointer;
    opacity: 0.85;
}
.modal .conf-btn.off:hover{
    cursor: inherit;
}

.btn-prm,
input[type=submit].btn-prm{
    border: none;
    outline: none;
    background-color: #005bac;
    color: #fff;
    border-radius: 60px;
    font-size: 16px;
    line-height: 1;
    display: inline-block;
    min-width: 240px;
    padding: 15px;
    box-shadow: 0px 5px 10px 0px rgb(0 142 172 / 30%);
    box-sizing: border-box;
    transition: 0.35s;
}
.btn-scd,
input[type=submit].btn-scd{
    border: none;
    outline: none;
    background-color: #fff;
    color: #005bac;
    border-radius: 60px;
    font-size: 16px;
    line-height: 1;
    display: inline-block;
    min-width: 240px;
    padding: 15px;
    box-shadow: 0px 5px 10px 0px rgb(0 142 172 / 30%);
    box-sizing: border-box;
    transition: 0.35s;
}

/* modal-planchange */
.check-q .flex label{
    width: calc(50% - 8px);
}
.check-q .flex label:last-of-type{
    margin-left: auto;
}
.check-q input[type=radio]{
    display: none;
}
.check-q label{
    position: relative;
    height: 120px;
    width: 400px;
    display: flex;
    align-items: center;
    /* justify-content: center; */
    padding-left: 60px;
    background-color: #fff;
    border: 1px solid #D4DDE4;
    border-radius: 4px;
    margin-bottom: 16px;
    font-size: 16px;
    color: #919293;
    transition: 0.35s;
}
.check-q label span{
    color: #919293;
}
.check-q label:hover{
    transition: 0.35s;
    cursor: pointer;
    background-color: #3975BB;
    opacity: 0.5;
    color: #fff;
}
.check-q label:hover span{
    color: #fff;
}
.check-q input[type="radio"]:checked + label{
    background-color: #005bac;
    opacity: 1;
    color: #fff;
}
.check-q input[type="radio"]:checked + label span{
    color: #fff;
}
.check-q label::before,
.check-q label::after{
    content: "";
    position: absolute;
    width: 16px;
    height: 16px;
    box-sizing: border-box;
    border: 1px solid #838383;
    background-color: #fff;
    border-radius: 10px;
    left: 30px;
    top: 50%;
    transform: translate(-50%,-50%);
    transition: 0.35s;
}
.check-q input[type="radio"]:checked + label::before{
    transition: 0.35s;
    border: 0;
    height: 3px;
    width: 8px;
    left: 23px;
    border-radius: 2px;
    transform: rotate(45deg);
}
.check-q input[type="radio"]:checked + label::after{
    width: 15px;
    height: 3px;
    border: 0;
    left: 26px;
    top: 48%;
    border-radius: 2px;
    transition: 0.35s;
    transform: rotate(135deg);
}

.check-q label .mini{
    font-size: 12px;
    line-height: 18px;
    display: inline-block;
}


/* modal-plantable */
.plantable-opener:hover{
    cursor: pointer;
}
.modal .plan-table{
    display: flex;
}
.modal .plan-table .fig-parts{
    margin-bottom: 20px;
}
.modal .plan-table .fig-parts img{
    max-width: 500px;
}

.jp-price.on,
.en-price.on{
    display: inline-block;
}
.jp-price,
.en-price{
    display: none;
}

.confirms th{
    width: 300px;
}

@media screen and (min-width:768px){
    .sp{display: none;}
    .btn-prm:hover,
    input[type=submit].btn-prm:hover,
    .btn-scd:hover,
    input[type=submit].btn-scd:hover{
        opacity: 0.8;
        box-shadow: none;
        transition: 0.35s;
    }
    .footer-parts {
		display: flex;
	    justify-content: space-evenly;
	    flex-direction: row-reverse;
	}
	
	.footer-seals {
		display: flex;
		justify-content: space-evenly;
        gap: 12px;
	}
}
@media screen and (max-width:768px){
    .form-head{
        margin: 12.5px auto;
        text-align: center;
    }
    .form-head img{
        width: 126px;
    }
    .form-body .ttl-area { padding: 10px 0 ; }
    .form-body .ttl-area .ttl-h1{
        font-size: 24px;
    }
    .form-body .intr { font-size: 14px; margin-bottom: 15px; }
    .board { background: #fff; border: 1px solid #E5E5E5; border-radius: 10px; box-shadow: 0 1px 3px #00000029; padding: 15px; margin-bottom: 25px; }
    .board .ttl-h2.ttl-on-underline { padding-bottom:0;border-bottom: 2px solid #e5e5e5; margin-bottom: 15px; }
    .board dl { font-size: 14px; }
    .privacy { font-size: 90%; color: #666; padding: 0 0 1rem; }
    .flex .left-main{
        width: 100%;
    }
    .flex .right-side{
        display: none;
    }
    .confirms th{
        width: 120px;
    }
    /* .form-flow li {
        min-width: 0;
        margin: 0;
        font-size: 12px;
        margin-top: 35px;
        width: calc(100% / 3);
    }
    .form-flow li::before{
        width: 20px;
        height:20px;
        top: -31.5px;
    }
    .form-flow li::after{
        width: 100%;
        right: -50%;
        z-index: -1;
    } */
    .form-flow{
        display: none;
    }
    .w15{
        width: 29%;
    }
    .w20{
        width: 39%;
    }
    .w30{
        width: 49%;
    }
    .w50{
        width: 100%;
    }
    .form-body .ttl-area .ttl-h1 {
        font-size: 20px;
        line-height: 1.4;
        text-align: center;
        margin-bottom: 20px;
    }
    .footer-parts {
		width:100%;
	}
	.footer-seals {
		display: flex;
		justify-content: space-evenly;
		margin-bottom: 10px;
	}
}
