@charset "UTF-8";

body{margin:0 auto;position:relative;color: #333;font-family: "Zen Old Mincho",sans-serif;opacity: 1;}

/*** base ***/
header h1{padding:4rem 0;}
main{;margin-right:auto;margin-left:auto}
.container{padding:0 0 6rem;}
footer{text-align:center;padding:4rem;background-color:#ebe8dc;}
footer .copyright{font-size:0.8rem;}

/*** common ***/

/** base **/
.contents_form *{-webkit-box-sizing: border-box;box-sizing: border-box;}
.contents_form .wrapper{-webkit-box-sizing: border-box;box-sizing: border-box;padding:0 2rem;}

/** title **/
.title {padding:0 4rem;margin-bottom:32px;}
.title h2{display: flex;align-items: center;font-size: 2.6rem;}

h3{font-size:1.2rem;text-align: left;line-height: 40px;font-weight: normal;margin:0 2rem 1rem;padding:0;position:relative;}
h3::after{content: "";display: block;height: 1px;width: 100%;position: absolute;right: 0;top: 50%;background: #333;z-index:20;}
h3 span{display:inline-block;background-color:#fff;padding-right:20px;position:relative;z-index:30;}

.h4_title,.contents_form .itemnumber tr:first-of-type th,.contents_form th.bg_h4{padding:3rem 0 1.4rem;}
.h4_title p,.contents_form .itemnumber tr:first-of-type th p,.contents_form th.bg_h4 p{position:relative;font-size:1.2rem;padding: 0 1rem;font-weight: normal;}
.h4_title p::after,.contents_form .itemnumber tr:first-of-type th p::after,.contents_form th.bg_h4 p::after{content:"";display:block;position:absolute;left:0;top:50%;width:2px;margin-top:-12px;height:24px;background-color:#9e9308;}

#tomesode h3,
#tomesode .h4_title,
.contents_form #tomesode .itemnumber tr:first-of-type th,
.contents_form #tomesode th.bg_h4{/** background: #863b3f; **/}

#morning h3,
#morning .h4_title,
.contents_form #morning .itemnumber tr:first-of-type th,
.contents_form #morning th.bg_h4{/** background: #645982; **/}

#morning .h4_title span.in,
#tomesode .h4_title span.in{font-size:0.8rem;display:inline-block;margin-left:10px;}

.h5_title{padding:1rem 0;color:#a89b4c;font-size:1.1rem;}

/** table **/
.contents_form table{width:100%;table-layout: fixed;position: relative;}
.contents_form th,.contents_form td{font-size:0.9rem;padding:1.2rem 1rem;position: relative;-webkit-box-sizing: border-box;box-sizing: border-box;}
.contents_form th{vertical-align:middle;border-bottom:#fff 1px solid;font-size: 1rem;}
.contents_form #tomesode th{}
.contents_form #morning th{}
.contents_form #morning th.th_etc{background: #bdb3e1;}

.contents_form th p{font-size: 13px;padding-top: 15px;}
.contents_form th > em{margin-left:3px;}

.contents_form th a{display: block;position: relative;}
.contents_form th a{font-weight: normal;text-decoration: underline;color: #a67943;font-size: 0.8rem;margin-bottom: 15px;}

.contents_form .itemnumber tr:first-of-type th span,
.contents_form th span.detail{display: inline-block;font-size: 0.8rem;}

.contents_form td.address span.ttl{margin: 5px 0;display: block;}

.contents_form td span.address_label,
.contents_form td span.phone_label{display:block;padding:1rem 0;}

.contents_form td > div.date{display: flex;align-items: center;flex-wrap: wrap;}/*挙式日*/
.contents_form td > p.date_note{font-size: 0.8rem;padding: 1rem 0;}

/** input **/
input, select{-webkit-appearance: none;appearance: none;}
label{border: 1px solid #dcdcdc;padding: 10px;line-height: 1.5;width: 100%;display: inline-block;cursor: pointer;text-align: center;}

input.formtxt,textarea.formtxt,select.formtxt,
.contents_form table td label{font-size: 0.9rem;width: 100%;line-height: 2;background-color:#f5f5f1;border:none;padding:10px;font-family: "Zen Old Mincho",sans-serif;}
input.formtxt.w90{width: 90%;margin-right: 10px;}

.date input,.date select{min-width: auto;width: 25%;margin-right: 5px;min-width: 80px;}
select.formtxt option:disabled {display: none;}

/* radio */
input[type="radio"]{margin-right: 10px;display: none;}
input[type="radio"]:checked + label{border-color: #ddc85b;font-weight:bold;}
.contents_form table td input[type="radio"]:checked + label{background-color: #ddc85b;}

/* checkbox */
input[type="checkbox"] {display: none;}
input[type="checkbox"]:checked + label.checkbox::after{content: "";width: 10px;height: 5px;border-left: 3px solid #a67943;border-bottom: 3px solid #a67943;position: absolute;left: 5px;top: 30%;transform: rotate(-45deg);}

/* disabled */
input[disabled="disabled"]#code01,
input[disabled="disabled"]#code02{background-color:#f5f5f5;color:#666;}


/** note **/
.contents_form p.note{font-size: 0.8rem;text-align:right;}
td span.note{font-size: 13px;display: block;line-height: 1.3;margin-top: 5px;}
#tomesode p.note{padding-bottom: 20px;}


/** alert **/
.errortxt{padding: 0 20px 20px;}
.alert,em{color: #e70000;}
.alert{margin-top:5px;}
.contents_form th em,
.rules_check em,
.privacy_check em{display: inline-block;color: #bf0000;font-size: 0.8rem;width: 40px;text-align: center;margin-left: 10px;}

/** worn_text **/
.worn_text{margin:0 4rem 4.5rem;line-height: 2;font-size:0.9rem;text-align:center;}

/** first_text **/
.first_text{margin:0 4rem 6.5rem;line-height: 2;font-size:0.9rem;}
.first_text .text{padding-top: 4rem;margin-top: 4rem;border-top: 1px solid #cdcdcd;}
.first_text .fitting{margin-top:2.5rem;line-height: 1.5;border: solid 1px #9f9038;padding: 1rem;border-radius: 5px;}


/** お客様情報 **/
.area_customer{margin-bottom:6.5rem;}


/** サービス選択 **/
.select_service{padding: 0 2rem 4rem;}
.select_service h3{margin-right:0;margin-left:0;}
.select_service p{}
.select_service ul{margin-bottom:1rem;}
.select_service ul li{padding: 5px;}
.select_service ul li span{border: 1px solid #ccc;padding: 10px;border-radius: 5px;line-height: 1;width: 100%;display: inline-block;cursor: pointer;text-align: center;font-size: 16px;}
.select_service .catalog {margin: 3rem 0 0;}
.select_service .catalog a {display: block;text-align: center;padding: 15px 10px;background-color:#fbf8e6;color: #333;font-size:1.1rem;font-weight: bold;position: relative;text-decoration:none;line-height:1.2;border:1px solid #dcdcdc;}
.select_service .catalog a::before,
.select_service .catalog a::after{content: "";display: block;width: 10px;height: 10px;border: 2px solid #333;position: absolute;top: 50%;}
.select_service .catalog a::before {border-top-width: 0;border-left-width: 0;right: 17px;margin-top: -3px;}
.select_service .catalog a::after {right: 21px;margin-top: -10px;}
.select_service .catalog a > span{font-size:85%;display:block;padding-top:5px;font-weight:normal;}
.select_service .add{display:block;font-size:85%;}
ul.formmenu{display: flex;align-items: center;}

/** 各サービス **/
section.costume_type{padding-bottom: 20px;}
section.costume_type{display: none;}
section.costume_type:first-of-type{display: block;}
section.costume_type p.set_item{padding: 20px;font-size: 0.9rem;background: #eee;margin: 0 0 20px;}/*セットに含まれる小物*/
section.costume_type p.set_item > span{font-weight:bold;}


/** address */
.contents_form table#address{margin-top: 6rem;}
.contents_form table#address::before{content: "";display: block;width: 140px;height: 0;border-top: 1px solid #dcdcdc;position: absolute;top: -3rem;left:50%;margin-left:-70px;}
.contents_form table#address td:first-of-type input.formtxt.w90{margin-right: 0;margin-left: 10px;}


/** select_box */
.contents_form .select_box.on_size{display:-webkit-flex;display:flex;margin-top:1rem;align-items: center;justify-content: flex-end;}
.contents_form .select_box.on_size select{margin-left:5px;width:240px;margin-right:0;}


/** radio_wrap */
.contents_form td .radio_wrap{display: flex;gap: 10px;margin-bottom: 10px;}
.contents_form td .radio_wrap label{width: 50%;}


/** options */
.contents_form .options th{font-size:0.9rem;}
.contents_form .options th i{font-style: normal;margin-bottom:4px;display: inline-block;color:#9f9038;font-size: 0.8rem;padding: 0 10px;border: 1px solid #9f9038;}
.contents_form .options th span.price{color: #a67943;display:block;}


/** itemnumber */
.contents_form table.itemnumber td label{text-align: left;padding-left: 10px;}
.contents_form table.itemnumber td label:last-of-type{margin-bottom: 0;}
.contents_form table.itemnumber td label i{font-size: 18px;margin-right: 15px;border: 1px solid;padding: 0 5px;font-style: normal;}


/** option*/
.contents_form table td .more_opt{display: none;}
.contents_form table td .more_opt select{margin-bottom: 10px;}
.contents_form table td .more_opt label{position: relative;text-align: left;padding-left: 40px;border: none;line-height: 28px;height: 36px;}
.contents_form table td .more_opt label::before{content: "";width: 20px;height: 20px;border: 1px solid #ccc;position: absolute;left: 0;top: 50%;transform: translateY(-50%);}


/** button **/
.form_input_btn,.contents_form.comp .come_btn{display: flex;justify-content: center;}
input[type=submit]{font-family: "Zen Old Mincho",sans-serif;line-height: 1;}
.come_btn div.btn_wrap{display: inline-block;margin-top: 3.5rem;width: 100%;max-width: 680px;text-align: center;min-width: 36rem;position:relative;}
.come_btn input[type="submit"]{display:block;width:100%;border: 1px solid #dcdcdc;color:rgba(0,0,0,0.8);padding: 3.3rem 4rem;font-size: 1rem;background: none;}
.come_btn a{display: inline-block;color:rgba(0,0,0,0.8);width: 100%;max-width: 280px;padding: 3.3rem 4rem;border: 1px solid #dcdcdc;position:relative;
text-align: center;font-size: 1rem;min-width: 36rem;background: none;margin-top: 3.5rem;}

.come_btn div.btn_wrap::after,
.come_btn a::after{position:absolute;content:"→";display:block;top:50%;color:rgba(0,0,0,0.8);font-size:1rem;line-height:1.2;margin-top:-0.6rem;text-align:right;width:80px;}
.come_btn.back div.btn_wrap::after{content:"←";right:auto;text-align:left;}

.back_btn .come_btn a{margin: 0 auto;}

.contents_form{max-width:840px;margin-right:auto;margin-left:auto;}
.contents_form em.icon{top: 27px;}

.form_confirm_btn{padding: 0 2rem;justify-content: space-between;}
.form_confirm_btn .come_btn{width: 48%;}
.form_confirm_btn div.btn_wrap{max-width:100%;min-width:160px;margin-top:0;}
.form_confirm_btn div.btn_wrap input[type="submit"]{padding: 3rem 0;}

.come_btn.next input[type="submit"],
.come_btn.next div.btn_wrap::after{color:rgba(255,255,255,0.8);}
.come_btn.next input[type="submit"]{background-color:#333;}

.contents_form.comp .come_btn a{text-decoration: none;}

/** popup **/
.popup {display: none;position: fixed;top: 0;left: 0;width: 100%;height: 100%;background-color: rgba(0, 0, 0, 0.7);z-index: 999;}
.popup-content {position: absolute;width: 90%;max-width: 710px;top: 50%;left: 50%;transform: translate(-50%, -50%);background-color: #fff;padding: 20px;border-radius: 5px;box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);}
.close-popup {position: absolute;top: 10px;right: 10px;cursor: pointer;display: block;width: 20px;height: 20px;font-size: 0;}
.close-popup::before,.close-popup::after{content: "";display: block;width: 20px;height: 2px;background: #333;position: absolute;top: 9px;}
.close-popup::before{transform: rotate(-45deg);}
.close-popup::after{transform: rotate(45deg);}

.popup-content p{width: 100%;height: 100%;max-height: 50vh;overflow-y: auto;line-height: 1.8;}
.popup-content p img{margin: 5px 0;}

/** rules_check **/
.area_rules_text{padding: 20px;}
.rules_box{margin-bottom: 10px;font-size: 15px;}
.rules_box > span,.privacy_box > span{display: block;font-weight: bold;margin-left: -10px;margin-bottom: 10px;}
.rules_box .inner{border: 1px solid #ccc; padding: 10px;width: 100%;height: 450px;overflow-y: auto;font-size: 14px;line-height: 1.7;}
.rules_box .inner p{margin-bottom: 10px;font-size: 13px;}
.kiyaku_title{background: #333;color: #fff;display: block;text-align: center;margin-bottom: 10px;}
.rules_box .inner .ttl{font-weight: bold;margin: 5px 0;}
.rules_box .inner span.note{display: block;margin-bottom: 10px;font-size: 13px;}
.rules_box .inner em{color: #333;border-bottom: 2px solid #333;font-weight: bold;}
.rules_box .inner table{margin-bottom: 10px;border-top: 1px solid #dcdcdc;}
.rules_box .inner table th,
.rules_box .inner table td{padding: 5px 10px;border-right: 1px solid #dcdcdc;border-bottom: 1px solid #dcdcdc;}
.rules_box .inner table th{font-size: 0.9rem;width: 40%;background: #eee;border-left: 1px solid #dcdcdc;}
.rules_box .inner table td{width: 60%;text-align: right;}
.rules_box .inner span.tabletitle{font-size: 0.9rem;display: block;font-weight: bold;margin-bottom: 5px;position: relative;padding-left: 15px;}
.rules_box .inner span.tabletitle::before{content: "";display: block;width: 6px;height: 10px;background: #333;clip-path: polygon(0% 0%, 0% 100%, 100% 50%);position: absolute;left: 0;top: 50%;transform: translateY(-50%);}
.rules_box .inner table.table01 td:first-of-type{text-align: left;line-height: 1.2;}

/** privacy_check **/
.area_privacy_text{padding: 20px;}
.privacy_box{padding-bottom: 10px;font-size: 15px;}
.privacy_box p.inner{border: 1px solid #ccc; padding: 10px;width: 100%;height: 200px;overflow-y: auto;font-size: 13px;line-height: 1.7;}

.contents_form .rules label,.contents_form .privacy label{position: relative;text-align: left;border: none;line-height: 1.4;font-size: 13px;padding: 0 20px 0 60px;}
.contents_form .rules label::before,
.contents_form .privacy label::before{content: "";width: 20px;height: 20px;border: 1px solid #ccc;position: absolute;left: 20px;top: 1px;}

input[type="checkbox"]:checked + label.rules_check::after,
input[type="checkbox"]:checked + label.privacy_check::after{content: "";width: 10px;height: 5px;border-left: 3px solid #a67943;border-bottom: 3px solid #a67943;position: absolute;left: 25px;top: 18%;transform: rotate(-45deg);}

.check.disabled label::before{background-color: #eee;}
.check.disabled label{color: #777;}

/** confirm **/
.contents_form.confirm .title h2{font-size:2.2rem;display:block;text-align:center;}
.contents_form.confirm .text{padding: 0 2rem 4rem;text-align:center;}
.contents_form.confirm .wrapper{padding:2rem 2rem 4rem;}
.contents_form.confirm th,.contents_form.confirm td{font-size:0.9rem;line-height:2;}
.contents_form.confirm .privacy.wrapper{padding-top: 0;}


@media screen and (min-width: 768px) {
	html{font-size:16px;}
	body{font-size:0.9rem;line-height:1.5;}
	a[href^="tel:"] { pointer-events: none; }
	main{max-width:920px;}

    ul.formmenu li{width: 31%;}
    ul.formmenu li:nth-of-type(3){width: 38%;}

    table#address,
    table#tomesode_itemnumber{table-layout: auto;}
    
    .contents_form table{}
    .contents_form table.itemnumber{border-top: none;}
    .contents_form th,.contents_form td{background-clip: padding-box;}
    .contents_form th{max-width: 300px;width: 30%;}
    .contents_form table.itemnumber td .radio_wrap label{font-size: 100%;}
    .contents_form table.itemnumber td .radio_wrap label:nth-of-type(1){width: 41%;}
    .contents_form table.itemnumber td .radio_wrap label:nth-of-type(2){width: 34%;}
    .contents_form table.itemnumber td .radio_wrap label:nth-of-type(3){width: 25%;}

    .contents_form th em.long{margin-left: 0;}
    .contents_form th a{font-weight: normal;text-decoration: underline;margin-top:4px;}
    
    .options th.double_line span.price{position:static;font-size:11px;text-align:right;display:block;margin:0 -10px 0 -20px;}
	
	.contents_form .options th,
	.contents_form .options td{padding-bottom:2.2rem;}
	
	.contents_form.confirm th.bg_h4{border-bottom:1px solid #dcdcdc;}
	
	.come_btn input[type="submit"]:hover,
	.come_btn div.btn_wrap:hover,
	.come_btn a:hover{cursor:pointer;}

	.come_btn div.btn_wrap::after,
	.come_btn a::after{right:40px;-webkit-transition: color 0.4s ease-in-out,right 0.4s ease-in-out;transition: color 0.4s ease-in-out,right 0.4s ease-in-out;}

	.come_btn div.btn_wrap:hover::after,
	.come_btn a:hover::after{right:30px;color:rgba(0,0,0,0.6);}

	.come_btn.back div.btn_wrap::after{left:40px;transition: left 0.4s ease-in-out,left 0.4s ease-in-out;}
	.come_btn.back div.btn_wrap:hover::after{left:30px;right:auto;}
	
	.come_btn.next div.btn_wrap:hover::after{color:rgba(255,255,255,0.6);}

}

@media screen and (max-width:767px) {
	html{font-size:max(calc(100vw / 390 * 10),14px);}
	body{font-size:1rem;line-height:1.15;}
	main{max-width:750px;}
	
	ul.formmenu{width: 100%;display: block;}
	
	.btn_area a{line-height:40px;height: 40px;}
    .contents_form th,
    .contents_form td{width: 100%;display: block;}
    .contents_form .options th{padding-right: 40px;}
    .contents_form .options td{padding-bottom:2.2rem;}
    .form_confirm_btn .come_btn input[type="submit"]{font-size: 14px;}
    
    .contents_form table.itemnumber td label{margin-bottom: 10px;padding-left: 20px;}
    .contents_form table.itemnumber .radio_wrap{display: block;}
    .contents_form table.itemnumber td .radio_wrap label{width: 100%;}

    .contents_form th em.s_long{margin-left: 0;}
    
    .options th span.price {position: relative;display: block;margin-right: -30px;text-align: right;}
    
    .popup-content{padding: 20px 10px;}
    
    .options th.double_line span.price{font-size:13px;}
    
    .rules_box .inner table{border-bottom: 1px solid #ccc;}
    .rules_box .inner table th,.rules_box .inner table td{width: 100%;}
    .rules_box .inner table th{border: 1px solid #ccc;}
    .rules_box .inner table td{border-right: 1px solid #ccc;}
    .rules_box .inner table.table01 td:first-of-type{padding-bottom: 0;}
  	
  	.contents_form .come_btn div.btn_wrap{min-width:240px;width:80%;}
  	
  	.contents_form.confirm th{border-bottom:1px solid #dcdcdc;}
  	.contents_form.confirm td{padding-bottom:1.4rem;}
  	
  	.contents_form.confirm th.bg_h4{border-bottom:none;font-weight:bold;}
  	
	.come_btn div.btn_wrap::after,
	.come_btn a::after{right:20px;}
	.come_btn.back div.btn_wrap::after{left:20px;}
}


@media screen and (max-width:480px) {
	.form_confirm_btn{display:block;}
	.form_confirm_btn .come_btn.back{margin-bottom:20px;}
	.form_confirm_btn .come_btn{width: 100%;}
}

