@charset "utf-8";

/* style
   ========================================================================== */
html {
  height: 100%;
  font-size: 16px;
  font-family: "Noto Sans Japanese", "IBM Plex Sans JP", sans-serif;
}

body * {
  box-sizing: border-box;
  background-color: #fff;
  line-height: 1.3;
  vertical-align: bottom;
}

* a:hover {
  transition-duration: 0.2s;
}

header a:hover {
  transition-duration: 0s;
}

.pc {
  display: block;
}

.sp {
  display: none !important;
}

img {
  max-width: 100%;
}

h3 {
  text-align: center;
}

h3 img {
  width: auto;
  max-width: 95%;
  margin: 0 auto;
}

/*section{padding-bottom:50px!important;}*/

.w_1200 {
  width: 95%;
  max-width: 1200px;
  margin: 0 auto;
}

.flex {
  display: flex;
}

.nolink {
  pointer-events: none;
}

.shop_logo {
  /* width: 200px; */
  max-width: 100%;
  text-align: center;
}

.shop_logo img {
  width: 80%;
  margin: 0 auto;
}

/*余白調整*/
.pt20 {
  padding-top: 20px;
}

.pb20 {
  padding-bottom: 20px;
}

.pt50 {
  padding-top: 50px;
}

.pb50 {
  padding-bottom: 50px !important;
}

/*ナビ*/
/*ancor = メニューの高さ-カテゴリ上の余白の合計*/
.anchor {
  display: block;
  padding-top: 93px !important;
  margin-top: -93px !important;
  position: relative;
}

/*ページ内リンク調整*/

.input-hidden {
  display: none;
}

.hamburger-wrap {
  position: sticky;
  top: 0;
  z-index: 999;
  width: 100%;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fff;
  /*height:80px;*/
}

.hamburger-demo-menubox {
  width: 1000px;
  max-width: 100%;
  position: relative;
}

.hamburger-demo-menubox ul.hamburger-demo-menulist {
  display: flex;
  flex-wrap: wrap;
  /*justify-content: center;*/
}

.hamburger-demo-menubox ul li {
  width: 20%;
}

.hamburger-demo-menubox ul li,
.hamburger-demo-menubox ul li a.nav01_menu {
  box-sizing: border-box;
  display: block;
  text-align: center;
  font-weight: 700;
  color: #000;
  background: #fff;
  font-size: 1.4rem;
  font-size: clamp(1rem, 1.86vw, 1.4rem);
}

.hamburger-demo-menubox ul li a.nav01_menu {
  padding: 15px 0px;
  cursor: pointer
}

.hamburger-demo-menubox ul li span {
  font-size: 70%;
}

.hamburger-demo-menubox ul li.nav01 .nav01_menu {
  color: #ea4666;
  border-bottom: 5px solid #ea4666;
  background: #fff;
}

.hamburger-demo-menubox ul li.nav01:hover .nav01_menu {
  background: #ea4666;
  color: #fff;
}

.hamburger-demo-menubox ul li.nav02 a {
  color: #21acb0;
  border-bottom: 5px solid #21acb0;
}

.hamburger-demo-menubox ul li.nav02:hover a {
  background: #21acb0;
}

.hamburger-demo-menubox ul li.nav03 a {
  color: #bc66af;
  border-bottom: 5px solid #bc66af;
}

.hamburger-demo-menubox ul li.nav03:hover a {
  background: #bc66af;
}

.hamburger-demo-menubox ul li.nav04 a {
  color: #2dbe07;
  border-bottom: 5px solid #2dbe07;
}

.hamburger-demo-menubox ul li.nav04:hover a {
  background: #2dbe07;
}

.hamburger-demo-menubox ul li.nav05 a {
  color: #f48813;
  border-bottom: 5px solid #f48813;
  background: #fff url(../img/new_window_o.png) no-repeat;
  background-position: right 5px center;
  padding-right: 0.7em;
}

.hamburger-demo-menubox ul li.nav05:hover a {
  background: #f48813 url(../img/new_window_w.png) no-repeat;
  background-position: right 5px center;
}

.hamburger-demo-menubox ul li.pc {
  display: block !important;
  text-align: center;
}

.hamburger-demo-menubox ul li>a {
  width: 100%;
  display: block !important;
  /*height:80px; padding-top:12.5%;*/
  padding: 15px 0px;
}

.hamburger-demo-menubox ul li>a:link {
  display: block;
}

.hamburger-demo-menubox ul li:hover a {
  color: #fff;
  opacity: 1;
}

/*サブメニュー*/
.hamburger-demo-menubox ul li.nav01 ul {
  width: 30%;
  position: absolute;
  left: 0;
  top: -400%;
  transition: all 0.2s;
  z-index: -99;
  /*display:none;*/
}

.hamburger-demo-menubox ul li.nav01 li {
  width: 100%;
  background: #fff;
  text-align: left;
}

.hamburger-demo-menubox ul li.nav01 li a {
  border-bottom: none;
  background: #fff !important;
  color: #ea4666 !important;
  border-top: 1px solid #fff;
  font-size: clamp(0.9rem, 1.33vw, 1.1rem);
  padding-left: 10px;
}

