@charset "UTF-8";

/*fs*/

p {
  margin: 0;
}

.fs-l-footer {
  border-top: none;
  background-color: #fff;
  margin-top: 0px;
}

.calnder_info a {
  color: #069 !important;
  text-decoration: underline;
}

.fs-l-main {
  margin: 0 auto 60px;
  padding: 0px;
  max-width: 1120px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  position: relative;
}

.fs-client-cart-count {
  width: 20px;
  height: 20px;
  position: absolute;
  background: #d0281a;
  padding: 6px;
  border-radius: 50%;
  line-height: 1rem;
  text-align: center;
  font-size: 1.3rem;
  top: -4px;
  right: -7px;
  color: #fff;
  z-index: 2;
}

.fs-p-cartItemNumber {
  font-size: 0.5rem;
  top: -3px !important;
  right: -3px !important;
}

.fs-l-header {
  padding-top: 0 !important;
}

.tp_login.my-true,
.tp_logout.my-false,
.tp_mypage.my-false,
.tp_register.my-true,
.sp__flink,
.i__close,
#spgnav,
#foot_areanav,
.spform,
.sp__footcate,
.calender,
#foot_nav,
.end__spnav {
  display: none;
}

.c_red {
  color: #d00;
}

/* common */

html {
  font-size: 62.5%;
}

body {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2.4rem;
  color: #333;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-smoothing: antialiased;
  text-rendering: auto;
  font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
}

a {
  color: #222;
  text-decoration: none;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

a img {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

a:hover,
a:hover img {
  opacity: 0.6;
  text-decoration: none;
}

li {
  list-style: none;
}

.imgmax {
  width: 100%;
  height: auto;
  line-height: 1rem;
  display: block;
}

.mincyo,
.sub__tit,
.sorts__tab--list,
.flow__tab--list,
.m__cate--a,
.about__box--a,
.flows--step,
.eng,
.ft__tit {
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.pconly {
  display: block;
}

.sponly,
.sponly-official {
  display: none;
}

#fix_nav {
  position: fixed;
  bottom: 20%;
  right: 20px;
  width: 56px;
}

#fix_nav {
  display: block;
  z-index: 10;
  text-decoration: none;
  text-align: center;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  cursor: pointer;
}

#fix_nav li:not(:last-child) {
  margin-bottom: 10px;
}

.fix_nav--list {
  display: none;
  position: relative;
}

#fs_ProductDetailsSubscribe .fix_nav--list,
#fs_ProductDetails .fix_nav--list {
  display: block;
}

#headers {
  padding: 20px 5% 0;
}

.headers--in {
  max-width: 1120px;
  margin: 0 auto 10px;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
}

.header_con_h1 {
  width: 20%;
}

.logo {
  max-width: 230px;
  width: 20%;
  margin-bottom: 10px;
}

.header_con_h1_logo {
  max-width: 230px;
  margin-bottom: 10px;
}

.header_con_h1--tit {
  font-size: 11px;
  margin-bottom: 10px;
}

.header_con_h1--tit-sp {
  display: none;
}

.head_act {
  width: 79%;
}

.headers--in,
.tp--info,
.form__flex,
.act__icons,
.tp--fact,
.sub__nav--area,
#gnav,
.news__box--list,
.sorts__tab,
.flow__tab,
.sort_box,
.star--box,
.review__area,
.m__cate,
.m__cate--a,
.about__box,
.about__box--bg,
.gift_service,
.flows,
.foot__ban,
.follow,
.ft__border,
.ft__box,
.ft__time,
.amazon__box,
.footers__in,
.ft__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.tp--info {
  margin-bottom: 15px;
}

.head_act .tp--info {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.tp--info,
.tp--fact {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.inp__search {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
  font-size: 1.4rem;
  line-height: 1.4rem;
}

.head__form {
  margin: 0 10px 0 20px;
}

.keys_pt {
  border: 1px solid #ccc;
  border-radius: 4px;
  padding: 5px;
  margin-right: 5px;
}

.head_act--rank {
  font-size: 1.5rem;
  line-height: 2rem;
  text-align: right;
}

.head_act--ofa {
  background: #007336;
  font-size: 1.2rem;
  padding: 6px 6px;
  border-radius: 4px;
  display: block;
  height: 42px;
}

.head_act--ofa,
.sub__nav--a,
.about__box--a {
  color: #fff !important;
}

.w_arrow {
  background: url(../img/w_arrow.svg) no-repeat right center;
}

.arrow {
  background: url(../img/arrow.svg) no-repeat right center;
}

.head_act--official {
  margin-right: 1%;
}

.head_act--official .w_arrow {
  background-size: 15px 8px;
  padding-right: 30px;
}

.w_arrow,
.arrow {
  background-size: 20px 8px;
  padding-right: 30px;
}

.send__pay,
.head__tel {
  text-align: right;
  line-height: 1.8rem;
}

.freesend {
  color: #ea5505;
  font-weight: bold;
  font-size: 2.2rem;
  line-height: 2.2rem;
}

.micros {
  font-size: 1.2rem;
  line-height: 1.2rem;
  letter-spacing: 1px;
}

.sya__line {
  width: 31px;
  margin: 0 20px;
}

.icon_tel {
  background: url(../img/icon_tel.svg) no-repeat left center;
  background-size: 22px 22px;
  padding-left: 28px;
  font-size: 2.8rem;
}

.act__icons {
  margin-left: 30px;
}

.act__icons--list:first-child {
  margin-right: 10px;
}

.act__icons--list {
  position: relative;
}

.sub__nav {
  background: #ea5505;
  padding: 5px 5%;
}

.sub__nav--area {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  max-width: 1120px;
  margin: 0 auto;
}

.sub__nav--list {
  padding: 0 24px;
  font-size: 1.4rem;
}

#gnavarea {
  padding: 20px 5%;
}

#gnav {
  max-width: 1120px;
  margin: 0 auto;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.gnav__icon {
  max-width: 66px;
  margin: 0 auto 10px;
}

.gnav__list {
  width: 11%;
  text-align: center;
  font-size: 1.4rem;
}

.gnav__list:nth-child(8) {
  letter-spacing: -1px;
}

#main__mv {
  overflow-x: hidden;
  margin-bottom: 50px;
}

.camp__ban {
  max-width: 1120px;
  margin: 0 auto 40px;
}

.camp__ban--a {
  display: block;
  width: 100%;
}

.mv__container {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  max-width: 720px;
}

#main__swipers {
  width: 100%;
  height: 100%;
  overflow: visible !important;
  z-index: 1;
}

.swiper-pagination {
  margin-top: 10px;
  position: relative !important;
}

.swiper-pagination-bullet {
  margin-left: 10px;
  width: 10px !important;
  height: 10px !important;
  opacity: 1 !important;
  background-color: #ccc !important;
}

.swiper-pagination-bullet-active {
  background-color: #016938 !important;
}

.ban__first {
  max-width: 1120px;
  margin: 0 auto 60px;
}

.base__area {
  padding: 0 5%;
  margin: 0 auto 80px;
}

.sub__tit {
  font-size: 2.6rem;
  line-height: 3.5rem;
  margin-bottom: 40px;
  font-weight: normal;
}

.inners {
  max-width: 1120px;
  margin: 0 auto;
}

.news__box--list:not(:last-child) {
  margin-bottom: 20px;
}

.news__box--time {
  width: 8%;
  margin-right: 5%;
}

.news__box--txt {
  width: 87%;
}

.news__re {
  position: relative;
}

.news__arrow {
  position: absolute;
  top: 0;
  right: 0;
}

.hide {
  display: none;
}

.sorts {
  margin: 0 auto 80px;
}

