/* Google Fotns */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&family=Satisfy&display=swap');

/* # =================================================================
   # 共通
   # ================================================================= */
* {
   margin: 0;
   padding: 0;
   box-sizing: border-box;
}
html{
   font-size: 0.625em;
}
body{
   font-family: 'Noto Sans JP', sans-serif;
   font-size: 1.4em;   
}
img{
   max-width: 100%;
}
.wrapper_all {
   height: 100%;
   overflow: hidden;
   position: relative;
   min-height: 812px;
}
 /* ヘッダー */
 .header_r{
    right: 16%;
 }
.sec_wrapper{
   padding: 60px 0 30px;
   margin: 0 auto;
   width: 92%;
}
.line{
   border-bottom: 1px solid #000;
   padding-bottom: 2px;
}
.cart_inner{
   position: relative;
}
img.cart_pc{
   display: none;
}
.cart_inner[data-badge]::after {
   content: attr(data-badge);
   position: absolute;
   top: 20px;
   left: 34px;
   font-size: .7em;
   background: #e05103;
   color: white;
   width: 18px;
   height: 18px;
   text-align: center;
   line-height: 18px;
   border-radius: 50%;
   box-shadow: 0 0 1px #333;
}
/* ドロワーメニュー  */
.head-bar {
	top: 0;
}
.menu-btn,
.menu-btn span {
	display: inline-block;
	transition: all .4s;
   box-sizing: border-box; 
}

.menu-btn {
	display: block;
	float: right;
	margin: 0 auto;
	position: relative;
	width: 40px;
	height: 25px;
}

.menu-btn span {
	position: absolute;
	right: 2%;
	width: 100%;
	height: 3px;
	background-color: #000;
}
.menu-btn span:nth-of-type(1) {
	top: 0;
}
.menu-btn span:nth-of-type(2) {
	top: 11px;
}
.menu-btn span:nth-of-type(3) {
	bottom: 0;
}
.sp-menu {
   padding-top: 50px;
	display: none;
}

.sp-menu li {
	box-sizing: border-box;
	border-bottom: 3px solid #fff;
}
.sp-menu li a {
	box-sizing: border-box;
	color: #000;
	display: block;
	font-size: 2rem;
	line-height: 26px;
	text-decoration: none;
	width: 100%;
}
.menu-btn.active span:nth-of-type(1) {
   -webkit-transform: translateY(10px) rotate(-45deg);
   transform: translateY(12px) rotate(-45deg);
 }
 .menu-btn.active span:nth-of-type(2) {
   opacity: 0;
 }
 .menu-btn.active span:nth-of-type(3) {
   -webkit-transform: translateY(-10px) rotate(45deg);
   transform: translateY(-10px) rotate(45deg);
 }
/* # =================================================================
# モバイルファースト
# ================================================================= */
.sp{display: block;}
.pc{display: none;}
.br-sp{display: block;}
.pc-only{display: none;}
.ipad{display: block;}
/* KV */
.swiper_pos{
   margin-top: 70px;
}
/* ドロワーメニュー  */
.menu_sp_banner{
   width: 96%;
   margin: 45px auto 30px;
   display: flex;
   justify-content: space-between;
   align-items: flex-start;
}
.menu_sp_banner img{
   max-width:100%; 
	height: auto; 
}
.menu_sp_banner a{
   width: calc(100%/2);
   padding:0 5px;
}
.menu_sp_banner:hover{
   opacity: 0.8;
}
.sp-menu li{
   list-style: none;
   font-size: 2rem;
}
.i_sp, .h_sp{
   width: 100%;
   margin: 15px auto 0;
   padding-bottom: 15px;
   box-shadow: 0px 2.5px 2px 0.2px rgba(11, 2, 4, 0.13);
}
.i_sp img, .h_sp img{
   display: block;
   width: 90%;
   margin: 0 auto;
}
.h_sp_li,.i_sp_li{
   position: relative;
   background: #f4f4f4;
   border-bottom: 3px solid #fff;
}
.i_sp_li{
   padding: 10px;
}
.h_sp_li a::after, .i_sp_li a::after{
   content:"";
   display: block;
   background-image: url( '../img/index_img/arrow.png'); 
   position: absolute;
   font-size: 3.2rem;
   top: calc(50% - 6.5px);
   right: 15px;
   height: 13px;
   width: 10px;
}
.all_svg, .map_svg{
   color: #af7943;
   margin-left: 30px;
   margin-right:30px;
   vertical-align: middle;
   width: 30px;
}
.h_sp_li img{
   display: inline;
   height: 50px;
   vertical-align: middle;
}
.sp-menu li a p{
   display: inline-block;
   padding-left: 50px;
   vertical-align: middle;
}
/* main */
.sec_left{
   display: none;
}
/* Sec01 */
.sec_right{
   display: block;
   margin: 100px auto;
   width: 96%;
}
/* 検索バー */
.search_bar_container{
   width: 90%;
   margin: 50px auto 30px;
}
form, input {
   margin: 0; /* マージンをリセット */
 }
 form {
   position: relative; /* 基準位置とする */
   margin-top: 60px;
   display: block;
 }
 input[type="search"] {
   background-color: #f4f4f4;
   border: 0;
   height: 40px; /* 高さ40px */
   width: 100%;
   padding: 0 10px; 
   position: absolute; /* 絶対配置 */
   left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    top: 0;
    font-size: 1.8rem;
 }
 input::placeholder{
   color: #d9d9d9;
 }
 /* IE */
