@charset "utf-8";

/*****************************************************************

	トップページ＆共通レイアウト定義

*****************************************************************/

/* ====== BASE Module SET ===== */


*{
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

html,
body{
	margin: 0;
	padding: 0;
	background: #fafafa
}

html{
	overflow-y:scroll;
}

h1,h2,h3,h4,h5,h6,
p,ul,ol,dl,dt,dd,li,
table,td,th,
address,
blockquote,form,fieldset,legend,div,hr,pre{
	margin: 0;
	padding: 0;
	font-style: normal;
	text-align: left;
	font-size: 100%;
	line-height: 1.2;
}

article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary {
	display: block;
}


body{
	font-family: "Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ","meiryo","MS P Gothic","ＭＳ Ｐゴシック","Osaka", sans-serif;
	text-align: center;
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-o-text-size-adjust: 100%;
	text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

th,td{
	vertical-align: top;
}
svg,
img,
object,
embed{
	border: 0;
	vertical-align: top;
	outline: none;
	max-width: 100%;
	height: auto;
}

object:focus{
	outline: none;
}

embed:focus{
	outline: none;
}

img,
input,
select,
textarea{
	margin-top: 0;
	margin-bottom: 0;
	vertical-align: middle;
	font-size: 12px;
}

select,
input[type="button"],
input[type="text"],
input[type="submit"] {
  -webkit-appearance: none;
  appearance: none;
}
input[type=radio],
input[type=checkbox] {
  -ms-transform: scale(1.5, 1.5);
  -webkit-transform: scale(1.5, 1.5);
  transform: scale(1.5, 1.5);
		margin-right: 10px;
}

button{
	background-color: transparent;
	border: 0;
	cursor: pointer;
	outline: none;
	padding: 0;
	appearance: none;
}


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

abbr,
acronym,
fieldset{
	border: 0;
}

hr{
	margin: 2em 0;
	display: block;
	border: 0;
	border-bottom: 1px solid #ddd;
	clear: both;
}
svg,
img{
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;

	-moz-transition: 0.5s;
	-webkit-transition: 0.5s;
	transition: 0.5s;
	vertical-align: top;

	-moz-user-select: none; 
	-webkit-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-user-drag: none; 
	user-drag: none;
}

iframe{
	display: block;
	vertical-align: top;
}

i,
em{
	font-style: normal;
}

a{
	color: #000;
	background: transparent;

	-moz-transition: 0.5s;
	-webkit-transition: 0.5s;
	transition: 0.5s;
}

a:hover,
a:focus{
	color: #666;
}

a:hover img{
}

ul li{
	list-style: none;
}

/* ====== SKIP ===== */
ul#skip{
	display: none;
	/*IE Mac \*/
	display: block;
 	position:absolute;
	height: 0;
	width: 0;
	overflow: hidden;
	/*IE Mac */
}

.nav{ }
.place{ }
.clr{
	width: 0;
	height: 0;
	line-height: 0;
	font-size: 0;
	clear: both;
}

.cf{
	width: 100%;
	overflow: hidden;
}

.cf:after{
	display: block;
	clear: both;
	content: "";
}

::selection{background-color:#333; color: #fff; }
::-moz-selection {background-color:#333; color: #fff; }
input::selection,
textarea::selection{background-color:#b6d6fd; color: #000; }
input::-moz-selection,
textarea::-moz-selection{background-color:#b6d6fd; color: #000; }

div,
ul,
section,
article{
	width: auto;
	zoom: 1;
}


aside,
li,
dd,
ul,
section,
article{
	zoom: 1;
}

aside:after,
div:after,
ul:after,
li:after,
dd:after,
section:after,
article:after{
	display: block;
	clear: both;
	content: "";
}

h1,h2,h3,h4,h5,h6,
table,th,td,ul,ol,li,
dd,dt,dl,p{
	background: url(../images/aki.png);
}
.return{
	display: block;
	width: 0;
	height: 0;
	clear: both;
	overflow: hidden;
	visibility: hidden;
}

.tel_dis{ cursor: default; }

.sp_i{ display: none; }
.sp_b{ display: none; }

.pc_i{ display: inline; }
.pc_b{ display: block; }

.sp_ib{ display: none; }
.pc_ib{ display: inline-block; *display: inline; zoom: 1; }

.txt_c{ text-align: center;}
.txt_r{ text-align: right;}

/*============================================================
	TopContentsStyle
============================================================*/
 
/*============================================================
	Page / column
============================================================*/
#page{
	width: 100%;
	margin: 0 auto;
	text-align: left;
 touch-action: manipulation;
}

.menu ul,
.inner{
	width: 100%;
	max-width: 768px;
	padding:  0 10px;
	text-align: left;
	margin: 0 auto;
	position: relative;
}

/*============================================================
	Header
============================================================*/
#page_header{
	width: 100%;
	top: 0;
	left: 0;
	position: fixed;
	text-align: center;
	background: #fafafa;
	border-bottom: 1px solid #eee;
	z-index: 100;
}

#page_header .inner{
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 50px;
}
#page_header h1{
	height: 40px;
	margin-left: 0;
	margin-right: auto;
}
#page_header h1 img{
	height: 100%;
	width: auto;
}
#page_header h1 i{
 width: 40px;
 height: 40px;
 display: inline-block;
 vertical-align: bottom;
 border-radius: 50%;
 overflow: hidden;
 border: 1px solid #ccc;
 margin-right: 5px;
}
#page_header .inner:after{
	content: normal;
}
.ov{
	position: fixed;
	z-index: 95;
	bottom: 0;
	top: 0;
	left: 0;
	width: 100%;
	background: #000;
	opacity: 0.8;
	display: none;
}

.menu_on .ov{
	display: block;
}
.loading {
	pointer-events: none;
}
.loading .ov{
	z-index: 200;
	background: #000;
	pointer-events: none;
}
.pop_att,
.pop_on{
	overflow: hidden;
}
.pop_att .ov,
.pop_on .ov{
	display: block;
	z-index: 200;
}
.pop_att,
.pop_on{
	padding-bottom: 50px;
	height: calc(100vh + 50px);
}
.c{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.btn_h_cart{
	width: 30px;
	height: 30px;
	background: #005f39;
	border: 2px solid #fff;
	box-shadow: 0 0 5px 1px rgba(0,0,0,0.25);
	border-radius: 50%;
	margin-left: auto;
	padding: 5px;
	position: relative;
}
.btn_h_staff{
 width: 35px;
 height: 35px;
	margin-left: 0;
	margin-right: 0;
}
.btn_h_staff svg{
 height: 35px;
 width: auto;
}

.btn_h_staff	.st0{fill:none;stroke:#005F39;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.btn_h_staff	.st1{fill:#005F39;}
.btn_h_staff	#bell_txt{fill:#005F39;}
.btn_h_staff	#bell_cancel .st2{fill:#FFFFFF;}
.btn_h_staff	#bell_wait .st2{fill:#FFFFFF;}
 
.btn_h_cart i{
	position: absolute;
	top: -2px;
	right: -10px;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	line-height: 20px;
	text-align: center;
	vertical-align: middle;
	border: 1px solid #000;
	color: #000;
	background: #fff;
	font-size: 10px;	
}
/*============================================================
	Nav
============================================================*/
.menu_btn {
	display: flex;
	height: 27px;
	width: 27px;
	justify-content: center;
	align-items: center;
	position: relative;
	z-index: 110;
	margin-left: 10px;
	margin-right: 0;
}
.menu_btn span,
.menu_btn span:before,
.menu_btn span:after {
	content: '';
	display: block;
	height: 3px;
	width: 25px;
	border-radius: 3px;
	background-color: #005f39;
	position: absolute;
}
.menu_btn span:before {
	bottom: 8px;
}
.menu_btn span:after {
	top: 8px;
}

.menu_on .menu_btn span {
background-color: rgba(255, 255, 255, 0);
}
.menu_on .menu_btn span::before {
	bottom: 0;
	transform: rotate(45deg);
	background-color: #fff;
}
.menu_on .menu_btn span::after {
	top: 0;
	transform: rotate(-45deg);
	background-color: #fff;
}
#menu_check {
	display: none;
}
.slide_menu{
	background: #005f39;
	color: #fff;
	position: fixed;
	top: 0;
	right: -100%;
	bottom: 0;
	width: 90%;
	z-index: 105;
	transition: 0.5s right;
	padding: 70px 10px 20px 20px;
}
.slide_main_menu{
	font-weight: bold;
}
.slide_menu a{
	display: block;
	color: #fff;
	text-decoration: none;
	margin-bottom: 1em;
}
.slide_menu .blank a::after{
	content: "";
	display: inline-block;
	width: 12px;
	height: 12px;
	vertical-align: middle;
	background: url("../images/ill_window.svg") no-repeat;
	background-size: 100% 100%;
	margin-left: 10px;
}
.menu_on{ overflow: hidden;}
.menu_on .slide_menu{
	right: 0;
}


/*============================================================
	Content
============================================================*/
#content{
	width: 100%;
}

