/*	===============================================================
	● サイトCSSファイル
	---------------------------------------------------------------
	Release 2024.05.17                               Powered by TDR
	=============================================================== */

	/*============================
		レイアウト
	============================*/
	.pc_only{display:none;}
	.sp_only{display:block;}
	html
	{
		overflow: auto;
		font-size: 62.5%;
		margin: auto;
		padding: 0;
		/* scroll-behavior: smooth; */
		scroll-padding-top: 65px;
	}
	body
	{
		font-size: 1.5rem;
		line-height: 1.7;
	}

	main
	{
		display: block;
		width: 100%;
		/* overflow: hidden; */
		top: 82px;
		position: relative;
		padding-bottom: 30px;
	}

	main > article,
	main > section
	{
		display: block;
		width: 100%;
		height:100%;
		background: #fff;
		position: relative;
	}

	.cmn_contents {
		padding-top: 30px;
		position: relative;
	}

	.container
	{
		padding: 0px 10px 30px;
		display: block;
		width: 100%;
		height:100%;
	}

	:is(.medical, .care, .service, .factory, .favorite) h2 {
		font-size: 2.2rem;
		margin: 0 auto 20px;
		padding: 0 0 10px;
	}
	:is(.medical, .care .service, .factory, .favorite) h2 span {
		font-size: 1.6rem;
	}

	/* hタグ */
	.cmn_contents h2
	{
		width: 100%;
		font-size: 2.2rem;
		border-bottom: 3px solid #ccc;
		padding: 0 0 10px;
		line-height: 1;
		margin-bottom: 20px;
	}
	.sub_contents h2 {
		width: 100%;
		font-size: 2.2rem;
		border-bottom: 3px solid #ccc;
		padding: 0 0 10px;
		line-height: 1;
		margin-bottom: 20px;
	}
	.cmn_contents h2 span
	{
		padding-left: 15px;
	}
	h3
	{
		font-size: 2.2rem;
		text-align: center;
	}
	p
	{
		line-height: 1.7;
		margin-bottom: 0.3em;
	}

	.sub_contents .news h2
	{
		flex-direction: column-reverse;
	}
	.sub_contents .news h2 .category_wrap
	{
		font-size:1.3rem;
		margin-bottom:10px;
	}
	/* form */
	input[type="text"],
	input[type="mail"],
	input[type="search"],
	input[type="number"],
	input[type="tel"],
	input[type="password"],
	textarea,
	select
	{
		width: 100%;
		appearance: none;
		font-size: 16px;
		padding: 5px 10px;
		border: 1px solid #b1b1b1;
		border-radius: 7px;
		color: #222;
		min-height: auto;
	}

	select {
		max-width: 100%;
		/* min-width: 199px; */
		padding: 6px 20px 5px 10px;
		background: url(../images/icon/arrow_down.svg) no-repeat top 50% right 8px /
			14px auto#fff;
	}

	select option {
		padding: 2px 5px;
	}

	button[type="submit"],
	button.submit
	{
		font-size: 1.5rem;
	}
	/* table */
	table.tbl_frm
	{
		width: 100%;
		font-size:1.5rem;
	}

	table.tbl_frm tr
	{
		border-bottom: none;
	}
	table.tbl_frm th
	{
		width: 100%;
		display: block;
		padding:5px 50px 5px 10px;
		border-top: 1px solid #cccccc;
		border-left: 1px solid #cccccc;
		border-right: 1px solid #cccccc;
	}
	table.tbl_frm th .required
	{
		top:10px;
	}
	table.tbl_frm td
	{
		width: 100%;
		display: block;
		padding: 13px 10px;
		margin-bottom: 20px;
		background: #fff;
		border-left: 1px solid #cccccc;
		border-right: 1px solid #cccccc;
		border-bottom: 1px solid #cccccc;
	}
	table.tbl_frm .flex
	{
		gap: 20px;
	}
	/* table.tbl_frm .flex > div
	{
		width:50%;
	}
	table.tbl_frm .w75
	{
		width: 100%;
	}

	table.tbl_frm .w50
	{
		width: 100%;
	}

	table.tbl_frm .w25
	{
		width: calc(50% - 25px);
	} */
	table.tbl_frm .address
	{
		display: block;
	}
	/* table.tbl_frm .address .w75
	{
		display: block;
		width: 100%;
		margin-top: 10px;
	} */

	table.tbl_frm .name
	{
		width: 100%;
	}
	table.tbl_frm .name1,
	table.tbl_frm .name2
	{
		width: calc((100% - 20px) / 2);
	}
	table.tbl_frm .company
	{
		width:100%;
	}
	table.tbl_frm .mail
	{
		width:100%;
	}
	table.tbl_frm .password
	{
		width:100%;
	}
	table.tbl_frm .birthday
	{
		width:100%;
	}
	table.tbl_frm .birthday1,
	table.tbl_frm .birthday2
	{
		width: calc((100% - 30px) / 2);
	}
	table.tbl_frm .birthday2 ul
	{
		display: flex;
		width: 100%;
		justify-content: flex-start;
		gap: 30px;
	}
	table.tbl_frm .birthday2 label
	{
		padding:2px 0;
	}
	table.tbl_frm .tel
	{
		width:100%;
	}
	table.tbl_frm .zip
	{
		width:100%;
	}
	table.tbl_frm .address
	{
		width:100%;
		align-items: flex-start;
	}
	table.tbl_frm .address1
	{
		width: calc((100% - 30px) / 2);
		max-width: auto;
	}
	table.tbl_frm .address2
	{
		width:100%;
		margin-top:10px;
	}

	table.tbl_frm + .btn_area {
		background: transparent;
		padding-top: 0px;
	}
	aside
	{
		padding-left: 0;
		margin-top: 0.3em;
	}
	aside > p
	{
		display: flex;
	}
	aside > p::before
	{
		position: static;
	}
	/*============================
		ヘッダ
	============================*/
	header .container
	{
		width:100%;
		height: 52px;
		padding: 0 0 0 10px;
		gap: 10px;
		justify-content: space-between;
	}
	header .hd_search
	{
		top: 52px;
		padding: 8px 0px 8px;
		box-shadow: 0 3px 3px rgba(146, 146, 146, 0.6);
	}
	header h1 {
		text-align: center;
		max-width:120px;
	}
	header .search_bar
	{
		padding:0px 10px;
	}
	header .search_bar .search_inner
	{
		gap:10px;
	}
	.search_inner .search1
	{
		width:30%;
	}
	.search_inner .search1 select
	{
		font-size:1.5rem;
	}
	.search_inner .search2
	{
		display: none;
	}
	.search_inner .search_txt
	{
		width:calc( 100% - 30% - 1em - 30px );
	}
	.search_inner .search_txt input
	{
		font-size:1.6rem;
	}
	.search_inner .search_btn
	{
		width:1em;
		padding-right:10px;
	}
	.search_inner .search_btn button[type="submit"]
	{
		width: 100%;
		font-size: 2rem;
		background: none;
		border: none;
		padding: 0;
		border: none;
		border-radius: 0px;
		color: #3771c8;
		min-height: auto;
		line-height: 1.5;
	}
	.search_inner .search_btn i
	{
		margin-right:0;
	}
	.search_inner .search_btn span
	{
		display:none;
	}

	/*============================
	グローバルメニュー
	============================*/
	header .pc_navi,
	header .side_navi
	{
		display: none;
	}
	header .sp_navi
	{
		display: block;
		width: fit-content;
		/* margin:auto; */
	}
	.sp_navi_wrap
	{
		display: flex;
		align-items: center;
		gap: 8px;
	}
	.member_sp_navi
	{
		display: flex;
		gap: 13px;
		justify-content: flex-end;
		align-items: flex-end;
	}
	.member_sp_navi > div > a
	{
		display:flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		font-size:0.8rem;
		letter-spacing: 0;
		line-height: 1.3;
		color: #aaa;
	}
	.member_sp_navi > div > a::before
	{
		content:"";
		font-size:18px;
		width:fit-content;
		text-align: center;
		font-family: "Font Awesome 6 Free";
		font-weight: 900;
		color: #3771c8;
	}
	.member_sp_navi > div.login > a::before
	{
		/* content:"\f52b"; */
		content:"\f2f6";
		color: #ccc;
	}
	.member_sp_navi > div.logout > a::before
	{
		/* content:"\f52a"; */
		content:"\f2f5";
		/* color: #ccc; */
		color: #ccc;
	}
	.member_sp_navi > div.entry > a::before
	{
		/* content:"\f573"; */
		content:"\f234";
		color: #ccc;
		/* font-weight: 400; */
	}
	.member_sp_navi > div.mypage > a::before
	{
		/* content:"\f013"; */
		content:"\f4ff";
		/* color: #7eb72d; */
		color: #ccc;
	}
	.member_sp_navi > div.all > a::before
	{
		content:"\f00b";
		/* color: #ffaaee; */
		color: #ccc;
	}
	.member_sp_navi > div.favorite > a::before
	{
		content:"\f004";
		/* color: #ffaaee; */
		color: #ccc;
	}
	.member_sp_navi > div.cart > a::before
	{
		content:"\f07a";
		color: #ef4564;
	}
	.member_sp_navi > div.cart > a
	{
		position: relative;
	}
	.member_sp_navi > div.cart > a span
	{
		position: absolute;
		top: -9px;
		left: calc(100% - 9px);
		color: #FFF;
		font-weight: bold;
		line-height: 18px;
		text-align: center;
		background: #da0044;
		border-radius: 9px;
		min-width: 18px;
		padding: 0 2px;
		box-sizing: border-box;
	}
	.member_sp_navi > div > a i
	{
		display: none;
	}

	.hamburger_wrap
	{
		font-weight: bold;
		font-size: 1rem;
		background: #57c5ce;
		transition: .5s;
    	margin: 0 0 0 10px;
		width: 52px;
		height: 52px;
		padding: 20px 0;
	}
	.hamburger
	{
		width: 30px;
		height: 10px;
		margin: 0 auto;
		cursor: pointer;
		position: relative;
	}
	.hamburger span
	{
		height:2px;
		background: #fff;
		width: 100%;
		left: 0;
		position: absolute;
	}
	.hamburger span.hamburger_top
	{
		top: 0;
    	transition: .5s;
	}
	.hamburger span.hamburger_bottom
	{
		bottom: 0;
    	transition: .5s;
	}
	.hamburger.active .hamburger_top
	{
		transform: translateY(4px) rotate(45deg);
	}
	.hamburger.active .hamburger_bottom
	{
		transform: translateY(-4px) rotate(-45deg);
	}
	.sp_navi_bg
	{
		width: 101vw;
		padding: 40px 10% 100px;
		margin-top: 98px;
		position: fixed;
		top: 0;
		right: -120%;
		height: 100vh;
		min-width: 50vw;
		transition: all .5s;
		background: #57c5ce;
		overflow: auto;
		overflow-y: scroll;
	}
	.sp_navi_bg.active
	{
		right: 0;
	}
	.sp_navi_bg.active a
	{
		color:#fff;
	}
	.sp_navi_bg.active a:not(.all):before
	{
		content: "";
		display: inline-block;
		background-color: #fff;
		width:20px;
		height:20px;
		margin-right:0.5em;
		mask-repeat: no-repeat;
		mask-position: bottom;
		mask-size: contain;
	}
	.sp_navi_bg.active a.cate1:before
	{
		mask-image:url('../images/icon/navi01.svg')
	}
	.sp_navi_bg.active a.cate2:before
	{
		mask-image:url('../images/icon/navi02.svg')
	}
	.sp_navi_bg.active a.cate3:before
	{
		mask-image:url('../images/icon/navi03.svg')
	}
	.sp_navi_bg.active a.cate4:before
	{
		mask-image:url('../images/icon/navi04.svg')
	}

	.sp_navi_bg.active a.cate5:before
	{
		mask-image:url('../images/icon/navi05.svg')
	}

	.sp_navi_bg.active a.all i
	{
		margin-right: 0.5em;
	}
	.sp_navi_bg.active li:is(.favorite, .login, .logout, .entry, .mypage, .cart) a
	{
		display: block;
		min-width: 150px;
		padding:5px 20px;
		border-radius: 10px;
		background: #fff;
		color: #3771c8;
		font-size:1.4rem;
		text-align: center;
	}
	.sp_navi_bg.active li.favorite a
	{
		margin-top:50px;
	}
	.sp_navi_bg.active li:is(.favorite, .login, .logout, .entry, .mypage, .cart) a::before
	{
		content:"";
		margin-right: 0.5em;
		font-family: "Font Awesome 6 Free";
		font-weight: 900;
		color: #3771c8;
	}

	.sp_navi_bg.active li.favorite a::before
	{
		content:"\f004";
	}
	.sp_navi_bg.active li.login a::before
	{
		content:"\f52b";
	}
	.sp_navi_bg.active li.logout a::before
	{
		content:"\f52a";
	}
	.sp_navi_bg.active li.entry a::before
	{
		content:"\f573";
	}
	.sp_navi_bg.active li.mypage a::before
	{
		content:"\f013";
	}
	.sp_navi_bg.active li.cart a::before
	{
		content:"\f07a";
	}
	header nav
	{
		width: fit-content;
		margin:20px auto;
		font-weight: 700;
	}
	header nav ul
	{
		display: block;
		padding-bottom: 0px;
		margin-right:0em;
	}
	header nav ul li
	{
		margin-bottom:30px;
	}

	.side_navi
	{
		top: 70px;
		right: 10px;
	}
	.side_navi a
	{
		font-size: 1.4rem;
		padding: 3px 0 6px;
		width: 120px;
	}

	/*============================
		フッター
	============================*/
	footer
	{
		padding: 30px 0;
		/* overflow: hidden; */
	}
	footer .container
	{
		flex-direction: column-reverse;
		padding: 0;
	}
	footer .container .about
	{
		width:calc(100% - 40px);
		margin:10px 20px 0;
		padding:20px 10px 0;
		border-top: 1px solid #999;
		display: flex;
		justify-content: center;
		flex-direction: column;
		gap: 5px;
		border-right: none;
		font-size:1.3rem;
	}
	footer .container .about h2
	{
		width: 208px;
		height: auto;
		margin:0 auto 10px;
	}
	footer .container .ft_navi
	{
		width: 100%;
		gap: 0;
		margin-top:30px;
		padding: 20px 20px 0px;
		flex-wrap: wrap;
		font-size:1.3rem;
	}
	footer .container .ft_navi ul
	{
		width: calc( ( 100% - 20px ) / 2 );
		padding:0 10px 10px;
	}
	footer .container .ft_navi ul:first-child
	{
		width:100%;
		margin-bottom:20px;
		padding-bottom:20px;
		border-bottom:1px solid #999;
	}
	footer .container .ft_navi li
	{
		margin-bottom:10px;
	}


	/*============================
		キービジュアル
	============================*/
	.kv_wrap
	{
		overflow: hidden;
	}
	.kv_wrap .kv_img img
	{
		max-height: 60vw;
	}

	.kv_wrap .kv_logo img {
		max-width:250px;
	}
	.kv_wrap.sub .kv_img img {
		height: 100px;
	}
	.kv_wrap h2
	{
		width: 100%;
		font-size: 3.2rem;
		top: 25%;
		left: 10%;
		transform: translate(0, 0);
		/* text-shadow: 0 0 5px #fff, 0 0 10px #fff, 0 0 15px #fff, 0 0 15px #fff,
			0 0 15px #fff; */
	}

	.kv_wrap h2 span {
		margin-top: 13px;
		font-size: 1.3rem;
	}

	.kv_wrap h4 {
		font-size: 2.2rem;
	}
	.kv_info
	{
		top:auto;
		bottom:5%;
		width:95%;
		padding:8px 10% 3px 10%;
	}
	.kv_info p
	{
		font-size:0.9rem;
		position: relative;
		letter-spacing: 0;
		left:0;
		transform: translate(0, 0);
		line-height: 1.7;
		white-space: wrap;
	}
	@media screen and (max-width: 450px)
	{
		.kv_wrap h2
		{
			width: 100%;
			font-size: 2.2rem;
			top: 15%;
			left: 5%;
			transform: translate(0, 0);
		}
		.kv_info
		{
			bottom:5%;
			padding:8px 10% 3px 5%;
		}
		.kv_info p
		{
			font-size:0.8rem;
			line-height: 1.5;
		}
	}
	/*============================
		Contents
	============================*/
	/* バナー */
	section.top_bn
	{
		margin-top: 15px;
		padding: 0 0px;
	}

	.bn_list
	{
		flex-wrap: wrap;
		gap: 10px;
	}
	.bn_list li
	{
		width:calc( ( 100% - 10px ) / 2 );
		height:auto;
	}

	:is(.medical, .care, .service, .factory).inner > p
	{
		font-size:1.4rem;
		margin-bottom: 20px;
	}
	.top_category .container .inner + .inner
	{
    	margin-top: 30px;
	}
	.category_panel
	{
		display: flex;
		flex-wrap: wrap;
		gap:10px;
		margin-bottom: 10px;
	}
	.category_panel li
	{
		width:calc(( 100% - 10px ) / 2);
		height:auto;
	}
	.category_panel li:first-child
	{
		width:100%;
	}
	.category_panel li img
	{
		width:100%;
		height:30vw;
	}
	.category_panel li:first-child img
	{
		width:100%;
		height:50vw;
	}
	.category_panel a::after
	{
		content:none;
	}
	.category_panel div
	{
		width: 100%;
		position: static;
		bottom: 0;
		left: 0;
		transform: none;
		text-align: center;
		color:#222;
		margin:7px auto 0
	}

	.category_panel h3
	{
		font-weight: 700;
		color: #666;
		padding: 0px 20px 0px 10px;
		margin-top: 10px;
		margin-bottom: 7px;
		text-shadow:none;
		text-align: center;
		font-size:1.4rem;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}
	.category_panel p {
		text-align: center;
		padding-top: 0px;
		margin: 0px 0 8px;
		color: #666;
		text-shadow:none;
		border-top:none;
		font-size: 1.6rem;
		min-height: 20px;
	}
	/* .category_panel div.small h3
	{
		font-size:1.6rem;
		text-align: left;
	}
	.category_panel div.small p
	{
		margin-top: 3px;
		padding-top: 0px;
		text-align: left;
	} */

	.btn_area
	{
		padding: 15px 0 15px 0;
		margin:20px auto 20px;
		/* background: transparent; */
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		gap: 20px;
	}
	.btn_area a.more
	{
		font-size:1.5rem;
		width:80%;
	}
	.btn_area a.back
	{
		width:80%;
		text-align: center;
		max-width: 250px;
		display: flex;
		align-items: center;
		font-size: 1.5rem;
	}


	/* ニュースリスト */
	.top_news
	{
		margin-bottom:20px;
		font-size:1.3rem;
	}

	.news_list li a
	{
		display: block;
		padding: 10px 15px;
	}
	.news_list li a .category
	{
		padding: 0.1em 0.3em;
		font-size:1rem;
		margin-left:1em;
	}
	.news_list li a div
	{
		width: 100%;
	}

	.top_contact .container {
		margin-top: 20px;
		margin-bottom: 0px;
		padding: 15px 15px 1px 15px;
		display: block;
	}
	.top_contact .container .inner
	{
		width: 100%;
		border-radius: 8px;
		padding: 15px 10px;
		font-size: 1.3rem;
		margin-bottom:15px;
	}
	.top_contact .container .inner h4
	{
		margin-bottom: 15px;
	}


	/*============================
		Contents(SUB)
	============================*/
	.cmn_contents .inner {
		/* margin-bottom: 30px; */
		margin-bottom: 0;
	}

	.cmn_contents :is(.thanks, .sorry) {
		margin: 40px auto 30px;
	}

	.cmn_contents :is(.thanks, .sorry) p {
		line-height: 1.6;
	}
	/* item_search */
	.search_wrap
	{
		margin: 10px auto 0px;
		padding: 20px 10px 0px;
		font-size: 1.3rem;
	}
	.search_wrap .item_category_link
	{
		flex-wrap: wrap;
		gap: 10px;
		margin-bottom: 0px;
		padding-bottom: 20px;
		/* border-bottom:1px solid #ccc; */
	}
	.search_wrap .item_category_link a
	{
		min-width: auto;
		line-height: 1;
		padding: 8px 10px;
	}

	.search_wrap .item_category_link a.on,
	.search_wrap .item_category_link a:hover
	{
		background: #3771c8;
		color: #fff;
	}
	.search_wrap .item_category_link a.all
	{
		min-width: 100px;
	}
	.search_wrap .search_inner
	{
		flex-wrap: wrap;
		gap: 10px;
	}
	.search_tgl
	{
		position:relative;
		display: flex;
		align-items: flex-start;
	}
	.search_tgl .tgl_btn
	{
		position:absolute;
		top:-10px;
		left:calc(50% - 10px);
		text-shadow:1px 1px 0 #f4f4f4,-1px 1px 0 #f4f4f4,1px -1px 0 #f4f4f4,-1px -1px 0 #f4f4f4;
		font-size:20px;
		transform:rotate(180deg);
		transition: transform 0.3s ease-out;
		color:#aaa;
	}
	.search_tgl::before,
	.search_tgl::after
	{
		background-color: #ddd;
		border-radius: 1px;
		content: "";
		flex-grow: 1;
		height: 2px;
	}
	.search_tgl::before
	{
		margin-right: 30px;
	}
	.search_tgl::after
	{
		margin-left: 30px;
	}
	.search_tgl .tgl_btn.open
	{
		transform:rotate(0deg);
	}
	.search_form
	{
		margin-top:20px;
		height:0;
		line-height: 0;
		opacity: 0;
		visibility: hidden;
		transition:
			line-height .10s ease-out,
			opacity     .3s linear,
			visibility  .3s linear;
	}
	.search_form.open
	{
		height:100%;
		line-height: 1.5;
		opacity: 1;
		visibility: visible;
		transition:
			line-height .3s ease-out,
			opacity     .1s linear .1s,
			visibility  .1s linear .1s;
		padding-bottom:20px;
	}
	.search_wrap.sale .search_form
	{
		margin-top: 0px;
	}
	.search_wrap .search_inner .name
	{
		min-width: 280px;
		width:100%;
	}
	.search_wrap .search_inner .select
	{
		width:100%;
	}
	.search_wrap .search_inner .select select
	{
		height:auto;
	}
	.search_wrap .search_inner .search_btn
	{
		width: 150px;
		margin: 10px auto 0;
	}

	.list_sort
	{
		margin: 10px 0 20px;
		font-size: 1.2rem;
	}

	/* item_list */
	.item_list
	{
		gap: 20px;
		margin-bottom: 30px;
	}
	.item_list li
	{
		width: calc((100% - 20px) / 2);
	}
	.item_list li figure
	{
		height: 150px;
	}
	.item_list li h3
	{
		margin-top: 10px;
	}

	/* item_detail */
	.item_detail .container
	{
		padding: 0px 10px 0px;
		display: block;
		width: 100%;
		height:100%;
	}
	:is(.item_mark,.item_comingsoon,.item_end,.item_soldout)
	{
		position: relative;
		top: -15px;
		left: calc(100% - 80px);
		font-size: 1rem;
	}

	.item_detail_wrap
	{
		display: block;
		margin-bottom: 0px;
	}
	/* slider */
	.slider_wrap .slick-slide
	{
		height: 300px;
	}
	.slider_wrap .slick-slide img
	{
		-o-object-fit: contain;
		object-fit: contain;
	}
	.slider_wrap .thumbs_dots
	{
		margin: 10px auto 0;
	}
	.slider_wrap .thumbs_list
	{
		text-align: center;
	}
	.slider_wrap .thumbs_list li
	{
		width: calc((100% - 20px) / 3);
		height: 110px;
		padding: 0;
		margin-right: 10px;
	}

	/* item_info */
	.item_main
	{
		position: relative;
		z-index: 0;
	}
	.item_info
	{
		width: 100%;
		font-size:1.3rem
	}
	.item_info_inner {
		margin-bottom: 20px;
	}


	.item_info_inner dl.price dd .regular_price
	{
		font-size: 1.6rem;
	}

	.item_info_inner dl.price dd .sale_price
	{
		font-size: 1.7rem;
	}

	.item_info_inner dl.price dd .tax_type
	{
		font-size: 1.2rem;
		margin-top: -4px;
	}

	.item_info_inner dl.price dd .discount
	{
		font-size: 1.2rem;
	}

	.item_info_inner dl.tag dd a {
		display: inline-block;
		margin-right: 1em;
		font-size: 1.3rem;
	}

	.item_info_inner dl.description dd {
		font-size: 1.3rem;
		line-height: 1.6;
	}

	.type_select ul {
		gap: 10px;
		margin-bottom: 50px;
	}

	.type_select ul li {
		width: calc((100% - 10px * 4) / 5);
		padding: 0;
	}
	/* add_cart */
	.add_cart_sp_form
	{
		position: -webkit-sticky;
		position: sticky;
		left: 0;
		bottom: 0;
		display: block;
		width: 100%;
	}
	.add_cart_sp
	{
		/* background: #3771c8; */
		background: rgba(0, 0, 0, 0.3);
		width: 100%;
		height:80px;
		padding: 10px;
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 20px;
		margin-bottom:30px;
	}
	.item_detail
	{
		position: relative;
		z-index: 999;
	}
	.item_detail .return_list
	{
		margin-top:0px;
	}

	.favorite-fa-heart
	{
		margin-left: 0px;
		color: #fff;
	}


	.add_cart_sp .item_num
	{
		display: flex;
		align-items: baseline;
		gap: 1em;
	}

	.add_cart_sp .item_num p
	{
		margin-bottom: 0;
		font-size: 1rem;
		white-space: nowrap;
		color:#fff;
	}
	.add_cart_sp .item_num select
	{
		width: 70px !important;
		min-width: auto;
	}
	.add_cart_sp .buy_btn button
	{
		font-size: 1.3rem;
		text-align: center;
		border-radius: 5px;
		padding: 0.2em 0;
		width: 120px;
		line-height: 1;
		border:1px solid #fff;
		/* background:#f5882f;
		color:#fff; */
	}
	.add_cart_sp div:is( .comingsoon, .end, .soldout )
	{
		width:70%;
		text-align: center;
		font-weight: 700;
		color:#fff;
		font-size:1.4rem;
	}
	.add_cart_sp div:is( .comingsoon, .end, .soldout ):after
	{
		font-size:1rem;
		font-weight: 400;
		margin-left:0.8em;
	}
	.add_cart_sp div.comingsoon:after
	{
		content:"(商品発売までしばらくお待ちください。)"
	}
	.add_cart_sp div.end:after
	{
		content:"(現在お取り扱いしておりません。)"
	}
	.add_cart_sp div.soldout:after
	{
		content:"(次回入荷までお待ちください。)"
	}

	.item_point
	{
		padding: 20px 0;
		margin-bottom: 30px;
	}
	.item_point .container
	{
		padding: 0 0px;
		display: flex;
		flex-wrap: wrap;
		gap: 20px;
		justify-content: flex-start;
		padding:0 10px;
	}
	.item_point li
	{
		/* width:calc((100% - 20px) / 2 ); */
		width:100%;
		display: block;
		font-size: 1.3rem;
	}
	.item_point .point_unit
	{
		width:100%;
	}
	.item_point .point_unit figure {
		/* width: 95%; */
		width: 30%;
		margin:0 auto;
		padding:0;
	}
	.item_point .point_unit figure img
	{
		-o-object-fit: cover;
		object-fit: cover;
		border-radius: 3px;
	}
	.item_point .point_unit > div {
		width: calc(100% - 15px);
		font-size: 1.3rem;
		line-height: 1.6;
	}

	/*============================
		ck_post
	============================*/
	.ck_post {
		margin-bottom: 30px;
		font-size: 1.3rem;
		line-height: 1.6;
		text-align: left;
		z-index: -1;
	}

	.ck_post h3 {
		font-size: 1.5rem;
		font-weight: 700;
		text-align: left;
		color: #222;
		margin: 2em 0 0.5em;
		border-bottom: solid 2px #bfddf0;
		padding: 10px 0 5px;
	}

	.ck_post h4 {
		font-size: 1.4rem;
		font-weight: 700;
		text-align: left;
		color: #222;
		margin: 2em 0 0.5em;
		position: relative;
		padding-left: 1.5em;
	}

	.ck_post h4:before {
		position: absolute;
		font-family: "Font Awesome 5 Free";
		content: "\f138";
		left: 0;
		top: 0;
		font-weight: 900;
		font-size: 1em;
		color: #8fcaee;
	}

	.ck_post h5 {
		font-size: 1.4rem;
		font-weight: 700;
		text-align: left;
		color: #222;
		margin: 2em 0 0.5em;
	}

	.return_list
	{
		font-size:1.5rem
	}

	.category_navi .inner
	{
		display: flex;
		flex-wrap: wrap;
		align-items: flex-start;
		justify-content: center;
		gap: 20px;
		margin-top: 30px;
		margin-bottom: 30px;
	}
	.category_navi .inner a
	{
		width:calc((100% - 20px) / 2 );
	}

	.return_list
	{
		/* padding-top:30px; */
		padding-top:0px;
	}

	.return_list a
	{
		font-size: 1.4rem;
	}

	/* login */
	.login
	{
		display: block;
	}

	.login .login_l
	{
		margin-bottom:30px;
	}
	.login .login_form
	{
		padding: 20px 20px;
	}
	.login .login_form dl
	{
		gap: 20px;
		margin-bottom: 10px;
	}
	.login .login_form .btn_area
	{
		margin-top:20px;
		gap: 20px;
	}
	.login .login_form dt
	{
		width: 70px;
		font-size: 1.4rem;
	}
	.login .login_form dd
	{
		width: calc(100% - 70px - 20px);
	}

	.login .login_r
	{
		width: 100%;
		padding:0 20px;
	}

	/* remainder */
	.login.remainder .login_form dt {
		width: 100px;
	}

	.login.remainder .login_form dd {
		width: calc(100% - 100px - 20px);
	}



	/* policy */
	.policy
	{
		margin-bottom: 30px;
	}
	.policy p
	{
		font-size:1.3rem;
		padding-left:1em;
	}
	.policy h3
	{
		font-size: 1.4rem;
	}
	.policy aside
	{
		font-size: 1.3rem;
	}
	.policy a
	{
		font-size: 1.3rem;
	}
	.policy li
	{
		font-size: 1.3rem;
	}

	/* member */
	.member
	{
		margin-bottom: 30px;
	}
	.member > p
	{
		top: 0;
		left:0;
		position: relative;
		font-size:1.3rem;
	}
	.member.address h3
	{
		font-size: 1.7rem;
	}
	.member.address table.tbl_frm
	{
		border-top:none;
	}
	.mypage h3.member_edit
	{
		font-size: 1.7rem;
		border-bottom:none;
		font-weight: 700;
	}

	/*============================
		カート
	============================*/
	.guide_text
	{
		font-size:1.3rem
	}
	.tbl_cart
	{
		counter-reset: number 0;
		width: 100%;
		margin: 30px auto;
		border: none;
		border-collapse: collapse;
		font-size: 1.5rem;
	}
	.tbl_cart tr
	{
		display: block;
		margin-bottom: 20px;
	    padding: 5px 10px;
		border:none;
	}
	.tbl_cart thead
	{
		display: none;
	}
	.tbl_cart td
	{
		padding: 13px 10px;
		margin: 0;
		text-align: left;
		vertical-align: middle;
		background: #fff;
		border: 1px solid #cccccc;
		border-top: none;
		border-collapse: collapse;
		display: block;
	}
	.tbl_cart td::before
	{
		display: block;
		background: #494949;
		color: #fff;
		font-weight: bold;
		padding: 3px 10px;
		text-align: left;
		margin-bottom: 10px;
		font-size: 0.8em;
	}
	.tbl_cart td.photo
	{
		border: 1px solid #cccccc;
    	text-align: center;
	}
	.tbl_cart td.photo::before
	{
		counter-increment: number 1;
		content: "商品 " counter(number);
		border-bottom: 1px solid #fff;
	}
	.tbl_cart td.photo img
	{
		width: 50%;
	}
	.tbl_cart td .sp_only
	{
		display: inline-block;
	}
	.tbl_cart td.cart_change
	{
		margin-right: 0;
		padding: 10px 10px;
	}
	.tbl_cart td.cart_change form
	{
		display: flex;
		align-items: center;
		justify-content: flex-end;
	}
	.tbl_cart td.cart_change select
	{
    	font-size: 1em;
		max-width: 70px;
		position: relative;
		top: -1px;
	}
	.tbl_cart td.cart_change button:last-child
	{
		border: none;
		padding: 0;
		cursor: pointer;
		background: none;
	}
	.tbl_cart td.cart_change button[value="edit"]
	{
		font-size: 1.4rem;
		max-width: 70px;
		min-height: 30px;
		margin-left: 0px;
		padding: 0px 5px;
	}
	.tbl_cart td.price
	{
		padding: 10px 10px;
	}
	.tbl_cart td:nth-child(5)
	{
		background: #f5f5f5;
		font-size: 1.3em;
		font-weight: bold;
		padding: 10px 10px;
	}
	.btn_area button.submit
	{
		width: 80%;
	}
	.order_detail .cart_fix .tr_total
	{
		border-bottom: none;
	}
	.tbl_cart tr.sp_flex
	{
		display: flex;
		width: 100%;
		margin-bottom: 0;
		padding:0 10px;
	}
	.tbl_cart tr.sp_flex th
	{
		display: block;
		padding: 13px 10px;
		width: 50%;
		border:none;
		border-top: 1px solid #cccccc;
		border-right: 1px solid #cccccc;
		border-left: 1px solid #cccccc!important;
	}
	.tbl_cart tr.sp_flex td
	{
		display: block;
		width: 50%;
		border:none;
		border-top: 1px solid #cccccc;
		border-right: 1px solid #cccccc;
	}
	.tbl_cart tr.sp_flex:last-child :is(th,td)
	{
		border-bottom: 1px solid #cccccc;
	}
	/*============================
		配送選択
	============================*/
	.delivery
	{
		margin-bottom: 20px;
	}
	.payment
	{
		margin-bottom: 20px;
	}
	.point_coupon
	{
		margin-bottom: 20px;
	}
	.tbl_select
	{
		width: 100%;
		margin: 0 auto;
		border: none;
		border-collapse: collapse;
		font-size: 1.5rem;
	}
	.tbl_select tr
	{
		display: block;
		margin-bottom: 20px;
		border:none;
	}
	.tbl_select th
	{
		vertical-align: middle;
		font-weight: bold;
		padding: 5px 50px 5px 10px;
		background: #f5f5f5;
		border-top: 1px solid #cccccc;
		border-left: 1px solid #cccccc;
		border-right: 1px solid #cccccc;
	}
	.tbl_select td
	{
		padding: 13px 10px;
		margin: 0;
		text-align: left;
		vertical-align: middle;
		background: #fff;
		border: 1px solid #cccccc;
		border-top: none;
		border-collapse: collapse;
		display: block;
	}
	.tbl_select th .required
	{
		top: 10px;
	}
	.tbl_select th a
	{
		margin-top: 0;
		margin-left: 0.5em;
		font-size: 1.3rem;
		width:fit-content;
		padding:0 0.5em;
		display: inline-block;
	}
	.tbl_select td.address dl
	{
		border: 1px solid #e2e2e2;
		display: block;
		margin-bottom: 15px;
		padding: 0;
		border-radius: 5px;
	}
	.tbl_select td.address dl dt
	{
		width: 100%;
		padding: 5px 10px;
		background: #f4f3f2;
	}
	.tbl_select td.address dl dt label
	{
		position: static;
		transform: translate(0,0);
		display: block;
		width:100%;
	}
	.tbl_select td.address dl dd
	{
		padding: 5px 10px;
		font-size: 1.3rem;
		line-height: 1.6;
	}
	.tbl_select td.hope
	{
		padding-bottom: 0;
	}
	.tbl_select td.hope ul
	{
		gap: 0px;
		flex-wrap: wrap;
	}
	.tbl_select td.hope ul li
	{
		margin-right:20px;
		margin-bottom: 10px;
	}
	.tbl_select td.coupon .coupon_entry_wrap button
	{
		width: 100%;
		font-size: 1.4rem;
		max-width: 70px;
		min-height: 30px;
		margin-left: 0px;
		padding: 0px 5px;
	}

	/*============================
		注文確認
	============================*/

	.order_detail
	{
		display:block;
	}
	.order_detail .cart_fix
	{
		width:100%;
		font-size:1.4rem;
	}
	.order_detail .cart_fix .tbl_cart
	{
		margin-top:0;
	}

	.order_detail .delivery_fix
	{
		width:100%;
		font-size:1.4rem;
	}
	.order_detail .delivery_fix .tbl_select
	{
		width:calc(100% - 20px);
		margin:0 auto 30px;
	}
	.order_detail .delivery_fix  .tbl_select th
	{
		padding:5px 10px;
	}
	.order_detail .delivery_fix  .tbl_select td
	{
		padding:10px;
		min-height: 45px;
	}

	.payment .tbl_frm
	{
		width:calc(100% - 20px);
		margin:0 auto 0px;
	}
	.payment .tbl_frm tr
	{
		border-bottom:none;
	}


	/*============================
		マイページ
	============================*/
	.tbl_mypage
	{
		width: 100%;
		margin: 0px auto 30px;
		border: none;
		border-collapse: collapse;
		font-size: 15px;
	}
	.tbl_mypage thead
	{
		display: none;
	}
	.tbl_mypage tr
	{
		display: block;
		margin-bottom:20px;
	}
	.tbl_mypage td
	{
		padding: 10px;
		margin: 0;
		text-align: left;
		vertical-align: middle;
		background: #fff;
		border: 1px solid #cccccc;
		border-top: none;
		border-collapse: collapse;
		display: block;
	}
	.tbl_mypage td:first-child
	{
		border-top: 1px solid #cccccc;
	}
	.tbl_mypage td::before
	{
		content: attr(data-label);
		float: left;
		font-weight: bold;
		color: #222;
		margin: -11px 20px 10px -10px;
		width: 25%;
		display: block;
		padding: 3px 5px;
		text-align: center;
		font-size: 0.7em;
	}
	.tbl_mypage.info td::before
	{
		/* background: #f4d7ee; */
		background: #ccc;
	}
	.tbl_mypage.order td::before
	{
		/* background: #bfddf0; */
		background: #ccc;
	}
	.tbl_mypage tr td:last-child
	{
		text-align: center;
		background: #f4f4f4;
	}
	.tbl_mypage tr td:last-child:before,
	.tbl_mypage tr td.leave_txt:before
	{
		content: none;
	}
	.tbl_mypage tr td a:first-child
	{
		margin-left:0;
	}
	.tbl_mypage td.leave_txt
	{
		width: 100%;
		padding-left: 10px;
	}
	.tbl_mypage.info.address_list tr td:first-child
	{
		display: none;
	}
	.tbl_mypage.info.address_list tr td:nth-child(2)
	{
		border-top: 1px solid #cccccc;
	}
	.tbl_mypage.info.address_list tr td:last-child
	{
		text-align: right;
	}
	.tbl_mypage.info.address_list td button.del
	{
		width: fit-content;
		background: transparent;
		color:#cc0000;
		border: none;
		padding:0 20px;
		text-align: right;
	    min-height: auto;
	}

	.mypage .order_number
	{
		display: block;
	}

	.mypage .order_number .order_status
	{
		display: inline-block;
		font-size:1.3rem;
		margin-top:15px;
		width:100px;
	}
	.mypage .order_number p
	{
		display: inline-block;
		font-size:1.3rem;
		margin-top:15px;
	}
	.order_detail .delivery_fix  .tbl_select td strong
	{
		display: block;
	}

	.order_thanks .order_number
	{
		font-size: 1.2rem;
	}
	.order_thanks .order_number dt
	{
		white-space: nowrap;
	}