@charset "UTF-8";

/*-----------------------------------

	common

-----------------------------------*/
.contents_inner {
	width: 1200px;
	max-width: 90%;
	margin: 0 auto;
}
.ttl_style {
	text-align: center;
}
.ttl_style .s_text {
	display: block;
	font-family: "Exo 2", sans-serif;
	font-size: 19px;
	color: #808080;
	margin-bottom: 20px;
}
.ttl_style .l_text {
	display: inline-block;
	font-size: 35px;
	color: #fff;
	background-color: #000;
	line-height: 1;
    padding: 5px 12px 9px;
}
.number_icon {
	width: 100px;
}
@media screen and (max-width: 840px) {
	.ttl_style .l_text {
		font-size: 28px;
	}
}
@media screen and (max-width: 640px) {
	.ttl_style .l_text {
		font-size: 22px;
	}
	.ttl_style .s_text {
		font-size: 16px;
		margin-bottom: 15px;
	}
	.number_icon {
		width: 70px;
	}
}
/*-----------------------------------

	headline

-----------------------------------*/
#headline {
	background: url(../img/koduchi/headline_bg.jpg) no-repeat center center/cover;
}
#headline h1::before {
	content: "ORIGINAL PRODUCT";
}
@media screen and (max-width: 640px) {
    #headline {
		background: url(../img/koduchi/sp/headline_bg.jpg) no-repeat center center/cover;
	}
}

/*-----------------------------------

	koduchi_wrap - business_menu

-----------------------------------*/
#koduchi_wrap {

}