#content:after{
	display: block;
	clear: both;
	content: "";
}


.inp_txt{
	display: block;
	width: 100%;
	border: 1px solid #eee;
	padding: 10px;
	font-size: 14px;
	border-radius: 5px;
	vertical-align: middle;
	background: #fff;
	resize: none;
}

/*============================================================
	Inpit
============================================================*/

.inp_txt:focus{ background: #e6f6fe;}
.inp_txt_rule{
	background: #f8f8f8;
	border: 0;
}
.inp_txt_m{	display: inline-block;
	width: 50%;
}
.inp_txt_s{
	width: 25%;
	display: inline-block;
}
.inp_err{	display: inline-block;
	border-color: #f00;
}
.txt_attention{
	color: #f00;
}
span.txt_attention{
	display: block;
	padding: 0.5em 0;
	clear: both;
}
strong.txt_attention{
	font-size: 112.5%;
	display: block;
	padding: 0.5em 0;
}
.txt_err{
display: block;
padding-top: 10px;
	color: #f00;
	text-align: left;
	font-size: 0.88rem;
	font-weight: normal;
}
textarea{
 height: 10em;
 line-height: 1.5;
}
select{
	width: 100%;
	display: block;
	border: 1px solid #eee;
	font-size: 14px;
	height: 3em;	
	border-radius: 5px;
	padding: 0 35px 0  10px;
	vertical-align: middle;
	background: #fff url("../images/ico_ar_bot.svg") no-repeat calc(100% - 10px) 50%;
	background-size: 15px auto;
}
select[disabled],
.inp_txt[disabled]{
	pointer-events: none;
	border: 1px solid #e9e9e9;
	background: #e9e9e9;
}
.inp_sel_s{
	width: auto;
	display: inline-block;
	margin-right: 10px;
}

/*============================================================
	Main
============================================================*/
#main{
	width: 100%;
	padding:  50px 0 250px 0;
}
#main.full{
	padding:  50px 0 0 0;
}
#video{
	width: 100%;
	height: 100%;
}
.video_card_area{
	position: relative;
	background: #000;
}
.video_card_area{
	position: relative;
}
.card_area{
	position: absolute;
	top: 50%;
	left: 50%;
	width: 50%;
	z-index: 100;
	color: #fff;
	transform: translateX(-50%) translateY(-50%)
}
.card_area i{
	display: block;
	aspect-ratio: 4 / 3;
	border: 1px solid #fff;
}

#main:after{
	display: block;
	clear: both;
	content: "";
}

/* Main Design */
#main p,
#main ul,
#main dl,
#main ol,
#main blockquote,
#main pre,
#main td,
#main th{
	line-height: 1.5;
	font-size: 88%;
	margin-bottom: 1em;
}

#main table{
	margin-bottom: 1em;
}

#main td,
#main th{
	margin-bottom: 0;
}

#main h1,
#main h2,
#main h3,
#main h4,
#main h5,
#main h6{
	font-size: 100%;
	line-height: 1.5;
	margin-bottom: 1em;
}

/* default */
#main ul ul,
#main ul p,
#main ul blockquote,
#main ul pre,
#main ul dl,
#main dl dl,
#main dl p,
#main dl ul,
#main dl ol,
#main blockquote p,
#main blockquote ul,
#main blockquote dl,
#main blockquote ol,
#main ol blockquote,
#main ol pre,
#main ol p,
#main td p,
#main td ul,
#main td dl{
	font-size: 100%;
}

#main *:last-child{
	margin-bottom: 0;
}

#main .static_area{
	padding: 20px;
}
#main .static_area h2{
	text-align: center;
}
#main .static_area p{
	text-align: center;
}

#main .menu_list{
	display: flex;
	flex-wrap: wrap;
}
#main .menu_list li,
#main .menu_list::after{
	width: 49%;
	margin-bottom: 1em;
}
#main .menu_list li:nth-of-type(2n){
	margin-left: 2%;
}

.menu_item{
	background: #fff;
	box-shadow: 0 0 5px 1px rgba(0,0,0,0.25);
	overflow: hidden;
	border-radius: 10px;
	position: relative;
}
#main .menu_list .soldout{
	pointer-events: none;
}

#main .menu_list .soldout .menu_item{
	position: relative;
}
#main .menu_list .soldout .menu_item::before{
	display: block;
	content: "";
	position: absolute;
	top:0;
	left: 0;
	bottom: 0;
	width: 100%;
	z-index: 10;
	background: rgba(0,0,0,0.50);
}
#main .menu_list .text_soldout{
		display: block;
	content: "";
	position: absolute;
	top:50%;
	left: 10%;
	margin-top: calc(-0.5em - 10px);
	width: 80%;
	z-index: 11;
	background: #000;
	padding:  10px;
	line-height: 1;
	color: #fff;
	text-align: center;
	font-weight: bold;
}

.item_pic,
.menu_item .pic{
	display: block;
aspect-ratio: 1 / 1;
}
.menu_item .pic{
	margin: 0 0 10px 0;
}

.item_pic img,
.menu_item img{
	height: 100%;
	width: 100%;
	object-fit: contain;
	}
#main .menu_item_name{
	font-weight: bold;
	margin: 0.5em 0;
	padding: 0 10px;
	min-height: 3em;
	font-size: 12px;
}
#main .cart_item_name{
	width: 65%;
}
#main .menu_item_price{
	margin: 0;
	padding: 0 10px 10px 10px;
	line-height: 1;
	font-size: 10px;
}
#main .menu_item_price b{
	font-size: 150%;
}
.ico_info{
	display: block;
	bottom: 10px;
	right: 10px;
	width: 20px;
	position: absolute;
}
.ico_info .st0{
 fill: #005f39;
}
.ico_info_no_action{
	display: block;
	bottom: 10px;
	right: 10px;
	width: 20px;
	position: absolute;
}
.nav_cart .ico_info{
	position: static;
}
.nav_cart .ico_info_no_action{
	position: static;
}
.nav_cart .pic{
	width: 30%;
	max-width: 100px;
	float: left;
	display: block;
	aspect-ratio: 1 / 1;
	margin-right: 2%;
}
.nav_cart .pic img{ width: 100%;height: 100%;object-fit: contain}
.nav_cart .txt_box{
	overflow: hidden;
	padding:  5px 5px 5px 0;
}
#main .nav_cart .menu_item_price{
	margin: 1em 0 0 0;
	padding: 0;
	font-size: 78%;
}
#main .nav_cart .menu_item_quantity{
	margin: 0 0 1em 0;
	padding: 0;
	font-size: 78%;
}
#main .nav_cart .menu_item_name{
	font-weight: bold;
	margin: 0 0 0.5em 0;
	padding: 0;
	min-height: 0;
}
.menu_item_price i{
	width: 20px;
	display: inline-block;
	vertical-align: bottom;
	border-radius: 50%;
	overflow: hidden;
	border: 1px solid #ccc;
	margin-right: 5px;
}
.ico_cart_mes{
	display: inline-block;
	font-size: 78%;
	padding:  5px 5px;
	background: #fff;
	color: #005f39;
	border: 2px solid #005f39;
	line-height: 1;
	font-weight: bold;
}
.ico_cart_mes_complete{
	background: #444;
	color: #fff;
	border: 1px solid #444;
}
.nav_cart .ico_cart_mes{
	position: absolute;
	bottom: 8px;
	right: 8px;
}