input:-ms-input-placeholder {
   color: #d9d9d9;
 }
 /* Edge */
 input::-ms-input-placeholder {
   color: #d9d9d9;
 }
 input[type="image"] {
   border: 0;
   padding: 0;
   width: 40px;
   height: 40px; /* 高さ40px */
   position: absolute; /* 絶対配置 */
   left: 94%; /* 左から220px */
   transform: translate(-50%, -50%);
   -webkit-transform: translate(-50%, -50%);
   -ms-transform: translate(-50%, -50%);
   top: 0;
 }
 table {
   border-collapse: collapse;
  }
 .select_wrapper2{
    width: 100%;
 }
 .form-table{
   border-spacing: 0;
   width: 100%;
 }
 .form-table tr{
    display: block;
    width: 100%;
 }
 .form-table tr:first-child{
   margin-top: 40px;
 }
 .form-table th,
  .form-table td {
     position: static;
     display: table-cell;
  }
  .form-table th {
    font-size: 1.6rem;
    justify-content: space-between;
    align-items: center;
    text-align: left;
    font-weight: normal;
    font-size: 1.8rem;
    padding:  10px 0;
    width: 100px;
  } 
  .form-table td{
   padding: 10px 0 10px 20px;
  }
  button.button {
   display: block;
   margin: 35px auto 0;
   background-color: #bbbbbb;
   color: #fff;
   padding: 10px 100px;
   font-size:1.8rem;
   border: none;
   box-shadow: 2px 2px 0px 0px rgba(248, 226, 204);
   border-radius: 4px;
  }
  .birthday_wrapper{
    display: flex;
  }
  select {
   /* styling */
   width: 100%;
   background-color: white;
   border: 1px solid #bbbbbb;
   border-radius: 4px;
   display: inline-block;
   font: inherit;
   line-height: 1.5em;
   padding: 0.5em .5em 0.5em 1em;
   /* reset */
   margin: 0;      
   -webkit-box-sizing: border-box;
   -moz-box-sizing: border-box;
   box-sizing: border-box;
   -webkit-appearance: none;
   -moz-appearance: none;
   color: #000000;
   font-size: 1.5rem;
  }
  select::-ms-expand {
    display: none;
    }
  .select_wrapper,.select_wrapper2,.select_wrapper3{
    position: relative;
  }
  .select_wrapper2,.select_wrapper3{
    width: 200px;
  }
  .select_wrapper::after,.select_wrapper2::after, .select_wrapper3::after{
    content:"▾";
    font-size: 1.8rem;
    color: #bbbbbb;
    position: absolute;
    top: 6px;
    padding-left: 10px;
    color: #bbbbbb;
    border-left: 1px solid #bbbbbb;
    pointer-events: none;/*　←★これ*/
    vertical-align: middle;
    display: inline-flex;
  }
  .select_wrapper::after,.select_wrapper2::after,.select_wrapper3::after{
    right: 10px;
  }
  select:-moz-focusring {
   color: transparent;
   text-shadow: 0 0 0 #000;
  }
  .pln_flx{
     display: flex;
  }
  /* チェックボックス */
