@charset "UTF-8";
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

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

body {
  line-height: 1; }

a {
  text-decoration: none; }

b {
  font-weight: 500; }

h1, h2, h3, h4, h5, h6 {
  -webkit-font-feature-settings: pkna;
  font-feature-settings: pkna;
  letter-spacing: 1px; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

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

img {
  vertical-align: bottom;
  width: 100%;
  height: auto; }

button,
input {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: 0; }
  button:active, button:focus,
  input:active,
  input:focus {
    outline: 0; }

html,
body {
  background: var(--color-theme--lightblue);
  color: #333;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 300; }

a {
  color: #333;
  -webkit-transition: opacity .15s ease-in-out;
  -o-transition: opacity .15s ease-in-out;
  transition: opacity .15s ease-in-out; }
  a:hover {
    opacity: .7; }

:root {
    --color-theme: #625e5e;
    --color-theme--blue: #55A0D9;
    --color-theme--lightblue: #E7F2FA;
    --color-theme--beige: #FAF9F6;
    --color-theme--pink: #F5A0A0;
}

::-webkit-input-placeholder {
  color: #555;
  font-size: 13px;
  font-weight: 100; }

:-ms-input-placeholder {
  color: #555;
  font-size: 13px;
  font-weight: 100; }

::-ms-input-placeholder {
  color: #555;
  font-size: 13px;
  font-weight: 100; }

::placeholder {
  color: #555;
  font-size: 13px;
  font-weight: 100; }

.products-list .c-items span, .c-items p {
  -webkit-box-orient: vertical;
  display: -webkit-box;
  overflow: hidden;
  word-break: break-all; }
  .products-list .c-items span {
    -webkit-line-clamp: 2; }
  .c-items p {
    -webkit-line-clamp: 3; }

.c-items {
  overflow-x: scroll;
  -webkit-overflow-scrolling: touch;
  white-space: nowrap; }

.c-btn, .c-btn--border, .product-btn {
  background: var(--color-theme--blue);
  border-radius: 28px;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-size: 15px;
  font-weight: 500;
  width: 200px;
  height: 56px; }
  .c-btn:hover, .c-btn--border:hover, .product-btn:hover {
    opacity: .7; }

.c-attention {
  color: #e72450;
  font-size: 18px;
  font-weight: 500; }

.c-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 32px; }
  .c-row > div {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1; }
    .c-row > div:not(:first-child) {
      margin-left: 20px; }

.c-block {
  text-align: center; }
  .c-block .c-btn {
    margin: 40px auto 0; }
  .c-block p {
    font-size: 15px;
    font-weight: 300;
    line-height: 25px;
    margin-top: 32px; }

.c-btn--border {
  background: #fff;
  border: 2px solid var(--color-theme--blue);
  color: var(--color-theme--blue); }

.c-h2 {
  font-size: 28px;
  font-weight: 300;
  text-align: center;
  color: var(--color-theme--blue); 
  }.c-h2 span {
    display: block;
    margin-top: 12px;
    font-size: 16px;
    font-weight: 500;
    color: #3D3C3D; }
  @media screen and (min-width: 1020px) {
    .c-h2 {
      margin-bottom: 50px;
      font-size: 32px; }
      .c-h2 span {
        font-size: 24px; } }

.c-h3 {
  font-size: 15px;
  font-weight: 600;
  line-height: 19px;
  margin-top: 8px;
  text-align: center; }
  @media screen and (min-width: 1020px) {
    .c-h3 {
      font-size: 24px;
      font-weight: 500;
      line-height: 28px; } }

.c-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column; }
  @media screen and (min-width: 1020px) {
    .c-flex {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -ms-flex-direction: row;
      flex-direction: row; } }

.c-items {
  counter-reset: item;
  font-size: 0;
  padding: 8px 10px; }
  .c-items.js-panel.is-show {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  .c-items a {
    background: #fff;
    -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: inline-block;
    position: relative;
    width: 166px; }
    .c-items a + a {
      margin-left: 10px; }
  .c-items div {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    white-space: normal;
    padding: 8px 8px 12px;
    height: 100px; }
    .c-items div.thumbnail-container {
      margin: 0;
      padding: 0;
      position: relative;
      width: 100%; }
      .c-items div.thumbnail-container:before {
        content: "";
        display: block;
        padding-top: 100%; }
    .c-items div.thumbnail {
      margin: 0;
      padding: 0;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0; }
      .c-items div.thumbnail > img {
        -o-object-fit: cover;
        object-fit: cover;
        width: 100%;
        height: 100%; }
  .c-items p {
    font-size: 14px;
    line-height: 17px; }
  .c-items b {
    display: block;
    font-size: 16px;
    font-weight: 500;
    margin-top: 12px; }
  @media screen and (min-width: 1020px) {
    .c-items {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      overflow-x: visible;
      padding: 0;
      white-space: normal; }
      .c-items a {
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1; }
      .c-items p {
        -webkit-line-clamp: 2; } }

.c-tab {
  background: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 18px;
  font-weight: 500;
  margin: 0 auto;
  max-width: 1020px;
  height: 56px; }
  .c-tab div,
  .c-tab a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    height: 100%; }
  .c-tab a {
    background: #f3f3f3;
    color: #767676; }
  @media screen and (min-width: 1020px) {
    .c-tab {
      font-size: 24px;
      height: 104px; } }

.c-rating {
  font-size: 12px;
  position: relative;
  width: 6em; }

.c-rating__front {
  color: var(--color-theme--blue);
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0; }

.c-rating__back {
  color: #eee; }

.c-rating__0 {
  width: 0; }

.c-rating__5 {
  width: 10%; }

.c-rating__10 {
  width: 20%; }

.c-rating__15 {
  width: 30%; }

.c-rating__20 {
  width: 40%; }

.c-rating__25 {
  width: 50%; }

.c-rating__30 {
  width: 60%; }

.c-rating__35 {
  width: 70%; }

.c-rating__40 {
  width: 80%; }

.c-rating__45 {
  width: 90%; }

.c-rating__50 {
  width: 100%; }

.c-panel__head {
  background: #f3f3f3;
  border: 1px solid #eee;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-size: 24px;
  font-weight: 500;
  height: 104px; }

.c-panel__body {
  background: #fff;
  border: 1px solid #eee;
  padding: 40px; }
  .c-panel__body form {
    margin-top: 40px; }
  .c-panel__body input:not([type="checkbox"]):not([type="submit"]) {
    border: 1px solid #eee;
    border-radius: 4px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 0 10px;
    width: 100%;
    height: 40px; }
  .c-panel__body input + input {
    margin-top: 20px; }
  .c-panel__body label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 20px; }
    .c-panel__body label input[type="checkbox"] {
      background: #eee;
      border-radius: 4px;
      margin-right: 8px;
      width: 16px;
      height: 16px; }
  .c-panel__body p {
    font-size: 16px;
    line-height: 24px; }
  .c-panel__body .c-btn {
    margin: 24px auto 0;
    width: 276px; }
    .c-panel__body .c-btn + p {
      margin-top: 32px; }

.c-panel__link {
  margin-top: 40px;
  text-align: center; }
  .c-panel__link a {
    font-size: 14px;
    text-decoration: underline; }

.js-panel {
  display: none; }
  .js-panel.is-show {
    display: block; }

.label-new:before {
  background: url(../img/common/label-new.svg) no-repeat center;
  background-size: 100%;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 66px;
  height: 66px; }

.l-wrapper {
  margin-top: 88px;
}@media screen and (min-width: 768px) {
  .l-wrapper {
    margin-top: 116px;
    padding-top: 1.75rem;}}

.l-wrapper.is-active .l-content,
.l-wrapper.is-active .l-footer {
  display: none; }

@media screen and (min-width: 768px) {
  .l-wrapper.is-active .l-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  .l-wrapper.is-active .l-footer {
    display: block; } }

.l-content {
  position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
  display: flex;
  margin: 5.5rem auto 0;
  padding-top: 5rem;
  padding-bottom: 50px;
  width: 100%;
  background: #fff; }
  .l-content > div:only-child {
    width: 100%; }
  @media screen and (min-width: 768px) {
    .l-content {
      padding-top: 6rem;
      margin-top:7.25rem;}
  }

#customers-sessions.l-content ,#customers-registrations.l-content{
  background-color: var(--color-theme--lightblue);
}

.l-main {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1; }

.col-md-3 {
  display: none; }

.alert {
  border: 1px solid transparent;
  border-radius: 4px;
  margin: 20px auto;
  padding: 15px;
  max-width: 1020px; }
  .alert .alert-link {
    font-weight: 500; }
  .alert h4 {
    color: inherit;
    margin-top: 0; }
  .alert > p,
  .alert > ul {
    margin-bottom: 0; }
  .alert > p + p {
    margin-top: 5px; }

.alert-dismissable,
.alert-dismissible {
  padding-right: 35px; }
  .alert-dismissable .close,
  .alert-dismissible .close {
    color: inherit;
    position: relative;
    top: -2px;
    right: -21px; }

.alert-success {
  background-color: var(--color-theme--lightblue);
  border-color: var(--color-theme--blue);
  color: var(--color-theme--blue); }
  .alert-success hr {
    border-top-color: var(--color-theme--lightblue); }
  .alert-success .alert-link {
    color: var(--color-theme--blue); }

.alert-info {
  background-color: #d9edf7;
  border-color: #bce8f1;
  color: #31708f; }
  .alert-info hr {
    border-top-color: #a6e1ec; }
  .alert-info .alert-link {
    color: #245269; }

.alert-warning {
  background-color: #fcf8e3;
  border-color: #faebcc;
  color: #8a6d3b; }
  .alert-warning hr {
    border-top-color: #f7e1b5; }
  .alert-warning .alert-link {
    color: #66512c; }

.alert-danger {
  background-color: #f2dede;
  border-color: #ebccd1;
  color: #a94442; }
  .alert-danger hr {
    border-top-color: #e4b9c0; }
  .alert-danger .alert-link {
    color: #843534; }

@media screen and (min-width: 1020px) {
  .sp {
    display: none; } }

.pc {
  display: none; }
  @media screen and (min-width: 1020px) {
    .pc {
      display: block; } }

.l-header {
  background: #fff;
  -webkit-box-shadow: 1px 0px 4px rgba(0, 0, 0, 0.1);
  box-shadow: 1px 0px 4px rgba(0, 0, 0, 0.1);
  width: 100%;
  position: fixed;
  top: 0;
  z-index: 5000;
  width: 100%;
  }

.l-header__top { 
  border-bottom: 1px solid #eee;
  background: #fff; 
  width: 100%;
}
/* @media screen and (min-width: 768px) {
  .l-header__top {
    position: relative;
    position: fixed;
    top: 0;
    z-index: 5000;
    }
  } */
@media screen and (max-width: 767px) {
  /* .l-header {
    position: fixed;
    top: 0;
    z-index: 5000;
    width: 100%;
  } */
  /* .l-header__top {
    position: unset;
  } */
}

.l-header__outer {
  margin: 0 auto;
  position: relative;
  padding: 0 0 0 5rem;
  /* max-width: 1200px; */
 }
  .l-header__outer .c-btn {
    display: none;
    font-size: 13px;
    width: 120px;
    height: 32px;
    box-sizing: content-box;
   }
  .l-header__outer .c-btn span {
    color: #fff;
  }
  .l-header__outer .c-btn img {
  width: 19px; }
.l-header__outer--sp {
  position: relative;
  width: 100%;
  padding: 0;
}
@media screen and (min-width: 768px) {
  .l-header__outer .c-btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-direction: row;
    align-items: center;
    font-weight: 600;
    padding: 5px;
    width: 140px;
  } .l-header__outer .c-btn img {
    margin-bottom: 0;
    margin-right: 5px;
  }
  .l-header__outer--sp {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .l-header__outer.only-pc {
    display: none;
  }
}

.l-header__inner {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin: 0 auto;
  padding: 0 15px;
  width: 100%;
  height: 64px; }
.l-header__inner--sp {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 36px;
}
@media screen and (min-width: 768px) {
  .l-header__inner {
    justify-content: space-between;
    padding: 0;
    max-width: 1200px;
    height: 64px; } }

.l-header__logo {
  width: 100%;
    max-width: 118px;
  margin: 0 10px; }
.l-header__logo--sp {
  display: block;
  width: 100px;
  background-color: #87ACD3;
  padding: 0.125rem 0.75rem;
  text-align: center;
  height: 100%;
  box-sizing: border-box;
}.l-header__logo--sp img {
  display: block;
  width: 75px;
  height: 100%;
  margin: auto;
  object-fit: contain;
}
@media screen and (min-width: 768px) and (max-width: 1020px) {
  .l-header__logo {
    max-width: 100px; } }
@media screen and (min-width: 768px) {
  .l-header__logo {
    position: absolute;
      left: 50%;
    transform: translate(-50%, 0);
    max-width: 146px;
    margin: 0; } }

.l-header__search {
  display: none;
  position: relative; }
  .l-header__search button {
    background: url(../img/common/icon-search.svg) no-repeat center;
    background-size: 99%;
    margin: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 12px;
    width: 14px;
    height: 14px; }
  .l-header__search input {
    background-color: #EDEDED;
    border-radius:4px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 11px 12px 11px 36px;
    width: 260px;
    height: 36px; }
.l-header__search--sp {
  position: relative;
  flex: 1;
  height: 100%;
  background-color: #EDEDED;
}.l-header__search--sp input {
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  height: 100%;
  background-color: #EDEDED;
}.l-header__search--sp button {
  background: url(../img/common/icon-search.svg) no-repeat center/contain;
  margin: auto;
  position: absolute;
  top: 50%;
  right: 0.75rem;
  width: 15px;
  height: 15px;
  transform: translateY(-50%);
}
.l-header__link--sp {
  display: block;
  padding: 0.25rem 1.125rem;
  box-sizing: border-box;
}.l-header__link--sp img{
  display: block;
  width: 20px;
}
/* 768px ~ 1020px */
@media screen and (min-width: 768px) and (max-width: 1020px) {
  .l-header__search input {
    width: 200px; } }
@media screen and (min-width: 768px) {
  .l-header__search {
    display: block; } }

#headerMenu {
  overflow: scroll;
  width: 100%;
  height: 100vh;
  transition: all linear .3s;
  opacity: 0;
  visibility: hidden;
  max-width: 300px;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  background: #fff;
}#headerMenu.is-active {
  opacity: 1;
  transition: all linear .3s;
  visibility: visible;
}
@media screen and (min-width: 768px) {
  #headerMenu {
    
  }
}

.l-header-menu {
  padding: 0 0 1rem 0;
  font-size: 0.75rem;
}
.l-header-menu .icon-menu-close {
  position: absolute;
  top: 1.25rem;
  left: 1.25rem;
  width: 15px;
  height: 15px;
  background: url('../img/2024-common/header/icon-menu-close.svg') no-repeat center / cover;
}
.l-header-menu__ttl {
  display: block;
  padding: 0 1rem ;
  margin-top: 2.5rem;
  color: #808080;
}
.js-header-menu-btn,.header-menu-items__item span {
  position: relative;
  display: block;
  padding: 1rem 0;
  border-bottom: solid 1px #DCDBDB;
  }.js-header-menu-btn::before{
    content: '';
    position: absolute;
    top: 40%;
    right: 10px;
    width: 10px;
    height: 10px;
    border: solid 1px #4E4B4A;
    border-width: 0 1px 1px 0;
    transform: rotate(45deg) translateY(-50%);
  }.js-header-menu-btn.is-active::before{
    border-width: 1px 0 0 1px;
  }

.l-header-menu__user {
  width: 100%;
  padding: 5rem 1rem 2rem;
  box-sizing: border-box;
  background-color: #F6F6F6;
}
.header-menu-user__icon a + a {
  margin-top: 1.375rem;
}
.header-menu-user__icon a{
  display: flex;
  align-items: center;
}.header-menu-user__icon img {
  display: block;
  margin-right: 0.75rem;
  max-width: 34px;
  min-width: 34px;
}

.heder-menu-items {
  margin: 1rem auto 1.5rem;
  padding: 0 1rem;
}
.header-menu-items__item {
  border-bottom: solid 1px #DCDBDB;
}
.js-header-menu-accordion,.js-header-menu_bottom-accordion {
  display: none;
}
.header-menu-subitems {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  padding: 1rem 0 1rem 1.5rem;
}
.header-menu-subitems a {
  color: #808080;
}.header-menu-subitems a:hover {
  color: #87ACD3;
  font-weight: 400;
}
.header-menu-cp__inner {
  display: flex;
  gap: 1.25rem;
  align-items: center;
  justify-content: center;
  margin: auto;
  padding: 1rem;
  width: 100%;
  max-width: 270px;
  background-color: #D1EBF9;
  font-size: 1rem;
  line-height: 1.5;
  box-sizing: border-box;
}
.header-menu-cp__inner  #icon-header-line {
  flex: 1;
  min-width: 50px;
  max-width: 50px;
}

#headerSearch {
  display: none;
  border: solid #d1d1d1;
  border-width: 2px 0;
  }#headerSearch .l-header__search {
    display: block;
  }#headerSearch .l-header__search button {
    display: none;
  }#headerSearch .l-header__search input {
    width: 100%;
    border: none;
    border-radius: 0;
  }

.l-header__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  align-items: center;
  font-size: 10px; }
  .l-header__nav img {
    display: block;
    margin-bottom: 6px;
    width: 28px; }
  .l-header__nav a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    white-space: nowrap;
    width: 32px;
    color: #333; }
    .l-header__nav a + a {
      margin-left: 15px; }
    .l-header__nav .c-icon--nav {
        opacity: 0.8;
    }.l-header__nav a.hide-sp {
      display: none;
    }
    .l-header__nav #navCart {
      position: relative;
    }
    .l-header__nav #navCart .icon-cart_quantity {
      position: absolute;
      top: -8px;
      right: -11px;
      width: 20px;
      height: 20px;
      background-color: #fb696a;
      color: #fff;
      font-size: 0.75rem;
      line-height: 20px;
      text-align: center;
      border-radius: 50%;
    }
  @media screen and (min-width: 768px) {
    .l-header__nav {
      padding-right: 1rem;
      font-size: 13px; }
      .l-header__nav img {
        display: inline;
            align-items: center;
        vertical-align: middle;
        margin-bottom: 0;
        width: 2rem;
       }
      .l-header__nav a {
        width: fit-content;
        white-space: inherit; }
        .l-header__nav a + a {
          margin-left: 24px; }
        .l-header__nav a.hide-sp {
          display: flex;
        } }
    /* 768px ~ 1020px */
    @media screen and (min-width: 768px) and (max-width: 1020px) {
      .l-header__nav {
        width: 100%;
        max-width: 400px;
      }
      .l-header__nav a + a {
        margin-left: 1rem;
      }
    }