/*@media (orientation: landscape){
	#main .menu_list li,
	#main .menu_list::after{
		width: 24%;
		margin-left: 1.33%;
	}
	#main .menu_list li:nth-of-type(2n){
		margin-left: 1.33%;
	}
	#main .menu_list li:nth-of-type(4n+1),
	#main .menu_list li:nth-of-type(1){
		margin-left: 0;
	}
}*/

.sort_item_3 #main .menu_list li,
.sort_item_3 #main .menu_list::after{
 width: 32%;
 margin-left: 2%;
}
.sort_item_3 #main .menu_list li:nth-of-type(2n){
 margin-left: 2%;
}
.sort_item_3 #main .menu_list li:nth-of-type(3n+1),
.sort_item_3 #main .menu_list li:nth-of-type(1){
 margin-left: 0;
}

/**/
.sort_item_1 #main .menu_list .text_soldout{
 display: block;
	content: "";
	position: absolute;
	top: 50%;
	left: 40%;
	margin-top: calc(-0.5em - 10px);
	width: auto;
	z-index: 11;
	background: #000;
	padding: 10px;
	line-height: 1;
	color: #fff;
	text-align: center;
	font-weight: bold;
}

.text_soldout{
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	left: 35%;
	margin-top: calc(-0.5em - 10px);
	width: auto;
	z-index: 11;
	background: #000;
	padding: 10px 30px;
	line-height: 1;
	color: #fff;
	text-align: center;
	font-weight: bold;
}

.sort_item_1 #main .menu_list li,
.sort_item_1 #main .menu_list::after{
 width: 100%;
 margin-left: 0;
}
.sort_item_1 #main .menu_list li:nth-of-type(2n){
 margin-left: 0;
}
.sort_item_1 #main .menu_list li:nth-of-type(3n+1),
.sort_item_1 #main .menu_list li:nth-of-type(1){
 margin-left: 0;
}
.sort_item_1 .menu_item .pic{
 width: 25%;
 float: left;
 margin: 0 10px 0 0
}
.sort_item_1 #main .menu_list p{
 overflow: hidden;
 padding-left: 0;
}
.sort_item_1 #main .menu_item_name{
 min-height: 1px;
 text-overflow: ellipsis;
 white-space: nowrap;
}

@media screen and (max-width: 920px) {
 .shrink #main{
  transition: padding 0s;
 }
 .shrink.side_menu_on #main{
   padding-left: 110px
 }
}
#main .sec_menu{
	margin: 0 auto 0 auto;
}
#main .sec_menu_s{
 margin-bottom: 25vh;
}
#main .sec_menu_s:last-child{
 margin-bottom: 0;
}
#main .head_main{
	margin-bottom: 1em;
	border-bottom: 2px solid #005f39;
	line-height: 1.25;
	padding: 20px 0 10px 0;
 margin-top: 60px;
	font-size: 14px;
	color: #005f39;
}

#main .head_sub{
 padding-top: 1em;
	margin-bottom: 1em;
	font-size: 12px;
	line-height: 1.25;
}
#main .head_main small,
#main .head_sub small{
	font-weight: normal;
	font-size: 100%;
}
.menu_title {
	display: flex;
}
.link_cancel,
.go_link,
.link{
	display: block;
	position: relative;
	text-decoration: none;
	overflow: hidden;
}
.link_cancel{
	text-align: right;
	padding:  10px;
}
.prev_area .button_close,
.link_cancel .button_close{
	width: 17px;
	height: 17px;
	margin-left: 5px;
	fill:#005f39;
}
.prev_area .button_close{
	position: absolute;
	top: 10px;
	right: 20px;
}
.go_link::after,
.link::after{
	content:"";
	display: block;
	width:10px;
	height:10px;
	border-top:2px solid #000;
	border-right:2px solid #000;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	right:10px;
	top:50%;
	margin-top:-7px;
	line-height: 1;
}
.go_link{
	background: #fff;
	padding: 12px 10px;
	border: 1px solid #eee;
	font-weight: bold
}
.prev_area .link{
	padding-left: 30px;
	padding: 10px 0 10px 30px;
	color: #000;
	font-weight: bold;
}
.prev_area .link::after{
	-webkit-transform: rotate(225deg);
	transform: rotate(225deg);
	right:auto;
	left: 10px;
	border-color: #000;
}
#main .prev_area{
	background: #fff;
	margin: 0;
	position: relative;
	border: 1px solid #eee;
}

#main .cate_list{
	padding: 20px 0;
	background:#fff;
}
#main .cate_list ul{
	margin: 0;
}
#main .cate_list a{
	margin: 0 0 10px 0;
	padding:  15px;
	border: 1px solid #eee;
	line-height: 1;
	font-weight: bold;
}
/*============================================================
	MENU
============================================================*/
.select_menu{
	position: fixed;
	width: 100%;
	top: 50px;
	left: 0;
	z-index: 90;
}
.select_menu_item{
	border-radius: 0;
	border: 1px solid #eee;
}
.select_menu_item li{
	padding:  10px;
	display: none;
	background: #fff url("../images/ico_ar_bot.svg") no-repeat calc(100% - 10px) 50%;
	background-size: 15px auto;
}
.cate_menu .select_menu_item li{
	background-image: url("../images/ico_ar_up.svg");
}
.select_menu_item .selected{
 display: block;
}
#main .select_category_menu{
	display: none;
	position: fixed;
	top: 87px;
	left: 1%;
	width: 98%;
	z-index: 91;
	box-shadow: 0 0 5px 1px rgba(1,1,1,0.05);
	background: #fff;
	padding: 0 10px;
	height: 70vh;
	max-height: 0;
	transition: 0.25s;
	overflow: hidden;
}
.cate_menu { overflow: hidden}
.cate_menu #main .select_category_menu{
	display: block;
	overflow: auto;
	max-height: 70vh;
	padding: 10px;
}

#main .select_category_menu a{
	display: block;
	padding:  10px;
	text-decoration: none;
	font-weight: bold;
}
#main .select_category_menu h3{
	border-bottom: 2px solid #005f39;
	padding-bottom: 5px;
	margin: 0 0 0 0;
	position: relative;
	transition: 0.5s;
	
}
#main .select_category_menu h3::before{
	display: block;
	content: "\f067";
	font-family: FontAwesome;
	font-weight: 100;
	color: #005f39;
	font-size: 20px;
	position: absolute;
	right: 0;
	top: 0;
}
#main .select_category_menu .on::before{
	content: "\f068";
}
#main .select_category_menu .on{
	margin: 0;
}
#main .select_category_menu ul{
	overflow: hidden;
	position: relative;
	max-height: 0;
	transition: 0.25s max-height;
}
#main .select_category_menu .on+ul{
	max-height: 100vh;
}
/* ===== menu ===== */
	.st0{fill:none;stroke:#005f39;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.menu{
	position: fixed;
	width: 100%;
	bottom: 0;
	left: 0;
	z-index: 90;
		color: #005f39;
		background: #fafafa;
}
.menu ul::after{ content: normal;}
.menu ul{
	display: flex;
	justify-content: center;
	border: 1px solid #eee;
	background: #fafafa;
}
.menu li{
	width: 20%;
	flex-basis: 20%;
	line-height: 1;
	position: relative;
}

	.button_order_cancel li{
	width: 33%;
	flex-basis: 33%;
	}
	
