/* CSS Document */


/* 単品金額　*/
.form-main-area .info_title h4{
	width: 100%;
    padding: 10px 20px;
    color: #fff;
    background: #a04800;
    font-size: 1.75rem;
    position: relative;
    font-weight: 500;
    font-family: "Noto Serif JP", serif;
	display: flex;
	flex-direction: column;
}

.form-main-area .info_title h4 span{
	font-size: 1rem;
}

.dl_list{
	flex-direction: column;
    display: flex;
	gap:30px;
}


.order_content {
    padding: 30px 10px;
    background: #fff;
}

.product-detail-wrap{
	border-top: 1px dashed #a04800;
    border-bottom: 1px dashed #a04800;
    padding: 10px 0;
}

.product-title h5{
    position: relative;
    font-size: 1.5rem;
    color: #a04800;
    margin-bottom: 20px;
    letter-spacing: 0;
    font-family: "Noto Sans JP", sans-serif;
}

.product-title h5::before {
    content: '';
    position: absolute;
    display: block;
    background: url(../img/icon/chestnuts.png) center;
    background-size: cover;
    left: 0;
    top: 5px;
    width: 25px;
    aspect-ratio: 1 / 1;
}


.product-detail{
	margin-top: 20px;
	display: flex;
	gap: 10px;
	flex-direction: row;
	background: #fff;
    padding: 20px;
}

.product-content .main-text p{
	line-height: 1.85;
}

.product-gallery{
	max-width: 500px;
	    width: 60%;
}

.product-info{
	width: 100%;
	font-family: "Noto Sans JP", sans-serif;
}

.product-price{
	display: flex;
    flex-direction: row;
    gap: 10px;
    align-items: flex-end;
    border-bottom: 1px solid #898989;
    justify-content: space-between;
	margin-bottom: 5px;
}


.product-price h6{
	color: #a04800;
    font-size: 2.25rem;
    font-weight: 800;
    letter-spacing: 0.02rem;
    font-family: "Noto Sans JP", sans-serif;
}
.w100{
	width: 100%;
	min-width: 270px;
}
.row-box{
	display: flex;
    flex-direction: row;
    gap: 5px;
    width: 100%;
    align-items: center;
    justify-content: space-between;
}
.w100 .row-box{
	padding: 5px 0;
	border-bottom: 1px dotted #666;
}
.price-ps {
	display: flex;
    flex-direction: row;
    /*justify-content: space-between;*/
	justify-content: flex-end;
    align-items: center;
}

.price-ps .fee span{
	align-items: center;
    display: block;
    color: #fff;
    background: #4f73b8;
    font-size: 0.75rem;
    padding: 2px 2px 3px 3px;
    line-height: 1;
}


.dl_list{
	display: flex;
	flex-direction: column;
	gap:30px;
}


.price-ps .tax{
	font-size: 0.9rem;
	color: #333;
}

.item-quotation{
	display: flex;
    flex-direction: row;
    justify-content: space-between;
    background: #f6f1ee;
    padding: 5px 10px;
	align-items: center;
	margin: 10px 0;
	gap: 20px;
}


.select-item-quantity{
	min-width: 80px;
	text-align: center;
	font-family: "Noto Sans JP", sans-serif;
}

.select-item-quantity select{
    border: 1px solid #898989;
    text-align: center;
    margin-right: 3px;
    cursor: pointer;
    background: #fff;
    color: blue;
    font-weight: 600;
    min-width: 70px;
}


.shoukei{
	width: 25%;
	min-width: 80px;
	display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: flex-end;
}
.shoukei-text{
	min-width: 55px;
}

.shoukei input{
	width: 25%;
    min-width: 80px;
    text-align: end;
    color: blue;
    font-weight: 600;
    letter-spacing: 0.02rem;
    text-decoration: underline;
}


@media(max-width: 1480px){
	
	.product-gallery {
		max-width: 360px;
		width: 50%;
	}
	
	.product-detail {
		padding: 20px 0;
	}
	
}



@media(max-width: 1300px){	
	.product-detail {
   		flex-direction: column;
		gap: 20px;
		margin-top: 0;
	}
	
	.product-gallery {
		max-width: 100%;
		width: 100%;
	}
}

@media(max-width: 1000px){	
	.product-title h5 {
		font-size: 1.1rem;
		margin-bottom: 10px;
	}
}


@media(max-width: 600px){	
	
	.item-quotation {
		flex-direction: column;
	}
}

