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

	/*============================
		Webフォント
	============================*/
	/* @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&family=Noto+Serif+JP:wght@700&display=swap'); */
	@import url("https://fonts.googleapis.com/css2?family=Lato&text=0123456789&family=M+PLUS+Rounded+1c:wght@800&family=Noto+Serif+JP:wght@700&family=Zen+Kaku+Gothic+New:wght@400;700;900&display=swap");
	/*
		font-family: 'Noto Serif JP', serif;
		font-family: 'Zen Kaku Gothic New', sans-serif;
		*/

	/*============================
		レイアウト
	============================*/
	html
	{
		overflow: auto;
		font-size: 62.5%;
		margin: auto;
		padding: 0;
		scroll-behavior: smooth;
		scroll-padding-top: 100px;
	}

	body
	{
		font-size: 1.7rem;
		background: #fff;
		color: #222;
		font-family: "Lato", "Zen Kaku Gothic New", "Yu Gothic Medium",
			"游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3",
			"Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "MS Ｐゴシック",
			"MS PGothic", sans-serif;
		font-weight: 400;
		margin: auto;
		padding: 0;
		position: relative;
		line-height: 1.9;
		letter-spacing: 0em;
	}

	main {
		display: block;
		width: 100%;
		height:auto;
		overflow-x: hidden;
		top: 160px;
		position: relative;
		z-index: 0;
		padding-bottom: 160px;
	}

	main > article,
	main > section {
		display: block;
		width: 100%;
		background: #fff;
		position: relative;
		z-index: 10;
	}

	.cmn_contents {
		padding-top: 80px;
	}

	.container {
		/* max-width:1440px; */
		max-width: 1200px;
		width: 100%;
		margin: 0 auto;
		padding: 0px 20px 75px;
		position: relative;
		z-index: 0;
	}

	/* hタグ */
	.cmn_contents h2 {
		width: 100%;
		font-size: 3rem;
		border-bottom: 5px solid #ccc;
		padding: 0 0 10px;
		line-height: 1;
		margin-bottom: 25px;
	}
	.sub_contents h2 {
		width: 100%;
		font-size: 3rem;
		border-bottom: 5px solid #ccc;
		padding: 0 80px 10px 0;
		line-height: 1;
		margin-bottom: 25px;
	}
	.sub_contents .news h2
	{
		display:flex;
		align-items: baseline;
		justify-content: space-between;
	}
	.sub_contents .news h2 .category_wrap
	{
		font-size:1.7rem;
	}
	.sub_contents .news h2 .category_wrap span
	{
		padding: 0.1em 1em;
		text-align: center;
		border: 1px solid #156abb;
		color: #156abb;
		background: #fff;
		border-radius: 5px;
		margin-right:1em;
	}
	.sub_contents .news h2 .category_wrap time
	{
		color: #666;
	}

	.cmn_contents h2 span {
		font-size: 0.6em;
		color: #666;
		padding-left: 30px;
	}

	.pickup h2 {
		font-size: 3.6rem;
		border-bottom: 1px solid #aaa;
		margin: 0 auto 20px;
		position: relative;
		padding: 0 0 20px;
		line-height: 1;
	}

	.pickup h2 span {
		font-size: 2.4rem;
		margin-left: 1em;
		display: inline-block;
	}

	.pickup h2::after {
		position: absolute;
		content: "";
		display: block;
		border-bottom: solid 5px;
		left: 0px;
		bottom: -3px;
		width: 25%;
	}

	.pickup h2::after {
		border-color: #99bfdf;
	}

	.service h2::after {
		border-color: #e8aeb1;
	}

	.factory h2::after {
		border-color: #acd6ae;
	}

	.favorite h2::after {
		border-color: #acd6ae;
	}

	h3 {
		font-size: 3rem;
		text-align: center;
		color: #666;
		line-height: 1;
	}

	/* img */
	figure img {
		display: inline-block;
		width: 100%;
		height: auto;
	}

	strong
	{
		font-weight: bold;
	}

	/* リンク */
	a {
		color: #156abb;
		transition: 0.3s;
	}

	button {
		transition: 0.3s;
		cursor: pointer;
	}

	a:hover,
	button:hover {
		opacity: 0.8;
	}

	/* table */
	table.tbl_frm {
		width: 100%;
		font-size:1.5rem;
	}

	table.tbl_frm tr {
		width: 100%;
		border-bottom: 1px dotted #aaa;
	}

	table.tbl_frm th {
		width: 250px;
		text-align: left;
		vertical-align: top;
		/* padding:20px 30px; */
		padding:15px 20px;
		background: #f4f3f2;
		position: relative;
		font-weight: 700;
	}

	table.tbl_frm th .required {
		display: inline-block;
		font-size: 1rem;
		color: #fff;
		padding: 5px 5px;
		line-height: 1;
		background: #cc0000;
		border-radius: 5px;
		position: absolute;
		right: 30px;
		top:20px;
	}

	table.tbl_frm td {
		/* padding: 20px 30px; */
		padding: 15px 20px;
		background: #fff;
	}

	table.tbl_frm p {
		font-size: 1rem;
		margin-top: 1em;
	}
	table.tbl_frm textarea
	{
		width: 100%;
	    min-height: 200px;
	}

	table.tbl_frm .flex
	{
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		gap: 30px;
	}
	/* table.tbl_frm .flex.align_flex_s
	{
		align-items: flex-start;
	}

	table.tbl_frm .w75 {
		width: calc(75% - 25px);
	}

	table.tbl_frm .w50 {
		width: calc(50% - 25px);
	}

	table.tbl_frm .w25 {
		width: calc(25% - 25px);
	}

	table.tbl_frm td ul {
		display: flex;
		width: 100%;
		justify-content: flex-start;
		gap: 30px;
	}
 */
	table.tbl_frm .name
	{
		width: calc(50% - 15px);
	}
	table.tbl_frm .name1,
	table.tbl_frm .name2
	{
		width: calc((100% - 30px) / 2);
	}
	table.tbl_frm .company
	{
		width:100%;
	}
	table.tbl_frm .mail
	{
		width: calc(50% - 15px);
	}
	table.tbl_frm .password
	{
		width: calc(50% - 15px);
	}
	table.tbl_frm .birthday
	{
		width: calc(50% - 15px);
	}
	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:10px 0;
		white-space: nowrap;
		line-height: 1;
	}
	table.tbl_frm .tel
	{
		width: calc(50% - 15px);
	}
	table.tbl_frm .zip
	{
		width: calc(50% - 15px);
	}
	table.tbl_frm .address
	{
		width:100%;
		align-items: flex-start;
	}
	table.tbl_frm .address1
	{
		width: calc(100% - 75% - 15px);
		max-width: 195px;
	}
	table.tbl_frm .address2
	{
		width: calc(100% - 25% - 15px);
	}



	table.tbl_frm td ul label {
		display: flex;
		/* align-items: center; */
		align-items: baseline;
	}

	table.tbl_frm + .btn_area {
		background: transparent;
		padding-top: 40px;
	}

	/* 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;
		-webkit-appearance: none;
		-moz-appearance: none;
		-o-appearance: none;
		font-size: 16px;
		background: #fff;
		border: none;
		box-sizing: border-box;
		padding: 10px 10px;
		font-weight: 400;
		border: 1px solid #b1b1b1;
		border-radius: 7px;
		color: #222;
		min-height: 40px;
	}

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

	select option {
		padding: 2px 5px;
	}



	::-webkit-input-placeholder {
		color: #ccc;
	}

	::-moz-placeholder {
		color: #ccc;
	}

	:-ms-input-placeholder {
		color: #ccc;
	}

	::-ms-input-placeholder {
		color: #ccc;
	}

	::placeholder {
		color: #ccc;
	}

	button[type="submit"],
	button.submit
	{
		width: 100%;
		appearance: none;
		-webkit-appearance: none;
		-moz-appearance: none;
		-o-appearance: none;
		font-size: 1.7rem;
		background: #57c5ce;
		border: none;
		box-sizing: border-box;
		padding: 0.2em 0;
		font-weight: 700;
		border: 1px solid #57c5ce;
		border-radius: 5px;
		color: #fff;
		min-height: 40px;
		cursor: pointer;
		line-height: 1;
	}

	/* その他 */
	p {
		line-height: 1.7;
		margin-bottom: 0.5em;
	}

	aside {
		line-height: 1.3;
		font-size: 1.3rem;
		display: inline-block;
		padding-left: 1em;
		position: relative;
		color: gray;
		letter-spacing: 0;
	}

	aside > p::before {
		content: "※";
		position: absolute;
		left: 0;
	}

	.pc_only {
		display: block;
	}

	.sp_only {
		display: none;
	}

	/* success/errorメッセージ */
	.msg {
		width: 100%;
		margin-bottom: 35px;
		border-collapse: separate;
		border-radius: 10px;
		border-left: 2px solid;
		border-top: 2px solid;
	}

	.msg .msg_icon {
		width: 32px;
		border-right: 2px solid;
		border-bottom: 2px solid;
		color: #fff;
		padding: 15px 5px;
		border-radius: 7px 0 0 7px;
		vertical-align: middle;
	}

	.msg .msg_text {
		font-size: 1.4rem;
		vertical-align: middle;
		line-height: 1.6;
		padding: 3px 20px;
		font-weight: 700;
		border-right: 2px solid;
		border-bottom: 2px solid;
		border-radius: 0 7px 7px 0;
	}

	.msg.success {
		border-color: #07ad60;
	}

	.msg.success .msg_icon {
		border-color: #07ad60;
		background: #07ad60;
	}

	.msg.success .msg_icon span::after {
		content: "\f058";
		font-family: "Font Awesome 6 Free";
		font-weight: 900;
		color: #fff;
	}

	.msg.success .msg_text {
		border-color: #07ad60;
		color: #07ad60;
	}

	.msg.error {
		border-color: #cc0000;
	}

	.msg.error .msg_icon {
		border-color: #cc0000;
		background: #cc0000;
	}

	.msg.error .msg_icon span::after {
		content: "\f06a";
		font-family: "Font Awesome 6 Free";
		font-weight: 900;
		color: #fff;
	}

	.msg.error .msg_text
	{
		word-break: break-all;
		border-color: #cc0000;
		color: #cc0000;
	}

	.error_form_message
	{
		word-break: break-all;
		font-size: 0.8em;
		color: #cc0000;
	}

	/*============================
		ヘッダ
	============================*/
	header {
		width: 100%;
		background: #fff;
		position: fixed;
		top: 0;
		display: block;
		box-shadow: 0 0 10px rgba(94, 94, 94, 0.6);
		z-index: 10;
	}

	header .container {
		/* max-width:1440px; */
		max-width: 1200px;
		width: 100%;
		height: 100px;
		margin: 0px auto 0px;
		padding: 0 20px;
		position: relative;
		display: flex;
		gap:0 45px;
		justify-content: space-between;
		align-items: center;
		z-index: 20;
	}

	header .hd_search
	{
		position: fixed;
		top:100px;
		left:0;
		width:100%;
		padding:10px 0px 10px;
		background:#f2d129;
		z-index: 15;
		box-shadow: 0 7px 7px rgba(190, 190, 190, 0.6);
	}
	header .search_bar
	{
		max-width: 1200px;
		width: 100%;
		margin: 0px auto 0px;
		padding:0px 20px;
	}
	header .search_bar .search_inner
	{
		display: flex;
		align-items: center;
		justify-content: flex-start;
		gap:20px;
		width:100%;
	}
	.search_inner .search1
	{
		width:20%;
	}
	.search_inner .search2
	{
		width:20%;
	}
	.search_inner .search_txt
	{
		width:calc( 100% - 40% - 120px - 60px );
	}
	.search_inner .search_btn
	{
		width:120px;
	}
	.search_inner .search_btn i
	{
		margin-right:0.5em;
	}

	header h1 {
		text-align: center;
		max-height: 64px;
	}

	header h1 a {
		color: #000;
	}

	header h1 a figure img {
		max-height: 90px;
		width: auto;
	}

	header .pc_navi > div {
		display: flex;
	}

	/*============================
			フッター
		============================*/
	footer {
		padding: 55px 0;
		background: #f2d129;
	}

	footer .container {
		display: flex;
		justify-content: space-between;
		padding: 0;
	}

	footer .container .about {
		display: flex;
		justify-content: flex-start;
		gap: 30px;
		width: 50%;
		border-right: 1px solid #999;
	}

	footer .container .about h2 {
		width: 150px;
		height: auto;
	}

	footer .container .about .address dl {
		display: flex;
		justify-content: flex-start;
		gap: 2px;
	}

	footer .container .about .address dt {
		width: 6em;
		-moz-text-align-last: justify;
		text-align-last: justify;
	}

	footer .container .about .address dt:after {
		content: "：";
	}

	footer .container .ft_navi {
		width: 50%;
		display: flex;
		justify-content: flex-start;
		gap: 40px;
		padding-left: 50px;
	}

	footer .container .ft_navi a {
		color: #222;
	}
	footer .container .ft_navi a:hover
	{
		color: #999;
		opacity: 1;
		text-decoration: underline;
	}

	.copyright {
		font-size: 1.3rem;
		text-align: center;
		padding: 1em 0;
	}

	/*============================
		グローバルメニュー
	============================*/
	.pc_navi {
		padding-top: 10px;
		width: calc(100% - 150px - 15px);
		display: flex;
		justify-content: space-between;
		gap: 0px;
	}

	.pc_navi ul {
		display: flex;
		gap: 20px;
	}

	.pc_navi ul li a
	{
		color: #222;
		display: flex;
		align-items: center;
		width: -webkit-fit-content;
		width: -moz-fit-content;
		width: fit-content;
		/* font-size:1.8rem; */
		font-size: 1.6rem;
		white-space: nowrap;
		position: relative;
	}
	.pc_navi ul li a.all i
	{
		color: #383737;
		margin-right:0.5em;
		font-size:20px;
	}
	.pc_navi ul li a.all:hover i
	{
		color: #ef4564;
	}
	.pc_navi ul li a:not(.all):before
	{
		content: "";
		display: inline-block;
		background-color: #221e1f;
		width:25px;
		height:20px;
		margin-right:0.5em;
		mask-repeat: no-repeat;
		mask-position: bottom;
		mask-size: contain;
	}
	.pc_navi ul li a:hover:not(.all):before
	{
		background-color: #ef4564;
	}
	.pc_navi ul li.favorite a:before
	{
		content: none;
	}
	.pc_navi ul li a.cate1:before
	{
		mask-image:url('../images/icon/navi01.svg')
	}
	.pc_navi ul li a.cate2:before
	{
		mask-image:url('../images/icon/navi02.svg')
	}
	.pc_navi ul li a.cate3:before
	{
		mask-image:url('../images/icon/navi03.svg')
	}
	.pc_navi ul li a.cate4:before
	{
		mask-image:url('../images/icon/navi04.svg')
	}
	.pc_navi ul li a.cate5:before
	{
		mask-image:url('../images/icon/navi05.svg')
	}
	.pc_navi ul li a.cate6:before
	{
		mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M96 320c-53 0-96-43-96-96c0-42.5 27.6-78.6 65.9-91.2C64.7 126.1 64 119.1 64 112C64 50.1 114.1 0 176 0c43.1 0 80.5 24.3 99.2 60c14.7-17.1 36.5-28 60.8-28c44.2 0 80 35.8 80 80c0 5.5-.6 10.8-1.6 16c.5 0 1.1 0 1.6 0c53 0 96 43 96 96s-43 96-96 96L96 320zM81.5 353.9c12.2 5.2 17.8 19.3 12.6 31.5l-48 112c-5.2 12.2-19.3 17.8-31.5 12.6S-3.3 490.7 1.9 478.5l48-112c5.2-12.2 19.3-17.8 31.5-12.6zm120 0c12.2 5.2 17.8 19.3 12.6 31.5l-48 112c-5.2 12.2-19.3 17.8-31.5 12.6s-17.8-19.3-12.6-31.5l48-112c5.2-12.2 19.3-17.8 31.5-12.6zm244.6 31.5l-48 112c-5.2 12.2-19.3 17.8-31.5 12.6s-17.8-19.3-12.6-31.5l48-112c5.2-12.2 19.3-17.8 31.5-12.6s17.8 19.3 12.6 31.5zM313.5 353.9c12.2 5.2 17.8 19.3 12.6 31.5l-48 112c-5.2 12.2-19.3 17.8-31.5 12.6s-17.8-19.3-12.6-31.5l48-112c5.2-12.2 19.3-17.8 31.5-12.6z"/></svg>')
	}

	.pc_navi ul li a:after {
		content: "";
		position: absolute;
		bottom: 0px;
		left: 0;
		width: 100%;
		height: 2px;
		background: #ef4564;
		transform: scale(0, 1);
		transform-origin: right top;
		transition: transform 0.3s;
	}

	.pc_navi ul li a:hover:after {
		transform: scale(1, 1);
		transform-origin: left top;
	}

	.pc_navi li.all {
		padding-right: calc(25px);
		position: relative;
	}
	.pc_navi .favorite {
		padding-left: calc(25px);
		position: relative;
	}

	.pc_navi .favorite i {
		display: inline-block;
		padding-right: 0.5em;
		color: #ffaaee;
	}

	.pc_navi li.all::after {
		content: "";
		width: 1px;
		height: 1.5em;
		background: #ccc;
		position: absolute;
		top: 50%;
		right: 0px;
		transform: translate(0, -50%);
	}
	.pc_navi .favorite::after {
		content: "";
		width: 1px;
		height: 1.5em;
		background: #aaa;
		position: absolute;
		top: 50%;
		left: 0px;
		transform: translate(0, -50%);
	}

	.pc_navi > div {
		display: flex;
		justify-content: flex-end;
		width: -webkit-fit-content;
		width: -moz-fit-content;
		width: fit-content;
		gap: 20px;
		padding-left: 20px;
	}

	.pc_navi > div a {
		color: #222;
	}

	.pc_navi > div :is(.login, .logout, .entry, .mypage, .cart) a
	{
		font-size: 1.4rem;
		text-align: center;
		border-radius: 5px;
		padding: 0.2em 0;
		/* width:150px; */
		width: 100px;
		display: block;
		white-space: nowrap;
	}

	.pc_navi > div :is(.login, .logout) a {
		background: #ccc;
	}

	.pc_navi > div .entry a {
		background: #ffa12a;
		color: #fff;
	}
	.pc_navi > div .mypage a {
		background: #7eb72d;
		color: #fff;
	}
	.pc_navi > div .cart a {
		background: #ef4564;
		color: #fff;
	}

	.sp_navi {
		display: none;
	}

	.side_navi {
		position: absolute;
		z-index: 999;
		top: 100px;
		right: 20px;
		background: #fff;
		border-radius: 0 0 5px 5px;
	}

	.side_navi a {
		color: #222;
		font-size: 1.6rem;
		text-align: center;
		border-radius: 0 0 5px 5px;
		padding: 4px 0 8px;
		width: 150px;
		box-shadow: 0px 5px 5px rgba(94, 94, 94, 0.4);
		font-weight: 400;
		display: flex;
		align-items: center;
		justify-content: center;
		gap:5px;
	}
	.side_navi a span
	{
		font-size:1.6rem;
		color: #da0044;
	}

	.side_navi a:hover {
		background: #f1f1f1;
	}

	.side_navi a::before {
		content: "\f07a";
		font-family: "Font Awesome 6 Free";
		font-weight: 900;
		color: #3771c8;
		margin-right:5px;
	}

	/*============================
		キービジュアル
	============================*/
	.kv_wrap {
		position: relative;
		margin: 0px auto 50px;
	}

	.kv_wrap .kv_img {
		display: block;
	}

	.kv_wrap .kv_img img {
		height: 555px;
		/* max-height:calc(100vh - 100px); */
		max-height: 60vw;
		-o-object-fit: cover;
		object-fit: cover;
		-o-object-position:left 50% top 50%;
		object-position:left 50% top 50%;
	}
	.kv_wrap .kv_logo {
		display: block;
	}

	.kv_wrap .kv_logo img {
		max-width: 450px;
		width:100%;
	}

	.kv_wrap.sub .kv_img img {
		height: 200px;
		-o-object-fit: cover;
		object-fit: cover;
		/* -o-object-position: top 80%;
		object-position: top 80%; */
		-o-object-position:top 80% left 50%;
		object-position:top 80% left 50%;
	}

	.kv_wrap h2 {
		width: 100%;
		font-size: 5rem;
		text-align: left;
		position: absolute;
		letter-spacing: 0.1em;
		top: 35%;
		/* left:60px; */
		left: 50%;
		transform: translate(-38.5%, -50%);
		/* font-family: "Noto Serif JP", serif; */
		font-family: "M PLUS Rounded 1c", sans-serif;
  		font-weight: 800;
		color: #ffa507;
		line-height: 1.5;
		text-shadow: 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 10px #fff,
			0 0 10px #fff, 0 0 15px #fff, 0 0 15px #fff;
		/* text-shadow: 0 0 5px #a0bedc, 0 0 10px #a0bedc, 0 0 15px #a0bedc, 0 0 30px #a0bedc; */
	}

	.kv_wrap h2 span {
		margin-top: 20px;
		display: block;
		font-size: 2.5rem;
		line-height: 1.5;
	}

	.kv_wrap h4 {
		width: 80%;
		margin:auto;
		font-size: 4rem;
		text-align: center;
		font-weight: 400;
		position: absolute;
		letter-spacing: 0;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		/* font-family: "Noto Serif JP", serif; */
		font-family: "Lato", "Zen Kaku Gothic New", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "MS Ｐゴシック", "MS PGothic", sans-serif;
		font-weight: 700;
		color: #fff;
		line-height: 1.4;
		text-shadow: 0 0 10px #000;
	}
	.kv_wrap h4 span {
		font-size: 2.5rem;
		display: block;
		margin-top: 0.3em;
	}

	.kv_info
	{
		background: linear-gradient(90deg, rgba(212, 207, 64, 0.3) 70%, rgba(254, 248, 173, 0.1) 100%);
		position: absolute;
		top:60%;
		width:60%;
		font-size:1.4rem;
		letter-spacing: 0;
		padding:15px 50px 8px 0;
	}
	.kv_info p
	{
		/* font-family: 'M PLUS Rounded 1c', sans-serif; */
		color:#222;
		position: relative;
		letter-spacing: 0.1em;
		left:50%;
		transform: translate(-30%, 0);
		line-height: 1.8;
		white-space: nowrap;
		/* font-weight: bold; */
	}

	/*============================
		Contents
	============================*/
	/* バナー */
	section.top_bn {
		margin-top: 25px;
		padding: 0 0px;
	}

	.bn_list {
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 10px;
	}

	.bn_list img {
		-o-object-fit: cover;
		object-fit: cover;
	}

	/* PICKUP */
	.top_arrival .pickup_box
	{
		width: 100%;
		text-align: left;
		/* background: beige;
		padding:30px 20px 10px */
	}
	.top_arrival .pickup_box h3
	{
		font-size:2.3rem;
		color:#3771c8;
		margin-bottom:1.5em;
		text-align: center;
		font-weight: normal;
		text-decoration: underline wavy #98bfdf 2px;
		text-underline-offset: 8px;
	}
	.top_arrival .pickup_inner
	{
		display: flex;
		flex-flow: row nowrap;
		gap:30px;
	}
	.top_arrival .pickup_inner > figure
	{
		width:30%;
	}
	.top_arrival .pickup_inner > div
	{
		width:calc( 100% - 30% - 30px );
	}
	.top_arrival .pickup_inner > div p
	{
		margin-bottom:3em;
	}
	.top_arrival .pickup_inner > div .btn_area a
	{
		display: block;
		width: 450px;
		border: 1px solid #3771c8;
		color: #3771c8;
		background: #fff;
		padding: 0.2em 0;
		border-radius: 5px;
		text-align: center;
		border: 3px solid #ff6600;
		color: #ff6600;
		max-width: 300px;
		border-radius: 10px;
	}
	.top_arrival .pickup_inner > div .btn_area a:hover
	{
		background: #ff6600;
		color:#fff;
	}


	/* カテゴリー */
	.pickup.inner {
		position: relative;
		z-index: 999;
	}

	.pickup.inner > p {
		line-height: 1.6;
		margin-bottom: 40px;
	}

	.category_panel {
		display: grid;
		grid-template-columns: 1fr 1fr 1fr 1fr;
		grid-template-rows: 160px 160px;
		gap: 25px;
		margin-bottom: 25px;
	}

	.category_panel a {
		position: relative;
		display: block;
		height: 100%;
	}
	.category_panel a::after {
		content: "";
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		background-color: rgba(0, 0, 0, 0);
		border-radius: 3px;
		z-index: 1;
	}
	.category_panel a:hover {
		opacity: 1;
	}
	.category_panel a:hover::after {
		transition: all 0.5s;
		background-color: rgba(0, 0, 0, 0.3);
	}

	.category_panel img {
		display: block;
		width: 100%;
		height: 100%;
		-o-object-fit: cover;
		object-fit: cover;
		border-radius: 3px;
		position: relative;
		border:1px solid #ccc;
	}
	.category_panel div
	{
		width: 80%;
		position: absolute;
		bottom: 5px;
		left: 50%;
		transform: translate(-50%, 0);
		z-index: 10;
		text-align: center;
		color: #fff;
		z-index: 10;
	}
	.category_panel h3
	{
		font-size:2rem;
		text-align: center;
		font-weight: 700;
		color: #fff;
		text-shadow: #333 1px 1px 5px, #333 -1px 1px 5px, #333 1px -1px 5px,
			#333 -1px -1px 5px;
	}
	.category_panel p {
		text-align: center;
		padding-top: 5px;
		margin-top: 10px;
		font-weight: 400;
		color: #fff;
		text-shadow: #333 1px 1px 5px, #333 -1px 1px 5px, #333 1px -1px 5px,
			#333 -1px -1px 5px;
		z-index: 10;
		border-top: 1px solid #fff;
	}
	/* .category_panel div.small
	{
		bottom: 5px;
	} */
	/* .category_panel div.small h3
	{
		font-size:2rem;
		text-align: center;
	}
	.category_panel div.small p
	{
		font-size: 1.3rem;
		padding-top: 5px;
		margin-top: 8px;
		text-align: center;
	} */

	/* MEDICAL */
	/* MEDICAL */
	/* FACTORY */
	.category_panel.type1 .pane1 {
		grid-column: 1 / 3;
		grid-row: 1 / 3;
	}

	.category_panel.type1 .pane2 {
		grid-column: 3 / 4;
		grid-row: 1 / 3;
	}

	.category_panel.type1 .pane3 {
		grid-column: 4 / 5;
		grid-row: 1 / 2;
	}

	.category_panel.type1 .pane4 {
		grid-column: 4 / 5;
		grid-row: 2 / 3;
	}

	/* SERVICE */
	.category_panel.type2 .pane1 {
		grid-column: 3 / 5;
		grid-row: 1 / 3;
	}

	.category_panel.type2 .pane2 {
		grid-column: 1 / 2;
		grid-row: 1 / 2;
	}

	.category_panel.type2 .pane3 {
		grid-column: 2 / 3;
		grid-row: 1 / 2;
	}

	.category_panel.type2 .pane4 {
		grid-column: 1 / 2;
		grid-row: 2 / 3;
	}

	.category_panel.type2 .pane5 {
		grid-column: 2 / 3;
		grid-row: 2 / 3;
	}

	/* CARE */
	.category_panel.type3 .pane1 {
		grid-column: 2 / 4;
		grid-row: 1 / 3;
	}

	.category_panel.type3 .pane2 {
		grid-column: 1 / 2;
		grid-row: 1 / 2;
	}

	.category_panel.type3 .pane3 {
		grid-column: 1 / 2;
		grid-row: 2 / 3;
	}

	.category_panel.type3 .pane4 {
		grid-column: 4 / 5;
		grid-row: 1 / 2;
	}

	.category_panel.type3 .pane5 {
		grid-column: 4 / 5;
		grid-row: 2 / 3;
	}


	.top_arrival h3
	{
		font-size: 3rem;
		margin-bottom:20px;
	}
	.top_arrival .container
	{
		border-top: 1px dotted #222;
		padding-top:40px;
	}
	.top_arrival .btn_area
	{
		background:none;
	}
	.top_arrival .btn_area a.more
	{
		border:3px solid #ef4564;
		color:#ef4564;
		max-width: 300px;
		border-radius: 10px;
	}
	.top_arrival .btn_area a.more:hover
	{
		background:#ef4564;
	}


	.btn_area {
		padding: 20px 0;
		background: #f4f4f4;
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 30px;
	}

	.btn_area a.more {
		display: block;
		width: 450px;
		border: 1px solid #3771c8;
		color: #3771c8;
		background: #fff;
		padding: 0.2em 0;
		border-radius: 5px;
		text-align: center;
	}

	.btn_area a.more:hover {
		color: #fff;
		background: #3771c8;
	}

	.btn_area button.submit {
		max-width: 250px;
	}

	.btn_area button.submit:hover {
		color: #3771c8;
		background: #fff;
	}

	.btn_area button.cancel {
		max-width: 250px;
		border-color:#666;
		color: #666;
		background: #fff;
	}
	.btn_area button.cancel:hover {
		color: #fff;
		background: #666;
	}


	.btn_area a.back {
		width: 50%;
		max-width: 250px;
		font-size: 1.7rem;
		background: #b0b0b0;
		border: none;
		box-sizing: border-box;
		padding: 0.2em 0;
		font-weight: 700;
		border: 1px solid #b0b0b0;
		border-radius: 5px;
		color: #fff;
		min-height: 40px;
		cursor: pointer;
		line-height: 1;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.btn_area a.back:hover {
		color: #b0b0b0;
		background: #fff;
	}

	.pickup .btn_area a.more {
		color: #3771c8;
		border-color: #3771c8;
	}

	:is(.service) .btn_area a.more {
		color: #d0323f;
		border-color: #d0323f;
	}

	.factory .btn_area a.more {
		color: #166116;
		border-color: #166116;
	}

	.pickup .btn_area a.more:hover {
		color: #fff;
		background: #3771c8;
	}

	:is(.service) .btn_area a.more:hover {
		color: #fff;
		background: #d0323f;
	}

	.factory .btn_area a.more:hover {
		color: #fff;
		background: #166116;
	}

	.top_category .container .inner + .inner {
		margin-top: 60px;
	}

	/* ニュースリスト */
	.news_list {
		margin-top: 20px;
		margin-bottom: -15px;
		padding: 0;
		border-bottom: 1px dotted #222;
	}

	.news_list li a {
		display: flex;
		justify-content: flex-start;
		align-items: center;
		gap: 35px;
		border-top: 1px dotted #222;
		padding: 10px 20px;
		color: #222;
	}

	.news_list li a:hover {
		background: #f4f4f4;
	}

	.news_list li a time {
		width: 110px;
	}

	.news_list li a .category {
		padding: 0.1em 0;
		width: 115px;
		text-align: center;
		border: 1px solid #156abb;
		color: #156abb;
		background: #fff;
		border-radius: 5px;
		font-size: 1.2rem;
	}

	.news_list li a div {
		width: calc(100% - 110px - 115px - 35px * 2);
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	/* CONTACT */
	.top_contact .container {
		margin-top: 20px;
		margin-bottom: 120px;
		background: #ededee;
		padding: 30px 30px;
		display: flex;
		align-items: stretch;
		gap: 30px;
	}

	.top_contact .container .inner {
		width: calc((100% - 60px) / 3);
		background: #fff;
		border-radius: 8px;
		padding: 25px 20px;
		font-size: 1.6rem;
	}

	.top_contact .container .inner h4 {
		background: #aeafa7;
		color:#fff;
		padding: 0.2em 0;
		border-radius: 5px;
		text-align: center;
		margin-bottom: 25px;
	}

	.top_contact .container .inner div {
		padding: 0 10px;
	}

	.top_contact .container .inner .guide_wrap {
		display: flex;
		justify-content: flex-start;
		gap: 30px;
	}

	.top_contact .container .inner a {
		text-decoration: underline;
	}

	.top_contact .container .inner a:hover {
		text-decoration: none;
	}

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

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

	.cmn_contents :is(.thanks, .sorry) p {
		line-height: 1.8;
	}

	/* パンくず */
	/* .breadcrumbs ul
		{
			max-width:1200px;
			margin:0 auto;
		}
		.breadcrumbs ul li
		{
			display:inline;
			margin-right:10px;
			padding-left:10px;
			position: relative;
			font-size:1.5rem;
			color:#666;
		}
		.breadcrumbs ul li:nth-child(n+2)::before
		{
			content: " > ";
			position: absolute;
			top:50%;
			left:-7px;
			transform:translate( 0, -50%)
		}
		.breadcrumbs ul li a
		{
			color:#666;
			text-decoration: underline;
		}
		.breadcrumbs ul li a:hover
		{
			text-decoration: none;
		}
		*/

	section.sub_bn {
		margin-top: 25px;
		padding: 0 0px;
	}

	/* item_search */
	.search_wrap {
		margin: 15px auto 0;
		padding: 25px 30px;
		background: #f4f4f4;
		font-size: 1.6rem;
	}
/*
	.search_wrap .item_category_link {
		display: flex;
		justify-content: flex-start;
		align-items: center;
		gap: 20px;
		margin-bottom: 20px;
	}

	.search_wrap .item_category_link a {
		min-width: 160px;
		line-height: 1;
		padding: 10px;
		background: #fff;
		border-radius: 7px;
		display: block;
		text-align: center;
		border: 1px solid #3771c8;
		color: #3771c8;
	}
*/

	.search_wrap .item_category_link {
		display: flex;
		justify-content: flex-start;
		flex-wrap: wrap;
		align-items: center;
		gap: 15px 20px;
		margin-bottom: 20px;
	}

	.search_wrap .item_category_link a {
		padding: 5px 15px;
		width: fit-content;
		font-size:1.6rem;
		line-height: 1;
		background: #fff;
		border-radius: 7px;
		display: block;
		text-align: center;
		border: 1px solid #3771c8;
		color: #3771c8;
	}
	.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;
		background: #fff;
		border: 1px solid #222;
		color: #222;
	}

	.search_wrap .item_category_link a.all.on,
	.search_wrap .item_category_link a.all:hover {
		background: #222;
		color: #fff;
	}

	.search_wrap .search_inner {
		display: flex;
		justify-content: flex-start;
		align-items: center;
		gap: 20px;
	}

	.search_wrap .search_inner .name {
		min-width: 280px;
	}

	.search_wrap .search_inner .price_range {
		display: flex;
		justify-content: flex-start;
		align-items: center;
		gap: 5px;
	}

	.search_wrap .search_inner .price_range > div {
		max-width: 157px;
		position: relative;
		z-index: 0;
	}

	.search_wrap .search_inner .price_range > div::after {
		content: "￥";
		color: #222;
		position: absolute;
		top: 0;
		left: 0;
		top: 50%;
		left: 0.5em;
		transform: translate(0, -50%);
		z-index: 999;
	}

	.search_wrap .search_inner .select.other {
		margin-right: auto;
	}

	.search_wrap .search_inner .price_range > div input {
		padding-left: 1.5em;
	}

	.search_wrap .search_inner .search_btn {
		width: 150px;
	}
	.search_tgl
	{
		display:none;
	}

	.list_sort {
		margin: 10px 0 60px;
	}

	.list_sort ul {
		position: relative;
		display: flex;
		justify-content: flex-end;
		gap: 20px;
		align-items: center;
	}

	.list_sort ul:before {
		content: "\f03a";
		font-family: "Font Awesome 6 Free";
		font-weight: 900;
		color: #222;
	}

	.list_sort ul a {
		color: #3771c8;
		font-weight: 700;
	}

	.list_sort ul a:is(.sort_down, .sort_up) {
		position: relative;
		padding-left: 1em;
	}

	.list_sort ul a.sort_down:before {
		content: "\f0dd";
		font-family: "Font Awesome 6 Free";
		font-weight: 900;
		color: #222;
		display: inline-block;
		position: absolute;
		top: -40%;
		left: 0;
	}

	.list_sort ul a.sort_up:before {
		content: "\f0de";
		font-family: "Font Awesome 6 Free";
		font-weight: 900;
		color: #222;
		display: inline-block;
		position: absolute;
		top: 0%;
		left: 0;
	}

	/* item_list */
	.item_list {
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		align-items: flex-start;
		justify-content: flex-start;
		gap: 30px;
		margin-bottom: 60px;
	}

	.item_list li {
		width: calc((100% - 30px * 4) / 5);
		text-align: center;
		margin-bottom: 10px;
		position: relative;
	}

	.item_list li .item_status {
		font-size: 0.8rem;
		line-height: 1;
		padding: 4px 5px;
		margin-right: 10px;
		display: inline-block;
		text-align: center;
		color: #fff;
		position: absolute;
		top: -5px;
		left: -5px;
		z-index: 10;
	}

	.item_list li .item_status.comingsoon {
		background: #a7a7a7;
	}

	.item_list li .item_status.end {
		background: #a7a7a7;
	}

	.item_list li .item_status.soldout {
		background: #a7a7a7;
	}

	.item_list li .item_status.mark {
		background: #7eb72d;
		font-weight: 700;
	}

	.item_list li figure {
		width: 100%;
		/* height:330px; */
		height: 260px;
		overflow: hidden;
		position: relative;
		border-radius: 3px;
	}

	.item_list li figure img {
		width: 100%;
		height: 100%;
		/* -o-object-fit: cover;
		object-fit: cover; */
		-o-object-fit: contain;
		object-fit: contain;
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		transition: 0.3s;
		display: block;
	}

	.item_list li figure:hover img {
		transform: scale(1.1);
	}

	.item_list li h3 {
		font-size: 1.4rem;
		font-weight: 700;
		padding: 0px 20px 0px 10px;
		margin-top: 25px;
		margin-bottom: 7px;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		line-height: 20px;
		/*
			display: flex;
			justify-content: center;
			align-items: center;
			*/
		min-height: 20px;
	}

	.item_list li h3 span
	{
		font-size: 1.1rem;
		line-height: 1;
		padding: 4px 5px;
		margin-right: 5px;
		/* background: #abc837; */
		display: inline-block;
		text-align: center;
		color: #abc837;
		border-radius: 5px;
		border: 1px solid #abc837;
	}
	.item_list li span.type_name
	{
		font-size: 1.3rem;
		line-height: 1;
		position: relative;
		top:-10px;
		margin-bottom:10px;
		color: #666;
	}

	.item_list li .price {
		font-size: 1.6rem;
		letter-spacing: 0.1em;
		margin-bottom: 8px;
		display: flex;
		justify-content: center;
		align-items: center;
		letter-spacing: 0;
		min-height: 18px;
		line-height: 1;
		min-height: 20px;
	}

	.item_list li .price span {
		font-size: 1.4rem;
		line-height: 1;
		padding: 4px 5px;
		margin-left: 10px;
		background: #da0044;
		display: inline-block;
		text-align: center;
		color: #fff;
	}

	.status_label {
		font-size: 1.4rem;
		padding: 0.1rem;
		min-height: 30px;
		margin: 0 auto 8px;
		width: 100%;
		font-weight: 400;
	}

	.status_label.comingsoon {
		/* background: #2794ec;
			color:#fff; */
		/* background: #fff;
			color:#8b8b8b; */
		background: #fff7e9;
		color: #faaa5f;
	}

	.status_label.end {
		background: #f4f4f4;
		color: #808080;
		/* background: #fff;
			color:#aa3305; */
	}

	.status_label.soldout {
		/* background: #f5eee0;
			color:#f78419; */
		/* background: #fff;
			color:#aa3305; */
		background: #f1f1f1;
		color: #999;
	}

	.item_list li .tag {
		font-size: 1.3rem;
		font-weight: 400;
	}

	.item_list li .tag a {
		display: inline-block;
		margin-right: 0.5em;
	}

	.category_navi .inner {
		display: flex;
		align-items: flex-start;
		justify-content: center;
		gap: 30px;
		margin-bottom: 45px;
	}

	.category_navi .inner h4 {
		font-weight: 400;
		color: #222;
	}
	.category_navi .inner img{
		width:100%;
		aspect-ratio: 268 / 180;
		object-fit: cover;
	}

	/* ページャー */
	.pager {
		margin: 0 auto 0;
		max-width: 1200px;
		width: 80%;
	}

	.pager .page_button {
		display: flex;
		align-items: stretch;
		justify-content: center;
		gap: 30px;
	}

	.pager .page_button li a,
	.pager .page_button li.active {
		display: block;
		border: 1px solid #999;
		text-align: center;
		padding: 5px 10px;
		min-width: 40px;
		color: #999;
	}

	.pager .page_button li a:hover,
	.pager .page_button li.active {
		background: #999;
		color: #fff;
	}

	/* item_detail */
	:is(.item_mark,.item_comingsoon,.item_end,.item_soldout)
	{
		position: absolute;
		top: 5px;
		right: 20px;
		font-size: 1.4rem;
		line-height: 1;
		padding: 4px 5px;
		margin-left: 10px;
		background: #7eb72d;
		font-weight: 700;
		display: inline-block;
		text-align: center;
		color: #fff;
		border-radius: 0px;
	}
	.item_comingsoon
	{
		background: #a7a7a7;
		color: #fff;
	}
	.item_end
	{
		background: #a7a7a7;
		color: #fff;
	}
	.item_soldout
	{
		background: #a7a7a7;
		color: #fff;
	}

	.item_detail_wrap {
		display: flex;
		justify-content: space-between;
		gap: 80px;
		margin-bottom: -15px;
	}

	/* slider */
	.slider_wrap {
		max-width: 450px;
		width: 100%;
		margin: 0 auto;
		position: relative;
	}

	.slider_wrap .slick-slide {
		height: 450px;
		overflow: hidden;
	}

	.slider_wrap .slick-slide img {
		display: block;
		width: 100%;
		height: 100%;
		-o-object-fit: cover;
		object-fit: cover;
		border-radius: 3px;
	}

	.slider_wrap .thumbs_dots {
		margin: 20px 0 0;
	}

	.slider_wrap .thumbs_list li {
		display: inline-block;
		width: calc((100% - 40px) / 3);
		height: 140px;
		padding: 0;
		margin-right: 20px;
		opacity: 0.6;
		cursor: pointer;
		transition: opacity 0.3s;
		border-radius: 3px;
	}

	.slider_wrap .thumbs_list li:nth-child(3n) {
		margin-right: 0px;
	}
	.slider_wrap .thumbs_list li:nth-child(n + 4) {
		margin-top: 10px;
	}

	.thumbs_list li.slick-active {
		opacity: 1;
	}

	/* item_info */
	.item_info {
		/* width: 630px; */
		width:calc( 100% - 450px - 80px)
	}

	.item_info_inner {
		margin-bottom: 20px;
	}

	.item_info_inner dl {
		display: flex;
		justify-content: flex-start;
		align-items: center;
		padding: 10px 0;
		border-bottom: 1px dotted #aaa;
	}

	.item_info_inner dl dt {
		width: 20%;
		color: #666;
	}

	.item_info_inner dl dd {
		width: 80%;
	}

	.item_info_inner dl.price dd > * {
		display: inline-block;
	}

	.item_info_inner dl.price dd .regular_price {
		font-size: 2.4rem;
		text-decoration: line-through;
		margin-right: 1em;
	}

	.item_info_inner dl.price dd .sale_price {
		font-size: 2.4rem;
		margin-right: 0;
	}

	.item_info_inner dl.price dd .tax_type {
		font-size: 1.3rem;
		margin-right: 1em;
		position: relative;
		margin-top: -4px;
	}

	.item_info_inner dl.price dd .discount {
		font-size: 1.4rem;
		line-height: 1;
		padding: 4px 5px;
		margin-left: 10px;
		background: #da0044;
		display: inline-block;
		text-align: center;
		color: #fff;
		border-radius: 5px;
	}

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

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

	.item_info_inner dl.size dd select {
		width: 100px !important;
		min-width: auto;
	}

	.type_select ul {
		display: flex;
		justify-content: flex-start;
		gap: 30px;
		flex-wrap: wrap;
		margin-bottom: 70px;
	}

	.type_select ul li {
		width: calc((100% - 30px * 5) / 6);
		padding: 0;
	}

	.type_select ul li a {
		display: block;
	}

	.type_select ul li a figure {
		height: 65px;
	}

	.type_select ul li a figure figcaption {
		color: #222;
		font-size: 0.85rem;
		line-height: 1;
		padding: 5px 0;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		position: relative;
	}

	.type_select ul li a figure img {
		width: 100%;
		height: 100%;
		-o-object-fit: cover;
		object-fit: cover;
		border-radius: 3px;
	}

	.type_select ul li a figure figcaption:after {
		content: "";
		position: absolute;
		bottom: 0px;
		left: 0;
		width: 100%;
		height: 3px;
		background: #aade87;
		transform: scale(0, 1);
		transform-origin: right top;
		transition: transform 0.5s;
	}

	.type_select ul li a:hover figure figcaption:after {
		transform: scale(1, 1);
		transform-origin: left top;
	}

	.type_select ul li.choice a figure figcaption:after {
		content: "";
		position: absolute;
		bottom: 0px;
		left: 0;
		width: 100%;
		height: 3px;
		background: #aade87;
		transform: scale(1, 1);
	}

	/* add_cart */
	.add_cart {
		width: 100%;
		padding: 20px;
		background: #f4f4f4;
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 50px;
	}

	.favorite-fa-heart {
		font-size: 23px;
		cursor: pointer;
		color: #ffaaee;
		margin-left: 0px;
	}

	.favorite-fa-heart.heart {
		-webkit-animation: heartAnimation 0.2s;
		animation: heartAnimation 0.2s;
		color: #ffaaee;
	}

	.favorite {
		position: relative;
	}

	.tooltips {
		display: none;
		opacity: 0;
		position: absolute;
		padding: 5px 5px;
		font-size: 1.2rem;
		line-height: 1;
		text-align: center;
		color: #fff;
		border-radius: 5px;
		background: #ffaaee;
		width: 100px;
		transition: all 0.3s ease;
		top: -35px;
		left: 50%;
		transform:translate(-50%, 0);
		margin-left: 0px;
	}

	.tooltips:after {
		content: "";
		position: absolute;
		top: 100%;
		left: 50%;
		border: 8px solid transparent;
		border-top: 8px solid #ffaaee;
		margin-left: -8px;
	}

	.favorite:hover .tooltips {
		display: inline-block;
		opacity: 1;
		-webkit-animation: fadeIn 0.3s ease-in 0s forwards;
		animation: fadeIn 0.3s ease-in 0s forwards;
	}

	.favorite_del a
	{
		margin-top:10px;
		display: block;
		width:100%;
		font-size:1.2rem;
		padding:0.2em 0;
		text-align: center;
		background:#f4f3f2;
		color:#666;
	}
	.favorite_del a .favorite-fa-heart
	{
		font-size:1.2rem;
		margin-right:0.5em;
		margin-left:0;
	}

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

	.add_cart .item_num p {
		margin-bottom: 0;
		font-size: 1.3rem;
		white-space: nowrap;
	}

	.add_cart .item_num select {
		width: 100px !important;
		min-width: auto;
	}

	.add_cart .buy_btn button {
		font-size: 1.4rem;
		text-align: center;
		border-radius: 5px;
		padding: 0.2em 0;
		width: 150px;
		min-width: 120px;
		line-height: 1;
	}

	.add_cart div:is( .comingsoon, .end, .soldout )
	{
		width:70%;
		text-align: center;
		font-weight: 700;
		color:#a7a7a7;
		font-size:1.7rem;
	}
	.add_cart div:is( .comingsoon, .end, .soldout ):after
	{
		font-size:1.5rem;
		font-weight: 400;
		margin-left:0.8em;
	}
	.add_cart div.comingsoon:after
	{
		content:"(商品発売までしばらくお待ちください。)"
	}
	.add_cart div.end:after
	{
		content:"(現在お取り扱いしておりません。)"
	}
	.add_cart div.soldout:after
	{
		content:"(次回入荷までお待ちください。)"
	}


	.item_point {
		width: 100%;
		padding: 30px 0;
		background: #eeedeb;
		margin-bottom: 60px;
	}

	.item_point .container {
		padding: 0 20px;
		display: flex;
		gap: 40px;
		justify-content: center;
	}

	.item_point .point_unit {
		display: flex;
		gap: 15px;
	}

	.item_point .point_unit figure {
		width: 200px;
	}

	.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.5rem;
		line-height: 1.5;
	}

	/*============================
		ck_post
	============================*/
	.ck_post {
		display: flow-root;
		position: relative;
		margin-bottom: 60px;
		font-size: 1.6rem;
		line-height: 1.6;
		text-align: left;
		z-index: 0;
	}

	.ck_post h3 {
		font-size: 1.6rem;
		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.6rem;
		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.6rem;
		font-weight: 700;
		text-align: left;
		color: #222;
		margin: 2em 0 0.5em;
	}

	.ck_post > :is(h3, h4, h5):first-child {
		margin-top: 0;
	}

	.ck_post img {
		max-width: 100%;
		width: fit-content;
		border-radius: 3px;
	}

	.ck_post img.img_FR {
		max-width: 300px;
		float: right;
		margin-top: 30px;
		margin-left: 30px;
		margin-bottom: 30px;
	}
	.ck_post table
	{
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
	}

	.ck_post table th,
	.ck_post table td
	{
		padding: 15px 10px;
		font-weight: 700;
	}
	.ck_post table th
	{
		white-space: nowrap;
	}
	.ck_post table td
	{
		text-align: left;
		font-weight: 400;
	}

	.ck_post table tr:nth-child(odd)
	{
	background-color: #f3f3f1
	}

	.return_list {
		padding-top:40px;
		text-align: center;
	}

	.return_list a {
		display: inline-block;
		letter-spacing: -1px;
		position: relative;
	}

	.return_list a::after {
		content: "";
		position: absolute;
		bottom: 0px;
		left: 0;
		width: 100%;
		height: 1px;
		background: repeating-linear-gradient(
			90deg,
			#fff,
			#fff 2px,
			#aaa 2px,
			#aaa 4px
		);
		transform: scale(1, 1);
		transition: transform 1s;
	}

	.return_list a:hover::after {
		background: #aaa;
		transform: scale(1, 1);
	}

	/* login */
	.login {
		display: flex;
		justify-content: space-between;
		gap: 50px;
	}

	.login .login_l {
		max-width: 650px;
		width: 100%;
	}

	.login .login_l h2 {
		border-bottom-color: #bfddf0;
		margin-bottom: 0;
	}

	.login .login_form {
		padding: 30px 40px;
		background: #eee;
	}

	.login .login_form dl {
		display: flex;
		align-items: center;
		gap: 30px;
		margin-bottom: 30px;
	}

	.login .login_form dt {
		width: 90px;
	}

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

	.login .login_form .btn_area {
		padding: 0;
		background: transparent;
		gap: 30px;
	}

	.login .login_form .btn_area button {
		display: block;
		width: fit-content;
		border: 1px solid;
		padding: 5px 30px;
		border-radius: 5px;
		text-align: center;
		font-weight: 700;
		color: #fff;
		background: #3771c8;
		border-color: #3771c8;
	}

	.login .login_form .btn_area button:hover {
		color: #3771c8;
		background: #fff;
	}

	.login .login_r {
		width: calc(100% - 700px);
	}

	.login .login_r > div {
		margin-top: 40px;
	}

	.login .login_r > div h3 {
		font-size: 1.5rem;
		font-weight: 700;
		text-align: left;
		margin-bottom: 15px;
		position: relative;
		color: #222;
	}

	.login .login_r > div h3:before {
		font-family: "Font Awesome 6 Free";
		font-weight: 900;
		margin-right: 0.5em;
		display: inline-block;
		color: #bbb;
	}

	.login .login_r > div h3.entry:before {
		content: "\f007";
	}

	.login .login_r > div h3.passwd:before {
		content: "\f023";
	}

	.login .login_r > div p {
		font-size: 1.4rem;
	}

	.login .login_r > div a {
		font-size: 1.5rem;
		font-weight: 700;
		width: -webkit-fit-content;
		width: -moz-fit-content;
		width: fit-content;
		display: inline-block;
		position: relative;
	}

	.login .login_r > div a::after {
		position: absolute;
		bottom: 0;
		left: 0;
		content: "";
		width: 100%;
		height: 1px;
		background: #156abb;
		transform: scale(1, 1);
		transform-origin: left top;
		transition: transform 0.3s;
	}

	.login .login_r > div a:hover::after {
		transform: scale(0, 1);
		transform-origin: right top;
	}

	/* remainder */
	.login.remainder
	{
		display: block;
	}
	.login.remainder .login_form dt {
		width: 150px;
	}

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

	/* policy */
	.policy {
		margin-bottom: 50px;
	}

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

	.policy aside {
		font-size: 1.5rem;
	}

	.policy ol {
		list-style-type: decimal;
		padding-left: 1.3em;
	}

	.policy ol li {
		margin-bottom: 0.3em;
	}

	.policy ul {
		list-style-type: disc;
		padding-left: 1.3em;
	}

	.policy ul li {
		margin-bottom: 1em;
	}

	.policy a {
		font-size: 1.5rem;
		font-weight: 700;
		width: -webkit-fit-content;
		width: -moz-fit-content;
		width: fit-content;
		display: inline-block;
		position: relative;
	}

	.policy a:after {
		position: absolute;
		bottom: 0;
		left: 0;
		content: "";
		width: 100%;
		height: 1px;
		background: #156abb;
		transform: scale(1, 1);
		transform-origin: right top;
		transition: transform 0.3s;
	}

	.policy a:hover:after {
		transform: scale(0, 1);
	}

	/* member */
	.member {
		margin-bottom: 50px;
		position: relative;
	}

	.member h2 {
		width: 100%;
		font-size: 3rem;
		border-bottom: 5px solid #bfddf0;
		padding: 0 0 10px;
		line-height: 1;
		margin-bottom: 0px;
	}

	.member > p {
		position: absolute;
		top: 10px;
		left: 150px;
	}
	.member.address h3
	{
		text-align: left;
		font-weight: 700;
		font-size: 2rem;
		margin-top: 30px;
		/* margin-bottom: 25px; */
		margin-bottom: 15px;
		color: #222;
	}
	.member.address h3.my_info
	{
		border-bottom: 5px solid #f4d7ee;
		margin-bottom: 0;
		padding: 15px 0 15px;
	}

	.member.address table.tbl_frm
	{
		border-top: 1px dotted #aaa;
	}
	.member.address table.tbl_frm + .btn_area
	{
		margin-bottom: 40px;
	}
	.member.address table.tbl_frm + .btn_area button.del
	{
		background: #cc0000;
		border-color:#cc0000;
		color:#fff;
		max-width: 250px;
	}
	.member.address table.tbl_frm + .btn_area button.del:hover
	{
		background:#fff;
		border-color:#cc0000;
		color: #cc0000;
	}
	.member.address aside
	{
		padding-left:0;
	}

	/*============================
		カート
	============================*/
	.guide_text {
		margin-bottom: 2em;
	}

	.tbl_cart
	{
		width: 100%;
		margin: 15px auto 40px;
		border: none;
		border-collapse: collapse;
		font-size: 1.5rem;
	}

	.tbl_cart tr
	{
		border-bottom: 1px solid #cccccc;
	}

	.tbl_cart th
	{
		margin: 0;
		vertical-align: middle;
		font-weight: bold;
		padding: 5px 20px;
		background: #f4f3f2;
		border-top: 1px solid #cccccc;
		border-left: 1px dashed #cccccc;
	}

	.tbl_cart th.photo {
		border-left: none;
		width: 13%;
	}

	.tbl_cart th.price {
		width: 15%;
	}

	.tbl_cart th.number_select
	{
		width: 20%;
	}
	.tbl_cart th.number
	{
		width: 13%;
	}

	.tbl_cart th.point {
		width: 10%;
	}

	.tbl_cart th.subtotal {
		width: 15%;
	}
	.tbl_cart tr:is(.tr_subtotal, .tr_point, .tr_coupon, .tr_delivery, .tr_fee, .tr_total) th
	{
		border-left: none;
		text-align: right;
		padding-right:2em;
	}

	.tbl_cart td {
		padding: 10px 20px;
		margin: 0;
		text-align: left;
		vertical-align: middle;
		background: #fff;
		border-left: 1px dashed #cccccc;
	}
	.tbl_cart tr:is(.tr_subtotal, .tr_point, .tr_coupon, .tr_delivery, .tr_fee, .tr_total) td
	{
		text-align: right;
	}

	.tbl_cart td.photo {
		border-left: none;
	}

	.tbl_cart td.price {
		text-align: right;
	}

	.tbl_cart td.cart_change {
		text-align: right;
		margin-right: 5px;
	}

	.tbl_cart td.cart_change form {
		display: flex;
		justify-content: space-between;
		gap: 0px;
	}

	.tbl_cart td.cart_change select {
		min-width: auto;
		width: 45%;
		max-width: 45%;
		margin-right: 5%;
		font-size: 0.8em;
		position: relative;
		top: -1px;
	}

	.tbl_cart td.cart_change button[value="edit"] {
		font-size: 1.4rem;
		min-width: auto;
		width: 35%;
		max-width: 35%;
		padding: 0.2em 0px;
	}

	.tbl_cart td.cart_change button[value="del"] {
		min-width: auto;
		width: 10%;
		max-width: 10%;
		border: none;
		padding: 0;
		cursor: pointer;
		background: none;
		margin-left: 5%;
	}

	.tbl_cart td.cart_change button i {
		font-size: 1.4em;
		position: relative;
		top: 3px;
		color: #3771c8;
	}

	.tbl_cart td.point {
		text-align: center;
	}
	.tbl_cart td.subtotal {
		text-align: right;
	}

	/*============================
		配送選択
	============================*/
	.delivery
	{
		width:100%;
		margin-bottom:60px;
	}
	.point_coupon
	{
		width:100%;
		margin-bottom:50px;
	}
	:is(.delivery, .point_coupon, .payment, .cart_fix, .delivery_fix) > h3
	{
		text-align: left;
		/* font-weight: 700; */
		font-weight: 400;
		font-size:2rem;
		margin-bottom:15px;
		color:#222;
	}
	.tbl_select
	{
		width:100%;
		table-layout: fixed;
		border-top: 1px dotted #aaa;
		font-size: 1.5rem;
		/* margin:0 auto 60px; */
		margin:0 auto 40px;
	}
	.tbl_select tr
	{
		width: 100%;
		border-bottom: 1px dotted #aaa;
	}
	.tbl_select th
	{
		width:20%;
		text-align: left;
		/* padding: 10px 20px; */
		padding: 15px 50px 15px 20px;
		background: #f4f3f2;
		position: relative;
		font-weight: 700;
		vertical-align: top;
	}
	.tbl_select th .required
	{
		display: inline-block;
		font-size: 1rem;
		color: #fff;
		padding: 5px 5px;
		line-height: 1;
		background: #cc0000;
		border-radius: 5px;
		position: absolute;
		right: 30px;
		top: 20px;
	}
	.tbl_select th a
	{
		font-weight: 400;
		display: inline-block;
		margin-top: 1.5em;
		font-size: 1.4rem;
		text-align: center;
		border-radius: 5px;
		padding: 0.2em 0;
		max-width: 150px;
		display: block;
		/* white-space: nowrap; */
		border:1px solid #ccc;
		background: #fff;
		color:#222;
	}
	.tbl_select td
	{
		/* padding: 10px 20px; */
		padding: 15px 20px;
		background: #fff;
	}
	.tbl_select td.address dl
	{
		border:1px solid #ccc;
		display: flex;
		align-items: stretch;
		justify-content: flex-start;
		gap:25px;
		margin-bottom:15px;
		padding:2px;
		border-radius: 5px;
	}
	.tbl_select td.address dl:last-child
	{
		margin-bottom:0;
	}
	.tbl_select td.address dl dt
	{
		min-width:160px;
		padding:0 15px;
		position:relative;
		background:#f4f3f2;
	}
	.tbl_select td.address dl dt label
	{
		white-space: nowrap;
		position:absolute;
		top:50%;
		transform:translate(0%, -50%);
	}
	.tbl_select td.address dl dd
	{
		padding:15px 15px;
	}
	.tbl_select td.address span
	{
		color:#aaa;
	}
	.tbl_select td.hope ul
	{
		display: flex;
		flex-wrap: wrap;
		align-items: stretch;
		justify-content: flex-start;
		gap:10px 30px;
	}

	.tbl_select td.point div
	{
		font-weight: 700;
		background: #f4f3f2;
		padding:15px;
		margin-bottom: 10px;
	}
	.tbl_select td.point li
	{
		margin-bottom:10px;
	}
	.tbl_select td.coupon .coupon_entry_wrap
	{
		max-width:370px;
		padding:15px;
		background: #f4f3f2;
		margin-top:10px;
	}
	.tbl_select td.coupon .coupon_entry_wrap > div
	{
		display: flex;
		align-items: stretch;
		justify-content: flex-start;
		gap:15px;
	}
	.tbl_select td.coupon .coupon_entry_wrap > div div:first-child
	{
		width: 70%;
	}
	.tbl_select td.coupon .coupon_entry_wrap > div div:last-child
	{
		width: 30%;
	}
	.tbl_select td.coupon .coupon_entry_wrap button
	{
		width: 100%;
		font-size: 1.4rem;
		padding: 0.2em 15px;
		appearance: none;
		background: #3771c8;
		border: none;
		box-sizing: border-box;
		padding: 0.2em 0;
		font-weight: 700;
		border: 1px solid #3771c8;
		border-radius: 5px;
		color: #fff;
		min-height: 40px;
		cursor: pointer;
		line-height: 1;
	}
	.tbl_select td.coupon .coupon_entry_wrap > .application
	{
		margin-top:10px;
		color:#07ad60;
		font-size:1.4rem;
		gap:5px;
	}
	.tbl_select td.coupon .coupon_entry_wrap > .application .coupon_cancel
	{
		margin-left:5px;
		/* color:#da0044; */
		color:#222;
	}
	.tbl_select td.coupon .coupon_entry_wrap > .application span
	{
		font-weight: 700;
	}
	.tbl_select td.memo textarea
	{
		width:100%;
		min-height:200px;
	}
	.tbl_select td strong
	{
		font-weight: 700;
	}

	/*============================
		注文確認
	============================*/
	.payment
	{
		width:100%;
		margin-bottom:50px;
	}
	.payment .tbl_frm tr
	{
		border-top: 1px solid #ccc;
		border-bottom: 1px solid #ccc;
	}

	:is(#payment_card, #payment_cvs)
	{
		display: none;
	}

	.pay_select ul
	{
		display: flex;
		gap:30px;
	}
	:is(#payment_card, #payment_cvs)
	{
		background: #f3f3f3;
		padding: 15px 30px;
		/* margin-top: 15px; */
	}
	:is(#payment_card, #payment_cvs) > p
	{
		font-weight: 700;
		padding-bottom: 0.3em;
		margin-bottom: 0.3em;
		border-bottom: 1px solid #aaa;
		font-size: 1.6rem;
		margin-top: 0;
	}
	:is(#payment_card, #payment_cvs) > p + aside
	{
		padding-left: 0;
		margin-bottom: 0.3em;
		display: block;
	}
	:is(#payment_card, #payment_cvs) > div
	{
		margin-bottom: 0.5em;
	}
	:is(#payment_card, #payment_cvs) > div strong
	{
		display: block;
		font-weight: 700;
	}
	:is(#payment_card, #payment_cvs) select
	{
		width:fit-content;
	}

	.order_detail
	{
		display:flex;
		gap:50px;
		justify-content: space-between;
	}
	.order_detail .cart_fix
	{
		width:70%;
		font-size:1.4rem;
	}

	.order_detail .cart_fix :is(.tr_subtotal, .tr_tax, .tr_point, .tr_coupon, .tr_delivery, .tr_fee, .tr_total ) :is(th, td)
	{
		text-align: right;
	}
	.order_detail .cart_fix :is(.tr_subtotal, .tr_tax, .tr_point, .tr_coupon, .tr_delivery, .tr_fee, .tr_total ) th
	{
		border-left:none;
	}
	.order_detail .cart_fix .tr_total
	{
	    border-bottom: 1px solid #cccccc;
	}

	.order_detail .cart_fix .tr_delivery td .free
	{
		color:#da0044;
		font-weight: 700;
	}
	.order_detail .cart_fix .tr_total td
	{
		font-size: 1.2em;
		font-weight: 700;
	}
	.order_detail .delivery_fix
	{
		width:calc(100% - 70% - 50px);
		font-size:1.4rem;
	}
	.order_detail .delivery_fix .tbl_select
	{
	    margin: 15px auto 40px;
		border-top: 1px solid #cccccc;
	}
	.order_detail .delivery_fix :is(tr, th, td)
	{
		width: 100%;
		display: block;
	}
	.order_detail .delivery_fix th
	{
   		padding: 10px 20px;
	}

	/*============================
		注文完了
	============================*/
	.order_thanks
	{
		text-align: center;
	}
	.order_thanks h4
	{
		font-size:3rem;
		font-weight: 700;
		margin:40px auto 1em;
	}
	.order_thanks .order_number
	{
		max-width: 800px;
		margin:30px auto 40px;
		padding: 20px;
		background: #f4f3f2;
		display: flex;
		gap:20px;
		justify-content: center;
		align-items: center;
		font-size: 2rem;
	}

	.order_thanks .order_number dd p
	{
		display: inline-block;
		font-size: 1.3rem;
		color:#666;
		padding:0 0.5em;
	}
	.order_thanks .order_number dd p span
	{
		font-weight: 700;
		color:#07ad60;
		padding:0 0.5em;
	}
	.order_thanks .order_info
	{
		max-width: 800px;
		margin:30px auto 40px;
		border:3px solid #f4f3f2;
	}
	.order_thanks .order_info h3
	{
		padding:20px;
		color:#222;
		font-size:2rem;
		background: #f4f3f2;
		margin-bottom: 20px;
	}
	.order_thanks .order_info .order_info_inner
	{
		width:fit-content;
		margin:10px auto 0;
	}
	.order_thanks .order_info dl
	{
		display: flex;
		margin:0 auto 10px;
	}
	.order_thanks .order_info dl dt
	{
		width:120px;
		margin-right:1em;
		text-align: right;
	}

	/*============================
		マイページ
	============================*/
	.mypage h3,
	.mypage .order_number
	{
		width: 100%;
		/* font-size: 3rem; */
		font-size: 2.2rem;
		/* font-weight: 700; */
		font-weight: 400;
		border-bottom: 5px solid #bfddf0;
		padding: 15px 0 10px;
		line-height: 1;
		margin-bottom: 0;
		text-align: left;
		color:#222;
	}

	.mypage h3.member_edit
	{
		border-bottom: 1px dotted #aaa;
	}
	.mypage .order_number
	{
		display: flex;
		gap:30px;
		align-items: center;
	}
	.mypage .order_number .order_status
	{
		font-size: 1.6rem;
		display: inline-block;
		width: 85%;
		max-width: 130px;
		padding: 5px 0;
		text-align: center;
		border-radius: 5px;
		line-height: 1;
		white-space: nowrap;
	}
	.mypage .order_number .order_status
	{
		font-size: 1.6rem;
		display: inline-block;
		width: 85%;
		max-width: 130px;
		padding: 5px 0;
		text-align: center;
		border-radius: 5px;
		line-height: 1;
		white-space: nowrap;
	}
	.mypage .order_number p
	{
		margin-bottom:0;
		font-size: 2rem;
	}
	.mypage .order_number p span
	{
		font-weight: 700;
		color: #07ad60;
		padding: 0 0.5em;
	}
	.mypage h3.my_info
	{
		border-bottom-color:#f4d7ee;
		padding-top: 0;
	}
	.mypage .pager
	{
		margin-bottom:60px;
	}

	.tbl_mypage
	{
		width: 100%;
		margin: 0 auto 40px;
		border: none;
		border-collapse: collapse;
		font-size: 15px;
	}
	.tbl_mypage th
	{
		margin: 0;
		text-align: left;
		vertical-align: middle;
		font-weight: bold;
		padding: 3px 15px;
		background: #f4f3f2;
	}
	.tbl_mypage th.name
	{
		width: 15%;
	}

	.tbl_mypage th.kana
	{
		width: 15%;
	}

	.tbl_mypage th.date
	{
		width: 18%;
	}

	.tbl_mypage th.point
	{
		width: 13%;
	}
	.tbl_mypage th.status
	{
		width: 11%;
	}
	.tbl_mypage th.order_no
	{
		width: 20%;
	}
	.tbl_mypage th.price
	{
		width: 13%;
	}

	.tbl_mypage th.no
	{
		width: 10%;
	}
	.tbl_mypage th.add_name
	{
		width: 20%;
	}

	.tbl_mypage td
	{
		padding: 15px 15px;
		margin: 0;
		text-align: left;
		vertical-align: middle;
		background: #fff;
		border-bottom: 1px dotted #cccccc;
	}
	.tbl_mypage td.name
	{
		font-weight: 700;
	}
	.tbl_mypage td.leave_txt
	{
		width: 80%;
		padding-left:0;
	}
	.tbl_mypage td:last-child
	{
		text-align: right;
		font-weight: 700;
	}
	.tbl_mypage td a
	{
		margin-left:2em;
	}
	.tbl_mypage td a i
	{
		margin-right:0.2em;
	}
	.tbl_mypage td span
	{
		font-size:0.9em;
		display: inline-block;
		width:85%;
		max-width: 130px;
		padding:5px 0;
		text-align:center;
		border-radius: 5px;
		line-height: 1;
		white-space: nowrap;
	}
	.tbl_mypage td button.del
	{
		background:#cc0000;
		border-color:#cc0000;
	}
	.tbl_mypage td button.del:hover
	{
		background:#fff;
		color:#cc0000;
	}
	.tbl_mypage td.unregistered
	{
		text-align: center;
		font-weight: 400;
	}
	.st_payment
	{
		background: #abc837;
		color:#fff;
	}
	.st_deposit
	{
		background: #17a31e;
		color:#fff;
	}
	.st_close
	{
		background: #eee;
		color:#999;
	}
	.st_cancel
	{
		background: #222;
		color:#fff;
	}


	/*============================
		アニメーション
	============================*/
	/* お気に入りハート */
	@-webkit-keyframes heartAnimation {
		0% {
			/* アイコンサイズをもとのより小さくする */
			transform: scale(0.5);
		}

		10% {
			transform: scale(0.7);
		}

		30% {
			transform: scale(0.9);
		}

		50% {
			transform: scale(1.2);
		}

		80% {
			transform: scale(1.5);
		}

		100% {
			/* もとのサイズに戻す */
			transform: scale(1);
		}
	}

	@keyframes heartAnimation {
		0% {
			/* アイコンサイズをもとのより小さくする */
			transform: scale(0.5);
		}

		10% {
			transform: scale(0.7);
		}

		30% {
			transform: scale(0.9);
		}

		50% {
			transform: scale(1.2);
		}

		80% {
			transform: scale(1.5);
		}

		100% {
			/* もとのサイズに戻す */
			transform: scale(1);
		}
	}

	@-webkit-keyframes fadeIn {
		0% {
			display: none;
			opacity: 0;
		}

		1% {
			display: block;
			opacity: 0;
		}

		100% {
			display: block;
			opacity: 1;
		}
	}

	@keyframes fadeIn {
		0% {
			display: none;
			opacity: 0;
		}

		1% {
			display: block;
			opacity: 0;
		}

		100% {
			display: block;
			opacity: 1;
		}
	}

	/****************************
	 * トースター
	 ****************************/
	.toaster
	{
		line-height: 1;
		margin:0px;
		padding:0px;
		border:3px solid #78c40d;
		background:#78c40d;
		color:#fff;
		display:none;
		z-index:1000;
		border-radius: 10px;
		box-shadow: 0 0 10px #fff;
		font-weight: 700;
	}

	/* .toaster icon
	{
		width:50px;
		margin:0px;
		padding:0px;
		background:#78c40d;
		font-weight:900;
		font-size:1.8rem;
		color:white;
		justify-content:center;
		align-items:center;
		display:flex;
	} */

	.toaster p
	{
		margin:5px 50px;
		padding:0px;
		letter-spacing: 0.1em;
	}

	.toaster.error
	{
		border-color:#cc0000;
		background:#cc0000;
	}
	/* .toaster.error icon
	{
		background-color:#cc0000;
	} */