/*-----------------------------------

	business_contents - common

-----------------------------------*/
.business_contents > section:not(:last-child) {
	margin-bottom: 80px;
}
.business_contents > section > *:not(:last-child) {
	margin-bottom: 30px !important;
}
.business_contents h2 {
	background: #f0f0f5;
	padding: 55px 50px 90px;
	clip-path: polygon(30px 0, 100% 0, 100% 100%, 0 100%, 0 30px);
	font-size: 37px;
	font-weight: 900;
	margin-bottom: 40px;
}
.business_contents h2::before {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.03em;
	color: var(--mClr1);
	display: block;
	width: max-content;
	padding-bottom: 10px;
	border-bottom: 3px solid var(--mClr1);
	margin-bottom: 20px;
}
.business_contents a.link {
	display: block;
	font-weight: 700;
	letter-spacing: 0.03em;
	line-height: 56px;
	padding-right: 75px;
	width: max-content;
	background: url(../img/business/icon_arrow_link.svg) no-repeat right center/56px;
	margin: 0 0 0 auto;
}
@media screen and (max-width: 640px) {
	.business_contents > section:not(:last-child) {
		margin-bottom: 40px;
	}
	.business_contents > section > *:not(:last-child) {
		margin-bottom: 20px !important;
	}
	.business_contents h2 {
		padding: 25px 25px 40px;
		clip-path: polygon(15px 0, 100% 0, 100% 100%, 0 100%, 0 15px);
		font-size: 20px;
		margin-bottom: 20px;
	}
	.business_contents h2::before {
		font-size: 11px;
		padding-bottom: 5px;
		border-bottom: 2px solid var(--mClr1);
		margin-bottom: 10px;
	}
	.business_contents a.link {
		line-height: 42px;
		padding-right: 55px;
		background: url(../img/business/icon_arrow_link.svg) no-repeat right center/42px;
	}
}
/*-----------------------------------

	exp_block

-----------------------------------*/
#exp_block {
	clip-path: polygon(60px 0, 100% 0, 100% 100%, 0 100%, 0 60px);
    background: #f0f0f5;
    padding-top: 67px;
    margin-bottom: 75px;
    position: relative;
}
#exp_block::before {
    content: "";
    width: 100%;
    height: calc(100% - 1px);
    clip-path: polygon(60px 0, 100% 0, 100% 100%, 0 100%, 0 60px);
    background: #FFF;
    position: absolute;
    top: 1px;
    left: 0;
    z-index: -1;
}
#exp_block .text_box {
	text-align: center;
}
#exp_block .text_box p {
	font-size: 23px;
	font-weight: 400;
	line-height: 1.6;
	margin-bottom: 26px;
}
#exp_block .ttl {
	font-size: 70px;
    font-weight: 700;
    letter-spacing: 0.3em;
	margin-bottom: 40px;
}
#exp_block .text_box .gray_bg {
    background-color: #999999;
    color: #fff;
    padding: 9px 44px;
    font-size: 18px;
    letter-spacing: 0.1rem;
    display: inline-block;
    margin-bottom: 60px;
}
#exp_block .img_box {
	margin-bottom: 50px;
}
#exp_block .intro_txt {
    text-align: center;
    line-height: 1.8;
    letter-spacing: 0;
	font-feature-settings: "palt";
	margin-bottom: 80px;
}
@media screen and (max-width: 1180px) {
	
}
@media screen and (max-width: 840px) {
	#features_block .features_box h3 {
		font-size: 30px;
	}
	#company_wrap .company_menu a {
		font-size: 13px;
		padding-left: 15px;
	}
}
@media screen and (max-width: 640px) {
	#exp_block {
		padding-top: 40px;
		clip-path: polygon(40px 0, 100% 0, 100% 100%, 0 100%, 0 40px);
	}
	#exp_block::before {
		clip-path: polygon(40px 0, 100% 0, 100% 100%, 0 100%, 0 40px);
	}
	#exp_block .text_box p {
		font-size: 16px;
	}
	#exp_block .ttl {
		font-size: 27px;
	}
	#exp_block .text_box .gray_bg {
		margin-bottom: 30px;
	}
	#exp_block .intro_txt {
		font-size: 13px;
		margin-bottom: 40px;
	}
	#exp_block .img_box {
		margin-bottom: 30px;
}
}
/*-----------------------------------

	features_block

-----------------------------------*/
#features_block .ttl_style {
	margin-bottom: 60px;
}
#features_block .features_box .row_box {
	display: flex;
	align-items: center;
	gap: 35px;
	margin-bottom: 40px;
}
#features_block .features_box h3 {
	font-size: 50px;
	font-weight: 900;
}
#features_block .features_box .features_inner .text_box p {
    line-height: 1.8;
    text-align: left;
}
#features_block .features_box.box_01 {
	margin-bottom: 160px;
}
#features_block .features_box.box_02 {
	margin-bottom: 125px;
}
/* box_02 */
#features_block .features_box.box_02 .features_inner {
	gap: 60px;
    align-items: baseline;
	margin-bottom: 80px;
}
#features_block .features_box.box_02 .features_inner .img_box {
	width: 620px;
}
#features_block .features_box.box_02 .features_inner .text_box {
	width: calc(100% - 680px);
}
#features_block .features_box.box_02 .features_inner .text_box .number_icon {
	margin-bottom: 40px;
}
#features_block .features_box.box_02 .features_inner .text_box h3 {
	margin-bottom: 40px;
}
#features_block .features_box.box_02 .thermo_box {
	width: 940px;
	max-width: 90%;
	margin: 0 auto;
}
#features_block .features_box.box_02 .thermo_box p {
	margin-top: 15px;
}
/* box_03 */
#features_block .features_box.box_03 .features_inner {
	gap: 136px;
	align-items: unset;
	margin-bottom: 140px;
}
#features_block .features_box.box_03 .features_inner .text_box {
	width: calc(100% - 650px);
	margin-top: 50px;
}
#features_block .features_box.box_03 .features_inner .text_box .number_icon {
	margin-bottom: 40px;
}
#features_block .features_box.box_03 .features_inner .text_box  h3 {
	margin-bottom: 45px;
}
#features_block .features_box.box_03 .features_inner .img_box {
	width: 514px;
}
#features_block .features_box .w800 {
	width: 800px;
	max-width: 90%;
	margin: 60px auto 60px;
}
#features_block .features_box p {
	text-align: center;
	letter-spacing: 0;
	font-feature-settings: "palt";
}
@media screen and (max-width: 1180px) {
	#features_block .features_box.box_02 .features_inner {
		gap: 30px;
	}
	#features_block .features_box h3 {
		font-size: 32px;
	}
	#features_block .features_box.box_02 .features_inner .img_box {
		width: 50%;
	}
	#features_block .features_box.box_02 .features_inner .text_box {
		width: calc(50% - 30px);
	}
	#features_block .features_box.box_03 .features_inner {
		gap: 60px;
	}
	#features_block .features_box.box_03 .features_inner .img_box {
		width: 50%;
	}
	#features_block .features_box.box_03 .features_inner .text_box {
		width: calc(50% - 60px);
		margin-top: 30px;
	}
}
@media screen and (max-width: 840px) {
	#features_block .features_box.box_01 {
    	margin-bottom: 100px;
	}

}
@media screen and (max-width: 640px) {
	#features_block .ttl_style {
		margin-bottom: 40px;
	}
	#features_block .features_box .row_box {
		gap: 30px;
		flex-wrap: wrap;
	}
	#features_block .features_box.box_02 {
		margin-bottom: 55px;
	}
	#features_block .features_box.box_02 .features_inner .text_box .text_box_inner,
	#features_block .features_box.box_03 .features_inner .text_box .text_box_inner {
		display: flex;
		gap: 20px;
		align-items: center;
	}
	#features_block .features_box.box_02 .features_inner .img_box,
	#features_block .features_box.box_02 .features_inner .text_box {
		width: 100%;
	}
	#features_block .features_box.box_03 .features_inner {
		margin-bottom: 60px;
		flex-wrap: wrap;
	}
	#features_block .features_box.box_03 .features_inner .text_box,
	#features_block .features_box.box_03 .features_inner .img_box {
		width: 100%;
	}
	#features_block .features_box h3 {
		font-size: 20px;
		line-height: 1.4;
	}
	#features_block .features_box .features_inner .text_box p {
		margin-top: 10px;
	}
	#features_block .features_box .w800 {
		margin: 30px auto 30px;
	}
	#features_block .features_box.box_01 {
    margin-bottom: 60px;
	}
	#features_block .features_box.box_01 .row_box .img_box {
		width: 70px;
	}
	#features_block .features_box h3 {
		width: calc(100% - 120px);
	}
}
/*-----------------------------------

	monitoring_block

-----------------------------------*/
#monitoring_block {
	padding: 0 0 80px;
}
#monitoring_block .monitoring_list {
	max-width: 1140px;
	display: flex;
	gap: 30px;
    margin: 50px auto 30px;
    flex-wrap: wrap;
	line-height: 1.2;
}
#monitoring_block .monitoring_list .monitoring_box {
	width: calc((100% - 30px) / 2);
    display: flex;
    gap: 20px;
    background-color: #eef0f3;
    padding: 0 35px 0 35px;
    height: 270px;
    line-height: 1.2;
    align-items: center;
}
#monitoring_block .monitoring_list .monitoring_box h4 {
	font-size: 38px;
    margin-bottom: 20px;
    font-weight: 900;
}
#monitoring_block .monitoring_list .monitoring_box p {
	font-size: 16px;
}
#monitoring_block .monitoring_list .monitoring_box .person_icon {
	width: 120px;
}
#monitoring_block .case_wrap {
	max-width: 1140px;
	margin: 0 auto;
	background-color: #eef0f3;
	padding: 75px;
}
#monitoring_block .case_wrap h4 {
	font-size: 38px;
    margin-bottom: 60px;
    font-weight: 900;
	text-align: center;
}
#monitoring_block .case_wrap .case_list .case_box {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 60px;
}
#monitoring_block .case_wrap .case_list .case_box:last-child {
	margin-bottom: 0;
}
#monitoring_block .case_wrap .case_list .case_box img {
	width: 40%;
}
#monitoring_block .case_wrap .case_list .case_box p {
	width: 51%;
    line-height: 1.8;
    letter-spacing: 0;
	font-feature-settings: "palt";
	position: relative;
}
#monitoring_block .case_wrap .case_list .case_box p::before {
	display: block;
    font-size: 22px;
    font-family: 'Exo 2', sans-serif;
    font-weight: 600;
    font-style: italic;
    color: #102657;
    background-color: #fff;
    border: 2px solid #102657;
    border-radius: 40px;
    width: 72px;
    height: 38px;
    text-align: center;
    line-height: 1.4;
    margin: auto;
    position: absolute;
    top: -48px;
    left: 0;
}
#monitoring_block .case_wrap .case_list .case_box:nth-of-type(1) p:before {
	content: "01";
}
#monitoring_block .case_wrap .case_list .case_box:nth-of-type(2) p:before {
	content: "02";
}
#monitoring_block .case_wrap .case_list .case_box:nth-of-type(3) p:before {
	content: "03";
}
#monitoring_block .case_wrap .case_list .case_box:nth-of-type(4) p:before {
	content: "04";
}

