/*
Theme Name:shoptimizer_child
Theme URI: 
Description: Child theme of Shoptimizer
Author: CommerceGurus
Author URI:
Template:shoptimizer
Version: 1.2.2
License:         	GNU General Public License v2 or later
License URI:     	http://www.gnu.org/licenses/gpl-2.0.html
*/


body.woocommerce,
body.page-template-default,
body.archive,
body.search,
body {
	font-family: YuMincho, "Hiragino Mincho ProN", serif;
	margin: 0;
	color: #545454;
	background-color: #F7F7F5;
	word-wrap: break-word;
	overflow-wrap: break-word;
	line-height: 1;
}

.post-type-archive input,
.post-type-archive select {
	-webkit-appearance: none;
	appearance: none;
}

input,
select {
	font-family: YuMincho, "Hiragino Mincho ProN", serif;
}

button {
	cursor: pointer;
}

*,
*:before,
*:after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

body a {
	text-decoration: none;
	width: 100%;
	color: #545454;
}

body a:hover {
	opacity: 50%;
}

body img {
	width: 100%;
}

ul,
li {
	list-style: none;
	margin-block-start: 0;
	margin-block-end: 0;
	margin-inline-start: 0;
	margin-inline-end: 0;
	padding-inline-start: 0;
}

li>ol,
li>ul {
	margin: 0;
}

.site-content ul li {
	margin: 0;
}

/* font */
.notosans {
	font-family: 'Noto Sans JP';
}

/*h2*/
h1,
h2 {
	font-size: 26px;
	line-height: 30px;
	letter-spacing: 0.8px;
	font-weight: 400;
	padding-bottom: 14px;
	max-width: 822px;
	position: relative;
	margin: 0;
	font-family: YuMincho, "Hiragino Mincho ProN", serif !important;
}

h1 {
	max-width: none;
}

h2.h2_deco {
	border-bottom: 1px solid #FF9BA6;
}

h2 span {
	font-size: 16px;
	line-height: 1;
	letter-spacing: 0;
	color: #FF9BA6;
	font-weight: 500;
	display: block;
	padding-bottom: 20px;
}

h2.h2_deco:after {
	position: absolute;
	content: '';
	display: block;
	right: 0;
	bottom: 0;
	background-image: url(./assets/image/h2_deco.png);
	background-repeat: no-repeat;
	background-size: 100%;
	width: 113px;
	height: 60px;
}

h2.h2_center {
	text-align: center;
}

@media screen and (max-width: 992px) {
	h2 {
		font-size: 20px !important;
		line-height: 22px !important;
		max-width: none;
	}

	h2.h2_deco:after {
		width: 80px;
		height: 42.5px;
	}
}

/*------------------------------
--------------------------------
  button  
--------------------------------
------------------------------*/
/*common*/
.btn {
	width: 300px;
	height: 60px;
	border-radius: 50px;
	margin: 0 auto;
}

.btn:hover {
	background: #fff;
}

.btn a {
	font-size: 18px;
	line-height: 28px;
	letter-spacing: 0.9px;
	color: #fff;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: 600;
}

/*line button*/
.line_btn {
	background: #00C300;
	line-height: 1;
	border: 1px solid #00C300;
}

.line_btn a {
	position: relative;
	width: 100%;
	height: 100%;
	padding-left: 43px;
}

.line_btn a:before {
	position: absolute;
	content: '';
	display: block;
	width: 39px;
	height: 15px;
	left: 30px;
	background-image: url(./assets/image/line_icon.svg);
	background-size: 100%;
	background-repeat: no-repeat;
}

.line_btn:hover a:before {
	background-image: url(./assets/image/line_icon_green.svg);
}

.line_btn:hover,
.order_btn:hover {
	background: #fff;
}

.line_btn:hover a {
	color: #00C300;
	opacity: 100%;
}

.btn.line_btn a {
	padding-left: 65px;
}

.btn.line_btn a:before {
	left: 62px;
	width: 62px;
	height: 24px;
}