.l-header__menu {
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 10px;
  white-space: nowrap;
  width: fit-content;
  transform: translate(0, -50%);
    position: absolute;
    top: 50%;
    left: 1.25rem;
 }.l-header__menu.only-sp {
  display: flex;
  /* position: unset; */
 }
  .l-header__menu span {
    width: 18px;
    height: 15px;
    background: url('../img/2024-common/header/icon-menu.svg') no-repeat center / cover;
  }
  .l-header__menu.is-active span:before,
  .l-header__menu.is-active span:after {
    margin: auto;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0; }
  .l-header__menu.is-active span:before {
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg); }
  .l-header__menu.is-active span:after {
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg); }
  .l-header__menu.is-active ins {
    opacity: 0; }
  .l-header__menu button {
    flex-shrink: 0;
    width: 27px;
    height: 28px;
    background: url("../img/common/icon-search.svg") no-repeat center;
    background-size: 99%;
    opacity: 0.6;}
  @media screen and (min-width: 768px) {
    .l-header__menu.only-sp {
      display: none;
    }
    .l-header__menu button{
      display: none;}
  }

.l-header__bottom {
  display: flex;
  border-bottom: 1px solid #eee;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  height: 50px; }
  .l-header__bottom .header-menu-item {
    font-size: 14px;
    color: #333;}
    .l-header__bottom .header-menu-item + .header-menu-item {
      margin-left: 32px; }
@media screen and (min-width: 768px) {

 }
@media screen and (max-width: 767px) {
    .l-header__bottom {
      position: relative;
      padding-left: 3.2rem;
    }
    .l-header__bottom .header-menu-item.only-pc {
      display: none;
    }
    a.header-menu-item {
      font-size: 0.7rem !important;
    }

}
.l-header__accordion-btn {
  font-size: 14px;
  -webkit-transition: opacity .15s ease-in-out;
  -o-transition: opacity .15s ease-in-out;
  transition: opacity .15s ease-in-out; }
  .l-header__accordion-btn + .l-header__accordion-btn,
  .l-header__accordion-btn + a {
    margin-left: 32px; }

.l-header__accordion-btn span {
  position: relative;
  padding: 1.125rem 1rem;
  display: block;
  }.l-header__accordion-btn span:after {
    position: absolute;
    top: 50%;
    right: 0;
    background: url("../img/common/icon-arrow--bottom.svg") no-repeat top center/contain;
    background-size: 100%;
    content: "";
    width: 12px;
    height: 7px;
    transform: translateY(-50%);
  }
@media screen and (max-width: 767px) {
  .l-header__accordion-btn + .l-header__accordion-btn, .l-header__accordion-btn + a{
    margin: auto;
  }
  .l-header__accordion-btn,.l-header__bottom .header-menu-item {
    font-size: 0.625rem;
  }.l-header__accordion-btn span, a.header-bottom-items__item{
    padding: 0.75rem 0.25rem;
    font-size: 0.75rem;
  }.l-header__accordion-btn span:after {
    display: none;
  }
}

.l-header__accordion {
  display: block;
  overflow: hidden;
  opacity: 0;
  position: absolute;
    top: 50px;
    left: 50%;
  width: 100%;
    max-width: 832px;
  height: 0;
  z-index: 1;
  box-sizing: border-box;
  transform: translateX(-50%);
  transition: all .2s ease-in-out;
  background: #fff;
 }
  @media screen and (min-width: 768px) {
    .l-header__accordion {
      top: 110px;
    } }

.l-header__accordion-btn:hover .l-header__accordion,.l-header__accordion-btn.is-active .l-header__accordion {
  padding: 1.875rem 0.875rem;
  opacity: 1;
  height: max-content;
 }
 @media screen and (min-width: 768px) {
   .l-header__accordion-btn:hover .l-header__accordion,.l-header__accordion-btn.is-active .l-header__accordion {
     padding: 1.875rem 2.875rem;
    }

 }

/* .l-header__accordion-btn:hover .l-header__accordion--category {
  height: auto; } */

.l-header__accordion-btn:hover .l-header__accordion--bland,.l-header__accordion-btn.is-active .l-header__accordion--bland {
  height: 600px; }

.l-header__accordion-inner {
  font-size: 0;
  margin: 0 auto;
  max-width: 1020px; }

.l-header__accordion-link {
  display: inline-block;
  margin-top: 24px;
  width: 25%; }
  .l-header__accordion-link a {
    color: #333;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 16px;
    vertical-align: top; }
    .l-header__accordion-link a img {
      width: 46px; }

.header-bottom-items {
  display: flex;
  flex-wrap: wrap;
}
.header-bottom-items__item {
  flex: 1;
  min-width: 170px;
  max-width: calc(100%/3);
  box-sizing: border-box;
  color: #4E4B4A;
}a.header-bottom-items__item:hover {
  color: #31708f;
  font-weight: 400;
}.header-bottom-items__item span {
  position: relative;
}.header-bottom-items__item span::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 9px;
  height: 9px;
  background: url('../img/2024-common/header/icon-menu-plus.svg') no-repeat center / contain;
}.header-bottom-items__item span.is-active::after {
  background: url('../img/2024-common/header/icon-menu-minus.svg') no-repeat center / contain;
}
@media screen and (min-width: 768px) {
  .header-bottom-items {
    gap: 1.875rem;
    justify-content: center;
  }
}
.header-bottom-subitems {
  display: flex;
  flex-direction: column;
  gap: 0.785rem;
  }.header-bottom-subitems a {
    position: relative;
    padding-left:1rem;
    font-size: 0.75rem;
    color: #4E4B4A;
  }.header-bottom-subitems a:hover {
    color: #31708f;
    font-weight: 400;
  }.header-bottom-subitems a::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    width: 8px;
    height: 8px;
    transform: rotate(45deg);
  }
.js-header-menu_bottom-accordion {
  margin: 1rem auto;
}
.js-header-menu_bottom-btn {
  padding: 0;
}
@media screen and (min-width: 768px) {
  .header-bottom-subitems a {
    font-size: 0.875rem;
    padding-left: 1rem;

  }
  
}

.l-header__bland-img {
  background: #fff;
  border-radius: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-right: 8px;
  width: 56px;
  height: 56px; }

.l-footer {
  padding: 0 0 3.875rem;
  background-color: #87ACD3;
}
@media screen and (max-width: 767px) {
  .l-footer {
    padding-bottom: 3.125rem;
  }
}
.l-footer__top{
  margin-right: auto;
  margin-left: auto; }
  @media screen and (min-width: 768px) {
    .l-footer__top {
      width: 1020px; } }

.l-footer__top {
  background: #ffffff;
  border: 2px solid #3b90d4;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #3b90d4;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  font-weight: 500;
  margin: 0 16px; }
  .l-footer__top img {
    margin-left: 14px;
    width: 114px; }
  .l-footer__top div {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    padding-left: 10px; }
  .l-footer__top h2 {
    font-size: 15px;
    line-height: 21px;
    padding-right: 14px; }
  .l-footer__top p {
    font-size: 14px;
    line-height: 20px; }
  .l-footer__top .sp {
    font-weight: 100;
    padding: 16px; }
  .l-footer__top .pc {
    margin-top: 14px; }
  @media screen and (min-width: 768px) {
    .l-footer__top {
      -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
      margin: 0 auto;
      padding: 40px; }
      .l-footer__top img {
        margin-left: 0;
        width: 150px; }
      .l-footer__top div {
        padding-left: 30px; }
      .l-footer__top h2 {
        font-size: 24px;
        line-height: 1;
        padding-right: 0; } }

/* .l-footer__middle {
  border-top: 2px solid #eee;
  margin-top: 24px;
  padding-top: 24px; }
  .l-footer__middle .c-flex {
    margin-top: 24px; }
    .l-footer__middle .c-flex div {
      -webkit-box-flex: 1;
      -ms-flex: 1;
      flex: 1; }
      .l-footer__middle .c-flex div:last-child {
        margin-top: 16px; }
  @media screen and (min-width: 768px) {
    .l-footer__middle {
      border: 0;
      margin-top: 80px;
      padding-top: 0; }
      .l-footer__middle .c-flex {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row; }
        .l-footer__middle .c-flex div:last-child {
          margin: 0 0 0 56px; } } */

.l-footer__bottom {
  padding-top: 30px;
  background: #fff; }
  .l-footer__bottom .c-h2 {
    margin-bottom: 0;
  }
@media screen and (min-width: 768px) {
  .l-footer__bottom {
    border: 0;
    padding: 55px 0 0;} }
@media screen and (max-width: 767px) {
  .l-footer__bottom {
    padding-top: 0;
  }
}
    
/* footer-member-program */
.footer-member-program {
  padding-bottom: 2.125rem;
}.footer-member-program-inner {
  padding: 3rem 1rem;
  width: 100%;
  max-width: 1160px;
  margin: auto;
  box-sizing: border-box;
}
.footer-member-program-ttl {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 5.25rem;
  gap: 4.4rem;
}.footer-member-program-ttl h2 {
  position: absolute;
  bottom: -1.5rem;
  left: 50%;
  transform: translateX(-50%);
  letter-spacing: 1.54;
  color: #808080;
  font-size: 1rem;
}.footer-member-program-ttl .footer-member-program-ttl_bar {
  flex: 1;
  display: block;
  border-top: solid 2px #CACACA;
  border-radius: 1px;
}
.footer-member-program-content img{
  height: 71px;
}.footer-member-program-content #icon-footer-resister {
  max-width: 45px;
}.footer-member-program-content #icon-footer-point {
  max-width: 71px;
}.footer-member-program-content #icon-footer-birthday {
  max-width: 92px;
}.footer-member-program-content #icon-footer-gift {
  max-width: 57px;
}.footer-member-program-content #icon-footer-notice {
  width: 108px;
}.footer-member-program-content #icon-footer-line {
  max-width: 110px;
}
.footer-member-program-items {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  line-height: 1.5;
}.footer-member-program-items__item {
  flex: 1;
  text-align: center;
}.member-program-ttl{
  /* text-align: center; */
  font-weight: 500;
  margin: 1rem auto;
  word-break: keep-all;
}.member-program-ttl + p{
  font-size: 0.75rem;
  font-weight: 400;
}
@media screen and (min-width: 768px) and (max-width: 1020px) {
  .footer-member-program-items {
    justify-content: center;
    row-gap: 2rem;
    margin: auto;
    max-width: 892px;
  }
  .footer-member-program-items__item {
    min-width: 30%;
  }
}
@media screen and (max-width: 767px) {
  .footer-member-program-inner {
    padding-top: 1.875rem;
  }
  .footer-member-program-ttl {
    margin-bottom: 3.25rem;
  }.footer-member-program-ttl span{
    max-width: 262px;
    margin-bottom: 0.5rem;
  }
  .footer-member-program-ttl h2 {
    bottom: -1rem;
    font-size: 0.75rem;
  }
  .footer-member-program-items__item {
    min-width: calc(33% - 0.66rem);
    max-width: calc(33% - 0.66rem);
  }
  .footer-member-program-content #icon-footer-resister {
    max-width: 30px;
  }.footer-member-program-content #icon-footer-point {
    max-width: 45px;
  }.footer-member-program-content #icon-footer-birthday {
    max-width: 60px;
  }.footer-member-program-content #icon-footer-gift {
    max-width: 36px;
  }.footer-member-program-content #icon-footer-notice {
    width: 70px;
  }.footer-member-program-content #icon-footer-line {
    max-width: 70px;
  }
  .member-program-ttl {
    word-break: break-word;
    font-size: 0.75rem;
    margin: 0.625rem auto 0.5rem;
  }.member-program-ttl + p {
    font-size: 0.625rem;
  }.footer-member-program-ttl .footer-member-program-ttl_bar {
    display: none;
  }
}

.l-footer__totop {
  position: fixed;
    bottom: 20px;
    right: 16px;
  display: block;
  width: 45px;
  height: 60px;
  z-index: 1000;
  transition: 0.3s;
  transform: translateY(-100%);
 }
  @media screen and (min-width: 768px) {
    .l-footer__totop {
      bottom: 60px;
      width: 60px;
      height: 90px;
    } }

.l-footer__btn {
  margin: 0 auto;
  padding: 10px 40px;
  display: block;
  width: fit-content;
  border-radius: 20px;
  background-color: var(--color-theme--blue);
  color: #fff;
}@media screen and (min-width: 768px) {
  .l-footer__btn {
    margin-top: 45px;
  }
}

.l-footer__nav {
  padding-top: 3.62rem;
  background-color: #87ACD3;
  color: #ffffff;}

.l-footer__accordion-btn{
    position: relative;
    font-size: 16px;
    font-weight: 300;
    padding: 12px 0 12px 12px;
    border-bottom: solid 1px #D1D1D1;
  }.l-footer__accordion-btn::before, .l-footer__accordion-btn::after {
    content: '';
    position: absolute;
      top: 50%;
      right: 20px;
    width: 14px;
    height: 2px;
    background: #d1d1d1;
  }.l-footer__accordion-btn::after {
    transform: rotate(90deg);
    transition: 0.2s;
    }.l-footer__accordion-btn.is-active::after {
      transform: rotate(0);
      transition: 0.2s;
    }

.l-footer__sns {
  margin: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 624px;
  gap: 2rem;
}.l-footer__sns a {
  display: block;
}.l-footer__sns #icon-footer-instagram img,.l-footer__sns #icon-footer-facebook img {
  width: 45px;
}.l-footer__sns #icon-footer-line {
  flex: 1;
  /* min-width: 100%; */
  max-width: 333px;
  }
@media screen and (min-width: 768px) {
  .l-footer__guide.only-sp,.l-footer__company.only-sp {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .l-footer__nav {
    padding-top: 0;
  }
  .l-footer__sns {
    flex-wrap: wrap;
    justify-content: center;
    padding: 1.625rem 1.75rem 1.25rem;
    gap: 1rem 1.5rem;
    box-sizing: border-box;
  }
  .l-footer__sns a {
    flex: 1;
  }.l-footer__sns #icon-footer-instagram, .l-footer__sns #icon-footer-facebook {
    min-width: 46px;
    max-width:46px;
  }.l-footer__sns #icon-footer-instagram{
    text-align: right;
  }.l-footer__sns #icon-footer-facebook {
    text-align: left;
  }.l-footer__sns #icon-footer-instagram img,.l-footer__sns #icon-footer-facebook img {
    width: 25px;
  }

  .l-footer__guide,.l-footer__company {
    background: #E9E9E9;
    font-size: 0.75rem;
    color: #4E4B4A;
  }
  .l-footer__nav .js-footer-toggle{
    position: relative;
    display: block;
    width: 100%;
    height: 40px;
    padding: 0 1.25rem;
    line-height: 40px;
    box-sizing: border-box;
    background: #D8D8D8;
    font-size: 1.125rem;
  }.l-footer__nav .js-footer-toggle::before,.l-footer__nav .js-footer-toggle::after{
    content: '';
    position: absolute;
    top: 50%;
    right: 1.25rem;
    width: 9px;
    height: 1px;
    background-color: #4E4B4A;
    transform: translateY(-50%);
    transition: transform 1s;
  }.l-footer__nav .js-footer-toggle::after{
    transform: rotate(90deg);
  }.l-footer__nav .js-footer-toggle.is-active::after{
    opacity: 0;
    visibility: hidden;
    transition: transform 1s;
  }
  .l-footer__guide a,.l-footer__company a {
    display: block;
    width: 100%;
    height: 38px;
    line-height: 38px;
    padding: 0 1.25rem;
    box-sizing: border-box;
  }
  .js-footer-toggle__content {
    padding: 0.75rem 0;
    background: #E9E9E9;
  }
  .l-footer__sns #icon-footer-line {
    min-width: 100%;
    }

}

.l-footer__policy {
  margin-top: 1.75rem;
  text-align: center; }
  .l-footer__policy a {
    color: #fff;
    font-size: 11px;
    word-break: keep-all; }
  .l-footer__policy span:before {
    content: "|";
    color: #fff;
    display: inline-block;
    font-size: 13px;
    margin: 0 4px;
    vertical-align: middle; }
  @media screen and (min-width: 768px) {
    .l-footer__policy a {
      font-size: 1rem; }
    .l-footer__policy span:before {
      margin: 18px;}
  }@media screen and (max-width: 767px) {
    .l-footer__policy.only-pc {
      display: none;
    }
  }