.menu .greyout i{
	pointer-events: none;
	opacity: 0.5;
}
.menu .greyout  a{
	pointer-events: none;
	color: #afcbc0;
}
.menu .shop_staff_on i{
	opacity: 0.5;
}
.txt_staff_cancel{
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	margin-top: -1em;
	width: 100%;
	background: #000;
	color: #fff;
	padding:  5px;
	font-size: 10px;
	text-align: center;
	line-height: 1;
	animation: 2s cancel infinite;
}
@keyframes cancel{
	0%{
		opacity: 0;
	}
	50%{
		opacity: 1;
	}
	100%{
		opacity: 0;
	}
}
.menu a{
	display: block;
	padding: 10px 0;
		color: #005f39;
		text-decoration: none;
		text-align: center;
}
.menu .shop_staff_on  a{
 color: #afcbc0;
}
.menu i{
	display: inline-block;
	height: 20px;
 width: auto;
}
.menu i svg{
 width: auto;
 height: 100%;
}
.menu p{
	margin-top: 5px;
	text-align: center;
	font-size: 10px;
 transform: scale(0.9)
}
.menu .on a{
	background: #005f39;
	color: #fff;
}
.menu .on .st0{
	stroke:#fff;
}
.menu  #okawari .st0{
 fill:#005f39;
	stroke:none;
}
.menu .on #okawari .st0{
 fill:#fff;
	stroke:none;
}
.menu  #search_ico .st0{
 stroke:#005f39;
 stroke-width: 5px;
	fill:none;
}
.menu .on  #search_ico .st0{
 stroke:#fff;
}
/* ===== popup_window ===== */
.popup_window_comp{
	z-index: 250;
	position: fixed;
	bottom: 0;
	left: 0;
	top: 0;
	width: 100%;
	background: #fff;
	 display: flex;
		justify-content: center;
		align-items: center;
}
.popup_window_comp .logo{
	text-align: center;
}
.popup_window_comp .logo img{
	max-width: 300px;
	width: 80%;
}
.popup_window_comp p{
	font-weight: bold;
	line-height: 1.5;
	margin-bottom: 1em;
}
.popup_window_comp h2{
	font-weight: normal;
	line-height: 1.5;
	font-size: 112.5%;
	margin-bottom: 1em;
	text-align: center;
}
.popup_window_comp .notes,
.popup_window_comp .notes p{
	font-weight: normal;
	font-size: 88%;
	text-align: center;
}
.popup_window_comp .count_pop{
	font-weight: normal;
	font-size: 125%;
	text-align: center;
}

.popup_window_comp .change{
	text-align: center;
	margin-top: 2em;
}
.popup_window_order_stop{
	position: fixed;
	bottom: 0;
	left: 0;
	top: 0;
	width: 100%;
	background: #fff;
	 display: flex;
		justify-content: center;
		align-items: center;
}
.popup_window_order_stop .logo{
	text-align: center;
}
.popup_window_order_stop .logo img{
	max-width: 300px;
	width: 80%;
}
.popup_window_order_stop p{
	font-weight: bold;
	line-height: 1.5;
	margin-bottom: 1em;
}
.popup_window_order_stop h2{
	font-weight: normal;
	line-height: 1.5;
	font-size: 112.5%;
	margin-bottom: 1em;
	text-align: center;
}
.popup_window_order_stop .notes{
	font-weight: normal;
	font-size: 88%;
	text-align: center;
}
.popup_window_order_stop .count_pop{
	font-weight: normal;
	font-size: 125%;
	text-align: center;
}
.popup_window_order_stop .change{
	text-align: center;
	margin-top: 2em;
}
.popup_window{
	position: fixed;
	width: 90%;
	left: 5%;
	top: 10vh;
	max-height: 80vh;
	min-height: 25vh;
	padding: 10px 10px 20px 10px;
	background: #fff;
	z-index: 210;
	border-radius: 10px;
	display: none;
	overflow: hidden;
}
.popup_window_attention{
	position: fixed;
	top: 5vh !important;
}
.error_popup_window{
	position: fixed;
	top: 5vh !important;
}
.pop_on .popup_window{
	display: flex;
	flex-direction: column;
}
/* .pop_att .popup_window_attention{
		display: block;
}
.pop_on .popup_window_attention{
		display: none;
} */

.popup_window h2{
	text-align: center;
	padding:  10px 0 2em 0;
	line-height: 1;
	line-height: 1.5;
	font-size: 18px;
	flex-shrink: 0;
}
.popup_window h2 p{
	text-align: center;
	line-height: 1.5;
	font-size: 18px;
	margin-bottom: 0;
}