.btn.line_btn a,
.btn.order_btn a {
	font-size: 20px;
	line-height: 24px;
	letter-spacing: 1px;
	font-weight: 700;
	display: flex;
}

/*order button*/
.order_btn {
	background: #FF586A;
	border: 1px solid #FF586A;
}

.order_btn:hover a {
	color: #FF586A;
	opacity: 100%;
}

/*category button*/
.category_btn {
	border: 1px solid #FF9BA6;
	background: #FF9BA6;
	position: relative;
}

.category_btn:before {
	position: absolute;
	content: '';
	display: block;
	width: 9px;
	height: 15px;
	top: 50%;
	left: 35px;
	transform: translateY(-50%);
	background-image: url(./assets/image/arrow_btn_w.svg);
}

.category_btn:hover:before {
	background-image: url(./assets/image/arrow_btn.svg);
}

.category_btn:hover a {
	color: #FF9BA6;
	opacity: 100%;
}

@media screen and (max-width: 992px) {
	.btn {
		width: 250px;
	}

	.btn a {
		font-size: 16px;
	}

	.btn.category_btn a {
		padding-left: 20px;
	}
}


/*------------------------------
--------------------------------
  header  
--------------------------------
------------------------------*/
#masthead {
	height: 40px;
	background: #F7F7F5;
}


#masthead,
.col-full-nav,
.shop header.woocommerce-products-header {
	display: none;
}

.archive-header {
	height: 145px;
	width: 100%;
}

header.pc,
header.sp {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 999;
	width: 100%;
}

header.pc {
	display: block;
}

header.sp {
	display: none;
}

.topbar {
	background: #F7F7F5;
	height: 40px;
	display: flex;
	justify-content: flex-end;
	align-items: center;
}

.topbar ul {
	display: flex;
}

.topbar ul+ul {
	padding-left: 54px;
}

.topbar ul.mypage {
	padding-left: 48px;
}

.topbar ul.header_btn {
	padding-left: 54px;
}

.topbar ul.sns {
	height: 24px;
}

.topbar ul.mypage {
	height: 20px;
}

.topbar ul li+li {
	padding-left: 24px;
}

.topbar ul li.cart,
.header_menu_sp_right ul li.cart {
	position: relative;
}

.topbar ul li.cart span.quantity_badge,
.header_menu_sp_right ul li.cart span.quantity_badge {
	position: absolute;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 14px;
	height: 14px;
	bottom: -2px;
	right: -12px;
	font-size: 10px;
	line-height: 0.8;
	color: #fff;
	background: #FF586A;
	border-radius: 50%;
}

.topbar ul.header_btn {
	height: 100%;
}

.topbar ul.header_btn li+li {
	padding-left: 0px;
}

.header_btn li {
	width: 150px;
}

.header_btn li a {
	color: #fff;
	line-height: 1;
	font-size: 16px;
	font-weight: bold;
	letter-spacing: 0.8px;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
}

nav.header_menu {
	background: #fff;
	border-top: 1px solid #E8E7E3;
}

nav.header_menu ul.header_menu_inner {
	padding: 16px 0;
	display: flex;
	justify-content: center;
	align-items: center;
}

nav.header_menu ul.header_menu_inner li.logo {
	width: 180px;
	height: 73px;
}

nav.header_menu ul.header_menu_inner li.logo a {
	display: flex;
	align-items: center;
	height: 100%;
}

nav.header_menu ul.header_menu_inner li ul {
	display: flex;
	justify-content: center;
	align-items: center;
}

nav.header_menu ul.header_menu_inner li ul li {
	border-left: 1px solid #E8E7E3;
	padding: 5px 0;
	margin-left: 23.5px;
}

nav.header_menu ul.header_menu_inner li ul li a {
	letter-spacing: 0.8px;
	line-height: 1;
	font-size: 16px;
	font-weight: 500;
	display: block;
	padding-left: 23.5px;
}