.hamburger-demo-menubox ul li.nav01:hover ul {
  top: 100%;
}

.hamburger-demo-menubox ul li.nav01 li a:hover {
  background: #ea4666 !important;
  color: #fff !important;
}

.hamburger-demo-menubox ul li.nav01 li.new_window a {
  background: #fff url(../img/new_window_p.png) no-repeat !important;
  background-position: right 5px center !important;
}

.hamburger-demo-menubox ul li.nav01 li.new_window a:hover {
  background: #ea4666 url(../img/new_window_w.png) no-repeat !important;
  background-position: right 5px center !important;
}

.sub_menu li a {
  font-size: 0.5rem;
}

.sub_menu li a span {
  font-size: 100%;
  display: inline-block !important;
}

/*メインビジュアル*/
.main_visual {
  width: 100%;
  max-width: 1300px;
  margin: 0 auto;
  position: relative;
}

.main_visual_wrap {
  background: #1e1210;
}

.catalog img {
  width: auto;
  max-width: 33%;
  position: absolute;
  bottom: 3%;
  left: 7%;
}

/*トップ*/
.top {
  background: url(../img/top_bg.png) no-repeat bottom center;
  background-size: cover;
  text-align: right;
  padding-top: 40px;
}

.top .flex {
  position: relative;
}

.top figure {
  max-width: 65%;
}

.top_txt p {
  line-height: 1.7;
  text-shadow:
    1px 1px 0 #fff,
    -1px 1px 0 #fff,
    -1px -1px 0 #fff,
    1px -1px 0 #fff;
  /*font-size: 2.2rem;*/
}

.top_txt {
  text-align: center;
  position: absolute;
  right: 5%;
  top: 50%;
  transform: translateY(-50%);
  /*font-size:1.2rem;*/
  padding-bottom: 20px;
  font-size: clamp(0.9rem, 1.6vw, 1.4rem);
  /**/
}

p.top_txt_ttl {
  line-height: 1.3;
  font-size: 200%;
  margin-bottom: 0.5em;
  font-weight: 600;
  letter-spacing: -0.03em;
}

/**/
.se01 {
  background: #fcee21;
  text-align: center;
  padding: 70px 0 20px;
}

.se01_container {
  background: #fff;
  width: 90%;
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 48px 48px 48px;
  border-radius: 80px;
}

.se01_ttl {
  background: #000;
  color: #fff;
  border-radius: 50px;
  display: inline-block;
  padding: 15px 50px 17px;
  position: relative;
  top: -1em;
  font-size: clamp(1.5rem, 2.4vw, 1.8rem);
}

.se01_flex {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  padding: 15px;
  margin-bottom: 15px;
}

.se01_flex .flex {
  gap: 10px;
  justify-content: space-between;
  width: 80%;
}

.se01_flex2 {
  display: flex;
}

.se01_area1 {
  background: #f29d79;
  border-radius: 15px;
}

.se01_area2 {
  background: #9cd3bf;
  border-radius: 15px;
}

.se01_area3 {
  background: #8bc9ef;
  border-radius: 15px 0 0 15px;
  width: 35%;
  display: flex;
  gap: 10px;
  justify-content: space-between;
  padding: 15px;
}

.se01_area4 {
  background: #cbadd1;
  border-radius: 0 15px 15px 0;
  flex: 1;
  display: flex;
  gap: 10px;
  justify-content: space-between;
  padding: 15px;
}

.se01_area4 .flex {
  gap: 10px;
  width: 80%;
}

.se01_area_box {
  background: #fff;
  padding: 10px 5px;
  border-radius: 10px;
}

.se01_area_box .ttl {
  font-size: clamp(1.3rem, 2vw, 1.6rem);
}

.se01_area_box .ttl span {
  font-size: 65%;
  display: block;
}

.se01_area_box .font_s {
  font-size: clamp(1.1rem, 1.6vw, 1.3rem);
}

.se01_area_box .font_s span {
  letter-spacing: -0.2rem;
  font-size: 100%;
  display: inline;
}

.se01_area1 .se01_area_box .ttl {
  color: #d64407;
}

.se01_area2 .se01_area_box .ttl {
  color: #1ca774;
}

.se01_area3 .se01_area_box .ttl {
  color: #1b68b6;
}

.se01_area4 .se01_area_box .ttl {
  color: #8a4f94;
}

.se01_area_box .txt {
  text-align: left;
  line-height: 1.3;
  margin-top: 10px;
  font-size: clamp(0.85rem, 1.2vw, 1rem);
}

.se01_area_box .txt span {
  font-size: 80%;
}

.se01_area1 .se01_area_box,
.se01_area2 .se01_area_box {
  width: 33%;
}

.se01_area3 .se01_area_box {
  width: 65%;
}

.se01_area4 .se01_area_box {
  width: 50%;
}

.se01_area_ttl {
  flex: 1;
}

.se01_area_ttl img {
  margin: 0 auto;
}

/*ナビ②*/
.nav_area {
  padding: 50px 0;
  text-align: center;
  background: #fef6d2;
}

.item_nav ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 15px;
  padding-top: 30px;
}

.item_nav ul li {
  width: calc(100%/4 - 11.25px);
}

