﻿@charset "utf-8";


.shop_guide h3 {
background-color:#f8f8f8;

}


.cart_cnt{
	background:#ED1C24;
	color:#fff;
	width:20px;
	height:20px;
	line-height:20px;
	border-radius: 10px;
	position:absolute;
	right:0;
	top:-10px;
	text-align:center;

}


.ff_icon::before,
.ff_icon::after {
  font-family: "Font Awesome 6 Free";
}


.flex {
    display: flex;
    flex-wrap: wrap;
}

input , button , select{
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
  text-decoration: none;
	outline: none;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  -o-appearance: none;
}



.brand_logo{
	background-size: contain;
	background-repeat:no-repeat;
	background-position:50% 50%;
}
.no_topic{
	display:block;
	margin:100px 0;
}
.select_keyward span::before {
cursor:pointer;}

.split_btn2 a,
.cart_back_btn a
{
	width:100%;
	display:block;
	cursor:pointer;
}


.hissu_ok{

	color:#fff;

}
.hissu_ok:before{

}

.kakutei,.kakutei2{
	cursor:pointer;
	text-align:center;
}

.kakutei a{
	width:100%;
	display:block;
}
.minyu {
text-align:center
}
.minyu2 {
    background-color: #c7c7c7;
    color: #0e0d0d;
    outline: none;
    border: none;
}

.split_btn_box2{
	margin-top:30px!important;
}





.split_btn {
  justify-content: space-between;
}

.split_btn_box2 {
  justify-content: space-between;
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
} 

.split_btn1 ,
.split_btn2 {
  display: block;
  width: 48%;
  padding: 15px 0;
  font-size: 0.85rem;
  text-align: center;
  border-radius: 5px;
}

.tpl_btn3 {
  padding: 10px 20px;
}

.tpl_btn1 ,
.tpl_btn3 , 
.split_btn1 {
  background-color: #3a3a3a;
  color: #FFF;
}

.split_btn1 a{
color: #FFF;
}



.tpl_btn2 ,
.split_btn2 {
  background-color: #FFF;
  color: #C7C7C7;
  outline: 1px solid #C7C7C7;
  outline-offset: -1px;
}



.tpl_btn1:hover ,
.tpl_btn2:hover ,
.passremaind:hover {
  opacity: 0.8;
}

.passremaind {
  color: #C7C7C7;
  font-size: 0.85rem;
  text-align: center;
  margin-top: 20px;
}

.login_btn:hover ,
.passremaind:hover ,
.user_regist_btn:hover ,
.split_btn1:hover ,
.split_btn2:hover {
  opacity: 0.8;
}

.user_regist_btn {
  border: 1px solid #c7c7c7;
  color: #c7c7c7;
  background-color: #FFF;
  text-align: center;
  margin-top: 0;
  padding-left: 0;
  padding-right: 0;
} 



.minyu {
  background-color: #c7c7c7;
  color: #0e0d0d;
  outline: none;
  border: none;
}


.joho_input {
    box-sizing: border-box;
    width: 100%;
    font-family: inherit;
    color: #2e3242;
    background-color: #f7f8f9;
    border: 1px solid #c1c7d1;
    border-radius: 4px;
    height: 40px;
    padding: 0 12px;
    line-height: 1.2em;
    appearance: none;
    margin-top:10px!important;
}

.necessary {
    color: #ec4040;
    font-size: 0.7rem;
    background-color: #FFF;
    border: 1px solid #ec4040;
    padding: 2px 5px;
    margin-left: 15px;
    border-radius: 3px;
}

.userdata_ttl {
    font-size: 0.9rem;
    font-weight: 700;
}



.hissu_ok {
    background-color: #15b395;
    border: none;
    color: #fff;
    content: "OK";
}

.input_error {
    display: none;
    font-size: 0.85rem;
    font-weight: 400;
    color: #da0404;
    padding-top: 5px;
    padding-left: 15px;
}
.auth_no_box {
    width: 100%;
    max-width: 300px;
    margin: 0 auto;
    margin-bottom: 60px;
}
.post_code input{
	max-width:300px;
}