.popup_window_attention h2{ color: red}
.point{ color: #005f39}
.point p{
  text-align: center;
}
.popup_window .change{
	margin-top: 1em;
	text-align: center;
	flex-shrink: 0;
}
.popup_txt_box{
	max-height: 60vh;
	overflow: auto;
	padding: 10px;
	text-align: center;
	flex-grow: 1;
	flex-shrink: 1;
}.popup_window_attention .popup_txt_box{
	padding: 0 10px;
}
.popup_txt_box_chr{
	max-height: 80vh;
	padding: 0;
}
.popup_txt_box p{
	margin-bottom: 2em;
	font-size: 12px;
	line-height: 1.75;
}
.popup_txt_box .comment{
	margin-bottom: 1em;
	font-size: 12px;
	line-height: 1.75;
	overflow-wrap: normal;
	word-break: break-all;
}
.popup_txt_box .menu_item_name{
	margin-bottom: 0.5em;
}
.popup_txt_box .menu_item_price{
	margin-bottom: 1em;
}
.popup_window .txt_read,
.popup_window .txt_read p{
	margin-bottom: 0;
	padding: 20px 0;
	text-align: center;
	font-weight: bold;
	line-height: 1;
}
.popup_window .txt_c+.txt_c{ margin-top: 1.5em}
.popup_window .txt_err,
.popup_window .txt_err p{
	margin-bottom: 3em;
	padding: 3em 0 0 0;
	text-align: center;
	font-weight: bold;
	line-height: 1.5;
	color: #000;
}
.popup_window .txt_err .txt_attention p {
  color: #f00;
	margin-bottom: 0;
}
.popup_window .order_txt_err{
	padding: 0 0 0 0;
	text-align: center;
	font-weight: bold;
	line-height: 1.5;
	color: #000;
}
.popup_window .txt_mes{
	margin-bottom: 3em;
	padding: 3em 0 0 0;
	text-align: center;
	font-weight: normal;
	line-height: 1.5;
	color: #000;

}
.popup_window .txt_err+.txt_err{
margin-top: -3em
}
.popup_window .txt_err+h2{ margin-top: -2em}
.popup_window .select_chara{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin: auto;
	width: 70%;
}
.popup_window .select_chara_confirm{
	justify-content: center;
}

.popup_window .select_chara li,
.popup_window .select_chara::after{
	width: 50%;
	margin-bottom: 0;
	text-align: center;
	padding: 10px;
}
.popup_window .select_chara::after{
	padding: 0;
	margin: 0;
	height: 0;
}
.popup_window .select_chara_confirm li{
	width: 70%;
}
.popup_window .select_chara_confirm::after{
	content: normal
}
.popup_window .select_chara a{
	display: inline-block;
	width: 70%;
	max-width:150px;
}
.popup_window .select_radio{
	display: none;
}
.popup_window .select_chara i{
	border-radius: 50%;
	overflow: hidden;
	border: 1px solid #ccc;
	display: inline-block;
}
.popup_window .select_chara img{
}
.popup_window .select_chara .checked {
	pointer-events: none
}
.popup_window .select_chara .checked img{
	filter: grayscale(100%);
	opacity: 0.5;
}
.popup_window .select_chara .checked i{
	background: #ccc;
}
.time_menu,
.time_mes{
	position: absolute;
	width: 90%;
	left: 5%;
	top: 20vh;
	padding: 0 10px 0 10px;
	color: #fff;
	z-index: 210;
}
.time_mes .change{ margin-top: 1em; text-align: center}
.time_mes .txt_read{ margin-bottom: 3em;
	font-weight: bold;
	text-align: center;
	line-height: 1.5;
}
.time_menu li{
	margin-bottom: 10px;
}
.time_menu{
	top: 5vh;
	max-height: 55vh;
	overflow: auto;
}
.time_menu a{
	display: block;
	border-radius: 10px;
	overflow: hidden;
	background: #fff;
	color: #000;
	text-decoration: none;
	padding: 10px;
		font-weight: bold
}
.txt_time{
	text-align: right;
	margin-top: 1em;
	font-size: 10px;
	font-weight: normal ;
}
.time_menu .txt_time b{
	margin: 0 0.5em;

}
.txt_time_check{
	text-align: center;
	margin: 0 auto 2em auto;
	font-size: 10px;

	display: flex;
	justify-content: space-between;
	max-width: 14em;
	align-items: center;
	

}
.txt_time b{
	font-size: 300%;
}
.btn_time{
	position: fixed;
	bottom: 140px;
	right: 10px;
	width: 70px;
	height: 70px;
	border-radius: 50%;
	z-index: 210;
	background: #005f39;
	color: #fff;
	text-align: center;
	font-size: 10px;
}
.btn_time img{
	width: 20px;
	margin: 0 auto 5px auto;
	display: block;
}
@media (orientation: landscape){
	.popup_window .select_chara li,
	.popup_window .select_chara::after{
		width: 50%;
	}
	.btn_time{
		bottom: 10px;
	}
}

/* 大型スマートフォン・タブレット対応（iPhone 13, iPhone 14 Pro等） */
@media screen and (min-height: 700px) and (max-height: 950px) {
	.popup_window{
		top: 8vh;
		max-height: 75vh;
	}
	.popup_txt_box{
		max-height: 50vh;
	}
}

/* 中型スマートフォン対応（iPhone SE, iPhone 12 mini等） */
@media screen and (max-height: 700px) {
	.popup_window{
		top: 5vh;
		max-height: 80vh;
	}
	.popup_txt_box{
		max-height: 55vh;
	}
	.popup_window h2{
		padding: 5px 0 1em 0;
	}
}

/* 小型デバイス対応 */
@media screen and (max-height: 600px) {
	.popup_window{
		top: 5vh;
		max-height: 80vh;
	}
	.popup_txt_box{
		max-height: 50vh;
	}
	.popup_window h2{
		padding: 5px 0 1em 0;
	}
}

@media screen and (max-height: 480px) {
	.popup_window{
		top: 2vh;
		max-height: 85vh;
		padding: 5px 10px 15px 10px;
	}
	.popup_txt_box{
		max-height: 60vh;
	}
	.popup_window h2{
		padding: 5px 0 0.5em 0;
		font-size: 16px;
	}
}

/* 横画面対応 */
@media screen and (orientation: landscape) and (max-height: 500px) {
	.popup_window{
		top: 2vh;
		max-height: 85vh;
		width: 80%;
		left: 10%;
	}
	.popup_txt_box{
		max-height: 65vh;
	}
}

/* 言語選択モーダル専用スタイル */
.popup_window .popup_txt_box_chr {
	height: auto;
	max-height: none;
	overflow: visible;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: stretch;
}

@media screen and (max-height: 600px) {
	.popup_window .popup_txt_box_chr {
		max-height: 50vh;
		overflow: auto;
	}
}

@media screen and (max-height: 480px) {
	.popup_window .popup_txt_box_chr {
		max-height: 40vh;
		overflow: auto;
	}
}
/* ===== common ===== */
.btn_inp{
	display: inline-block;
	line-height: 1;
	padding: 10px;
	max-width: 50%;
	min-width: 150px;
	border-radius: 30px;
	color: #fff;
	background: #005f39;
	border: 2px solid #005f39;
	font-size: 12px;
	font-weight: bold;
	text-decoration: none;
	text-align: center;
}
.btn_decrease{
	display: inline-block;
	line-height: 1;
	padding: 10px;
	max-width: 50%;
	min-width: 50px;
	border-radius: 50px;
	color: #fff;
	background: #999;
	border: 2px solid #999;
	font-size: 16px;
	font-weight: bold;
	font-family: FontAwesome;
	text-decoration: none;
	text-align: center;
}
.btn_increase{
	display: inline-block;
	line-height: 1;
	padding: 10px;
	max-width: 50%;
	min-width: 50px;
	border-radius: 50px;
	color: #fff;
	background: #005f39;
	border: 2px solid #005f39;
	font-size: 16px;
	font-weight: bold;
	font-family: FontAwesome;
	text-decoration: none;
	text-align: center;
}
.count_form {
	width: 100px;
	height: 35px;
	border-radius: 5px;
	text-align: center;
	font-size: 16px;
	border: 1px solid #999;
	padding: 0 5px;
}
.btn_inp[disabled]{
	pointer-events: none;
	opacity: 0.5;
}
.btn_inp_prev{
	color: #999;
	background: #fff;
	border: 2px solid #999;
}
.btn_inp_next{
	background: #c00;
	border: 2px solid #c00;
}
.btn_inp_cart_on{
	align-items: center
}
.btn_inp_add{
	background: none;
	border: 2px solid #005f39;
	color: #fff;
}
.btn_inp_red{
	background: #c00;
	border: 2px solid #c00;
	color: #fff;
}
.btn_inp_blk{
	background: #000;
	border: 2px solid #000;
	color: #fff;
}
.btn_inp_dis{
	opacity: 0.6;
	pointer-events: none;
}
#main .change+.nav_cart{ margin-top: 30px;}
/* ===== item_select_area ===== */
.item_select_area{
	padding: 10px 0;
}
.item_pic{
	max-width: 280px;
	width: 50%;
	margin: 0 auto 20px auto;
}
.nav_cart li{ margin-bottom: 10px; position: relative;}
.nav_cart label{
	display: block;
	position: relative;
	padding:  12px 20px;
	border: 1px solid #eee;
	background: #fff;
}
.nav_cart li:last-child label{
	/*border-top: 1px solid #999;*/
}
.nav_cart_his label{
	padding:  0;
	overflow: hidden;
}
.nav_cart_his .compele{
	background: #e0e0e0;
}
.nav_cart input[type=radio],.nav_cart input[type=checkbox]{
	display: none;
	position: absolute;
	top: 50%;
	right: 10px;
}
.nav_cart .radio::before{
	font-family: "sans-serif";
	display: block;
	position: absolute;
	top: 50%;
	margin-top: -7px;
	right: 10px;
	width: 15px;
	height: 15px;
	background: #fff url("../images/bg_check.svg") no-repeat center center;
	background-size: 100% 100%;
	content: ""
}
.nav_cart .checked .radio::before{
	background-image: url("../images/bg_check_on.svg");
}
.nav_cart .checked{
	border: 1px solid #c6c6c6;
}
.nav_cart{
}
.nav_cart .disble{
	border: 1px solid #e0e0e0;
	background: #e0e0e0;
}
.ico_soldout{
	line-height: 1;
	background: #000;
	color: #fff;
	padding:  5px 10px;
	font-size: 78%;
}
.btn_quantity{
	display: flex;
	justify-content: space-between;
	overflow: hidden;
	border-radius: 10px;
}
.btn_quantity button{
	display: block;
	padding:  10px;
	background: #005f39;
	color: #fff;
}
.btn_quantity input{
	width: 100%;
	border: 1px solid #ccc;
	text-align: center;
}
.btn_quantity .dis{
background: #999;
}
.nav_cart .ico_soldout{
	position: absolute;
	bottom: 10px;
	right: 10px;
}
.nav_cart .btn_quantity{
	position: absolute;
	bottom: 20px;
	right: 20px;
	width: 100px
}

.nav_cart_his .ico_info{
	position: absolute;
	right: 5px;
	top: 5px;
	bottom: auto
	
}
.nav_cart_his .ico_info_no_action{
	position: absolute;
	right: 5px;
	top: 5px;
	bottom: auto

}
.nav_cart_his_seconds .ico_info{
	top: auto;
	bottom: 5px;
	
}
#main .nav_cart_his .menu_item_name{
	padding-right: 25px;
}
#main .txt_info{ text-align: center; font-weight: bold; font-size: 15px;}
.progress_bar{
	margin-bottom: 10px;
}
.progress_bar progress{
	display: block;
	margin: 0;
	width: 100%;
	appearance:none;
	-webkit-appearance: none;
	-moz-appearance: none;
	border: none;
	background-color: #005f39;height: 5px;
}

