#sub_body {
	padding:12px;
	width:100%;
}

#sub_body h1 {
	font-size:1.2em;
	margin-bottom:20px;
}

#sub_menu {
	margin:0 10px;
	padding:0;
	height:100%;
	background-color:#F7F7F7;
}

#sub_menu ul {
	list-style-type:none;
}

#sub_menu a:link, #sub_menu a:visited {
	padding:16px 22px;
	display:block;
}

#sub_menu li.now {
	background-color:#D3E6FF;
}

#sub_menu a:hover, #sub_menu a:active {
	background-color:#D3E6FF;
	color:#555;
}

#sub_menu p {
	padding:16px 22px;
}

.sub_table_area {
	width:100%;
	max-width:100%:
	positon:relative;
	overflow-x:scroll;
}

.sub_table_area table {
	min-width:100%;
	table-layout:fixed;
	border-collapse:separate;
	border-spacing:0;	position:relative;

}

.sub_table_area table input[type="text"] {
	padding:4px 8px;
}

.sub_table_area table thead tr th {
	position:sticky;
	top:0;
	text-align:center;
	padding:8px;
	border-left:1px solid #777;
	border-top:1px solid #777;
	border-bottom:1px solid #777;
	background-color:#fff;
	vertical-align:middle;
	font-size:0.9em;
}

.sub_table_area table thead tr th:last-of-type {
	border-right:1px solid #777;
}

.sub_table_area table tbody tr td {
	border-left:1px solid #777;
	border-bottom:1px solid #777;
	font-size:0.8em;
	line-height:1.5em;
	padding:6px;
	vertical-align:middle;
}

.sub_table_area table tbody tr td:last-of-type {
	border-right:1px solid #777;
}

.sub_table_area table tbody td:last-of-type.sub_cart_comment {
	border-top:1px solid #ccc;
	border-right:0 none #fff;
	font-size:0.7em;
}

.sub_table_area table tfoot tr td {
	border-left:1px solid #777;
	border-bottom:1px solid #777;
	padding:8px;
	font-size:0.9em;
}

.sub_table_area table tfoot tr td:last-of-type {
	border-right:1px solid #777;
}

#sub_cart_caution {
	margin-top:12px;
	font-size:0.9em;
}

#sub_cart_caution li {
	list-style-type:none;
	padding-left:1.5em;
	position:relative;
	font-size:0.85em;
	line-height:1.5em;
}

#sub_cart_caution li:before {
	content: '・';
	position:absolute;
	left:0.2em;
	top:0;
}

#sub_cart_button {
	margin-top:38px;
	text-align:center;
	margin-bottom:20px;
	display:flex;
	flex-wrap:wrap;
}

#sub_cart_button > div {
	width:100%;
}

#sub_cart_button a, #sub_footer a {
	border:1px solid #003475;
	line-height:46px;
	padding:0 20px;
	width:220px;
	max-width:calc( 100% / 3 - 40px );
	text-align:center;
	font-size:16px;
	border-radius:23px;
}

#sub_cart_button a.sub_btn_1:link, #sub_cart_button a.sub_btn_1:visited {
	background-color:#003475;
	color:#fff;
	width:400px;
	max-width:calc( 100% - 40px );
}

#sub_cart_button a.sub_btn_4:link, #sub_cart_button a.sub_btn_4:visited {
	background-color:#5B88C4;
	border-color:#5B88C4;
	color:#fff;
}

#sub_cart_button a.sub_btn_2:link, #sub_cart_button a.sub_btn_2:visited {
	background-color:#003475;
	color:#fff;
}

#sub_cart_button a.sub_btn_2:hover, #sub_cart_button a.sub_btn_2:active, #sub_cart_button a.sub_btn_4:hover, #sub_cart_button a.sub_btn_4:active {
	background-color:#7598C4;
}

#sub_cart_button a.sub_btn_3:link, #sub_cart_button a.sub_btn_3:visited, a.sub_btn_3:link, a.sub_btn_3:visited {
	background-color:#fff;
	color:#003475;
}

#sub_cart_button a:hover, #sub_cart_button a:active {
	opacity:0.6;
}