.check_container{
   margin-left: -5px;
   margin-top: 15px;
}
input[type=checkbox] {
   display: none;
}
.checkbox01 {
   box-sizing: border-box;
   cursor: pointer;
   display: inline-block;
   padding: 10px 35px;
   position: relative;
   width: auto;
   font-size: 1.8rem;
   font-weight: 400;
}
.checkbox01::before {
   background: #fff;
   border: 1px solid #c7c7c7;
   content: '';
   display: block;
   height: 20px;
   left: 5px;
   margin-top: -8px;
   position: absolute;
   top: 48%;
   width: 20px;
}
.checkbox01::after {
   border-right: 3px solid #5abf00;
   border-bottom: 3px solid #5abf00;
   content: '';
   display: block;
   height: 16px;
   left: 12px;
   margin-top: -9px;
   opacity: 0;
   position: absolute;
   top: 50%;
   transform: rotate(36deg);
   width: 6px;
}
input[type=checkbox]:checked + .checkbox01::after {
   opacity: 1;
}
hr {
   height: 6px;
   background: linear-gradient(-40deg,transparent 30%,#f1f1f1 30%, #f1f1f1 60%,transparent 60%);
   background-size: 12px 6px;
   border: none;
 }
 /* ページネーション */
 .pager{
    margin-bottom:350px;
    text-align: center;
 }
.pager .pagination li {
   display: inline;
   margin: 0 2px;
   padding: 0;
   display: inline-block;
   width: 30px;
   height: 30px;
   text-align: center;
   position: relative;
   border-radius: 10px;
 }
 .pager .pagination li a{
   vertical-align: middle;
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   text-align: center;
   display:table;
   text-decoration: none;
   -webkit-transition: all 0.3s ease;
   -moz-transition: all 0.3s ease;
   -o-transition: all 0.3s ease;
   transition: all  0.3s ease;
   color: #000000;
 }
 .pager .pagination li.page_link span a , .pager .pagination li a span{
   display:table-cell;
   vertical-align:middle;
   margin-top: 5px;
 }
 .pager .pagination li a.active{
   color: #fff;
   background: #61a920;
   border-radius: 50%;
 }
.search_result{
   margin-top: 40px;
}
 .search_title{
    text-align: center;
    font-size: 2.2rem;
    font-weight: 500;
 }
 .search_container{
    width: 96%;
    margin: 40px auto 20px;
    width: 100%;
   display: flex;
   justify-content: space-between;
   flex-wrap: wrap;
 }
 .sec34_box{
   width: 48%;
   border: 1px solid #e7e7e7;
   border-radius:5px;
   margin-bottom: 20px;
   color: #000000;
   text-decoration: none;
}
a.sec34_box{
   text-decoration: none;
}
.sec34_inner{
   padding: 10px 10px 20px;
}
.sec34_inner h2, .sec34_inner p{
   text-overflow: ellipsis;
   white-space: nowrap;
   overflow: hidden;
}
.sec34_inner h2{
   font-size: 1.6rem;
   letter-spacing: 0.1em;
   margin-bottom: 5px;
}
.sec34_inner p{
   font-size: 1.4rem;
}
.sec34_box img{
   border-radius:5px 5px 0 0;
   width: 100%;
   height: 104px;
   object-fit: cover;
   font-family: 'object-fit: cover;object-position:center'; /*IE対策*/
}
/* # =================================================================
   # 【タブレット縦 /スマートフォン横】
   # ================================================================= */
@media screen and (min-width: 481px){
.sp{display: none;}
.pc{display: block;}
.br-sp{display: none;}
/* ヘッダー */
.header_r{
   right: 9%;
}
/* メニュー */
.sp-menu{
   padding-top: 52px;
}
.i_sp img, .h_sp img{
   width: 300px;
}
.menu_sp_banner{
   width: 65%;
}
.menu_sp_banner img{
   width: 100%;
}
/* コンテンツ */
.sec34_box{
   width: 30%;
   margin-bottom: 30px;
}
.sec34_box img{
   height: 130px;
   border-radius: 8px 8px 0 0;
}
.sec34_inner{
   padding: 10px 15px 20px;
}
}

/* # =================================================================
   # 【デスクトップ/タブレット横】
   # ================================================================= */
@media screen and (min-width: 769px){
.pc-only{display: block;}
.ipad{display: none;}
.sec_wrapper{
   display: block;
   max-width: 1000px;
   padding: 80px 0 30px;
}
.menu-trigger{
   display: none;
}
.trial{
   border: 2px solid #fff;
   border-radius: 6px;
   padding: 5px 10px;
}
img.cart_pc{
   display: block;
   width: 242px;
   height:60px;
}
.cart_inner[data-badge]::after{
   left: 212px;
   top: 15px;
}
/* ドロワーメニュー */
.menu-btn{
   display: none;
}

/* サイドバー */
.sec_left{
   display: block;
   width: 270px;
}
.side_container{
   width: 240px;
   
}
.side_img{
   display: block;
   margin-bottom: 10px;
}
.side_li{
   margin-bottom: 50px;
   border-radius: 5px;
   background: #f4f4f4;
}
.side_li li{
   list-style: none;
}
.side_li li a{
   position: relative;
   display: block;
   padding: 13px 9%;
   border-bottom: 1px solid #fff;
   font-size: 1.8rem;
   background: #f4f4f4;
   text-decoration: none;
}
.side_li li a::after{
   content:"";
   display: block;
   background-image: url( '../img/index_img/arrow.png'); 
   position: absolute;
   font-size: 3.2rem;
   top: calc(50% - 3.5px);
   right: 18px;
   height: 13px;
   width: 10px;
}
.side_li li a:hover{
   opacity: 0.3;
}
.side_li a{
   color: #000000;
}
.banner{
   margin-bottom: 20px;
}
.banner:hover{
   opacity: 0.8;
}
/* コンテンツ */
.container{
   display: flex;
   width: 1000px;
   margin: 100px auto;
}
.sec_left{
   margin-bottom: 300px;
}
.sec_right {
   width: 730px;
   margin: 0 auto 50px;
}
.search_container{
   width: 100%;
   margin: 40px auto 0;
}
.search_bar_container{
   margin-top: 0;
}
form{
   margin-top: 30px;
}
input[type="search"]{
   width: 570px;
   left: 42%;
   height: 50px;
}
input[type="image"]{
   width: 50px;
   height: 50px;
   left: 84%;
}
 .pagination ul li{
   width: 37px;
   height: 37px;
   font-size: 1.8rem;
 }
 .pagination ul li a, .pagination ul li span{
   top: 2px;
   left: 14px;
 }
 .pagination ul li:first-child, .pagination ul li:last-child{
   margin-top: 7px;
   color: #ffffff;
 }
}
