@charset "UTF-8";

/*----------ORDERFORM----------*/

#orderform{
	background-color:#fff;
	color:#222;
}

#orderform p.caption{
	margin-bottom:20px;
	
	text-align:left;
}

#orderform p.caption br{
	display:none;
}

#orderform p.attention{
	color:#f44;
	
	margin-bottom:20px;
}

#orderform p.attention a{
	color:#f44;
	
	text-decoration: underline;
}

@media only screen and (min-width: 768px){
	
	#orderform p.caption{
		text-align:center;
	}
	
	#orderform p.caption br{
		display:inline;
	}
	
	#orderform p.attention{
		text-align:center;
	}
	
}

/*----------ORDERFORM-HEADER----------*/

.page-header h2{
	font-family: "Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
	
	font-size:1.25rem;
	line-height:30px;
}

.page-header p.note{
	font-family: 'Noto Serif JP', serif;
	
	font-size:1.5rem;
	line-height:40px;
}

@media only screen and (min-width: 768px){
	
	.page-header h2{
		font-size:1.5rem;
		line-height:30px;
	}
	
	.page-header p.note{
		font-size:2.0rem;
		line-height:50px;
	}
	
}

.form-content-child h3{
	font-size:1.5rem;
	line-height:60px;
	
	color:#49a;
	
	text-align: center;
}

.form-content-child h3.little{
	font-size:1.25rem;
	line-height:60px;
}

.form-content-child h3 span.note{
	display:inline-block;
	
	box-sizing: border-box;
	padding:0 40px;
	
	position: relative;
}

.form-content-child h3 span.note::before{
	display:block;
	content:"";
	
	width:30px;
	height:1px;
	
	background-color:#49a;
	
	position: absolute;
	top:0;
	bottom:0;
	left:0;
	
	margin:auto 0;
}

.form-content-child h3 span.note::after{
	display:block;
	content:"";
	
	width:30px;
	height:1px;
	
	background-color:#49a;
	
	position: absolute;
	top:0;
	bottom:0;
	right:0;
	
	margin:auto 0;
}

.form-content-child p.comment{
	margin-bottom:20px;
}

@media only screen and (min-width: 768px){
	
	.form-content-child h3{
		font-size:2.0rem;
		line-height:90px;
	}
	
	.form-content-child h3.little{
		font-size:2.0rem;
		line-height:90px;
	}
	
	.form-content-child h3 span.note{
		padding:0 80px;
	}
	
	.form-content-child h3 span.note::before{
		width:60px;
	}
	
	.form-content-child h3 span.note::after{
		width:60px;
	}
	
}

/*----------FORM-CONTENT-CHILD-HEADER----------*/

.form-content-child-header{
	margin-bottom:20px;
}

.form-content-child-header h4{
	font-size:1.25rem;
	line-height:40px;
	
	font-weight:bold;
	
	box-sizing: border-box;
	padding:10px;
	padding-left:20px;
	
	background-color:#49a;
	color:#fff;
	
	position: relative;
}

.form-content-child-header h4::before{
	display:block;
	content:"";
	
	width:2.5px;
	height:25px;
	
	background-color:#fff;
	
	position: absolute;
	top:0;
	bottom:0;
	
	left:10px;
	
	margin:auto 0;
}

/*----------ORDERFORM-INFORMATION----------*/

.information{
	width:100%;
	margin:0 auto;
	max-width: 960px;
	
	box-sizing: border-box;
	padding:20px;
	
	background-color:#f0f0f0;
	color:#222;
}

.information h6{
	font-size:1.0rem;
	line-height:30px;
	font-weight:700;
	
	color:#222;
	
	box-sizing: border-box;
	padding-left:20px;
	
	position: relative;
}

.information h6::before{
	display:block;
	content:"";
	
	width:10px;
	height:1px;
	
	background-color:#222;
	
	position: absolute;
	top:0;
	bottom:0;
	left:0;
	
	margin:auto 0;
}

.information ul{
	width:100%;
	
	box-sizing: border-box;
	padding:10px;
	padding-bottom:0;
}

.information ul li{
	display:block;
	width:100%;
	
	/*margin-bottom:5px;*/
	
	box-sizing: border-box;
	padding-left:10px;
	
	position: relative;
	
	font-size:0.8rem;
	line-height:1.75em;
	
	margin-bottom:5px;
}

.information ul li:last-child{
	margin-bottom:0;
}

.information ul li::before{
	display:block;
	content:"";
	
	position: absolute;
	top:7.5px;
	left:-2.5px;
	
	width:5px;
	height:5px;
	
	background-color:#222;
	
	border-radius:5px;
	
	font-size:1.0rem;
	line-height:20px;
	
	transform: scale(0.5);
}

.information ul li.sign{
	color:#f44;
}

.information ul li.sign::before{
	background-color:#f44;
}

.information div.steps{
	margin-top:20px;
}

.information div.steps-inner{
	box-sizing:border-box;
	padding:10px;
}

.information div.steps p{
	display:block;
	width:100%;
	
	/*margin-bottom:5px;*/
	
	box-sizing: border-box;
	padding:2.5px 0;
	padding-left:35px;
	
	position: relative;
	
	font-size:0.8rem;
	line-height:1.75em;
	
	margin-bottom:5px;
}