.nav_area a img {
  display: inline-block;
  width: auto;
  max-width: 100%;
}

.nav_area a.bnr img {
  max-width: 85%;
}

/*
.item_nav ul{display:flex; justify-content:center; flex-wrap:wrap; gap:12px; font-size:clamp(1rem,2vw,1.5rem); padding-top:30px; text-align:left;}
.item_nav ul li.small{font-size:clamp(0.5rem,1.86vw,1.5rem); letter-spacing:-0.05em;}
.item_nav ul li{background:#e43f0d; width:calc(100%/4 - 9px);  border-radius:10px; }
.item_nav ul li a{display:block; width:100%; height:80px; color:#fff; padding:0 7%; position:relative;}
.item_nav ul li a p{position: absolute; top:50%; transform: translateY(-50%)}
.item_nav ul li a::before{
width:25px;
height:25px;
content: "　";
position: absolute;
top:calc(50% - 13px);
right:15px;
background:#fff;
border-radius:50%;
}
.item_nav ul li a::after{
width: 8px;
height: 8px;
content: "　";
position: absolute;
display: block;
top:calc(50% - 7px);
right:22px;
border-top: 2px solid #e43f0d;
border-right: 2px solid #e43f0d;
-webkit-transform: rotate(135deg);
transform: rotate(135deg);
}
.item_nav ul li.new_window a{background:url(../img/new_window_w.png) no-repeat; background-position:right calc(10% + 25px) center;}
.item_nav ul li.new_window a::after{-webkit-transform: rotate(45deg); transform: rotate(45deg); top:calc(50% - 5px);
right:25px;}
*/

/*商品*/
#cate01 {
  z-index: 5;
  padding-bottom: 150px;
  margin-bottom: 20px;
}

#cate01 h3 {
  background: url(../img/kv-mc_bg.png) center no-repeat;
  background-size: cover;
  padding-top: 20px;
}

#cate01 .cate_bg {
  text-align: center;
  padding: 0px 0 0px;
  overflow: hidden;
  box-sizing: border-box;
}

#cate01 .cate_bg p img {
  max-width: 65%;
}

#cate01 .cate01_main_img {
  margin-top: -165px;
}

#cate02 {
  margin-bottom: 30px;
  z-index: 4;
}

#cate02 h3 {
  background: url(../img/kv-ssf_bg.png) center no-repeat;
  background-size: cover;
  padding: 30px 0 50px;
}

#cate03 {
  margin-bottom: 30px;
  z-index: 3;
}

#cate03 h3 {
  background: url(../img/kv-kuru_bg.png) center no-repeat;
  background-size: cover;
  padding: 0px 0 0px;
}

#cate04 {
  margin-bottom: 30px;
  z-index: 2;
}

#cate04 h3 {
  background: url(../img/kv-tenshi_bg.png) center no-repeat #00a0e9;
  background-size: cover;
  /* border-top:10px solid #00a0e9;*/
  padding: 0px 0 100px;
}

#cate04 .cate_bg {
  background: #eff8fd;
  text-align: center;
  padding: 30px 0;
}

#cate04 .cate_bg img {
  max-width: 95%;
  margin: 0 auto;
}

#cate05 {
  display: none;
  z-index: 1;
}


#cate05 h3 {
  background: #ece8dc;
  /*background:#dedaca;*/
}

.item_flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 40px;
}

.item_box2 .item_flex {
  gap: 20px;
}

.item_box,
.item_box2 {
  padding-top: 50px;
}

.item_box .item_flex>figure {
  width: 57%;
}

.item_box2 .item_flex>figure {
  width: auto;
  max-width: 35%;
}

.item_btn_flex {
  display: flex;
  gap: 3.5%;
  flex-wrap: wrap;
  flex: 1;
  /*width:40%;*/
  height: 100%;
}

.item_btn_flex div {
  background: #fff;
  border-radius: 10px;
  width: 31%;
  border: 1px solid #bbb;
  box-shadow: 2px 4px 0px 0px #bbb;
  padding: 10px 0;
  margin-bottom: 15px;
  position: relative;
  top: 0;
  /*display:flex; flex-direction:column; justify-content:center;*/
}

/* .item_btn_flex a:hover {
  opacity: 1;
  top: 4px;
  box-shadow: 0 0 #bbb;
} */

.item_btn_flex div img {
  border-radius: 10px;
  padding: 0 3px;
}

.item_btn_flex div p {
  text-align: center;
  color: #000;
  padding: 0 5px;
  padding-top: 10px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  font-size: 0.8rem;
  letter-spacing: -0.05rem;
}

.item_box2 .item_btn_flex {
  justify-content: center;
  gap: 2%;
  margin-top: 25px;
}

.item_box2 .box {
  flex: 1;
}

.box .item_btn_flex a {
  width: 20%;
}

.item_catch {
  display: inline-block;
  padding: 3px 8px;
  font-size: clamp(1.2rem, 2vw, 1.5rem);
  margin-bottom: 10px;
}

.item_catch span.red {
  color: #d5423c;
  display: inline;
}

#cate01 .item_catch,
#cate05 .item_catch {
  background: linear-gradient(#fff 60%, #f3f6d0 40%);
}