.sorts__tab {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.sorts__tab,
.flow__tab,
.flows,
.footers__in {
  max-width: 1120px;
  margin: 0 auto;
}

.flow__tab {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.sorts__tab--list,
.flow__tab--list {
  width: 32%;
  text-align: center;
  display: block;
  padding: 15px 5%;
  color: #fff;
  font-size: 1.8rem;
  position: relative;
}

.sorts__tab--list:first-child,
.flow__tab--list:first-child {
  background: linear-gradient(135deg, transparent 14px, #016938 14px);
}

.sorts__tab--list:nth-child(2),
.flow__tab--list:nth-child(2) {
  background: linear-gradient(135deg, transparent 14px, #ea5505 14px);
}

.sorts__tab--list:last-child {
  background: linear-gradient(135deg, transparent 14px, #ffc55a 14px);
  color: #000;
}

.sorts__tab--list:first-child,
.sorts__tab--list:nth-child(2),
.sorts__tab--list:last-child,
.flow__tab--list:first-child,
.flow__tab--list:nth-child(2) {
  background-position: top left;
  background-repeat: no-repeat;
}

.sorts__tab--list.select:first-child:after,
.sorts__tab--list.select:nth-child(2):after,
.sorts__tab--list.select:last-child:after,
.flow__tab--list.select:first-child:after,
.flow__tab--list.select:nth-child(2):after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -10px;
  left: 0;
  width: 0px;
  height: 0px;
  margin: auto;
  border-style: solid;
  border-width: 10px 10px 0 10px;
}

.sorts__tab--list.select:first-child:after,
.flow__tab--list.select:first-child:after {
  border-color: #016938 transparent transparent transparent;
}

.sorts__tab--list.select:nth-child(2):after,
.flow__tab--list.select:nth-child(2):after {
  border-color: #ea5505 transparent transparent transparent;
}

.sorts__tab--list.select:last-child:after {
  border-color: #ffc55a transparent transparent transparent;
}

.sorts__content--list,
.flow__content--list {
  padding: 50px 5%;
}

.sorts__content--list:first-child {
  background: #f3f8ec;
}

.flow__content--list:first-child,
.flow__content--list:nth-child(2) {
  background: #fff8db;
}

.sorts__content--list:nth-child(2) {
  background: #f8f1ec;
}

.sorts__content--list:last-child {
  background: #fffeef;
}

.sort_box,
.review__area,
.m__cate,
.about__box,
.gift_service,
.foot__ban,
.ft__box {
  max-width: 1120px;
  margin: 0 auto;
}

.sort_box--list {
  width: 22%;
  margin: 0 4% 0 0;
  position: relative;
}

.sort_box--list:last-child {
  margin-right: 0;
}

.ranks {
  position: absolute;
  top: -20px;
  left: 10px;
  z-index: 2;
  width: 46px;
}

.sort_box--img,
.sort_box--name {
  margin-bottom: 20px;
}

.sort_box--name {
  font-weight: bold;
  font-size: 1.6rem;
}

.eng {
  color: #ea5505;
  font-size: 2rem;
  line-height: 3rem;
  margin-bottom: 20px;
}

.c__tit {
  text-align: center;
}

.review__area--list {
  width: 17%;
  margin: 0 3.75% 0 0;
}

.review__area--list:last-child,
.star--list:last-child {
  margin-right: 0;
}

.review__area--name {
  font-weight: bold;
  margin: 20px auto 6px;
}

.star--box {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 20px;
}

.star--list {
  margin-right: 5px;
  width: 12px;
}

.green__line {
  margin-top: 30px;
}

.green__line--a {
  display: block;
  padding: 10px 0 -2px;
  border-bottom: 1px solid #016938;
  color: #016938;
  font-size: 1.4rem;
}

.green__line--arrow {
  background: url(../img/green__line.svg) no-repeat right bottom;
  background-size: 7px 9px;
  display: block;
  padding-bottom: 10px;
}

.m__cate {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.m__cate--list {
  width: 32%;
  margin: 0 2% 2% 0;
  font-size: 1.6rem;
}

.m__cate--list:nth-child(3n) {
  margin-right: 0;
}

.m__cate--a {
  border: 1px solid #ccc;
  border-radius: 4px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 5%;
}

.m__cate--icon {
  width: 66px;
  margin-right: 20px;
}

.m__cate--name {
  width: 70%;
}

.cate__arrow {
  background: url(../img/arrow.svg) no-repeat right center;
  background-size: 21px 9px;
  display: block;
  padding-right: 30px;
}

.about__box {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-bottom: 150px;
}

.about__box--in {
  font-size: 1.6rem;
  line-height: 1.5;
}

.about__box--list {
  width: 32%;
}

.about__box--a {
  position: relative;
  display: block;
  font-size: 2.2rem;
  line-height: 3.2rem;
}

.about__box--bg {
  position: absolute;
  height: 100px;
  width: 70%;
  background: url(../img/w_arrow.svg) no-repeat 95% 90% #ea5505;
  bottom: -50px;
  left: 5%;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  text-align: center;
}

.gift_service {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.gift_service--img {
  width: 64%;
}

.gift_service--txt {
  width: 30%;
}

.gift_service--tit {
  font-weight: normal;
  font-size: 3rem;
  line-height: 4.5rem;
  margin-bottom: 40px;
}

.gift_service--info {
  font-size: 1.8rem;
  line-height: 3rem;
}

.gift_service .green__line {
  width: 60%;
  margin-left: auto;
}

.flows {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.flows--list {
  background: #fff;
  padding: 2%;
  width: 22.4%;
  text-align: center;
  margin: 0 0 20px;
}

.orange_delta {
  width: 12px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin: 0 10px;
}

.flow_icon {
  max-width: 48px;
  margin: 10px auto 15px;
}

.flows--step {
  color: #ea5505;
  font-size: 2rem;
}

.c_oragne {
  color: #ea5505 !important;
}

.circle__btn {
  text-align: center;
}

.circle__btn--a {
  padding: 15px 5%;
  -webkit-box-shadow: 0 0 0 1px #ea5505 inset;
  box-shadow: 0 0 0 1px #ea5505 inset;
  border-radius: 40px;
  color: #ea5505;
  display: block;
}

.orange__arrow {
  background: url(../img/orange__arrow.svg) no-repeat right center;
  background-size: 20px 9px;
  padding-right: 30px;
  display: block;
}

.flow__content .circle__btn {
  max-width: 400px;
  margin: 20px auto 0;
}

.foot__ban {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.foot__ban--list {
  width: 48.2%;
}

.follow {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 1.4rem;
  margin: 0 auto 80px;
}

.follow--sns {
  margin: 0 10px;
}

.follow--sns:not(:first-child) {
  max-width: 48px;
}

.ft__border {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.ft__border:before,
.ft__border:after {
  content: "";
  height: 1px;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  background-color: #ccc;
}

.ft__border:before {
  margin-right: 3rem;
}

.ft__border:after {
  margin-left: 3rem;
}

.ft__box {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.ft__harf {
  width: 48%;
}

.ft__tit {
  background: url(../img/ft__tit.svg) no-repeat 0 5px;
  background-size: 12px 12px;
  padding-left: 24px;
  font-size: 2.2rem;
  line-height: 2.2rem;
  border-bottom: 1px solid #ddd;
  padding-bottom: 10px;
  margin-bottom: 20px;
}

.ft__time {
  padding: 3%;
  background: #fff8db;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-bottom: 20px;
}

.int {
  text-align: center;
  font-size: 2rem;
}

.ft__txt {
  font-size: 1.5rem;
}

.ft__txt p {
  margin-bottom: 20px;
}

.ft__txt .circle__btn {
  max-width: 360px;
  margin: 0 auto;
}

.ft__txt .circle__btn--a {
  padding: 8px 5%;
}

.ft__ones {
  margin-bottom: 40px;
}

.ft__subi--list {
  list-style: disc;
  margin-left: 20px;
}

.ft__subi--list:not(:last-child) {
  margin-bottom: 25px;
}

.ft__subi--list .c_oragne {
  margin-bottom: 10px;
}

.ft_card {
  max-width: 327px;
  margin-top: 10px;
}

.amazon__box {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.ft_amazon {
  width: 50%;
  max-width: 173px;
  margin-right: 10%;
}

.ft__nums--list {
  list-style: decimal;
  margin-left: 20px;
}

#footers {
  border-top: 1px solid #ddd;
  padding: 60px 5%;
}

.footers__in {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin: 0 auto 66px;
}

.ft__logo {
  width: 30%;
  font-size: 1.5rem;
}

.ft__logo--img {
  max-width: 230px;
  margin-bottom: 20px;
}

.foot_photo {
  width: 62%;
}

.foot_photo_officiallink {
  margin-bottom: 10px;
}

.foot_photo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.foot_photo_img {
  width: 70%;
}

.foot_photo_banners {
  width: 25%;
}

.ft__link {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-size: 1.3rem;
  line-height: 1.3rem;
  margin-bottom: 20px;
}

.ft__link--list:not(:last-child) {
  border-right: 1px solid #ccc;
}

.ft__link--a {
  padding: 0 20px;
  display: block;
}

.copyright {
  font-size: 1.2rem;
  text-align: center;
  letter-spacing: 1px;
  margin: 0 auto;
  display: block;
  padding: 0 5%;
}

.login-showrireki-btn-link {
  padding: 15px;
  background-color: #ea5406;
  border-radius: 6px;
  color: #fff;
  display: block;
  font-weight: bold;
}

.login-showrireki-btn-link:visited {
  color: #fff;
}

.login-showrireki-btn {
  margin-bottom: 30px;
  margin: 0 auto 40px;
  width: 300px;
  text-align: center;
}

.login-showrireki-btn-link:hover {
  color: #fff;
}

/* スクロールヒント */
.sort_box--list_rireki {
  width: 18%;
}

.sort_box_rireki {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.sort_box--img_rireki {
  margin-bottom: 10px;
}

section.hist__page {
  padding: 0 5%;
  margin: 0 auto 80px;
}

@media screen and (max-width: 1060px) {
  .gnav__list {
    font-size: 1.2rem;
  }
}

@media screen and (max-width: 959px) {
  .pconly {
    display: none;
  }

  .sponly {
    display: block;
  }

  .head_act--rank,
  .head_act--official {
    font-size: 1.3rem;
    line-height: 1.4rem;
  }

  .sub__nav--list {
    padding: 0 14px;
  }

  .act__icons {
    margin-left: 10px;
  }

  .send__pay {
    width: 170px;
  }

  .head__tel {
    width: 150px;
  }

  .sya__line {
    width: 10px;
    margin: 0 9px;
  }

  .micros {
    letter-spacing: 0px;
  }

  .icon_tel {
    font-size: 2rem;
    background-size: 18px 18px;
  }

  #gnavarea {
    padding: 20px 2%;
  }

  #gnav {
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
  }

  .gnav__list {
    font-size: 1.4rem;
    line-height: 1.8rem;
  }

  .gnav__icon {
    max-width: 48px;
  }

  .ban__first {
    margin-left: 5%;
    margin-right: 5%;
  }

  .about__box--bg {
    width: 90%;
  }

  .gift_service {
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
  }

  .gift_service--img {
    width: 50%;
  }

  .gift_service--txt {
    width: 45%;
  }

  .flow__tab--list {
    width: 50%;
  }

  .flows {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }

  .flows--list {
    width: 28.4%;
  }

  .ft__box {
    padding: 0 5%;
  }

  .ft__time {
    display: block;
    padding: 5%;
  }

  .ft__time .sya__line {
    margin: 10px auto;
  }

  .ft__time .head__tel {
    text-align: center;
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .sub__nav,
  #gnav,
  .send__pay,
  .tp--fact .sya__line,
  .tp--fact .head__tel,
  .head__form,
  .f_shopinfo,
  .fix_history {
    display: none;
  }

  .spform,
  .review__area,
  .sp__footcate,
  .calender {
    display: block;
  }

  .eco__head .head_act {
    padding: 0;
  }

  #fix_nav {
    position: fixed;
    bottom: 100px;
    right: 20px;
    width: 36px;
  }

  #fix_nav {
    display: block;
    z-index: 10;
    text-decoration: none;
    text-align: center;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    cursor: pointer;
  }

  #fix_nav li:not(:last-child) {
    margin-bottom: 10px;
  }

  #gnav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

  #headers {
    padding: 10px 3%;
  }

  .header_con_h1 {
    width: 28%;
  }

  .header_con_h1--tit {
    display: none;
    font-size: 9px;
    margin-bottom: 10px;
  }

  .header_con_h1--tit-sp {
    display: block;
    font-size: 9px;
    margin-bottom: 10px;
  }

  .logo {
    width: 28%;
    margin: 0;
  }

  .header_con_h1_logo {
    margin: 0;
  }

  .headers--in {
    margin: 0;
  }

  .head_act {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    padding-right: 76px;
    width: 68%;
  }

  .act__icons {
    margin-left: 5px;
  }

  .act__icons--list {
    width: 32px;
  }

  .act__icons--list:first-child {
    margin-right: 5px;
  }

  .tp--info {
    margin: 0;
  }

  .head_act--ofa {
    border-radius: 30px;
    font-size: 1rem;
    width: 70px;
    padding: 7.5px 5px;
    height: auto;
  }

  .head_act--blog {
    display: none;
  }

  .head_act--ofa .w_arrow {
    background: none;
    padding: 0;
  }

  .head_act--rank,
  .head_act--official {
    font-size: 0.8rem;
    line-height: 1rem;
    letter-spacing: -1px;
  }

  .head_act--blogofficial {
    display: none;
  }

  .head_act--official {
    position: absolute;
    top: -3px;
    right: -4px;
    text-align: center;
    margin-right: 0;
  }

  .gnav__list {
    width: 20%;
    width: calc(100% / 5);
    text-align: center;
    font-size: 0.9rem;
    font-weight: bold;
  }

  .gnav__list:nth-child(1),
  .gnav__list:nth-child(2),
  .gnav__list:nth-child(3) {
    width: 19%;
  }

  .gnav__list:nth-child(4),
  .gnav__list:nth-child(5),
  .gnav__list:nth-child(6),
  .gnav__list:nth-child(7) {
    display: none;
  }

  .gnav__list:nth-child(8) {
    letter-spacing: -2px;
    width: 23%;
  }

  .gnav__list:not(:last-child) {
    border-right: 1px solid #fff;
  }

  .gnav__a {
    background: #ea5505;
    display: block;
    padding: 10px 5%;
    color: #fff !important;
  }

  .gnav__list .sponly {
    display: none;
  }

  .gnav__icon {
    max-width: 35px;
  }

  #gnavarea {
    padding: 0;
  }

  .spform {
    background: #fff8db;
    padding: 5%;
  }

  .spform__area {
    width: 100%;
  }

  .spform__area .keys_pt {
    width: 88%;
    background: #fff;
  }

  .sp__keys,
  .sp__keys--word {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }

  .sp__keys {
    font-size: 1.2rem;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-top: 10px;
  }

  .sp__keys--tit {
    font-weight: bold;
    width: 30%;
  }

  .sp__keys--word {
    width: 65%;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .keys--word--a {
    text-decoration: underline;
  }

  .keys--word--list {
    line-height: 1.2rem;
  }

  .keys--word--list:not(:last-child) {
    background: url(../img/sp_sya.svg) no-repeat right center;
    background-size: 6px 6px;
    margin: 0 20px 10px 0px;
    padding-right: 20px;
  }

  .base__area,
  .sorts {
    margin: 0 auto 60px;
  }

  .sorts__tab--list {
    width: 33.33333%;
    width: calc(100% / 3);
    font-size: 1.5rem;
    line-height: 2rem;
    padding: 15px 2%;
  }

  .sort_box {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .sort_box--list {
    width: 46%;
    margin: 0 8% 40px 0;
  }

  .sort_box--list:nth-child(2n) {
    margin-right: 0;
  }

  .sorts__content--list,
  .flow__content--list {
    padding: 30px 5%;
  }

  .sort_box--list:nth-child(3),
  .sort_box--list:nth-child(4) {
    margin-bottom: 0;
  }

  .ranks {
    width: 36px;
    top: -14px;
  }

  .sort_box--name {
    font-size: 1.6rem;
    line-height: 2.4rem;
    margin-bottom: 10px;
  }

  .eng {
    margin-bottom: 10px;
    font-size: 1.8rem;
    line-height: 2.4rem;
  }

  .sub__tit {
    font-size: 2.2rem;
  }

  .review__area--list {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

  .review__area--list:not(:last-child) {
    margin-bottom: 40px;
  }

  .review__area--img {
    width: 50%;
  }

  .revs {
    width: 45%;
  }

  .review__area--list .green__line {
    width: 100%;
    text-align: center;
  }

  .review__area--name {
    margin-top: 0;
    font-size: 1.6rem;
    line-height: 2rem;
  }

  .revs p:last-child {
    font-size: 1.4rem;
    line-height: 2rem;
  }

  .star--list {
    width: 15px;
  }

  .m__cate--a {
    display: block;
    text-align: center;
    padding: 10%;
    height: 124px;
  }

  .m__cate--icon {
    width: 49px;
    margin: 0 auto 10px;
  }

  .m__cate--name {
    width: 100%;
    font-size: 1.4rem;
    line-height: 1.8rem;
  }

  .cate__arrow {
    background: url(../img/arrow.svg) no-repeat right bottom;
    background-size: 12px 6px;
    padding: 0 0 10px;
  }

  .about__box {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 110px;
  }

  .about__box--list {
    width: 50%;
  }

  .about__box--list:last-child,
  .gift_service--img,
  .gift_service--txt {
    width: 100%;
  }

  .about__box--list:not(:last-child) {
    margin-bottom: 70px;
  }

  .about__box--in {
    font-size: 1.5rem;
    line-height: 2rem;
  }

  .about__box--bg {
    height: 60px;
    padding: 20px 5%;
  }

  .gift_service,
  .flows {
    display: block;
  }

  .gift_service--img {
    margin-bottom: 20px;
  }

  .gift_service--tit {
    font-size: 2.2rem;
    line-height: 3rem;
    margin-bottom: 20px;
  }

  .gift_service--txt .green__line {
    width: 100%;
    text-align: center;
  }

  .flows--list {
    width: 100%;
    display: grid;
    grid-template-rows: 30px 1fr;
    grid-template-columns: 100px 1fr;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 4%;
  }

  .orange_delta {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    margin: 0 auto 20px;
  }

  .flow_icon {
    grid-row: 2 / 3;
    grid-column: 1 / 1;
  }

  .flows--txt {
    grid-row: 1 / 3;
    grid-column: 2 / 3;
    text-align: left;
    font-size: 1.5rem;
  }

  .foot__ban {
    display: block;
  }

  .foot__ban--list {
    width: 100%;
  }

  .foot__ban--list:first-child {
    margin-bottom: 20px;
  }

  .sp__footcate--tit {
    color: #fff;
    padding: 5%;
    background: #ea5505;
  }

  .sp__cate--a {
    display: block;
    padding: 5% 10% 5% 5%;
    background: url(../img/orange__arrow.svg) no-repeat 95% center;
    background-size: 12px 6px;
  }

  .sp__cate--list {
    border-bottom: 1px solid #ccc;
  }

  .sp__cate {
    margin-bottom: 60px;
  }

  .calender {
    padding: 0 5%;
    margin-bottom: 60px;
  }

  .carend__txt {
    margin-top: 30px;
  }

  .foot_photo_banners {
    display: none;
  }

  .foot_photo_img {
    width: 100%;
  }

  #footers {
    padding: 0px 0 60px;
    border-bottom: none;
  }

  .footers__in {
    -ms-flex-wrap: wrap-reverse;
    flex-wrap: wrap-reverse;
    margin-bottom: 40px;
  }

  .ft__logo,
  .foot_photo {
    width: 100%;
    text-align: center;
  }

  .foot_photo {
    margin-bottom: 40px;
  }

  .ft__logo--img {
    margin: 0 auto 30px;
    max-width: 174px;
  }

  .follow {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 30px;
    border-top: 1px solid #ddd;
    padding-top: 60px;
  }

  .follow--sns:first-child {
    width: 100%;
    text-align: center;
    margin-bottom: 20px;
  }

  .follow--sns:not(:first-child) {
    width: 32px;
  }

  .ft__link {
    display: none;
  }

  .end__spnav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    border-top: 1px solid #ddd;
    margin-bottom: 30px;
  }

  .end__spnav--list {
    width: 50%;
  }

  .end__spnav,
  .end__spnav--list:not(:last-child) {
    border-bottom: 1px solid #ddd;
  }

  .end__spnav--list:nth-child(odd) {
    border-right: 1px solid #ddd;
  }

  .end__spnav--a {
    display: block;
    font-size: 1.4rem;
    padding: 6% 14% 6% 10%;
    background: url(../img/orange__arrow.svg) no-repeat 95% center;
    background-size: 12px 6px;
  }

  #foot_areanav {
    width: 100%;
    position: fixed;
    bottom: 0;
    left: 0;
    display: block;
    z-index: 320;
  }

  #foot_nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding-bottom: env(safe-area-inset-bottom);
    background: #009468;
    z-index: 2000;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
  }

  .foot_nav--list {
    width: 20%;
    border-right: 1px solid #fff;
  }

  .foot_nav--list:last-child {
    border-right: none;
  }

  .foot_nav--box {
    font-size: 1.3rem;
    text-align: center;
    margin: 0 auto;
    position: relative;
  }

  .foot_nav--a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    background: #009468;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    color: #fff !important;
    padding: 10px 5% 5%;
  }

  .foot_nav--icon {
    max-width: 24px;
    margin: 0 auto 0px;
    position: relative;
  }

  .foot_nav--txt {
    font-size: 1.1rem;
    letter-spacing: -1px;
    text-align: center;
  }

  .st__space {
    letter-spacing: -2px;
  }

  #page-top {
    bottom: 110px;
    font-size: 1.2rem;
    line-height: 1.4rem;
  }

  #pop_history {
    display: none;
  }

  .spnav {
    display: block;
    opacity: 0;
    position: fixed;
    bottom: -100vh;
    left: 0px;
    z-index: 1000;
    height: 93vh;
    width: 100vw;
    -webkit-transition: 0.5s;
    transition: 0.5s;
    padding: 10vh 0 15vh;
  }

  .m_open .spnav {
    opacity: 1;
    bottom: 0%;
    height: 93vh;
    width: 100vw;
  }

  .open_detail .spnav_search {
    opacity: 1;
    left: 0%;
    z-index: 1000;
    overflow: auto;
    max-height: 9999px;
  }

  .inbox {
    width: 90vw;
    height: 80vh;
    overflow: auto;
    margin: 0 auto;
  }

  .spnav_search .scrolls {
    padding-top: 10px;
  }

  .m_open .snav__bg {
    display: block;
    z-index: 500;
    background: rgba(77, 77, 77, 0.7);
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
  }

  .m_open #page-top {
    display: none !important;
  }

  .spf_tab {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 90%;
    margin: 0 auto;
  }

  .spf_tab,
  .spf__item--list {
    text-align: center;
  }

  .spf_tab--list {
    width: 50%;
    padding: 10px;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    font-weight: bold;
  }

  .spf_content--list {
    padding: 5%;
  }

  .spf_tab--list:first-child,
  .spf_content--list:first-child {
    background: #fff8db;
  }

  .spf_content--list:first-child,
  .spf_content--list:last-child {
    border-radius: 6px;
  }

  .spf_tab--list:last-child,
  .spf_content--list:last-child {
    background: #f3f8ec;
  }

  .spf__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .spf__item--list {
    width: 49%;
    margin: 0 2% 2% 0;
  }

  .spf__item--list:nth-child(2n) {
    margin-right: 0;
  }

  .spf__item--a {
    padding: 10px;
    background: #fff;
    font-size: 1.3rem;
    line-height: 1.3rem;
    color: #000 !important;
  }

  .spf__item--a,
  .spf__cate--a {
    position: relative;
    display: block;
  }

  .spf__cate--a {
    background: #ea5505;
    color: #fff !important;
    font-size: 1.4rem;
    line-height: 1em;
    border-radius: 8px;
    padding: 6px 0;
  }

  .spf__img {
    width: 33px;
    margin: 0 auto 6px;
  }

  .spf__item--img {
    max-width: 24px;
    margin: 0 auto 6px;
  }

  .splink--official .w_arrow {
    font-size: 1.4rem;
  }

  .splink--official-a {
    color: #fff !important;
    background: #007336;
    padding: 6px 10px;
    border-radius: 4px;
    display: block;
  }

  .splink--official {
    text-align: center;
  }

  .hide {
    display: none;
  }

  .spf_singlebtn {
    text-align: center;
    margin-top: 10px;
    width: 100%;
  }

  .spf_singlebtn--act {
    color: #fff !important;
    display: block;
    padding: 10px 5px;
    font-size: 1.4rem;
    line-height: 2rem;
  }

  .spf_close {
    background: #666;
    border-radius: 8px;
  }

  .ser-in {
    width: 100%;
    margin-bottom: 15px;
  }

  .form--sys__label--input {
    width: 80%;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: transparent;
    border: none;
    border-radius: 0;
    font: inherit;
    outline: none;
    width: 100%;
  }

  .form--sys__label {
    background: url(../img/icon_search.svg) no-repeat 95% center #fff;
    background-size: 16px 16px;
    width: 100%;
    display: block;
    padding: 6px 5%;
    line-height: 1.4rem;
    border: 1px solid #ccc;
    border-radius: 6px;
  }

  .e__link {
    display: none;
  }

  .copyright {
    margin-bottom: 110px;
  }

  .login-showrireki-btn {
    width: 260px;
  }

  .login-showrireki-btn-link {
    padding: 15px;
  }
}