@media screen and (max-width: 1180px) {
	#monitoring_block .monitoring_list .monitoring_box {
		
	}
	#monitoring_block .monitoring_list .monitoring_box h4 {
		font-size: 2.3vw;
	}
	#monitoring_block .monitoring_list .monitoring_box .person_icon {
		width: 30%;
	}
	#monitoring_block .monitoring_list .monitoring_box .text_box {
		width: calc(70% - 20px);
	}
}
@media screen and (max-width: 840px) {
#monitoring_block .monitoring_list .monitoring_box {
	height: 180px;
}
}
@media screen and (max-width: 640px) {
	#monitoring_block {
		padding: 0px 0 40px;
	}
	#how_block .ttl_style {
		margin-bottom: 30px;
	}
	#monitoring_block .monitoring_list {
		gap: 10px;
	}
	#monitoring_block .monitoring_list .monitoring_box {
		width: 100%;
		padding: 0 15px 0 15px;
	}
	#monitoring_block .monitoring_list .monitoring_box h4 {
		font-size: 18px;
	}
	#monitoring_block .monitoring_list .monitoring_box p {
		font-size: 13px;
	}
	#monitoring_block .case_wrap h4 {
		font-size: 20px;
		line-height: 1.6;
		margin-bottom: 30px;
	}
	#monitoring_block .case_wrap {
		padding: 30px;
	}
	#monitoring_block .case_wrap .case_list .case_box {
		flex-wrap: wrap;
		margin-bottom: 30px;
	}
	#monitoring_block .case_wrap .case_list .case_box:nth-child(2) p {
		order: 2;
	}
	#monitoring_block .case_wrap .case_list .case_box img {
		width: 100%;
		margin-bottom: 10px;
	}
	#monitoring_block .case_wrap .case_list .case_box p {
		width: 100%;
	}
	#monitoring_block .case_wrap .case_list .case_box p::before {
		font-size: 18px;
		width: 62px;
    	height: 30px;
		top: -42px;
		right: 2px;
		left: auto;
	}
}
/*-----------------------------------

	how_block

-----------------------------------*/
#how_block p {
	line-height: 1.6;
}
#how_block .note_txt {
	color: #ff0003;
	text-align: center;
}
#how_block .ttl_style {
	margin-bottom: 50px;
}
#how_block .contents_inner>p {
	width: 860px;
	max-width: 90%;
	margin: 0 auto 30px;
	line-height: 1.6;
}
#how_block .how_table {
	width: 950px;
	max-width: 90%;
	margin: 0px auto 170px;
}
#how_block .how_table tr {
	display: flex;
	border-top: 1px solid #e6e6e6;
}
#how_block .how_table tr:last-child {
	border-bottom: 1px solid #e6e6e6;
}
#how_block .how_table tr th {
	width: 21%;
	display: block;
    background: #f9f9f9;
    font-weight: bold;
    text-align: left;
    padding-left: 50px;
    padding-top: 30px;
    padding-bottom: 30px;
	padding-right: 10px;
	line-height: 1.6;
}
#how_block .how_table tr td {
	width: 79%;
    display: block;
    padding: 30px;
    line-height: 1.6;
    word-wrap: break-word;
    overflow-wrap: break-word;
    text-align: justify;
}
#how_block .supplement_wrap .supplement_box .supplement_title {
	font-size: 23px;
	border: 1px solid #e6e6e6;
    padding: 30px;
	position: relative;
}
#how_block .supplement_wrap .supplement_box .supplement_title:not(:last-child) {
	margin-bottom: 10px;
}
#how_block .supplement_wrap .supplement_box .supplement_title::before {
	content: "";
	width: 40px;
	height: 40px;
	background-color: #e6e6e6;
	position: absolute;
	right: 30px;
	top: 0;
	bottom: 0;
	margin: auto 0;
}
#how_block .supplement_wrap .supplement_box .supplement_title.close::after {
    transform: rotate(-180deg);
}
#how_block .supplement_wrap .supplement_box .supplement_title::after {
	content: "";
    position: absolute;
        width: 15px;
    height: 9px;
    background: url(../img/koduchi/summary_arrow.svg) no-repeat center / contain;
    position: absolute;
    top: calc(50% - 4.5px);
    right: 42px;
    transition: 0.5s;
}
/* #how_block .supplement_wrap .supplement_box .supplement_title.active:after {
	transform: rotate(-45deg);
} */
#how_block .supplement_wrap .supplement_box:not(:first-of-type) .supplement_contents {
    display: none;
}
.supplement_contents {
	/* width: 860px; */
	max-width: 100%;
	margin-top: 35px;
	margin-bottom: 20px;
	padding-left: 35px;
	box-sizing: content-box;
}
#how_block .supplement_wrap .supplement_box .supplement_contents 
#how_block .supplement_wrap .supplement_box .supplement_contents p {
    margin-bottom: 50px;
    line-height: 1.6;
}
#how_block .supplement_wrap .supplement_box.box_02 .supplement_contents {
	margin-top: 30px;
}
#how_block .supplement_wrap .supplement_box.box_02 .supplement_contents p {
	margin-bottom: 35px;
}
#how_block .supplement_wrap .supplement_box .supplement_contents p span {
	color: #abb3c4;
	font-size: 12px;
}
#how_block .supplement_wrap .supplement_box .supplement_contents .contents_list {
	line-height: 2.4;
}
@media screen and (max-width: 1180px) {
	#how_block .supplement_wrap .supplement_box .supplement_contents {
		box-sizing: border-box;
		padding-left: 0;
	}
}
@media screen and (max-width: 840px) {
	#how_block .how_table tr {
		flex-wrap: wrap;
	}
	#how_block .how_table tr th {
		width: 100%;
		padding-left: 30px;
		padding-top: 15px;
		padding-bottom: 14px;
	}
	#how_block .how_table tr td {
		width: 100%;
		padding: 15px 10px 15px 30px;
	}
}
@media screen and (max-width: 640px) {
	#how_block .contents_inner>p {
		width: 100%;
	}
	#how_block .how_table {
		max-width: 100%;
		width: 100%;
		margin: 0px auto 80px;
	}
	#how_block .supplement_wrap .supplement_box .supplement_title {
		font-size: 18px;
		padding: 20px;
	}
	#how_block .supplement_wrap .supplement_box .supplement_title::before {
		right: 10px;
	}
	#how_block .supplement_wrap .supplement_box .supplement_title::after {
		right: 23px;
	}
	#how_block .supplement_wrap .supplement_box .supplement_contents p {
		margin-bottom: 20px;
	}
	#how_block .supplement_wrap .supplement_box.box_02 .supplement_contents p {
		margin-bottom: 20px;
	}
}
/*-----------------------------------

	law_block

-----------------------------------*/
#law_block {
	padding: 100px 0;
}
#law_block .law_title {
	position: relative;
    margin-top: 5px;
    margin-bottom: 70px;
    padding-bottom: 25px;
    font-size: 27px;
    padding-left: 3px;
}
#law_block .law_title::before,
#law_block .law_title::after {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 3px;
    background: #e6e6e6;
    content: "";
}
#law_block .law_title::after {
	width: 93px;
    background: #208cd5;
}
#law_block .law_table {
	width: 1010px;
	max-width: 90%;
	margin: 0px auto;
}
#law_block .law_table tr {
	display: flex;
	border-top: 1px solid #e6e6e6;
}
#law_block .law_table tr:last-child {
	border-bottom: 1px solid #e6e6e6;
}
#law_block .law_table tr th {
	width: 23%;
	display: block;
    background: #f9f9f9;
    font-weight: bold;
    text-align: left;
    padding-left: 50px;
    padding-top: 30px;
    padding-bottom: 30px;
	padding-right: 10px;
	line-height: 1.6;
	color: #102657;
}
#law_block .law_table tr td {
	width: 77%;
    display: block;
    padding: 30px;
    line-height: 1.6;
    word-wrap: break-word;
    overflow-wrap: break-word;
    text-align: justify;
}
@media screen and (max-width: 840px) {
	#law_block .law_table tr {
		flex-wrap: wrap;
	}
}
@media screen and (max-width: 640px) {
	#law_block {
		padding: 50px 0;
	}
	#law_block .law_title {
		font-size: 20px;
		margin-bottom: 40px;
	}
	#law_block .law_table {
		max-width: 100%;
		width: 100%;
	}
	#law_block .law_table tr th {
        width: 100%;
        padding-left: 30px;
        padding-top: 15px;
        padding-bottom: 14px;
    }
	#law_block .law_table tr td {
        width: 100%;
        padding: 15px 10px 15px 30px;
    }
}
/*-----------------------------------

	order_block

-----------------------------------*/
#order_block {

}