.information div.steps p::before{
	display:block;
	content:"0";
	
	position: absolute;
	top:0;
	left:0;
	
	width:25px;
	height:25px;
	
	background-color:#fff;
	color:#222;
	
	border-radius:2.5px;
	
	font-size:1.0rem;
	line-height:25px;
	
	text-align:center;
}

.information div.steps p:nth-of-type(1)::before{
	content:"1";
}

.information div.steps p:nth-of-type(2)::before{
	content:"2";
}

.information div.steps p:nth-of-type(3)::before{
	content:"3";
}

.information div.steps span.note{
	display:block;
	width:100%;
	
	/*margin-bottom:5px;*/
	
	box-sizing: border-box;
	padding:2.5px 0;
	padding-left:35px;
	
	position: relative;
	
	font-size:0.8rem;
	line-height:1.75em;
}

.information div.steps span.note::before{
	display:block;
	content:"";
	
	position: absolute;
	top:12.5px;
	left:12.5px;
	
	width:15px;
	height:1px;
	
	background-color:#888;
}

@media only screen and (min-width: 768px){
	
	.information{
		padding:20px;
	}
	
}

.inner-information{
	font-size:0.8rem;
	line-height:1.75em;
	
	box-sizing: border-box;
	padding:0 10px;
	
	margin-top:20px;
}

.inner-information ul li{
	margin-bottom:10px;
	
	box-sizing: border-box;
	padding-left:20px;
	position: relative;
}

.inner-information ul li:last-child{
	margin-bottom:0;
}

.inner-information ul li span.note{
	display:block;
	
	position: absolute;
	top:0;
	left:0;
}

/*----------2025年11月16日追加----------*/

.campaign{
	width:100%;
	margin:0 auto;
	max-width:640px;
	
	box-sizing:border-box;
	margin-top:40px;
}

.campaign div.inner{
	display:block;
	width:100%;
	
	box-sizing:border-box;
	padding:10px;
	padding-top:30px;
	border:solid 2.5px #f80;
	
	position:relative;
	
	text-align:center;
}

.campaign div.inner h6{
	width:320px;
	
	font-size:1.5rem;
	line-height:40px;
	font-weight:bold;
	
	text-align:center;
	
	background-color:#f80;
	color:#ff0;
	
	position:absolute;
	top:-20px;
	left:0;
	right:0;
	
	margin:0 auto;
	border-radius:2.5px;
}

.campaign div.inner p.btn{
	display:block;
	
	text-align:center;
	
	font-size:1.25rem;
	line-height:50px;
	font-weight:bold;
	
	margin-top:10px;
}

.campaign div.inner p.btn a{
	display:inline-block;
	width:320px;
	
	background-color:#f44;
	color:#fff;
	
	border-radius:2.5px;
}

.campaign div.inner p.btn a:hover{
	opacity:0.75;
	text-decoration:none;
}

@media only screen and (min-width: 768px){
	
	.campaign div.inner{
		padding:20px;
		padding-top:40px;
	}
	
}

/*----------ORDERFORM-FORM-CONTENT----------*/

.form-content-child{
	width:100%;
	margin:0 auto 50px;
	
	box-sizing: border-box;
	padding:10px;
}

.form-content-child:last-child{
	margin-bottom:0;
}

@media only screen and (min-width: 768px){
	
	.form-content-child{
		padding:20px;
	}
	
}

/*----------ORDERFORM-FORM-CONTENT-INNER----------*/

.form-content-inner{
	width:100%;
}

.form-content-inner div.row{
	display:flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: flex-start;
	
	width:100%;
	
	box-sizing: border-box;
	padding:5px;
	border:solid 5px #f0f0f0;
	border-top:none;
}

.form-content-inner div.row:first-child{
	border-top:solid 5px #f0f0f0;
}

.form-content-inner div.row.ifappearance-first{
	border-top:none;
}

.form-content-inner div.row div.que{
	display:flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: flex-start;
	
	width:100%;
	
	box-sizing: border-box;
	padding:10px;
	
	background-color:#f8f8f8;
	color:#222;
	
	margin-bottom:5px;
}

.form-content-inner div.row div.que h6{
	width:100%;
	
	font-size:1.25rem;
	line-height:1.5em;
	
	color:#49a;
}

.form-content-inner div.row div.que h6 span.note{
	display:inline-block;
	
	box-sizing: border-box;
	padding:10px;
	padding-left:50px;
	
	position: relative;
}

.form-content-inner div.row div.que h6 span.note-none{
	display:inline-block;
	
	box-sizing: border-box;
	padding:10px;
}

.form-content-inner div.row div.que h6 span.note::before{
	display:block;
	content:"（補足）";
	
	font-size:0.8rem;
	line-height:15px;
	
	color:#888;
	
	text-align: center;
	
	width:50px;
	height:15px;
	
	/*background-color:#f0f0f0;*/
	
	position: absolute;
	top:17.5px;
	left:0px;
}

.form-content-inner div.row div.que h6 span.must::before{
	color:#f44;
	content:"【必須】";
}

.form-content-inner div.row div.que h6 span.extra::before{
	color:#44f;
	content:"【任意】";
}

.form-content-inner div.row div.ans{
	width:100%;
	
	box-sizing: border-box;
	padding:10px;
	
	background-color:#f8f8f8;
	color:#222;
}