#sub_cart_button a+a {
	margin-left:20px;
}

.sub_cart_div {
	width:220px;
	max-width:calc( 100% / 3 );
	padding-bottom:20px;
}

.sub_cart_div+a {
	margin-left:20px;
}

.sub_cart_div input[type="text"] {
	max-width:140px;
	width: calc( 100% - 20px );
}

.sub_cart_div input[type="text"].readonly_field {
	text-align:right;
	border-color:#ccc;
	background-color:#f7f7f7;
	color:#888;
}

.sub_cart_div input[type="text"].readonly_field.minus {
	color:#f00;
}

.sub_cart_item_area {
	position:relative;
}

.sub_cart_div > p {
	font-size:12px;
	line-height:1.3em;
	padding-top:4px;
	padding-left:20px;
}
.sub_cart_item_area .del_btn {
	position:absolute;
	z-index:10;
	left:15px;
	top:calc( 50% - 9px );
	font-size:16px;
	line-height:1em;
	display:none;
}

.sub_table_area dl {
	display:flex;
	flex-wrap:wrap;
	align-items:center;
}

.sub_table_area dt {
	width:160px;
	padding:3px 8px;
}

.sub_table_area dd {
	width:calc( 100% - 160px );
	padding:3px 8px;
}

h2#sub_title {
	font-size:1.25em;
	padding-bottom:30px;
	border-bottom:1px solid #ccc;
	margin-bottom:50px;
}

#sub_body2 {
	padding:0 0 50px 0;
}

.sub_dlist {
	display:flex;
	flex-wrap: wrap;
	align-items: stretch;
	border-top:1px solid #ccc;
}

.sub_dlist dt {
	width:180px;
	padding: 16px;
	background-color:#eee;
	border-bottom:1px solid #ccc;
	position:relative;
}

.sub_dlist dd {
	width:calc( 100% - 180px );
	padding: 16px;
	border-bottom:1px solid #ccc;
	position:relative;
}

.sub_dlist_b {
	display:flex;
	flex-wrap: wrap;
	align-items: flex-start;
	border-bottom:1px solid #ccc;
}

.sub_dlist_b dt {
	width:180px;
	padding: 8px 4px;
	border-top:1px solid #ccc;
}

.sub_dlist_b dd {
	width:calc( 100% - 180px );
	padding: 8px 4px 8px 20px;
	border-top:1px solid #ccc;
}

.sub_text {
	margin-top:16px;
}

.sub_text+div.sub_text {
	margin-top:46px;
}

#sub_guide_flow {
	width:800px;
	max-width:100%;
	padding:20px 0 30px 0;
}

.sub_guide_title {
	border:1px solid #707070;
	padding:18px 30px;
	border-radius: 6px;
	position:relative;
	font-size:20px;
	line-height:32px;
	background-color:#F7F7F7;
}

.sub_guide_list {
	display:none;
}

.sub_guide_title img {
	width:40px;
	margin-right:16px;
}

.sub_guide_title > a {
	position:absolute;
	right:30px;
	top:16px;
}

.sub_guide_title+div {
	margin:30px 12px 60px 20px;
}

#sub_guide_flow {
	margin:30px 0 40px 0;
}

.sub_guide_list ul, .sub_guide_list ol {
	list-style-type:none;
	padding-left:0;
	margin-left:0;
	line-height:1.7em;
}

.sub_guide_list li > p {
	font-weight:bold;
	padding-bottom:2px;
}

.sub_guide_list li > p > span {
	font-weight:normal;
}

.sub_guide_list li:nth-of-type( n+2 ) {
	margin-top:1.2em;
}

.sub_guide_credit {
	margin:20px 0;
}

.sub_guide_credit img {
	height:50px;
}

.sub_guide_credit img.yokonaga {
	width:80px;
	height:50px;
	object-position: center center;
	object-fit:contain;
}

.sub_info_category {
	padding:0 8px;
	color:#000;
	font-size:14px;
	line-height:30px;
}

.sub_info_date {
	font-size:13px;
	line-height:1.6em;
	margin-top:3px;
}