nav.header_menu ul.header_menu_inner li ul li a span {
	color: #C7B994;
	font-size: 12px;
	line-height: 14px;
	letter-spacing: -0.1px;
	display: block;
	padding-top: 8px;
}


@media screen and (min-width: 1080px) and (max-width: 1279px) {
	nav.header_menu ul.header_menu_inner li ul li {
		margin-left: 10px;
	}

	nav.header_menu ul.header_menu_inner li ul li a {
		padding-left: 10px;
	}
}

@media screen and (max-width: 1079px) {
	.archive-header {
		height: 70px;
	}

	header.pc {
		display: none;
	}

	header.sp {
		display: block;
		background: #fff;
		z-index: 999;
		position: fixed;
	}

	nav.header_menu_sp {
		display: flex;
		justify-content: space-between;
		align-items: center;
		height: 70px;
		padding: 0 16px;
	}

	.header_menu_sp .logo {
		width: 130px;
	}

	.header_menu_sp_right {
		display: flex;
		justify-content: flex-end;
		align-items: center;
	}

	.header_menu_sp .mypage {
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 15px;
		height: 20px;
		margin-right: 36px;
	}
}

/*------------------------------
--------------------------------
  Drawer Menu  
--------------------------------
------------------------------*/
.drawer_menu {
	width: 27px;
	height: 22px;
}

.drawer_btn:hover {
	opacity: 50%;
	cursor: pointer;
}

.drawer_menu .drawer_bg {
	width: 100%;
	height: 100%;
	position: fixed;
	z-index: 9;
	background-color: rgba(0, 0, 0, 0.5);
	display: none;
	top: 70px;
	left: 0;
}

.drawer_menu .drawer_btn {
	display: block;
	width: 100%;
	height: 100%;
	position: relative;
}

.drawer_menu .drawer_btn span {
	position: absolute;
	display: block;
	width: 100%;
	height: 2px;
	left: 0;
	background: #545454;
	transition: all 0.2s;
}

.drawer_menu .drawer_btn span.bar1 {
	top: 0;
}

.drawer_menu .drawer_btn span.bar2 {
	top: calc(50% - 1px);
}

.drawer_menu .drawer_btn span.bar3 {
	bottom: 0;
}

.drawer_menu .drawer_btn.active span.bar1 {
	transform: rotate(45deg);
	top: calc(50% - 2px / 2);
}

.drawer_menu .drawer_btn.active span.bar2 {
	opacity: 0;
}

.drawer_menu .drawer_btn.active span.bar3 {
	transform: rotate(-45deg);
	top: calc(50% - 2px / 2);
}

.drawer_btn.active:hover+.drawer_bg {
	opacity: 1;
}

.drawer_bg:hover {
	opacity: 1;
}

.drawer_nav_wrap {
	width: 375px;
	height: 100%;
	transition: all 0.5s;
	transform: translateX(100%);
	position: fixed;
	top: 70px;
	right: 0;
	z-index: 99;
	background-color: #fff;
	padding: 0px 0 40px;
	overflow-y: scroll;
	padding-bottom: 80px;
}

.drawer_nav_wrap.open {
	transform: translateX(0);
}

.drawer_cv_btn {
	display: flex;
	align-items: center;
}

.drawer_cv_btn li {
	width: 50%;
	height: 60px;
}

.drawer_cv_btn li a {
	color: #fff;
	font-size: 18px;
	line-height: 24px;
	letter-spacing: 0.9px;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	font-weight: 700;
}

.drawer_cv_btn li.line_btn a {
	margin-left: 5px;
}

.drawer_cv_btn li.order_btn a {
	font-size: 20px;
	line-height: 24px;
	letter-spacing: 1px;
}

.drawer_cv_btn .line_btn a:before {
	width: 50px;
	height: 19.2px;
	left: 15px;
}

.drawer_item,
.request_drawer,
.drawer_accordion,
.submenu li {
	border-bottom: 0.5px dashed #C7B994;
}