#cate02 .item_catch {
  background: linear-gradient(#fff 60%, #eaeeff 40%);
}

#cate03 .item_catch {
  background: linear-gradient(#fff 60%, #ddecf7 40%);
}

#cate04 .item_catch {
  background: linear-gradient(#fff 60%, #dbf0fc 40%);
}

.item_area {
  padding-top: 30px;
}

.item_area .item_flex {
  justify-content: space-between;
  gap: 30px;
  align-items: flex-start;
}

.item_name {
  display: flex;
  align-items: center;
  font-size: clamp(0.9rem, 1.46vw, 1.1rem);
  gap: 10px;
  padding-bottom: 20px;
}

.item_name span {
  display: block;
  font-size: 200%;
  letter-spacing: -0.05em;
}

.item_name .item_logo {
  gap: 10px;
  align-items: flex-end;
}

.item_name .item_logo img {
  max-height: 75px;
}

.item_name .item_logo2 img {
  max-height: 55px;
}

.item_area_left {
  width: 46%;
}

.item_area_box1,
.item_area_box2 {
  align-items: center;
  justify-content: space-between;
  border-radius: 10px;
}

.item_area_box1 {
  border: 2px solid #005bac;
  background: #005bac;
  color: #fff;
  margin-bottom: 10px;
}

.item_area_box2 {
  border: 2px solid #000;
  background: #000;
  color: #fff;
}

.item_area_txt {
  background: #fff;
  width: 80%;
  border-radius: 0 8px 8px 0;
  font-size: clamp(0.55rem, 0.8vw, 0.5rem) !important;
}

.item_area_txt p {
  padding: 10px;
}

.item_area_txt p span.bold {
  font-weight: 600;
}

.item_area_txt p span.font_s {
  font-size: 80%;
}

.item_area_box1 .item_area_txt {
  color: #000;
}

.item_area_box1 .item_area_txt .blue {
  color: #005bac;
}

.item_area_box2 .item_area_txt {
  color: #000;
}

.item_area_ttl {
  flex-grow: 1;
  text-align: center;
}

.item_area_right {
  flex: 1;
}

.item_sale {
  margin-top: -3.5%;
}

#cate01 .item_sale {
  margin-top: 0;
}

.item_area_right .flex {
  margin-top: 20px;
}

.item_area_right .left {
  padding: 0 15px;
  background: #000;
  color: #fff;
  font-size: 1rem;
}

.item_area_right .left span {
  position: relative;
  top: calc(50% - 0.5rem);
}

.item_area_right .right {
  padding: 10px 15px;
  background: #ededed;
  flex: 1;
  font-size: 0.9rem;
}

.item_price1 {
  font-size: clamp(0.8rem, 1.33vw, 1rem);
}

.item_price2 {
  font-size: clamp(1rem, 2vw, 1.5rem);
  position: relative;
  top: -20px;
}

p.item_price1,
.item_price1 span {
  font-weight: 500;
}

.item_price1>span {
  margin-left: 5px;
}

.item_price1 .hontai {
  font-size: 180%;
  font-weight: 600;
  position: relative;
  top: 0.1em;
  margin-right: 5px;
}

.item_price1 .tax {
  font-size: 130%;
  position: relative;
  top: 0.1em;
}

p.item_price2,
.item_price2 span {
  font-weight: 600;
  color: #cc0000;
}

.item_price2 .hontai {
  font-size: 350%;
  position: relative;
  top: 0.1em;
  margin-right: 5px;
}

.item_price2 .tax {
  font-size: 150%;
  position: relative;
  top: 0.08em;
}

.item_price2 .yen {
  font-size: 170%;
  position: relative;
  top: 0.15em;
}

/*一覧ボタン*/

.btn_absolute {
  position: absolute;
  left: 0;
  bottom: 30px;
  width: 100%;
}

.btn_cate {
  margin: 40px auto 0;
  width: 100%;
  max-width: 560px;
  font-size: clamp(1.5rem, 2.66vw, 1.7rem);
}

.btn_cate a {
  text-align: center;
  display: block;
  background: #e43f0d;
  color: #fff;
  border-radius: 50px;
  padding: 15px 0;
  position: relative;
  top: 0;
  box-shadow: 2px 4px 0px 0px #932b0b;
  font-size: 80%;
}

.btn_cate a:hover {
  opacity: 1;
  top: 4px;
  box-shadow: 0 0 #932b0b;
}

.btn_cate2 a {
  font-size: clamp(1.3rem, 2vw, 1.5rem);
}

.btn_cate2 .dli-caret-circle-fill-right {
  left: 1em !important;
}

.dli-caret-circle-fill-right {
  display: inline-block;
  vertical-align: middle;
  color: #fff;
  line-height: 1;
  position: relative;
  left: 2em;
  top: -0.09em;
  width: 1.1em;
  height: 1.1em;
  border: 0.075em solid currentColor;
  background: currentColor;
  border-radius: 50%;
  box-sizing: content-box;
}

.dli-caret-circle-fill-right::before {
  content: '';
  color: #e43f0d;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: transparent;
  /*border-width: 0.18em 0.31177em;*/
  border-width: 0.36em 0.5em;
  border-left-color: currentColor;
  border-right: 0;
  transform: translateX(15%);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}