.form-content-inner div.row.single div.ans{
	width:100%;
}

.form-content-inner div.row div.ans span.caution{
	display:inline-block;
	
	font-size:0.8rem;
	line-height:1.75em;
	color:#f44;
	
	box-sizing: border-box;
	padding:0 5px;
}

.form-content-inner div.row div.ans ul.extra{
	margin-top:10px;
}

.form-content-inner div.row div.ans ul.extra li{
	font-size:0.6rem;
	line-height:1.75em;
	
	color:#888;
	
	box-sizing: border-box;
	padding-left:15px;
	position: relative;
}

.form-content-inner div.row div.ans ul.extra li::before{
	display:block;
	content:"";
	
	width:5px;
	height:1px;
	
	background-color:#888;
	
	position: absolute;
	top:6.5px;
	left:5px;
}

.form-content-inner div.row div.ans ul.extra li.spot{
	font-size:0.8rem;
	line-height:1.75em;
	
	color:#f44;
}

.form-content-inner div.row div.ans ul.extra li.spot::before{
	top:10px;
	
	background-color:#f44;
}

.form-content-inner div.row div.ans ul.number-post-first{
	display:flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: flex-start;
	
	width:100%;
}

.form-content-inner div.row div.ans ul.number-post-first li{
	width:20%;
	
	box-sizing: border-box;
	padding:2.5px;
}

.form-content-inner div.row div.ans ul.number-post-second{
	display:flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: flex-start;
	
	width:100%;
}

.form-content-inner div.row div.ans ul.number-post-second li{
	width:calc(100%/7);
	
	box-sizing: border-box;
	padding:2.5px;
}

.form-content-inner div.row div.ans ul.bank-name{
	display:flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: flex-start;
	
	width:100%;
}


.form-content-inner div.row div.ans ul.bank-name li:nth-child(1){
	width:100%;
	margin-bottom:10px;
}

.form-content-inner div.row div.ans ul.bank-name li:nth-child(2){
	width:100%;
}

.form-content-inner div.row div.ans ul.bank-name-branch{
	display:flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: flex-start;
	
	width:100%;
}


.form-content-inner div.row div.ans ul.bank-name-branch li:nth-child(1){
	width:100%;
	margin-bottom:10px;
}

.form-content-inner div.row div.ans ul.bank-name-branch li:nth-child(2){
	width:100%;
}

.form-content-inner div.row div.ans ul.number-bank{
	display:flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: flex-start;
	
	width:100%;
}

.form-content-inner div.row div.ans ul.number-bank li{
	width:calc(100%/7);
	
	box-sizing: border-box;
	padding:2.5px;
}

.form-content-inner div.row div.ans ul.number-credit{
	display:flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: flex-start;
	
	width:100%;
}

.form-content-inner div.row div.ans ul.number-credit li{
	width:calc(100%/8);
	
	box-sizing: border-box;
	padding:2.5px;
}

.form-content-inner div.row div.ans p.ammount{
	font-size:1.0rem;
	line-height:1.75em;
}

.form-content-inner div.row div.ans p.ammount span.note{
	display:inline-block;
	
	font-size:0.8rem;
	line-height:1.75em;
	
	margin-left:5px;
}

.form-content-inner div.row div.extra{
	width:100%;
	
	box-sizing: border-box;
	padding:10px;
	
	background-color:#f8f8f8;
	
	margin-top:2.5px;
}

.form-content-inner div.row div.extra p{
	font-size:0.6rem;
	line-height:1.75em;
	
	color:#f80;
	
	box-sizing: border-box;
	padding-left:15px;
	
	position: relative;
}

.form-content-inner div.row div.extra p::before{
	display:block;
	content:"";
	
	position: absolute;
	top:5px;
	left:5px;
	
	width:5px;
	height:5px;
	
	background-color:#f80;
	
	border-radius:5px;
	
	font-size:1.0rem;
	line-height:20px;
	
	transform: scale(0.5);
}

@media only screen and (min-width: 768px){
	
	.form-content-inner div.row div.que{
		width:260px;
		
		margin-bottom:0;
		padding:20px;
	}
	
	.form-content-inner div.row div.ans{
		width:calc(100% - 260px);
		
		padding:20px;
		
		position: relative;
	}
	
	.form-content-inner div.row.single div.ans{
		width:100%;
	}
	
	.form-content-inner div.row div.ans::before{
		display:block;
		content:"";
		
		width:5px;
		height:calc(100% - 20px);
		
		background-color:#fff;
		
		position: absolute;
		top:0;
		bottom:0;
		left:0;
		
		margin:auto 0;
	}
	
	.form-content-inner div.row.single div.ans::before{
		display:none;
	}
	
	.form-content-inner div.row.twin div.que{
		width:50%;
	}
	
	.form-content-inner div.row.twin div.ans{
		width:50%;
	}
	
}

/*----------ORDERFORM-CHOICE----------*/

.choices{
	width:100%;
}

.choices span.wpcf7-form-control-wrap{
	display:block;
	width:100%;
}

.choices span.wpcf7-form-control-wrap span.wpcf7-radio{
	display:block;
	width:100%;
	
	display:flex;
	flex-flow:row wrap;
	align-items:stretch;
	justify-content:flex-start;
}