/* login page */

.login_conteiner {
  /* background-color: #f8f8f8; */
  padding: 20px 0;
  font-size: 1rem;
  max-width: 800px;
  margin: 0 auto;
}

.login_ttl {
  width: 100%;
  text-align: center;
  padding: 30px 0;
}

.login_grid {
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
  padding: 0 50px;
  margin-bottom: 30px;
}

.login_box ,
.userdata_box {
  width: 100%;
  margin: 0 auto;
  margin-bottom: 20px;
}

.login_box input {
  width: 100% ;
  height: 50px;
  background-color: #FFF;
  border: 1px solid #ccc;
  padding: 10px;
  font-size: 1rem;
  letter-spacing: 0.05em;
}

.login_box input::placeholder {
  font-size: 0.875rem;
}  

.login_check {
  align-items: center;
  font-size: 0.875rem;
}

.tpl_btn1 ,
.tpl_btn2 {
  display: block;
  width: 100%;
  max-width: 350px;
  margin: 0 auto;
  padding: 15px 0;
  font-size: 0.85rem;
  text-align: center;
  border-radius: 5px;
}

.cart_btn .tpl_btn1,
.cart_btn .tpl_btn2 {
  max-width: 100%;
  margin: 20px 0;
}


.split_btn {
  justify-content: space-between;
}

.split_btn_box2 {
  justify-content: space-between;
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
} 

.split_btn1 ,
.split_btn2 {
  display: block;
  width: 48%;
  padding: 15px 0;
  font-size: 0.85rem;
  text-align: center;
  border-radius: 5px;
}

.tpl_btn3 {
  padding: 10px 20px;
}

.tpl_btn1 ,
.tpl_btn3 , 
.split_btn1 {
  background-color: #112233;
  color: #FFF;
}

.tpl_btn2 ,
.split_btn2 {
  background-color: #FFF;
  color: #112233;
  outline: 1px solid #112233;
  outline-offset: -1px;
}



.tpl_btn1:hover ,
.tpl_btn2:hover ,
.passremaind:hover {
  opacity: 0.8;
}

.passremaind {
  color: #112233;
  font-size: 0.85rem;
  text-align: center;
  margin-top: 20px;
}

.login_btn:hover ,
.passremaind:hover ,
.user_regist_btn:hover ,
.split_btn1:hover ,
.split_btn2:hover {
  opacity: 0.8;
}

.user_regist_btn {
  border: 1px solid #112233;
  color: #112233;
  background-color: #FFF;
  text-align: center;
  margin-top: 0;
  padding-left: 0;
  padding-right: 0;
} 


.user_container {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  padding: 20px 60px;
}

.page_flow {
  width: 100%;
  max-width: 500px;
  height: 80px;
  margin: 0 auto;
  justify-content: space-between;
  margin-bottom: 50px;
  font-size: 1rem;
  align-items: flex-end;
}

.page_flow > div{
  width: 33.3333%; 
  text-align: center;
  position: relative;
  z-index: 1;
  font-size: 0.8rem;
}

.page_flow > div > span {
  display: block;
  width: 20px;
  height: 20px;
  margin:  0 auto;
  margin-top: 20px;
  position: relative;
  background-color: #FFF;
  border-radius: 50%;
  border: 2px solid #9b9a9a;
}

.current {
  color: #112233;
  font-weight: 500;
}

.current > span::before{
  content: "\f058";
  font-weight: 900;
  vertical-align: middle;
  font-size: 30px;
  color: #112233;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.current_finished > span {
  background-color: #112233!important;
  border: 2px solid #dfdfdf!important;
}

.root > span::after {
  display: block;
  width: 180px;
  content: " ";
  border-bottom: 2px solid #112233;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: -1;  
}