#spec {
  text-align: center;
  font-size: 2rem;
  padding-bottom: 50px;
  margin: 0 auto;
}

#spec span {
  display: block;
  font-size: 70%;
}

.spec_box img {
  text-align: center;
  margin: 0 auto;
}

#spec .wrap {
  /*border-top:5px solid #000;*/
  padding-top: 50px;
}

/*フッター*/
footer {
  width: 100%;
  display: block;
  background: #000 !important;
  padding: 30px !important;
  text-align: center;
  font-size: 0.8rem !important;
}

footer a {
  color: #fff;
}

/*フッター固定*/
.wrapper {
  display: flex;
  flex-direction: column;
  height: 100vh;
}

.hamburger_area {
  flex: 1;
}

/*ページトップへ*/
#scrollUp {
  display: block;
  outline: none;
  padding: 0;
  text-decoration: none;
  text-align: center;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  line-height: 1;
  /*background-image: url(../img/page_top.png);*/
  background-repeat: no-repeat;
  background-size: contain;
  z-index: 98;
  font-size: 10px;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  height: 80px;
  width: 80px;
  position: fixed;
  right: 20px;
  bottom: 30px;
  background: #888888;
  border-radius: 50%;
}

#scrollUp:hover {
  opacity: 0.8;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  text-decoration: none;
  cursor: pointer;
}

.pagetop__arrow {
  height: 15px;
  width: 15px;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  transform: translateY(20%) rotate(-45deg);
  position: absolute;
  top: 30%;
  left: calc(50% - 8px);
}

#scrollUp span {
  color: #fff;
  font-size: 1.1rem;
  position: absolute;
  bottom: 15%;
  right: 72%;
  letter-spacing: 0.05em;
}

@media screen and (max-width: 768px) {
  #scrollUp {
    width: 12.5vw;
    height: 12.5vw;
    padding-top: 10%;
    bottom: 60px;
    right: 2vw;
  }

  #scrollUp span {
    font-size: .8rem;
    right: calc(50% + 13px);
    bottom: 20%;
  }

  .pagetop__arrow {
    top: 20%;
  }
}

@media (orientation: landscape) and (max-height: 800px) {
  #scrollUp {
    bottom: 10px;
  }
}

/*Q&A*/
.w_980 {
  width: 980px;
  max-width: 95%;
  margin: 0 auto;
}

#q-a {
  padding: 50px 0;
  font-size: 1rem;
  font-weight: 500;
}

#q-a p {
  margin-bottom: 10px;
  line-height: 1.5;
}

#q-a h1 {
  font-size: 2rem;
  text-align: center;
  margin-bottom: 30px;
  letter-spacing: 0.3rem;
}

#q-a h2 {
  border-bottom: 2px solid #000;
  font-size: 1.3rem;
  margin-bottom: 20px;
  padding-bottom: 5px;
  letter-spacing: 0.1rem;
}

#q-a .qa_list {
  margin-bottom: 100px !important;
  border: 5px solid #fcc !important;
}

#q-a .qa_list li {
  margin-bottom: 15px;
  font-weight: 700;
}

#q-a .qa_list li a {
  color: #000;
}

#q-a .qa_list li a:hover {
  text-decoration: underline;
}

#q-a dl {
  background: #fff;
  padding: 15px;
  border: 1px solid #ccc;
}

#q-a dt {
  font-weight: 700;
  float: left;
  clear: both;
  line-height: 1.7;
}

#q-a dd::before {
  content: "・・・";
}

#q-a dd {
  float: left;
  margin-bottom: 10px;
}

.clear {
  clear: both;
}

#q-a .qa_box {
  background: #fff8fa;
  border: 1px solid #fcc;
  border-radius: 5px;
  margin-bottom: 60px;
  padding: 30px 25px 20px;
}

#q-a .anchor {
  padding-top: 120px !important;
  margin-top: -120px !important;
}

/*ページ内リンク調整*/
#q-a .bold {
  font-weight: 600;
  font-size: 110%;
  margin-bottom: 20px;
}

#q-a .font_s {
  font-size: 80%;
}

@media screen and (max-width: 768px) {
  #q-a {
    font-size: clamp(0.9rem, 3.2vw, 1.1rem);
  }

  #q-a dt {
    font-size: 110%;
    clear: both;
  }

  #q-a dd::before {
    content: " ";
  }

  #q-a dd {
    text-indent: clamp(0.9rem, 3.2vw, 1.1rem);
    clear: both;
  }

  #q-a .qa_box {
    margin-bottom: 30px;
    padding: 20px 15px 10px;
  }
}

/*Google Font*/
.zen-maru-gothic-300 {
  font-family: "Zen Maru Gothic", serif;
  font-weight: 300;
  font-style: normal;
}

.zen-maru-gothic-400 {
  font-family: "Zen Maru Gothic", serif;
  font-weight: 400;
  font-style: normal;
}

.zen-maru-gothic-500,
.item_area_ttl

/*,.btn_cate*/
  {
  font-family: "Zen Maru Gothic", serif;
  font-weight: 500;
  font-style: normal;
}