.choices span.wpcf7-form-control-wrap span.wpcf7-radio span.wpcf7-list-item{
	display:block;
	width:100%;
	
	margin:0;
	margin-bottom:10px;
}

.choices span.wpcf7-form-control-wrap span.wpcf7-radio span.wpcf7-list-item:last-child{
	margin-bottom:0;
}

@media only screen and (min-width: 768px){
	
	.twin span.wpcf7-form-control-wrap span.wpcf7-radio span.wpcf7-list-item{
		width:calc(50% - 10px);
	}
	
	.twin span.wpcf7-form-control-wrap span.wpcf7-radio span.wpcf7-list-item:nth-child(1){
		margin-bottom:0;
		margin-right:10px;
	}
	
	.twin span.wpcf7-form-control-wrap span.wpcf7-radio span.wpcf7-list-item:nth-child(2){
		margin-bottom:0;
		margin-left:10px;
	}
	
	.triple span.wpcf7-form-control-wrap span.wpcf7-radio span.wpcf7-list-item{
		width:calc(100%/3 - 5px);
	}
	
	.triple span.wpcf7-form-control-wrap span.wpcf7-radio span.wpcf7-list-item:nth-child(1){
		margin-bottom:0;
		margin-right:5px;
	}
	
	.triple span.wpcf7-form-control-wrap span.wpcf7-radio span.wpcf7-list-item:nth-child(2){
		margin-bottom:0;
		margin-left:2.5px;
		margin-right:2.5px;
	}
	
	.triple span.wpcf7-form-control-wrap span.wpcf7-radio span.wpcf7-list-item:nth-child(3){
		margin-bottom:0;
		margin-left:5px;
	}
	
	.quarter span.wpcf7-form-control-wrap span.wpcf7-radio span.wpcf7-list-item{
		width:calc(50% - 10px);
	}
	
	.quarter span.wpcf7-form-control-wrap span.wpcf7-radio span.wpcf7-list-item:nth-child(1){
		margin-bottom:10px;
		margin-right:10px;
	}
	
	.quarter span.wpcf7-form-control-wrap span.wpcf7-radio span.wpcf7-list-item:nth-child(2){
		margin-bottom:10px;
		margin-left:10px;
	}
	
	.quarter span.wpcf7-form-control-wrap span.wpcf7-radio span.wpcf7-list-item:nth-child(3){
		margin-bottom:0;
		margin-right:10px;
	}
	
	.quarter span.wpcf7-form-control-wrap span.wpcf7-radio span.wpcf7-list-item:nth-child(4){
		margin-bottom:0;
		margin-left:10px;
	}
	
}

.passbook-code{
	display:flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: flex-start;
	
	width:100%;
}

.passbook-code li{
	width:20%;
	text-align: center;
	
	box-sizing: border-box;
	padding:0 2.5px;
}

.passbook-code li input[type="text"]{
	width:100%!important;
}

.passbook-number{
	display:flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: flex-start;
	
	width:100%;
}

.passbook-number li{
	width:calc(100%/8);
	text-align: center;
	
	box-sizing: border-box;
	padding:0 2.5px;
}

.passbook-number li input[type="text"]{
	width:100%!important;
}

.bank-code{
	display:flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: flex-start;
	
	width:100%;
}

.split{
	display:flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: flex-start;
	
	width:100%;
}

.split div.split-child{
	width:50%;
	
	box-sizing: border-box;
	padding:0 2.5px;
}

.split div.split-child > span >select{
	display:block;
	
	width:120px!important;
}

.bank-code li{
	width:25%;
	text-align: center;
	
	box-sizing: border-box;
	padding:0 2.5px;
}

.bank-code.branch li{
	width:calc(100%/3);
}

.bank-code li input[type="text"]{
	width:100%!important;
}

.bank-account-number{
	display:flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: flex-start;
	
	width:100%;
}

.bank-account-number li{
	width:calc(100%/7);
	text-align: center;
	
	box-sizing: border-box;
	padding:0 2.5px;
}

.bank-account-number li input[type="text"]{
	width:100%!important;
}

.credit-id-number{
	display:flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: flex-start;
	
	width:100%;
}

.credit-id-number li{
	width:12.5%;
	text-align: center;
	
	box-sizing: border-box;
	padding:0 2.5px;
}

.credit-id-number li input[type="text"]{
	width:100%!important;
}

/*----------WPCF7-LIST-ITEM----------*/

.wpcf7-list-item input[type="radio"]{
	display:none;
}

.wpcf7-list-item label{
	display:block;
	
	width:100%;
	font-size:1.0rem;
	line-height:50px;
	
	background-color:#fff;
	border-radius:2.5px;
	
	box-sizing: border-box;
	padding-left:50px;
	
	position: relative;
}

.wpcf7-list-item label:hover{
	cursor: pointer;
}

.wpcf7-list-item label span.wpcf7-list-item-label::before{
	display:block;
	content:"";
	
	width:30px;
	height:30px;
	
	background-color:#f8f8f8;
	
	position: absolute;
	top:0;
	bottom:0;
	left:10px;
	
	border-radius:30px;
	
	margin:auto 0;
}