.root_finished > span::after {
  display: block;
  width: 180px;
  content: " ";
  border-bottom: 2px solid #112233;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: -1; 
}

.userdata_ttl {
  font-size: 0.9rem;
  font-weight: 700;
}

.userdata_value {
  margin-top: 7px;
  font-size: 0.9rem;
  line-height: 1.2rem;
}

.userdata_box input[type=text] ,
.userdata_box input[type=email] ,
.userdata_box input[type=password] , 
.userdata_box select {
  width: 100%;
  letter-spacing: 0.05em;
  margin-top: 10px;
  padding: 8px 10px;
  font-size: 0.85rem;
  font-weight: 500;
  border: 1px solid #e7e7e7;
}

.other_add_container .userdata_box input[type=text] ,
.other_add_container .userdata_box select {
  height: 35px;
  font-size: 0.8rem;
} 

.userdata_box select {
  cursor: pointer;
}

form input , select , textarea  {
  background-color: #FFF;
}

.inquiry_box textarea {
  width: 100%;
  padding: 10px;
  line-height: 1.4em;
}

.inquiry_box select , 
.inquiry_box input {
  width: 100%;
  max-width: 350px;
}

.inquiry_box textarea  {
  height: 200px;
  margin-top: 10px;
  font-size: 0.85rem;
  border: 1px solid #e7e7e7;
}

.inquiry_box input[type=file] {
  font-size: 0.85rem;
  margin-top: 10px;
  padding: 10px;
}

.inquiry_head {
  text-align: center;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 2.5em;
} 

.inquiry_head span::before{
  content: "\f095";
  font-weight: 900;
  margin-right: 5px;
}

.inquiry_head_txt {
  text-align: center;
  font-size: 0.85rem;
}

.faq_item {
  background-color: #FFF;
}

.faq_f {
  font-weight: 700;
  margin-bottom: 5px;
  font-size: 0.85rem;
}

.faq_a {
  margin-bottom: 10px;
  line-height: 1.2rem;
  font-size: 0.8rem;
}

.faq_a:last-of-type {
  margin-bottom: 0;
}

.faq_link {
  color: #112233;
  border-bottom: 1px solid #112233;
}

.necessary {
  color: #ec4040;
  font-size: 0.7rem;
  background-color: #FFF;
  border: 1px solid #ec4040;
  padding: 2px 5px;
  margin-left: 15px;
  border-radius: 3px;
}

.hissu_ok {
  background-color: #15b395;
  border: none;
  color: #fff;
  content: "OK";
}

.input_error {
  display: none;
  font-size: 0.85rem;
  font-weight: 400;
  color: #da0404;
  padding-top: 5px;
  padding-left: 15px;
}

.pass_open {
  align-items: center;
  font-size: 0.85rem;
  margin-top: 5px;
}

.userdata_txt {
  font-size: 0.85rem;
  margin: 10px 0;
}

.input_name {
  justify-content: space-between;
}

.post_code ,
.phone_num ,
.birth {
  align-items: center;
}

.post_code input{
  max-width: 300px;
}

.input_hyphen {
  margin: 0 10px;
  margin-top: 10px;
  font-size: 0.85rem;
}

.phone_num input {
  max-width: 300px;
}

.gender ,
.regist {
  margin-top: 10px;
  display: flex;
  align-items: center;
}

.gender label ,
.regist label ,
.order_info_body label {
  margin-right: 40px;
  font-size: 0.9rem;
  display: flex;
  align-items: center;
}

.gender input[type=radio], .regist input[type=radio], .order_info_body input[type=radio]  {
  position: relative;
  width: 20px;
  height: 20px;
  border: 2px solid #cccccc;
  border-radius: 50%;
  cursor: pointer;
  background-color: #FFF;
  margin-right: 5px;
}

.gender input[type=radio]:checked:before, .regist input[type=radio]:checked:before, .order_info_body input[type=radio]:checked:before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #112233;
  content: '';
}

.birth {
  max-width: 400px;
  justify-content: space-between;
}