.submenu li {
	background: #F7F7F5;
}

.drawer_item a,
.request_drawer,
.drawer_accordion,
.submenu li a {
	display: block;
	font-size: 16px;
	line-height: 24px;
	padding: 18px 18px 18px 36px;
	font-weight: 600;
	letter-spacing: 0.8px;
}

.drawer_accordion {
	padding: 0;
}

.drawer_item:first-child {
	border-top: 0.5px dashed #C7B994;
}

.drawer_item:hover a:not(.drawer_accordion) {
	background: #F7F7F5;
	opacity: 1;
}

.drawer_item span,
.request_drawer span {
	padding-left: 22px;
	font-size: 12px;
	line-height: 14px;
	color: #C7B994;
	letter-spacing: 0;
}

.request_drawer {
	position: relative;
}

.request_drawer:after {
	position: absolute;
	content: '';
	display: block;
	right: 18px;
	top: 50%;
	width: 7.5px;
	height: 7.5px;
	border-top: 2px solid #545454;
	border-right: 2px solid #545454;
	transform: translateY(-50%) rotate(135deg);
}

.request_drawer:hover {
	cursor: pointer;
}

.drawer_accordion {
	display: none;
}

.request_drawer.active+.drawer_accordion {
	display: block;
}

.request_drawer.active:after {
	right: 14px;
	transform: translateX(-50%) rotate(-45deg);
}

.submenu li a {
	padding: 18px 18px 18px 60px;
	position: relative;
}

.submenu li a:before,
.drawer_policy li a:before {
	position: absolute;
	content: '';
	display: block;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #C7B994;
	left: 36px;
	top: 50%;
	transform: translateY(-50%);
}

.drawer_policy li a:before {
	left: 39px;
}

.submenu li a:hover {
	color: #fff;
	background: #C7B994;
	opacity: 1;
}

.submenu li a:hover:before {
	background: #fff;
}

.drawer_policy li a {
	display: block;
	font-size: 16px;
	letter-spacing: 0.8px;
	padding: 18px 18px 16px 64px;
	font-weight: 400;
	position: relative;
}

.drawer_policy li a:hover {
	background: #F7F7F5;
	opacity: 1;
}

.drawer_sns_btn div {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 24px;
	height: 72px;
}

.drawer_sns_btn div a {
	height: 24px;
	width: auto;
}


/*------------------------------
--------------------------------
  sidebar
-------------------------------
------------------------------*/

.woocommerce.archive .secondary-wrapper {
	padding-top: 0;
}

.woocommerce.archive.left-woocommerce-sidebar #secondary {
	float: none;
}

#secondary {
	width: 410px !important;
	padding: 0 48px;
	clear: both;
}

/*検索フォーム*/
#secondary .widget.widget_product_search {
	margin-bottom: 0;
	padding-bottom: 42px;
	border-bottom: 0.5px dashed #8E8E8E;
}

.widget_product_search form {
	border: 0.5px solid #8E8E8E;
	border-radius: 10px;
	background: #fff;
	position: relative;
	margin-bottom: 0;
}

#secondary input[type=search] {
	border: none;
	outline: none;
	font-size: 16px;
	line-height: 1.5;
	letter-spacing: 0.8px;
	width: 100%;
	padding: 18px 50px 18px 16px;
	border-radius: 10px;
}

#secondary input[type=search]:placeholder {
	color: #8E8E8E;
}

.widget_product_search form button[type=submit] {
	width: 50px;
	height: 60px;
	padding: 0;
	left: auto;
	right: 0;
	background: transparent;
	z-index: 1;
}

.widget_product_search form button[type=submit]:hover,
#secondary button:hover {
	opacity: 50%;
	cursor: pointer;
}

.woocommerce-product-search:before {
	display: none;
}

.woocommerce-product-search:after {
	position: absolute;
	display: block;
	content: '';
	background-image: url(./assets/image/search_icon.svg);
	background-repeat: no-repeat;
	background-size: 100%;
	width: 18px;
	height: 20px;
	top: 50%;
	right: 16px;
	transform: translateY(-40%);
}