::-webkit-progress-bar {
  background-color: #f1f1f1;
}
::-moz-progress-bar {
  background-color: #f1f1f1;
}
::-webkit-progress-value {
  background-color: #005f39;
}

/* ===== cart ===== */
#main .head_page{
	padding: 12px 0;
	margin: 0;
	text-align: center;
	background: #fff;
}
#main .search_item_box{
 padding: 0 10px 12px 10px;
	text-align: center;
	background: #fff;
}
#main .search_item_box p{
 position: relative;
 max-width: 280px;
 margin: auto;
}
#main .search_item_box button{
 position: absolute;
 top: 5px;
 right: 10px;
 width: 18px;
}
#btn_search_ico .st0{
 stroke-width: 7px;
}
#main .inp_txt_search{
 display: block;
 padding: 8px;
 border: 1px solid #ccc;
 background: #fff;
 width: 100%;
 border-radius: 20px;
}
.nav_cart_confirm li{
	margin-bottom: 0;
}
.nav_cart_confirm li+li label{ border-top: 0}

.btn_del_cart button{
	color: #c00;
	font-weight: bold;
}
.btn_del_cart img{
	width: 12px;
	margin-right: 5px;
}
.nav_cart .btn_del_cart{
	display: block;
	position: absolute;
	bottom: 10px;
	right: 10px;
}
/* ===== history ===== */
.tab_cont{
	display: none;
	padding: 0 10px
}
.tab_cont.show{
	display: block;

}
#main .tab_btn{ margin-bottom: 20px;}
.tab_btn li{
	width: 50%;
	float: left;
}
.tab_btn a{
	display: block;
 position: relative;
	text-decoration: none;
	padding:  10px;
	background: #e0e0e0;
}
.tab_btn a::before{
 content: "";
 position: absolute;
 bottom: -20px;
 left: 50%;
 margin-left: -10px;
 width: 0;
 display: block;
 border: 10px solid transparent;
 border-top-color: #e0e0e0; 
 
}
.tab_btn .active{
	background: #005f39;
	color: #fff;
}
.tab_btn .active::before{
 border-top-color: #005f39; 
 
}
.tab_btn i{
	width: 40px;
	display: inline-block;
	vertical-align: middle;
	border-radius: 50%;
	overflow: hidden;
	margin-right: 5px;
	background: #fff;
}
.tab_btn_order i{
	width: 35px;
	display: inline-block;
	vertical-align: middle;
	border-radius: 50%;
	overflow: hidden;
	margin-right: 5px;
	background: #fff;
	margin-bottom: 5px;
}
#main .tab_btn p{
	line-height: 1;
	font-weight: bold;
	font-size: 12px;
}
#main .tab_btn dl{
	margin-bottom: 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 68%;
}
#main .tab_btn b{ font-size: 150%}
/* ===== frm_area ===== */
#main .frm_area{
	padding: 20px 0;	
}
#main .frm_area h2{
	font-size: 100%;
	margin-bottom: 0.5em;
	line-height: 1;
}
#main .frm_area p{
	margin-bottom: 0;
}
#main .notes{ font-size:  78%;}
#main .comp_head{
	padding-top: 2em;
	margin-bottom: 1em;
	text-align: center;
	color: #005f39;
	font-size: 112.5%;
}
#main .txt_read{
	margin-bottom: 2em;
	font-weight: bold;
	text-align: center;
}
#main .txt_read:first-child{
	padding-top: 1em;
	margin-bottom: 1em;
}
.pic_code{
	margin: 20px auto;
	text-align: center;
	max-width: 300px;
	width: 90%;
	border: 1px solid #eee
}
/* ===== XXXXX ===== */
/*============================================================
	Sub
============================================================*/
.fix_menubar{
 position: fixed;
 top: 51px;
 left: 0;
 width: 100%;
 z-index: 99;
 background: #fff;
 border-bottom: 1px solid #eaeaea;
 display: flex;
 justify-content: space-between;
 align-items: center;
}
.fix_menubar ul{
 display: flex;
 padding-right: 20px;
 justify-content: flex-end;
 width: 145px;
}
.fix_menubar li{
 display: flex;
 justify-content: flex-end;
 height: 30px;
 width: auto;
 margin-left: 5px;
}
.fix_menubar li button{
 opacity: 0.5;
}
.sort_item_1 .fix_menubar .btn_item_sort_1{
 opacity: 1;
}
.sort_item_2 .fix_menubar .btn_item_sort_2{
 opacity: 1;
}
.sort_item_3 .fix_menubar .btn_item_sort_3{
 opacity: 1;
}
.fix_menubar li img{
 height: 100%;
}
.btn_side_menu{
 display: block;
 position: relative;
 width: 110px;
 background: #005f39;
 color: #fff;
 padding: 16px 10px 16px 35px;
 text-align: left
}
.btn_side_menu_on{
 background: #628f7c;
}
.btn_side_menu::before{
 content: "\f103";
 font-family: FontAwesome;
 position: absolute;
 top: 50%;
 left: 20px;
 margin-top: -0.5em;
 font-size: 20px;
}

.btn_side_menu i{
 display: none;
 position: absolute;
 width: 20px;
 font-size: 10px;
 top: 50%;
 right: -11px;
 margin-top: -11px;
 border: 2px solid #004328;
 border-radius: 50%;
 background: #fff;
 box-shadow: 0 0 2px 1px rgba(0,0,0,0.3);
}
	.btn_side_menu i:before{
 text-align: center;
 content: "";
 display: block;
 position: absolute;
 top: 50%;
 left: 3px;
 margin-top: -1px;
 width: 10px;
 border-top: #004328 2px solid;
}
.btn_side_menu i img{ visibility: hidden; }
.btn_side_menu_on::before{
 content: "\f102";
}
.btn_side_menu_on i{ display: block;}

/* pattern3*/
.btn_side_menu_2.btn_side_menu_on::before,
.btn_side_menu_2::before{
 content: normal;
}
.btn_side_menu_2{
 padding: 16px 0 16px 0;
 text-align: center
}
.btn_side_menu_2 i{
 display: inline-block;
 position: absolute;
 width: 23px;
 top: auto;
 right: auto;
 left: 50%;
 margin-top: 0;
 margin-left: -15px;
 bottom: -11px;
}
.btn_side_menu_2.btn_side_menu_on i{
 transform: rotate(180deg)
}