.birth select {
  width: 30%;
  max-width: 150px;
  letter-spacing: 0.05em;
  margin-top: 10px;
  padding: 10px 20px;
  font-size: 0.85rem;
  background-color: #FFF;
  border: 1px solid #e7e7e7;
  cursor: pointer;
}

.birth span::after{
  content: "\f107";
}

.mgn_btm {
  margin-bottom: 60px;
}

.mgn_top {
  margin-top: 30px;
}

.user_policy {
  width: 100%;
  max-height: 150px;
  padding: 20px;
  overflow: auto;
  font-size: 0.85rem;
  background-color: #FFF;
  border: 1px solid #e7e7e7;
  margin: 10px 0;
}

.user_policy_ttl {
  font-weight: 700;
  margin-bottom: 5px;
}

.user_policy_txt {
  margin-bottom: 20px;
  line-height: 1.3em;
}

.filter_btn {
  display: none;
  justify-content: space-between;
}

.thankyou {
  font-weight: 900;
  font-style: italic;
  letter-spacing: 0.1em;
}

.thanks_ttl {
  margin-bottom: 10px;
  text-align: center;
  font-size: 1.1rem;
}

.thanks_txt {
  margin: 50px 0;
  font-size: 0.9rem;
  line-height: 1.5em;
  padding: 0 30px;
  text-align: center;
}

.regist_data {
  margin-top: 20px;
  display: none;
}

.userdata2 {
  display: none;
}

.notregist_inner {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
}

.page_flow2 {
  max-width: 800px;
}

.page_flow2 > div {
  width: 25%;
  font-size: 0.8rem;
}

.page_flow2 > div > span::after {
  width: 200px;
}

/* order_info */
.order_btn {
  width: 100%;
  background-color: #112233;
  color: #FFF;
  font-size: 0.9rem;
  padding: 15px;
  border-radius: 5px;
}


.order_info_box {
  margin-bottom: 20px;
}

.member_type {
  display: none;
}

.member_type_open {
  display: block;
}

.order_info_head {
  justify-content: space-between;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid #dbdbdb;
}

.order_info_ttl {
  font-size: 1.2rem;
  font-weight: 600;
  align-items: center;
  justify-content: space-between;
}

.checked_alart {
  color: #da0404;
  font-size: 0.8rem;
  padding: 5px;
  font-weight: 500;
}

.checked_alart::before{
  margin-right: 5px;
  content: "\21";
  font-weight: 900;
}

.checked_alart_clear {
  display: none;
}

.alart_hidden {
  display: none;
}

.change_btn {
  font-size: 0.85rem;
  color: #112233;
  border: 1px solid #112233;
  padding: 5px 10px;
  cursor: pointer;
}

.order_info_body {
  margin: 20px 0;
  font-size: 0.9rem;
  padding: 10px 20px;
}

.order_info_body p {
  margin-bottom: 5px;
}


.register_data {
  font-weight: 500;
  margin-bottom: 10px;
}

.select_btn {
  font-size: 0.85rem;
  color: #ec4040;
}

.order_details {
  margin: 15px 0;
}

.details_box {
  justify-content: space-between;
  align-items: center;
  padding: 15px 0;
  border-bottom: 1px solid #dbdbdb;
  font-size: 0.9rem;
}

.detail_price {
  letter-spacing: 0.05em;
}

.order_alart_txt {
  margin: 15px 0;
  font-size: 0.85rem;
  color:#ec4040;
}

.order_info_body label {
  margin-bottom: 10px;
}

.change_user_data {
  display: block;
  font-size: 0.85rem;
  color: #112233;
}

.payment_hide ,
.cod_hide {
  display: none;
}

.pay_info {
  padding: 10px 0;
  margin-top: -15px;
  margin-bottom: 20px;
  line-height: 1.5rem;
}

.pay_info img {
  width: 200px;
  height: auto;
}

.pay_info span {
  color: #ec4040;
}