/* 単品金額　//*/


/* 商品内容table */

.product-info table {
	border-collapse: collapse;
}

.product-info table th{
	border-left:1px solid #ababab;
	min-width: 90px;
	background: #f3f3f3;
	border-top:1px solid #ababab;
	color: #333;
}

.product-info tr:last-child th,
.product-info tr:last-child td{
	border-bottom:1px solid #ababab;
}

.product-info table td{
	border-right:1px solid #ababab;
	border-top:1px solid #ababab;
	border-left:1px solid #ababab;
	background: #fff;
	padding: 10px;
	color: #333;
}


.product-info table ul{
	display: flex;
	flex-direction: column;
	gap:10px;
}

@media(max-width:600px){
	.product-info table th {
    	min-width: 80px;
		font-size: 0.85rem;	
	}
	
	.product-info table td {
		font-size: 0.85rem;	
	}
	
}

/* 商品内容table ///*/


/* 商品金額合計　*/
.total_bx{
	display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    max-width: 300px;
    text-align: left;
}

.total_bx input{
	text-align: end;
}

.total_bx h4{
	width: 100%;
	text-align: center;
	position: relative;
    font-size: 1.75rem;
    color: #fff;
    margin-bottom: 10px;
	font-weight: 500;
    font-family: "Noto Serif JP", serif;
}

.total_bx input{
    position: relative;
    font-size: 2.5rem;
    color: #00489e;
    letter-spacing: 2px;
    font-weight: 800;
    width: 100%;
    background: #fff;
    font-family: "Noto Sans JP", sans-serif;
}


@media(max-width: 1200px){
	
	.total_bx input {
    	font-size: 1.5rem;
    	letter-spacing: 1px;
	}
	
	.total_bx h4 {
    	font-size: 1.5rem;
	}
	
}



/* 商品金額合計　//*/


/* 注意事項　*/
.term-box{
    text-align: left;
    width: 100%;
    margin-top: 20px;
}

.term-box h5{
	font-size: 0.9rem;
    font-weight: 600;
    font-family: "Noto Sans JP", sans-serif;
    text-indent: -7px;
    line-height: 1.8;
}

.term-box ul {
	display: flex;
	flex-direction: column;
	gap:5px;
}

.term-box ul p{
	font-size: 0.85rem;
    font-weight: 400;
    font-family: "Noto Sans JP", sans-serif;
    line-height: 1.6;
	letter-spacing: 0;
}

.term-box ul .red{
	text-decoration: underline;
	font-weight: 600;
}


/* 注意事項　//*/


/* 送信ボタン*/


/* 送信ボタン///*/

.send_btn button{
	margin: 30px auto;
    text-align: center;
    background: #a04800;
    border: 1px solid #a04800;
    padding: 5px 50px;
    font-size: 1.75rem;
    color: #fff;
    border-radius: 50px;
    line-height: 1.8;
	letter-spacing: 1px;
	display: block;
	transition: 0.3s ease-in-out;
	font-family: "Noto Serif JP", serif;
}

.send_btn button:hover{
	background: #fff;
	color: #a04800;
}

.send_btn button i{
	margin-right: 5px;
}

.form-row{
	display: flex;
	flex-direction: row;
	gap:20px;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.95rem;
}

.form-label{
	padding: 5px 0;
	width: 150px;
}

.contact_info_detail{
	padding: 0;
	display: flex;
	flex-direction: column;
	gap:20px;
}

.contact_info_detail input,
.contact_info_detail select,
.contact_ps #message{
	width: 100%;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.95rem;
}

.contact_info_detail input,
.contact_info_detail select,
.noshi-type{
	background: #fff;
	padding: 5px;
	border-radius: 2px;
}

.payment{
	width: 100%;
	background: #f7f3ef;
    padding: 5px;
    border-radius: 2px;
}


.add_info {
	display: flex;
	flex-direction: column;
	gap:20px;
}

.noshi-type{
	width: 100%;
	display: flex;
}


.noshi-type-box{
	width: 100%;
    display: flex;
    align-items: center;
    gap: 5px;
}
.noshi-type-box input[type="radio"] {
  appearance: none;
  width: 20px;
  height: 20px;
  border: 1px solid #333;
  border-radius: 2px;
  outline: none;
  display: inline-block;
  vertical-align: middle;
  background-color: #fff;
  position: relative;
  cursor: pointer;
}