.wpcf7-list-item label span.wpcf7-list-item-label::after{
	display:none;
	content:"";
	
	width:20px;
	height:20px;
	
	background-color:#49a;
	
	position: absolute;
	top:0;
	bottom:0;
	left:15px;
	
	border-radius:30px;
	
	margin:auto 0;
}

.wpcf7-list-item label input[type="radio"]:checked ~ span.wpcf7-list-item-label::after{
	display:block;
}

/*----------ORDERFORM-ITEM-ROW----------*/

.item-row{
	display:flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: flex-start;
	
	width:100%;
	margin-bottom:10px;
	
	box-sizing: border-box;
	padding:5px;
	border:solid 5px #f0f0f0;
	/*border-top:none;*/
}

.item-row:last-of-type{
	margin-bottom:20px;
}

/*.item-row:first-child{
	border-top:solid 5px #f0f0f0;
}*/

.item-row div.que{
	width:100%;
	
	box-sizing: border-box;
	padding:10px;
	
	background-color:#f8f8f8;
	
	display:flex;
	align-items: center;
	justify-content: flex-start;
	
	margin-bottom:5px;
}

.item-row div.que h6{
	font-size:1.15rem;
	line-height:1.5em;
	
	color:#49a;
}

.item-row div.que h6.break br{
	display:inline-block;
}

.item-row div.que h6.small{
	font-size:1.0rem;
	line-height:1.5em;
}

.item-row div.que h6 span.stock{
	display:inline-block;
	
	font-size:0.6rem;
	line-height:1.0em;
	vertical-align: middle;
	
	color:#444;
}

.item-row div.ans{
	width:100%;
	text-align: center;
	
	box-sizing: border-box;
	padding:10px;
	
	background-color:#f8f8f8;
	
	display:flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: flex-start;
}

.item-row div.ans div.ans-child{
	width:calc(50% - 2.5px);
	
	background-color:#fff;
	color:#222;
}

.item-row div.ans div.ans-child:nth-child(1){
	margin-right:2.5px;
}

.item-row div.ans div.ans-child:nth-child(2){
	margin-left:2.5px;
}

.item-row div.ans div.ans-child p.note{
	text-align: center;
	
	background-color:#49a;
	color:#fff;
	
	font-size:0.8rem;
	line-height:30px;
}

.item-row div.ans div.ans-child p.item{
	width:100%;
	
	box-sizing: border-box;
	padding:10px;
}

.item-row div.ans div.ans-child p.item select{
	width:60px!important;
	
	font-size:0.8rem!important;
	line-height:23px!important;
}

.item-row div.ans div.ans-child p.price{
	width:100%;
	
	box-sizing: border-box;
	padding:10px;
	
	font-size:0.8rem;
	line-height:1.75em;
}

.item-row div.ans div.ans-child p.price input[type="text"]{
	width:90px!important;
	
	font-size:0.8rem!important;
	line-height:23px!important;
	
	margin-right:5px;
}

.item-row div.option{
	width:100%;
	margin-bottom:5px;
	
	box-sizing: border-box;
	padding:10px;
	
	background-color:#f8f8f8;
	color:#222;
	
	display:flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: flex-start;
}

.item-row div.option div.option-child{
	width:calc(50% - 2.5px);
	
	display:flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: flex-start;
	
	font-size:0.8rem;
	line-height:30px;
}

.item-row div.option div.option-child.single{
	width:100%;
	margin:0!important;
}

.item-row div.option div.option-child:nth-child(1){
	margin-right:2.5px;
}

.item-row div.option div.option-child:nth-child(2){
	margin-left:2.5px;
}

.item-row div.option div.option-child p.cat{
	width:100%;
	
	text-align: center;
	
	background-color:#6a8;
	color:#fff;
}

.item-row div.option div.option-child p.point{
	width:50%;
	
	line-height:45px;
	
	text-align: center;
	
	background-color:#fff;
	color:#222;
	
	position: relative;
}

.item-row.change div.option div.option-child p.point{
	display:flex;
	align-items: center;
	justify-content: center;
}

.item-row div.option div.option-child p.point::after{
	display:block;
	content:"";
	
	width:1px;
	height:50%;
	
	background-color:#aaa;
	
	position: absolute;
	top:0;
	bottom:0;
	right:0;
	
	margin:auto 0;
}

.item-row div.option div.option-child p.price{
	width:50%;
	
	text-align: center;
	
	background-color:#fff;
	color:#222;
	
	line-height:45px;
}

.item-row.change div.option div.option-child p.price{
	display:flex;
	align-items: center;
	justify-content: center;
}

.item-row div.option ul{
	font-size:0.8rem;
	line-height:25px;
	
	display:flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: flex-start;
	
	width:100%;
}

.item-row div.option ul li{
	width:50%;
	text-align: center;
	
	display:flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: flex-start;
	
	box-sizing: border-box;
	padding:0 2.5px;
}

.item-row div.option ul li span{
	display:block;
	width:100%;
}

.item-row div.option ul li span.name{
	background-color:#49a;
	color:#fff;
}

.item-row div.option ul li span.answer{
	background-color:#fff;
	color:#222;
}

.item-row div.extra{
	width:100%;
	
	box-sizing: border-box;
	padding:10px;
	
	background-color:#f8f8f8;
	
	margin-top:5px;
}