#secondary .widget {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none;
}

.commercekit-ajs-view-all-holder>a {
	background: #FF9BA6;
}

#secondary .widget .commercekit-ajs-view-all-holder>a {
	color: #fff;
}

/*サイドバーメニュー*/
.widget-area .widget a:not(.button):hover {
	text-decoration: none;
}

#secondary .widget ul#menu-sidemenu li.menu-item,
#secondary .widget ul#menu-sidemenu-1 li.menu-item {
	margin-bottom: 0;
	font-size: 14px;
	line-height: 1.5;
}

#secondary .widget ul#menu-sidemenu li.menu-item a,
#secondary .widget ul#menu-sidemenu-1 li.menu-item a {
	padding: 42px 24px 42px 56px;
	display: block;
	font-size: 18px;
	line-height: 28px;
	letter-spacing: 0.9px;
	color: #545454;
	position: relative;
	border-bottom: 0.5px dashed #545454;
}

#secondary .widget ul#menu-sidemenu li.menu-item a:before,
#secondary .widget ul#menu-sidemenu-1 li.menu-item a:before {
	position: absolute;
	content: '';
	display: block;
	width: 9px;
	height: 15px;
	left: 24px;
	top: 50%;
	transform: translateY(-50%);
	background-image: url(./assets/image/arrow_btn.svg);
	background-repeat: no-repeat;
	background-size: 100%;
}

#secondary .widget ul#menu-law {
	padding: 42px 24px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

#secondary .widget ul#menu-law li {
	position: relative;
	padding-left: 24px;
	margin-bottom: 16px;
}

#secondary .widget ul#menu-law li:before {
	position: absolute;
	content: '';
	display: block;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #C7B994;
	top: 50%;
	left: 0px;
	transform: translateY(-50%);
}

#secondary .widget ul#menu-law li a {
	display: block;
	font-size: 16px;
	color: #545454;
	letter-spacing: 0.8px;
}

@media screen and (max-width: 992px) {

	.woocommerce.archive #secondary {
		width: 100% !important;
	}

	.archive-header .secondary-wrapper {
		width: 100%;
		display: block;
	}

	.woocommerce.archive .secondary-wrapper {
		width: 100%;
		margin-top: 48px;
	}

	#secondary .widget.widget_product_search {
		padding-bottom: 24px;
	}

	#secondary .widget ul#menu-sidemenu li.menu-item a,
	#secondary .widget ul#menu-sidemenu-1 li.menu-item a {
		padding: 16px 24px 16px 56px;
	}

	#secondary .widget ul#menu-law {
		padding: 16px 24px;
		gap: 28px;
	}

	#secondary .widget ul#menu-law li {
		margin-bottom: 0;
	}

	.page-template-template-woocommerce-archives #secondary,
	.woocommerce.archive #secondary {
		order: 1;
		opacity: 1;
		visibility: visible;
		position: static;
		z-index: 0;
		top: auto;
		left: 0;
		padding: 0;
		background: transparent;
	}
}


/*------------------------------
--------------------------------
  footer
-------------------------------
------------------------------*/
footer.original {
	display: block;
	width: 100%;
	background: #281E09;
}

footer.original a {
	color: #fff;
	display: block;
	font-size: 16px;
	letter-spacing: 0.8px;
}

.footer_nav {
	padding: 50px 140px 48px;
	border-bottom: 1px solid rgba(199, 185, 148, 0.3);
}

.footer_nav_inner {
	display: flex;
	justify-content: space-between;
	gap: 3.5%;
}

.nav_column {
	width: 31%;
	max-width: 300px;
}

.nav_column a.nav_category {
	padding: 48px 0.5em 48px 25px;
	position: relative;
	border-bottom: 1px solid rgba(199, 185, 148, 0.3);
	font-weight: 600;
}

