@charset "utf-8";

/*-----------------------------------------------
	secForm
-----------------------------------------------*/
/* secForm */
.secForm{
    padding: 120px 0 150px;
    background: #f1f1f1;
    margin-top: 120px;
    position: relative;
}
.secForm::after{
    display: none;
}
.secForm .engTitForm{
   font-size: 75px;
   text-align: center; 
}
.secForm .jpnTitForm{
    font-size: 20px;
    letter-spacing: 1px;
	text-align: center;
    margin-top: 15px;
}
.secForm #reserveForm{
    position: relative;
    z-index: 10;
}
.secForm #eventForm{
    position: relative;
    z-index: 10;
}
.secFormTable td .noteList li{
    padding-left: 0;
}
.secFormTable td .noteList li::after{
    display: none;
}
@media only screen and (max-width:767px){
	.secForm{
        padding: 30px 0 62px;
        margin-top: 60px;
    }
    .ok .secForm{
        padding: 80px 0 62px;
    }
    .secForm::after{
        width: 100%;
        height: calc(100% - 20px);
        left: 0;
    }
    .secForm .engTitForm{
       font-size: 30px;
    }
    .secForm .jpnTitForm{
        font-size: 13px;
        letter-spacing: 0.5px;
        margin-top: 8px;
    }
}
/* secFormTel */
.secFormTel{
    margin-top: 50px;
    text-align: center;
}
.secFormTel .telTit{
    font-size: 22px;
    letter-spacing: 1px;
}
.secFormTel .telInner{
    display: block;
    text-decoration: none;
    color: #000000;
    font-size: 33px;
    letter-spacing: 3px;
    margin-top: 23px;
}
.secFormTel .telTxt{
    font-size: 14px;
    line-height: 1.85;
    letter-spacing: 1px;
    margin-top: 20px;
}
@media only screen and (max-width:767px){
    .secFormTel{
        margin-top: 12px;
    }
    .secFormTel .telTit{
        font-size: 15px;
        line-height: 2;
        letter-spacing: normal;
    }
    .secFormTel .telInner{
        font-size: 30px;
        letter-spacing: 1px;
        display: inline-block;
        margin-top: 8px;
    }
    .secFormTel .telTxt{
        font-size: 11px;
        line-height: 2;
        letter-spacing: 1px;
        margin-top: 11px;
    }
}
@media only screen and (max-width:359px){
    .secFormTel .telInner{
        font-size: 30px;
        letter-spacing: 1px;
    }
}
/* stepList */
.secFormTable .stepList{
    display: flex;
    justify-content: center;
}
.secFormTable .stepItem{
    margin-right: 75px;
}
.secFormTable .stepItem:last-child{
    margin-right: 0;
}
.secFormTable .nmberBox{
   position: relative;
}
.secFormTable .stepNmber{
    width: 60px;
    height: 60px;
    border-radius: 50%;
    font-size: 20px;
    letter-spacing: 1px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #000000;
    background: #eeeeee;
}
.secFormTable .stepItem.active .stepNmber{
    background: #70b3ae;
    color: #fff;
}
.secFormTable .stepTxt{
    font-size: 15px;
    text-align: center;
    margin-top: 13px;
    letter-spacing: 1px;
}
.secFormTable .iconCircleBox{
    position: absolute;
    right: -42px;
    top: calc(50% - 2.5px);
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #dddddd;
}
.secFormTable .iconCircle{
   position: relative;
   display: block;
   width: 5px;
   height: 5px;
}
.secFormTable .iconCircle::before,
.secFormTable .iconCircle::after{
    position: absolute;
    content: "";
    width: 5px;
    height: 5px;
    background: #dddddd;
    border-radius: 50%;
    top: calc(50% - 2.5px);
}
.secFormTable .iconCircle::before{
    left: -20px;
}
.secFormTable .iconCircle::after{
    right: -20px;
}
@media only screen and (max-width:767px){
    .secFormTable .stepItem{
        margin-right: 55px;
    }
    .secFormTable .stepNmber{
        width: 50px;
        height: 50px;
        font-size: 20px;
        letter-spacing: 1px;
    }
    .secFormTable .stepTxt{
        font-size: 12px;
        margin-top: 10px;
        letter-spacing: 1px;
    }
    .secFormTable .iconCircleBox{
        right: -30px;
    }
    .secFormTable .iconCircle::before{
        left: -15px;
    }
    .secFormTable .iconCircle::after{
        right: -15px;
    }
}