.l-footer__logo {
  margin: 3rem auto;
  padding: 0 1rem;
  box-sizing: border-box;
  text-align: center; }
  .l-footer__logo img {
    width: 100%;
    max-width: 250px;
  }
  @media screen and (max-width: 767px) {
    .l-footer__logo {
      margin: 0 auto 1.25rem;
    }
    .l-footer__logo img {
      max-width: 100px;
    }
}

.l-footer__copy {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  height: 50px;
  color: #fff; }
  .l-footer__copy small {
    font-size: 10px; }
  @media screen and (min-width: 768px) { 
    .l-footer__copy small {
      font-size: 13px; }
    }
  @media screen and (max-width: 767px) {
    .l-footer__copy {
      background-color: #fff;
      color: #4E4B4A;
      width: 100%;
      height: max-content;
      box-sizing: border-box;
      padding: 0.875rem 1rem;
    }
  } 

.l-footer__bottom-menu {
  display: none;
}
@media screen and (max-width: 767px) {
  .l-footer__bottom-menu {
    position: fixed;
      bottom: 0;
      left: 0;
    display: flex;
      gap: 0.25rem;
      justify-content: space-around;
    width: 100%;
    background-color: #fff;
    color: white;
    text-align: center;
    padding: 10px 0;
    border-top: solid 1px #87ACD3;
    z-index: 1000;
    /* box-shadow: 0 -2px 5px rgba(0,0,0,0.3); */
  }

  .l-footer__bottom-menu a {
    display: flex;
      flex-direction: column;
      align-items: center;
      gap: 0.25rem;
    color: white;
    text-decoration: none;
    font-size: 0.625rem;
    color: #87ACD3;
  }.l-footer__bottom-menu img {
    display: block;
    width: 25px;
    height: 25px;
  }

  /* .l-footer__bottom-menu a:hover {
      background-color: #555;
  } */
}

.breadcrumb {
  position: absolute;
    top: 0;
    left: 0;
  width: 100%;
  background: #fff;
  border-bottom: 3px solid #eee; }
  .breadcrumb ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      flex-wrap: wrap;
    font-size: 11px;
    margin: 0 auto;
    padding: 0 5px;
    width: 100%;
    height: 40px;
    box-sizing: border-box; }
  .breadcrumb li {
      position: relative;
    color: #625d5d; 
    }.breadcrumb li + li {
      padding-left: 20px;
    }
    .breadcrumb li:not(:first-child):before {
      content: ">";
      margin: 0 8px;
      position: absolute;
      top: 50%;
      left: 0;
      transform: translate(0, -50%); }
  .breadcrumb a {
    color: #625d5d; }
  @media screen and (min-width: 768px) {
    .breadcrumb ul {
      max-width: 936px; } }


/* 
TOP
================================
*/
#top .l-content {
  margin-top: 0;
  padding-top: 5.5rem;
  padding-bottom: 0;
  background: #fff;
  overflow: hidden;
 }

  #top .c-btn {
    margin: 40px auto 10px;
    width: 180px;
    height: 49px;
    background: var(--color-theme--blue);
    border: none;
    color: #fff;
    border-radius: 0;
  }
  @media screen and (min-width: 768px) {
    #top .l-content {
      margin-top: 7.25rem;
      padding-top: 3rem;
    }
    #top .c-btn {
      height: 37px;
      text-align: center;
      background: none;
      border: solid 1px #3D3C3D;
      color: #3D3C3D; }
  }

#top .c-h2 {
  font-weight: 500;
  margin-bottom: 10px;
}

/* slider */
.top-slider {
  margin-bottom: 4.375rem;
  padding-bottom: 38px;
  width: 100%;
  overflow: hidden;
  background: #fff;
}
.slick-list {
  width: 100%;
  box-sizing: border-box;
}
.top-slider .slick-slide img {
  opacity: 1;
}
.top-slider img {
  width: 100%;
  opacity: 0;
  height:auto;
}
.slider {
  width: 100%; }
.slick-slide {
    height: 55vw;
  }.slick-slide img {
    width: 100%;
    object-fit: contain;}
@media screen and (max-width: 767px) {
  .top-slider .slick-slide img {
    box-sizing: border-box;
  }
}
@media screen and (min-width: 768px) {
  .top-slider {
    margin-bottom: 4.375rem;
  }
  .slick-slide {
    margin: 0 5px 0;
    height: 600px;
  }
}
.slick-dots {
  bottom: 0.5rem !important;
}.slick-dots li button::before {
color: #CAC9C9;
opacity: 1;
font-size: 8px;}
.slick-dots li.slick-active button:before {
  color: #4E4B4A;
  opacity: 1;}
  @media screen and (min-width: 768px) {
    .slick-dots {
      bottom: 0 !important;
    }
    .slick-dots li button::before {
      font-size: 10px;
    }
  }

/* btn */
.c-top_btn--white,.c-top_btn--blue {
  position: relative;
  display: block;
  margin: auto;
  padding: 23px 28px;
  box-sizing: border-box;
  width: 100%;
    max-width: 300px;
  background-color: #fff;
  border-radius: 0.5rem;
  border: solid 1px #87ACD3;
  color: #87ACD3;
  text-align: center;
  text-decoration: none;
  font-size: 1.25rem;
  transition: all 0.5s ease;
}
.c-top_btn--white::before {
  content: '>';
  position: absolute;
  top: 50%;
  right: 28px;
  transform: translateY(-50%);
  font-size: 1rem;
}.c-top_btn--white:hover {
  background: #87ACD3;
  color: #fff;
  opacity: 1;
}
.c-top_btn--blue {
  padding: 1.475rem;
  max-width: 480px;
  border: solid 1px transparent;
  background: #87ACD3;
  color: #fff;
  box-sizing: border-box;
}.c-top_btn--blue:hover {
  border: solid 1px #87ACD3;
  background: #fff;
  color: #87ACD3;
  opacity: 1;
}
@media screen and (min-width: 768px) {
  .c-top_btn--white {
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 767px) {
  .c-top_btn--white,
  .c-top_btn--blue {
    max-width: 310px;
    font-size: 1rem;
    padding: 1rem;
  }
}


/* ttl */
.c-top-ttl {
  display: flex;
  align-items: center;
  gap: 1.875rem;
  padding: 7px 0 7px 24px;
  width: 100%;
  border-left: solid 1px #4E4B4A;
}
.c-top-h2 {
  font-size: 1rem;
  color: #808080;
}
.c-top-inner {
  margin: auto;
  width: 100%;
  padding: 0 1rem;
  max-width: 1172px;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .c-top-ttl {
    padding: 0 0 0 12px;
    gap: 0.5rem;
  }
  .c-top-h2 {
    font-size: 0.75rem;
  }  
}

.top-points {
  width: 100%;
}
.top-points__inner {
  margin: auto;
  padding: 0;
  width: 100%;
  box-sizing: border-box;
}
.top-points-content {
  position: relative;
  margin: 0 auto 2.125rem;
  box-sizing: border-box;
  width: 100%;
  max-width: 940px;
  background-color: #E8F5FC;
}
.top-points-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.125rem;
}
.points-ttl {
  display: flex;
  align-items: center;
  flex-direction: column;
}.points-ttl span {
  font-size: 1.625rem;
}.points-ttl h2 {
  font-size: 1rem;
}
.points-subttl{
  flex: 1;
  max-width: 412px;
}
.points-count {
  position: absolute;
    top: 23%;
    left: 50%;
  display: flex;
  margin: auto;
  width: 88%;
  min-height: 54px;
  transform: translateX(-50%);
  font-weight: 400;
  text-align: center;
}.points-count p {
  width: 100%;
  font-size: 0.625rem;
}.points-count span {
  font-size: 1.125rem;
}
.points-count__left ,.points-count__right {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 6px;
}
.points-count__left {
  flex: 2;
  background: #96c2e5;
  border-radius: 4px 0 0 4px;
  color: #fff;
}
.points-count__right {
  flex: 3;
  background: #fff;
  border-radius: 0 4px 4px 0;
}
.top-points-txt {
  text-align: center;
  font-size: 1rem;
}
@media screen and (min-width: 768px) {
  .top-points__inner {
    padding: 0 1rem;
  }
  .top-points-content {
    position: relative;
    margin: 0 auto 2.125rem;
    background-color: #E8F5FC;
    border-radius: 14px;
  }
  .top-points-head {
    margin-bottom: 1.125rem;
  }
  .points-ttl.only-pc {
    flex-direction: row;
  }
  .points-ttl span {
    font-size: 1.625rem;
  }.points-ttl h2 {
    margin-left: 0.75rem;
    font-size: 1rem;
  }
  .points-count {
    top: 39%;
    width: 47%;
    left: 4%;
    min-height: 64px;
    transform: none;
  }
  .points-count p {
    font-size: 1.25rem;
  }.points-count span {
    font-size: 1.625rem;
  }
  .points-count__left ,.points-count__right {
    padding: 10px;
  }
}
@media screen and (max-width: 767px) {
  .top-points-content {
    margin: 1.75rem auto 2.125rem;
  }
  .points-ttl.only-sp {
    display: flex;
    gap: 0.5rem;
  }
  .top-points-txt {
    font-size: 0.75rem;
  }
  .points-count p {
    font-size: 0.75rem;
    line-height: 1.75;
  }
  .points-count span {
    display: inline-block;
    margin: 0 1%;
    font-size: 1.25rem;
  }
}

/* 
.top-campaign {
  padding: 10px 0;
  background-color: #fff;
}.top-campaign a {
  display: block;
  margin: 0 auto;
  max-width: 885px;
}.top-campaign img {
  width: 100%;
    height: auto;
} */

/* .top-about {
  position: relative;
  width: 100%;
  background: #fff;
  text-align: center;
  }
.top-about__inner {
  margin: 0 auto;
  padding: 15px;
  max-width: 1092px;
  background-color: #fff;
  }.top-about p {
    width: 100%;
    padding: 20px 0;
    max-width: 631px;
    font-size: 11px;
    line-height: 2;
    color: var(--color-theme--blue);
  }.top-about img {
    width: 100%;
      max-width: 715px;
    height: auto; }
  @media screen and (min-width: 1020px) {
    .top-about p {
      margin: 10px auto 0;
      padding: 0;
      font-size: 16px;
      margin-top: 30px;
      line-height: 1.5em;
    }
  } */

.top-banner {
  margin: 24px auto 0;
  width: 1020px; }

/* top-newarrival */
.top-newarrival {
  margin: 0 auto;
  padding: 6.25rem 0;
  background-color: #d8efff;
}.top-newarrival .c-top-ttl {
  position: relative;
}.top-newarrival .c-top-ttl::before {
  content: '';
  position: absolute;
  bottom: 0;
  right: 0;
  width: 243px;
  height: 145px;
  background: url(../img/2024-top/recommend-icon.webp) no-repeat center/cover;
}.top-newarrival .c-top-ttl span {
  width: 109px;
}
.top-newarrival-content {
  margin: 3.75rem auto;
}
.top-newarrival-items {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem 1.25rem;
}
.top-newarrival-items__item {
  flex: 1;
  min-width: calc(25% - 0.9375rem);
  max-width: calc(25% - 0.9375rem);
}
.top-newarrival-items__item .item__img {
  display: block;
  aspect-ratio: 1/1;
  width: 100%;
  height: auto;
  object-fit: cover;
}
.top-newarrival-items__item .item-txt {
  padding: 1.125rem 0;
  line-height: 1.5;
}
.top-newarrival-items__item .item-txt p + p{
  margin-top: 0.5rem;
}
.top-newarrival-items__item .item-txt {
  padding: 1.125rem 0;
}
@media screen and (max-width: 767px) {
  .top-newarrival {
    padding: 3.75rem 0;
  }
  .top-newarrival .c-top-ttl {
    margin: 0 1rem;
    width: calc(100% - 2rem);
    box-sizing: border-box;
  }.top-newarrival .c-top-ttl::before {
    bottom: -0.5rem;
    width: 90px;
    height: 80px;
  }
  .top-newarrival .c-top-ttl span {
    width: 62px;
  }
  .top-newarrival-content {
    margin: 1.75rem auto 2.125rem;
  }
  .top-newarrival-items {
    gap: 0.75rem;
  }
  .top-newarrival-items__item {
    max-width: calc(50% - 0.38rem);
    min-width: calc(50% - 0.38rem);
    border-radius: 0.625rem;
  }
  .top-newarrival-items__item .item-txt {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 1rem;
    font-size: 0.75rem;
  }.top-newarrival-items__item .item-txt p:first-child {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }
}

.top-recommend {
  margin: 0 auto;
  padding: 6.25rem 0;
}.top-recommend .c-top-ttl {
  position: relative;
}.top-recommend .c-top-ttl::before {
  display: none;
  content: '';
  position: absolute;
  bottom: 0;
  right: 0;
  width: 243px;
  height: 145px;
  background: url(../img/2024-top/recommend-icon.webp) no-repeat center/cover;
}
.top-recommend-content {
  margin: 3.75rem auto;
}
.top-recommend-items {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem 1.25rem;
}
.top-recommend-items__item {
  flex: 1;
  min-width: calc(25% - 0.9375rem);
  max-width: calc(25% - 0.9375rem);
}
.top-recommend-items__item .item__img {
  display: block;
  aspect-ratio: 1/1;
  width: 100%;
  height: auto;
  object-fit: cover;
}
.top-recommend-items__item .item-txt {
  padding: 1.125rem 0;
  line-height: 1.5;
}
.top-recommend-items__item .item-txt p + p{
  margin-top: 0.5rem;
}
.top-recommend-items__item .item-txt {
  padding: 1.125rem 0;
}
@media screen and (max-width: 767px) {
  .top-recommend {
    padding: 3.75rem 0;
  }
  .top-recommend .c-top-ttl {
    margin: 0 1rem;
    width: calc(100% - 2rem);
    box-sizing: border-box;
  }.top-recommend .c-top-ttl::before {
    width: 90px;
    height: 80px;
  }
  .top-recommend .c-top-ttl span {
    width: 127px;
  }
  .top-recommend-content {
    margin-top: 1.75rem;
  }
  .top-recommend-items {
    gap: 0.75rem;
  }.top-recommend-items__item {
    background-color: #F6F6F6;
    border-radius: 0.625rem;
    min-width: calc(50% - 0.375rem);
    max-width: calc(50% - 0.375rem);
  }.top-recommend-items__item a {
    display: flex;
    flex-direction: column;
    height: 100%;
  }.top-recommend-items__item .item__img {
    border-radius: 0.625rem 0.625rem  0 0;
  }
  .top-recommend-items__item .item-txt {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 1rem;
    height: 100%;
    font-size: 0.75rem;
  }.top-recommend-items__item .item-txt p:first-child {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }
}

.top-ranking {
  position: relative;
  background-color: #d8efff;
  padding: 6.25rem 0;
}
.top-ranking .c-top-ttl {
  position: relative;
}.top-ranking .c-top-ttl::before {
  content: '';
  position: absolute;
  bottom: 0;
  right: 0;
  width: 286px;
  height: 78px;
  background: url(../img/2024-top/ranking-icon.webp) no-repeat center/cover;
}
.top-ranking-content {
  margin: 3.75rem auto;
}
/* ランキングをタブ切り替えする */
/* tab */
.top-ranking-tab {
  border-bottom: #DCDBDB solid 3px;
}
.top-ranking-tab__items {
  display: flex;
  justify-content: center;
  margin: 0 auto;
  padding: 4.125rem 0 1.625rem;
}
.top-ranking-tab__item {
  padding: 0 1.875rem;
  color: #808080;
  }.top-ranking-tab__item.is-active {
    position: relative;
    font-weight: 600;
    color: #4E4B4A;
  }.top-ranking-tab__item.is-active::before {
    content: '';
    position: absolute;
    bottom: calc(-1.625rem - 3px);
    left: 0;
    width: 100%;
    height: 3px;
    background-color: #4E4B4A;
    border-radius: 2px;
  }.top-ranking-tab__item + .top-ranking-tab__item {
    border-left: solid 1px #808080;
  }
.top-ranking-tab__item a {
  display: block;
  padding: 1.25rem 0;
  font-size: 1rem;
  color: #4E4B4A;
  }.top-ranking-tab__item a:hover {
    font-weight: 500;
    color: #4E4B4A;
    opacity: 1;
  }
@media screen and (max-width: 767px) {
  .top-ranking {
    padding: 3.75rem 0;
  }
  .top-ranking-content {
    margin: 1.25rem auto 1.5rem;
  }
  .top-ranking-tab__items {
    padding-top: 1.75rem;
    padding: 1.75rem 0 0.625rem;
  }
  .top-ranking-tab__item {
    padding: 0;
    flex: 1;
    text-align: center;
  }.top-ranking-tab__item.is-active::before {
    bottom: calc(-0.625rem - 3px);
  }
  }

/* content */
.top-ranking-items {
  display: none;
  }.top-ranking-items.is-active {
    display: flex;
    gap: 1.25rem;
  }
.top-ranking-items__item {
  position: relative;
  flex: 1;
  min-width: calc(20% - 1rem);
  max-width: calc(20% - 1rem);
  }.top-ranking-items__item .item__img {
    display: block;
    aspect-ratio: 1/1;
    width: 100%;
    height: auto;
    object-fit: cover;
  }.top-ranking-items__item .item-txt {
    padding: 1.125rem 0;
    font-size: 1rem;
    line-height: 1.5;
  }.top-ranking-items__item .item-txt p + p {
    margin-top: 0.5rem;
  }
  .top-ranking-items__item::before {
    content: attr(data-number);
    position: absolute;
      top: -0.75rem;
      right: 0.75rem;
    width: 42px;
    height: 42px;
    background: #6A6A6A;
    border-radius: 22px;
    color: #fff;
    font-size: 1.25rem;
    font-weight: 500;
    line-height: 42px;
    text-align: center;
    z-index: 100;
  }#top-ranking-1::before {
    background: #DEAD00;
  }#top-ranking-2::before {
    background: #979797;
  }#top-ranking-3::before {
    background: #C2804D;
  }