.nav_column a.nav_category:before {
	position: absolute;
	content: '';
	display: block;
	width: 9px;
	height: 15px;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	background-image: url(./assets/image/arrow_btn.svg);
	background-repeat: no-repeat;
	background-size: 100%;
}

.nav_column .nav_list li {
	padding: 16px 0.5em 16px 44px;
	position: relative;
	border-bottom: 1px solid rgba(199, 185, 148, 0.3);
}

.nav_column .nav_list li:before {
	position: absolute;
	content: '';
	display: block;
	width: 8px;
	height: 8px;
	top: 50%;
	left: 22px;
	transform: translate(-50%, -50%);
	border-radius: 50%;
	background: #C7B994;
}

.nav_column .sns_link {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 23px;
	height: 72px;
}

.nav_column .sns_link a {
	display: block;
	width: auto;
	height: 24px;
}

footer.original .line_btn:hover a {
	color: #00C300;
}

footer.original .order_btn:hover a {
	color: #FF586A;
}

footer.original .btn+.btn {
	margin-top: 24px;
}

.copyright {
	width: 100%;
	height: 64px;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	font-size: 14px;
	line-height: 16px;
	letter-spacing: 0.7px;
}

.pagetop {
	display: none;
	width: 100%;
	height: 64px;
	color: #fff;
	font-size: 16px;
	letter-spacing: 0.8px;
	background: #FF9BA6;
	border: 1px solid #FF9BA6;
	position: fixed;
	bottom: 0;
}

.pagetop:hover {
	background: #fff;
	color: #FF9BA6;
}

.pagetop div {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	width: 100%;
	height: 100%;
	padding-left: 32px;
	font-weight: 700;
}

.pagetop div:before {
	position: absolute;
	content: '';
	display: block;
	width: 16px;
	height: 10px;
	top: 50%;
	left: calc(50% - 56px);
	transform: translateY(-50%);
	background-image: url(./assets/image/pagetop_w.svg);
	background-repeat: no-repeat;
	background-size: 100%;
}

.pagetop div:hover:before {
	background-image: url(./assets/image/pagetop.svg);
}

@media screen and (max-width: 992px) {
	.pagetop {
		display: flex;
	}

	.copyright.message_sp,
	.pagetop.message_sp {
		display: none;
	}

	footer nav {
		display: none;
	}
}


/*------------------------------------------------------------*/
/*画面下部右下メッセージ*/
body.bm-mobile-device #bp-better-messages-mini-mobile-open.bm-initialized {
	display: none;
}

/*画面下部左側カート*/
.woofc-count {
	display: none;
}

/*画面右下のメッセージアイコン*/
#bp-better-messages-mini-mobile-open.bm-initialized {
	display: none;
}


.page .shoptimizer-archive .archive-header>.col-full {
	padding-top: 145px;
}

.page .shoptimizer-archive .archive-header+.col-full {
	padding-top: 98px;
}



/*コンテンツエリア共通*/
.home .shoptimizer-archive>.col-full,
.tax-product_cat .shoptimizer-archive>.col-full {
	width: 100%;
	max-width: 1280px;
	margin: 0 auto;
	padding: 98px 0;
	display: flex;
	flex-wrap: wrap;
}

.home .col-full #primary,
.tax-product_cat .col-full #primary {
	width: calc((100% - 410px) * 0.945);
	clear: both;
	order: 1;
	padding-top: 0;
	font-family: YuMincho, "Hiragino Mincho ProN", serif;
	color: #545454;
}

body .shoptimizer-sorting {
	display: none;
}

.flex_wrap {
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 48px;
}



/*商品共通*/
ul.products li.product .button.add_to_cart_button {
	display: none;
}

#commercekit-wishlist-popup {
	display: none !important;
}

/*下層共通*/
.site-content .woocommerce-breadcrumb {
	display: none;
}

