.sicon_01,
.sicon_02,
.sicon_03
{
	font-size: 18px;
	line-height: 1;
}

.stsicon
{
	margin-bottom: 10px;
}

#detail h3
{
	font-size: 44px;
	line-height: 1.2;
	margin-bottom: 20px;
	padding-bottom: 20px;
	border-bottom-width: 1px;
	border-bottom-style: dashed;
	border-bottom-color: #b3b3b3;
	font-weight: bold;
}

#detail h3 small
{
	font-size: 20px;
	line-height: 1.2;
}

#detail h4
{
	font-size: 34px;
	line-height: 1.2;
	color: var(--point-color);
	padding-left: 20px;
	border-left-width: 10px;
	border-left-style: solid;
	border-left-color: var(--point-color);
	margin-bottom: 30px;
}

#detail h5
{
	font-size: 30px;
	line-height: 1.2;
	margin-bottom: 30px;
	padding-top: 20px;
	padding-bottom: 20px;
	border-top-width: 1px;
	border-bottom-width: 1px;
	border-top-style: solid;
	border-bottom-style: solid;
	border-top-color: #b3b3b3;
	border-bottom-color: #b3b3b3;
	letter-spacing: 0em;
}

#detail h5 small
{
	font-size: 20px;
	line-height: 1.2;
}

#detail h6
{
	font-size: 20px;
	color: var(--point-color);
	line-height: 1.2;
	margin-bottom: 4px;
}


.ficon_01,
.ficon_02,
.ficon_03,
.ficon_04,
.ficon_05,
.ficon_06,
.ficon_07,
.ficon_08,
.ficon_09,
.ficon_10,
.ficon_11,
.ficon_12,
.ficon_13,
.ficon_14,
.ficon_15,
.ficon_16,
.ficon_17,
.ficon_18,
.ficon_19
{
	font-size: 27px;
	line-height: 1;
	margin-right: 4px;
	padding-right: 8px;
	padding-left: 8px;
	margin-bottom: 4px;
	padding-top: 4px;
	padding-bottom: 8px;
}

#detail .icon_box
{
	display: flex;
	justify-content: space-between;
	align-items: flex-start; /* 子要素の高さを揃えないようにする */
	margin-bottom: 20px;
}

#detail .icon_box dl
{
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	column-gap: 20px; /* 横のスペース */
	row-gap: 20px; /* 縦のスペース */
	align-items: stretch; /* 子要素をセルの高さに合わせて引き伸ばす */
	margin: 0px;
	padding: 0px;

}

#detail .icon_box dl dt
{
	margin: 0px;
	padding: 0px;
	list-style-type: none;
	text-align: center;
	width: 120px;
}


#detail .icon_box dl dt .legal_02,
#detail .icon_box dl dt .legal_03,
#detail .icon_box dl dt .legal_04,
#detail .icon_box dl dt .legal_05,
#detail .icon_box dl dt .legal_06
{
	font-size: 16px;
	line-height: 1;
	font-weight: bold;
}


.clr
{
	clear: none !important;
	float: none !important;
	width: auto !important;
}




#detail .detail_box
{
	display: flex;
	justify-content: space-between;
}


#detail .photo_box
{
	width: 500px;
}

#detail .text
{
	width: 660px;
}

section .main_photo
{
	text-align: center;
	margin-bottom: 30px;
}

section .main_photo a:before,
.photo_box .sub_photo a:before
{
	display: none;
}

.photo_box
{
	text-align: center;
}

.main_photo img,
.photo_box img
{
	border-radius: 4px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	cursor:pointer;
	transition: 1s all;
}

.main_photo img:hover,
.photo_box img:hover
{
	transform:scale(1.1,1.1);
	transition:1s all;

	opacity: 1.0;
	filter: alpha(opacity=100);
	-ms-filter: "alpha(opacity=100)";

}

.photo_box .main_img img:hover
{
	transform:scale(1.1,1.1);
}

article .photo_box  a
{
	margin-bottom: 20px;
	display: block;
}



article .photo_box img
{
	width: 100%;
	height: auto;
	vertical-align: bottom;
	margin: 0px;
	padding: 0px;
}

section .photo_box .main_img
{
	margin: 0px !important;
}

section .photo_box .sub_img
{
	padding: 0px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 30px;
	margin-left: 0px;
}