.side_menu_area{
 position: fixed;
 width: 110px;
 bottom: 0;
 left: 0;
 top: 97px;
 background: #005f39;
 z-index: 84;
 max-height: 0;
 overflow: hidden;
 transition: 0.25s max-height,0.25s padding;
 overscroll-behavior: none;
}
.side_menu_area ul ul{
 transition: 0s max-height;
 transition-timing-function: linear;
 max-height: 0;
 overflow: hidden;
}
.side_menu_area .on ul{
 max-height: 1000px;
 transition: 1s max-height;
}
.side_menu_area>ul>li {
 margin-bottom: 10px;
}
.side_menu_area>ul>.on {
 margin-bottom: 0;
}
.side_menu_on .side_menu_area{
 max-height: 100vh;
 overflow: auto;
 padding-bottom: 200px;
}
.side_menu_area ul a{
 display: block;
 padding:10px 10px 20px 10px;
 text-decoration: none;
 background: #005f39;
 color: #fff;
 position: relative;
 z-index: 2;
 border-bottom: 1px solid #004328;
 line-height: 1.5
}
.side_menu_area ul a::before{
 content: "\f107";
 display: inline-block;
 position: absolute;
 width: 15px;
 height: 15px;
 line-height: 15px;
 top: auto;
 right: auto;
 left: 50%;
 margin-top: 0;
 margin-left: -10px;
 bottom: -10px;
 background: #fff;
 border-radius: 50%;
 border: 2px solid #628f7c;
 color: #628f7c;
 text-align: center;
 vertical-align: middle;
 font-size: 10px;
 font-family: FontAwesome;
 -webkit-font-smoothing: antialiased;
 -moz-osx-font-smoothing: grayscale;
 box-shadow: 0 0 2px 1px rgba(1,1,1,0.3);
 font-weight: bold;
}
.side_menu_area ul ul{
 z-index: 1;
 position: relative;
}
.side_menu_area ul ul a{ position: relative;background: #004328; padding: 10px 10px 10px 1.5em; transition: 0s;}
.side_menu_area ul ul a::before{
 display: block;
 position: absolute;
 background: none;
 width: auto;
 height: auto;
 box-shadow: none;
 border:0;
 top: 50%;
 left: 6px;
 margin: -0.5em 0 0 0;
 content: normal;
 font-size: 10px;
 line-height: 1;
}
.side_menu_area ul ul .on{
 background: #012c1a;
}
.side_menu_area ul ul .on::before{
 content: "●";
 color:inherit;
}
/*============================================================
	Sub
============================================================*/
#main .sub_cart{
	padding: 10px 0;
	z-index: 85;
	position: fixed;
	bottom: 59px;
	left: 0;
	width: 100%;
	background: #fff;
	box-shadow: 0 0 5px 1px rgba(0,0,0,0.1);
}
#main .sub_cart .inner{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
#main .sub_cart .inner .txt_c{ width: 100%; font-size: 12px; font-weight: bold}
#main .sub_cart .inner::after{content: normal;}
#main .sub_cart_result{
	width: 15%;
	margin: 0
}
#main .sub_cart_price{
	width: 50%;
	margin: 0
}
#main .cart_data{
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-content: center;
	padding: 10px 0;
	border-bottom: 1px solid #eee;
	margin: 0;
}
#main .cart_data_his{
	background: #fff;
	padding:  10px;
}
#main .cart_data+.cart_data{ margin-bottom: 1em; border: 0}
#main .cart_data b{ font-size: 125.0%;}
#main .cart_data dt{ width: 40%;}
#main .cart_data dd{ width: 60%; text-align: right}

#main.compele{
	padding: 85px 0 100px 0;
}
.pic_ill{
	max-width: 480px;
	width: 100%;
}
.txt_point{
	font-weight: bold;
	color: #005f39;
	font-size: 125%;
}
.txt_none{
	font-weight: bold;
	color: #666;
	font-size: 125%;

}
#main .sub_cart .sub_cart_price+.btn_inp{ width: 30%;align-self: center; min-width: 1px;}
#main .txt_c_b,
#main .txt_c_b p{
	margin-bottom: 2em;
	text-align: center;
}

/*============================================================
	Footer
============================================================*/
#page_footer{
	width: 100%;
	position: relative;
	text-align: center;
}

#page_footer:after{
	display: block;
	clear: both;
	content: "";
}

/*============================================================
	Loading
============================================================*/
.__loading{
	display: none;
	justify-content: center;
	align-items: center;
	width: 100%;
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	z-index: 210;
	background: rgba(255,255,255,0.8);
	pointer-events: none;
}
.loading .__loading{
	display: flex;
}
@-webkit-keyframes ball-grid-pulse {
  0% {
			opacity: 0.25;
    -webkit-transform: scale(1);
            transform: scale(1); }
  50% {
    -webkit-transform: scale(0.5);
            transform: scale(0.5);
    opacity: 0.7; }
  100% {
			opacity: 0.25;
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1; } }

@keyframes ball-grid-pulse {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1); }
  50% {
    -webkit-transform: scale(0.5);
            transform: scale(0.5);
    opacity: 0.7; }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1; } }

.ball-grid-pulse {
  width: 57px;
  height: 57px;
  }
  .ball-grid-pulse > div:nth-child(1) {
    -webkit-animation-delay: 0.22s;
            animation-delay: 0.22s;
    -webkit-animation-duration: 0.9s;
            animation-duration: 0.9s; }
  .ball-grid-pulse > div:nth-child(2) {
    -webkit-animation-delay: 0.64s;
            animation-delay: 0.64s;
    -webkit-animation-duration: 1s;
            animation-duration: 1s; }
  .ball-grid-pulse > div:nth-child(3) {
    -webkit-animation-delay: -0.15s;
            animation-delay: -0.15s;
    -webkit-animation-duration: 0.63s;
            animation-duration: 0.63s; }
  .ball-grid-pulse > div:nth-child(4) {
    -webkit-animation-delay: -0.03s;
            animation-delay: -0.03s;
    -webkit-animation-duration: 1.24s;
            animation-duration: 1.24s; }
  .ball-grid-pulse > div:nth-child(5) {
    -webkit-animation-delay: 0.08s;
            animation-delay: 0.08s;
    -webkit-animation-duration: 1.37s;
            animation-duration: 1.37s; }
  .ball-grid-pulse > div:nth-child(6) {
    -webkit-animation-delay: 0.43s;
            animation-delay: 0.43s;
    -webkit-animation-duration: 1.55s;
            animation-duration: 1.55s; }
  .ball-grid-pulse > div:nth-child(7) {
    -webkit-animation-delay: 0.05s;
            animation-delay: 0.05s;
    -webkit-animation-duration: 0.7s;
            animation-duration: 0.7s; }
  .ball-grid-pulse > div:nth-child(8) {
    -webkit-animation-delay: 0.05s;
            animation-delay: 0.05s;
    -webkit-animation-duration: 0.97s;
            animation-duration: 0.97s; }
  .ball-grid-pulse > div:nth-child(9) {
    -webkit-animation-delay: 0.3s;
            animation-delay: 0.3s;
    -webkit-animation-duration: 0.63s;
            animation-duration: 0.63s; }
  .ball-grid-pulse > div {
    background-color: #005f39;
    width: 15px;
    height: 15px;
    border-radius: 100%;
    margin: 2px;
    -webkit-animation-fill-mode: both;
            animation-fill-mode: both;
    display: inline-block;
    float: left;
    -webkit-animation-name: ball-grid-pulse;
            animation-name: ball-grid-pulse;
    -webkit-animation-iteration-count: infinite;
            animation-iteration-count: infinite;
    -webkit-animation-delay: 0;
            animation-delay: 0; }

/* ===== language select ===== */
.select_language {
  line-height: 2.0;
  margin: 0;
  padding: 0;
}

.select_language li {
  margin-bottom: 15px;
  list-style: none;
}

.select_language label {
  display: block;
  padding: 10px;
  border: 1px solid #eee;
  background: #fff;
  cursor: pointer;
  transition: all 0.3s;
}

.select_language label:hover {
  background: #f5f5f5;
}