.item-row div.extra p{
	font-size:0.6rem;
	line-height:1.75em;
	
	color:#f80;
	
	box-sizing: border-box;
	padding-left:15px;
	
	position: relative;
}

.item-row div.extra p::before{
	display:block;
	content:"";
	
	position: absolute;
	top:5px;
	left:5px;
	
	width:5px;
	height:5px;
	
	background-color:#f80;
	
	border-radius:5px;
	
	font-size:1.0rem;
	line-height:20px;
	
	transform: scale(0.5);
}

.item-row.exchange div.ans{
	width:50%;
}

.item-row.exchange div.point-value{
	width:50%;
	
	text-align: center;
	
	box-sizing: border-box;
	padding:10px;
	
	background-color:#f8f8f8;
}

.item-row.exchange div.point-value p{
	background-color:#fff;
	color:#222;
	
	height:100%;
	
	display:flex;
	align-items: center;
	justify-content: center;
}

@media only screen and (min-width: 768px){
	
	.item-row div.que{
		width:100%;
	}
	
	.item-row.single div.que{
		width:50%;
		margin-bottom:0;
	}
	
	.item-row.exchange div.que{
		width:calc(100% - 240px);
		margin-bottom:0;
	}
	
	.item-row div.ans{
		width:50%;
		
		display:flex;
		align-items: center;
		justify-content: center;
	}
	
	.item-row.single div.ans{
		width:50%;
	}
	
	.item-row div.option{
		width:50%;
		margin-bottom:0;
	}
	
	.item-row.exchange div.point-value{
		width:120px;
	}
	
	.item-row.exchange div.ans{
		width:120px;
	}
	
}

.item-row.regular-purchase div.price{
	display:flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: flex-start;
	
	width:100%;
	
	background-color:#f8f8f8;
}

.item-row.regular-purchase div.price div.price-child{
	width:50%;
	
	font-size:0.8rem;
	line-height:30px;
	
	text-align: center;
	
	background-color:#fff;
	color:#222;
}

.item-row.regular-purchase div.price div.price-child p.note{
	background-color:#49a;
	color:#fff;
	
	box-sizing: border-box;
	border-right:solid 1px #fff;
}

.item-row.regular-purchase div.price div.price-child:last-child p.note{
	border-right:none;
}

.item-row.regular-purchase div.ans p.item{
	width:100%;
	text-align: left;
}

.item-row.regular-purchase div.ans p.item input[type="text"]{
	width:80px!important;
}

.item-row.regular-purchase div.ans p.item select{
	width:80px!important;
}

@media only screen and (min-width: 768px){
	
	.item-row.regular-purchase div.que{
		width:calc(100% - 360px);
		margin-bottom:0;
	}
	
	.item-row.regular-purchase div.price{
		width:240px;
		
		box-sizing: border-box;
		padding:5px 0;
	}
	
	.item-row.regular-purchase div.ans{
		width:120px;
	}
	
}

/*----------ITEMLIST-HOWTO----------*/


.howto{
	display:flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: flex-start;
	
	width:100%;
	background-color:#f8f8f8;
}

.howto-child{
	width:100%;
	
	display:flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: flex-start;
}
	
.howto-child div.pricetag{
	width:40%;
}

.howto-child div.long{
	width:75%;
}
	
.howto-child div.pricetag > p{
	width:100%;
	
	font-size:0.8rem;
	line-height:30px;
	
	background-color:#000;
	color:#fff;
	
	text-align: center;
	
	position: relative;
}
	
.howto-child div.pricetag > p::after{
	display:block;
	content:"";
	
	width:1px;
	height:10px;
	
	background-color:#fff;
	
	position: absolute;
	top:0;
	bottom:0;
	right:0;
	
	margin:auto 0;
}

.howto-child:nth-child(1) div.pricetag > p{
	background-color:#6a8;
}

.howto-child:nth-child(2) div.pricetag > p{
	background-color:#49a;
}

.howto-child div.pricetag ul{
	display:flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: flex-start;
	
	width:100%;
	
	/*background-color:#fff;*/
	color:#222;
	
	font-size:0.8rem;
	line-height:50px;
}

.howto-child div.pricetag ul li{
	width:50%;
	text-align: center;
	
	position: relative;
}

.howto-child div.pricetag ul li:nth-child(1)::after{
	display:block;
	content:"";
	
	width:1px;
	height:10px;
	
	background-color:#444;
	
	position: absolute;
	top:0;
	bottom:0;
	right:0;
	
	margin:auto 0;
}

/*.howto-child div.long ul li{
	width:100%;
}

.howto-child div.long ul li::after{
	display:none;
}*/
	
.howto-child div.offer{
	display:flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: flex-start;
	
	width:60%;
}

.howto-child div.single{
	width:25%;
}

.howto-child div.single div.offer-child{
	width:100%;
}

.howto-child div.single div.offer-child p.note::after{
	display:none;
}

.howto-child div.offer-child:nth-child(1){
	width:50%;
}

.howto-child div.offer-child:nth-child(2){
	width:50%;
}

.howto-child div.offer-child p.note{
	width:100%;
	
	font-size:0.8rem;
	line-height:30px;
	
	background-color:#000;
	color:#fff;
	
	text-align: center;
	
	position: relative;
}
	