@media screen and (max-width: 320px) {
  .gnav__list:nth-child(8) {
    letter-spacing: -3px;
  }

  .sorts__tab--list {
    font-size: 1.3rem;
    line-height: 1.8rem;
  }

  .noles {
    letter-spacing: -2px;
  }
}

/*20201020追記*/

.regist__banner {
  margin: 20px;
}

.regist__img {
  width: 100%;
  margin: 20px auto;
  max-width: 800px;
}

@media screen and (max-width: 767px) {
  .regist__banner {
    margin: 0px;
  }
}

.head_news {
  text-align: center;
  padding-bottom: 20px;
}

.head_news__link {
  text-decoration: underline;
  color: #ea5505;
}

.head_news__link:visited {
  color: #ea5505;
}

.head_news__link:hover {
  text-decoration: none;
}

@media screen and (max-width: 767px) {
  .head_news {
    padding: 10px;
    font-size: 1.4rem;
  }

  .spform .sp__keys--tit {
    width: 100%;
  }
}

.ban__first--ban-false .ban__first--ban-lin,
.ban__first--ban-true .ban__first--ban-lout {
  display: none;
}

.head_news__op {
  max-width: 1120px;
  margin: 20px auto 20px;
  padding: 15px;
  border: solid 1px #ff4600;
  font-size: 1.4rem;
  background-color: #fff7f7;
  color: #ff4600;
  font-weight: bold;
}