@media screen and (max-width: 767px) {
  .top-ranking .c-top-inner {
    margin: 0;
    padding: 0;
  }
  .top-ranking .c-top-ttl {
    margin-left: 1rem;
  }
  .top-ranking .c-top-ttl span {
    width: 129px;
  }
  .top-ranking .c-top-ttl::before {
    content: none;
  }
  .top-ranking-tab {
    margin: 0 1rem;
  }
  .top-ranking-items {
    padding: 1rem 0;
  }
  .top-ranking-items.is-active {
    overflow-x: scroll;
    gap: 0.625rem;
  }.top-ranking-items__item {
    min-width: 135px;
  }.top-ranking-items__item:first-child {
    margin-left: 1rem;
  }.top-ranking-items__item:last-child {
    margin-right: 1rem;
  }
}@media screen and (max-width: 767px) {
  .top-ranking-items__item .item-txt {
    font-size: 0.75rem;
  }.top-ranking-items__item .item-txt p:first-child {
    /* 2行目以降は...で表示する */
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }
  .top-ranking-items__item::before {
    font-size: 0.75rem;
    width: 30px;
    height: 30px;
    line-height: 30px;
  }
}

.top-pickup {
  margin: 0 auto;
  padding: 6.25rem 0;
}
.top-pickup .c-top-ttl {
  position: relative;
}
.top-pickup .c-top-ttl::before {
  content: '';
  position: absolute;
  top: 50%;
  right: 0;
  width: 454px;
  height: 78px;
  transform: translateY(-50%);
  background: url(../img/2024-top/pickup-icon.webp) no-repeat center/cover;
}
.top-pickup-items {
  display: flex;
  gap: 1.25rem;
}.top-pickup-items__item {
  flex: 1;
  max-width: 25%;
  max-width: calc(25% - 0.94rem);
}.top-pickup-items__item .item-txt {
  padding: 1rem 0;
  color: #4E4B4A;
  text-align: center;
}.top-pickup-items__item .item-txt p{
  margin-bottom: 1rem;
  font-size: 1.25rem;
}.top-pickup-items__item .item-txt span{
  font-size: 1.125rem;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
.top-pickup-content {
  margin-top: 3.75rem;
}
}
@media screen and (max-width: 767px) {
  .top-pickup {
    padding: 3.75rem 0;
  }
  .top-pickup .c-top-ttl span{
    max-width: 109px;
  }
  .top-pickup .c-top-ttl::before {
    display: none;
  }
  .top-pickup-content {
    padding-top: 1.75rem;
  }
  .top-pickup-items {
    flex-wrap: wrap;
    gap: 1rem;
  }.top-pickup-items__item {
    min-width: calc(50% - 0.5rem);
    max-width: calc(50% - 0.5rem);
  }.top-pickup-items__item .item-txt {
    padding: 0.875rem 0;
    text-align: left;
  }.top-pickup-items__item .item-txt p{
    margin-bottom: 0.5rem;
    font-size: 1rem;
  }.top-pickup-items__item .item-txt span{
    font-size: 0.75rem;
  }
}

.top-feature {
  margin: 0 auto;
  padding: 6.25rem 0;
}
.top-feature-content {
  margin: 3.75rem auto;
}

.top-feature-banner--full {
  margin:0 auto 2.375rem;
  width: 100%;
  max-width: 940px;
  }.top-feature-banner__item + .top-feature-banner__item{
    margin-top: 2.375rem;
  }.top-feature-banner--full a {
    display: block;
  }.top-feature-banner--full img {
    width: 100%;
    height: auto;
  }
.top-feature-items {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
}.top-feature-items__item a{
  display: block;
}.top-feature-items__item .item__img {
  background-color: #CAC9C9;
  aspect-ratio: 41/23;
  object-fit: cover;
}.top-feature-items__item .item-txt {
  padding: 1.125rem 1.375rem;
  color: #4E4B4A;
  line-height: 1.5;
}
.top-feature .c-top-ttl {
  position: relative;
  display: flex;
  border-left: solid 1px #4E4B4A;
  padding: 7px 0 7px 24px;
  gap: 1.875rem;
}
.top-feature .c-top-ttl::before {
  content: '';
  position: absolute;
  bottom: 0;
  right: 0;
  width: 392px;
  height: 80px;
  background: url(../img/2024-top/feature-icon.webp) no-repeat center/cover;
}
@media screen and (min-width: 768px) {
  .top-feature-items {
    gap: 2.375rem 1.25rem;
  }
  .top-feature-items__item {
    flex: 1;
    min-width: calc(33.33% - 1.25rem);
    max-width: calc(33.33% - 1.25rem);
    background-color: #EDEDED;
  }
}@media screen and (max-width: 767px) {
  .top-feature {
    padding: 3.75rem 0 2rem;
  }
  .top-feature .c-top-ttl {
    position: relative;
    flex-direction: column;
    border: none;
    padding: 0;
    gap: 0.5rem;
  }
  .top-feature .c-top-ttl span {
    width: 138px;
  }
  .top-feature .c-top-ttl::before {
    display: none;
  }
  .top-feature-content {
    margin: 1.75rem auto 2.125rem;
  }
  .top-feature-items__item {
    flex: 1;
    max-width: calc(50% - 0.38rem);
    min-width: calc(50% - 0.38rem);
  }.top-feature-items__item a {
    width: 100%;
    height: 100%;
  }
  .top-feature-items__item .item-txt {
    padding: 0.75rem 0.125rem;
    font-size: 0.75rem;
  }
  /* spのみスライド化 */
  #js-feature-slider .slick-slide {
    /* width: 100% !important; */
    /* margin: 0 40px; */
    position: relative;
    overflow: hidden;
  }
  #js-feature-slider .slick-list {
    /* padding: 0 !important; */
  }
  #js-feature-slider .slick-track {
    /* width: 100% !important; */
  }
  #js-feature-slider .slick-slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #js-feature-slider .slick-arrow {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #fff;
    cursor: pointer;
    border: none;
    outline: none;
    font-size: 0;
    position: absolute;
    top: 50%;
    z-index: 1;
    /* filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, 0.16)); */
  }
  #js-feature-slider .slick-arrow::before {
    content: '';
    display: block;
    width: 12px;
    height: 12px;
    border: 1px solid #4E4B4A;
    border-width: 2px 2px 0 0;
    position: absolute;
    top: 14px;
    transform: rotate(45deg);
  }
  #js-feature-slider .slick-next {
    right: 0;
  }
  #js-feature-slider .slick-prev {
    left: 0;
  }
  #js-feature-slider .slick-next::before {
    left: 10px;
  }
  #js-feature-slider .slick-prev::before {
    border-width: 0 0 2px 2px;
    right: 10px;
  }
}

.top-categories {
  margin: 0 auto;
  padding: 6.25rem 0;
  background: #d8efff;
}.top-categories .c-top-ttl {
  position: relative;
}.top-categories .c-top-ttl::before {
  content: '';
  position: absolute;
  bottom: 0;
  right: 0;
  width: 304px;
  height: 78px;
  background: url(../img/2024-top/category-icon.webp) no-repeat center/cover;
}
.top-categories-content {
  margin: 3.75rem auto;
}
.top-categories-items {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin: auto;
  width: 100%;
  max-width: 940px;
  gap: 3rem 3.75rem;
}.top-categories-items__item {
  flex: 1;
  min-width: 140px;
  max-width: 140px;
  text-align: center;
}.top-categories-items__item a {
  display: block;
}.top-categories-items__item p {
  margin-top: 1.375rem;
}
@media screen and (max-width: 767px) {
  .top-categories {
    padding: 3.75rem 0;
  }
  .top-categories .c-top-ttl {
    flex-direction: column;
    justify-content: flex-start;
    gap: 0.5rem;
    padding: 0;
    border: none;
  }
  .top-categories .c-top-ttl span {
    max-width: 148px;
  }
  .top-categories .c-top-ttl::before {
    display: none;
  }
  .top-categories-content {
    margin: 1.876rem auto;
  }
  .top-categories-items {
    gap: 1.1256rem 1.25rem;
  }
  .top-categories-items__item {
    min-width: calc(33% - 0.83rem);
    max-width: calc(33% - 0.83rem);
  }.top-categories-items__item a {
    font-size: 0.75rem;
  }.top-categories-items__item p {
    margin-top: 0.75rem;
  }
}

.top-sns {
  margin: 0 auto;
  padding: 6.25rem 0;
  background: #fff;
}
.top-sns-ttl {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 0.875rem;
  gap: 4.4rem;
}.top-sns-ttl h2 {
  font-size: 3rem;
  letter-spacing: 0.25rem;
  color: #4E4B4A;
}.top-sns-ttl .top-sns-ttl_bar {
  flex: 1;
  display: block;
  border-top: solid 2px #CACACA;
  border-radius: 1px;
}
.top-sns-ttl-txt {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.25rem;
}
.icon-top-instagram {
  display: block;
  width: 25px;
  height: auto;
}
.top-sns-content {
  margin: 1.5rem auto 2.5rem;
  width: 100%;
}
.top-sns-items {
  display: flex;
  flex-wrap: wrap;
  gap: 0.125rem;
}.top-sns-items__item {
  flex: 1;
  min-width: calc(20% - 0.1rem);
  object-fit: cover;
  object-position: center;
  aspect-ratio: 1/1;
}
.top-sns-content--bottom {
  text-align: center;
}
.top-sns-content--bottom img {
  display: block;
  margin: auto;
  width: 100%;
  max-width: 370px;
}
@media screen and (max-width: 767px) {
  .top-sns {
    padding: 3.75rem 0;
  }
  .top-sns-ttl {
    margin-bottom: 0
  }
  .top-sns-ttl .top-sns-ttl_bar {
    display: none;
  }
  .top-sns-ttl-txt {
    gap: 0.5rem;
  }
  .top-sns-ttl h2 {
    font-size: 1.625rem;
    letter-spacing: 0.25rem;
  }
  .top-sns-content {
    margin: 1.75rem auto 0;
  }
  .top-sns-items {
    justify-content: space-between;
  }
  .top-sns-items__item {
    min-width: calc(33% - 0.083rem);
    max-width: calc(33% - 0.083rem);
  }
  .top-sns-items__item:last-child {
    display: none;
  }
  .top-sns-content--bottom {
    display: none;
  }
}

.top-media {
  margin: 0 auto;
  padding: 6.25rem 0;
  background: #EDF7FD;
}
.top-media-content {
  margin: 3.75rem auto;
}
.top-media-items {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 3.125rem 1.75rem;
}.top-media-items__item {
  flex: 1;
  min-width: calc(33% - 1.66rem);
  max-width: calc(33% - 1.66rem);
  background-color: #fff;
}.top-media-items__item .item__img{
  display: block;
  aspect-ratio: 3/2;
  width: 100%;
  height: auto;
  object-fit: cover;
}.top-media-items__item .item-txt {
  position: relative;
  padding: 1.5rem 1.25rem 3.75rem;
  color: #4E4B4A;
  line-height: 1.5;
}
.top-media-readmore {
  position: absolute;
  right: 1.25rem;
  bottom: 1rem;
  font-size: 0.875rem;
  color: #808080;
}
.top-media .c-top_btn--blue{
  position: relative;
}.top-media .c-top_btn--blue::before {
  content: '';
  position: absolute;
  top: -1.5rem;
  right: -5.625rem;
  transform: translateX(100%);
  width: 240px;
  height: 166px;
  background: url(../img/2024-top/media-icon.webp) no-repeat center/cover;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .top-media {
    padding: 3.75rem 0;
  }
  .top-media .c-top-ttl {
    flex-direction: column;
    padding: 0;
    border: none;
    gap: 0.25rem;
  }
  .top-media .c-top-ttl span {
    max-width: 90px;
  }
  .top-media-content {
    margin-top: 1.75rem;
  }
  .top-media-items {
    overflow-x: scroll;
    flex-wrap: nowrap;
    gap: 1.25rem;
  }
  .top-media-items__item {
    min-width: 195px;
    max-width: 195px;
  }
  .top-media-items__item .item-txt {
    padding: 0.875rem 0.75rem 2.25rem;
    font-size: 0.875rem;
  }
  .top-media-readmore {
    font-size: 0.75rem;
    bottom: 0.5rem;
  }
}

.top-about {
  margin: 0 auto;
  padding: 6.25rem 0 0;
  background: #fff;
}.top-about .c-top-ttl {
  position: relative;
  width: calc(100% - 2rem);
  max-width: 1172px;
  padding: 0 1rem;
  margin: 0 auto;
}.top-about .c-top-ttl::before {
  content: '';
  position: absolute;
  bottom: 0;
  right: 0;
  width: 603px;
  height: 66px;
  background: url(../img/2024-top/about-icon.webp) no-repeat center/cover;
}
.top-about-content {
  display: flex;
  margin: 3.75rem auto;
}
.top-about-content--left {
  flex: 3;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 5.75rem 4rem;
  width: 100%;
  box-sizing: border-box;
  background-color: #D1EBF9;
}.top-about-content--left img {
  display: block;
  width: 100%;
  max-width: 470px;
  height: auto;
}
.top-about-content--right {
  flex: 4;
  padding: 5.375rem 6.875rem 3.625rem;
  background-color: #F6F6F6;
  color: #4E4B4A;
  box-sizing: border-box;
}
.top-about-conten .c-top_btn--white {
  margin: 0 auto;
  max-width: 300px;
}
.top-about-ttl {
  text-align: center;
  font-size: 1.5rem;
  line-height: 1.63;
}
.top-about-subttl {
  text-align: center;
  line-height: 1.5;
}
.top-about-txt {
  margin-bottom: 2.875rem;
  line-height: 2.81;
}
.top-about-border {
  display: block;
  margin: 2.375rem auto;
  width: 100%;
  border-top: 2px solid #4E4B4A;
}
/* 768px ~ 1020px */
@media screen and (min-width: 768px) and (max-width: 1020px) {
  .top-about .c-top-ttl::before {
    width: 450px;
    height: 50px;
  }
  .top-about-content--right {
    padding: 4rem 2rem;
  }
}
@media screen and (max-width: 767px) {
  .top-about {
    padding-top: 3.75rem;
  }
  .top-about .c-top-ttl {
    flex-direction: column;
    padding: 0;
    border: none;
    }.top-about .c-top-ttl::before {
      display: none;
    }
  .top-about .c-top-ttl span {
    max-width: 138px;
  }
  .top-about-content {
    margin: 1.75rem auto 3.75rem;
    flex-direction: column;
    background: #D1EBF9;
  }.top-about-content--left {
    padding: 2.5rem 1rem 2rem;
  }.top-about-content--left img{
    max-width: 237px;
  }
  .top-about-content--right {
    flex: 0;
    padding: 0 1rem 3.75rem;
    background-color: #D1EBF9;
  }
  .top-about-border {
    margin: 1.5rem auto;
    border-top: 1px solid #fff;
  }
  .top-about-ttl {
    margin-bottom: 0.25rem;
  }
  .top-about-ttl,.top-about-subttl {
    font-size: 1.125rem;
  }
  .top-about-txt {
    font-size: 0.875rem;
    line-height: 2;
  }
}


/* .top-line {
  padding: 45px 0 30px;
  background: #fff;
 }
 .top-line__inner {
   position: relative;
   margin: 0 auto;
   padding: 0 15px;
   max-width: 1092px;
 }
 .top-line__illust {
   display: flex;
   margin-top: 20px;
  }.top-line__illust img {
    flex: 1;
    width: 50%;
  }
@media screen and (min-width: 1020px) {
  .top-line__inner::before {
   content: '';
   position: absolute;
   top: 50%;
   left: 0;
   width: 257px;
   height: 205px;
   background: url(../img/top/illusts/illust-line.png) no-repeat center/cover;;
   transform: translate(0, -50%); }
  
  .top-line__illust {
    display: none;
  }
}

 .top-line a {
   display: block;
   margin: 0 auto;
   width: fit-content;
 }.top-line a img {
  width: 100%;
    max-width: 500px;
} */

.top-news {
  position: relative;
  margin-bottom: 5rem;
  background: #fff;
}
.top-news-ttl {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 7.187rem;
  margin-bottom: 6rem;
}.top-news-ttl_bar {
  flex: 1;
  display: block;
  border-top: solid 2px #CACACA;
}.top-news-ttl-txt {
  position: relative;
}.top-news-ttl-txt h2 {
  position: absolute;
  bottom: -2rem;
  left: 50%;
  transform: translateX(-50%);
  font-size: 1rem;
  color: #808080;
}
.top-news-content {
  margin: 0 auto 6.25rem;
  width: 100%;
  max-width: 882px;
}
.top-news-items {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}.top-news-items__item {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0 0.5rem 2rem;
  border-bottom: solid 1px #CACACA;
  color: #808080;
  line-height: 1.5;
}.top-news-items__item a {
  display: block;
  color: #808080;
}.top-news-items__item .news-category {
  display: block;
  padding: 0.25rem;
  width: 80px;
  box-sizing: border-box;
  color: #fff;
  background-color: #4E4B4A;
  border-radius: 1rem;
  font-size: 0.75rem;
  text-align: center;
}
.top-news .c-top_btn--blue {
  position: relative;
  }.top-news .c-top_btn--blue::before {
    content: '';
    position: absolute;
    bottom: -5.25rem;
    left: -4.25rem;
    transform: translateX(-100%);
    width: 350px;
    height: 230px;
    background: url(../img/2024-top/information-icon.webp) no-repeat center/cover;
  }