.howto-child div.offer-child:nth-child(1) p.note::after{
	display:block;
	content:"";
	
	width:1px;
	height:15px;
	
	background-color:#fff;
	
	position: absolute;
	top:0;
	bottom:0;
	right:-0.5px;
	
	margin:auto 0;
}
	
.howto-child:nth-child(1) div.offer-child p.note{
	background-color:#6a8;
}
	
.howto-child:nth-child(2) div.offer-child p.note{
	background-color:#49a;
}

.howto-child div.offer-child p.item{
	width:100%;
	
	box-sizing: border-box;
	padding:10px 5px!important;
	
	text-align: center;
}

.howto-child div.offer-child p.item input[type="text"]{
	width:80px!important;
	
	font-size:0.8rem;
	line-height:23px!important;
}
	
.howto-child div.offer-child p.item select{
	width:40px!important;
	
	font-size:0.8rem;
	line-height:23px!important;
}

@media only screen and (min-width: 768px){
	
	.howto-child{
		width:calc(50% - 5px);
	}
	
	.howto-child:nth-child(1){
		margin-right:5px;
	}
	
	.howto-child:nth-child(2){
		margin-left:5px;
	}

}

/*----------2025年11月16日追加----------*/

.howto-child div.comment{
	width:100%;
	
	font-size:0.6rem;
	line-height:1.75em;
	
	box-sizing:border-box;
	padding:10px;
	border:solid 5px #f8f8f8;
	
	background-color:#fff;
	color:#444;
}

.howto-child div.comment p{
	font-weight:bold;
}

.howto-child div.comment p.extra{
	font-size:0.6rem;
	line-height:1.75em;
	font-weight:normal;
	
	box-sizing:border-box;
	padding-left:7.5px;
	
	position:relative;
}

.howto-child div.comment p.extra::before{
	display:block;
	content:"※";
	
	position:absolute;
	top:0;
	left:0;
}

.howto-child div.comment ul{
	display:flex;
	flex-flow:row wrap;
	align-items:stretch;
	justify-content:flex-start;
	
	width:100%;
}

.howto-child div.comment ul li::after{
	content:"/";
	
	display:inline-block;
	box-sizing:border-box;
	padding:0 2.5px;
}

.howto-child div.comment ul li:last-child::after{
	display:none;
}

/*----------ORDERFORM-PAYMENT-GUIDE----------*/

.payment-guide{
	width:100%;
	
	background-color:#f0f0f0;
	color:#222;
	
	box-sizing: border-box;
	padding:10px;
	
	margin-top:20px;
}

.payment-guide div.inner{
	display:flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: flex-start;
	
	width:100%;
	
	/*box-sizing: border-box;
	padding:5px;*/
}

.payment-child{
	width:100%;
	margin-bottom:10px;
	
	background-color:#fff;
	color:#222;
	
	box-sizing: border-box;
	padding:20px 10px;
	
	border-radius:5px;
}

.payment-child:last-child{
	margin-bottom:0;
}

.payment-child h6{
	width:240px;
	margin:0 auto 20px;
	
	text-align: center;
	
	font-size:1.15rem;
	line-height:30px;
	font-weight:bold;
	
	/*background-color:#49a;
	color:#fff;*/
	
	border-radius:2.5px;
}

.payment-child h6 span.note{
	display:inline-block;
	
	box-sizing: border-box;
	padding:0 30px;
	position: relative;
}

.payment-child h6 span.note::before{
	display:block;
	content:"";
	
	width:20px;
	height:1px;
	
	background-color:#222;
	
	position: absolute;
	top:0;
	bottom:0;
	left:0;
	
	margin:auto 0;
}

.payment-child h6 span.note::after{
	display:block;
	content:"";
	
	width:20px;
	height:1px;
	
	background-color:#222;
	
	position: absolute;
	top:0;
	bottom:0;
	right:0;
	
	margin:auto 0;
}

.payment-child div.bank-account{
	display:flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: flex-start;
	
	width:100%;
	margin-bottom:5px;
}

.payment-child div.bank-account p.que{
	width:120px;
	
	box-sizing: border-box;
	padding:10px;
	
	background-color:#f0f0f0;
	color:#222;
}

.payment-child div.bank-account div.ans{
	width:calc(100% - 120px);
	
	box-sizing: border-box;
	padding:10px;
	border-left:solid 5px #fff;
	
	background-color:#f0f0f0;
	color:#222;
}

.payment-child p.note{
	font-size:0.8rem;
	line-height:1.75em;
	
	margin-top:5px;
	
	color:#444;
	
	box-sizing: border-box;
	padding-left:20px;
	position: relative;
}

.payment-child p.note::before{
	display:block;
	content:"※";
	
	position: absolute;
	top:0;
	left:5px;
}

.payment-child p.btn{
	font-size:1.0rem;
	line-height:50px;
	font-weight:bold;
	
	text-align: center;
}

.payment-child p.btn a{
	display:inline-block;
	width:240px;
	
	background-color:#f80;
	color:#fff;
	
	border-radius:2.5px;
	box-shadow: 0 2.5px 0 #f40;
	
	transition:0.25s;
}

.payment-child p.btn a:hover{
	opacity: 0.75;
	text-decoration: none;
}