#order_block .order_wrapper {
    background: #f0f0f5;
	/* padding: 96px 0 96px 165px; */
    padding: 96px 150px;
    margin: 0 auto;
}
#order_block .order_wrapper .ttl_style {
	margin-bottom: 40px;
	/* margin-left: -140px; */
}
#order_block .text_box {
	margin-bottom: 40px;
}
#order_block .text_box p {
	line-height: 1.8;
	font-feature-settings: "palt";
}
#order_block .order_wrapper table th {
    width: 290px;
    padding: 28px 0 28px 15px;
    text-align: left;
    vertical-align: middle;
	display: flex;
	box-sizing: content-box;
	line-height: 1.6;
	color: #102657;
}
#order_block .order_wrapper table td {
    vertical-align: middle;
    padding: 20px 0 20px 0px;
}
#order_block .order_wrapper table td .value_wrap {
	display: flex;
	flex-wrap: wrap;
	gap: 50px;
}
#order_block .order_wrapper table td .shipping_wrap {
	/* margin-bottom: 30px; */
	line-height: 1.6;
}
#order_block .order_wrapper table th span {
    font-size: 14px;
    font-weight: 500;
    color: #FFFFFF;
    background: #eb0000;
    padding: 2px 9px;
    margin-right: 10px;
	height: fit-content;
}
#order_block .order_wrapper table td input {
	
}
#order_block .order_wrapper table td input[type='text'],
#order_block .order_wrapper table td input[type='email'],
#order_block .order_wrapper table td input[type='tel'],
#order_block .order_wrapper table td textarea {
	max-width: 470px;
    font-weight: 500;
    font-family: 'Noto Sans JP', sans-serif;
    width: 100%;
    padding: 14px;
    border: 1px solid #d3d3d3;
    border-radius: 3px;
    color: #1E3648;
	background-color: #fff;
}
#order_block .order_wrapper table td .selectbox {
	position: relative;
	max-width: 300px;
}
#order_block .order_wrapper table td .selectbox.w170>p {
	display: flex;
    align-items: center;
}
#order_block .order_wrapper table td .selectbox.w170>p .wpcf7-form-control-wrap {
	width: 100%;
}
#order_block .order_wrapper table td .selectbox span {
	margin-left: 5px;
}
#order_block .order_wrapper table td select {
	max-width: 300px;
    font-weight: 500;
    font-family: 'Noto Sans JP', sans-serif;
    width: 100%;
    padding: 20px;
    border: 1px solid #d3d3d3;
    border-radius: 3px;
    color: #1E3648;
	background-color: #fff;
	
}
#order_block .order_wrapper table td .selectbox::after {
    content: '';
    border: 0;
    width: 10px;
    height: 10px;
    border-style: solid;
    border-top: solid 2px #208cd5;
    border-right: solid 2px #208cd5;
    display: inline-block;
    position: absolute;
    top: 24px;
    margin: auto 0;
    right: 37px;
    transform: rotate(135deg);
    pointer-events: none;
}
.w120 {
	width: min(120px, 100%)!important;
}
.w160 {
	width: min(160px, 100%)!important;
}
.w170 {
	width: min(170px, 100%)!important;
}
.w300 {
	width: min(300px, 100%)!important;
}
#order_block .order_wrapper .form_txt .wpcf7-list-item-label {
    display: flex;
    position: relative;
    padding-left: 40px;
	font-weight: bold;
}
#order_block .order_wrapper .form_txt .wpcf7-list-item-label::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 28px;
    height: 28px;
    border: 1px solid #d3d3d3;
    border-radius: 50%;
	background-color: #fff;
}
#order_block .order_wrapper .form_txt .wpcf7-list-item-label::after {
    content: "";
    position: absolute;
    left: 4px;
    top: 0px;
    bottom: 0;
    margin: auto;
    width: 20px;
    height: 20px;
    background: transparent;
    border-radius: 50%;
	background: #208cd5;
	opacity: 0;
}
#order_block .order_wrapper input[type="radio"]:checked + .wpcf7-list-item-label::after, #contact_block input[type="checkbox"]:checked + .wpcf7-list-item-label::after {
    opacity: 1;
}
#order_block .order_wrapper .postal_box {
	display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: nowrap;
	gap: 10px;
	max-width: 470px;
}
#order_block .order_wrapper .postal_box .value_box {
	display: flex;
    flex-wrap: wrap;
    width: min(285px, 100%);
	justify-content: center;
}
#order_block .order_wrapper .postal_box p {
	display: contents;
}
#order_block .order_wrapper .postal_box p span {
	display: contents;
}
#order_block .order_wrapper .postal_box p .mark {
	display: block;
}
.note_text {
	margin-top: 30px;
	margin-bottom: 10px;
	line-height: 1.4;
}
#order_block .order_wrapper .postal_box,
#order_block .order_wrapper .address_box,
#order_block .order_wrapper .address_detail_box {
	margin-bottom: 15px;
}
#order_block .order_wrapper .postal_box p,
#order_block .order_wrapper .address_box p,
#order_block .order_wrapper .address_detail_box p {
	margin-bottom: 10px;
}
#order_block table td .postal_box button {
    all: unset;
    background: #929292;
    color: #fff;
    padding: 11px;
    cursor: pointer;
	margin-left: auto;
	white-space: nowrap;
	font-size: 14px;
}
#order_block .order_wrapper .privacy_box {
	margin: 50px 0 30px;
    border: 1px solid #d3d3d3;
    border-radius: 5px;
    padding: 45px 35px;
}
#order_block .order_wrapper .privacy_box .privacy_txt {
    line-height: 1.8;
    margin-bottom: 35px;
}
#order_block .order_wrapper .privacy_box .privacy_txt:last-child {
	margin-bottom: 0;
}
.privacy_box {
	padding: 55px 30px;
}
.privacy_box h2 {
	font-size: 27px;
	padding-bottom: 30px;
	margin-bottom: 40px;
	position: relative;
	text-align: center;
}
.privacy_box h2::after {
	content: "";
    width: 90px;
    height: 3px;
    background-color: #208cd5;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
}
.privacy_box {
    margin-top: 47px;
    border-top: 1px solid #e6e6e6;
    padding-top: 41px;
    margin-bottom: 72px;
}