@media screen and (max-width: 767px) {
  .top-news {
    margin-bottom: 3.75rem;
  }
  .top-news-ttl {
    flex-direction: column;
    padding: 0;
    border: none;
    gap: 0.25rem;
    margin-bottom: 3.875rem;
  }
  .top-news-ttl_bar {
    display: none;
  }
  .top-news-ttl-txt {
    padding: 0;
    border: none;
  }
  .top-news-ttl-txt span {
    display: block;
    max-width: 194px;
    margin-bottom: 0.5rem;
  }
  .top-news-ttl-txt h2 {
    font-size: 0.75rem;
  }
  .top-news-content {
    margin-bottom: 2.5rem;
  }
  .top-news-items {
    gap: 1.25rem;
  }
  .top-news-items__item {
    flex-wrap: wrap;
    gap: 0.5rem 1rem;
    padding: 0 0.5rem 1.25rem;
    font-size: 0.75rem;
  }.top-news-items__item a {
    flex: 1;
    min-width: 100%;
  }
  .top-news-items__item .news-category {
    padding: 0 0.125rem;
  }
}


.top-news table.news-table,.top-news table.news-table tr, .top-news table.news-table td{
  border: solid 1px;
}

.top-news table.news-table td{
  padding: 0 1rem;
}

.top-story__inner, .top-ranking__items, .top-sns__inner {
  margin: 30px auto;
  width: 100%;
  max-width: 1092px; }

#brand .l-content {
  margin-top: 0; }

.brand-title {
  text-align: center; }
  .brand-title span {
    display: block;
    font-size: 16px;
    font-weight: 500; }
  .brand-title i {
    background: #fff;
    display: block;
    margin: 12px auto 0;
    width: 128px;
    height: 4px; }
  .brand-title h2 {
    font-size: 24px;
    font-weight: 500;
    line-height: 32px;
    margin-top: 32px; }
  .brand-title p {
    font-size: 14px;
    line-height: 28px;
    margin-top: 24px; }
    .brand-title p br {
      display: none; }
  @media screen and (min-width: 1020px) {
    .brand-title h2 {
      line-height: 1; }
    .brand-title p br {
      display: block; } }

.brand-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  font-size: 14px;
  margin: 24px -16px 0;
  padding: 10px 0;
  height: auto;
  min-height: 48px; }
  .brand-nav span {
    color: #fff;
    cursor: pointer;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    padding: 0 8px;
    opacity: .5;
    position: relative;
    text-align: center; }
    .brand-nav span.is-active {
      opacity: 1; }
      .brand-nav span.is-active:after {
        background: #fff;
        content: "";
        display: none;
        position: absolute;
        bottom: -29px;
        left: 0;
        width: 100%;
        height: 5px; }
  @media screen and (min-width: 1020px) {
    .brand-nav {
      font-size: 16px;
      margin: 40px 0 0;
      padding: 0 40px;
      height: 48px; }
      .brand-nav span {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        padding: 0; }
        .brand-nav span.is-active:after {
          display: block;
          bottom: -16px; } }

.brand-hero, .brand-hero--b,
.brand-main {
  text-align: center; }
  .brand-hero img, .brand-hero--b img,
  .brand-main img {
    max-width: 1440px; }

.brand-hero p, .brand-hero--b p {
  color: #e72450;
  font-size: 20px;
  font-weight: 500;
  line-height: 28px;
  padding: 32px 16px; }

.brand-hero br, .brand-hero--b br {
  display: none; }

@media screen and (min-width: 1020px) {
  .brand-hero p, .brand-hero--b p {
    font-size: 24px;
    line-height: 34px;
    padding: 56px 0; }
  .brand-hero br, .brand-hero--b br {
    display: block; } }

.brand-hero--b p {
  color: #333; }

.brand-main--b {
  margin: 0 auto;
  max-width: 1020px; }

.brand-contents--a2, .brand-contents--a, .brand-contents--b2, .brand-contents--b, .brand-recommend--a, .brand-recommend--b {
  padding: 32px 16px; }
  @media screen and (min-width: 1020px) {
    .brand-contents--a2, .brand-contents--a, .brand-contents--b2, .brand-contents--b, .brand-recommend--a, .brand-recommend--b {
      padding: 100px 0; } }

.brand-contents--box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  margin: 0 auto;
  max-width: 1200px; }
  .brand-contents--box div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 32px 16px; }
  .brand-contents--box .brand-title {
    background: rgba(51, 51, 51, 0.4);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center; }
  .brand-contents--box .brand-contents__l {
    background: #333;
    text-align: left; }
  .brand-contents--box li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 14px;
    font-weight: 500;
    line-height: 22px; }
    .brand-contents--box li:before {
      background-size: 100%;
      content: "";
      margin-right: 8px;
      width: 24px;
      height: 17px; }
    .brand-contents--box li + li {
      margin-top: 8px; }
  .brand-contents--box small {
    display: block;
    font-size: 12px;
    line-height: 18px;
    margin-top: 16px; }
  @media screen and (min-width: 1020px) {
    .brand-contents--box {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -ms-flex-direction: row;
      flex-direction: row; }
      .brand-contents--box div {
        padding: 40px; }
      .brand-contents--box li {
        line-height: 28px; } }

.brand-contents--a2 {
  background: url(../img/brand/contents--a.jpg) no-repeat center;
  background-size: cover;
  color: #fff;
  margin-top: 56px; }
  .brand-contents--a2 li:before {
    background: url(../img/brand/icon-check--red.svg) no-repeat center;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto; }