.select_language input[type="radio"] {
  display: none;
}

.select_language input[type="radio"]:checked + span {
  color: #ffffff;
  font-weight: bold;
}

.select_language input[type="radio"]:checked {
  background: #bbbbbb;
}

.select_language label.checked {
  background: #bbbbbb !important;
  border-color: #bbbbbb !important;
}

.select_language label.checked span {
  color: #ffffff !important;
  font-weight: bold !important;
}

.select_language span {
  display: block;
  text-align: center;
}

.btn_area {
  text-align: center;
  margin-top: 20px;
}

/* 言語選択モーダルのサイズ最適化 */
#language_modal {
  max-height: 90vh;
  overflow: hidden;
}

#language_modal .popup_txt_box_chr {
  height: auto;
  max-height: none;
  overflow: visible;
  flex-grow: 1;
}

#language_modal .select_language {
  display: flex;
  flex-direction: column;
  gap: 10px;
  height: auto;
  max-height: none;
  overflow: visible;
}

/* iPhone SEなど小さな画面でのみスクロール制限を適用 */
@media screen and (max-height: 568px) and (max-width: 320px) {
  #language_modal {
    max-height: 85vh;
    top: 2vh;
  }
  #language_modal .select_language {
    max-height: 50vh;
    overflow: auto;
  }
}

/* 非常に小さな画面でのみ厳しい制限 */
@media screen and (max-height: 480px) and (max-width: 320px) {
  #language_modal {
    max-height: 80vh;
    top: 1vh;
    padding: 5px 10px 15px 10px;
  }
  #language_modal .txt_read {
    padding: 10px 0;
  }
  #language_modal .select_language {
    max-height: 45vh;
    overflow: auto;
  }
}

/* キャラクター選択モーダル専用スタイル - 確実なレイアウト制御 */
#character_modal {
  position: fixed !important;
  top: 50% !important;
  left: 50% !important;
  transform: translateX(-50%) translateY(-50%) !important;
  width: 90% !important;
  max-width: 400px !important;
  max-height: 85vh !important;
  background: #fff !important;
  border-radius: 10px !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.3) !important;
  z-index: 1000 !important;
  overflow: hidden !important;
}

#character_modal .txt_read {
  display: block !important;
  text-align: center !important;
  font-weight: bold !important;
  padding: 20px 15px 15px 15px !important;
  margin: 0 !important;
  font-size: 16px !important;
  line-height: 1.4 !important;
  color: #333 !important;
  background: #fff !important;
  position: static !important;
}

#character_modal .popup_txt_box_chr {
  display: block !important;
  overflow-y: auto !important;
  padding: 15px !important;
  max-height: calc(85vh - 80px) !important;
  -webkit-overflow-scrolling: touch !important;
  background: #fff !important;
  position: static !important;
}

/* 元の2列レイアウトを維持しつつ画像の切れを防止 */
#character_modal .select_chara {
  width: 80%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding: 0;
}

#character_modal .select_chara li {
  width: 48%;
  margin-bottom: 15px;
  text-align: center;
  padding: 10px;
  box-sizing: border-box;
}

#character_modal .select_chara a {
  display: inline-block;
  width: 100%;
  max-width: 140px;
}

#character_modal .select_chara i {
  border-radius: 50%;
  overflow: hidden;
  border: 2px solid #ddd;
  display: inline-block;
  width: 90px;
  height: 90px;
  position: relative;
  transition: border-color 0.3s ease;
}

#character_modal .select_chara i:hover {
  border-color: #005f39;
}

#character_modal .select_chara img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}

/* キャラクター選択モーダルのレスポンシブデザイン */
/* iPhone SE専用設定 (375x667px以下) */
@media screen and (max-height: 667px) and (max-width: 375px) {
  #character_modal {
    max-height: 80vh !important;
    width: 95% !important;
  }
  #character_modal .txt_read {
    padding: 15px 10px 12px 10px !important;
    font-size: 14px !important;
    line-height: 1.3 !important;
  }
  #character_modal .popup_txt_box_chr {
    padding: 10px !important;
    max-height: calc(80vh - 70px) !important;
  }
  #character_modal .select_chara {
    width: 95% !important;
  }
  #character_modal .select_chara li {
    width: 48% !important;
    margin-bottom: 8px !important;
    padding: 3px 2px !important;
  }
  #character_modal .select_chara i {
    width: 60px !important;
    height: 60px !important;
  }
  #character_modal .select_chara a {
    max-width: 65px !important;
  }
}

@media screen and (max-height: 700px) {
  #character_modal {
    max-height: 90vh;
  }
  #character_modal .popup_txt_box_chr {
    max-height: 65vh;
  }
  #character_modal .select_chara i {
    width: 70px;
    height: 70px;
  }
}

@media screen and (max-height: 600px) {
  #character_modal {
    max-height: 90vh;
  }
  #character_modal .txt_read {
    padding: 12px 10px 10px 10px !important;
    font-size: 15px !important;
  }
  #character_modal .popup_txt_box_chr {
    max-height: calc(90vh - 65px) !important;
    padding: 10px !important;
  }
  #character_modal .select_chara li:first-child,
  #character_modal .select_chara li:nth-child(2) {
    margin-top: 10px;
  }
  #character_modal .select_chara li {
    padding: 12px 8px;
  }
  #character_modal .select_chara i {
    width: 65px;
    height: 65px;
  }
}

@media screen and (max-height: 480px) {
  #character_modal {
    max-height: 75vh !important;
    width: 98% !important;
  }
  #character_modal .txt_read {
    padding: 10px 8px 8px 8px !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
  }
  #character_modal .popup_txt_box_chr {
    padding: 8px !important;
    max-height: calc(75vh - 55px) !important;
  }
  #character_modal .select_chara {
    width: 98% !important;
  }
  #character_modal .select_chara li {
    width: 48% !important;
    margin-bottom: 5px !important;
    padding: 2px 1px !important;
  }
  #character_modal .select_chara i {
    width: 45px !important;
    height: 45px !important;
  }
  #character_modal .select_chara a {
    max-width: 50px !important;
  }
}

/* 極小デバイス対応 (iPhone SE 1st gen等、320px幅以下) */
@media screen and (max-width: 320px) or (max-height: 568px) and (max-width: 320px) {
  #character_modal {
    max-height: 70vh !important;
    width: 99% !important;
  }
  #character_modal .txt_read {
    padding: 8px 5px 6px 5px !important;
    font-size: 12px !important;
    line-height: 1.1 !important;
  }
  #character_modal .popup_txt_box_chr {
    padding: 5px !important;
    max-height: calc(70vh - 45px) !important;
  }
  #character_modal .select_chara {
    width: 99% !important;
  }
  #character_modal .select_chara li {
    width: 48% !important;
    margin-bottom: 3px !important;
    padding: 1px !important;
  }
  #character_modal .select_chara i {
    width: 40px !important;
    height: 40px !important;
  }
  #character_modal .select_chara a {
    max-width: 45px !important;
  }
}

/* 横画面でのキャラクター選択モーダル */
@media screen and (orientation: landscape) and (max-height: 500px) {
  #character_modal {
    max-height: 85vh !important;
    width: 95% !important;
  }
  #character_modal .txt_read {
    padding: 12px 10px 10px 10px !important;
    font-size: 14px !important;
  }
  #character_modal .popup_txt_box_chr {
    padding: 10px !important;
    max-height: calc(85vh - 65px) !important;
  }
  #character_modal .select_chara {
    width: 98% !important;
    justify-content: space-between !important;
  }
  #character_modal .select_chara li {
    width: 48% !important;
    margin-bottom: 10px !important;
    padding: 8px 5px !important;
  }
  #character_modal .select_chara i {
    width: 70px !important;
    height: 70px !important;
  }
  #character_modal .select_chara a {
    max-width: 80px !important;
  }
}