.privacy_check {
    display: grid;
    place-content: center;
}
.privacy_check .wpcf7-list-item-label {
    line-height: 2;
    letter-spacing: 0.03em;
    position: relative;
    cursor: pointer;
    padding-left: 51px;
	display: inline-block;
}
.privacy_check .wpcf7-list-item-label::before,
.privacy_check .wpcf7-list-item-label::after {
    content: "";
    display: block;
    position: absolute;
}
.privacy_check .wpcf7-list-item-label::before {
    background-color: #fff;
    border: 1px solid #cccccc;
    width: 28px;
    height: 28px;
    top: 0;
    left: 0;
	border-radius: 3px;
}
#order_block .privacy_check input[type="checkbox"]:checked + .wpcf7-list-item-label::before {
    border-color: #208cd5;
}
.privacy_check .wpcf7-list-item-label::after {
    border-bottom: 3px solid #208cd5;
    border-left: 3px solid #208cd5;
    opacity: 0;
    height: 12px;
    width: 21px;
    transform: rotate(-45deg) translateY(-100%);
    top: 15px;
    left: 12px;
    margin: auto;
}
#order_block .btnArea {
    display: flex;
    justify-content: center;
    gap: 0 40px;
	margin-top: 60px;
}
#order_block .submit {
    display: block;
    font-weight: 500;
    letter-spacing: 0.03em;
    width: 275px;
    padding: 25px 10px 25px 0;
    text-align: center;
    border: 1px solid #e6e6e6;
    border-radius: calc(1px / 0);
	color: #fff;
    background: #999999 url(../img/common/icon_arrow_wh.svg) no-repeat calc(100% - 25px) center / 15px;
}
#order_block .privacy_check input[type="checkbox"]:checked + .wpcf7-list-item-label::after {
    opacity: 1;
}
@media screen and (max-width: 1300px) {
	#order_block .order_wrapper {
		padding: 96px 80px;
	}
}
@media screen and (max-width: 1180px) {
	#order_block .order_wrapper {
        padding: 96px 50px 96px 50px;
    }
	#order_block .order_wrapper .postal_box {
		flex-wrap: wrap;
	}
	.w160 {
    	width: min(110px, 100%) !important;
	}
}
@media screen and (max-width: 840px) {
	#order_block .order_wrapper table th,
	#order_block .order_wrapper table td {
		display: block;
		width: 100%;
	}
}
@media screen and (max-width: 640px) {
	#order_block .text_box {
		margin-bottom: 20px;
	}
	#order_block .order_wrapper {
		padding: 36px 20px 36px 20px;
	}
	#order_block .order_wrapper table th {
		padding: 18px 0 5px 0px;
	}
	#order_block .order_wrapper .postal_box {
		/* justify-content: space-between; */
		gap: 5px;
	}
	#order_block .order_wrapper .address_detail_box {
		margin-bottom: 0;
	}
	#order_block .order_wrapper .privacy_box {
		padding: 25px 15px;
	}
	.privacy_box h2 {
		font-size: 20px;
		padding-bottom: 15px;
		margin-bottom: 20px;
	}
	#order_block .order_wrapper .privacy_box .privacy_txt {
		margin-bottom: 20px;
	}
	#order_block .btnArea {
		margin-top: 30px;
	}
}