.brand-contents--a {
  background: #e72450;
  color: #fff; }

.brand-contents--b2 {
  background: url(../img/brand/contents--b.jpg) no-repeat center;
  background-size: cover;
  color: #fff;
  margin-top: 56px; }
  .brand-contents--b2 .brand-title {
    background: rgba(172, 100, 164, 0.75); }
  .brand-contents--b2 .brand-contents__l {
    background: #fff;
    color: #333; }
  .brand-contents--b2 li:before {
    background: url(../img/brand/icon-check--purple.svg) no-repeat center; }
  .brand-contents--b2 p {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1; }

.brand-contents--b {
  background: #ac64a4;
  color: #fff; }

.brand-recommend--a, .brand-recommend--b {
  margin: 0 auto;
  max-width: 1200px; }
  .brand-recommend--a .c-btn, .brand-recommend--b .c-btn {
    margin: 40px auto 0; }

.brand-recommend__body {
  background: #f7efe7;
  margin: 0 -16px;
  padding: 14px 16px 14px 8px; }
  .brand-recommend__body .c-items {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center; }
    .brand-recommend__body .c-items a {
      margin: 10px 0 0 8px;
      max-width: 248px;
      width: calc((100% - 16px)/2); }
      .brand-recommend__body .c-items a div {
        padding: 4px 8px 18px;
        height: auto;
        min-height: 90px; }
  @media screen and (min-width: 1020px) {
    .brand-recommend__body {
      margin: 0;
      padding: 40px 90px; }
      .brand-recommend__body .c-items {
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap; }
        .brand-recommend__body .c-items a {
          margin: 0;
          width: auto; }
          .brand-recommend__body .c-items a div {
            height: 90px; }
          .brand-recommend__body .c-items a + a {
            margin-left: 8px; } }

.brand-recommend--a {
  color: #e72450; }
  .brand-recommend--a i,
  .brand-recommend--a .brand-nav {
    background: #e72450; }

.brand-recommend--b {
  color: #ac64a4; }
  .brand-recommend--b i,
  .brand-recommend--b .brand-nav {
    background: #ac64a4; }
  .brand-recommend--b .brand-nav {
    padding: 0; }
  @media screen and (min-width: 1020px) {
    .brand-recommend--b .brand-nav {
      padding: 0 90px; } }

.brand-inst {
  color: #e72450;
  margin: 0 auto;
  max-width: 1020px; }
  .brand-inst i {
    background: #e72450; }
  .brand-inst .brand-nav {
    background: #e72450;
    margin: 24px 0 0; }
  @media screen and (min-width: 1020px) {
    .brand-inst .brand-nav {
      margin: 40px 0 0;
      padding: 0 200px; } }

.brand-inst__body {
  background: #fff;
  padding: 32px 16px; }
  .brand-inst__body p {
    font-size: 20px;
    font-weight: 500;
    text-align: center; }
  .brand-inst__body ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-top: 40px; }
    .brand-inst__body ul li {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-box-flex: 1;
      -ms-flex: 1;
      flex: 1; }
      .brand-inst__body ul li + li:before {
        background: url(../img/brand/arrows.svg) no-repeat center;
        background-size: 100%;
        content: "";
        position: relative;
        left: -17%;
        width: 36px;
        height: 30px; }
  .brand-inst__body img {
    max-width: 192px; }
  .brand-inst__body ol {
    counter-reset: inst;
    margin: 24px auto 0;
    max-width: 564px; }
    .brand-inst__body ol li {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      font-size: 14px;
      font-weight: 500; }
      .brand-inst__body ol li:before {
        background: #e72450;
        border-radius: 16px;
        counter-increment: inst;
        content: counter(inst);
        color: #fff;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        font-size: 20px;
        font-weight: 500;
        margin-right: 16px;
        width: 32px;
        height: 32px; }
      .brand-inst__body ol li + li {
        margin-top: 16px; }
  @media screen and (min-width: 1020px) {
    .brand-inst__body {
      padding: 40px 100px; }
      .brand-inst__body ul li {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto; } }

.brand-history--a, .brand-history--b {
  margin: 100px auto 0;
  max-width: 820px;
  text-align: center; }
  .brand-history--a p, .brand-history--b p {
    font-size: 15px;
    line-height: 25px;
    margin-top: 16px;
    padding: 0 16px;
    text-align: left; }
  .brand-history--a .c-btn, .brand-history--b .c-btn {
    margin: 40px auto; }
    .brand-history--a .c-btn img, .brand-history--b .c-btn img {
      margin-right: 8px;
      width: 18px; }
  @media screen and (min-width: 1020px) {
    .brand-history--a p, .brand-history--b p {
      padding: 0;
      text-align: center;  } }

.brand-history__img {
  margin-top: 40px;
  width: 200px; }

.brand-history__movie {
  margin-top: 40px; }

.brand-history--a {
  color: #e72450; }
  .brand-history--a i,
  .brand-history--a .c-btn {
    background: #e72450; }

.brand-history--b .brand-title {
  color: #ac64a4; }

.brand-history--b i,
.brand-history--b .c-btn {
  background: #ac64a4; }

.brand-about--a, .brand-about--b {
  margin: 100px auto 0;
  max-width: 1200px; }
  .brand-about--a .brand-nav, .brand-about--b .brand-nav {
    margin: 24px 0 0; }
  .brand-about--a .c-btn, .brand-about--b .c-btn {
    margin: 40px auto 0; }
  @media screen and (min-width: 1020px) {
    .brand-about--a .brand-nav, .brand-about--b .brand-nav {
      padding: 0 120px; } }

.brand-about__body {
  background: #f7efe7;
  padding: 32px 16px; }
  .brand-about__body h3 {
    font-size: 15px;
    font-weight: 500; }
  @media screen and (min-width: 1020px) {
    .brand-about__body {
      padding: 40px 90px; } }

.brand-about__ans {
  background: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 14px;
  line-height: 24px;
  margin-top: 10px;
  padding: 24px 20px 32px; }
  .brand-about__ans:nth-of-type(4) img {
    height: 160px; }
  .brand-about__ans:nth-of-type(5) img {
    height: 70px; }
  .brand-about__ans + h3 {
    margin-top: 24px; }
  .brand-about__ans p,
  .brand-about__ans img {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1; }
  .brand-about__ans img {
    margin-left: 10px; }

.brand-about--a {
  color: #e72450; }
  .brand-about--a i,
  .brand-about--a .brand-nav {
    background: #e72450; }

.brand-about--b {
  color: #ac64a4; }
  .brand-about--b i,
  .brand-about--b .brand-nav {
    background: #ac64a4; }
  .brand-about--b .brand-nav {
    margin: 40px 0 0;
    padding: 0; }
  .brand-about--b p {
    color: #333; }
  @media screen and (min-width: 1020px) {
    .brand-about--b .brand-nav {
      padding: 0 240px; } }

#products {
  background-color: #fff;
}

#products .l-content {
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -ms-flex-direction: column-reverse;
  flex-direction: column-reverse;
  padding-bottom: 0;
  overflow: hidden;
 }

@media screen and (min-width: 1020px) {
  #products .l-content {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    justify-content: center;
    padding-bottom: 100px; }
  #products .l-main {
    flex: 7;
    margin-left: 20px;
    max-width: 700px;
   } }

.l-side {
  margin-top: 20px; }
  @media screen and (min-width: 1020px) {
    .l-side {
      flex: 3;
      margin-top: 0;
      max-width: 300px; } }

.side-brand {
  display: block;
  position: relative; }
  .side-brand span {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    height: 24px; 
    background: #fff;
    color: #3D3C3D;
    font-size: 13px;
    border: solid 1px #D1D1D1; }
  .side-brand + .side-brand {
    margin-top: 20px; }

.side-featured_brands {
  position: relative;
  padding: 30px 10px 40px;
  background: var(--color-theme--lightblue);
  }.side-featured_brands h2 {
    position: relative;
    color: var(--color-theme--blue);
    margin: 0 auto 30px;
    padding: 0 10px;
    width: fit-content;
    }.side-featured_brands h2::before {
      content: '';
      position: absolute;
      top: 0;
      left: -100px;
      width: 110px;
      height: 70px;
      margin-left: 10px;
      background: url(../img/common/side/side-birds.png) no-repeat center/contain;
    }
  @media screen and (min-width: 1020px) {
    .side-featured_brands {
      padding: 0;
      background: none;
    } .side-featured_brands h2{
      display: none;
    } }

.side-brands {
  background: #fff;
  border: 1px solid #eee;
  display: none;
  margin-bottom: 20px;
  padding: 24px; }
  .side-brands section + section {
    border-top: 1px solid #a7a7a7;
    margin-top: 16px;
    padding-top: 16px; }
  .side-brands h2 {
    font-size: 16px;
    font-weight: 500;
    margin-bottom: 16px; }
  .side-brands a,
  .side-brands label {
    color: #625d5d;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 16px; }
    .side-brands a + a,
    .side-brands a + label,
    .side-brands label + a,
    .side-brands label + label {
      margin-top: 10px; }
  .side-brands input[type="checkbox"] {
    border: 1px solid #d1d1d1;
    margin-left: 0;
    width: 16px;
    height: 16px;
    border-radius: 2px; }
    .side-brands input[type="checkbox"]:checked {
      background: #333; }
  .side-brands input[type="text"] {
    background: #f3f3f3;
    border: 1px solid #eee;
    border-radius: 4px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    height: 33px; }
    @media screen and (min-width: 1020px) {
      .side-brands {
        display: block; } }

  .side-brands .side-brands_sub {
    position: relative;
    margin-left: 20px;
    width: 180px;
    color: #d1d1d1;
    }.side-brands .side-brands_sub::before{
      content: '';
      position: absolute;
      top: 50%;
      left: -20px;
      width: 16px;
      height: 16px;
      transform: translate(0, -50%);
      border: 1px solid #9d9d9d;
      border-radius: 2px;
    }.side-brands .side-brands_sub.is-active::before{
      background: url(../img/common/side/icon-checked.svg) no-repeat center /85%;
    }.side-brands .side-brands_sub span {
      position: absolute;
      right: 0;
    }

.side-nav {
  background: #fff;
  border: 1px solid #eee;
  margin-top: 20px;
  padding: 0 24px; }
  .side-nav a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 48px; }
    .side-nav a + a {
      border-top: 1px solid #eee; }

.products-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  flex-direction: column;
  padding: 0 16px; }
  .products-head select {
    background: #fff;
    border: 1px solid #eee;
    font-size: 16px;
    margin-top: 8px;
    padding-left: 1rem;
    width: 200px;
    height: 36px;
    border-radius: 20px;
    text-align: center;
   }
  @media screen and (min-width: 1020px) {
    .products-head {
      margin-top: 0;
      padding: 0; }
      .products-head div:last-child {
        width: auto; }
      .products-head select {
        margin-top: 0; }
  }@media screen and (min-width: 768px) {
    .products-head{
      flex-wrap: wrap;
      flex-direction: row;
    }
  }

.products-display {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 16px;
  padding: 0;
  width: 100%;
  max-width: 100%; }
    .products-display div:last-child {
      text-align: right; }
  @media screen and (min-width: 1020px) {
    .products-display {
      max-width: max-content;
      padding: 0 16px; }
      .products-display div {
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1; } }

.products-list {
  /* margin-top: 14px; */
 }.products-list .c-items {
      display: -webkit-box;
      display: -ms-flexbox;
    display: flex;
      -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 14px 10px;
    padding: 8px 16px 8px 16px;
    white-space: normal; }
    .products-list .c-items a {
      flex: 1;
      margin: 0;
      min-width: calc((100% - 10px)/2);
      max-width: calc((100% - 10px)/2);
     }
    .products-list .c-items div {
      padding: 4px 8px 12px;
      height: auto; }
      .products-list .c-items div.thumbnail-container, .products-list .c-items div.thumbnail {
        padding: 0;
        max-height: 226px; }
    .products-list .c-items p {
      /* min-height: 36px; */
     }
    .products-list .c-items b {
      margin-top: 16px; }
    .products-list .c-items span {
      color: #a7a7a7;
      display: block;
      font-size: 13px;
      line-height: 16px;
      margin-top: 8px;
      min-height: 32px; }
    .products-list .c-items i {
      color: #e72450;
      font-size: 14px;
      margin-top: 16px;
      min-height: 14px; }
  @media screen and (min-width: 769px) {
    .products-list {
      margin-top: 14px;
    }
    .products-list .c-items {
      -ms-flex-line-pack: stretch;
      align-content: stretch;
      padding: 8px 10px;
      white-space: nowrap; }
      .products-list .c-items a {
        min-width: 30%;
        max-width: calc((100% - 20px)/3);
       }
  }

.products-pagination {
  background: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-weight: 500;
  margin-top: 10px;
  padding: 20px 24px; }

.products-pagination__nav {
  border: 1px solid #eee;
  border-radius: 18px;
  color: #a7a7a7;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-size: 14px;
  width: 62px;
  height: 36px; }
  .products-pagination__nav.is-active {
    background: #88BDE4;
    border-color: #88BDE4;
    color: #fff; }

.products-pagination__num {
  text-align: center;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1; }
  .products-pagination__num a {
    border-radius: 18px;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-size: 14px;
    width: 36px;
    height: 36px; }
    .products-pagination__num a.is-active {
      background: var(--color-theme--lightblue); }
    .products-pagination__num a + a {
      margin-left: 10px; }

.product-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column; }
  @media screen and (min-width: 1020px) {
    .product-head {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -ms-flex-direction: row;
      flex-direction: row; } }

.product-l,
.product-r {
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }
  @media screen and (min-width: 1020px) {
    .product-l,
    .product-r {
      max-width: 500px;
    }
  }

.product-l ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  font-size: 0; }

.product-l li {
  margin-top: 10px;
  position: relative;
  width: calc((100% - 40px) / 5);}
  .product-l li:not(:nth-child(5n+1)) {
    margin-left: 10px; }
  .product-l li:before {
    content: "";
    display: block;
    padding-top: 100%; }

.product-l div.thumbnail {
  margin: 0;
  padding: 0;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0; }
  .product-l div.thumbnail > img {
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
    height: 100%; }

.product-r {
  background: #fff;
  margin: 20px 0 0;
  padding: 16px 16px 30px 16px; }
  .product-r h2 {
    font-size: 24px;
    font-weight: 500;
    line-height: 32px; }
  @media screen and (min-width: 1020px) {
    .product-r {
      margin: 0 0 0 20px;
      padding: 32px; } }

.product-details {
  display: block;
  font-size: 14px;
  margin-top: 24px; }
  .product-details > div + div {
      margin-top: 12px; }
  .product-details span {
    font-weight: 500;
    margin-left: 4px; }
  .product-code {
    color: #625d5d;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    text-align: right; }
  .product-labels {
    overflow-x: scroll; 
  }.product-labels > div{
    width: max-content;
    display: flex;
    align-items: center;
    justify-content: flex-end;
  }.product-labels img {
      width: 65px;}
    .product-labels img + img {
      margin-left: 5px;
    }
  .product-info {
    text-align: right;
  }
  .product-code {
    margin-top: 0.8em;
  }
@media screen and (min-width: 1020px) {
  .product-details {
    margin-top: 12px; }
    .product-labels img {
      width: 75px;}
    .product-labels img + img {
      margin-left: 10px; }
  }

.product-size,
.product-quantity {
  margin-top: 32px; }
  .product-size b,
  .product-quantity b {
    font-weight: 14px;
    font-weight: normal; }
  .product-size input,
  .product-size span,
  .product-quantity input,
  .product-quantity span {
    border: 2px solid #333;
    border-radius: 50%;
    cursor: pointer;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 8px 8px 0 0;
    -webkit-transition: opacity .15s ease-in-out;
    -o-transition: opacity .15s ease-in-out;
    transition: opacity .15s ease-in-out; }
    .product-size input:hover,
    .product-size span:hover,
    .product-quantity input:hover,
    .product-quantity span:hover {
      opacity: .7; }

.product-size span {
  font-size: 18px;
  font-weight: 500;
  width: 62px;
  height: 62px; }

.product-quantity div,
.product-quantity input {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }

.product-quantity span,
.product-quantity input {
  padding: 4px;
  width: 42px;
  height: 42px; }

.product-quantity p {
  font-size: 14px;
  font-weight: 500;
  margin-left: 8px; }

.product-quantity input {
  font-size: 18px;
  text-align: center; }
  .product-quantity input::-webkit-outer-spin-button, .product-quantity input::-webkit-inner-spin-button {
    margin: 0;
    -webkit-appearance: none; }

.product-price {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;}
  .product-price b {
    font-size: 24px;
    font-weight: normal; }
  .product-price small {
    font-size: 14px; }
  .product-price p {
    font-size: 14px;
    font-weight: 500;
    margin-left: 0;
    margin-top: 1rem; }
  .product-price div {
    margin-top: 8px;
    text-align: right;
    width: 100%; }
  .product-price a {
    font-size: 14px;
    text-decoration: underline; }
  @media screen and (min-width: 1020px) {
    .product-price {
      -ms-flex-wrap: nowrap;
      flex-wrap: nowrap; }
      .product-price p {
        margin-left: 1rem;
        margin-top: 0;
      }
      .product-price div {
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1;
        margin-top: 0;
        width: auto; } }

.product-cart {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 24px; }
.product-cart .option_variant > div {
  display: flex;
    justify-content: start;
    gap: 8px;
}
.product-cart select#product-variant-select {
  width: 100%;
  margin-top: 1px;
}@media screen and (min-width: 1020px) {
  .product-cart .option_variant > div {
      align-items: center;
  }
  .product-cart select#product-variant-select {
    width: 140px;
  }
}

.product-btn {
  width: 100%;
  height: 66px;
  border-radius: 33px;
  font-size: 15px;
  -webkit-box-shadow: 0 2px 0 rgba(0, 0, 0, 0.2);
  box-shadow: 0 2px 0 rgba(0, 0, 0, 0.2); }

.product-like {
  display: inline-flex;
  align-items: center;
  margin-left: 30px;
  width: 40px;
  height: 36px; }

.product-postage {
  background: var(--color-theme--lightblue);
  color: var(--color-theme--blue);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 500;
  margin-top: 24px;
  width: 100%;
  height: 40px; }

.product-note {
  background: var(--color-theme--lightblue);
  border: 1px solid #eee;
  font-size: 10px;
  line-height: 14px;
  margin-top: 20px;
  padding: 8px 16px 12px; }

.product-main {
  overflow: hidden;
  background: #fff;
  margin-top: 6px;
  padding: 24px 16px;
  word-wrap: break-word; }
  .product-main section {
    line-height: 2em;}
  .product-main section + section {
    margin-top: 40px; }
  .product-main h2,.product-main h3 {
    color: var(--color-theme--blue);
    font-size: 24px;
    font-weight: 500; }
  .product-main p {
    font-size: 14px;
    line-height: 19px;
    margin-top: 16px; }
  @media screen and (min-width: 1020px) {
    .product-main {
      padding: 32px 40px 40px; } }
      
@media screen and (min-width: 1020px) {
  .product-main-banner {
    padding: 0 40px;
  }
}
.product-kutikomi {
  border: 1px solid #eee;
  font-size: 14px;
  margin-top: 24px;
  padding: 16px; }
  .product-kutikomi p {
    line-height: 19px;
    margin-top: 16px; }
  .product-kutikomi + .product-kutikomi {
    margin-top: 10px; }

.product-kutikomi__head,
.product-kutikomi__star {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .product-kutikomi__head span,
  .product-kutikomi__head b,
  .product-kutikomi__star span,
  .product-kutikomi__star b {
    margin-left: 1rem; }

.product-kutikomi__star {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 0.75rem;
  margin-top: 0.5rem; }
  .product-kutikomi__star b {
    flex: 1;
    font-size: 0.875rem; }

.product-kutikomi__txt{
  /* text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  display: -webkit-box; */
}
.product-kutikomi .c-btn--readmore {
  display: block;
  text-align: right;
  color: var(--color-theme--blue);
}
.product-kutikomi .c-btn--readmore:hover{
  opacity: 0.7;
  cursor: pointer;
}
.product-kutikomi__txt.js-hide {
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  display: -webkit-box;
}

.product-btns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 40px; }
  @media screen and (min-width: 1020px) {
    .product-btns {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -ms-flex-direction: row;
      flex-direction: row; } }

.product-btns__more,
.product-btns__kutikomi {
  border-radius: 33px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-size: 15px;
  font-weight: 500;
  width: 276px;
  height: 66px; }

.product-btns__more {
  background: #eee;
  margin-right: auto;
  margin-left: auto; }
  .product-btns__more:after {
    background: url(../img/common/icon-arrow--bottom.svg) no-repeat center;
    background-size: 100%;
    content: "";
    margin-left: 16px;
    width: 17px;
    height: 10px; }
  @media screen and (min-width: 1020px) {
    .product-btns__more {
      margin-right: 0;
      margin-left: 0; } }

.product-btns__kutikomi {
  border: 1px solid var(--color-theme--blue);
  color: var(--color-theme--blue);
  margin: 24px auto 0; }
  @media screen and (min-width: 1020px) {
    .product-btns__kutikomi {
      margin: 0 0 0 40px; } }

.product-foot {
  padding-bottom: 24px; }
  .product-foot h2 {
    background: #625d5d;
    color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 24px;
    font-weight: 500;
    margin-top: 20px;
    padding: 0 16px;
    height: 48px; }
  .product-foot .c-items {
    margin-top: 14px;
    padding: 8px 10px 8px 0;
    white-space: normal; }
    .product-foot .c-items a {
      -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
      flex: 0 0 auto;
      margin: 10px 0 0 10px;
      width: calc((100% - 20px)/2); }
      .product-foot .c-items a div {
        padding: 4px 8px 16px; }
        .product-foot .c-items a div[class^="thumbnail"] {
          padding: 0;
          height: 100%;
          max-height: 248px; }
    .product-foot .c-items b {
      margin-top: 16px; }
  @media screen and (min-width: 1020px) {
    .product-foot .c-items {
      margin-top: 24px;
      padding: 8px 10px;
      white-space: nowrap; }
      .product-foot .c-items a {
        margin: 0;
        width: calc((100% - 30px)/4); }
        .product-foot .c-items a + a {
          margin-left: 10px; } }

.product-box{
  margin-top: 1.25rem;
  padding: 1.5rem 1.25rem 1.25rem;
  border: 4px solid #F3F3F3;}

.product-box--benefit {
  border: 4px solid #FAECE7;
  margin-top: 2rem;
  padding: 1.25rem;
  text-align: center; }
  .product-box--benefit h4 {
    border-bottom: 2px solid #F8C7C7;
    color: #F5A0A0;
    display: inline-block;
    font-size: 16px;
    padding-bottom: 8px; }
    .product-box--benefit h4 + .product-price {
      margin-top: 16px; }
  .product-box--benefit .product-price b {
    color: #FC1111; }
  .product-box--benefit .product-price small {
    color: #FC1111; }

.product-box--benefit .product-price {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  font-weight: 500;
  text-align: left; }
  .product-price > div {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    text-align: left;
    width: fit-content; }
  .product-price span {
    font-size: 14px; }
  .product-price b {
    display: inline-block;
    font-size: 24px;
    margin-left: 4px; }
  .product-price small {
    display: inline-block;
    font-size: 14px;
    font-weight: normal;
    margin-left: 4px; }
  .product-price p {
    border: 1px solid #707070;
    display: inline-block;
    font-size: 13px;
    padding: 4px 8px;
    color: #707070; }
  .product-price .hide-price{
    display: none;
  }

.product-highlight {
  background: #F7EFE7;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-size: 13px;
  margin-top: 20px;
  height: 30px; }
  .product-highlight b {
    color: #fc1111; }

.product-quantity {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 20px; }
  .product-quantity b {
    font-weight: 14px;
    font-weight: normal; }
  .product-quantity input,
  .product-quantity span {
    border: 2px solid #333;
    border-radius: 50%;
    cursor: pointer;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 0 8px 0 0;
    -webkit-transition: opacity .15s ease-in-out;
    -o-transition: opacity .15s ease-in-out;
    transition: opacity .15s ease-in-out; }
    .product-quantity input:hover,
    .product-quantity span:hover {
      opacity: .7; }
  .product-quantity div,
  .product-quantity input {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; }
  .product-quantity span,
  .product-quantity input {
    width: 42px;
    height: 42px; }
  .product-quantity p {
    font-size: 14px;
    font-weight: 500;
    margin-left: 8px; }
  .product-quantity input {
    font-size: 18px;
    text-align: center; }
    .product-quantity input::-webkit-outer-spin-button, .product-quantity input::-webkit-inner-spin-button {
      margin: 0;
      -webkit-appearance: none; }

.product-quantity__nav {
  margin-left: 10px; }

.product-cart {
  margin: 20px auto 0;
  text-align: center; }

.product-box--benefit .product-btn {
  background: #625d5d;
  border-radius: 33px;
  -webkit-box-shadow: 0 2px 0 rgba(0, 0, 0, 0.2);
  box-shadow: 0 2px 0 rgba(0, 0, 0, 0.2);
  color: #fff;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-size: 18px;
  font-weight: 500;
  width: 100%;
  max-width: 400px;
  height: 66px; }

.product-box--benefit .product-cart{
  flex-wrap:wrap;
  padding-bottom: 20px;}

.product-box--benefit .product-quantity{
  margin-bottom: 20px;}

.cart-item {
  background: #fff;
  border: 2px solid #eee;
  /* display: flex */
  margin-top: 32px;
  padding: 40px; }

.cart-item__img {
  width: 100px; }
  .cart-item__img img {
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
    height: 100%; }

.cart-item__txt {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  padding: 0 124px 0 40px; }
  .cart-item__txt a {
    color: #333;
    font-size: 24px;
    font-weight: 500;
    line-height: 32px; }
  .cart-item__txt span {
    display: block;
    font-size: 24px;
    margin-top: 16px; }

.cart-item__form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column; }
  .cart-item__form .product-quantity {
    margin-top: 0; }
    .cart-item__form .product-quantity span,
    .cart-item__form .product-quantity input {
      margin-top: 0; }
    .cart-item__form .product-quantity span:last-of-type {
      margin-right: 0; }

.cart-item__del {
  background: #625d5d;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-size: 15px;
  font-weight: 500;
  margin-top: 16px;
  width: 156px;
  height: 40px; }

.cart-item__subtotal,
.cart-items__subtotal {
  font-size: 32px;
  font-weight: 500;
  margin-top: 32px; }
  .cart-item__subtotal span,
  .cart-items__subtotal span {
    font-size: 18px; }

.cart-item__btns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-top: 40px; }

.cart-item__cassette {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 80px; }

.cart-items__subtotal {
  text-align: right;
  border-top: 1px solid #eee;
  padding-top: 40px; }

.simple_form {
  background: #fff;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0 auto;
  padding: 40px 10px;
  max-width: 1020px; }
  @media screen and (min-width: 1020px) {
    .simple_form {
      padding: 20px 40px 40px; } }

.form-group + .form-group {
  border-top: 1px solid #eee;
  margin-top: 16px;
  padding-top: 16px; }

.form-group::-webkit-input-placeholder {
  color: #a7a7a7; }

.form-group:-ms-input-placeholder {
  color: #a7a7a7; }

.form-group::-ms-input-placeholder {
  color: #a7a7a7; }

.form-group::placeholder {
  color: #a7a7a7; }

@media screen and (min-width: 1020px) {
  .form-group {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; } }

.form-group__p {
  color: #625d5d;
  font-size: 11px;
  line-height: 18px;
  margin-top: 10px; }

.simple_form label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 16px; }
  .simple_form label + label {
    margin-top: 10px; }

.simple_form .attention {
  color: #e72450;
  font-size: 13px;
  margin-left: 8px; }

.simple_form .col-md-10,
.simple_form .col-md-10--wrap,
.simple_form .col-md-10--radio {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  margin-top: 10px; }

.simple_form .col-md-10--wrap {
  margin-top: 10px; }

.simple_form .col-md-10 + .col-md-10 {
  margin-top: 10px; }

.simple_form .col-xs-6 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -ms-flex-direction: column-reverse;
  flex-direction: column-reverse;
  margin-top: 10px; }

.simple_form input,
.simple_form select {
  background: #fff;
  border: 1px solid #eee;
  border-radius: 4px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #625d5d;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 15px;
  padding: 0 16px;
  width: 100%;
  height: 40px; }

.simple_form select {
  -webkit-appearance: pop-up-menu;
  -moz-appearance: pop-up-menu;
  appearance: pop-up-menu; }

.simple_form input[type="radio"] {
  background: #eee;
  border-radius: 50%;
  padding: 0;
  position: relative;
  width: 16px;
  height: 16px; }
  .simple_form input[type="radio"]:checked {
    background: var(--color-theme--blue);
    border: 3px solid #eee; }

.simple_form a {
  text-decoration: underline; }

.simple_form .c-btn--border--black {
  border: 2px solid #625d5d;
  border-radius: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  width: 174px;
  height: 40px; }

.simple_form .c-btn,
.simple_form .c-btn--gray {
  background: var(--color-theme--blue);
  border-radius: 33px;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 40px auto 0;
  max-width: 295px;
  height: 66px; }

.simple_form .c-btn--gray {
  background: #eee;
  color: #625d5d;
  margin-top: 20px; }

.simple_form .formError {
  color: #e72450;
  font-size: 13px;
  opacity: 1 !important;
  margin: 8px 0 0 !important;
  position: relative !important;
  top: 0 !important;
  left: 0 !important; }
  .simple_form .formError + input,
  .simple_form .formError + select {
    border-color: #e72450; }

@media screen and (min-width: 1020px) {
  .simple_form lable {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1; }
    .simple_form lable + label {
      margin: 0 0 0 10px; }
  .simple_form .col-md-10,
  .simple_form .col-md-10--radio {
    display: -ms-grid;
    display: grid;
    -webkit-box-flex: 2.7;
    -ms-flex: 2.7;
    flex: 2.7;
    margin-top: 0; }
  .simple_form .col-md-10--wrap {
    -webkit-box-flex: 2.7;
    -ms-flex: 2.7;
    flex: 2.7;
    margin-top: 0; }
  .simple_form .col-md-10--radio label {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto; }
  .simple_form .col-md-10 + .col-md-10 {
    margin-top: 20px; }
  .simple_form .row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    width: 100%; }
  .simple_form .col-xs-6 {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    margin-top: 0; }
    .simple_form .col-xs-6:not(:first-child) {
      margin-left: 8px; }
    .simple_form .col-xs-6 + .col-xs-6 {
      margin-left: 24px; }
  .simple_form .form-inline .col-xs-6 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto; } }

.col-md-10--btns {
  margin: 20px auto 0;
  text-align: center; }

.form-inline {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 15px; }
  .form-inline .col-xs-6:not(:first-child) {
    margin-left: 8px; }
  .form-inline input {
    max-width: 80px; }
  .form-inline a {
    font-size: 14px;
    margin-left: 24px; }
  .form-inline span:not(:first-child),
  .form-inline input:not(:first-child) {
    margin-left: 8px; }
  @media screen and (min-width: 1020px) {
    .form-inline label + label {
      margin-left: 16px;
      white-space: nowrap;
      word-break: break-all; } }

.simple_form {
  padding-top: 8px; }
  .simple_form legend {
    font-size: 24px;
    font-weight: 500 !important;
    margin-top: 32px;
    text-align: center; }
    .simple_form legend + p {
      font-size: 15px;
      line-height: 25px;
      margin-top: 16px; }
  .simple_form .table {
    margin-top: 32px;
    width: 100%; }
  .simple_form tr {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: start;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column; }
    .simple_form tr:not(:first-child) {
      border-top: 1px solid #eee;
      margin-top: 16px;
      padding-top: 16px; }
  .simple_form th {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%; }
    .simple_form th label {
      -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
      flex: 0 0 auto; }
  .simple_form td {
    margin-top: 6px;
    width: 100%; }
    .simple_form td .form-inline {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column; }
    .simple_form td input,
    .simple_form td select {
      font-size: 15px;
      margin: 10px 0 0 0; }
      .simple_form td input:not(:first-child),
      .simple_form td select:not(:first-child) {
        margin: 10px 0 0 0; }
    .simple_form td select {
      -webkit-appearance: pop-up-menu;
      -moz-appearance: pop-up-menu;
      appearance: pop-up-menu; }
  .simple_form .attention {
    color: #e72450;
    font-size: 13px;
    margin: 0 0 0 8px; }
  .simple_form .btn {
    border-radius: 33px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-size: 15px;
    font-weight: 500;
    margin: 40px auto 0;
    text-decoration: none;
    width: 295px;
    height: 66px; }
    .simple_form .btn + .btn {
      margin-top: 20px; }
  .simple_form .btn-default {
    background: #eee;
    color: #625d5d; }
  .simple_form .btn-primary {
    background: var(--color-theme--blue);
    color: #fff; }
  @media screen and (min-width: 1020px) {
    .simple_form {
      padding-top: 40px; }
      .simple_form legend {
        margin-top: 40px; }
      .simple_form tr {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center; }
      .simple_form th {
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row; }
      .simple_form td {
        -webkit-box-flex: 2.7;
        -ms-flex: 2.7;
        flex: 2.7;
        margin-top: 0; }
        .simple_form td .form-inline {
          -webkit-box-orient: horizontal;
          -webkit-box-direction: normal;
          -ms-flex-direction: row;
          flex-direction: row; }
        .simple_form td span,
        .simple_form td input,
        .simple_form td select,
        .simple_form td input:not(:first-child),
        .simple_form td select:not(:first-child) {
          margin-top: 0; }
        .simple_form td select {
          max-width: 160px; } }

.simple_form--confirm .table--info td {
  font-weight: 500 !important;
}


/* Aboutページ
============================== */
#about .l-content {
  color: #625d5d;
  margin-top: 0; 
}@media screen and (min-width: 1020px) {
  #about .l-content {
    padding-bottom: 0; }
}

#about .breadcrumb {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  margin: 0 auto;
  display: block;
}

#about .bg-wave {
  display: block;
  width: 100%;
  height: 25px;
  background: url(../img/about/about-wave.png) no-repeat center/cover;
}@media screen and (min-width: 1020px) {
  #about .bg-wave {
    height: 50px;
  }
}

.about-hero {
  background: url(../img/about/hero_2021.png) no-repeat center;
  background-size: cover;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  flex-direction: column;
  overflow: hidden;
  position: relative;
  height: 260px;
  color: #fff;
  text-align: center; }

.about-hero__h2 {
  color: #fff;
  font-size: 24px;
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
  border-bottom: solid 2px #fff;
 }

.about-hero__text {
  margin-top: 8px;
  font-size: 13px;
}.about-hero__text span {
  margin-top: 8px;
  display: block;
  font-size: 15px;
}
@media screen and (min-width: 1020px) {
  .about-hero__text {
    margin-top: 25px;
    font-size: 19px;
  }
  .about-hero__text span {
    margin-top: 12px;
    font-size: 21px;
  }
}

.about-sec {
  margin: 32px auto;
  padding: 0 16px;
  max-width: 1020px; }
  .about-sec .bg--blue {
    background-color: var(--color-theme--lightblue);
  }
  @media screen and (min-width: 1020px) {
    .about-sec {
      padding: 0; } }

.about-h2 {
  font-size: 30px;
  text-align: center; }

.about-lead {
  font-size: 15px;
  line-height: 1.333;
  margin-top: 16px;
  text-align: center; }

.about-num {
  counter-reset: about;
  margin-top: 16px; }
  .about-num li {
    background: #fff;
    border: 1px solid #eee;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: top;
    -ms-flex-align: top;
    align-items: top;
    font-size: 14px;
    line-height: 2;
    padding: 10px 20px; }
    .about-num li:before {
      counter-increment: about;
      content: counter(about) ".";
      font-size: 32px;
      font-weight: 500;
      line-height: 1.4;
      padding-right: 24px; }
    .about-num li:not(:first-child) {
      margin-top: 10px; }
  @media screen and (min-width: 1020px) {
    .about-num {
      margin-top: 32px; }
      .about-num li {
        padding: 24px 40px; } }

.about-lead sup {
  font-size: 50%;
  vertical-align: super; }

.about-attention {
  background: var(--color-theme--beige);
  color: #707070;
  font-size: 12px;
  line-height: 1.33;
  margin: 16px auto 0;
  padding: 10px 16px;
  max-width: 800px; }
  @media screen and (min-width: 768px) {
    .about-attention {
      padding: 10px 32px;
      line-height: 1.6; } }

.about-list {
  width: 100%;
  font-size: 0;
  margin: 20px -15px 0 0; }
  @media screen and (min-width: 768px) {
    .about-list {
      max-width: 960px;
      margin: 0 auto;
      display: flex;
      justify-content: center;
      flex-wrap: wrap;
    }
  }

.about-list__li {
  display: flex;
  align-items: center;
  flex-direction: column;
  position: relative;
  margin: 20px auto 0;
  width: 100%;
  box-sizing: border-box;
  vertical-align: top; }
  @media screen and (min-width: 480px) {
    .about-list__li {
      max-width: calc((100% - 30px)/2); } }
  @media screen and (min-width: 768px) {
    .about-list__li {
      margin: 40px 0 0 60px;
      max-width: calc((100% - 180px)/3); } }

.about-list__txt {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  position: relative;
  text-align: center;
  padding: 20px 10px; }
  .about-list__txt h3 {
    color: var(--color-theme--blue);
    font-size: 20px;
    font-weight: 500;
    padding-bottom: 8px; }
  .about-list__txt p {
    font-size: 14px;
    line-height: 1.3;
    margin-top: 8px;
    text-align: left; }
  .about-list__txt a {
    text-decoration: underline;
    font-weight: 500;
  }
  @media screen and (min-width: 768px) {
    .about-list__txt {
      min-height: 220px; }
    .about-list__txt h3{
      font-size: 18px;
      color: #3D3C3D;
    } }

.about-list__img {
  width: 120px;
  height: auto; }
  .about-list__img img {
    -o-object-fit: cover;
    object-fit: cover; 
  }
@media screen and (min-width: 768px) {
  .about-list__img {
    width: 168px;
  }
}


.about-standerd .about-h2 {
  line-height: 1.4;
  font-size: 20px;
  font-weight: 500; }
.about-standerd .about-lead {
  margin-right: auto;
  margin-left: auto;
  padding: 0 10px;
  max-width: 600px;
  text-align: left;
}@media screen and (min-width: 768px) {
  .about-standerd .about-lead {
    font-size: 14px;
    line-height: 1.71;
  }
}

.about-concept {
  margin-bottom: 0;
  padding: 30px 15px;
  width: 100%;
    max-width: 100%;
  box-sizing: border-box;
  background-color: var(--color-theme--lightblue);
  }.about-concept .about-h2 {
    line-height: 1.7;
    font-size: 17px; 
    font-weight: 500;
  }.about-concept .about-attention {
    background-color: unset;
    color: var(--color-theme--blue);
    line-height: 1.58;
  }@media screen and (min-width: 768px) {
    .about-concept {
      padding: 70px 15px 60px;
    }
    .about-concept .about-h2 {
      font-size: 25px;
    }
    .about-concept .about-attention {
      line-height: 1.76;
    }
  }

.about-bottom {
  margin: 0 auto;
  padding: 0 16px 32px;
  background-color: var(--color-theme--lightblue);
}.about-bottom__inner {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 16px;
  background-color: #fff;
  overflow: hidden;
  }.about-bottom__inner img {
    width: 50%;
    max-width: 250px;
    height: auto;
  }.about-bottom__inner p {
    max-width: 400px;
    font-size: 13px;
    line-height: 1.4;
    color: var(--color-theme--blue);
  }.about-bottom__inner a {
    font-weight: 500;
    color: var(--color-theme--blue);
    text-decoration: underline;
  }
@media screen and (min-width: 768px) {
  .about-bottom {
    padding: 0;
    background-color: #fff;
  }.about-bottom__inner {
    margin: 0 auto;
    padding: 60px 0;
    max-width: 800px;
    box-sizing: border-box;
  }.about-bottom__inner p {
    margin-left: 10px;
    font-size: 18px;
    line-height: 1.72;
  }
}

/* Subscription
================================== */
#subscription .l-content {
  margin-top: 0;
}
@media screen and (min-width: 768px) {
  #subscription .l-content {
      padding-top: 3.75rem;
      margin-top: 116px !important;
  }
}

.subscription-head {
  width: 100%;
  max-width: 600px;
  margin: 24px auto 0;
}

.subscription-sec {
  margin: 0 auto 15px;
  padding: 20px 0;
  width: 100%;
  max-width: 892px;
  background-color: var(--color-theme--beige); 
  box-sizing: border-box;
  text-align: center;
}.subscription-sec--caution,.subscription-sec--text {
  padding: 20px;
}@media screen and (max-width: 767px) {
  .subscription-sec.subscription-sec--text {
    padding: 40px 1rem;
  }
}
@media screen and (min-width: 768px) {
  .subscription-sec {
    padding: 40px 0;
    margin-bottom: 30px;
  }
  .subscription-sec.subscription-sec--text {
    background-color: unset;
  }
}

.subscription-sec p {
  color: #6D6868;
  margin: 15px auto;
  font-size: 13px;
  line-height: 1.53;
}.subscription-sec--text p {
  margin: 0;
  line-height: 1.76;
}.subscription-sec--text > p {
  text-align: left;
}
@media screen and (min-width: 768px) {
  .subscription-sec p {
    font-size: 18px;
  }
}

.subscription-h3 {
  position: relative;
  margin-bottom: 5px;
  font-size: 20px;
  font-weight: 500;
  color: var(--color-theme--pink);
}.subscription-h3 span{
  display: block;
  margin-top: 4px;
  color:#3D3C3D;
  font-size: 15px;
}@media screen and (min-width: 768px) {
  .subscription-h3 {
    font-size: 30px;
  }
  .subscription-h3 span{
    font-size: 25px;
  }
}

.subscription-6 .subscription-h3 {
  width: fit-content;
  margin-right: auto;
  margin-left: auto;
}.subscription-6 .subscription-h3::before,.subscription-h3::after {
  position: absolute;
  top: 0;
  width: 60px;
  height: 60px;
}.subscription-6 .subscription-h3::before {
  content: url(../img/subscription/sec6-illust--left.png);
  left: -60px;
}.subscription-6 .subscription-h3::after {
  content: url(../img/subscription/sec6-illust--right.png);
  right: -60px;
}@media screen and (min-width: 768px) {
  .subscription-6 .subscription-h3::before {
    content: url(../img/subscription/sec6-illust--left.png);
    left: -10%;
  }.subscription-6 .subscription-h3::after {
    content: url(../img/subscription/sec6-illust--right.png);
    right: -10%;
  }
}

.subscription-sec__inner {
  margin-top: 10px;
  padding: 12px 20px 0;
  border-top: solid 4px var(--color-theme--pink);
}.subscription-sec__inner h4 {
  font-weight: 500;
  font-size: 15px;
  line-height: 1.2;
}.subscription-sec__inner h4 span {
  color: var(--color-theme--pink);
}.subscription-sec__inner > p:first-child {
  text-align: center;
}
@media screen and (min-width: 768px) {
.subscription-sec__inner {
  margin-top: 25px;
  padding: 24px 45px 0;
}
 .subscription-sec__inner h4 {
   font-size: 25px;
 }
}

.subscription-sec .subscription-attention {
  text-align: left;
  font-size: 12px;
}@media screen and (min-width: 768px) {
  .subscription-sec .subscription-attention {
    font-size: 14px;
  }
}

.subscription-contact span {
  display: block;
  margin: 0 auto 16px;
  width: 200px;
  height: 40px;
  line-height: 40px;
  font-weight: 500;
  border: solid 1px #3D3C3D;
}
.subscription-contact b,.subscription-mail b {
  display: block;
  margin-bottom: 10px;
  font-weight: 500;
}.subscription-contact .tel {
  font-size: 20px;
}.subscription-contact p {
  font-size: 14px;
}@media screen and (min-width: 768px) {
  .subscription-contact p {
    font-size: 15px;
  }
}

.subscription-images {
  display: flex;
  flex-wrap: wrap;
}
.subscription-2 .subscription-images picture {
  width: calc(50% - 5px);
  height: fit-content;
  box-sizing: border-box;
}.subscription-2 .subscription-images img + img, .subscription-images picture + picture {
  margin-left: 10px;
}

.subscription-6 .subscription-images img {
  margin: 0 5px 10px;
  width: calc(100%/3 - 10px);
}

.subscription-mail a{
  display: block;
  font-size: 13px;
  text-decoration: underline;
}



.member_rank-head {
  background-color: var(--color-theme--lightblue);
  margin: 0 20px 10px;
  max-width: 892px;
  text-align: center;
}.member_rank-head h3 {
  padding: 15px 0;
  width: 100%;
  background-color: #88BDE4;
  font-size: 20px;
  color: #fff;
}.member_rank-head p {
  padding: 15px;
  font-size: 14px;
  line-height: 1.57;
}@media screen and (min-width: 768px) {
  .member_rank-head {
    margin: 0 auto 40px;
  }.member_rank-head p {
    padding: 30px;
  }
}

.member_rank-point {
  max-width: 892px;
  margin: 0 auto;
}@media screen and (min-width: 768px) {
  .member_rank-point {
    margin: 0 auto 20px;

  }
}

.member_rank-sec {
  margin: 15px auto 0;
  padding: 0 10px;
  max-width: 892px;
}@media screen and (min-width: 768px) {
  .member_rank-sec {
    padding: 40px;
    background-color: var(--color-theme--beige);
  }
  .member_rank-sec + .member_rank-sec {
    margin-top: 0;
    padding-top: 0;
  }
}

.member_rank-images {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}.member_rank-images picture {
  width: calc(100%/2 - 10px);
  margin: 0 5px 15px;
}.member_rank-images picture.member_rank-image-6 {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .member_rank-images picture ,.member_rank-images picture.member_rank-image-6{
    width: calc(100%/3 - 10px);
  }
  }

.member_rank-slide {
  overflow-x: scroll;
}.member_rank-slide img{
  width: 720px;
}.member_rank-slide + p {
  margin-top: 8px;
  font-size: 12px;
}@media screen and (min-width: 768px) {
  .member_rank-slide {
    overflow: hidden;
  }.member_rank-slide img{
    width: 100%;
    max-width: 8920px;
    margin: 0 auto;
  }.member_rank-slide + p {
    text-align: right;
  }
}


.subscription-img img, .top-member_rank img{
  max-width: 534px;
  margin-top: 24px;
}

.top-subscription .c-flex {
  border-top: 2px solid #eee;
  margin: 32px 10px 0;
  padding-top: 32px; }
  .top-subscription .c-flex a {
    border-radius: 10px;
    -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1; 
    width: 100%;
  }
    .top-subscription .c-flex a + a {
      margin: 10px 0 0 0; }

    @media screen and (min-width: 1020px) {
      .top-subscription .c-flex {
        border-top: 0;
        margin: 80px 0 0;
        padding-top: 0; }
        .top-subscription .c-flex a + a {
          margin: 0 0 0 20px; } }

  @media screen and (min-width: 1020px) {
    .top-member_rank{
    margin: 80px auto 0
  }
    
    }

.top-banners.c-flex{
  -webkit-justify-content: center;
  -ms-justify-content: center;
  justify-content: center; }
  .top-banners img{
    width: 100%;
    max-width: 500px;
    object-fit: cover; }

  .c-line-banner{
    padding: 0 10px; }
  
  .c-line-banner a{
    max-width: 500px; }

.member-rank-block{
  width:100%;
  text-align:right;
  font-size: 14px;
  margin-bottom:10px;
}

.member-rank-block p{
  font-weight: 500;
  margin:0;
}

/* mypage */
#customers-card-index-view input, #customers-card-index-view button{
  -webkit-appearance: auto;
  -moz-appearance: auto;
  appearance: auto;
}

/* magazine */

.article-list--type1 {
  margin: 20px 10px;
  box-sizing: border-box;
}

.article-list--type1 ul{
  padding: 10px;
  border: solid 2px var(--color-theme--blue);
  border-radius: 10px;
}

.article-list--type1 ul li{
  padding-left: 24px;
  background: url(https://ec-force.s3.amazonaws.com/ethicamecom/uploads/img/article/icon-check.png) top 3px left 0px no-repeat;
  background-size: 24px auto;
}

.article-list--type2 {
  margin: 20px 10px;
  box-sizing: border-box;
  border-radius: 10px;
  background-color: #73bcff;
}

.article-list--type2 p{
  padding: 8px 16px;
  color: #ffffff;
  font-weight: 500;
}

.article-list--type2 ul{
  padding: 10px;
  border: solid 2px #73bcff;
  border-radius: 0 0 10px 10px;
  background-color: #ffffff;
  color: initial;
  list-style: disc;
}

.article-list--type2 ul li{
  margin-left: 24px;
}


.article-comment{
  display: flex;
    justify-content: flex-start;
  margin: 16px 10px 32px;
  text-align: center;
}

.article-comment.comment--right {
  flex-flow: row-reverse;
}

.article-comment .comment-image {
  position: relative;
}

.article-comment .comment-image span {
  display: block;
  width: 100%;
}

.article-comment .comment-image img {
  width: 80px;
    height: 80px;
  border-radius: 50%;
  background-color: #ddd;
  border: solid 3px #ddd;
}@media screen and (min-width: 376px){
  .article-comment .comment-image img {
    width: 100px;
    height: 100px;
  }
}


.article-comment .comment-text{
  position: relative;
  margin: 12px 20px 0;
  padding: 10px;
  width: 100%;
  height: fit-content;
  border: solid 2px #ddd;
  border-radius: 10px;
  background-color: #fff;
  text-align: left;
}@media screen and (min-width: 376px){
  .article-comment .comment-text{
    margin: 22px 20px 0;
  }
}

.comment--left .comment-text::before, .comment--right .comment-text::before {
  content: '';
  position: absolute;
    top: 18px;
  background-color: #fff;
  height: 15px;
  width: 15px;
  border-top: solid 2px #ddd;
  border-right: solid 2px #ddd;
}
  .comment--left .comment-text::before {
    left: -10px;
    transform: rotate( 225deg);
  }

  .comment--right .comment-text::before {
    right: -10px;
    transform: rotate( 45deg);
  }

/* 
customer_terms, faqs, guides, privacies
================================== */
.regist-title-p {
  padding: 0 0 8px;
  font-weight: 500;
  font-size: 18px;
  color: #3A3A3A;
}

.guide pre {
  font-weight: 200;
}

/* 
informations
================================== */
.l-content--information {
  display: block;
}

.p-pagenate-num {
  display: none;
}@media screen and (min-width: 768px){
  .l-content--information {
    display: flex;
  }
  .p-pagenate-num.hide-sp {
    margin: 60px auto 0;
    padding: 0 10px;
    display: block;
    max-width: 1020px;
  }
}

.p-pagenation--informations {
  display: flex;
    justify-content: space-between;
  margin: 25px 10px;
  }.p-pagenation--informations li{
    width: 35px;
    height: 35px;
    line-height: 35px;
    text-align: center;
    font-weight: 500;
  }.p-pagenation--informations li.active{
    flex-shrink: 0;
    border-radius: 50%;
    background: var(--color-theme--lightblue);
  }.p-pagenation--informations li.next, .p-pagenation--informations li.previous {
    width: 65px;
    height: 40px;
    background: var(--color-theme--blue);
    border-radius: 20px;
    line-height: 40px;
  }.p-pagenation--informations li.next a, .p-pagenation--informations li.previous a{
    color: #fff;
  }@media screen and (min-width: 768px){
    .p-pagenation--informations {
      margin: 35px auto;
      max-width: 616px;
    }
  }

/* 
information_category
================================== */
.l-content--informations {
  padding-bottom: 20px;
  display: block;
}

.l-main--informations {
  width: 100%;
  margin-top: 32px;
}@media screen and (min-width: 426px){
  .l-main--informations {
    margin: 0 auto;
      max-width: 1020px;
    box-sizing: border-box;
  }
}

.p-content--informations {
  display: flex;
  flex-direction: column;
}@media screen and (min-width: 768px){
  .p-content--informations {
    flex-direction: row;
  }
}

.p-informations_list {
  width: 100%;
  }@media screen and (min-width: 768px){
    .p-informations_list{
      max-width: 1020px;
    }
  }

.p-informations_list__item {
  padding: 10px;
  display: flex;
  border-bottom: solid 1px #d1d1d1;
  }.p-informations_list__item--thumb {
    position: relative;
    flex-shrink: 0;
    }.p-informations_list__item--thumb a{
      display: block;
    }.p-informations_list__item--thumb img {
      width: 150px;
      height: 150px;  
      object-fit: cover;
    }.p-informations_list__item--thumb span {
      position: absolute;
        top: 0;
        left: 0;
      padding: 5px 10px;
      background: #88BDE4;
      color: #fff;
      font-size: 12px;
    }
    @media screen and (min-width: 768px){
      .p-informations_list__item {
        padding: 20px 10px;
      }
    }

.p-informations_list__item--title {
  margin: 10px 10px 10px 20px;
  width: 100%;
  font-size: 16px;
  line-height: 1.1rem;
}.p-informations_list__item--title a {
  word-break: break-all;
}.p-informations_list__item--title span {
  font-size: 12px;
}

.p-informations_cat_list {
  margin: 0 auto;
  padding: 15px 25px;
  width: calc(100% - 20px);
  box-sizing: border-box;
  border: solid 1px #d1d1d1;
  }.p-informations_cat_list.hide-sp{
    display: none;
  }@media screen and (min-width: 768px){
    .p-informations_cat_list {
      margin-top: 30px;
      margin-left: 30px;
      max-width: 300px;
      height: fit-content;
    }.p-informations_cat_list.hide-sp {
      display: block; }
    .p-informations_cat_list.hide-pc {
      display: none; }}

.p-informations_cat_list__item {
  position: relative;
  padding: 10px 10px 10px 20px;
  border-bottom: solid 1px #d1d1d1;
  }.p-informations_cat_list__item:first-child{
    margin-bottom: 5px;
    padding: 0 10px 10px 0;
  }.p-informations_cat_list__item:not(:first-child)::before {
    content: '';
    position: absolute;
      left: 10px;
      top: 50%;
    width: 5px;
    height: 5px;
    background: #3D3C3D;
    border-radius: 50%;
    transform: translate(0, -50%);
  }.p-informations_cat_list__item a{
    width: 100%;
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

@media screen and (min-width: 768px){
  .p-informations_cat_list {
    padding: 20px 25px;
  }
}


/* 
お知らせ記事:　/information/show.html.liquid
================================== */
.l-content--information {
  padding-bottom: 20px;
}@media screen and (min-width: 1020px){
  .l-content--information {
    display: block;
  }
}

.l-main--information {
  width: 100%;
  margin: 0 auto;
  display: flex;
    flex-direction: column;
}@media screen and (min-width: 1020px){
  .l-main--information {
      flex-direction: row;
    padding: 0 10px;
      max-width: 1020px;
    box-sizing: border-box;
  }
}

/* 
商品検索: 
================================== */

.products-search {
  display: flex;
  align-items: flex-end;
  margin-bottom: 12px;
  width: 100%;
}
#select-sort, #btn-search_panel {
    width: 50%;
    height: 36px;
    border-radius: 20px;
}

.products-display {
  display: flex;
  margin-top: 0;
  margin-bottom: 12px;
  width: 100%;
    max-width: 100%;
}.products-display div + div {
  margin-left: 8px;
}.products-display div:last-child {
  text-align: left;
  width: fit-content;
}

#select-sort {
  position: relative;
}#select-sort select {
  -webkit-appearance:none;
  appearance: none;
  text-align:-webkit-center;
  text-align: center;
  padding-left: 20px;
  width: 100%;
  border-radius: 20px;
  margin-top: 0;
}_::-webkit-full-page-media, _:future, :root #select-sort select {
  padding-left: 6px;
  padding-right: 20px;
}

#btn-search_panel {
  position: relative;
  margin-left: 8px;
  padding-left: 20px;
  box-sizing: border-box;
  background: #5C5C5C;
  color: #fff;
  text-align: center;
  line-height: 36px;
  font-size: 16px;
}_::-webkit-full-page-media, _:future, :root #btn-search_panel {
  text-align: left;
  padding-left: 6px;
  padding-right: 20px;
}

#select-sort::before, #btn-search_panel::before {
  content:'';
  position: absolute;
  top: 50%;
  left: 16px;
  width: 18px;
  height: 19px;
  transform: translate(0, -50%);
  background: no-repeat center / contain;
}_::-webkit-full-page-media, _:future, :root #select-sort::before {
  left: unset;
  right: 10px;
}_::-webkit-full-page-media, _:future, :root  #btn-search_panel::before {
  left: unset;
  right: 10px;
}

#select-sort::before {
  background-image: url('{{ file_root_path }}/img/products/icon-product_category-sort.svg');
}

#btn-search_panel::before {
  background-image: url('{{ file_root_path }}/img/products/icon-product_category-search.svg');
}

#search_panel {
  display: none;
  padding: 20px 12px;
  min-width: 100%;
  box-sizing: border-box;
  background: var(--color-theme--beige);
}#search_panel p {
  position: relative;
  color: #3D3C3D;
  text-align: left;
  padding-left: 20px;
}#search_panel p::before {
  content: '○';
    position: absolute;
    width: 4px;
    height: 4px;
    top: 0;
    left: 0px;
}#search_panel p::after {
    content: '';
    position: absolute;
    bottom: 1px;
    left: 12px;
    width: 4px;
    height: 1px;
    border-bottom: solid 1px #333;
    transform: rotate(45deg);
}#search_panel form {
  width: 100%
}#search_panel > div {
  display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
  width: 100%;
}#search_panel select {
  padding-left: 0;
}#search_panel .c-btn-clear {
  margin-top: 16px;
  margin-left: 16px;
  padding: 0 8px;
  height: 34px;
  background: #fff;
  border: solid 1px #f1f1f1;
  border-radius: 18px;
  line-height: 36px;
  text-align: center;
}#search_panel .c-btn-clear.sp {
  display: block;
}#search_panel .c-btn-clear.pc {
  display: none;
}
.products_category_thumb__txt {
  padding: 1rem;
  font-size: 16px;
  line-height: 1.25;
}
.products-category_name {
  padding: 0 16px;
  margin-bottom: 1rem;
  font-size: 1.125rem;
}
@media screen and (min-width: 1020px) {
  .products-category_name {
    padding-left: 0;
  }
}
@media screen and (min-width: 768px) {
  #search_panel .c-btn-clear.sp {
    display: none;
  }
  #search_panel .c-btn-clear.pc {
    display: block;
  }
  #search_panel .c-btn-clear.pc {
    display: block;
  }
  .products_category_thumb__txt {
    font-size: 14px;
  }
}@media screen and (min-width: 528px){
  .products-display {
    display: block;
    padding: 0 10px 0 0;
    max-width: max-content;
  }.products-display div + div {
    margin-top: 8px;
  }

  .products-search {
    flex: 1;
    width: 100%;
    justify-content: flex-end;
  }
  #btn-search_panel {
  margin-left: 16px;
  }
  #select-sort, #btn-search_panel {
    max-width: 200px;
  }
  #search_panel {
    padding: 28px;
  }
  #search_panel > div {
    display: flex;
    justify-content: center;
    flex-direction: column;
  }#search_panel select {
    /* flex: 1;
    width: 200px; */
  }
}
.products-search_title {
  margin-bottom: 8px;
  padding: 0 16px;
}
@media screen and (min-width: 768px){
  .products-search_title {
    padding: 0;
  }
}
.block-search_panel {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-top: 16px;
}.block-search_panel > div {
  flex: 1;
}
.select-search_panel select {
  width: 100%;
  margin-top: 0;
  border-radius: 20px;
  text-align: center;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}.select-search_panel select.is-disable {
  background-color: #f3f3f3;
}
.select-search_panel {
  position: relative;
}
.select-search_panel::before {
  content: '>';
  position: absolute;
  top: 50%;
  right: 20px;
  width: 4px;
  z-index: 100;
  transform: translateY(-50%) rotate(90deg) scaleY(1.3);
}
@media screen and (min-width: 768px){
  .block-search_panel {
    flex-direction: row;
  }
}