.noshi-type-box input[type="radio"]::before {
  content: "";
  font-size: 14px;
  color: #333; /* チェックマークの色 */
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0); /* 初期状態で非表示 */
  transition: transform 0.2s ease-in-out;
}

.noshi-type-box input[type="radio"]:checked::before {
  content: "✔"; /* チェックマーク */
  transform: translate(-50%, -50%) scale(1); /* 選択時に表示 */
}

.message-bikou{
	background: #fff;
	padding: 10px;
	border-radius: 3px;
}


.contact_info_detail h5{
	border-bottom: 3px double #797979;
	color: #797979;
	margin-top: 20px;
}

.form-label label{
	position: relative;
	padding-left: 10px;
}

.form-label label::before{
	position: absolute;
	content: '';
	display: block;
	width: 5px;
	aspect-ratio: 1/1;
	background: #333;
	top:10px;
}

.add-row label::before{
	display: none!important;
}

@media(max-width: 1000px){
	.noshi-type {
		width: 100%;
		gap:20px;
		padding: 10px;
		flex-wrap: wrap;
	}
}



/* step03 */




/* privacy*/

.privacy_area{
	padding: 40px 0 20px;
    max-width: 1000px;
    margin: auto;
}

.check_privacy{
	margin-top:20px;
	background: #fff;
    padding: 10px;
    border-radius: 3px;
}

.check_main{
	padding: 0;
}

.check_privacy label{
    font-family: "Noto Sans JP", sans-serif;
    font-size: 1.1rem;
	color: #c20009;
	font-weight: 600;
}

.private_check_ps{
	margin-top: 20px;
}

.check_ps{
    font-family: "Noto Sans JP", sans-serif;
    font-size: 0.95rem;
}


.acd-check{
    display: none;
}

.acd-label{
	color: #454545;
    display: block;
    margin-bottom: 1px;
    padding: 10px;
    font-size: 1.35rem;
    position: relative;
    cursor: pointer;
    border-bottom: 2px dashed #b9b9b9;
    text-align: center;
    transition: all 800ms;
    font-weight: 600;
    font-family: "Noto Serif JP", serif;
}

.acd-label::before{
    position: absolute;
    content: '';
    display: block;
    width: 1px;
    height: 12px;
	background: #333;
    right: 20px;
    top: 50%;
	transform: translateY(-50%);
	transition: ease .5s;
}

.acd-label::after{
    position: absolute;
    content: '';
    display: block;
    width: 12px;
    height: 1px;
    background: #333;
    right: 15px;
    top: 50%;
    transition: ease .5s;
    transform: translateY(-50%);
}

.acd-label:hover{
	letter-spacing: 2px;
}

.acd-label:hover::before,
.acd-label:hover::after{
	transform: translateY(-50%) rotate(45deg);
}

.acd-check:checked + .acd-label::after,
.acd-check:checked + .acd-label::before{
	 transform: translateY(-50%) rotate(45deg);
}

.scroll_bar_des p,
.scroll_bar_text p{
	text-align: left;
}


.acd-content{
    height: 0;
    opacity: 0;
    padding: 0 10px;
    transition: .5s;
    visibility: hidden;
	border-radius: 5px;
}

.acd-check:checked + .acd-label + .acd-content{
    opacity: 1;
    padding: 10px 0;
    visibility: visible;
	height: 300px;
}



/* privacy content */

.privacy{
	font-family: "Noto Sans JP", serif;
	text-align: center;
    margin-bottom:50px;
}

.scroll_bar{
    background: #fff;
    overflow-y: scroll;
    overflow-x: hidden;
    min-height: 100px;
    max-height: 300px;
    margin: 0px auto;
    max-width: 1200px;
    padding: 20px 20px;
    text-align: left;
}




.scroll_bar p, .scroll_bar dl dd{
	font-size: 14px;
	font-weight: 500; 
	color: #000;
	line-height: 25px;
}

.scroll_bar_des p{
	font-size: 1rem;
	font-weight: 500;
	color: #000;
	line-height: 25px;
	padding-bottom: 10px;
}

.scroll_bar_text p:first-child{
	padding-top: 20px;
}

#with-consent{
    width: 14px;
    height: 14px;
    display: inline-block;
}


/* フォーム修正 */


.name-input{
	width: 100%;
	display: flex;
	flex-direction: column;
}

/* フォーム修正 ///*/




/* privacy content ↑↑↑ */