#sub_footer {
	position:fixed;
	bottom:0;
	left:0;
	width:100%;
	text-align:center;
	padding-bottom:3px;
}

.sub_info_title {
	color:#000;
	margin:8px 0;
	font-size:17px;
	line-height:1.6em;
}

#sub_info_comment {
	font-size:14px;
	line-height:1.6em;
}

#sub_info_comment a:link, #sub_info_comment a:visited {
	color:#00f;
	text-decoration:underlink;
}

#sub_item_detail {
	margin-top:12px;
}

#sub_item_detail h2 {
	font-size:17px;
	line-height:1.6em;
	padding-bottom:8px;
	border-bottom:2px solid #aaa;
}

#sub_item_comment {
	padding:22px 0;
	font-size:14px;
	line-height:1.6em;
	border-bottom:2px solid #aaa;
}

#sub_item_price_tbl {
	display:flex;
	margin:20px 0;
}

#sub_item_price_tbl > div {
	width:calc( 100% / 3 );
	display:flex;
}

#sub_item_price_tbl > div:first-of-type {
	padding-right:8px;
}

#sub_item_price_tbl > div:last-of-type {
	padding-left:8px;
}

#sub_item_price_tbl > div > p {
	width:50%;
	padding-bottom:8px;
	border-bottom:2px solid #aaa;
	text-align:center;
	color:#000;
}

#sub_image {
	margin-top:16px;
	display:flex;
	flex-wrap:wrap;
}

#sub_image > p {
	width:calc( 100% / 3 );
}

#sub_image > p > img {
	width:100%;
	aspect-ratio: 1 / 1;
	object-fit:contain;
}

#sub_company_iso {
	width:120px;
	position:absolute;
	bottom:4px;
	right:20px;
}

p.sub_guide_fcategory {
	font-weight:bold;
	margin-bottom:2px;
}

.sub_guide_question {
	position:relative;
	border:2px solid #eee;
	background-color:#fff;
	border-radius:8px;
	padding:12px 12px 12px 12px;
}

.sub_guide_question:before {
	position:absolute;
	left:8px;
	top:10px;
	content: 'Q';
	font-family: 'Outfit';
	font-weight:600;
	font-size:24px;
	color:#6f7493;
	font-family: 'Outfit';
}

.sub_guide_question a {
	display:block;
	padding-left:30px;
	padding-top:2px;
	position:relative;
	z-index:10;
}

.sub_guide_question a:after {
	content: '＋';
	font-family: 'Outfit';
	font-weight:600;
	font-size:24px;
	position:absolute;
	right:0;
	top:0;
	z-index:1;
}

.sub_guide_question a.none:after {
	content: '－';
}

.sub_guide_answer {
	margin-top:8px;
	border:2px solid #f6f6f6;
	background-color:#f6f6f6;
	border-radius:8px;
	padding:12px 12px 12px 42px;
	display:none;
	position:relative;
}

.sub_guide_answer:before {
	position:absolute;
	left:8px;
	top:10px;
	content: 'A';
	font-family: 'Outfit';
	font-weight:600;
	font-size:24px;
	color:#b3675d;
}

div.sub_guide_answer+div.sub_guide_question {
	margin-top:16px;
}

div.sub_guide_answer+p.sub_guide_fcategory {
	margin-top:20px;
}

#sub_guide_daibiki {
	margin:18px 0;
	border-collapse:collapse;
	border-top:1px solid #ccc;
	border-bottom:1px solid #ccc;
}

#sub_guide_daibiki th {
	border-bottom: 1px solid #ccc;
	padding-top:2px;
	padding-bottom:2px;
	text-align:center;
}

#sub_guide_daibiki td {
	padding: 2px 22px;
}

#sub_guide_daibiki tr td:last-of-type {
	text-align:right;
}

@media screen and (max-width:640px) {
	#sub_cart_button a, #sub_footer a, #sub_cart_button a.sub_btn_1:link, #sub_cart_button a.sub_btn_1:visited {
		width: 300px;
		max-width:70%;
	}
	#sub_cart_button a+a {
		margin-left:0;
		margin-top:16px;
	}
	#sub_cart_table {
		font-size:14px;
	}
}