#product_search_labels {
  margin-top: 28px;
}#product_search_labels > div {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 16px;
}#product_search_labels .select-search_panel {
  flex: 1;
}
@media screen and (min-width: 768px){
  #product_search_labels > div {
    flex-direction: row;
    gap: 8px;
  }
}

#search_panel .c-btn-submit {
  display: block;
  margin: 14px auto 0;
  width: 120px;
  height: 36px;
  border-radius: 20px;
  background-color: var(--color-theme--blue);
  color: #fff;
  font-size: 1em;
}

/* 
商品レビュー: 
================================== */
.product-kutikomi {
  display: block;
}.product-kutikomi.js-hidden {
  
}
.product-review__form {
  margin-top: 40px;
}

.product-review__table {
  width: 100%;
  border: solid 1px #f7f7f7;
}.product-review__table tr {
  display: flex;
  flex-direction: column;
}.product-review__table tr + tr {
  border-top: solid 1px #f7f7f7;
}.product-review__table th {
  background: var(--color-theme--blue);
  color: #fff;
  padding: 20px;
  text-align: left;
  width: 100%;
  box-sizing: border-box;
}.product-review__table td {
  padding: 20px;
  vertical-align: middle;
}.product-review__table input,.product-review__table textarea,.product-review__table select {
  border-radius: 6px;
  color: #333;
  font-size: 0.875rem;
  box-sizing: border-box;
}.product-review__table input{
  padding: 16px;
  width: 100%;
  background: #f7f7f7;
}.product-review__table select{
  padding: 8px 16px;
  border: solid 1px #f7f7f7;
}.product-review__table textarea {
  padding: 16px;
  width: 100%;
  min-height: 4rem;
  font-weight: unset;
  font-family: inherit;
  background: #f7f7f7;
  border: none;
}.product-btn.btn-review_submit {
  margin: 0 auto;
  width: 276px;
}
@media screen and (min-width: 768px){
.product-review__table tr {
  display: table-row;
}.product-review__table th {
  width: 200px;
}
}
.product-reviews--staff {
}
.product-reviews--staff .review-staff{
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 2rem;
}.product-reviews--staff .review-staff p {
  margin-top: 0;
}.product-reviews--staff .review-staff img {
  max-width: 4rem;
  object-fit: contain;
}.product-reviews--staff .review-staff > div {
  position: relative;
  flex: 1;
  padding: 1.5rem;
  background-color: #E7F2FA;
}.product-reviews--staff .review-staff > div::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-color: transparent #E7F2FA transparent transparent;
    border-width: 12px 16px 12px 0px;
    transform: translate(-95%, -41%);
}.product-reviews--staff .review-staff .name {
  font-weight: bold;
  margin-bottom: 1rem;
}
@media screen and (min-width: 768px){
 .product-reviews--staff .review-staff img {
  max-width: 7rem;
 }
}

/* sale_ranking */
.ranking-products-list .c-items{
  gap: 22px 10px;
}
@media screen and (max-width: 767px){
  .ranking-products-list .c-items{
    padding-top: 1rem;
  }

}

.ranking-items__item {
  position: relative;
  }
  .ranking-items__item::before {
    content: attr(data-number);
    position: absolute;
      top: -0.75rem;
      right: 0.75rem;
    width: 42px;
    height: 42px;
    background: #6A6A6A;
    border-radius: 22px;
    color: #fff;
    font-size: 1.25rem;
    font-weight: 500;
    line-height: 42px;
    text-align: center;
    z-index: 100;
  }#ranking-1::before {
    background: #DEAD00;
  }#ranking-2::before {
    background: #979797;
  }#ranking-3::before {
    background: #C2804D;
  }

/* 
プレビュー
================================== */
#preview-footer-view {
  opacity: 0.8;
  z-index: 10000;
  position: fixed;
    bottom: 0;
    left: 0;
  display: flex;
    justify-content: center;
    align-items: center; 
  width: 200px;
  height: 50px;
  background: #333;
  }#preview-footer-view a {
    color: #fff;
  }