@media(max-width:1300px){
	
	.order_content {
		padding: 20px 10px;
	}
	
	.contact_info_detail {
		padding: 0 5px;
	}
	
	.check_main {
		padding: 0 5px;
	}
	
	
}


@media(max-width:1000px){
	
	.total_bx h4 {
    	font-size: 1.25rem;
	}
	
	.form-main-area .info_title h4 {
    	padding: 5px 10px;
    	font-size: 1.25rem;
	}
	

    .order_content {
        padding: 10px ;
    }

	.web-form form {
        padding: 20px 0;
    }

	
	.product-detail p {
    	line-height: 1.65;
	}

	.product_img img {
		width: 150px;
	}
	
}


@media(max-width:800px){

	.total_bx {
		max-width: 100%;
		padding: 10px;
	}
	
	.total_bx h4 {
    	font-size: 1.25rem;
		color: #fff;
	}
	
	
	.term-box {
		margin-top: 10px;
	}
	
	.send_btn button {
    	font-size: 1.5rem;
	}
	
	.product-detail p::before {
    	width: 8px;
		top: 7px;
	}
	
	.product-detail ul{
		display: flex;
		flex-direction: column;
		gap: 5px;
	}
	
	.product-detail p {
		line-height: 1.5;
	}
	
	

}

@media(max-width:600px){
	
	#web-form {
    	padding-bottom: 0;
	}
	
	#web-form::before ,
	#web-form::after {
		background: url(../img/wave-beju.png) center;
    	background-size: cover;
	}
	
	.check_main ,
	.contact_info_detail {
        padding: 0;
    }
	
	.form-main-area .info_title h4 {
        padding: 5px 10px;
        font-size: 1.1rem;
    }
	
	.web-form .main-area {
		padding: 0 10px 20px;
	}
	
	.web-form form {
        padding: 10px 0;
    }
	
	.product-title h5 {
    	font-size: 1.25rem;
    	padding-left: 0;
	}
	
	.product-title h5::before {
    	width: 20px;
	}

	.product-detail-wrap {
		flex-direction: column-reverse;
	}
	
	.product_img img {
        width: 100%;
    }

	.web-form .content-left {
    	min-width: 100%;
	}
	
	.jp-text {
    	margin: 10px auto 5px;
	}
	
	.select-item-name p span {
		display: inline-block;
	}
	
	.shoukei {
    	align-items: center;
	}
	
	.order-text{
		min-width: 100px;
	}
	
	.select-item-quantity{
		width: 100%;
    	display: flex;
	}
	
	.shoukei { 
        width: 100%;
	}
	
	.shoukei input {
		text-decoration: none;
		width: 100%;
        border-bottom: 1px solid #333;
	}

	.select-item-quantity select {
		width: 100%;
	}
	
	
	.noshi-type {
		flex-direction: column;
		gap:15px;
	}
	
	.contact_info_detail {
		gap: 10px;
	}

	
	.form-row {
		gap: 5px;
    	flex-direction: column;
	}
	
	.contact_info_detail input, .contact_ps #message {
		font-size: 0.85rem;
	}
	
	#name {
	  font-size: 0.95rem;
	}

	.form-row #name::placeholder{
		font-size: 0.7rem;
	}
	
	.add_info {
		gap: 10px;
	}

	.add-row .form-label{
		display: none;
	}
	
	
	.check_privacy label {
    	font-size: 1rem;
	}
	
	.scroll_bar_des p {
		font-size: 0.9rem;
		line-height: 1.6;
		letter-spacing: 0;
	}
	
	.scroll_bar {
    	padding: 10px;
	}
	
	.scroll_bar p, .scroll_bar dl dd {
		line-height: 1.5;
		letter-spacing: 0;
	}
	
	
	.scroll_bar_text p:first-child{
		background: #eee;
        padding-top: 0;
        margin-top: 15px;
        padding-left: 5px;
        margin-bottom: 5px;
        font-size: 0.95rem;
        font-weight: 600;
        text-align: center;
	}
	
}


/*202508 追加*/
.flavor-selects{
	display: flex;
	gap:5px;
	flex-wrap: wrap;
}
.flavor-selects select{
	width: 40%;
	background: #fff;
	border: 1px solid #333;
	padding: 0 5px;	
}

#shipping-info{
	margin-top:5px; 
	font-size:14px; 
	color:#fff;
	text-align: end!important;
}