.pay_info2 {
  display: none;
}

.order_info_body textarea{
  width: 100%;
  min-height: 100px;
  border: 1px solid #e7e7e7;
  padding: 10px;
}


.other_add_head {
  display: inline-block;
  font-size: 0.75rem;
  background-color: #1178f8;
  color: #FFF;
  padding: 8px 15px;
  border-radius: 20px;
  margin-left: 15px;
  cursor: pointer;
}

.other_add {
  margin: 40px 0;
}

.other_add_modal {
  height: 100%;
  max-height: 90vh;
}

.other_add_container {
  max-width: 500px;
  margin: 0 auto;
  justify-content: space-between;
}

.other_add_ttl,
.other_address_ttl {
  font-size: 0.85rem;
  font-weight: 500;
}








.div_modoru{
	padding:0;
}
.div_modoru a{
	padding:15px 0;
	width:100%;
	display:block;
}



.minyu {
    background-color: #c7c7c7;
    color: #0e0d0d;
    outline: none;
    border: none;
}


.other_add {
    margin: 40px 0;
}

.select_checkbox:checked + .checkbox-fontas:before {
    color: #1DA0F1;
}
.checkbox-fontas {
    position: relative;
    font-size: 18px;
    vertical-align: middle;
    margin-right: 10px;
}
.select_checkbox + .checkbox-fontas:before {
    font-weight: 900;
    content: '\f058';
    color: #ccc;
}

.userdata2{
	display:none;
}




.sp, .narrow, .sp_menu, .sp600, .sp764, .sp900 {
    display: none;
}



.modal_overlay, .modal_overlay1, .modal_overlay2, .modal_overlay3 {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1000;
    background-color: rgba(0, 0, 0, 0.9);
}

.modal,
.brand_select_modal, 
.shop_stock_modal,
.restock_mail_modal,
.search_modal_sp,
.pd_inq_modal {
  display: none;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 70%;
  height: auto;
  max-height: 600px;
  border-radius: 10px;
  z-index: 1100;
  background-color: #FFF;
  overflow-y: auto;
  overscroll-behavior-y: none;
}

.modal_ttl {
    font-weight: 600;
    font-size: 1rem;
    text-align: center;
    margin-top: 10px;
    margin-bottom: 15px;
}

.modal_close {
    position: absolute;
    top: 20px;
    right: 20px;
    cursor: pointer;
    padding: 10px;
}

.modal_close span::before {
  content: "\f00d";
  font-weight: 900;
}

.kakutei a{
	color:#fff;
}

.change_user_data{
	text-decoration:underline;
}


/* mypage */

.mypage_container {
  max-width: 1000px;
  margin: 0 auto;
}

.mypage_user {
  padding: 30px 0;
  border-bottom: 1px solid #cccccc;
}

.mypage_grid1 {
  width: 60%;
  align-items: center;
}

.mypage_grid2 {
    width: 13%;
    align-items: center;
    justify-content: flex-end;
    flex: 1;
    margin-right: 10px;
}

.mypage_grid3 {
  width: 25%;
  text-align: right;
  border-left: 1px solid #cccccc;
  align-items: center;
  justify-content: end;
}

.mypage_usericon {
  width: 7%;
  padding-top: 7%;
  background-color: #e7e7e7;
  position: relative;
  border-radius: 50%;
  margin-right: 20px;
}