section .photo_box .sub_img dl
{
	display: grid;
	grid-template-columns: repeat(2, 1fr); /* 3列 */
	column-gap: 10px; /* 横のスペース */
	row-gap: 10px; /* 縦のスペース */
	align-items: stretch; /* 子要素をセルの高さに合わせて引き伸ばす */
	margin: 0px;
	padding: 0px;
	width: 100%;
}
 
section .photo_box .sub_img dl dt
{
	margin: 0px;
	padding: 0px;
	vertical-align: top;
	border: 10px solid #FFF;
}
 
section .photo_box .sub_img dl dt img
{
	width: 100%;
	height:auto;
	object-fit: cover;
	aspect-ratio: 4 / 4;
	cursor:pointer;
}
 
 
.select
{
	border: 6px solid var(--point-color) !important;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;

}

#detail .buy_btn a
{
	font-size: 20px;
	color: var(--font-color);
	line-height: 1;
	display: block;
	padding-top: 10px;
	padding-right: 20px;
	padding-bottom: 10px;
	padding-left: 20px;
	overflow: hidden;
	position: relative;
	z-index: 1;
	background-color: #fff;
	border-radius: 30px;
	-webkit-border-radius: 30px;
	-moz-border-radius: 30px;
	box-shadow: 0px 0px 10px -3px #666;
	-moz-box-shadow: 0px 0px 10px -3px #666;
	-webkit-box-shadow: 0px 0px 10px -3px #666;
	text-align: left;
	border: 2px solid var(--link-color);
}

#detail  .buy_btn a:after
{
	font-family: "Font Awesome 6 Free";
	content: '\f061';
	font-weight: 900;
	margin-left: 10px;
	position: absolute;
	right: 20px;
}

#detail  .buy_btn a:before
{
	background: var(--link-color);
	position: absolute;
	top: 0;
	left: 0;
	content: '';
	width: 100%;
	height: 100%;
	transform: scale(0, 1);
	transform-origin: left top;
	transition: transform .3s;
	z-index: -1;
}

#detail .buy_btn a:hover
{
	color: #fff !important;
	-moz-transition-duration: 0.6s;
	-webkit-transition-duration: 0.6s;
	-o-transition-duration: 0.6s;
	-ms-transition-duration: 0.6s;
	transition-duration: 0.6s;
	background-color: var(--link-color);
}

#detail .buy_btn a:hover:after
{
	color:#FFF !important;
	-moz-transition-duration: 0.6s;
	-webkit-transition-duration: 0.6s;
	-o-transition-duration: 0.6s;
	-ms-transition-duration: 0.6s;
	transition-duration: 0.6s;
}

#detail .buy_btn a:hover:before
{
	transform-origin: left top;
	transform: scale(1, 1);
}






/* PCのみ設定  768 以上*/
@media screen and (min-width:1200px)
{





}


@media (max-width: 1199px) 
{
#detail .icon_box dl
{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	column-gap: 10px; /* 横のスペース */
	row-gap: 10px; /* 縦のスペース */
	align-items: stretch; /* 子要素をセルの高さに合わせて引き伸ばす */
	margin: 0px;
	padding: 0px;

}


#detail .icon_box dl dt
{
	width: 100px;
}


#detail .photo_box
{
	width: 42%;
}

#detail .text
{
	width: 56%;
}

}

/* タブレットレイアウト : 768 px 〜 959 px */
@media screen and (min-width:768px) and (max-width:1199px)
{



}


/* スマホ設定  767 以下*/
@media screen and (max-width:767px)
{

#detail h3
{
	font-size: 38px;
	line-height: 1.2;
}

#detail h3 small
{
	font-size: 18px;
	line-height: 1.2;
}

#detail h4
{
	font-size: 28px;
	line-height: 1.2;
}

#detail h5
{
	font-size: 24px;
	line-height: 1.2;
}

#detail h5 small
{
	font-size: 16px;
	line-height: 1.2;
}

#detail h6
{
	font-size: 18px;
	color: var(--point-color);
	line-height: 1.2;
	margin-bottom: 4px;
}

}

/* スマホ設定  599 以下*/
@media screen and (max-width:599px)
{

article .photo_box
{
	margin-bottom: 20px;
	text-align: center;
	clear: both;
	float: none;
	margin-left: 0px;
	width: auto;
}

#detail .icon_box
{
	display: block;
	margin-bottom: 20px;
}

#detail .icon_box dl
{
	margin-top: 10px;
}

#detail .detail_box
{
	display: block;
}


#detail .photo_box,
#detail .text
{
	width: auto;
}


}
