@charset "UTF-8";

.mailFormErrorElement { background: #ffe5e5 !important; }
.mailFormErrorMessage { color: #ef0000; }

.mailform .note{
    color: #f00;
}
.mailform table.style{
    margin-top:30px;
    margin-bottom:30px;
}
.mailform table.style th{
    width: 14em;
    position: relative;
}
.mailform table.style.select th{
    width: auto;
}
.mailform table.style.select td{
    text-align: right;
    width: 10em;
}

.mailform table.style input,
.mailform table.style textarea{
    background-color: #f7f7f7;
    width: 100%;
}
.mailform table.style.select select{
    width: 100%;
}
.mailform table.style.select input{
    width: 5em;
    margin-right: 10px;
}
.mailform table.style textarea{
    height: 7em;
}
.mailform table.style input.zipcode{width: 8em;}
.mailform table.style input.tel{width: 10em;}
.mailform .inputbox,
.inputboxinner{
    display: flex;
    gap: .5em;
    align-items: flex-start;
    flex-wrap: wrap;
}
.inputboxinner{
    gap: 0 .5em;
}
.mailform .inputbox.lv1 input{
    width: 20em;
}
.mailform .inputbox.lv2 input{
    width: 7em;
}
@media (max-width:960px){
    .mailform table.style th{
        width: 100%;
    }
    .mailform table.style.select,
    .mailform table.style.select :is(tbody, th, td){
        display: block;
    }
    .mailform table.style.select{
        border: none;
    }
    .mailform table.style.select tr{
        display: flex;
        flex-wrap: wrap;
        border-right: 1px solid #BCBEC5;
        border-top: 1px solid #BCBEC5;
    }
    .mailform table.style.select tr + tr{
        margin-top: 10px;
    }
    .mailform table.style.select th{
        width: 100%;
    }
    .mailform table.style.select td{
        width: 50%;
    }
}
@media (max-width:440px){
    input[name="tel"],
    .mailform .inputbox.lv1 input[type='text']
    {width: 100% !important;}
}


.buttonblock{
    display: flex;
    justify-content: center;
}
.buttonblock .button{
    margin-right: 10px;
    margin-left:10px;
}



/* ステップ表示部分 */
#m-step {display: flex; margin-bottom:20px; overflow: hidden; border-radius: 10px; background: #b1dedf;}
#m-step .text{ width: 33.33%; display: flex; align-items: center; justify-content: center; height:46px; line-height: 1; position: relative; font-weight: bold; color:#6fb2b3; font-size: 17px; text-indent: -0.7em;}
#m-step .text::after{
		content: "";
	display: block;
	border-top:23px solid #b1dedf;
	border-bottom:23px solid #b1dedf;
	border-left:10px solid #b1dedf;
	position: absolute;
	right:0;
	top:0;
}
#m-step .text:last-child::after{display: none;}
#m-step .text.now {color:#fff; background: #56babf;}
#m-step .text.now:after{border-left-color:#56babf;}
@media (max-width:960px){
    #m-step .text{
        font-size: 13px;
        height: 36px;
    }
    #m-step .text::after{
        border-top-width: 18px;
        border-bottom-width: 18px;
    }
}
/* ステップ表示部分 END*/


/*  */
#finish .image{
    margin:4em auto 3em;
    max-width: 340px;
}
#finish .title{
    font-size: 30px;
    line-height: 1.2;
    margin-bottom:1em;
    color: #319c9f;
    font-weight: bold;
    display: flex;
    justify-content: center;
}
#finish .comment{
    display: flex;
    justify-content: center;
}
 

/*  */
.privacyblock{
    border: 1px solid #ddd;
}
.privacyblock .policytitle{
	background-size: 2px 2px;
	background-image: linear-gradient(to right, #eee 50%, #f6f6f6 50%);
    text-align: center;
    padding: 30px 20px;
    font-weight: bold;
    font-size: 26px;
    line-height: 1;
}
@media (max-width:960px){
    .privacyblock .policytitle{
        font-size: 22px;
    }
}
.privacyblock .policytitle i{
    margin-right: 10px;
    color: #03b18e;
}
.privacyblock .inner{
    max-width: 880px;
    margin-right: auto;
    margin-left: auto;
    padding:50px 30px;
}


.privacydl{
	counter-reset: number 0;
}
.privacydl .title{
    margin-bottom: .6em;
    font-weight: bold;
    font-size: 110%;
}
.privacydl .title::before{
	counter-increment: number 1;
	content: counter(number)".";
	width: 1em;
	font-weight: bold;
}
.privacydl .title .text{
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: 0%;
    box-sizing: border-box;
	padding-left:5px;
	font-weight: bold;
}
.privacydl .comment:not(:last-child){
    margin-bottom: 3em;
}


.privacylist{
	counter-reset: number 0;
    margin-top: 2em;
}
.privacylist .list{
	display: flex;
    margin-top: 1em;
}
.privacylist .list::before{
	counter-increment: number 1;
	content: counter(number)".";
	width: 1em;
	font-weight: bold;
}
.privacylist .text{
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: 0%;
    box-sizing: border-box;
	padding-left:5px;
}


/*  */
.kaihi_wrapper{
    border-top: 1px solid #999;
    border-bottom: 1px solid #999;
    background: #f7f7f7;
    padding: 2em;
}
.kaihi_wrapper .data{
    display: flex;
    gap: .5em 2em;
    border-bottom: 1px solid #ddd;
    padding-bottom: 1em;
}
.kaihi_wrapper .data + .data{
    margin-top: 2em;
}
.kaihi_wrapper .data .title{
    width: 10em;
    font-weight: bold;
}
.kaihi_wrapper .data .inner{
    flex: 1;
}
.kaihi_data{
    display: flex;
    gap: 3em;
}
.mailform .kaihi_data table{
    margin: 0;
}
.kaihi_data .box{
    width: calc((100% - 3em)/2);
}
.kaihi_data .title{
    font-weight: bold;
    margin-bottom: 1em;
}
@media (max-width:960px){
    .kaihi_data{
        flex-direction: column;
    }
    .kaihi_data .box{
        width: 100%;
    }
}
@media (max-width:740px){
    .kaihi_wrapper .data{
        flex-direction: column;
    }
}
@media (max-width:560px){
    .kaihi_wrapper{
        padding: 1em;
    }
}