.red {
	color: #ff0000;
}

/*-----------------------------------

	確認画面

-----------------------------------*/
#order_block.confirm {
	clip-path: polygon(60px 0, 100% 0, 100% 100%, 0 100%, 0 60px);
    background: #f0f0f5;
    padding-top: 67px;
    margin-bottom: 75px;
    position: relative;
}
#order_block.confirm::before {
    content: "";
    width: 100%;
    height: calc(100% - 1px);
    clip-path: polygon(60px 0, 100% 0, 100% 100%, 0 100%, 0 60px);
    background: #FFF;
    position: absolute;
    top: 1px;
    left: 0;
    z-index: -1;
}
#order_block.confirm .order_wrapper table td .selectbox::after {
	display: none;
}
#order_block.confirm .btnArea p {
	display: flex;
    justify-content: center;
    gap: 0 20px;
}
#order_block.confirm .back {
    background: #999999 url(../img/common/icon_arrow_wh_lt.svg) no-repeat 25px center / 15px;
    padding: 20px 0 20px 10px;
}
input.wpcf7-form-control.wpcf7-text.shipping2,
input.wpcf7-form-control.wpcf7-text.customer_type2 {
    position: absolute;
	top: 0;
	left: -50vw;
}
@media screen and (max-width: 640px) {
	#order_block.confirm .btnArea {
        flex-direction: column;
        align-items: center;
        gap: 20px;
		margin-top: 20px;
    }
	#order_block.confirm .btnArea p {
		flex-direction: column;
        align-items: center;
        gap: 20px;
        margin-top: 20px;
	}
	#order_block.confirm .submit {
        font-size: 12px;
        width: 175px;
        padding: 15px 5px 15px 0;
        background: #999999 url(../img/common/icon_arrow_wh.svg) no-repeat calc(100% - 15px) center / 12px;
    }
	#order_block.confirm .back {
        padding: 15px 0 15px 5px;
        background: #999999 url(../img/common/icon_arrow_wh_lt.svg) no-repeat 15px center / 12px;
    }
}
/*-----------------------------------

	完了画面

-----------------------------------*/
#order_block.complete {
	clip-path: polygon(60px 0, 100% 0, 100% 100%, 0 100%, 0 60px);
    background: #f0f0f5;
    padding-top: 67px;
    margin-bottom: 75px;
    position: relative;
}
#order_block.complete::before {
    content: "";
    width: 100%;
    height: calc(100% - 1px);
    clip-path: polygon(60px 0, 100% 0, 100% 100%, 0 100%, 0 60px);
    background: #FFF;
    position: absolute;
    top: 1px;
    left: 0;
    z-index: -1;
}
#order_block.complete h2 {
	font-size: 30px;
	line-height: 1.4;
	letter-spacing: 0.03em;
	text-align: center;
	margin-bottom: 32px;
}
#order_block.complete p {
	line-height: 1.8;
	text-align: center;
}

@media screen and (max-width: 640px) {
#contact_block.complete h2 {
		font-size: 20px;
		margin-bottom: 22px;
	}
	#contact_block.complete p {
		font-size: 13px;
	}
}

.wpcf7-not-valid-tip {
	margin-top: 5px;
}
.wpcf7-spinner {
	display: none;
}
.wpcf7-list-item {
	margin-left: 0;
	margin-right: 1em;
	margin-bottom: 1em;
}
/*-----------------------------------

	gap

-----------------------------------*/
#gap {
	height: 280px;
}
@media screen and (max-width: 640px) {
	#gap {
		height: 160px;
	}
}