@media screen and (max-width: 992px) {
	.flex_wrap {
		gap: 24px;
	}

	.mobile-filter {
		display: none;
	}

	.home .shoptimizer-archive>.col-full,
	.tax-product_cat .shoptimizer-archive>.col-full {
		padding: 48px 0;
		width: 91.2%;
		margin: 0 auto;
	}

	.home .col-full #primary,
	.tax-product_cat .col-full #primary {
		width: 100%;
		order: 0;
	}
}

/*---追加コンテンツ---*/
:root {
	--white: #fff;
	--step_main: #c7b994;
}

.line .pc {
	display: block;
}

.line .sp {
	display: none;
}

section.line,
section.how_to_order {
	font-family: YuMincho, 'Hiragino Mincho ProN', serif;
}

.line figure {
	margin: 0;
}

/*----*/
.how_to_order h2 {
	font-size: 26px;
	letter-spacing: .05em;
	margin-bottom: 48px;
	padding-bottom: 0;
}

.site-content ol li.order_step {
	margin-bottom: 0;
}

.site-content ol li.order_step+.order_step {
	margin-top: 24px;
}

.how_to_order ol {
	margin: 0;

	padding-inline-start: 0;
}

.step_header {
	padding-top: 12px;
	padding-bottom: 13px;
	padding-left: 48px;

	border-radius: 10px 10px 0 0;
	background: var(--step_main);
}

.step_ttl {
	display: flex;
	align-items: center;

	gap: 16px;
}

.step_ttl h3 {
	font-family: YuMincho, 'Hiragino Mincho ProN', serif;
	margin: 0;
}

.step_no {
	width: 45px;
	height: 45px;

	text-align: center;

	color: var(--step_main);
	border-radius: 22px;
	background: var(--white);
}

.step_no p {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 12px;
	font-weight: 500;
	line-height: 12px;

	display: flex;
	align-self: center;
	flex-direction: column;

	margin-top: 5px;
	margin-bottom: 4px;
}

.step_no p span {
	font-family: YuMincho, 'Hiragino Mincho ProN', serif !important;
	font-size: 22px;
	font-weight: 600;
	line-height: 20px;

	margin-top: 20px;

	transform: rotate(-90deg);
	letter-spacing: .05em;

	writing-mode: vertical-rl;
}

.step_header h3 {
	font-size: 20px;
	font-weight: 600;
	line-height: 30px;

	letter-spacing: .05em;

	color: var(--white);
}


.step_body {
	display: flex;

	padding: 24px 48px;

	background: var(--white);

	gap: 48px;
}

.step_rev {
	flex-direction: row-reverse;
}

.step_cont {
	width: calc(70% - 48px);
}

.step_cap {
	font-size: 16px;
	font-weight: 400;
	line-height: 24px;

	margin: 0;

	text-align: justify;
	letter-spacing: .05em;

	color: #545454;
}

.step_cap span {
	font-weight: 700;
}

.step_cap_mb {
	margin-bottom: 16px;
}

.payment_method {
	padding-top: 12px;
	padding-right: 42px;
	padding-bottom: 12px;
	padding-left: 45px;

	border: 1px solid var(--step_main);
}

.payment_method_ttl {
	font-size: 16px;
	font-weight: 500;
	line-height: 32px;

	letter-spacing: .05em;

	color: #ff586a;

	margin-block-start: 0;
	margin-block-end: 0;
}

.payment_method ul {
	display: flex;
	flex-wrap: wrap;

	column-gap: 1em;
}

.payment_method_item {
	font-size: 16px;
	font-weight: 500;
	line-height: 32px;

	letter-spacing: .05em;

	color: #545454;
}

#payment .payment_methods li img {
	width: auto;
}

.step_img_wrapper {
	width: 39%;
	max-width: 250px;
	max-height: 188px;
}

.step_img_wrapper img {
	height: auto;
	border-radius: 10px;
}

.order_step svg {
	display: block;

	margin: -10px auto 0 auto;
}