/* secFormTable */
.secFormTable{
	width: 1280px;
	margin: 45px auto 0;
    background: #fff;
    border-radius: 4px;
    box-shadow: 0px 0px 4.85px 0.15px rgba(0, 0, 0, 0.05);
    padding: 50px;
}
.secFormTable .table{
    margin-top: 40px;
    width: 100%;
    background: linear-gradient(to right, #757575, #757575 1px, transparent 1px, transparent 4px) left top / 4px 1px repeat-x;
}
.secFormTable tr{
	background: linear-gradient(to right, #757575, #757575 1px, transparent 1px, transparent 4px) left bottom / 4px 1px repeat-x;
}
.secFormTable th{
	width: 275px;
	vertical-align: middle;
	padding: 30px 0;
}
.secFormTable th.start{
    vertical-align: top;
    padding-top: 41px;
}
.secFormTable th.start.pt27{
    padding-top: 27px;
}
.secFormTable th.start.pt30{
    padding-top: 30px;
}
.secFormTable th .inner{
	display: block;
	position: relative;
	font-size: 15px;
    line-height: 2;
    font-weight: bold;
	letter-spacing: 1px;
}
.secFormTable th .must{
	width: 32px;
    height: 17px;
	font-size: 10px;
	text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
	position: absolute;
	top: 8px;
	right: 0;
    color: #fff;
    background: #cd2929;
}
.secFormTable td{
	padding: 30.5px 0 30.5px 30px;
    vertical-align: middle;
    font-size: 16px;
    line-height: 1.5;
    width: calc(100% - 275px);
}
.secFormTable td.pt15{
    padding-top: 15px;
}
.secFormTable td .row{
	padding-bottom:10px;
}
.secFormTable .btnZip{
	display: inline-block;
	vertical-align: middle;
	text-decoration: none;
	width: 120px;
	border-radius: 20px;
	font-size: 12px;
    padding: 14px 0;
    font-weight: bold;
    color: #fff;
	background:#444444;
    text-align: center;
}
.secFormTable .boxInputLeft{
	float:left;
	padding-right:10px;
}
.secFormTable .boxInputRight{
	overflow:hidden;
}
.secFormTable .boxList li{
	display:inline-block;
	vertical-align:top;
	margin:0 16px 11px 0;
}
.secFormTable input[type="text"],
.secFormTable input[type="tel"],
.secFormTable input[type="email"],
.secFormTable input[type="password"]{
	height: 54px;
	background:#fff;
	border: solid 1px #adadad;
	padding: 0 15px;
    font-family: inherit;
    font-size: 16px;
    letter-spacing: 0.5px;
    position: relative;
}
.secFormTable select,
.secFormTable input{
	max-width: 100%;
	height: 54px;
	background:#fff;
	border:solid 1px #adadad;
    padding: 0 15px;
    font-family: inherit;
    font-size: 16px;
    letter-spacing: 0.5px;
}
.secFormTable input[type="text"].inputRequired,
.secFormTable input[type="tel"].inputRequired,
.secFormTable input[type="email"].inputRequired,
.secFormTable input[type="password"].inputRequired,
.secFormTable select.inputRequired{
	background:#fffef7;
	border: solid 1px #cd2929;
    position: relative;
}
.secFormTable textarea{
	height: 150px;
    border: 1px solid #adadad;
    font-size: 16px;
    letter-spacing: 0.5px;
    padding: 10px;
    font-family: inherit;
    width: 100%;
    resize: none;
}
.secFormTable .fs15{font-size:15px;}
.secFormTable .fs16{font-size:16px;}
.secFormTable .fRed{color:#ff0000;}
.secFormTable .w100{width:100px;}
.secFormTable .w150{width:150px;}
.secFormTable .w200{width:200px;}
.secFormTable .w350{width:350px;}
.secFormTable .w360{width:360px;}
.secFormTable .w500{width:500px;}
.secFormTable .w605{width:605px;}
.secFormTable .w100p{width:100%;}
.secFormTable .pr20{padding-right:20px;}
.secFormTable .mr_13{margin-right: -13px;}
.secFormTable .ml10{margin-left: 10px;}
.secFormTable .mt20{margin-top: 20px;}
.secFormTable .pb20{padding-bottom: 20px;}
form .txtError{
	color: #f00;
    font-size: 12px;
    background: url(../img/common/iconError.png) center left  no-repeat;
    background-size: 14px;
    padding: 0 0 0 17px;
    margin-top: 10px;
    line-height: 1.5;
    text-align: left;
}
.secFormTable td .note{
    font-size: 13px;
    margin-top: 15px;
    font-weight: bold;
}
.secFormTable td .noteList{
    margin-top: 12px;
}
.secFormTable td .noteList li{
	position:relative;
	padding-left: 10px;
    font-size: 15px;
    line-height: 2.13;
}
.secFormTable td .noteList li::after{
	content:"・";
	position:absolute;
	top:0;
	left:0;
}
.secForm .flexbox{
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
}
.secForm td .days{
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    font-size: 15px;
}
.secForm td .timetxt{
    font-weight: bold;
}
.secForm .time{
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    padding-left: 30px;
    font-size: 15px;
}
.isDesktopIpad .secForm .time{
    padding-left: 15px;
    font-size: 13px;
}
.isDesktopIpad  .secForm td .days{
    font-size: 13px;
}
@media only screen and (max-width:767px){
    .secFormTable{
        width: 92%;
        margin: 25px auto 0;
        padding: 30px 15px 40px;
    }
    .secFormTable .table{
        margin-top: 20px;
    }
	.secFormTable tbody,
	.secFormTable tr,
	.secFormTable th,
	.secFormTable td{
		display: block;
	}
	.secFormTable th{
        width: 100%;
        padding: 17px 0 10px;
    }
    .secFormTable th .inner{
        font-size: 13px;
        line-height: 2;
        font-weight: 500;
        letter-spacing: 0.5px;
        padding-right: 50px;
    }
    .secFormTable th.start{
        padding-top: 17px;
    }
    .secFormTable th .must{
        top: 5px;
    }
	.secFormTable td{
		padding: 0 0 20px;
        width: 100%;
	}
	.secFormTable td .spRow{
		display:block;
		padding-bottom:10px;
	}
	.secFormTable td .spRowInline{
		display:inline-block;
		vertical-align:top;
	}
	.secFormTable td .note{
		padding-top:0;
	}
	.secFormTable .btnZip{
		padding: 14px 0;
	}
	.secFormTable .boxInputLeft{
		float:none;
		padding:0 0 10px;
	}
	.secFormTable .boxInputRight{
		overflow:visible;
	}
	.secFormTable .boxList li{
		display:block;
		margin:0 0 10px;
	}
	.secFormTable input[type="text"],
	.secFormTable input[type="tel"],
	.secFormTable input[type="email"],
	.secFormTable input[type="password"]{
		height: 48px;
	}
    .secFormTable select,
    .secFormTable input{
        height: 48px;
    }
	.secFormTable textarea{
		height: 150px;
	}
	.secFormTable .ws40p{width:40%;}
	.secFormTable .ws100p{width:100%;}
	.secFormTable .ws40{width:40px;}
	.secFormTable .ws60{width:60px;}
	.secFormTable .ws80{width:80px;}
	.secFormTable .fs13s{font-size:13px;}
	.secFormTable .rowSp{display:block;}
	.secFormTable .pb10s{padding-bottom:10px;}
	.secFormTable .pr10s{padding-right:10px;}
	.secFormTable .lh40s{line-height:40px;}
    .secFormTable .mls0{margin-left: 0;}
    .secFormTable .mts10{margin-top: 10px;}
    .secFormTable .mts20{margin-top: 20px;}
    .secFormTable .pds17{padding-bottom: 17px;}
    .secFormTable .mrs_17{margin-right: -17px;}

    .secFormTable td .note{
        font-size: 12px;
        line-height: 1.66;
        margin-top: 13px;
    }
    .secFormTable td .noteList{
        margin-top: 25px;
    }
    .secFormTable td .noteList li{
        padding-left: 5px;
        font-size: 11px;
        line-height: 1.63;
    }
    .secForm .flexbox{
        display: block;
    }
    .secForm td .days{
        display: block;
        font-size: 15px;
    }
    .secFormTable .timetxt{
        flex-shrink: 0;
        font-size: 13px;
    }
    .secForm .time{
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        padding-left: 0;
        font-size: 15px;
    }
    
}
@media only screen and (max-width:374px){
    .secFormTable .btnZip{
        width: 110px;
        font-size: 12px;
    }
}
@media only screen and (max-width:359px){
    .secFormTable .btnZip{
        width: 80px;
        font-size: 10px;
    }
}
/* secFormNotice */
.secFormNotice{
	margin-top: 30px;
    background: #f8f8f8;
    padding: 40px 30px 35px;
}
.secFormNotice .fRed{
    color:#cd2929;
}
.secFormNotice .noticeTit{
    font-size: 15px;
    font-weight: bold;
}
.secFormNotice .noticeTxt{
    font-size: 13px;
    line-height: 1.92;
    margin-top: 15px;
}
@media only screen and (max-width:767px){
	.secFormNotice{
        margin-top: 20px;
        padding: 30px 15px 26px;
    }
    .secFormNotice .noticeTit{
        font-size: 11px;
        line-height: 1.5;
    }
    .secFormNotice .noticeTxt{
        font-size: 11px;
        line-height: 1.81;
        margin-top: 13px;
    }
}
@media only screen and (max-width:374px){
    .secFormNotice{
        padding: 30px 10px 26px;
    }
}
/* btnForm */
.secForm .btnForm{
    margin: 50px auto 0;
    width: 360px;
    height: 70px;
    background: #70b3ae;
    color: #fff;
    border-radius: 35px;
    font-size: 16px;
    letter-spacing: 2px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    position: relative;
    box-shadow: 0px 0px 4.75px 0.25px rgba(0, 0, 0, 0.25);
}
.secForm .btnForm::after{
    content: "";
    width: 10px;
    height: 10px;
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
    position: absolute;
    transform: rotate(45deg);
    margin: auto;
    right: 30px;
    top: calc(50% - 5px);
}
@media only screen and (max-width:767px){
    .secForm .btnForm{
        margin: 30px auto 0;
        width: calc(100% - 30px);
        height: 54px;
        border-radius: 27px;
        font-size: 15px;
        letter-spacing: 1px;
    }
    .secForm .btnForm::after{
        width: 7px;
        height: 7px;
        right: 20px;
        top: calc(50% - 3.5px);
    }
}

/* labelCheck */
.secForm .labelCheck input[type="checkbox"]{
    visibility: hidden;
    position: absolute;
    margin: 0;
    width: 25px;
    height: 25px;
}
.secForm .txtCheck{
    display: inline-flex;
    align-items: center;
    user-select: none;
    font-size: 15px;
    position: relative;
}
.secForm .txtCheck::before{
    content: "";
    width: 25px;
    height: 25px;
    background: #ffff;
    margin-right: 10px;
    border: 1px solid #adadad;
    border-radius: 4px;
}
.secForm .checkLink{
    display: block;
    color: #1e88e5;
    text-underline-offset: 5px;
}
.secForm .checkTxt{
    font-size: 12px;
    margin-top: 13px;
}
@media only screen and (max-width:767px){
    .secForm .labelCheck input[type="checkbox"]{
        width: 20px;
        height: 20px;
    }
    .secForm .txtCheck{
        font-size: 13px;
    }
    .secForm .txtCheck::before{
        width: 20px;
        height: 20px;
        margin-right: 10px;
        border-radius: 3px;
    }
    .secForm .checkLink{
        text-underline-offset: 3px;
    }
    .secForm .checkTxt{
        font-size: 12px;
        line-height: 1.66;
        margin-top: 8px;
    }
}

/* listCheck */
.secForm .listCheck{
    display: flex;
    flex-wrap: wrap;
    height: 100%;
}
.secForm .itemCheck{
    display: inline-block;
    margin: 14px 20px 14px 0;
}
.secForm .itemCheck.ma0{
    margin: 0;
}
.secFormTable input[type="checkbox"]:checked + .txtCheck.lazyloaded::before{
    background: url(../img/common/iconCheckbox02.png) center center / 15px auto no-repeat;
}
.secFormTable label{
    position: relative;
}
@media only screen and (max-width:767px){
    .secForm .listCheck{
        display: flex;
        flex-wrap: wrap;
        height: 100%;
    }
    .secForm .itemCheck{
        display: inline-block;
        margin: 3.5px 0;
        width: 50%;
    }
    .secForm .itemCheck.ws100{
        width: 100%;
    }
    .secForm .itemCheck .txtCheck{
        font-size: 12px;
    }
    .secForm .itemCheck.ma0{
        margin: 3px 0 0;
    }
    .secFormTable input[type="checkbox"]:checked + .txtCheck.lazyloaded::before{
        background: url(../img/common/iconCheckbox02.png) center center / 15px auto no-repeat;
    }
    .secFormTable td.pts2{
        padding-top: 2px;
    }
    .secFormTable th.start.pt30{
        padding-top: 15px;
    }
}
@media only screen and (max-width:359px){
    .secForm .itemCheck .txtCheck{
        font-size: 10px;
    }
}
/* co */
.secForm.co td{
    line-height: 1.5;
}
.secForm.co .btnForm.co,
.secForm.ok .btnForm.co{
    background: #fff;
    color: #70b3ae;
    width: 300px;
    box-shadow: none;
    border: solid 1px #70b3ae;
}
.secForm.co .btnForm.co::after,
.secForm.ok .btnForm.co::after{
    border-top: solid 1px #70b3ae;
    border-right: solid 1px #70b3ae;
    right: auto;
    left: 30px;
    transform: rotate(225deg);
}
@media only screen and (max-width:767px){
    .secForm.co .btnForm.co,
    .secForm.ok .btnForm.co{
        width: calc(100% - 50px);
    }
    .secForm.co .btnForm.co::after,
    .secForm.ok .btnForm.co::after{
        right: auto;
        left: 20px;
    }
    .secForm.co td{
        font-size: 13px;
    }
}
/* ok */
.secForm.ok .okTxt{
    text-align: center;
    font-size: 16px;
    line-height: 2;
    margin-top: 40px;
}
@media only screen and (max-width: 767px){
    .secForm.ok .okTxt{
        font-size: 13px;
        line-height: 1.7;
        margin: 20px auto;
        text-align: left;
    }
}

.secForm.co,
.secForm.ok{
    margin-top: 0;
}
@media only screen and (max-width: 767px){
    .secForm.co,
    .secForm.ok{
        margin-top: 0;
    }
}

.btnSendCo.no_tap,
.btnSendCoBack.no_tap{
    opacity: 0.3!important;
    pointer-events: none!important;
    transition: none!important;
}
.btnSendCo.no_tap{
    background: url(../img/common/iconLoader.png) center center / 32px auto no-repeat!important;
    font-size: 0!important;
}