.mypage_usericon span::before {
  content: "\f007";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 1.25rem;
  color: #474747;
  }

  .mypage_username {
    font-size: 1rem;
    font-weight: 500;
    align-items: end;
  }

  .mypage_username span {
    margin-left: 10px;
    font-size: 0.8rem;
  }

  .mypage_pointicon {
    width: 20px;
    height: 20px;
    border: 2px solid #1178f8;
    border-radius: 50%;
    position: relative;
    margin-right: 5px;
  }

  .mypage_pointicon span::before{
    content: "\50";
    color: #1178f8;
    font-weight: 900;
    position: absolute;
    top: 53%;
    left: 53%;
    transform: translate(-50%, -50%);
    font-size: 0.75rem;
  }

  .logout {
    margin-left: 20px;
    background-color: #eeeeee;
    border-radius: 20px;
    font-size: 0.8rem;
    padding: 10px;
  }

  .logout:hover {
    opacity: 0.7;
  }

  .mypage_points span {
    font-weight: 700;
    font-style: italic;
  }

  .mypage_menu {
    margin-top: 60px;
    justify-content: space-between;
  }

  .menu_box {
    width: 18%;
    margin-bottom: 20px;
    background-color: #eeeeee;
    border-radius: 5px;
  }

  .menu_box:hover {
    opacity: 0.7;
  }

  .menu_box_conteiner {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 30% 0;
  }

  .menu_box_conteiner span {
    font-size: 1.75rem;
  }

  .menu_icon_1 span::before {
    content: "\f07a";
    font-weight: 900;
  }

  .menu_icon_2 span::before {
    content: "\f004";
    font-weight: 900;
  }

  .menu_icon_3 span::before {
    content: "\f044";
    font-weight: 900;
  }

  .menu_icon_4 span::before {
    content: "\f543";
    font-weight: 900;
  }

  .menu_icon_5 span::before {
    content: "\f2ed";
    font-weight: 900;
  }

  .menu_icon_6 span::before {
    content: "\f08b";
    font-weight: 900;
  }

  .menu_icon_7 span::before {
    content: "\f0d1";
    font-weight: 900;
  }

  .menu_name {
    font-size: 0.85rem;
    margin-top: 10px;
    text-align: center;
  }
  
  h2{
	margin-top:0;
}

.tpl_txt2 {
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
    margin-top: 60px;
    margin-bottom: 60px;
    padding: 20px;
    border: 1px solid #ccc;
}

.tpl_txt2 > div {
    font-size: 0.9rem;
    margin: 5px 0;
}




  /* order_list */
  .no_list {
    text-align: center;
    margin-top: 80px;
    margin-bottom: 140px;
    font-size: 1.4rem;
  }

  .order_list {
    margin-top: 30px;
    margin-bottom: 20px;
    border: 1px solid #cccccc;
  }

  .order_list_head {
    border-bottom: 1px solid #cccccc;
    padding: 10px;
    font-size: 0.8rem;
  }

  .order_list_head div {
    margin-bottom: 10px;
    margin-right: 30px;
    line-height: 1.4em;
  }

  .order_list_body {
    padding: 0 10px;
    font-size: 1rem;
  }

  .order_list_grid1 {
    width: 70%;
  }

  .order_list_grid2 {
    width: 30%;
    padding: 20px;
    display: none;
    flex-direction: column;
  }

  .order_item_link {
    display: none;
  }

  .shipped {
    display: flex;
  }

  .shiping_status {
    width: 100%;
    font-weight: 600;
    font-size: 1.1rem;
    margin: 10px 0;
    padding: 10px;
    background-color: #e0e0e0;
  }

  .order_list_data {
    margin-bottom: 30px;
  }

  .order_list_img {
    width: 13%;
    height: auto;
  }

  .order_list_item {
    padding-left: 20px;
  }

  .order_list_item p {
    margin-bottom: 5px;
    font-size: 0.85rem;
  }

  .order_item_link_btn1,
  .order_item_link_btn2 {
    display: inline-block;
    padding: 8px 15px;
    margin-top: 10px;
    margin-right: 10px;
    background-color: #1178f8;
    color: #FFF!important;
    text-align: center;
    font-size: 0.75rem;
    border-radius: 5px;
  }

  .order_list_grid2 a {
    display: block;
    width: 90%;
    padding: 12px 0;
    border: 1px solid #a7a7a7;
    text-align: center;
    margin-bottom: 10px;
    font-size: 0.75rem;
    border-radius: 5px;
  }

  .rebuy:hover , 
  .order_list_grid2 a:hover {
    opacity: 0.7;
  } 
  .fav_delete {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 25px;
    height: 25px;
    border: 1px solid #3b3b3b;
    border-radius: 5px;
    margin-top: 10px;
    
  }

  .fav_delete::before {
    content: "\f2ed";
    font-size: 16px;
    color: #3b3b3b;
  }


  /* coupon */

  .coupon_container {
    justify-content: space-between;
  }
  .coupon_box {
    width: 48%;
    margin-bottom: 100px;
  }

  .coupon_img {
    width: 75%;
    margin: 0 auto;
    margin-bottom: 40px;
  }

  .coupon_img img {
    width: 100%;
    height: auto;
  }

  .coupon_ttl {
    text-align: center;
    font-size: 0.9rem;
    font-weight: 500;
    padding: 10px 0;
    background-color: #f4f4f4;
  }

  .coupon_data {
    border-bottom: 1px solid #cccccc;
    padding: 10px 0;
    font-size: 0.8rem;
  }

  .coupon_grid1 {
    width: 40%;
  }

  .coupon_grid2 {
    width: 60%;
  }

  .coupon_grid2 span {
    margin: 0 5px;
  }

  .coupon_box button {
    margin-top: 20px;
    padding: 10px;
  }