.zen-maru-gothic-700,
.se01_area_box .ttl,
.item_name,
.item_catch {
  font-family: "Zen Maru Gothic", serif;
  font-weight: 700;
  font-style: normal;
}

/*数字用*/
.oswald-500 {
  font-family: "Oswald", serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
}

.lato-400 {
  font-family: "Lato", serif;
  font-weight: 400;
  font-style: normal;
}

.lato-700 {
  font-family: "Lato", serif;
  font-weight: 700;
  font-style: normal;
}

.lato-900 {
  font-family: "Lato", serif;
  font-weight: 900;
  font-style: normal;
}

/*========================================================================
　タブレット表示
========================================================================== */
@media screen and (max-width: 960px) {
  .item_box .item_flex>figure {
    width: 50%;
  }
}

/*========================================================================
　スマホ表示
========================================================================== */

@media screen and (max-width: 768px) {

  /* リセット */
  .sp {
    display: block !important;
  }

  .pc {
    display: none !important;
  }

  .anchor {
    display: block;
    padding-top: 55.25px !important;
    margin-top: -55.25px !important;
  }

  /*ページ内リンク調整*/
  .hamburger-demo-menubox ul li {
    width: 100%;
    text-align: left;
    border-left: none;
    border-bottom: none;
  }

  h3 {
    background: none;
  }

  h3 img {
    max-width: 100%;
  }

  /* 全体調整CSS */
  .sp_header {
    position: fixed;
    top: 0;
    z-index: 999;
    width: 100%;
    background: #ccc;
    display: flex;
    justify-content: space-between;
  }

  .shop_logo {
    width: 100%;
    max-width: 100%;
    padding: 15px 15px 10px 0;
    background: #fff;
  }

  .shop_logo img {
    width: auto;
    max-width: 24%;
    margin: 0 auto;
  }

  .catalog img {
    max-width: 90%;
    position: absolute;
    bottom: 2%;
    left: 5%;
  }

  .pt10_sp {
    padding-top: 10px !important;
  }

  .souki {
    max-width: 90%;
    position: absolute;
    bottom: 18%;
    left: 5%;
  }

  /*トップ*/
  .top {
    background: url(../img/top_sp.jpg) no-repeat bottom left;
    background-size: 100% auto;
    padding-top: 0px;
  }

  .top .w_1200 {
    max-width: 100%;
  }

  .top .flex {
    display: block;
  }

  .top_txt p {
    line-height: 1.8;
    font-weight: 500;
    padding-left: 55%;
    font-size: 2.5vw;
  }

  .top_txt {
    text-align: left;
    position: relative;
    /* padding-left:5%;*/
    padding-bottom: 10%;
    transform: translateY(0);
    font-size: clamp(0.7rem, 2.88vw, 1.3rem);
    right: 0;
  }

  p.top_txt_ttl {
    text-align: center;
    line-height: 1.3;
    font-weight: 600;
    font-size: 200%;
    margin-bottom: 0;
    padding: 0.5em 0 1.5em;
    letter-spacing: -0.03em;
    padding-left: 0;
  }

  /**/
  .se01 {
    padding-top: 50px;
  }

  .se01_container {
    width: 94%;
    padding: 0 10px 20px 10px;
    border-radius: 10px;
  }

  .se01_ttl {
    padding: 13px 40px 15px;
    position: relative;
    top: -1.2em;
    font-size: clamp(0.9rem, 3.84vw, 1.5rem);
  }

  .se01_ttl_img img {
    max-width: 85%;
  }

  .se01_flex {
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }

  .se01_flex .flex {
    width: 100%;
    gap: 8px;
  }

  .se01_area_box {
    padding: 10px 5px;
    border-radius: 5px;
  }

  .se01_area1 .se01_area_ttl,
  .se01_area2 .se01_area_ttl {
    max-width: 80%;
  }

  .se01_area1,
  .se01_area2,
  .se01_area3,
  .se01_area4 {
    padding: 10px;
  }

  .se01_area3,
  .se01_area4 {
    flex-direction: column;
  }

  .se01_area3 .se01_area_box,
  .se01_area4 .se01_area_box {
    width: 100%;
  }

  .se01_area3 .se01_area_ttl {
    max-width: 100%;
  }

  .se01_area4 .flex {
    width: 100%;
    flex-grow: 1;
  }

  .se01_area4 .se01_area_ttl {
    flex: 0;
  }

  .se01_area4 .se01_area_ttl img {
    max-height: 65px;
    max-width: 60%;
  }

  .se01_area_box .ttl {
    font-size: clamp(0.8rem, 3.2vw, 1.2rem);
  }

  .se01_area_box .txt {
    font-size: clamp(0.7rem, 2.56vw, 0.9rem);
  }

  /*ナビ②*/
  .nav_area {
    padding: 30px 0;
  }

  .item_nav ul {
    justify-content: flex-start;
    padding-top: 20px;
    gap: 7.5px;
  }

  .item_nav ul li {
    width: calc(100%/3 - 5px);
  }

  .nav_area a.bnr img {
    max-width: 100%;
  }

  /*
.item_nav ul{justify-content:flex-start; font-size:clamp(0.7rem,2.88vw,1rem); padding-top:20px; gap:7.5px;}
.item_nav ul li.small{font-size:clamp(0.5rem,2.56vw,1.5rem);}
.item_nav ul li{width:calc(100%/3 - 5px); border-radius:8px;}
.item_nav ul li a{height:60px; padding:0 5%;}
.item_nav ul li a::before{width:18px; height:18px; top:calc(50% - 9px); right:8px;}
.item_nav ul li a::after{width: 6px; height: 6px; top:calc(50% - 6px); right:13px;}
.item_nav ul li.new_window a{background-position:right 28px center; background-size:20px;}
.item_nav ul li.new_window a::after{right:14px; top:calc(50% - 4px);}


/*商品*/
  #cate01 {
    padding-bottom: 60px;
    margin-bottom: 0;
  }

  #cate01 h3 {
    background: none;
  }

  #cate02 h3 {
    padding: 0px 0 15px;
  }

  #cate03 h3 {
    padding-bottom: 20px;
    background-size: auto 100%;
  }

  #cate04 h3 {
    background-image: none;
    background-color: #54c8f1;
    padding: 0 0 20px;
  }

  #cate01 .cate_bg {
    padding-bottom: 30px;
  }

  #cate04 .cate_bg {
    background: #eff8fd;
    text-align: center;
    padding: 0;
  }

  #cate04 .cate_bg img {
    max-width: 100%;
  }

  .item_catch {
    display: inline;
    background: none;
    padding: 0;
    font-size: clamp(1rem, 4.48vw, 1.5rem);
  }

  .item_catch span {
    display: inline-block;
    padding: 0 5px;
    margin-bottom: 8px;
  }

  .item_catch span.red {
    padding: 0;
  }

  #cate01 .item_catch span,
  #cate05 .item_catch span {
    background: linear-gradient(#fff 60%, #f3f6d0 40%);
  }

  #cate02 .item_catch span {
    background: linear-gradient(#fff 60%, #eaeeff 40%);
  }

  #cate03 .item_catch span {
    background: linear-gradient(#fff 60%, #ddecf7 40%);
  }

  #cate04 .item_catch span {
    background: linear-gradient(#fff 60%, #dbf0fc 40%);
  }

  #spec .wrap {
    padding-top: 20px;
  }

  .item_flex {
    flex-direction: column;
    gap: 20px;
  }

  .item_box2 .item_flex {
    gap: 0;
  }

  .item_box .item_flex>figure,
  .item_box2 .item_flex>figure {
    width: 95%;
    max-width: 95%;
    margin-top: 10px;
  }

  .box .item_btn_flex a {
    width: 35%;
  }

  .item_btn_flex a p {
    font-size: clamp(0.65rem, 2.56vw, 8rem);
  }

  .item_box,
  .item_box2 {
    padding-top: 30px;
  }

  .item_name {
    flex-direction: column;
    align-items: flex-start;
    font-size: clamp(0.7rem, 2.88vw, 1rem);
    gap: 5px;
    padding-bottom: 10px;
  }

  .item_name .item_logo img {
    max-height: 60px;
  }

  .item_name .item_logo2 img {
    max-height: 40px;
  }

  .item_area {
    padding-top: 10px;
  }

  .item_area .item_flex {
    flex-direction: column;
  }

  .item_area_left {
    width: 100%;
  }

  .item_price1 {
    font-size: clamp(0.7rem, 2.56vw, 1.1rem);
    padding: 5px 2.5% 0;
  }

  .item_price2 {
    font-size: clamp(0.9rem, 3.52vw, 1.5rem);
    top: -15px;
    padding: 0 2.5%;
  }

  .item_area_txt {
    font-size: clamp(0.7rem, 2.56vw, 0.9rem) !important;
  }

  /*一覧ボタン*/
  .btn_cate {
    margin: 20px auto 0;
    width: 90%;
    font-size: clamp(1rem, 4.48vw, 1.5rem);
  }

  .btn_cate a {
    padding: 10px 0;
  }

  .btn_cate2 a {
    font-size: clamp(0.8rem, 3.52vw, 1.5rem);
  }

  .btn_absolute {
    bottom: 20px;
  }

  #spec {
    font-size: 1.8rem;
  }

  .spec_box {
    overflow-x: scroll;
    width: 100%;
    max-width: 100%;
  }

  .spec_box img {
    display: block;
    width: auto;
    height: 60vh;
    max-width: 7997px !important;
  }


  /*ハンバーガーメニュー*/
  .input-hidden {
    display: none;
  }

  /* inputを非表示 */
  .hamburger-wrap {
    width: 100%;
    max-width: 100%;
    position: relative;
    /*position:fixed;*/
    top: 0;
    margin: 0 auto;
    text-align: center;
    display: block;
  }

  .anchor {
    display: block;
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  /*ページ内リンク調整*/

  /* label */
  .hamburger-demo-switch {
    cursor: pointer;
    /*position: absolute;*/
    position: fixed;
    top: 10px;
    right: 10px;
    z-index: 9999;
    width: clamp(30px, 10vw, 60px);
    /* アイコン（クリック可能領域）の幅 */
    height: clamp(30px, 10vw, 60px);
    /* アイコン（クリック可能領域の）高さ */
    background-color: #fff;
    border: 1px solid #000;
    border-radius: 10px;
  }

  /* メニュー展開時にハンバーガーアイコンを固定 */
  #hamburger-demo1:checked~.hamburger-demo-switch {
    position: fixed;
    top: 0;
  }

  /* ハンバーガーアイコン */
  .hamburger-switch-line1,
  .hamburger-switch-line1:before,
  .hamburger-switch-line1:after {
    /*width: 25px;
height: 3px;*/
    width: 5vw;
    height: 0.5vw;
    background: #000;
    /* ハンバーガーアイコンの色 */
    position: absolute;
    top: 50%;
    left: 50%;
    transition: .3s;
    content: "";
    border-radius: 5px;
  }

  .hamburger-switch-line1 {
    transform: translate(-50%, -50%);
  }

  .hamburger-switch-line1:before {
    transform: translate(-50%, -400%);
  }

  .hamburger-switch-line1:after {
    transform: translate(-50%, 300%);
  }

  /* ハンバーガーアイコン･アニメーション */
  #hamburger-demo1:checked~.hamburger-demo-switch .hamburger-switch-line1 {
    width: 0;
  }

  #hamburger-demo1:checked~.hamburger-demo-switch .hamburger-switch-line1:before {
    transform: rotate(45deg) translate(-30%, 320%);
    border-radius: 5px;
  }

  #hamburger-demo1:checked~.hamburger-demo-switch .hamburger-switch-line1:after {
    transform: rotate(-45deg) translate(-35%, -325%);
    border-radius: 5px;
  }

  /* メニューエリア */
  .hamburger-demo-menuwrap {
    position: fixed;
    height: 100%;
    background: #fff;
    /* メニューエリアの背景色 */
    /*padding: 5em 3% 2em;*/
    /*padding-top:100px;*/
    z-index: 9998;
    transition: .3s;
    overflow-y: scroll;
    /*メニュー内容が多い場合に縦スクロールする */
    top: 0;
    left: 100%;
    width: 70%;
  }

  /* メニューリスト */
  .hamburger-demo-menulist {
    margin-right: 3%;
    padding-left: 3% !important;
    /* !important不要な場合もあり */
    list-style: none;
  }

  .hamburger-demo-menulist li a {
    text-decoration: none;
    color: #000;
    /* メニューリストの文字色 */
    display: block;
    padding: .5em 0;
  }

  /* メニューエリア･アニメーション */
  /* 右から */
  #hamburger-demo1:checked~.hamburger-demo-menuwrap {
    left: 30%;
  }

  /* コンテンツカバー */
  #hamburger-demo1:checked~.hamburger-demo-cover {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 9997;
    background: rgba(3, 3, 3, .5);
    display: block;
  }

  /* メニュー外タップで閉じる */
  #hamburger-demo1:checked~.hamburger-demo-closelabel .hamburger-demo-cover {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 9997;
    background: rgba(3, 3, 3, .5);
    display: block;
    cursor: pointer;
  }

  #hamburger-demo1:checked~.hamburger-demo-switch {
    border: none;
    background-color: transparent;
  }

  /*サブメニュー*/
  .hamburger-demo-menubox ul li.nav01 {
    position: relative;
    margin-top: 20px;
  }

  .hamburger-demo-menubox ul li.nav01 ul {
    width: 100%;
    top: 0;
    position: relative;
    z-index: 999;
    padding-left: 15px;
  }

  .hamburger-demo-menubox ul li.nav01 ul li a {
    border-bottom: 1px dashed #ea4666;
  }

  .hamburger-demo-menubox ul li a,
  .hamburger-demo-menubox ul li a.nav01_menu {
    text-align: left;
    padding: 13px 0 10px 8px !important;
    font-size: clamp(1rem, 3.84vw, 1.3rem);
    line-height: 1;
  }

  .hamburger-demo-menubox ul li.nav01:hover .nav01_menu {
    color: #ea4666;
    background-color: transparent;
  }

  .hamburger-demo-menubox ul li.nav01:hover ul {
    top: 0;
  }

  /*
#hamburger-demo2:checked ~ .sub_menu{top:0; position:relative; z-index:999;}
#hamburger-demo2:checked ~ .sub_menu a{border-bottom:1px dashed #ea4666;}
#hamburger-demo2:checked ~ label a.nav01_menu{background-color:#ea4666!important; color:#fff!important;}*/

  .hamburger-demo-menubox ul li>a {
    width: 100%;
    display: block !important;
    /*height:80px; padding-top:12.5%;*/
    padding: 8px 0px;
  }

  .hamburger-demo-menubox ul li.nav06 a {
    color: #777;
    border-bottom: 5px solid #777;
    padding-right: 0.7em;
    padding: 15px 0 15px 8px !important;
    background: #fff url(../img/new_window_b.png) no-repeat;
    background-position: right 5px center;
  }

  .hamburger-demo-menubox ul li.nav06:hover a {
    color: #fff;
    background: #777 url(../img/new_window_w.png) no-repeat;
    background-position: right 5px center;
  }
}

/*end*/