.payment-child p.qrcode{
	display:none;
}

@media only screen and (min-width: 768px){
	
	.payment-guide{
		/*background-color: transparent;*/
		padding:20px;
	}
	
	.payment-child{
		width:50%;
		margin-bottom:0;
		
		padding:20px;
	}
	
	.payment-child:nth-child(1){
		width:calc(100% - 300px);
		margin-right:10px;
	}
	
	.payment-child:nth-child(2){
		width:280px;
		margin-left:10px;
	}
	
	.payment-child div.bank-account div.ans ul{
		display:flex;
		flex-flow: row wrap;
		align-items: stretch;
		justify-content: flex-start;
		
		width:100%;
	}
	
	.payment-child div.bank-account div.ans ul li{
		box-sizing: border-box;
		padding-right:20px;
		
		position: relative;
	}
	
	.payment-child div.bank-account div.ans ul li::after{
		display:block;
		content:"";
		
		width:1px;
		height:50%;
		
		background-color:#222;
		
		position: absolute;
		top:0;
		bottom:0;
		right:10px;
		
		margin:auto 0;
	}
	
	.payment-child p.btn{
		display:none;
	}
	
	.payment-child p.qrcode{
		display:block;
		
		text-align: center;
	}
	
	.payment-child p.qrcode img{
		width:120px;
		vertical-align: bottom;
	}
	
}

/*----------ORDERFORM-INPUT----------*/

#orderform input[type="text"]{
	width:100%;
	max-width: 240px;
	
	box-sizing: border-box;
	padding:5px 10px;
	
	line-height:30px;
	
	border:solid 1px #eee;
	border-radius:2.5px;
}

#orderform input[type="text"].minimum{
	width:60px;
}

#orderform input[type="text"].double{
	max-width: 480px;
}

#orderform input[type="text"].minimam{
	max-width: 60px;
}

#orderform input[type="tel"]{
	width:100%;
	max-width: 180px;
	
	box-sizing: border-box;
	padding:5px 10px;
	
	line-height:30px;
	
	border:solid 1px #eee;
	border-radius:2.5px;
}

#orderform input[type="email"]{
	width:100%;
	max-width: 360px;
	
	box-sizing: border-box;
	padding:5px 10px;
	
	line-height:30px;
	
	border:solid 1px #eee;
	border-radius:2.5px;
}

#orderform textarea{
	width:100%;
	min-height: 120px;
	vertical-align: bottom;
	
	box-sizing: border-box;
	padding:5px 10px;
	
	line-height:1.75em;
	
	border:solid 1px #eee;
	border-radius:2.5px;
}

#orderform input[type="submit"]{
	display:block;
	
	width:240px;
	margin:0 auto;
	
	font-size:1.0rem;
	line-height:50px;
	font-weight:bold;
	
	box-sizing: border-box;
	padding:0;
	border-radius:2.5px;
	border:none;
	
	background-color:#49a;
	color:#fff;
	
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	
	transition: 0.25s;
}

#orderform input[type="submit"]:hover{
	opacity: 0.8;
	
	text-decoration: none;
	cursor: pointer;
}

#orderform select{
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	
	width:200px;

	border-radius: 2.5px;
	border:solid 1px #eee;
	margin: 0;
	padding: 5px 10px;
	
	background-color: #FFFFFF;
	background-image:url("../images/bg-icon-select.webp");
	background-repeat:no-repeat;
	background-size:10px;
	background-position:center right 10px;
	
	vertical-align: middle;
	box-sizing: content-box;
	
	font-family: "Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
	font-size:0.8rem;
	line-height:30px;
	color:#666;
}

.exchange > span{
	width:100%;
	text-align:center;
}

.exchange select.wpcf7-select{
	width:80%!important;
}

@media only screen and (min-width: 768px){
	
	#orderform input[type="text"]{
		font-size:1.0rem;
		line-height:30px;
	}
	
	#orderform input[type="tel"]{
		font-size:1.0rem;
		line-height:30px;
	}
	
	#orderform input[type="email"]{
		font-size:1.0rem;
		line-height:30px;
	}
	
	#orderform textarea{
		font-size:1.0rem;
		line-height:1.75em;
	}
	
	#orderform input[type="submit"]{
		width:360px;
		
		font-size:1.5rem;
		line-height:80px;
	}
	
	#orderform select{
		font-size:1.0rem;
		line-height:30px;
	}
	
}

/*----------2025年9月25日追加----------*/

.img-applicant{
	width:100%;
	box-sizing:border-box;
	padding:10px;
	
	background-color:#fff;
	
	margin-bottom:10px;
}

.img-applicant img{
	display:block;
	width:100%;
	margin:0 auto;
	max-width:480px;
}

.img-applicant span.note{
	display:block;
	color:#f44;
}

@media only screen and (min-width: 768px){
	
	.img-applicant span.note{
		text-align:center;
	}
	
}

.howto-child div.extra{	
	margin-top:0;
	border-top:solid 5px #fff;
	border-bottom:solid 5px #fff;
}

.item-row div.sp-only{
	display:block;
}

.item-row div.pc-only{
	display:none;
}

@media only screen and (min-width: 768px){
	
	.item-row div.sp-only{
		display:none;
	}
	
	.item-row div.pc-only{
		display:block;
	}
	
}