.coupon_success , 
.coupon_error {
  font-size: 0.8rem;
  margin: 10px 0;
}

.coupon_error {
  color: #ec4040;
}

.coupon_unusable {
  width: 100%;
  max-width: 350px;
  margin: 0 auto;
  margin-top: 20px;
  padding: 10px 0;
  font-size: 0.85rem;
  text-align: center;
  border-radius: 5px;
  background-color: #ccc;
  color: #FFF;
}
.coupon_grid2 > a {
  color: #1178f8;
}





ul.items_list { margin:0; padding:0; list-style:none;}


ul.items_list li { position:relative; padding:0 5px; width:23%;margin:1%;}
@media only screen and (max-width:1024px) {
ul.items_list li { position:relative; padding:0 5px; width:31%;margin:1%;}
}

@media only screen and (max-width:600px) {
ul.items_list li { position:relative; padding:0 5px; width:48%;margin:1%;}
}


ul.items_list li .item_img { position:relative; aspect-ratio: 1 / 1; max-height:320px; padding:16px 8px 0px 8px; margin:0 auto; }
ul.items_list li .item_img img {
	position:absolute; top:50%; left:50%; transform: translate(-50%, -50%);
	max-height:90%; max-width:85%;
}




/*　item name */
ul.items_list .name_box {
	display:flex; justify-content:center; align-items:center;
	max-width:80%; height:3.9em;
	margin:0 auto; padding:0;
	font-size:0.9rem; line-height:1.3; font-weight:var(--bf-fontw2);
}
ul.items_list .name_box span {
	display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 3;
	overflow: hidden;
	word-break:break-all;
}

/*　item price */
ul.items_list .price_box { padding:10px 0 20px 0; font-size:1.3rem; font-weight:var(--bf-fontw2); color:var(--bf-price); text-align:center; }
ul.items_list .price_box span.tax { font-size:60%; color:var(--bf-text); font-weight:var(--bf-fontw2); }


.guide_h2{
	text-align:center;
	border:0;
}






.minyu2 {
    background-color: #c7c7c7;
    color: #0e0d0d;
    outline: none;
    border: none;
}





@media screen and (max-width: 768px) {
    input[type=text], input[type=email], input, textarea, select { font-size: 16px !important; }
} 







.cal_box{

}
.cal_box td{

	text-align:center;

}



.day_hako{
	width:30px;
	height:30px;
	border:solid 1px #ccc;
	margin:1px;
	    border-radius: 5px;
	
}

.kyugyo{
	background:#ddd;
}

.aka{
	color:#f00;
	font-weight:bold
	
}
.ao{
	color:#00f;
	
}
.calender_flex_hako{
	margin:1%;
}