.head_news__oplink,
.head_news__oplink:visited {
  color: #ff4600;
  text-decoration: underline;
}

.h-news_txt {
  background-color: #007336;
  cursor: pointer;
  color: #fff;
  font-size: 1.4rem;
  padding: 5px 30px;
  text-align: center;
  width: 100%;
}

.h-news_txt .h-news_txt_i {
  background: url(../img/icon_plus_w.svg) no-repeat right center / 13px;
  padding: 5px 20px;
}

.h-news_txt__active .h-news_txt_i {
  background: url(../img/icon_muinus_w.svg) no-repeat right center / 13px;
}

.h-news_con {
  display: none;
}

.tp_summer_sweets {
  background-color: #feefda;
  padding: 50px 5%;
}

section.summer_sweets {
  padding: 0;
  margin: 0 auto 80px;
}

/*
.summer_sweets_tcon {
    padding: 0 5%;
}
*/

.summer_sweets_tit {
  text-align: center;
  color: #0086d1;
  margin-bottom: 20px;
}

.sub__tit_summer {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(65%, transparent), color-stop(65%, #fff000));
  background: linear-gradient(transparent 65%, #fff000 65%);
  padding: 0 5px;
}

.summer_sweets_txt {
  font-size: 1.8rem;
  line-height: 3rem;
  margin-bottom: 30px;
  text-align: center;
}

.tp_summer_sweets_con {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  max-width: 1120px;
  margin: 0 auto;
}

.tp_summer_sweets_list {
  margin: 0 2%;
  width: 22%;
}

.tp_summer_sweets_list__img {
  margin-bottom: 20px;
}

.tp_summer_sweets_list__name {
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 1.2;
}

.summer_br_sp {
  display: none;
}

.scroll-hint-icon {
  height: 88px !important;
}

.js-scrollable .scroll-hint-icon-wrap.is-active .scroll-hint-icon {
  opacity: 0.9;
}

@media screen and (max-width: 767px) {
  .h-news_txt {
    border-top: 1px solid #fff;
  }

  .h-news_con {
    padding: 0;
  }

  .head_news__o {
    overflow: hidden;
  }

  .head_news__op {
    font-size: 1.3rem;
    line-height: 2rem;
    padding: 10px;
    width: 90%;
  }

  .fs-l-header {
    background: #fff;
    position: fixed;
    top: 0;
    z-index: 20;
    width: 100%;
  }

  .fs-l-header.UpMove {
    -webkit-animation: UpAnime 0.5s forwards;
    animation: UpAnime 0.5s forwards;
  }

  @-webkit-keyframes UpAnime {
    from {
      opacity: 1;
      -webkit-transform: translateY(0);
      transform: translateY(0);
    }

    to {
      opacity: 0;
      -webkit-transform: translateY(-100px);
      transform: translateY(-100px);
    }
  }

  @keyframes UpAnime {
    from {
      opacity: 1;
      -webkit-transform: translateY(0);
      transform: translateY(0);
    }

    to {
      opacity: 0;
      -webkit-transform: translateY(-100px);
      transform: translateY(-100px);
    }
  }

  .fs-l-header.DownMove {
    -webkit-animation: DownAnime 0.5s forwards;
    animation: DownAnime 0.5s forwards;
  }

  @-webkit-keyframes DownAnime {
    from {
      opacity: 0;
      -webkit-transform: translateY(-100px);
      transform: translateY(-100px);
    }

    to {
      opacity: 1;
      -webkit-transform: translateY(0);
      transform: translateY(0);
    }
  }

  @keyframes DownAnime {
    from {
      opacity: 0;
      -webkit-transform: translateY(-100px);
      transform: translateY(-100px);
    }

    to {
      opacity: 1;
      -webkit-transform: translateY(0);
      transform: translateY(0);
    }
  }

  .tp_summer_sweets {
    padding: 30px 5%;
  }
}

@media screen and (max-width: 450px) {
  .head_act--official {
    font-size: 1rem;
  }

  /* スクロールヒント */
  .js-scrollable {
    overflow-x: scroll;
    width: auto;
  }

  .sort_box--list_rireki {
    margin-right: 1%;
    width: 140px;
  }

  .sort_box_rireki {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
  }

  .tp_summer_sweets_con {
    webkit-box-pack: start;
    -ms-flex-pack: start;
    -webkit-box-pack: start;
    justify-content: flex-start;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
  }

  .tp_summer_sweets_con {
    padding: 10px 0;
  }

  .tp_summer_sweets_list {
    margin: 0 2% 0 0;
    width: 140px;
  }

  .summer_sweets_txt {
    font-size: 1.4rem;
    line-height: 2.2rem;
  }

  .summer_br_sp {
    display: block;
  }

  .summer_sweets_txt {
    margin-bottom: 20px;
  }
}

/* 250217 お客様への重要なお知らせ */
.head_news__detail {
  max-width: 1120px;
  margin: 20px auto 20px;
  border: 1px solid #ccc;
  padding: 15px;
  border: solid 1px #ff4600;
  background-color: #fff7f7;
  font-weight: bold;
  color: #ff4600;
  font-size: 1.4rem;
}
.head_news__tit {
  font-weight: bold;
  cursor: pointer;
  color: #ff4600;
  display: flex;
  justify-content: left;
  align-items: center;
  list-style: none;
}

.head_news__tit::-webkit-details-marker {
  display: none; /* 🔹Safari・Chromeのデフォルトマーカー非表示 */
}

.head_news__tit::after {
  content: "▶"; /* 三角アイコン */
  font-size: 10px;
  transition: transform 0.3s ease;
}
.head_news__detail[open] .head_news__tit::after {
  transform: rotate(90deg); /* 開いたら90度回転 */
}

@media screen and (max-width: 767px) {
  .head_news__detail {
    font-size: 1.3rem;
    line-height: 2rem;
    padding: 10px;
    width: 90%;
  }
}
/* 250217 お客様への重要なお知らせ */

/* 250514 トップ ログインログアウト切り替え */
.top--log {
  padding: 60px 0px;
  margin-bottom: 60px;
}

.top--log.in {
  background: #f8f1ec;
}

.top--log.out {
  background: #f3f8ec;
}

.top--loglist {
  max-width: min(calc(100% - 40px), 1120px);
  margin: 0 auto 60px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
}

.top--loglist li:nth-child(1) {
  grid-column: span 2;
}

.top--logimg {
  margin-bottom: 20px;
}

.top--log .parent {
  position: relative;
  display: block;
}

.client--box {
  position: absolute;
  top: calc(36% + 1em);
  font-size: 16px;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  line-height: 1;
}

.client--box .thx {
  font-size: 1.8rem;
  margin-bottom: 8%;
}

.client--box .name {
  margin-bottom: 6%;
}

.client--box .point {
  margin-bottom: 4%;
}

.top_logrank {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0 4%;
  width: 100%;
}

.top_logrank_area {
  max-width: min(calc(100% - 40px), 800px);
  margin: 0 auto;
}

.top_logrank_area .log__rank--img,
.top_logrank_area .log__rank--name {
  margin-bottom: 10px;
}

.top_logrank_area .log__rank--name {
  font-size: 1.6rem;
  line-height: 2.4rem;
  font-weight: bold;
}

.top_logrank_area .log__rank--link {
  margin-top: 10px;
}

.top_logrank_area .rank__01 {
  background: url(../img/rank_1.svg) no-repeat left -3px;
}

.top_logrank_area .rank__02 {
  background: url(../img/rank_2.svg) no-repeat left -3px;
}

.top_logrank_area .rank__03 {
  background: url(../img/rank_3.svg) no-repeat left -3px;
}

.top_logrank_area .rank__01,
.top_logrank_area .rank__02,
.top_logrank_area .rank__03 {
  display: block;
  min-height: 30px;
  padding-left: 40px;
  background-size: 30px 30px;
}

.top_logrank_area .ank_itempage--a {
  text-align: center;
  color: #fff !important;
  padding: 10px 5%;
  border-radius: 6px;
  font-weight: bold;
  display: block;
  background: #007336;
}

.log__tit {
  font-size: 3rem;
  margin-bottom: 40px;
  text-align: center;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.log__txt {
  text-align: center;
  margin-bottom: 40px;
}

.top--log .circle__btn {
  margin: 40px 0 20px;
}

.top--log .circle__btn--a {
  max-width: 470px;
  margin: 0 auto;
  background: #fff;
  padding: 15px 2%;
  margin: 0 auto;
  color: #ea5505;
}

.top--log.in .sub__tit {
  display: none;
}

.top--log.in .hist__page {
  margin: 0 20px;
}

@media screen and (min-width: 1440px) {
  .client--box {
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 990px) {
  .client--box {
    top: calc(34% + 1em);
  }
}

@media screen and (max-width: 959px) {
  .top--loglist {
    grid-template-columns: 100%;
  }

  .top--loglist li:nth-child(1) {
    grid-column: auto;
  }

  .client--box {
    font-size: 3vw;
    top: calc(38% + 1em);
  }

  .client--box .thx {
    font-size: 3.2vw;
  }
}

@media screen and (max-width: 767px) {
  .client--box {
    top: calc(34% + 1em);
  }

  .log__tit {
    font-size: 2.2rem;
  }

  .top--log.out {
    margin-bottom: 0px;
  }

  #fs_Top section.hist__page {
    margin: 60px auto 60px;
  }
}

@media (max-width: 689px) {
  .top_logrank {
    width: max-content;
  }

  .top_logrank li {
    width: 230px;
  }
}

@media screen and (max-width: 519px) {
  #fs_Top .top--log.in .hist__page .sort_box_rireki {
    padding-top: 0px;
  }
}

@media screen and (max-width: 480px) {
  .client--box {
    top: calc(30% + 1em);
    font-size: 3.2vw;
    width: 100%;
  }

  .client--box .name {
    font-size: 1.6rem;
    margin-bottom: 3%;
  }

  .client--box .thx {
    font-size: 1.6rem;
    margin-bottom: 4%;
  }

  .client--box .point {
    margin-bottom: 2%;
  }
}

@media screen and (max-width: 430px) {
  .client--box {
    top: calc(25% + 1em);
  }
}
/* 250514 トップ ログインログアウト切り替え */

/* 250530 サイドカテゴリー */
@media screen and (max-width: 767px) {
  .gnav__list:nth-child(8) {
    letter-spacing: normal;
  }
}
/* 250530 サイドカテゴリー */

/* 250610 ヘッダー改修 */
.header_check .act__icons {
  gap: 0 10px;
}

.header_check .act__icons .act__icons--list {
  width: 60px;
}

.header_check .act__icons .act__icons--list:first-child {
  margin-right: 0px;
}

.header_check .act__icons .act__icons--list p {
  font-size: 1.2rem;
  line-height: 1;
  text-align: center;
  padding-top: 4px;
}

.header_check .fs-client-subscriptionCart-count {
  width: 20px;
  height: 20px;
  position: absolute;
  background: #d0281a;
  padding: 6px;
  border-radius: 50%;
  line-height: 1rem;
  text-align: center;
  font-size: 1.3rem;
  top: -4px;
  right: -7px;
  color: #fff;
  z-index: 2;
}

@media screen and (max-width: 1110px) {
  .header_check .send__pay {
    width: 170px;
  }

  .header_check .head__tel {
    width: 150px;
  }

  .header_check .icon_tel {
    font-size: 2rem;
    background-size: 18px 18px;
  }

  .header_check .micros {
    letter-spacing: 0px;
  }
}

@media screen and (max-width: 959px) {
  .header_check .w_arrow .sponly {
    display: block;
  }
}

@media screen and (max-width: 800px) {
  .header_check .act__icons .act__icons--list p {
    font-size: 1.1rem;
  }
}

@media screen and (max-width: 767px) {
  .header_check .head_act {
    padding-right: 0px;
  }

  .header_check .act__icons .act__icons--list p {
    font-size: 0.8rem;
  }

  .header_check .act__icons .act__icons--list {
    width: 40px;
  }

  .header_check .head_act--official {
    display: none;
  }
}
/* 250610 ヘッダー改修 */

/* 250616 TOPレコメンドエリア */
.toprec_area .circle__btn {
  max-width: 470px;
  margin: 40px auto;
}

.toprec_area .circle__btn a {
  color: #ea5505;
}

.toprec_area {
  max-width: min(calc(100% - 40px), 1120px);
  margin: 0 auto 100px;
}

.toprec_area .tit {
  font-size: 3rem;
  margin-bottom: 25px;
  text-align: center;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.toprec_area .txt {
  text-align: center;
  margin-bottom: 20px;
}

.toprec_list ul {
  padding-top: 20px;
  gap: 0 40px;
}

.toprec_area .sort_box--list,
.toprec_area .sort_box--list:nth-child(2n) {
  margin: 0px;
}

.toprec_area .sort_box {
  flex-wrap: nowrap;
}

.pop_morepage .sort_box {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px 5%;
  margin-bottom: 50px;
}

.pop_morepage .sort_box--list {
  width: 100%;
}

@media screen and (max-width: 767px) {
  .toprec_list ul {
    width: max-content;
    justify-content: flex-start;
  }

  .toprec_list .sort_box--list {
    width: 230px;
    margin: 0px;
  }

  .toprec_area .tit {
    font-size: 2.2rem;
    margin-bottom: 20px;
  }

  .toprec_list ul {
    gap: 0 2%;
  }

  .toprec_area .txt {
    margin-bottom: 10px;
  }

  .pop_morepage .sort_box {
    grid-template-columns: repeat(2, 1fr);
    gap: 40px 6%;
  }

  .pop_morepage .sort_box--list {
    margin: 0px;
  }
}

@media screen and (max-width: 450px) {
  .toprec_list .sort_box--list {
    width: 140px;
  }

  .toprec_area {
    margin: 0 auto 80px;
  }
}
/* 250616 TOPレコメンドエリア */

/* ハンバーガーメニュー */
.oc_btn {
  background: #eb5606;
  width: 50px;
  height: 50px;
  color: #fff;
  font-size: 1rem;
  font-weight: 600;
  text-align: center;
  margin: 0 0 0 auto;
  display: grid;
  justify-items: center;
  grid-template-rows: 12px 17px;
  gap: 2px 0;
  padding: 10px;
  position: fixed;
  right: 0;
  z-index: 1;
}

.hmin.login {
  display: grid;
  grid-template-columns: auto 50px;
}

.hmin.logout {
  display: grid;
  grid-template-columns: 100%;
}

#foot_nav .fs-client-subscriptionCart-count {
  width: 20px;
  height: 20px;
  position: absolute;
  background: #d0281a;
  padding: 6px;
  border-radius: 50%;
  line-height: 1rem;
  text-align: center;
  font-size: 1.3rem;
  top: -4px;
  right: -7px;
  color: #fff;
  z-index: 2;
}

.hmin .txt {
  font-size: 1.4rem;
  background: #f8f1ec;
  width: 100%;
  padding: 13px 14px;
}

.topmy_box {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr);
  border-bottom: 1px solid #ccc;
  border-top: 1px solid #ccc;
  margin-bottom: 20px;
}

.topmy_box a {
  display: grid;
  justify-items: center;
  font-size: 1.4rem;
  padding: 10px;
}

.topmy_box .hm_topre {
  border-left: 1px solid #ccc;
}

.sp_hm .spf__item {
  margin: 0 20px 20px 20px;
}

.sp_hm .b_content {
  margin: 0 20px 40px 20px;
}

.ppage_link {
  margin-bottom: 40px;
}

.ppage_link li a {
  display: flex;
  gap: 0 20px;
  align-items: center;
  background: #f8f1ec;
  padding: 12px 25px;
  margin-bottom: 1px;
}

.ppage_link li img {
  min-height: 22px;
  min-width: 22px;
}

.ppage_link li span {
  background: url(https://sowakajuen.itembox.design/item/common/img/arrow.svg) no-repeat center right;
  display: block;
  width: 100%;
}
.sp_hm {
  display: none;
  position: fixed;
  top: 0px;
  left: 0px;
  width: 100%;
  height: calc(100% - 61px);
  background: rgb(255, 255, 255);
  z-index: 9999;
  overflow-y: auto;
}

.redcart a {
  background: #ea5505;
}

/* 250612 商品を探す */
.goodssearch .fs-l-pageMain {
  width: 100%;
}

.searchpage_mv {
  margin-bottom: 80px;
}

.goodssearch .fs-l-main {
  margin: -20px auto 60px;
}

/* 共通 */
.searchpage_tit {
  font-size: 3.5rem;
  text-align: center;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  margin-bottom: 35px;
}

.b_content {
  margin-bottom: 80px;
}

/* 今人気のカテゴリ */
.nowrec {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}

.nowrec a:nth-child(1) {
  grid-column: span 2;
}

/* 総合人気ランキング */
.eng.center {
  text-align: center;
}

.free_rank .txt {
  text-align: center;
  margin-bottom: 45px;
}

.free_rank .orangeline {
  max-width: 360px;
  margin: 45px auto 0;
  text-align: center;
  box-shadow: 0 0 0 1px #ea5505 inset;
  border-radius: 40px;
  padding: 15px 20px;
}

.free_rank .orangeline span {
  background: url(https://sowakajuen.itembox.design/item/common/img/orange__arrow.svg) no-repeat right center;
  background-size: 20px 9px;
  padding-right: 20px;
  display: block;
}

.free_rank .orangeline a {
  color: #ea5505;
}

/* カテゴリから探す */
.search_cate {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  align-items: flex-start;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  margin-top: 50px;
}

.cateblock {
  font-size: 1.6rem;
  border: 1px solid #ccc;
  border-radius: 4px;
  align-items: center;
  padding: 5%;
  display: grid;
  grid-template-columns: 66px auto;
  gap: 0 20px;
}

.cateblockopen {
  grid-column: span 2;
}

.cateblockopen .list {
  background: #eb5606;
}

.cateblockopen .list a {
  color: #fff;
  padding: 10px 15px;
  display: block;
}

.cateblockopen .list span {
  background: url(https://sowakajuen.itembox.design/item/common/img/white_arrow.svg) no-repeat center right;
  background-size: 14px;
  display: block;
}

.cateblockopen ul {
  margin-top: 20px;
}

.cateblockopen li {
  background: #f8f1ec;
  margin-bottom: 2px;
}

.cateblockopen li a {
  padding: 10px 15px;
  display: block;
}

.cateblockopen li span {
  background: url(https://sowakajuen.itembox.design/item/common/img/arrow.svg) no-repeat right center;
  background-size: 14px;
  display: block;
}

.catemoreblockopen ul {
  margin-top: 0px;
}

.catemoreblockopen li {
  background: #fff;
  border-bottom: 1px solid #cccccc;
  margin-bottom: 0px;
}

.catemoreblockopen li span {
  background: url(https://sowakajuen.itembox.design/item/common/img/arrow.svg) no-repeat right center !important;
  background-size: 14px !important;
  display: block;
}

.cateblockopen .moreblock span {
  background: none;
}

.catemoreblockopen li:last-child {
  border-bottom: none;
}

.cateblock.nolink {
  display: block;
  padding: 0px;
}

.cateblock.nolink a {
  display: grid;
  grid-template-columns: 66px auto;
  align-items: center;
  padding: 5%;
  gap: 0 20px;
}

.cateblock.nolink span {
  background: url(https://sowakajuen.itembox.design/item/common/img/arrow.svg) no-repeat right center !important;
  background-size: 21px 9px;
}

.cateblock.nolink .m__cate--name::before,
.cateblock.nolink .m__cate--name::after {
  content: none;
}

.cateblock.nolink .m__cate--name {
  padding-right: 0px;
}

.cateblock .m__cate--name {
  position: relative;
  padding-right: 20px;
  width: 100%;
}

.cateblock .m__cate--name .cate__arrow {
  background: none;
}

/* 横棒（−） */
.cateblock .m__cate--name::before {
  content: "";
  position: absolute;
  right: 0px;
  top: 50%;
  width: 21px;
  height: 1px;
  background: #707070;
  transform: translateY(-50%);
}

/* 縦棒（｜） */
.cateblock .m__cate--name::after {
  content: "";
  position: absolute;
  right: 10px;
  top: 50%;
  width: 1px;
  height: 21px;
  background: #707070;
  transform: translateY(-50%);
}

/* 開いているときは縦棒を非表示（マイナスになる） */
.cateblock.is-open .m__cate--name::after {
  display: none;
}

.moreblock > a {
  position: relative;
  padding-right: 24px; /* アイコンの余白確保 */
}

/* 横棒（−）は常に表示 */
.moreblock > a::before {
  content: "";
  position: absolute;
  right: 15px;
  top: 50%;
  width: 14px;
  height: 0.5px;
  background: #707070;
  transform: translateY(-50%);
}

/* 縦棒（｜）は閉じているときだけ表示 */
.moreblock > a::after {
  content: "";
  position: absolute;
  right: 21px;
  top: 50%;
  width: 0.5px;
  height: 14px;
  background: #707070;
  transform: translateY(-50%);
}

/* 開いているときは縦棒を非表示（マイナスになる） */
.moreblock.is-open > a::after {
  display: none;
}

.first_rec.log {
  position: relative;
  margin-bottom: 80px;
}

.first_rec .client--box {
  position: absolute;
}

.client--box .huyo {
  margin-bottom: 8%;
}

.first_rec .client--box .name {
  margin-bottom: 4%;
}

.first_rec .client--box .thx {
  font-size: 1.6rem;
}

.first_rec .client--box {
  top: calc(30% + 1em);
}

.first_rec .point--add {
  font-size: 2.4rem;
  color: #ea5305;
}

@media screen and (max-width: 959px) {
  .first_rec .client--box .thx {
    font-size: 3.2vw;
  }

  .first_rec .client--box {
    width: 100%;
    top: calc(26% + 1em);
  }

  .first_rec .client--box .name,
  .client--box .point {
    margin-bottom: 2%;
  }

  .first_rec .client--box .thx,
  .client--box .huyo {
    margin-bottom: 4%;
  }

  .first_rec .point--add {
    font-size: 3vw;
  }
}

@media screen and (max-width: 767px) {
  .searchpage_mv,
  .b_content {
    margin-bottom: 40px;
  }

  .searchpage_tit {
    font-size: 2.4rem;
    margin-bottom: 15px;
  }

  .search_cate {
    grid-template-columns: 100%;
    gap: 5px;
    margin-top: 25px;
  }

  .search_cate .sponly {
    display: none;
  }

  .search_cate .m__cate--name {
    font-size: 1.6rem;
  }

  .search_cate .m__cate--icon {
    margin: 0px;
    width: 100%;
  }

  .search_cate .cate__arrow {
    padding-bottom: 0px;
  }

  .cateblock {
    padding: 8px;
  }

  .cateblock.nolink a {
    padding: 8px 20px 8px 8px;
  }

  .cateblockopen ul {
    margin-top: 14px;
  }

  .cateblock .m__cate--name::after {
    right: 20px;
  }

  .cateblock .m__cate--name::before {
    right: 10px;
  }

  .free_rank .txt {
    margin-bottom: 30px;
    font-size: 1.4rem;
    line-height: 1.5;
  }

  .free_rank .orangeline {
    margin: 20px auto 60px;
  }

  .goodssearch.fs-l-main {
    margin: -25px auto 50px;
  }

  .first_rec.log {
    margin-bottom: 40px;
  }

  .nowrec {
    gap: 8px;
  }
}

@media screen and (max-width: 480px) {
  .first_rec .client--box .name,
  .first_rec .client--box .point,
  .client--box .huyo,
  .first_rec .client--box .thx,
  .first_rec .client--box .point,
  .first_rec .point--add {
    font-size: 1.4rem;
  }

  .first_rec .client--box {
    top: calc(24% + 1em);
  }
}
/* 250612 商品を探す */

/* 250617 メインビジュアル */
.mvarea {
  background: #fffaee;
  margin-bottom: 60px;
}

.mvarea .tit {
  font-size: 5.6rem;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  line-height: 1;
  background: url(https://sowakajuen.itembox.design/item/common/img/irasuto_mikan.png) no-repeat;
  padding: 50px 0px;
  margin-bottom: 38px;
}

.mvarea .tit .orange {
  font-size: 8.4rem;
  color: #ea5505;
}

.mvarea .mv_in {
  display: grid;
  grid-template-columns: auto auto;
  max-width: min(calc(100% - 40px), 1120px);
  margin: 0 auto;
  padding: 30px 0;
  gap: 0 40px;
}

.mvarea .mv_right {
  margin: 0 0 0 auto;
  display: grid;
  gap: 20px 0;
}

.mvarea .f_box {
  position: relative;
}

.mvarea .s_box {
  margin-right: 100px;
  position: relative;
}

.mvarea .t_box {
  margin-left: 100px;
  margin-top: auto;
  z-index: 1;
}

.mvarea .movie video {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  object-position: top;
  border-radius: 10px;
  display: block;
}

.mvarea .more_txt {
  margin-top: 10px;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.mvarea .more_txt span {
  background: url(https://sowakajuen.itembox.design/item/common/img/mv_morecircle.svg) no-repeat center right;
  padding: 0 20px 0 0;
}

.mvarea .mainimg {
  max-width: 700px;
}

.mvarea .f_box picture {
  position: relative;
  z-index: 1;
}

.mvarea .minimg {
  position: relative;
  z-index: 1;
}

.mvarea .minimg,
.mvarea .movie {
  max-width: 280px;
}

.mvarea .mikan_leaf {
  position: absolute;
  top: 35px;
  right: -90px;
  max-width: 110px;
  z-index: 1;
  pointer-events: none;
}

.mvarea .ten {
  position: absolute;
  bottom: 66px;
  right: -108px;
  max-width: 170px;
  z-index: 1;
  pointer-events: none;
}

.mvarea .animation {
  transition: transform 0.3s ease, filter 0.3s ease;
  display: block;
  position: relative;
  z-index: 2;
}

.mvarea .animation:hover {
  transform: scale(0.96);
  opacity: 1;
}

.mvarea .animation img:hover {
  opacity: 1;
}

@media screen and (max-width: 959px) {
  .mvarea {
    margin-bottom: 50px;
  }

  .mvarea .mikan_leaf,
  .mvarea .ten {
    display: none;
  }

  .mvarea .s_box {
    margin-right: 0px;
  }

  .mvarea .t_box {
    margin-left: 0px;
  }

  .mvarea .tit {
    writing-mode: vertical-lr;
    letter-spacing: 5px;
    background: url(https://sowakajuen.itembox.design/item/common/img/irasuto_mikan_sp.png) no-repeat;
    padding: 10px 25px;
    background-position: center top 20px;
    margin: 0 auto;
  }

  .mvarea .mv_in {
    grid-template-columns: 100%;
    gap: 20px 0;
    padding: 20px 0;
  }

  .mvarea .mv_left {
    display: grid;
    grid-template-columns: auto auto;
  }

  .mvarea .mv_right {
    grid-template-columns: auto auto;
    gap: 0 14px;
    margin: auto;
    align-items: center;
  }

  .mvarea .minimg,
  .mvarea .movie {
    max-width: 100%;
  }
}

@media screen and (max-width: 660px) {
  .mvarea .tit {
    font-size: 4rem;
    padding: 10px 56px;
  }

  .mvarea .tit .orange {
    font-size: 6rem;
  }

  .mvarea .mv_left {
    margin-left: -15px;
    gap: 0 18px;
  }

  .mvarea .more_txt {
    margin-top: 2px;
  }

  .mvarea .mv_right {
    align-items: end;
  }
}

@media screen and (max-width: 500px) {
  .mvarea .tit {
    font-size: 2.4rem;
  }

  .mvarea .tit .orange {
    font-size: 4.3rem;
  }

  .mvarea .more_txt span {
    font-size: 1.1rem;
    background-size: 11px;
    padding: 0 14px 0 0;
  }
}

@media screen and (max-width: 430px) {
  .mvarea .movie {
    max-width: 130px;
  }

  .mvarea .minimg {
    max-width: 200px;
  }

  .mvarea .tit {
    padding: 10px 45px;
  }
}

@media screen and (max-width: 390px) {
  .mvarea .mv_right {
    gap: 0 10px;
  }

  .mvarea .mv_right {
    margin-right: -4px;
  }
}
/* 250617 メインビジュアル */