@media screen and (max-width: 771px) {

	/*---line---*/
	.line .pc {
		display: none;
	}

	.line .sp {
		display: block;
	}

	/*--------*/
	.how_to_order h2 {
		margin-bottom: 24px;
	}

	.site-content ol li.order_step+.order_step {
		margin-top: 16px;
	}

	.step_header {
		padding-left: 24px;
	}

	.step_header h3 {
		font-size: 18px;
	}

	.step_body {
		flex-direction: column;

		padding-right: 32px;
		padding-left: 32px;

		gap: 24px;
	}

	.step_cont {
		width: 100%;
	}

	.step_cap_mb {
		margin-bottom: 24px;
	}

	.step_img_wrapper {
		width: 100%;
		max-width: 279px;
	}

	.step_img_wrapper img {
		aspect-ratio: 279 / 188;
	}

	.payment_method {
		padding-top: 18px;
		padding-bottom: 14px;
		padding-left: 30px;
	}
}

@media screen and (max-width: 520px) {
	.step_img_wrapper {
		max-width: unset;
		max-height: unset;
	}
}

/*--------下層ページ-----------*/
.entry-title {
	color: #545454;
}




/*----ショッピングガイド----*/
.ft-guide-cont {
	font-size: 16px;
	line-height: 24px;
	letter-spacing: 0.8px;
}

.ft-guide-outer h2 {
	color: #545454;
	max-width: unset;
}

.ft-guide-ttl {
	font-size: 24px;
	font-weight: 600;
	color: #545454;
}


.h2_deco+.ft-guide-cont {
	margin-top: 48px;
}

.h2_deco+.ft-guide-ttl {
	margin-top: 48px;
}

.ft-guider-cont+.h2_deco {
	margin-top: 96px;
}

.ft-guide-outer {
	margin-bottom: 48px;
}

@media screen and (max-width: 992px) {
	.ft-guide-ttl {
		font-size: 20px;
	}
}

/*----コラム----*/
.entry-content p {
	font-family: 'Noto Sans JP';
}

/*----お問い合わせフォーム----*/
button#wpforms-submit-9:before {
	position: absolute;
	content: '';
	display: block;
	width: 9px;
	height: 15px;
	top: 56%;
	left: 35px;
	transform: translateY(-50%);
	background-image: url(./assets/image/arrow_btn_w.svg);
}

button#wpforms-submit-9 {
	width: 300px;
	height: 60px;
	border-radius: 50px;
	font-family: YuMincho, "Hiragino Mincho ProN", serif;
	font-size: 18px;
	margin: 0 auto;
	color: #ffffff;
	background-color: #ff9ba6;
	border: 1px solid #ff9ba6;
}

button#wpforms-submit-9:hover {
	color: #ff9ba6;
	background-color: #ffffff;
	opacity: 100%;
}

button#wpforms-submit-9:hover:before {
	background-image: url(./assets/image/arrow_btn.svg);
}

@media screen and (max-width: 992px) {
	button#wpforms-submit-9 {
		font-size: 16px;
		width: 250px !important;
	}
}

/*----お花屋さん登録----*/
.form-row label {
	color: #545454 !important;
}

.form-row .button:before {
	position: absolute;
	content: '';
	display: block;
	width: 9px;
	height: 15px;
	top: 54%;
	left: 35px;
	background-image: url(./assets/image/arrow_btn_w.svg);
}

.form-row .button {
	font-size: 18px;
	width: 300px;
	height: 60px;
	border-radius: 50px;
	margin: 0 auto;
	background-color: #ff9ba6;
	border: 1px solid #ff9ba6;
}

.form-row .button:hover {
	background-color: #fff;
	color: #ff9ba6;
}

@media screen and (max-width: 992px) {
	.form-row .button {
		font-size: 16px;
		width: 250px !important;
	}
}

/*----利用規約----*/
.chapter h2,
.chapter h3 {
	color: #545454;
}

.chapter+.chapter {
	margin-top: 48px;
}

.sub-chap+.sub-chap {
	margin-top: 14px;
}