@charset "UTF-8";
/* CSS Document */

@media (min-width: 768px) {
  .u-only--sp {
    display: none !important
  }
}

@media (max-width: 767px) {
  .u-only--pc {
    display: none !important
  }
}

.u-display--none {
  display: none !important;
}

.not-member.member-true {
  display: none !important;
}

.for-member.member-false {
  display: none !important;
}

/* reset
=====================================================================*/
*,
::after,
::before {
  box-sizing: border-box;
  background-repeat: no-repeat;
  min-height: 0%;
}

html {
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
  word-break: normal;
}

body {
  margin: 0;
  padding: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  padding: 0;
  display: block;
  line-height: 1;
  margin-block-start: 0;
  margin-block-end: 0;
  margin-inline-start: 0;
  margin-inline-end: 0;
}

p {
  margin: 0;
  padding: 0;
  display: block;
  margin-block-start: 0;
  margin-block-end: 0;
  margin-inline-start: 0;
  margin-inline-end: 0;
}

pre {
  white-space: pre-wrap;
}

hr {
  border-style: solid;
  border-width: 1px 0 0;
  color: inherit;
  height: 0;
  overflow: visible;
}

audio,
canvas,
embed,
iframe,
object,
video {
  display: block;
  max-width: 100%;
}

img,
svg {
  vertical-align: middle;
}

canvas,
img,
svg,
video {
  height: auto;
}

audio {
  width: 100%;
}

img {
  border-style: none;
}

svg {
  overflow: hidden;
}

article,
aside,
figcaption,
figure,
footer,
header,
main,
nav,
section,
div,
span,
a {
  margin: 0;
  padding: 0;
  color: inherit;
}

ul,
ol,
li,
dl,
dt,
dd {
  list-style: none;
  margin: 0;
  padding: 0;
  margin-block-start: 0;
  margin-block-end: 0;
  margin-inline-start: 0;
  margin-inline-end: 0;
  padding-inline-start: 0;
  padding-inline-end: 0;
}

table {
  text-indent: initial;
  border-spacing: 0;
}

table,
th,
tr,
td {
  margin: 0;
  padding: 0;
  border: none;
}

address {
  text-decoration: none;
  font-style: normal;
}

[type=checkbox],
[type=radio] {
  box-sizing: border-box;
  padding: 0;
}

::before,
::after {
  text-decoration: inherit;
  vertical-align: inherit;
}

input,
textarea {
  margin: 0;
  padding: 0;
  border: none;
}

input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}

input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}

input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}

/* Font preset
=====================================================================*/
:root {
  --font-gothic-l: "Koburina Gothic W3 JIS2004", sans-serif;
  --font-gothic-m: "Koburina Gothic W6 JIS2004", sans-serif;
  --ls-gothic-l: 0.05em;
  --ls-gothic-m: 0.05em;
  --filter-white: brightness(0) invert(1);
}

/* Color preset
=====================================================================*/
:root {
  --color-black: #222222;
  --color-white: #FFFFFF;
  --color-beige1: #F8F8F5;
  --color-beige2: #F0EFEC;
  --color-gray1: #D5D5D5;
  --color-gray2: #DDDCD8;
  --color-red: #930B0B;
}

body,
input,
textarea,
select {
  background-color: var(--color-beige1);
  color: var(--color-black);
  font-family: var(--font-gothic-l);
  font-weight: 400;
  letter-spacing: var(--ls-gothic-l);
  line-height: 1.7;
}

/* Base
=====================================================================*/
html {
  font-size: 62.5%;
}

body {
  font-size: 1.5rem;
  overflow-wrap: anywhere;
}

p {
  color: #525252;
}

p:last-child {
  margin-bottom: 0;
}

img,
picture {
  display: block;
  max-width: 100%;
}

a {
  text-decoration: none;
  transition: opacity 0.3s ease;
}

@media (min-width: 768px) {
  body {
    min-width: 1230px;
  }

  a:hover {
    opacity: 0.7;
  }
}

table,
input {
  letter-spacing: 0.05em;
}

.bold {
  font-weight: bold;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
}

@media (min-width: 1200px) {
  body {
    overflow-x: hidden;
  }
}

/* Animation
=====================================================================*/
@keyframes fadein {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.is-fadein {
  animation-name: fadein;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  opacity: 1;
}

/* JS
=====================================================================*/
/* tab */
.js-tab,
.js-tab2 {
  background-color: transparent;
  border: none;
  border-radius: 0;
  cursor: pointer;
}

.js-tab-contents {
  display: none;
  opacity: 0;
}

.js-tab-contents.is-contents-active {
  display: block;
  animation-name: fadein;
  animation-duration: 0.3s;
  animation-fill-mode: forwards;
  opacity: 1;
}

/* 解析タグ  */
#tag-scan img {
  display: inline;
  width: auto !important;
  height: auto !important;
  visibility: hidden !important;
  object-fit: initial !important;
}

/* Common Item
=====================================================================*/
/* utility */
.l-center {
  display: grid;
  place-content: center;
}

.u-txt-left {
  text-align: left !important;
}

.u-txt-center {
  text-align: center !important;
}

.u-txt-right {
  text-align: right !important;
}

.u-bold {
  font-weight: 700;
}

.u-red {
  color: #930B0B;
}

.u-link {
  color: #930B0B;
  text-decoration: underline;
}

.u-link:hover {
  color: #930B0B;
  text-decoration: none;
}

.u-notice {
  display: block;
  padding: 0 0 0 16px;
  position: relative;
}

.u-notice::before {
  content: '※';
  position: absolute;
  top: 0;
  left: 0;
}

/* normal txt */
.c-txt p {
  font-size: 1.4rem;
  margin-bottom: 20px;
}

.u-small {
  font-size: 1.2rem !important;
}

@media (min-width: 768px) {
  .c-txt p {
    font-size: 1.5rem;
  }

  .u-small {
    font-size: 1.3rem !important;
  }
}

/* other window link */
.c-txtlink-other {
  display: flex;
  align-items: center;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1.25;
}

.c-txtlink-other::before {
  content: '';
  background-image: url(../img/common/ico-newwindowlink.svg);
  width: 11px;
  height: 11px;
  margin: 0 7px 0 0;
}

/* textlink for below */
.u-link-bottom {
  display: flex;
  align-items: center;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1.7;
}

.u-link-bottom::before {
  content: '';
  display: block;
  width: 6px;
  height: 6px;
  border: 2px solid var(--color-red);
  border-width: 0 2px 2px 0;
  border-radius: 0 0 3px 0;
  transform: rotate(45deg);
  margin: 0 10px 0 0;
}

@media (min-width: 768px) {
  .u-link-bottom {
    font-size: 1.5rem;
  }
}

/* link with arrow icon */
.u-arrowlink {
  display: table;
  position: relative;
  padding: 0 0 0 22px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
}

.u-arrowlink::before {
  content: '';
  display: block;
  width: 16px;
  height: 16px;
  background: url(../img/common/ico-arrow-red.svg) no-repeat 0 0;
  background-size: 16px;
  position: absolute;
  top: calc(50% - 8px);
  left: 0;
}

.c-button-link .u-arrowlink {
  padding: 0 0 0 26px;
}

.c-button-link .u-arrowlink::before {
  width: 20px;
  height: 20px;
  background-size: 20px;
  top: calc(50% - 10px);
}

.u-btnlink {
  display: table;
  position: relative;
  padding: 0 0 0 30px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
}

.u-btnlink::before {
  content: '';
  display: block;
  width: 22px;
  height: 22px;
  background: url(../img/common/icon-next.png) no-repeat 0 0;
  background-size: 22px;
  position: absolute;
  top: calc(50% - 11px);
  left: 0;
}

.u-arrowlink-berow {
  display: table;
  position: relative;
  padding: 0 0 0 18px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
}

.u-arrowlink-berow::before {
  content: '';
  display: block;
  width: 11px;
  height: 11px;
  background: url(../img/common/ico-arrow-red.svg) no-repeat 0 0;
  background-size: contain;
  transform: rotate(90deg);
  position: absolute;
  top: calc(50% - 5px);
  left: 0;
}

.u-arrowlink-back {
  display: table;
  position: relative;
  padding: 0 0 0 18px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
}

.u-arrowlink-back::before {
  content: '';
  display: block;
  width: 11px;
  height: 11px;
  background-image: url(../img/common/ico-arrow-red.svg);
  background-size: contain;
  transform: rotate(-180deg);
  position: absolute;
  top: calc(50% - 5px);
  left: 0;
}

/* button */
.c-button {
  display: grid;
  place-content: center;
  margin: 30px 0 10px;
}

.c-button>* {
  display: grid;
  place-content: center;
  padding: 14px 30px;
  width: auto;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  background-color: var(--color-white);
  border-radius: 999px;
  box-shadow: 0 0 15px rgb(0 0 0 / 0.07);
}

.c-button.c-button-link>* {
  background: none;
  box-shadow: none;
}

.c-button--noborder>* {
  border: none;
}

.c-button--red>* {
  background-color: var(--color-red);
  color: var(--color-white);
  border: none;
}

.c-button--txt {
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1.6;
}

.c-button-youtube {
  display: grid;
  place-content: center;
}

.c-button-youtube a {
  display: inline-flex;
  align-items: center;
  height: 26px;
  width: auto;
  padding: 0 20px;
  background-color: var(--color-white);
  border-radius: 13px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
}

.c-button-youtube a::before {
  content: '';
  display: block;
  width: 18px;
  height: 16px;
  background-image: url(../img/common/ico-youtube-red.svg);
  background-size: contain;
  margin: 0 6px 0 0;
}

.c-button-youtube--txt {
  color: #46331C;
  font-size: 1.2rem;
  line-height: 1.5;
}

.c-button-search a {
  box-shadow: none;
  padding: 14px 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
}

.c-button-search a::before {
  content: '';
  display: block;
  width: 14px;
  height: 16px;
  background-image: url(../img/common/icon-search-right.svg);
  background-repeat: no-repeat;
  background-size: contain;
  margin: 1px 6px 0 0;
}

@media (min-width: 768px) {
  .c-button>* {
    padding: 14px 60px;
  }

  .c-button--txt {
    font-size: 1.5rem;
  }

  .c-button-youtube a:hover {
    opacity: 0.8;
  }

  .u-btnlink {
    padding: 0 0 0 35px;
  }

  .u-btnlink::before {
    width: 25px;
    height: 25px;
    background-size: 25px;
    top: calc(50% - 12px);
  }
}

/* table */
.c-table {
  border: 1px solid #DEDEDE;
  border-width: 1px 0 0 1px;
}

.c-table th {
  background-color: #F2F1EE;
  border: 1px solid #DEDEDE;
  border-width: 0 1px 1px 0;
  padding: 13px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: 500;
  font-size: 1rem;
  line-height: 2.5;
  white-space: nowrap;
}

.c-table td {
  background-color: var(--color-white);
  border: 1px solid #DEDEDE;
  border-width: 0 1px 1px 0;
  padding: 13px;
  font-size: 1rem;
  line-height: 2.5;
  text-align: center;
  white-space: nowrap;
}

@media (min-width: 768px) {
  .c-table {
    width: 100%;
  }

  .c-table th {
    padding: 11px;
    font-size: 1.2rem;
  }

  .c-table td {
    padding: 11px;
    font-size: 1.2rem;
  }
}

/* scrollbar */
.scroll-x {
  overflow-x: auto;
}

[data-simplebar],
[data-simplebar] * {
  -ms-overflow-style: none !important;
  /* Safari */
  scrollbar-width: none !important;
  /* Firefox */
}

[data-simplebar]::-webkit-scrollbar {
  display: none !important;
  /* Chrome Edge */
}

@media (min-width: 768px) {
  .c-scroll-x-sp.u-nobar {
    padding: 0;
    -ms-overflow-style: none;
    /* Safari */
    scrollbar-width: none;
    /* Firefox */
  }

  .c-scroll-x-sp.u-nobar::-webkit-scrollbar {
    display: none;
    /* Chrome Edge */
  }
}

@media (max-width: 767px) {
  .c-scroll-x-sp {
    padding: 0 0 30px;
    overflow-x: scroll;
    cursor: pointer;
    position: relative;
  }

  .c-scroll-x-sp>*::after {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    flex-shrink: 0;
  }
}

/* form */
.u-required {
  flex-shrink: 0;
  display: inline-grid;
  place-content: center;
  margin: 0 0 0 9px;
  width: 31px;
  height: 20px;
  border: 1px solid #930B0B;
  border-radius: 4px;
  background-color: var(--color-white);
  color: #930B0B;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: 700;
  font-size: 1rem;
  line-height: 2.4;
}

.u-required--red {
  color: var(--color-white);
  background-color: var(--color-red);
}

.c-contact-table {
  width: 100%;
}

.c-contact-table th {
  padding: 6px 0 11px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: 500;
  font-size: 1.4rem;
  text-align: left;
}

.c-contact-table td {
  padding: 0 0 40px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: 500;
  font-size: 1.4rem;
}

.l-contact-namearea {
  display: grid;
  gap: 10px;
}

.l-contact-namearea .c-contact-column {
  display: flex;
  align-items: center;
  gap: 11px;
}

.c-contact-table input[type=text],
.c-contact-table input[type=tel],
.c-contact-table input[type=email] {
  height: 44px;
}

.c-contact-table input[type=text],
.c-contact-table input[type=tel],
.c-contact-table input[type=email],
.c-contact-table textarea {
  border: 1px solid #930B0B;
  border-radius: 4px;
  padding: 15px;
  font-size: 1.4rem;
  line-height: 1.7;
  width: 100%;
}

.c-contact-table ::placeholder {
  color: #999999;
  font-size: 1.4rem;
  line-height: 1.7;
}

.c-form--txt {
  margin: 13px 0 0;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: 500;
  font-size: 1.2rem;
  line-height: 1.7;
}

.c-form-small--txt {
  margin: 16px 0 0;
  font-size: 1.2rem;
  line-height: 1.7;
}

.c-form-tel {
  display: flex;
  align-items: center;
  gap: 5px;
}

.c-form-tel input[type="text"],
.c-form-tel input[type="tel"] {
  border-color: #04AF00;
}

.c-form-policy {
  padding: 20px;
  border: 4px solid #DEDEDE;
}

.c-form-policy-white {
  display: grid;
  gap: 15px;
  padding: 15px;
  background-color: var(--color-white);
}

.l-form-submitarea {
  margin: 50px 0 0;
}

.c-form-policy--title {
  margin: 0 0 15px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1.7;
  text-align: center;
}

.c-form-policy--txt {
  margin: 0 0 15px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1.7;
}

.c-form-policy--txt .c-txtlink-other {
  display: inline-block;
}

.c-checkbox {
  display: table;
  position: relative;
}

.c-checkbox input[type=checkbox] {
  display: none;
}

.c-checkbox-text {
  margin: 16px 0 0;
  font-size: 1.4rem;
  line-height: 1.7;
  cursor: pointer;
}

.c-checkbox-text::before {
  content: '';
  display: inline-block;
  vertical-align: middle;
  width: 20px;
  height: 20px;
  background-color: var(--color-white);
  border: 1px solid var(--color-red);
  border-radius: 6px;
  margin: 0 10px 0 0;
  padding: 0;
  cursor: pointer;
}

.c-checkbox-text::after {
  content: '';
  display: none;
  width: 8px;
  height: 14px;
  border: 3px solid var(--color-black);
  border-width: 0 3px 3px 0;
  transform: rotate(45deg);
  position: absolute;
  top: 2px;
  left: 6px;
}

.c-checkbox input[type=checkbox]:checked+.c-checkbox-text::after {
  display: block;
}

.c-form-submit input {
  display: grid;
  place-content: center;
  width: 100%;
  height: 62px;
  background-color: #9D1F1A;
  border-radius: 6px;
  color: var(--color-white);
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 1.7;
  text-align: center;
}

.c-form-submit--orange input {
  background-color: #EA8421;
}

.c-form-checklist {
  display: block;
}

.c-form-checklist li {
  display: inline-flex;
  height: 100%;
  vertical-align: middle;
}

.c-form-checklist input[type="radio"] {
  display: none;
}

.c-form-checklist input[type="radio"]+label {
  display: flex;
  align-items: center;
  width: 100%;
  height: auto;
  cursor: pointer;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: 500;
  font-size: 1.4rem;
  position: relative;
  vertical-align: middle;
  margin-right: 20px;
}

.c-form-checklist input[type=radio]+label:before {
  content: '';
  display: block;
  width: 24px;
  height: 24px;
  border: 1px solid #04AF00;
  background-color: var(--color-white);
  border-radius: 100%;
  margin: 0 6px 0 0;
  flex: none;
}

.c-form-checklist input[type=radio]:checked+label:after {
  content: '';
  display: block;
  width: 14px;
  height: 14px;
  background-color: var(--color-red);
  border-radius: 100%;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 5px;
  margin: auto;
}

.c-form-selectbox {
  position: relative;
  margin: 0 0 15px;
}

.c-form-selectbox::after {
  content: '';
  display: block;
  width: 11px;
  height: 11px;
  background-image: url(../img/common/ico-arrow-red.svg);
  background-size: contain;
  transform: rotate(90deg);
  position: absolute;
  top: calc(50% - 5px);
  right: 15px;
  pointer-events: none;
}

.c-form-selectbox select {
  width: 100%;
  border: 1px solid var(--color-red);
  border-radius: 6px;
  background-color: var(--color-white);
  height: 44px;
  padding: 0 15px;
  appearance: none;
  font-family: var(--font-gothic-l);
  letter-spacing: var(--ls-gothic-l);
  font-weight: 400;
  font-size: 1.4rem;
  letter-spacing: 0.05em;
}

.c-form-picture {
  display: flex;
  align-items: center;
  position: relative;
}

.c-form-picture::after {
  content: '';
  display: block;
  width: 11px;
  height: 11px;
  background-image: url(../img/common/ico-arrow-red.svg);
  background-size: contain;
  position: absolute;
  top: 10px;
  left: 12px;
  pointer-events: none;
}

.c-form-picture label>input[type=file] {
  display: none;
}

.c-form-picture label {
  display: grid;
  place-content: center;
  width: 150px;
  height: 30px;
  background-color: var(--color-white);
  border-radius: 15px;
  font-size: 1.2rem;
  cursor: pointer;
}

.c-form-picture label+p {
  margin: 0 0 0 10px;
  font-size: 1.3rem;
}

@media (max-width: 767px) {

  .c-contact-table th,
  .c-contact-table td {
    display: block;
  }
}

@media (min-width: 768px) {
  .u-required {
    margin: 0 0 0 15px;
  }

  .c-contact-table th {
    display: flex;
    justify-content: space-between;
    width: 247px;
    padding: 30px 22px 20px 0;
    font-size: 1.5rem;
  }

  .c-form-th-middle {
    margin-top: calc(50% - 50px);
  }

  .c-contact-table td {
    padding: 18px 0 40px 0;
  }

  .l-contact-namearea {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }

  .c-form-tel input {
    width: 107px;
  }

  .c-form-policy {
    padding: 25px;
  }

  .c-form-policy-white {
    width: 1000px;
    margin: 0 auto;
    padding: 30px;
  }

  .c-form-policy--title {
    margin-bottom: 20px;
    font-size: 1.5rem;
  }

  .c-form-policy--txt {
    margin-bottom: 20px;
    font-size: 1.5rem;
    text-align: center;
  }

  .c-form-policy .c-checkbox {
    margin: 0 auto;
  }

  .c-form-submit input {
    width: 360px;
    margin: 0 auto;
  }
}

/* 見出し title */
.c-title-underline {
  padding: 0 0 30px;
  margin: 0 0 40px;
  border-bottom: 1px solid #DEDEDE;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.8rem;
  line-height: 1.7;
}

@media (min-width: 768px) {
  .c-title-underline {
    font-size: 2.4rem;
    line-height: 1.25;
  }
}

.c-title-nomal {
  margin: 0 0 20px 0;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 1.5;
}

@media (min-width: 768px) {
  .c-title-nomal {
    font-size: 1.8rem;
  }
}

.crosshead {
  margin: 0 0 20px 0;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 2rem;
  line-height: 1.7;
}

.crosshead+.after-crosshead {
  margin: -15px 0 10px 0 !important;
}

@media (min-width: 768px) {
  .crosshead {
    margin-bottom: 26px;
  }
}

/* movie */
.c-movie {
  position: relative;
  width: 100%;
  padding-top: 56.25% 20px 0;
  margin: 0 0 60px;
}

.c-movie iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

.c-movie-image {
  margin: 60px auto;
  max-width: 756px;
  text-align: center;
}

/* map */
.c-map {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 75%;
}

.c-map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* calender */
.c-calender {
  position: relative;
  width: 100%;
  margin-bottom: 40px;
}

.c-calender iframe {
  width: 100%;
}

/* list */
.c-dotlist {
  display: grid;
  gap: 10px;
}

.c-dotlist li {
  padding: 0 0 0 12px;
  font-size: 1.4rem;
  line-height: 1.7;
  position: relative;
}

.c-dotlist li::before {
  content: '';
  display: block;
  width: 6px;
  height: 6px;
  background-color: #AAAAAA;
  border-radius: 100%;
  position: absolute;
  top: 9px;
  left: 0;
}

.c-dotlist li.u-nodot::before {
  content: none;
}

.c-dotlist--black li::before {
  background-color: #222222;
}

@media (min-width: 768px) {
  .c-dotlist li {
    font-size: 1.5rem;
  }
}

.c-numlist {
  display: grid;
  gap: 10px;
  counter-reset: number 0;
}

.c-numlist li {
  padding: 0 0 0 25px;
  font-size: 1.4rem;
  line-height: 1.7;
  position: relative;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
}

.c-numlist li::before {
  content: '';
  display: block;
  width: 16px;
  height: 16px;
  border-radius: 100%;
  background-color: var(--color-white);
  position: absolute;
  top: 3px;
  left: 0;
}

.c-numlist li::after {
  counter-increment: number 1;
  content: counter(number);
  display: block;
  font-size: 1rem;
  text-align: center;
  position: absolute;
  top: 4px;
  left: 4px;
}

/* top lineup list */
.c-lineup-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  margin-top: 20px;
}

.c-lineup-list li {
  position: relative;
  overflow: hidden;
  border-radius: 16px;
}

.c-lineup-list li:first-child {
  grid-column: 1 / 3;
}

.c-lineup-list.c-lineup-list-col2 li:first-child {
  grid-column: initial;
}

.c-lineup-list li::after {
  content: '';
  display: block;
  background: linear-gradient(0deg, rgb(0 0 0 / 0.4), rgb(0 0 0 / 0));
  height: 60px;
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  pointer-events: none;
}

.c-lineup-list li a {
  display: block;
  position: relative;
}

.c-lineup-list li a:hover {
  opacity: 1;
}

.c-lineup-list--img img {
  transition: opacity 0.3s ease;
  width: 100%;
}

@media (min-width: 768px) {
  .c-lineup-list li a:hover img {
    opacity: 0.7;
  }
}

.c-lineup-list--txt {
  display: block;
  color: var(--color-white);
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.4;
  text-align: center;
  position: absolute;
  left: 50%;
  bottom: 12px;
  transform: translateX(-50%);
  z-index: 100;
  width: 100%;
}

.c-lineup-list.l-lineup-first .c-lineup-list--txt {
  bottom: 20px;
}

@media (min-width: 768px) {
  .c-lineup-list {
    display: flex;
    flex-wrap: nowrap;
    gap: 18px;
    margin-top: 30px;
  }

  .c-lineup-list li {
    width: auto;
    height: 100%;
    max-height: 340px;
  }

  .c-lineup-list.c-lineup-list-col2 {
    max-width: 600px;
    grid-template-columns: repeat(2, 1fr);
    margin: 30px auto 0 auto;
  }

  .c-lineup-list.c-lineup-list-col2 li:first-child {
    grid-column: initial;
  }

  .c-lineup-list--txt {
    bottom: 20px;
  }
}

.c-center-box {
  width: 100%;
}

.c-center-box--img {
  margin: 0 0 20px;
}

.c-center-box--img img {
  width: 100%;
  object-fit: cover;
}

.c-center-box--title {
  margin: 0 0 20px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1.3;
  text-align: center;
}

.c-center-box--txt p {
  font-size: 1.4rem;
  line-height: 1.7;
}

@media (min-width: 768px) {
  .c-center-box {
    width: 444px;
    margin: 0 auto;
  }

  .c-center-box--title {
    font-size: 1.8rem;
  }

  .c-center-box--txt p {
    font-size: 1.4rem;
  }
}

.c-link-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}

.c-link-list a {
  display: block;
  background-color: var(--color-white);
}

.c-link-list--img img {
  width: 100%;
  height: 112px;
  object-fit: cover;
}

.c-link-list--txt {
  width: 100%;
  display: grid;
  place-content: center;
  height: 50px;
}

.c-link-list--txt p {
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 1.4;
  text-align: center;
}

@media (min-width: 768px) {
  .c-link-list {
    width: 720px;
    margin: 0 auto;
  }

  .c-link-list a {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }

  .c-link-list--img img {
    height: 132px;
  }

  .c-link-list--txt {
    height: 100%;
  }
}

.c-topic-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px 18px;
  margin-top: 30px;
}

.c-topic-list li a {
  display: block;
  padding: 4px;
  background: #FFF;
  text-decoration: none;
  border-radius: 6px;
}

.c-topic-list--img {
  display: block;
  margin: 0 0 10px;
}

.c-topic-list--img img {
  width: 100%;
  object-fit: initial;
  border-radius: 4px;
}

.c-topic-list--txt {
  display: block;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-size: 1.2rem;
  text-align: center;
}

@media (min-width: 768px) {
  .c-topic-list {
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
  }

  .c-topic-list li a {
    display: block;
    padding: 6px;
  }

  .c-topic-list--img {
    margin: 0 0 10px;
  }

  .c-topic-list--txt {
    font-size: 1.6rem;
  }
}

.c-news-list {
  margin-top: 20px;
  border-top: 1px solid var(--color-gray2);
}

.c-news-list li a {
  display: grid;
  grid-template-columns: 100px 1fr;
  border-bottom: 1px solid var(--color-gray2);
  padding: 20px 0;
}

.c-news-list--date {
  display: block;
  white-space: nowrap;
  color: #6E6E6E;
  font-size: 1.2rem;
}

.c-news-list--txt {
  display: block;
  font-size: 1.2rem;
  padding: 0 0 0 16px;
  position: relative;
  overflow: clip;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}

.c-news-list--txt::before {
  content: '';
  display: block;
  width: 11px;
  height: 11px;
  background-image: url(../img/common/ico-arrow-red.svg);
  background-size: contain;
  position: absolute;
  top: 4px;
  left: 0;
}

@media (min-width: 768px) {
  .c-news-list {
    margin: 40px auto;
  }

  .c-news-list li a {
    grid-template-columns: 150px 1fr;
    padding: 25px 0;
  }

  .c-news-list--date {
    font-size: 1.5rem;
  }

  .c-news-list--txt {
    font-size: 1.5rem;
    padding-left: 24px;
  }

  .c-news-list--txt::before {
    width: 17px;
    height: 17px;
    top: 4px;
    left: 0;
  }
}

.c-workshop-list {
  display: grid;
  gap: 28px;
}

.c-workshop-list--img {
  display: block;
  margin: 0 0 25px;
}

.c-workshop-list--img img {
  width: 100%;
  height: 164px;
  object-fit: cover;
}

.c-workshop-list--title {
  margin: 0 0 26px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1.3;
  text-align: center;
}

.c-workshop-list--txt {
  display: block;
  font-size: 1.2rem;
  line-height: 1.5;
  overflow: clip;
  display: -webkit-box;
}

@media (min-width: 768px) {
  .c-workshop-list {
    grid-template-columns: repeat(2, 1fr);
    gap: 36px;
  }

  .c-workshop-list--img {
    display: block;
    margin-bottom: 30px;
  }

  .c-workshop-list--img img {
    height: 242px;
  }

  .c-workshop-list--title {
    font-size: 1.8rem;
  }

  .c-workshop-list--txt {
    font-size: 1.4rem;
  }
}

.c-top-more {
  position: absolute;
  right: 15px;
  top: -36px;
}

.c-top-more a {
  display: flex;
  align-items: center;
  position: relative;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: 700;
  font-size: 1.2rem;
  line-height: 2;
}

.c-top-more a::before {
  content: '';
  display: block;
  width: 4px;
  height: 4px;
  border: 1px solid #46331C;
  border-width: 1px 1px 0 0;
  transform: rotate(45deg);
  margin: 0 5px 0 0;
}

@media (min-width: 768px) {
  .c-top-more {
    right: 50px;
    top: -50px;
  }

  .c-top-more a {
    font-size: 1.4rem;
  }

  .c-top-more a::before {
    width: 6px;
    height: 6px;
    margin: 0 8px 0 0;
  }
}

/* TOP お客様の声 */
.c-opinions-list {
  display: flex;
  flex-wrap: nowrap;
  gap: 10px;
  margin-top: 30px;
  padding: 0 15px;
}

.c-opinions-list li {
  width: 190px;
  flex-shrink: 0;
}

.c-opinions-list--img {
  display: block;
  margin: 0 0 10px;
}

.c-opinions-list--img img {
  width: 190px;
  height: 190px;
  object-fit: cover;
  border-radius: 10px;
}

.c-opinions-list--txt {
  font-size: 1.2rem;
  line-height: 1.5;
  overflow: clip;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}

.-opinions-list--name {
  font-size: 1.2rem;
  line-height: 1.5;
  margin-top: 10px;
}

@media (min-width: 768px) {
  .c-opinions-list {
    width: 1200px;
    margin: 30px auto 50px auto;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 14px;
  }

  .c-opinions-list li {
    width: auto;
  }

  .c-opinions-list--img {
    margin-bottom: 13px;
  }

  .c-opinions-list--img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .c-opinions-list--txt {
    font-size: 1.4rem;
  }
}

.c-article-list {
  display: flex;
  gap: 10px;
  margin: 20px 15px 0 15px;
}

.c-article-list.c-article-list--center {
  display: flex;
  justify-content: center;
}

.c-related-articles {
  margin: 0 auto 100px auto;
  padding: 0 15px;
}

.c-article-list li {
  width: 190px;
  flex-shrink: 0;
}

.c-article-list.c-article-list--center li {
  width: 100%;
}

.c-article-list--img {
  display: block;
  margin: 0 0 10px;
}

.c-article-list--img img {
  height: 130px;
  object-fit: cover;
  border-radius: 10px;
}

.c-article-list.c-article-list--center .c-article-list--img img {
  height: auto;
}

.c-article-list--date {
  display: block;
  margin: 0 0 10px;
  color: #8E8E8E;
  font-size: 1.2rem;
  line-height: 1.3;
}

.c-article-list--txt {
  font-size: 1.2rem;
  line-height: 1.5;
  overflow: clip;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}

@media (min-width: 768px) {
  .c-article-list {
    width: 1200px;
    margin: 30px auto 50px auto;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px 14px;
  }

  .c-article-list li {
    width: auto;
  }

  .c-article-list.c-article-list--center li {
    width: 360px;
  }

  .c-article-list--img {
    margin-bottom: 15px;
  }

  .c-article-list--img img {
    width: 100%;
    height: 180px;
    object-fit: cover;
  }

  .c-article-list.c-article-list--center .c-article-list--img img {
    height: auto;
  }

  .c-article-list--date,
  .c-article-list--txt {
    font-size: 1.4rem;
  }
}

/* 店舗案内 */
.c-shop-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  margin: 20px auto;
}

.c-shop-list li a {
  display: block;
  position: relative;
}

.c-shop-list--img img {
  height: auto;
  border-radius: 10px;
}

.c-shop-list--txt {
  display: block;
  color: var(--color-white);
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: 600;
  font-size: 1.8rem;
  line-height: 1.2;
  text-align: center;
  white-space: nowrap;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

.c-shop-bnr li {
  margin-bottom: 10px;
  position: relative;
}

.c-shop-bnr--img {
  position: relative;
}

.c-shop-bnr--img img {
  width: 100%;
  border-radius: 10px;
}

.c-shop-bnr--txt {
  display: block;
  color: var(--color-white);
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: 600;
  font-size: 1.8rem;
  line-height: 1.6;
  text-align: center;
  white-space: nowrap;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

.c-shop-bnr--txt .small {
  font-family: var(--font-gothic-l);
  letter-spacing: var(--ls-gothic-l);
  font-weight: normal;
  font-size: 1.3rem;
}

@media (min-width: 768px) {
  .c-shop-list {
    grid-template-columns: repeat(4, 1fr);
    margin: 30px 0;
  }

  .c-shop-list--txt {
    font-size: 2.2rem;
  }

  .c-shop-bnr {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
  }

  .c-shop-bnr li {
    margin: 0;
  }

  .c-shop-bnr--txt {
    font-size: 1.8rem;
  }

  .c-shop-bnr--txt .small {
    font-size: 1.3rem;
  }
}



/* feature */
.c-feature-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1px;
  margin: 0 0 66px;
}

.c-feature-list li {
  width: calc(50% - 1px);
}

.c-feature-list--img img {
  width: 100%;
}

.c-feature-list--txt {
  display: grid;
  place-content: center;
  background-color: var(--color-white);
  height: 60px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: 700;
  font-size: 1.2rem;
  line-height: 1.7;
  padding: 0 10px;
}

@media (min-width: 768px) {
  .c-feature-list {
    width: 1200px;
    padding: 0 50px;
    margin: 0 auto 58px;
  }

  .c-feature-list li {
    width: calc(25% - 1px);
  }

  .c-feature-list--img img {
    width: 100%;
  }

  .c-feature-list--txt {
    display: grid;
    place-content: center;
    background-color: var(--color-white);
    height: 60px;
    font-family: var(--font-gothic-m);
    letter-spacing: var(--ls-gothic-m);
    font-weight: 700;
    font-size: 1.3rem;
    line-height: 1.7;
    padding: 0 20px;
  }
}

/* Header
=====================================================================*/
.l-header-mainarea {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 50px;
  background-color: var(--color-white);
  box-shadow: 0 1px 0px rgba(0, 0, 0, 0.1);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 200;
}

.c-header-logo {
  width: 90px;
  height: 18px;
  margin: 0 5px 0 15px;
}

#p-header-simple .c-header-logo {
  margin: 0 auto;
}

@media (max-width: 350px) {
  .c-header-logo {
    width: 75px;
    margin: 0 5px 0 10px;
  }
}

.c-header-pcmenu {
  display: none;
}

.l-header-navarea {
  display: flex;
  align-items: center;
  margin: 0 10px 0 0;
}

@media (max-width: 350px) {
  .l-header-navarea {
    margin: 0 5px 0 0;
  }
}

.c-icon-menulist {
  display: flex;
  justify-content: space-between;
}

.c-icon-menulist li a {
  display: grid;
  place-content: center;
  place-items: end center;
  width: auto;
  height: 27px;
  padding: 0 5px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: 700;
  font-size: 0.9rem;
  line-height: 1.1;
}

@media (max-width: 350px) {
  .c-icon-menulist li a {
    padding: 0 3px;
  }
}

.c-icon-menulist li a::before {
  content: '';
  display: block;
  background-repeat: no-repeat;
  background-size: contain;
  margin: 0 0 7px;
}

.c-icon-menulist-news a::before {
  width: 14px;
  height: 17px;
  background-image: url(../img/common/ico-news.svg);
  background-repeat: no-repeat;
  background-size: 14px;
}

.c-icon-menulist-faq a::before {
  width: 13px;
  height: 12px;
  background-image: url(../img/common/ico-faq.svg);
  background-repeat: no-repeat;
  background-size: 13px;
}

.c-icon-menulist-login a::before {
  width: 7px;
  height: 12px;
  background-image: url(../img/common/ico-login.svg);
  background-repeat: no-repeat;
  background-size: 7px;
}

.c-icon-menulist-cart a::before {
  width: 17px;
  height: 12px;
  background-image: url(../img/common/ico-cart.svg);
  background-repeat: no-repeat;
  background-size: 17px;
}

.l-header-spmenuarea {
  display: grid;
  place-content: center;
  width: 100%;
  height: 48px;
  background-color: var(--color-white);
  box-shadow: 0 1px 0px rgba(0, 0, 0, 0.1);
  position: fixed;
  top: 49px;
  left: 0;
  z-index: 100;
  transition: top 0.5s ease;
}

.is-fixed-hide {
  top: 0;
}

.c-header-sp-links {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
}

.c-header-spmenulist {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 49px;
}

.c-header-spmenulist li {
  text-align: center;
}

.c-header-spmenulist a {
  display: block;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.4;
}

.c-header-sp-catalog-link a {
  display: inline-block;
  text-align: center;
  background: var(--color-red);
  border-radius: 22px;
  width: auto;
  padding: 3px 8px;
  color: #FFF;
  font-size: 1.0rem;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
}

.c-header-sp-tokuten-link a {
  display: inline-block;
  text-align: center;
  background: #FFF;
  border: #222 1px solid;
  border-radius: 22px;
  width: auto;
  padding: 2px 8px;
  color: #222;
  font-size: 1.0rem;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
}

.c-header-sp-cart-link {
  margin-right: 15px;
}

.c-header-sp-cart-link a {
  display: grid;
  place-content: center;
  place-items: end center;
  width: auto;
  height: 32px;
  padding: 0 5px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: 700;
  font-size: 0.9rem;
  line-height: 1.1;
}

.c-header-sp-cart-link a::before {
  content: '';
  display: block;
  margin: 0 0 7px;
  width: 24px;
  height: 18px;
  background-image: url(../img/common/ico-cart.svg);
  background-repeat: no-repeat;
  background-size: 24px;
}

@media (min-width: 1200px) {
  .c-header-pcmenu {
    display: flex;
    align-items: center;
  }
}

@media (min-width: 768px) {
  .l-header-mainarea {
    height: 85px;
  }

  .c-header-logo {
    width: 121px;
    height: 24px;
    margin: 0 10px 0 30px;
  }

  .c-header-pcmenulist {
    display: flex;
    align-items: center;
    padding: 0 5px;
  }

  .c-header-pcmenulist li {
    text-align: left;
  }

  .c-header-pcmenulist>li:not(.c-header-catalog-link)>a {
    display: grid;
    place-content: center;
    height: 85px;
    padding: 0 12px;
    font-family: var(--font-gothic-m);
    letter-spacing: var(--ls-gothic-m);
    font-weight: 700;
    font-size: 1.3rem;
    line-height: 1.7;
  }

  .c-header-sp-catalog-link {
    display: none;
  }

  .c-header-sp-tokuten-link {
    display: none;
  }

  .c-header-sp-cart-link {
    display: none;
  }

  .c-header-catalog-button a {
    display: grid;
    place-content: center;
    border: 1px solid #D5D5D5;
    border-radius: 999px;
    width: 128px;
    height: 27px;
  }

  .c-header-catalog-link a {
    display: grid;
    place-content: center;
    background: var(--color-red);
    border-radius: 999px;
    width: 128px;
    height: 27px;
    margin-left: 10px;
  }

  .c-header-tokuten-link a {
    display: grid !important;
    place-content: center !important;
    background: #FFF !important;
    color: #222 !important;
    border: #222 1px solid !important;
    border-radius: 999px !important;
    width: 98px !important;
    height: 27px !important;
    margin-left: 10px !important;
  }

  .c-header-catalog-button--txt {
    color: #FFF;
    font-family: var(--font-gothic-m);
    letter-spacing: var(--ls-gothic-m);
    font-weight: 700;
    font-size: 1.2rem;
    line-height: 1.2;
  }

  .c-header-tokuten-button--txt {
    color: #222;
    font-family: var(--font-gothic-m);
    letter-spacing: var(--ls-gothic-m);
    font-weight: 700;
    font-size: 1.2rem;
    line-height: 1.2;
  }

  .l-header-navarea {
    margin: 0 0 0 17px;
    padding: 0 106px 0 0;
    height: 100%;
    background-color: var(--color-white);
  }

  .c-icon-menulist {
    gap: 17px;
  }

  .c-icon-menulist li a {
    width: auto;
    height: 35px;
    padding: 0;
    font-family: var(--font-gothic-m);
    letter-spacing: var(--ls-gothic-m);
    font-weight: 700;
    font-size: 1rem;
    white-space: nowrap;
  }

  .c-icon-menulist li a::before {
    margin: 0 0 8px;
  }

  .c-icon-menulist-news a::before {
    width: 14px;
    height: 17px;
  }

  .c-icon-menulist-faq a::before {
    width: 18px;
    height: 17px;
  }

  .c-icon-menulist-login a::before {
    width: 10px;
    height: 17px;
  }

  .c-icon-menulist-cart a::before {
    width: 21px;
    height: 17px;
  }

  .l-header-spmenuarea {
    display: none;
  }
}


/* img layout */
.l-single-imgarea {
  width: 100%;
  margin: 0 0 30px;
}

.l-center-imgarea {
  display: flex;
  justify-content: center;
  width: 100%;
  margin: 0 0 40px;
}

.l-center-imgarea img {
  width: 100%;
}

@media (min-width: 768px) {
  .l-single-imgarea {
    width: 100%;
    margin: 0 0 45px;
  }

  .l-single-imgarea img {
    width: auto;
    margin: 0 auto;
  }

  .l-single-imgarea.w640 img {
    max-width: 1000px;
  }

  .l-center-imgarea {
    width: 1000px;
    margin: 0 auto 40px;
  }

  .l-center-imgarea img {
    width: auto;
    max-width: 100%;
  }
}

/* SP Menu
=====================================================================*/
.l-spnavarea {
  z-index: 1000;
  width: 100%;
  height: 100dvh;
  position: fixed;
  top: 50px;
  left: -100%;
  overflow: hidden;
  transition: left 0.3s ease, height 0.1s ease;
  pointer-events: none;
}

.l-spnavarea.is-spnav-show {
  left: 0;
  pointer-events: auto;
}

.l-spnavarea::-webkit-scrollbar,
.l-spnavarea::-webkit-scrollbar {
  width: 5px;
  height: 5px;
}

.l-spnavarea::-webkit-scrollbar-track,
.l-spnavarea::-webkit-scrollbar-track {
  background-color: var(--color-white);
}

.l-spnavarea::-webkit-scrollbar-thumb,
.l-spnavarea::-webkit-scrollbar-thumb {
  background-color: var(--color-gray1);
  border-radius: 2px;
}

.c-spnav {
  width: 100%;
  height: 100%;
  background-color: var(--color-white);
  position: relative;
  top: 0;
  left: 0;
  pointer-events: auto;
}

.l-nav-buttonarea {
  position: fixed;
  bottom: 0;
  right: 0;
  z-index: 20;
  width: 100%;
  height: 60px;
  height: 60px + env(safe-area-inset-bottom);
  border-top: #DDD 1px solid;
  padding-bottom: env(safe-area-inset-bottom);
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  background: #FFF;
}

.c-nav-menu {
  height: 60px;
}

.c-nav-button {
  display: grid;
  align-items: center;
  height: 60px;
  background-color: #EDEDED;
  position: relative;
  cursor: pointer;
}

.l-nav-button-bararea {
  display: grid;
  place-content: center;
  gap: 2px;
  position: absolute;
  top: 18px;
  left: 50%;
  transform: translateX(-50%);
}

.c-nav-button--bar {
  width: 12px;
  height: 2px;
  background-color: #222222;
}

.is-spnav-on .c-nav-button--bar {
  position: absolute;
  left: calc(50% - 7px);
}

.is-spnav-on .c-nav-button--bar:nth-of-type(1) {
  transform: rotate(45deg);
  left: calc(50% - 7px);
}

.is-spnav-on .c-nav-button--bar:nth-of-type(2) {
  transform: rotate(-45deg);
}

.is-spnav-on .c-nav-button--bar:nth-of-type(3) {
  display: none;
}

.l-nav-button-txtarea {
  position: absolute;
  bottom: 12px;
  left: 50%;
  transform: translateX(-50%);
}

.c-nav-button--txt {
  color: #222;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: 700;
  font-size: 1rem;
  white-space: nowrap;
}

.c-nav-menu {
  text-align: center;
  position: relative;
}

.c-nav-menu-tip {
  display: block;
  position: absolute;
  top: -48px;
  left: 0;
  right: 0;
  margin: auto;
  width: 78px;
  height: 44px;
  padding: 2px;
  background: var(--color-red);
  color: #FFF;
  font-size: 1.0rem;
  text-align: center;
  line-height: 12px;
}

.c-nav-menu-tip::after {
  content: "";
  position: absolute;
  bottom: -6px;
  left: 0;
  right: 0;
  margin: auto;
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 3px solid transparent;
  border-left: 3px solid transparent;
  border-top: 6px solid var(--color-red);
  border-bottom: 0;
}

.c-nav-menu a {
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none;
}

.c-nav-menu-icon {
  text-align: center;
  margin: 5px 0 3px 0;
}

.c-nav-menu-icon img {
  width: 23px;
  margin: 0 auto;
}

.c-nav-menu-title {
  font-size: 0.8rem;
  color: #222;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
}

.l-spnav-menuarea {
  height: calc(100% - 110px);
  padding: 15px 15px 30px 15px;
  overflow-y: auto;
  background: #F8F8F5;
  scrollbar-width: thin;
  scrollbar-color: var(--color-gray1) var(--color-white);
  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.1);
}

.l-spnav-menuarea::-webkit-scrollbar {
  width: 5px;
  height: 5px;
}

.l-spnav-menuarea::-webkit-scrollbar-track {
  background-color: var(--color-white);
}

.l-spnav-menuarea::-webkit-scrollbar-thumb {
  background-color: var(--color-gray1);
  border-radius: 2px;
}

.c-spnav-menu {
  margin-bottom: 10px;
}

.c-spnav-menulist {
  display: grid;
  gap: 5px;
  margin-bottom: 5px;
}

.c-spnav-menulist2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 5px;
  margin-bottom: 5px;
}

.c-spnav-menulist>li,
.c-spnav-menulist2>li {
  margin: 0;
}

.c-spnav-menulist>li>a,
.c-spnav-menulist2>li>a,
.c-dropdown-head {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #FFF;
  border-radius: 6px;
  padding: 0;
  min-height: 54px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.6;
}

.c-dropdown-head {
  padding: 15px;
}

.c-spnav-menulist2>li>a {
  text-align: center;
  position: relative;
}

.c-spnav-menulist2>li>a.spnav-boys {
  background: #308AAB;
  font-size: 1.4rem;
  color: #FFF;
  line-height: 1.3;
  padding: 12px 0;
}

.c-spnav-menulist2>li>a.spnav-girls {
  background: #A92843;
  font-size: 1.4rem;
  color: #FFF;
  line-height: 1.3;
  padding: 12px 0;
}

.c-spnav-menulist2>li>a.spnav-login::before {
  content: "";
  display: inline-block;
  vertical-align: text-top;
  width: 10px;
  height: 17px;
  background-image: url(../img/common/ico-login.svg);
  background-repeat: no-repeat;
  background-size: 100%;
  margin-right: 5px;
}

.c-spnav-menulist2>li>a.spnav-cart::before {
  content: "";
  display: inline-block;
  vertical-align: text-top;
  width: 22px;
  height: 15px;
  background-image: url(../img/common/ico-cart.svg);
  background-repeat: no-repeat;
  background-size: 100%;
  margin-right: 5px;
}


.spnav-center {
  text-align: center;
  font-size: 1.4rem;
  position: relative;
}

.c-dropdown-head {
  position: relative;
}

.c-dropdown-head::before,
.c-dropdown-head::after {
  content: "";
  display: block;
  width: 10px;
  height: 2px;
  background-color: #222;
  position: absolute;
  top: calc(50% - 2px);
  right: 15px;
}

.c-dropdown-head::after {
  transform: rotate(90deg);
}

.c-dropdown-head.is-active::after {
  display: none;
}

.c-dropdown-list {
  display: none;
  padding: 5px 15px 15px 15px;
  background: #FFF;
  border-radius: 6px;
}

.c-dropdown-list>li>a {
  display: block;
  padding: 10px 0;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: 500;
  font-size: 1.3rem;
}

/**/
.c-nav-color-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px 5px;
}

.c-nav-color-list li a {
  display: flex;
  align-items: center;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: 500;
  font-size: 1.3rem;
  line-height: 1.2;
  padding: 5px 0;
}

.c-nav-color--img {
  width: 20px;
  height: 20px;
  margin: 0 7px 0 0;
}

.c-nav-color--img img {
  display: block;
  width: 20px;
  height: 20px;
}

.c-nav-design-list {
  display: grid;
  gap: 2px;
}

.c-nav-design-list li a {
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 7px;
  align-items: center;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: 700;
  font-size: 1.3rem;
}

.c-nav-design--img img {
  width: 100%;
  height: 60px;
  object-fit: cover;
}

.c-nav-shape-list {
  display: block;
}

.c-nav-shape-list li a {
  display: block;
  padding: 10px 0;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: 700;
  font-size: 1.2rem;
}

.c-nav-model-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 5px;
}

.c-nav-model-list li a {
  display: block;
  padding: 10px 0;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: 700;
  font-size: 1.2rem;
}

/**/
.c-spnav-shopping-menu {
  padding: 0 0 20px;
}

.c-spnav-shopping-menulist {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  border-top: #DDDCD8 1px dotted;
}

.c-spnav-shopping-menulist li {
  border-bottom: #DDDCD8 1px dotted;
}

.c-spnav-shopping-menulist a {
  display: block;
  padding: 15px 5px;
  font-size: 1.2rem;
  text-align: center;
}

.c-spnav-customer-menu {
  padding: 25px 0;
  border-bottom: 1px solid #DDDCD8;
}

.c-spnav-customer-menulist {
  display: grid;
  gap: 25px;
}

.c-spnav-customer-menulist {
  font-size: 1.2rem;
}

.c-spnav-sns-list {
  display: flex;
  justify-content: center;
  gap: 20px;
  padding: 20px 0;
  margin: 0 auto;
}

.c-spnav-sns-list a {
  width: 26px;
  height: 26px;
}

@media (max-width: 767px) {
  .l-pcnavarea {
    display: none !important;
  }

  .c-dropdown-head {
    cursor: pointer;
  }
}

/* PC Menu
=====================================================================*/
@media (min-width: 768px) {
  .l-spnavarea {
    display: none !important;
  }

  .l-nav-buttonarea {
    display: block;
    width: 89px;
    height: 85px;
    top: 0;
    right: 0;
    padding: 0;
  }

  .c-nav-button {
    width: 100%;
    height: 100%;
    background-color: #EDEDED;
    border-radius: 0;
  }

  .is-pcnav-on.c-nav-button {
    background-color: #EEEEEE;
  }

  .l-nav-button-bararea {
    top: 28px;
  }

  .c-nav-button--bar {
    background-color: var(--color-black);
  }

  .is-pcnav-on .c-nav-button--bar {
    position: absolute;
    left: calc(50% - 6px);
  }

  .is-pcnav-on .c-nav-button--bar:nth-of-type(1) {
    transform: rotate(45deg);
    top: 3px;
    left: calc(50% - 6px);
  }

  .is-pcnav-on .c-nav-button--bar:nth-of-type(2) {
    top: 3px;
    transform: rotate(-45deg);
  }

  .is-pcnav-on .c-nav-button--bar:nth-of-type(3) {
    display: none;
  }

  .l-nav-button-txtarea {
    top: 46px;
  }

  .c-nav-button--txt {
    color: var(--color-black);
  }

  .c-spnav-sns-list {
    margin: 60px 0 0 0;
  }
}

.l-pcnavarea {
  width: 100%;
  height: 0;
  background-color: var(--color-white);
  pointer-events: none;
  opacity: 0;
  position: fixed;
  top: 85px;
  left: 0;
  transition: opacity 0.3s ease;
  padding: 40px 0;
  overflow: hidden;
}

.l-pcnavarea.is-pcnav-show {
  z-index: 199;
  height: auto;
  border-top: 1px solid var(--color-gray2);
  opacity: 1;
  pointer-events: auto;
}

.c-pcnav {
  display: flex;
  width: 1200px;
  margin: 0 auto;
  border-left: 1px dotted var(--color-gray2);
}

.c-pcnav-menu {
  width: 220px;
  padding: 0 15px;
  border-right: 1px dotted var(--color-gray2);
  position: relative;
}

.c-pcnav-menu:nth-of-type(4) {
  width: 300px;
}

.c-pcnav-menulist--title {
  height: 35px;
  color: #B4B4B4;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  text-align: left;
  font-size: 1.2rem;
}

.c-pcnav-menulist li a {
  display: block;
  padding: 10px 0;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.3rem;
  line-height: 1.6;
}

.c-pronav-button,
.nav-dropdown-button {
  display: grid;
  place-content: center;
  height: 85px;
  padding: 0 10px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.3rem;
  letter-spacing: 0.05em;
  line-height: 1.6;
  transition: opacity 0.3s ease;
  cursor: pointer;
}

.c-pronav-button:hover,
.nav-dropdown-button:hover {
  opacity: 0.7;
}

.l-productsnavarea {
  width: 100%;
  height: 0;
  overflow: hidden;
  background-color: var(--color-white);
  pointer-events: none;
  padding: 30px 0;
  opacity: 0;
  position: fixed;
  top: 85px;
  left: 0;
  transition: opacity 0.3s ease;
}

.nav-dropdown {
  position: relative;
}

.nav-dropdown-menu {
  width: auto;
  height: 0;
  overflow: hidden;
  background-color: var(--color-white);
  pointer-events: none;
  padding: 10px 0;
  opacity: 0;
  position: fixed;
  top: 85px;
  transition: opacity 0.3s ease;
  box-shadow: 0 0 5px rgb(0 0 0 / 0.1);
}

.l-productsnavarea.is-pronav-show,
.nav-dropdown-menu.is-show {
  height: auto;
  max-height: calc(100vh - 85px);
  overflow-y: auto;
  border-top: 1px solid var(--color-gray2);
  opacity: 1;
  pointer-events: auto;
  top: 85px;
}

.nav-dropdown-menu a {
  display: block;
  padding: 10px 20px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.3rem;
  line-height: 1.6;
  text-align: left;
}

.c-productsnav {
  display: flex;
  width: 1200px;
  margin: 0 auto;
}

.c-productsnav-menu {
  width: 132px;
  border-right: 1px dotted var(--color-gray2);
}

.c-productsnav-color-menu {
  width: 280px;
  padding: 0 20px;
  border-right: 1px dotted var(--color-gray2);
}

.c-productsnav-shape-menu {
  width: 220px;
  padding: 0 20px;
  border-right: 1px dotted var(--color-gray2);
}

.c-productsnav-model-menu {
  flex-grow: 1;
  padding: 0 0 0 20px;
}

.c-productsnav-menulist li a {
  display: block;
  padding: 15px 0;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.3rem;
  line-height: 1.3;
}

@media (min-width: 768px) {
  .c-productsnav {
    display: flex;
    justify-content: center;
  }

  .c-productsnav-menu {
    width: 280px;
    border-right: 1px dotted var(--color-gray2);
  }

  .c-productsnav-menulist li a {
    display: block;
    padding: 10px 0 10px;
    font-family: var(--font-gothic-m);
    letter-spacing: var(--ls-gothic-m);
    font-weight: bold;
    font-size: 1.3rem;
    line-height: 1.3;
    text-align: center;
  }

  .c-productsnav-menulist .c-productsnav-menulist-all a,
  .c-productsnav-menulist .c-productsnav-menulist-boys a,
  .c-productsnav-menulist .c-productsnav-menulist-girls a {
    display: grid;
    align-items: center;
    margin-left: auto;
    margin-right: auto;
    width: 236px;
    height: 34px;
    padding: 0;
    border: transparent 1px solid;
    border-radius: 999px;
    color: var(--color-white);
    font-family: var(--font-gothic-m);
    letter-spacing: var(--ls-gothic-m);
    font-weight: bold;
    font-size: 1.3rem;
    line-height: 1;
    text-align: center;
  }

  .c-productsnav-menulist .c-productsnav-menulist-all a {
    background-color: #FFF;
    border-color: #222;
    color: #222;
    margin-bottom: 15px;
  }

  .c-productsnav-menulist-boys a {
    background-color: #308AAB;
    border-color: #308AAB;
    margin-bottom: 15px;
  }

  .c-productsnav-menulist-girls a {
    background-color: #A92843;
    border-color: #A92843;
    margin-bottom: 15px;
  }

  .c-productsnav-color-menu {
    padding: 0 20px;
    border-right: 1px dotted var(--color-gray2);
  }

  .c-productsnav-model-menu {
    padding: 0 0 0 20px;
  }

  .c-nav-color-list {
    grid-template-columns: repeat(1, 1fr);
    gap: 15px;
  }

  .c-nav-color-list li a {
    white-space: nowrap;
  }

  .c-nav-model-title {
    text-align: left;
    color: #B4B4B4;
    font-family: var(--font-gothic-m);
    letter-spacing: var(--ls-gothic-m);
    font-weight: bold;
    font-size: 1.2rem;
    line-height: 1.5;
    margin: 0 0 10px;
  }

  .l-nav-model-listarea {
    display: flex;
    gap: 40px;
  }

  .l-nav-model-listarea2 {
    display: grid;
    gap: 40px;
  }

  .c-nav-model-list {
    grid-template-columns: 1fr;
    gap: 2px 5px;
  }

  .c-nav-model-list li a {
    display: block;
    padding: 4px 0;
    font-family: var(--font-gothic-m);
    letter-spacing: var(--ls-gothic-m);
    font-weight: bold;
    font-size: 1.3rem;
  }

  .l-nav-shape-listarea {
    margin-bottom: 30px;
  }
}

/* Contents Footer
=====================================================================*/
#p-footer {
  position: relative;
  z-index: 2;
}

.c-footer-sns {
  padding: 120px 0 40px;
  background-color: var(--color-beige1);
  position: relative;
  z-index: 2;
}

.c-footer-snslink-list {
  display: flex;
  justify-content: center;
  gap: 46px;
  margin: 0 0 52px;
}

.c-footer-mailmag fieldset {
  padding: 0 !important;
}

.c-footer-mailmag {
  padding: 0;
  margin-bottom: 30px;
  text-align: center;
}

.c-footer-mailmag--txt p,
.c-footer-mailmag fieldset p {
  color: #211E1B;
  font-size: 1.4rem;
  line-height: 1.7;
  text-align: center !important;
  font-family: var(--font-gothic-l);
}

.c-footer-mailmag--title,
.c-footer-mailmag fieldset:nth-of-type(1) p {
  color: #211E1B;
  margin: 0 0 15px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.8rem;
  line-height: 1.3;
  text-align: center !important;
}

.c-footer-mailmag--txt {
  margin: 0 0 20px;
}

.footer-mailmag-btn {
  display: inline-block;
  padding: 10px 40px;
  border: var(--color-red) 1px solid;
  border-radius: 999px;
  color: var(--color-red);
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.5rem;
  line-height: 1.6;
  text-align: center;
}

.c-footer-mailmag--form input[type="text"] {
  display: block;
  width: 100%;
  height: 44px;
  padding: 5px 10px;
  margin: 0 0 20px;
  border-radius: 6px;
  border: 1px solid var(--color-gray1);
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.4rem;
  text-align: center;
}

.c-footer-mailmag--form ::placeholder {
  color: #46331C;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.4rem;
  text-align: center;
}

.c-footer-mailmag--form input[type="button"] {
  display: grid;
  place-content: center;
  width: 109px;
  height: 30px;
  margin: 0 auto;
  background-color: var(--color-white);
  border-radius: 15px;
  color: #930B0B;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 1.3;
}

.c-footer-breadscrumb {
  position: relative;
  padding: 12px 15px;
  background-color: var(--color-beige2);
  overflow-x: auto;
}

.c-contents+.c-footer-breadscrumb {
  margin-top: 80px;
}

.c-breadscrumb-list {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  flex-wrap: nowrap;
}

.c-breadscrumb-list li {
  display: inline;
  color: var(--color-black);
  font-size: 1rem;
  line-height: 1.2;
  position: relative;
  white-space: nowrap;
}

.c-breadscrumb-list li:first-of-type {
  padding: 0 13px 0 0;
}

.c-breadscrumb-list li:nth-of-type(n+2) {
  padding: 0 13px 0;
}

.c-breadscrumb-list li:nth-of-type(n+2)::before {
  content: '';
  display: block;
  width: 5px;
  height: 5px;
  border: 1px solid #46331C;
  border-width: 1px 1px 0 0;
  transform: rotate(45deg);
  position: absolute;
  top: 3px;
  left: -3px;
}

.c-footer-mailmag--form fieldset:nth-of-type(4) div {
  border-radius: 999px !important;
  font-family: var(--font-gothic-m) !important;
  font-weight: bold !important;
  letter-spacing: 0.05em;
  color: #930B0B !important;
  border: #930B0B 1px solid !important;
  background-color: #FFF !important;
}

@media (min-width: 768px) {
  .c-footer-sns {
    padding: 140px 0 0 0;
  }

  .c-footer-snslink-list {
    width: 100%;
    gap: 46px;
    margin: 0 auto 45px;
  }

  .c-footer-mailmag--txt p,
  .c-footer-mailmag fieldset p {
    font-size: 1.4rem !important;
  }

  .c-footer-mailmag--title,
  .c-footer-mailmag fieldset:nth-of-type(1) p {
    font-size: 2.2rem !important;
  }

  .c-footer-mailmag--form input[type="text"] {
    width: 460px;
    height: 60px;
    margin: 0 auto 20px;
  }

  .c-footer-breadscrumb {
    padding: 12px 0;
  }
}

/* Footer
=====================================================================*/
.c-footer-main {
  position: relative;
  padding: 10px 0 47px;
  background-color: var(--color-beige2);
  border-top: #FFF 1px solid;
}

.c-footer-inquiry {
  margin: 0 0 18px;
}

.c-footer-inquiry-link a {
  display: grid;
  place-content: center;
  height: 100%;
  margin: 0 0 17px;
  padding: 30px 0;
  background-color: var(--color-white);
  color: var(--color-black);
  border-radius: 6px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.8rem;
  line-height: 1;
}

.c-footer-inquiry-tel p {
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.2rem;
  line-height: 1.5;
  text-align: center;
}

.c-footer-inquiry-tel a {
  display: inline;
}

.c-footer-shoppinglink {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  margin: 0 0 15px;
}

.c-footer-shoppinglink li a {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: var(--color-white);
  border-radius: 6px;
  padding: 15px 0;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1rem;
  line-height: 1.4;
}

.c-footer-shoppinglink li a::before {
  content: '';
  display: block;
  margin: -1px 8px 0 0;
  background-size: contain;
  background-position: center right;
}

.c-footer-link-guide a::before {
  width: 13px;
  height: 9px;
  background-image: url(../img/common/ico-guide.svg);
}

.c-footer-link-faq a::before {
  width: 12px;
  height: 12px;
  background-image: url(../img/common/ico-faq.svg);
}

.c-footer-link-star a::before {
  width: 13px;
  height: 12px;
  background-image: url(../img/common/ico-star.svg);
}

.c-footer-link-reqruit a::before {
  width: 11px;
  height: 11px;
  background-image: url(../img/common/ico-recruit.svg);
}

.c-footer-link-youtube a::before {
  width: 18px;
  height: 12px;
  background-image: url(../img/common/ico-youtube.svg);
}

.c-footer-link-instagram a::before {
  width: 15px;
  height: 15px;
  background-image: url(../img/common/ico-instagram.svg);
}

.c-footer-shoplink {
  display: grid;
  gap: 15px;
  margin: 0 0 45px;
}

.c-footer-shoplink a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 55px;
  text-align: center;
  background-color: var(--color-white);
  border-radius: 6px;
}

.c-footer-shoplink-kaguyama img {
  width: 174px;
  height: auto;
  margin: 0 auto;
  object-fit: initial;
}

.c-footer-shoplink-hujiwara img {
  width: 200px;
  height: auto;
  margin: 0 auto;
  object-fit: initial;
}

.c-footer-shoplink-en img {
  width: 155px;
  height: auto;
  margin: 0 auto;
  margin-top: 5px;
  object-fit: initial;
}

.c-footer-link {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  padding: 0 15px;
  margin: 0 0 45px;
  gap: 13px 0;
}

.c-footer-link a {
  display: flex;
  align-items: center;
  color: var(--color-black);
  font-size: 1rem;
  line-height: 1.2;
}

.c-footer-link a::before {
  content: '';
  display: block;
  width: 4px;
  height: 4px;
  border: 1px solid #46331C;
  border-width: 1px 1px 0 0;
  transform: rotate(45deg);
  margin: 0 5px 0 0;
}

.c-footer-copyright {
  margin: 0 0 45px;
}

.c-footer-copyright p {
  font-size: 1rem;
  line-height: 1.2;
  text-align: center;
}

@media (min-width: 768px) {
  .c-footer-copyright {
    margin: auto;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
  }

  .c-footer-copyright p {
    font-size: 1.2rem;
  }

  .c-footer-main {
    padding: 52px 0 20px;
    border-bottom-width: 0;
  }

  .c-footer-inquiry {
    margin: 0 0 30px;
  }

  .c-footer-inquiry-link a {
    width: 360px;
    margin: 0 auto 30px;
  }

  .c-footer-inquiry-tel p {
    font-size: 1.4rem;
  }

  .c-footer-shoppinglink {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: 30px;
  }

  .c-footer-shoppinglink li {
    width: 180px;
    margin: 0 5px;
  }

  .c-footer-shoppinglink li a {
    padding: 15px 0;
    font-size: 1.2rem;
  }

  .c-footer-shoppinglink li a::before {
    margin: -3px 8px 0 0;
  }

  .c-footer-shoplink {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-bottom: 30px;
  }

  .c-footer-shoplink a {
    width: 360px;
  }

  .c-footer-shoplink-kaguyama img {
    width: 163px;
    height: 19px;
  }

  .c-footer-shoplink-hujiwara img {
    width: 189px;
    height: 26px;
  }

  .c-footer-shoplink-en img {
    width: 150px;
  }

  .c-footer-link {
    display: flex;
    justify-content: center;
    padding: 0;
    margin: 0;
    gap: 30px;
  }

  .c-footer-link a {
    font-size: 1.2rem;
  }
}


/* Toppage
=====================================================================*/
.c-top-mv {
  width: 100%;
  margin: 20px 0 40px;
  position: relative;
  overflow: visible;
}

.c-top-mv-panel {
  margin: 0 10px;
}

.c-top-mv-img {
  position: relative;
  margin-bottom: 30px;
}

.c-top-mv-panel {
  border-radius: 10px;
  overflow: hidden;
}

.c-top-mv-panel a {
  display: block;
  position: relative;
}

.c-top-mv-panel__image {
  position: relative;
}

.c-top-mv-panel__image::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 1;
  pointer-events: none;
}

.slick-current .c-top-mv-panel__image::after {
  display: none;
}

.c-top-mv-panel__text {
  position: absolute;
  width: 100%;
  left: 0;
  bottom: 20px;
  text-align: center;
}

.c-top-mv-panel__title {
  color: #FFF;
  text-align: center;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  line-height: 1.2;
  font-size: 1.8rem;
}

.c-top-mv-text__sub {
  margin-top: 10px;
  color: #FFF;
  text-align: center;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  line-height: 1.2;
  font-size: 1.4rem;
}

.c-top-mv-text__icon {
  display: inline-block;
  margin: 2px 5px 0 0;
  width: 16px;
  height: 16px;
  vertical-align: top;
}

.c-top-mv-text__icon img {
  width: 100%;
}

.c-top-mv-panel__image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.top-mv-arrow {
  display: block;
  position: absolute;
  bottom: -30px;
  width: 23px;
  height: 23px;
  background: url(../img/common/slick_arrow.png) no-repeat 0 0;
  background-size: 100%;
  cursor: pointer;
  z-index: 2;
}

.top-mv-arrow.top-mv-arrow-prev {
  transform: rotate(180deg);
  left: calc(50% - 60px);
}

.top-mv-arrow.top-mv-arrow-next {
  left: calc(50% + 30px);
}

.top-mv-dots {
  display: flex;
  justify-content: center;
  padding: 0;
  position: relative;
  top: 25px;
  gap: 5px;
  z-index: 1;
}

.top-mv-dots li {
  width: 8px;
  height: 8px;
  position: relative;
  cursor: pointer;
}

.top-mv-dots li::after {
  content: '';
  display: block;
  width: 6px;
  height: 6px;
  background-color: #D9D9D9;
  border-radius: 100%;
  opacity: 1;
  position: absolute;
  top: 0;
  left: 0;
}

.top-mv-dots li.slick-active::after {
  background-color: #930B0B;
}

.top-mv-dots li button {
  display: none;
}

.c-top-news-link {
  text-align: center;
  margin: 0 auto 50px auto;
}

.c-top-news-link a {
  display: inline-flex;
  background-color: #FFF;
  padding: 5px 15px;
  border-radius: 999px;
}

.mv-baloon {
  position: absolute;
  z-index: 4;
  top: -96px;
  right: 7px;
  pointer-events: none;
}
.c-top-mv-copy {
  position: absolute;
  top: 30%;
  left: 0;
  right: 0;
  margin: auto;
}
.c-top-copy-img {
  width: 85px;
  height: auto;
  margin: 0 auto;
  filter: drop-shadow(0 0 5px rgb(0 0 0 / 0.3));
}
@media (min-width: 768px) {
  .c-top-mv {
    margin: 20px 0 80px;
    padding: 0;
  }

  .c-top-mv-img {
    margin-bottom: 40px;
  }

  .c-top-mv-panel {}

  .c-top-mv-panel img {
    object-fit: cover;
    margin: 0 auto;
  }

  .c-top-mv-panel__title {
    font-size: 2.2rem;
  }

  .c-top-mv-text__sub {
    font-size: 1.6rem;
  }

  .top-mv-arrow {
    bottom: -39px;
    width: 37px;
    height: 37px;
  }

  .top-mv-arrow.top-mv-arrow-prev {
    left: calc(50% - 70px);
  }

  .top-mv-arrow.top-mv-arrow-next {
    left: calc(50% + 30px);
  }


}

.l-top-category-area {
  display: grid;
  gap: 80px;
  margin: 0 0 60px;
}

.c-top-section {
  margin-bottom: 80px;
}

.c-top-section:last-of-type {
  margin-bottom: 0;
}

.c-top-section-inner {
  width: 100%;
  padding: 0 15px;
  position: relative;
}

.c-top-section-title {
  margin: 0 0 18px;
  padding: 0;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 2rem;
  line-height: 1.3;
  position: relative;
}

.c-top-section-title-large {
  font-size: 2.4rem;
}

.c-top-lead {
  font-size: 1.4rem;
  margin: 0;
}

@media (min-width: 768px) {
  .c-top-section {
    position: relative;
    margin-bottom: 160px;
  }

  .c-top-section-inner {
    width: 1200px;
    padding: 0;
    margin: 0 auto;
  }

  .c-top-section-title {
    font-size: 3rem;
  }

  .c-top-section-title-large {
    font-size: 4rem;
  }
}


/* TOP 色から選ぶ */
.c-top-colors {
  width: 100%;
  max-width: 1200px;
  margin: 20px auto 0 auto;
}

.c-top-colors-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  padding: 0 15px;
}
.l-section-inner .c-top-colors-list {
  padding: 0;
}

.c-top-colors-list li {
  position: relative;
}

.c-top-colors-list li a {
  display: block;
  text-align: center;
  text-decoration: none;
  position: relative;
}

.c-top-colors-list li img {
  width: 100%;
  border-radius: 6px;
  position: relative;
  z-index: 1;
}

.c-top-colors-list-name {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  padding: 10px 0;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-size: 1.2rem;
  font-weight: bold;
  line-height: 1.5;
  text-align: center;
  color: #FFF;
  display: flex;
  align-items: center;
  justify-content: center;
}

.txt-black {
  color: #222;
}


.c-top-color-categories {
  margin: 40px auto 0 auto;
  padding: 0 15px;
}

.c-top-color-categories+.c-top-color-categories {
  margin: 0 auto;
}

.c-top-color-category-toggle {
  padding: 15px 0;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 1.6;
  position: relative;
  cursor: pointer;
}

.c-top-color-category-toggle::after {
  content: '';
  display: inline-block;
  vertical-align: initial;
  width: 13px;
  height: 13px;
  background-image: url(../img/common/ico-pulldown-open.svg);
  background-position: 0 0;
  margin: 0 0 0 20px;
}

.c-top-color-category-toggle.is-active::after {
  background-image: url(../img/common/ico-pulldown-close.svg);
}

.c-top-color-category-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  margin-bottom: 40px;
}

.c-top-color-category-list li {
  font-size: 1.2rem;
  line-height: 1.5;
}

.c-top-colors-category-list-container {
  display: none;
}


@media (min-width: 768px) {
  .c-top-colors {
    padding: 0;
    overflow: hidden;
  }

  .c-top-colors-list {
    display: grid;
    grid-template-columns: repeat(9, 1fr);
    gap: 15px;
    margin: 0 auto;
    padding: 0;
  }

  .c-top-colors-list li {
    max-width: initial;
  }

  .c-top-colors-list-name {
    font-size: 1.4rem;
  }

  .c-top-color-categories {
    max-width: 1100px;
    padding: 0;
  }

  .c-top-color-category-toggle {
    font-size: 1.8rem;
  }

  .c-top-color-category-list {
    grid-template-columns: repeat(5, 1fr);
    gap: 25px auto;
  }

  .c-top-color-category-list li {
    font-size: 1.4rem;
  }

}

/* TOP モデルから選ぶ */
.c-top-models {
  margin: 20px auto 0 auto;
  position: relative;
  overflow: hidden;
}

.c-top-models-slider {
  display: flex;
  flex-wrap: nowrap;
  gap: 10px;
  padding: 0 0 20px 0;
}

.c-top-models-slider::after {
  display: block;
  content: "";
  width: 20px;
  height: 1px;
  position: absolute;
  top: 0;
  left: 100%;
}

.c-top-models-slider .model-item {
  padding: 0 5px;
}

.c-top-models-slider .model-item a {
  display: block;
  text-align: center;
  text-decoration: none;
}

.model-item-thumb {
  margin-bottom: 10px;
  position: relative;
}

.model-item-image {
  border-radius: 6px;
}

.model-item-name {
  text-align: center;
}

.model-item-name-en {
  color: #000;
  text-align: center;
}

.model-item-name-en img {
  margin: 0 auto;
}

.model-item-logo {
  height: 22px;
  margin: 0;
}

.model-item-name-ja {
  padding: 0;
  margin: 0 0 5px 0;
  font-size: 1.6rem;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: 600;
  color: #7B7B7B;
}

.model-item-label {
  position: absolute;
  top: 10px;
  left: 10px;
  display: inline-block;
  padding: 3px 10px;
  border-radius: 4px;
  background: #FFF;
  color: #222;
  text-align: center;
  font-family: var(--font-gothic-l);
  letter-spacing: var(--ls-gothic-l);
  font-size: 1rem;
}

.c-top-models .slick-dots {
  bottom: -15px;
}

.c-top-models .slick-dots li {
  margin: 0 4px;
}

.c-top-models .slick-dots li button {
  width: 5px;
  height: 5px;
  background-color: #D9D9D9;
  border: none;
  border-radius: 100%;
}

.c-top-models .slick-dots li button:before {
  display: none;
}

.c-top-models .slick-dots li.slick-active button {
  background-color: #930B0B;
}

.top-movie {
  max-width: 980px;
  margin: 0 auto;
}

.top-movie .youtube {
  margin-top: 40px;
}

@media (min-width: 768px) {
  .c-top-models {
    padding: 0;
    overflow: hidden;
  }

  .c-top-models-slider {
    display: block;
    margin: 0 auto;
  }

  .c-top-models-slider .model-item {
    width: 330px;
    min-width: 330px;
    max-width: initial;
  }

  .c-top-models-slider .model-item a {
    padding-right: 15px;
  }

  .c-top-models-slider .slick-list {
    width: 1200px;
    margin: 0 auto;
    overflow: visible;
  }



  .model-item-logo {
    height: 24px;
    margin: 0;
  }

  .model-item-name-ja {
    font-size: 1.4rem;
  }

  .c-top-models-slider::after {
    display: none;
  }

  .c-top-models-slider .slide-arrow.prev-arrow {
    left: 20px;
    width: 25px;
    top: 200px;
    position: absolute;
    z-index: 2;
  }

  .c-top-models-slider .slide-arrow.next-arrow {
    right: 20px;
    width: 25px;
    top: 200px;
    position: absolute;
    z-index: 2;
  }

  .model-item-label {
    font-size: 1.2rem;
  }

  .top-movie {
    text-align: center;
  }
}

/* TOP 男の子・女の子のランドセルを探す */
.c-boys-girls {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}

.c-boys {
  margin-bottom: 60px;
  width: 100%;
}
.c-girls {
  width: 100%;
}

.c-boys-girls-img {
  text-align: center;
  margin: 0 auto 20px auto;
}

.c-boys-girls-img img {
  border-radius: 10px;
}

.c-boys-girls-menus {
  border-top: #DDD 1px solid;
}

.c-boys-girls-menu {
  border-bottom: #DDD 1px solid;
  padding: 0;
}

.c-boys-girls-menu-head {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 10px 0;
  cursor: pointer;
}

.c-boys-girls-menu-head-thumb {
  width: 60px;
  min-width: 60px;
  align-items: center;
}

.c-boys-girls-menu-head-thumb img {
  width: 100%;
  border-radius: 10px;
}

.c-boys-girls-menu-head-text {}

.c-boys-girls-menu-head-text-heading {
  text-align: left;
  line-height: 1.4;
  letter-spacing: 0.05em;
  font-size: 1.6rem;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  align-items: center;
}

.c-boys-girls-menu-head-text-heading .sub {
  font-size: 1.2rem;
  color: #A8A8A8;
  font-weight: 400;
}

.c-boys-girls-menu-head-icon {
  align-self: center;
  margin-left: auto;
  width: 14px;
  height: 14px;
  background: url(../img/common/ico-pulldown-open.svg) no-repeat 0 0;
  background-size: 14px;
}

.is-open .c-boys-girls-menu-head-icon {
  background: url(../img/common/ico-pulldown-close.svg) no-repeat 0 0;
  background-size: 14px;
}

.c-boys-girls-menu-links {
  display: none;
  flex-wrap: wrap;
  gap: 10px 5px;
  padding: 10px 0 15px 0;
}

.c-boys-girls-menu-links li {}

.c-boys-girls-menu-links li a {
  display: block;
  border: var(--color-red) 1px solid;
  border-radius: 999px;
  padding: 4px 10px;
  font-weight: 600;
  font-size: 1.0rem;
  line-height: 1.4;
}

.is-open .c-boys-girls-menu-links {
  display: flex;
}

@media (min-width: 768px) {
  .c-boys-girls {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    gap: 0;
  }

  .c-boys,
  .c-girls {
    width: 570px;
    min-width: 570px;
  }

  .c-boys-girls-img {
    margin: 0 auto 30px auto;
  }

  .c-boys-girls-menu-links li a {
    padding: 4px 10px;
    font-size: 1.2rem;
  }
}




/* TOP ランドセル選びを思い出に 等 */
.c-top-contents-inner {
  padding: 0 15px;
}

.c-top-contents-image {
  width: 100%;
  margin: 30px 0 0 0;
}

.c-top-contents-image img {
  width: 100%;
  border-radius: 10px;
}

.c-top-contents-link {
  border-bottom: #EEE 1px solid;
}

.c-top-contents-link a {
  display: flex;
  flex-wrap: nowrap;
  text-decoration: none;
  padding: 30px 30px 30px 0;
  background: url(../img/common/ico-arrow-red.svg) no-repeat right 50%;
  background-size: 20px;
}

.c-top-contents-link-thumb {
  width: 120px;
  min-width: 120px;
  margin-right: 15px;
}

.c-top-contents-link-thumb img {
  border-radius: 10px;
}

.c-top-contents-link-title {
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-size: 1.6rem;
  line-height: 1.3;
  margin-bottom: 15px;
}

.c-top-contents-link-text p {
  font-size: 1.3rem;
  margin: 0;
}

.h2-link-arrow {
  display: inline-flex;
  align-items: center;
}

.h2-link-arrow::before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  margin: 0 10px 0 0;
  width: 20px;
  height: 20px;
  background: url(../img/common/ico-arrow-red.svg) no-repeat right 50%;
  background-size: 20px;
}

@media (min-width: 768px) {
  .c-top-contents-inner {
    margin: 40px auto;
    padding: 0;
    display: flex;
    gap: 25px;
  }

  .c-top-contents {
    width: 1200px;
    margin: 0 auto;
    position: relative;
    overflow: visible;
  }

  .c-top-contents-body {
    width: 100%;
  }
    .c-top-contents-link {
      max-width: 240px;
      border: none;
    }
  .c-top-contents-link a {
    display: block;
    padding: 0;
    background: none;
    border: none;
  }

  .c-top-contents-link-thumb {
    width: 240px;
    min-width: 240px;
    margin: 0 0 20px 0;
  }

  .c-top-contents-link-title {
    margin-bottom: 20px;
    padding: 0 0 0 25px;
    background: url(../img/common/ico-arrow-red.svg) no-repeat 0 2px;
    background-size: 18px;
    font-size: 1.6rem;
    text-align: left;
  }

  .c-top-contents-link-text p {
    font-size: 1.5rem;
  }

  .c-top-contents-image {
    display: block;
    width: 400px;
    min-width: 400px;
    margin: 0 10px 0 0;
  }

  .h2-link-arrow::after {
    margin: 0 0 0 20px;
    width: 25px;
    height: 25px;
    background-size: 25px;
  }
}

@media (max-width: 1200px) {
  .c-top-contents {
    overflow: hidden;
  }
}




.c-workshop-list02 {
  padding: 0 15px;
  margin: 0 auto 60px auto;
}

.c-workshop-list02 li {
  margin: 0 auto 15px auto;
  background-color: #FFF;
}

.c-workshop-list02 li a {
  display: block;
  text-decoration: none;
}

.c-workshop-list02 .c-workshop-list--img {
  display: block;
}

.c-workshop-list02 .c-workshop-list--img img {
  width: 100%;
  height: auto;
}

.c-workshop-list02 .c-workshop-list--title {
  padding: 0 20px;
  margin: 26px 0;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 1.6;
  text-align: center;
}

.c-workshop-list02 .c-workshop-list--txt {
  padding: 0 20px 24px 20px;
  margin-bottom: 0;
  font-size: 1.2rem;
  line-height: 1.5;
}

@media (min-width: 768px) {
  .c-workshop-list02 {
    width: 1100px;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }

  .c-workshop-list02 li {
    width: 545px;
  }

  .c-workshop-list02 .c-workshop-list--title {
    font-size: 1.8rem;
  }

  .c-workshop-list02 .c-workshop-list--txt {
    font-size: 1.4rem;
    padding: 0 50px 32px 50px;
  }
}

.c-top-support-head {
  margin: 0 0 15px 0;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.8rem;
  line-height: 1.6;
  text-align: left;
}

.c-top-support-text {
  text-align: left;
  font-size: 1.4rem;
}

.c-top-support-contents {
  margin-bottom: 60px;
}

.c-top-support-box {
  display: block;
  margin: 20px auto 50px auto;
}

.c-top-support-box--txt {
  padding: 15px 20px;
  background-color: #FFF;
  font-size: 1.2rem;
}

.c-top-support-contents .u-arrowlink {
  margin: 24px auto 20px auto;
}

.c-top-goods {
  margin-bottom: 20px;
}

.c-top-goods a {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  text-decoration: none;
  align-items: stretch;
}

.c-top-goods-img {
  width: 50%;
}

.c-top-goods-txt {
  width: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #FFF;
  font-size: 1.3rem;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
}

.c-top-goods-caption {
  margin-top: 20px;
  text-align: center;
  font-size: 1.2rem;
}

@media (min-width: 768px) {
  .c-top-support-head {
    margin: 0 0 15px 0;
    font-size: 2.2rem;
    text-align: center;
  }

  .c-top-support-text {
    text-align: center;
  }

  .c-top-support-contents {
    width: 900px;
    margin: 20px auto 0 auto;
  }

  .c-top-support-contents .u-arrowlink {
    margin: 24px auto 0 auto;
  }

  .c-top-support-box {
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto 70px auto;
  }

  .c-top-support-box--img {
    width: 450px;
  }

  .c-top-support-box--txt {
    width: 450px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 15px 50px;
    font-size: 1.4rem;
  }

  .c-top-goods-col2 {
    width: 760px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
  }

  .c-top-goods {
    width: 350px;
    margin: 0 auto 20px auto;
  }

  .c-top-goods-txt {
    font-size: 1.4rem;
  }

  .c-top-goods-caption {
    font-size: 1.4rem;
  }
}


/* Contents
=====================================================================*/
.c-contents {
  padding: 95px 0 0;
}

.c-contents-header {
  text-align: center;
  padding: 25px 15px;
  background: #F7F6F2;
  border-bottom: #DDD 1px solid;
  font-size: 1.6rem;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
}

.c-contents-header--title {
  font-size: 1.6rem;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  letter-spacing: 0.1em;
  text-align: center;
  line-height: 1.6;
}

.c-contents-mv {
  width: 100%;
  margin: 0 0 30px;
  position: relative;
  overflow: hidden;
}

.c-contents-mv img {
  object-fit: cover;
}

.c-contents-copy {
  color: var(--color-white);
  font-family: var(--font-gothic-m);
  font-weight: bold;
  position: absolute;
  left: 30px;
  bottom: 35px;
}

.c-contents-copy--txt1 {
  display: block;
  margin: 0 0 22px;
  font-size: 2rem;
  line-height: 1.4;
}

.c-contents-copy--txt2 {
  font-size: 1.8rem;
  line-height: 1.4;
}

.c-contents-intro {
  margin: 0 0 30px;
}

.l-section-inner {
  width: 100%;
  padding: 0 15px;
  position: relative;
}

.l-section-small-inner {
  width: 100%;
  padding: 0 15px;
  position: relative;
}

.l-section-ssmall-inner {
  width: 100%;
  padding: 0 15px;
  position: relative;
}

.c-contents-intro {
  margin: 0 0 57px;
}

.c-contents-intro p {
  font-size: 1.4rem;
  line-height: 1.7;
}

@media (min-width: 768px) {
  .c-contents {
    padding: 85px 0 0;
  }

  .c-contents-header {
    padding: 50px 15px;
    font-size: 2.0rem;
  }

  .c-contents-header--title {
    font-size: 2.0rem;
  }

  .c-contents-mv {
    width: 1200px;
    height: 636px;
    margin: 60px auto 70px;
  }

  .c-contents-copy {
    position: absolute;
    left: 60px;
    bottom: 60px;
  }

  .c-contents-copy--txt1 {
    margin-bottom: 36px;
    font-size: 3.2rem;
  }

  .c-contents-copy--txt2 {
    font-size: 2.9rem;
  }

  .c-contents-intro {
    width: 1000px;
    margin: 0 auto 70px;
  }

  .c-contents-intro p {
    font-size: 1.5rem;
  }

  .l-section-inner {
    /*1200px*/
    width: 1200px;
    margin: 0 auto;
    padding: 0 0 40px 0;
  }

  .l-section-small-inner {
    /*1000px*/
    width: 1200px;
    padding: 0 100px;
    margin: 0 auto;
  }

  .l-section-ssmall-inner {
    /*880px*/
    width: 1200px;
    padding: 0 160px;
    margin: 0 auto;
  }
}

/* Randsel
=====================================================================*/
.c-point-list {
  display: grid;
  gap: 57px;
  margin-bottom: 80px;
}

.c-point--img {
  margin: 0 0 30px;
}

.c-point--img img {
  width: 100%;
  height: 240px;
  object-fit: cover;
}

.c-point--title {
  margin: 0 0 30px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.6rem;
  text-align: center;
  line-height: 1.5;
}

.c-point--txt {
  margin: 0 0 30px;
}

.c-point--txt p {
  font-size: 1.4rem;
  line-height: 1.7;
}

.c-point--button a {
  display: table;
  margin: 0 auto;
  padding: 7px 25px;
  background-color: var(--color-white);
  border-radius: 30px;
  text-align: center;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.2rem;
  line-height: 2;
}

.c-point-detail-header {
  margin: 0 0 30px;
  background-color: var(--color-white);
}

.l-point-detail-header-titlearea {
  padding: 40px 0;
  text-align: center;
}

.c-point-detail-header-title {
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.8rem;
  line-height: 1.2;
  margin: 0 0 9px;
}

.c-point-detail-title-subtxt {
  color: #8E8E8E;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.2rem;
  line-height: 2;
}

.l-point-detail-header--img img {
  width: 100%;
}

.c-point-detail-intro {
  margin: 0 0 40px;
}

.c-point-detail-intro p:nth-last-child(n+2) {
  margin: 0 0 20px;
}

.l-point-detail-mainarea {
  margin: 0 0 64px;
}

.l-point-detail-navarea {
  margin-bottom: 64px;
}

.c-point-detail-list {
  display: grid;
  gap: 50px;
}

.c-point-detail-list:nth-last-child(n+2) {
  margin: 0 0 37px;
}

.c-point-detail-list--img {
  margin: 0 0 30px;
}

.c-point-detail-list--title {
  margin: 0 0 10px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 1.6;
  text-align: center;
}

.c-point-detail-list--subtitle {
  color: #8E8E8E;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: 700;
  font-size: 1.2rem;
  line-height: 2;
  margin: 0 0 25px;
  text-align: center;
}

.c-point-detail-list--txt p {
  margin: 0 0 20px;
}

.c-point-detail-smalllist:nth-last-child(n+2) {
  margin: 0 0 50px;
}

.c-point-detail-smalllist {
  display: grid;
  gap: 20px;
}

.c-point-detail-smalllist li {
  display: grid;
  grid-template-columns: 157px 1fr;
  gap: 16px;
}

.c-point-detail-navlist {
  border-top: 1px solid #DEDEDE;
}

.c-point-detail-navlist li {
  border-bottom: 1px solid #DEDEDE;
}

.c-point-detail-navlist li a {
  display: block;
  padding: 15px 25px 15px 10px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 1.3;
  position: relative;
}

.c-point-detail-navlist li.u-current a {
  color: #8E8E8E;
}

.c-point-detail-navlist li a::after {
  content: '';
  display: block;
  width: 6px;
  height: 6px;
  border: 1px solid #46331C;
  border-width: 1px 1px 0 0;
  transform: rotate(45deg);
  position: absolute;
  right: 10px;
  top: calc(50% - 3px);
  transform: rotate(45deg);
}

.c-point-detail-navlist li.u-current a::after {
  border-color: #8E8E8E;
}

.c-point-pagelink-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  margin: 0 0 60px;
}

.c-point-pagelink-list a {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 42px;
  width: 100%;
  border-radius: 6px;
  background-color: var(--color-white);
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.4rem;
}

.c-point-pagelink-list a::before {
  content: '';
  display: block;
  width: 6px;
  height: 6px;
  margin: -3px 8px 0 0;
  border: 2px solid #222222;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.c-point-section:nth-last-child(n+2) {
  margin: 0 0 80px;
}

.l-material-titlearea {
  width: 100%;
  height: 200px;
  position: relative;
  margin: 0 0 50px;
}

.c-material-title--img {
  height: 200px;
}

.c-material-title--img img {
  height: 200px;
  object-fit: cover;
}

.l-material-cow-subtitlearea .c-material-title--img {
  height: auto;
}

.l-material-cow-subtitlearea .c-material-title--img img {
  height: auto;
}

.c-material-title-wrap {
  position: absolute;
  top: 35%;
  left: 0;
  right: 0;
  margin: auto;
}

.c-material-title {
  color: var(--color-white);
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 2.6rem;
  line-height: 1.5;
  text-align: center;
  margin-bottom: 10px;
}

.c-material-title-en {
  color: var(--color-white);
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.2rem;
  line-height: 1.5;
  text-align: center;
  margin-bottom: 10px;
}

.c-material-title-mark {
  width: 42px;
  margin: 0 auto;
}

.c-material-topics {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  align-content: center;
  width: 80px;
  height: 80px;
  position: absolute;
  top: 10px;
  left: 10px;
  background: #FFF;
  border-radius: 50%;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
}

.c-material-topics-text-small {
  font-size: 0.9rem;
  text-align: center;
  line-height: 1;
  margin-bottom: 3px;
}

.c-material-topics-text {
  font-size: 1.2rem;
  text-align: center;
  line-height: 1.5;
}

.c-point-material--title {
  margin: 0 0 20px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 1.6;
  text-align: center;
}

.c-point-material {
  overflow: hidden;
  margin-bottom: 40px;
}

.l-point-material-imgarea {
  margin: 0 0 30px;
}

.c-point-material--img {
  margin: 0 0 20px;
}

.c-point-material--img img {
  width: 100%;
}

.c-point-material--imgtxt p {
  font-size: 1.2rem;
  line-height: 1.7;
  text-align: center;
}

.c-point-material--txt {
  margin: 0 0 20px;
}

.c-point-material-color--img {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin: 0 0 24px;
}

.c-point-matelial-itemlist-wrap {
  padding: 0 0 32px;
  margin: 0 0 0 15px;
  overflow-x: scroll;
}

.c-point-matelial-itemlist {
  display: flex;
  gap: 30px;
}

.c-point-matelial-itemlist li {
  flex-shrink: 0;
}

.c-point-matelial-itemlist::after {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

.cordovan-color__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  margin: 0 auto 30px auto;
}

.cordovan-color__list p {
  color: #FFF;
  font-family: 'Minion Pro', var(--font-gothic-m);
  line-height: 1.2;
}

.cordovan-color__item {
  position: relative;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.2rem;
  color: #fff;
  text-align: center;
}

.cordovan-color__item img {
  width: 100%;
  height: auto;
}

.cordovan-color__item p {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  text-align: center;
}


.c-material-cow-list {
  display: grid;
  gap: 30px;
  margin-bottom: 60px;
}

.l-material-cow-subtitlearea {
  width: 100%;
  position: relative;
  margin: 0 0 25px;
  overflow: hidden;
}

.l-material-cow-subtitlearea img {
  width: 100%;
  height: auto;
  object-fit: initial;
}

.c-material-cow-subtitle {
  color: var(--color-white);
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.8rem;
  white-space: nowrap;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.c-point-comparisonlist-wrap {
  margin: 0 auto 40px auto;
  overflow-x: scroll;
  padding-bottom: 10px;
}

.h-large-center {
  font-size: 1.8rem;
  text-align: center;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  margin: 0 0 30px 0;
}

.c-leather-compare-table {
  width: 100%;
  border: #DEDEDE 1px solid;
  border-collapse: collapse;
  margin: 0 20px;
}

.c-leather-compare-table thead th {
  border: #DEDEDE 1px solid;
  background: #F5F5F2;
  padding: 10px 20px;
  font-size: 1.3rem;
  text-align: center;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  line-height: 1.7;
  white-space: nowrap;
}

.c-leather-compare-table tbody th {
  vertical-align: middle;
  border: #DEDEDE 1px solid;
  padding: 0;
  width: 140px;
  min-width: 140px;
  height: 100px;
  font-size: 1.3rem;
  text-align: center;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  color: #FFF;
  line-height: 1.7;
  background: #222;
  background-repeat: no-repeat;
  background-size: cover;
  white-space: nowrap;
}

.c-leather-compare-table tbody th.leather-bg01 {
  background-image: url(../img/leather/bg01.webp);
}

.c-leather-compare-table tbody th.leather-bg02 {
  background-image: url(../img/leather/bg02.webp);
}

.c-leather-compare-table tbody th.leather-bg03 {
  background-image: url(../img/leather/bg03.webp);
}

.c-leather-compare-table tbody td {
  vertical-align: middle;
  border: #DEDEDE 1px solid;
  padding: 10px 20px;
  width: 160px;
  min-width: 160px;
  font-size: 1.3rem;
  text-align: center;
  font-family: var(--font-gothic-l);
  letter-spacing: var(--ls-gothic-l);
  line-height: 1.7;
  background: #FFF;
  white-space: nowrap;
}

.img-w-circle {
  width: 22px;
  height: 22px;
  border: #222 1px solid;
  border-radius: 50%;
  position: relative;
  margin: 0 auto;
}

.img-w-circle::after {
  content: "";
  display: block;
  position: absolute;
  top: 2px;
  left: 2px;
  width: 16px;
  height: 16px;
  border: #222 1px solid;
  border-radius: 50%;
}

.img-circle {
  width: 22px;
  height: 22px;
  border: #222 1px solid;
  border-radius: 50%;
  position: relative;
  margin: 0 auto;
}

.img-cross {
  width: 22px;
  height: 22px;
  position: relative;
  margin: 0 auto;
}

.img-cross::before {
  content: "";
  display: block;
  position: absolute;
  top: 10px;
  left: 0;
  width: 22px;
  height: 1px;
  background: #222;
  transform: rotate(-45deg);
}

.img-cross::after {
  content: "";
  display: block;
  position: absolute;
  top: 10px;
  left: 0;
  width: 22px;
  height: 1px;
  background: #222;
  transform: rotate(45deg);
}

.td-note {
  font-size: 1.2rem;
  line-height: 1.2;
  margin: 5px 0 0 0;
  text-align: center;
}

.th-block {
  display: flex;
  align-items: center;
  align-self: center;
  justify-content: center;
  min-height: 100px;
}

.th-block+.th-block {
  border-top: #FFF 1px dotted;
}


@media (min-width: 768px) {
  .h-large-center {
    font-size: 3.3rem;
    margin: 0 0 70px 0;
  }

  .c-leather-compare-table {
    width: auto;
    max-width: 1000px;
    margin: 0 auto;
  }

  .c-leather-compare-table thead th {
    padding: 15px 20px;
    font-size: 1.4rem;
  }

  .c-leather-compare-table tbody th {
    width: 150px;
    height: 100px;
    padding: 0;
    font-size: 1.4rem;
  }

  .c-leather-compare-table tbody td {
    width: 200px;
    padding: 15px 20px;
    font-size: 1.4rem;
  }
}

.l-point-material-additionarea {
  display: block;
  background-color: var(--color-white);
}

.c-point-material-addition--img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.c-point-material-addition--txt {
  padding: 25px 20px;
}

.c-point-material-addition--txt p {
  margin: 0 0 14px;
}

.skill-intro {
  display: block;
}

.skill-intro-image {
  margin-top: 30px;
}

.c-skill-section:nth-last-child(n+2) {
  margin: 0 0 100px;
}

.c-skill-section:first-child {
  margin-top: 100px;
}

.c-skill-img {
  display: grid;
  gap: 3px;
  margin: 0 0 30px;
}

.c-skill-color-img {
  margin: 0 0 47px;
}

.c-skill-koba-img {
  margin: 0 0 47px;
}

.c-skill-process-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px 20px;
  margin: 30px 10px 57px;
}

.c-skill-process--img {
  margin: 0 0 15px;
}

.c-skill-process-detail-list {
  display: grid;
  gap: 30px;
}

.c-skill-process-detail--img {
  margin: 0 0 20px;
}

.c-skill-process-detail--title {
  margin: 0 0 18px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 1.7;
}

.l-skill-kobaarea {
  display: grid;
  gap: 40px;
  margin: 0 0 60px;
}

.c-point-detail-intro--title {
  margin: 0 0 23px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 1.5;
  text-align: center;
}

.c-design-tablist {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  margin: 0 0 42px;
  border-bottom: 1px solid #DDDCD8;
  position: relative;
}

.c-design-tablist2 {
  border-bottom: none !important;
  border-top: 1px solid #DDDCD8;
}

.c-design-tab {
  width: 100%;
  padding: 15px;
  background-color: #F8F8F5;
  border: 1px solid #DDDCD8;
  position: relative;
  top: 1px;
}

.c-design-tab.is-tab-active {
  border-width: 1px 1px 0 1px;
}

.c-design-tablist2 .c-design-tab {
  top: -1px;
}

.c-design-tablist2 .c-design-tab.is-tab-active {
  border-width: 0 1px 1px 1px;
}

.c-design-tab--subtitle {
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1rem;
  line-height: 1.5;
  margin: 0 0 5px;
}

.c-design-tab--title {
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.2rem;
  line-height: 1.25;
}

.c-design-tab--title::before {
  content: '';
  display: block;
  width: 12px;
  height: 12px;
  background-image: url(../img/common/ico-arrow-red.svg);
  background-size: contain;
  transform: rotate(90deg);
  margin: 2px 5px 0 0;
}

.is-tab-active .c-design-tab--title::before {
  transform: rotate(0deg);
}

.c-design-section:nth-last-child(n+2) {
  margin: 0 0 63px;
}

.c-design-section {
  margin-bottom: 50px;
}

.c-design-first {
  margin: 0 0 44px;
}

.c-design-first--img {
  margin: 0 0 25px;
}

.c-design-first--txt p {
  text-align: center;
}

.c-design--title {
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 1.5;
  margin: 0 0 39px;
  text-align: center;
}

.l-design-imgarea {
  display: grid;
  gap: 15px;
  margin: 0 0 25px;
}

.l-design-imgarea img {
  width: 100%;
}

.l-design-tablearea {
  margin: 0 0 30px 15px;
}

.l-design-tablearea .c-table {
  padding: 0;
  width: 100%;
  margin-right: 15px;
}

.l-design-tablearea .c-table::after {
  content: none;
}

.c-design-link a {
  position: relative;
  margin: 0 0 51px;
}

.c-design-link--txt {
  color: var(--color-white);
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 1.5;
  white-space: nowrap;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.c-design-link {
  margin: 0 auto 30px auto;
}

.c-design-link--img {
  margin: 0 auto 30px auto;
}

.c-design-txtlink a {
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.2rem;
  line-height: 1.25;
}

.c-design-txtlink a::before {
  content: '';
  background-image: url(../img/common/ico-newwindowlink.svg);
  width: 11px;
  height: 11px;
  margin: 0 7px 0 0;
}

.m-product__list {
  display: flex;
  flex-wrap: nowrap;
  padding: 0 15px;
}

.m-product__item {
  flex: 0 0 134px;
  padding: 0 5px;
  text-align: center;
}

.m-product__item a {
  display: block;
}

.m-product__item .m-product__logo {
  display: block;
  width: 103px;
  margin: 0 auto;
}

@media (min-width: 768px) {
  .c-point-list {
    grid-template-columns: repeat(3, 1fr);
    gap: 80px 30px;
  }

  .c-point--img img {
    height: 253px;
  }

  .c-point--title {
    white-space: nowrap;
  }

  .c-point--txt {
    margin: 0 0 30px;
    height: 160px;
  }

  .c-point--txt p {
    font-size: 1.5rem;
    letter-spacing: 0.05em;
  }

  .c-point--button a {
    display: table;
    margin: 0 auto;
    padding: 7px 25px;
    background-color: var(--color-white);
    border-radius: 30px;
    text-align: center;
    font-size: 1.2rem;
    letter-spacing: 0.05em;
    line-height: 2;
  }

  .c-point-detail-header {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    width: 1200px;
    margin: 60px auto 60px;
    background-color: var(--color-white);
  }

  .l-point-detail-header-titlearea {
    display: grid;
    place-content: center;
  }

  .c-point-detail-header-title {
    font-size: 2.9rem;
    margin-bottom: 15px;
  }

  .c-point-detail-title-subtxt {
    font-size: 1.4rem;
    letter-spacing: 0.05em;
  }

  .c-point-detail-intro {
    margin-bottom: 70px;
  }

  .c-point-detail-intro p {
    text-align: center;
  }

  .c-point-detail-intro p:nth-last-child(n+2) {
    margin: 0 0 70px;
  }

  .l-point-detail-mainarea {
    margin: 0 0 100px;
  }

  .c-point-detail-list {
    display: grid;
    gap: 50px;
  }

  .c-point-detail-list:nth-last-child(n+2) {
    margin-bottom: 30px;
  }

  .c-point-detail-list>li {
    display: grid;
    grid-template-columns: 615px 1fr;
    gap: 40px;
  }

  .c-point-detail-list--img {
    margin: 0;
  }

  .l-point-detail-list-txtarea {
    display: grid;
    place-content: center;
  }

  .c-point-detail-list--subtitle {
    font-family: var(--font-gothic-m);
    letter-spacing: var(--ls-gothic-m);
    font-weight: bold;
  }

  .c-point-detail-list--txt p {
    font-size: 1.5rem;
  }

  .c-point-detail-smalllist:nth-last-child(n+2) {
    margin-bottom: 60px;
  }

  .c-point-detail-smalllist {
    display: flex;
    justify-content: center;
    gap: 30px;
  }

  .c-point-detail-smalllist li {
    display: block;
    width: 282px;
  }

  .c-point-detail-smalllist--img {
    margin: 0 0 20px;
  }

  .c-point-detail-smalllist--img img {
    height: 190px;
    object-fit: cover;
  }

  .c-point-detail-smalllist--txt p {
    font-size: 1.5rem;
  }

  .c-point-detail-navlist {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0 34px;
    border-top: none;
  }

  .c-point-detail-navlist li:nth-of-type(-n+2) {
    border-top: 1px solid #DEDEDE;
  }

  .c-point-detail-navlist li a {
    transition: color 0.3s ease;
  }

  .c-point-detail-navlist li a:hover {
    color: #8E8E8E;
  }

  .c-point-detail-navlist li a::after {
    transition: border-color 0.3s ease;
  }

  .c-point-detail-navlist li a:hover::after {
    border-color: #8E8E8E;
  }

  .c-point-pagelink-list {
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    width: 730px;
    margin: 0 auto 86px;
  }

  .c-point-section:nth-last-child(n+2) {
    margin-bottom: 140px;
  }

  .l-material-titlearea {
    width: 1000px;
    height: 259px;
    margin: 0 auto 80px;
  }

  .c-material-title--img {
    height: auto;
  }

  .c-material-title--img img {
    height: auto;
    border-radius: 20px;
  }

  .l-material-cow-subtitlearea .c-material-title--img img {
    border-radius: 0;
  }

  .c-material-topics {
    width: 90px;
    height: 90px;
    top: 20px;
    left: 20px;
  }

  .c-material-topics-text-small {
    font-size: 1rem;
  }

  .c-material-topics-text {
    font-size: 1.5rem;
  }

  .l-point-material-mainarea {
    display: grid;
    grid-template-columns: 1fr 475px;
    gap: 25px;
  }

  .l-point-material-imgarea {
    margin: 0;
    order: 2;
  }

  .c-point-material--img {
    margin: -40px 0 0 0;
  }

  .c-point-material--img img {
    height: auto;
  }

  .c-point-material--title {
    font-size: 1.8rem;
    text-align: left;
  }

  .c-point-material--txt p {
    font-size: 1.5rem;
  }

  .c-material-title-mark {
    width: 50px;
  }

  .c-point-material--imgtxt p {
    font-size: 1.2rem;
    font-family: var(--font-gothic-m);
    letter-spacing: var(--ls-gothic-m);
    font-weight: bold;
    text-align: center;
    color: #FFF;
    position: relative;
    top: -80px;
  }

  .c-point-material-color--img {
    display: grid;
    grid-template-columns: repeat(9, 1fr);
    margin: 0 0 36px;
  }

  .c-point-matelial-itemlist-wrap {
    width: 1200px;
    padding: 0 100px;
    margin: 0 auto;
    overflow-x: auto;
  }

  .c-point-matelial-itemlist {
    display: flex;
    justify-content: center;
    gap: 30px;
  }

  .c-point-matelial-itemlist li {
    width: calc(100% / 3);
  }

  .cordovan-color__list {
    grid-template-columns: repeat(5, 1fr);
  }

  .cordovan-color__item {
    font-size: 1.5rem;
  }

  .c-material-cow-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 29px;
  }

  .c-material-cow-list li {
    display: block;
  }

  .l-material-cow-subtitlearea {
    height: 145px;
    margin-bottom: 40px;
  }

  .c-point-comparisonlist-wrap {
    padding: 0;
    margin: 0 auto 90px auto;
    overflow-x: auto;
  }

  .c-point-comparisonlist {
    justify-content: center;
    gap: 40px;
    padding: 0;
  }

  .c-point-comparisonlist li {
    width: auto;
    flex-shrink: 0;
  }

  .l-point-material-additionarea {
    display: grid;
    gap: 10px;
    grid-template-columns: 276px 1fr;
    width: 645px;
    margin: 0 auto;
  }

  .c-point-material-addition--txt {
    padding: 30px 18px 30px 18px;
  }

  .skill-intro {
    display: flex;
    flex-direction: row-reverse;
    gap: 40px;
    align-items: center;
  }

  .skill-intro-image {
    width: 580px;
    margin: 0;
  }

  .c-skill-section:nth-last-child(n+2) {
    margin-bottom: 120px;
  }

  .c-skill-section:first-child {
    margin-top: 120px;
  }

  .c-skill-img {
    gap: 0;
  }

  .c-skill-color-img {
    margin-bottom: 30px;
  }

  .c-skill-koba-img {
    margin-bottom: 30px;
  }

  .c-skill-process-list {
    grid-template-columns: repeat(6, 1fr);
    gap: 20px;
    margin: 50px 0 0;
  }

  .c-skill-process-detail-list {
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
  }

  .c-skill-process-detail--img {
    margin-bottom: 20px;
  }

  .l-skill-kobaarea {
    display: grid;
    grid-template-columns: 1fr 332px;
    gap: 35px;
    margin-bottom: 92px;
  }

  .c-skill-koba--img {
    order: 2;
  }

  .c-design-tablist {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin: 0 auto 61px;
    border-bottom: 1px solid #DDDCD8;
    position: relative;
  }

  .c-design-tab {
    width: 490px;
    padding: 22px;
  }

  .c-design-tab--subtitle {
    font-size: 1.4rem;
  }

  .c-design-tab--title {
    font-size: 1.6rem;
  }

  .c-design-section {
    margin-bottom: 100px;
  }

  .c-design-first {
    margin-bottom: 120px;
  }

  .c-design-first--img {
    margin-bottom: 35px;
  }

  .c-design--title {
    font-size: 2.2rem;
  }

  .l-design-imgarea {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px 6px;
    margin-bottom: 35px;
  }

  .l-design-tablearea {
    width: 1200px;
    padding: 0 100px;
    margin: 0 auto 74px;
  }

  .l-design-tablearea .c-table {
    padding: 0;
    margin-right: 0;
  }

  .c-design-link a {
    margin: 0 auto;
    width: 345px;
    position: relative;
    margin-bottom: 38px;
  }

  .c-design-link--txt a {
    font-size: 1.8rem;
  }

  .c-design-txtlink a {
    font-size: 1.2rem;
  }

  .c-design-link--img {
    max-width: 350px;
  }

  .m-product__list {
    flex-wrap: wrap;
    justify-content: center;
  }

  .m-product__item {
    margin-top: 30px;
  }
}

.c-shop-contents-mv {
  margin: 0 0 52px;
  width: 100%;
  height: 204px;
  position: relative;
  overflow: hidden;
}

.c-shop-contents-mv--img img {
  height: 204px;
  object-fit: cover;
}

.c-shop-contents-mv--title {
  color: var(--color-white);
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 2rem;
  line-height: 1.3;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%);
  text-align: center;
}

.c-shop-contents-intro {
  margin: 0 0 70px;
}

.c-shop-contents-intro--title {
  margin: 0 0 67px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 1.5;
  text-align: center;
}

.page-products .c-shop-contents-intro--title {
  margin-bottom: 30px;
}

.c-shop-index-list {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 23px;
  margin: 0 0 53px;
}

.c-shop-index-list li a {
  display: flex;
  align-items: center;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 1.3;
}

.c-shop-index-list li a::before {
  content: '';
  width: 7px;
  height: 7px;
  border: 2px solid #930B0B;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
  margin: 0 6px 0 0;
}

.c-shop-temporary-link-col2 {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.c-shop-temporary-link {
  width: 100%;

}

.c-shop-temporary-link a {
  display: grid;
  grid-template-columns: 150px 1fr;
  background-color: var(--color-white);
}

.c-shop-temporary-link--img img {
  width: 150px;
  height: 120px;
}

.l-shop-temporary-link-txtarea {
  display: grid;
  place-content: center;
}

.c-shop-temporary-link--smalltxt {
  margin: 0 0 8px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 1.7;
  text-align: center;
}

.c-shop-temporary-link--txt {
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  color: #222;
  font-size: 1.8rem;
  line-height: 1.7;
  text-align: center;
}

.c-shop-index-section:nth-last-of-type(n+2) {
  margin: 0 0 80px;
}

.l-shop-infoarea {
  margin: 0 0 30px;
}

.c-shop-info--img {
  margin: 0 0 30px;
}

.c-shop-info--title {
  margin: 0 0 30px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 2rem;
  line-height: 1.2;
  text-align: center;
}

.c-shop-info-table {
  border: 1px dashed #DDDCD8;
  border-width: 1px 0 1px 0;
  padding: 16px 0;
  margin: 0 0 30px;
}

.c-shop-info-table th {
  width: 80px;
  padding: 8px 0;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 1.7;
  text-align: left;
  vertical-align: top;
}

.c-shop-info-table td {
  width: auto;
  padding: 8px 0;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 1.7;
  vertical-align: top;
}

.c-shop-info-taglist {
  padding: 0 30px;
  margin: 0 0 36px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 7px;
}

.c-shop-info-taglist li {
  background-color: var(--color-white);
  border: 1px solid #DEDEDE;
  padding: 3px 8px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.2rem;
  line-height: 2;
}

.c-shop-info-addition {
  background-color: var(--color-white);
  padding: 20px 10px;
}

.c-shop-info-addition--txt {
  margin: 0 0 10px;
}

.c-shop-info-addition--txt p {
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 3;
  text-align: center;
}

.c-shop-info-addition--link a {
  margin: 0 auto;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 1.3;
}

.c-shop-info-table--txt:nth-child(n+2) {
  margin-top: 10px;
}

.c-shop-info-table--txt:nth-last-child(n+2) {
  margin-bottom: 10px;
}

.c-shop-benefit-link {
  margin: 48px 0 57px;
}

.c-shop-benefit-link a {
  position: relative;
  overflow: hidden;
}

.c-shop-benefit-link a::before {
  content: '特典';
  display: block;
  background-color: var(--color-red);
  padding: 20px 30px 6px;
  transform: rotate(-45deg);
  color: var(--color-white);
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 1.5;
  text-align: center;
  position: absolute;
  top: -10px;
  left: -30px;
}

.c-shop-benefit-link .c-shop-temporary-link--smalltxt {
  color: #7B7B7B;
  font-size: 1.2rem;
}

.c-shop-benefit-link .c-shop-temporary-link--txt {
  font-size: 1.6rem;
  line-height: 1.4;
}

@media (min-width: 768px) {
  .c-shop-contents-mv {
    margin-top: -60px;
    margin-bottom: 100px;
    height: 393px;
  }

  .c-shop-contents-mv--img img {
    height: 393px;
  }

  .c-shop-contents-mv--title {
    font-size: 3rem;
  }

  .c-shop-contents-intro {
    margin-bottom: 84px;
  }

  .c-shop-contents-intro--title {
    margin-bottom: 51px;
    font-size: 2.2rem;
    line-height: 1.8;
  }

  .page-products .c-shop-contents-intro--title {
    margin-bottom: 50px;
  }

  .c-shop-index-list {
    gap: 26px;
    margin-bottom: 57px;
  }

  .c-shop-index-list li a {
    font-size: 1.5rem;
  }

  .c-shop-temporary-link-col2 {
    display: flex;
    gap: 60px;
    justify-content: center;
  }

  .c-shop-temporary-link {
    width: 360px;
  }

  .c-shop-temporary-link a {
    width: 360px;
    margin: 0 auto;
  }

  .c-shop-index-section:nth-last-of-type(n+2) {
    margin-bottom: 100px;
  }

  .l-shop-infoarea {
    display: grid;
    grid-template-columns: 560px 1fr;
  }

  .c-shop-info--title {
    border-top: 1px dashed #DDDCD8;
    padding: 30px 0 0;
  }

  .c-shop-info--img {
    margin: 0;
    width: 500px;
    height: auto;
  }

  .c-shop-info--img img {
    height: auto;
  }

  .c-shop-info--title {
    margin-bottom: 30px;
  }

  .c-shop-info-taglist {
    padding: 0;
  }
}

.c-shop-contents-header {
  margin: 33px 0 20px;
}

.c-shop--title {
  margin: 0 0 31px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.6rem;
  letter-spacing: 0.1em;
  line-height: 1.5;
  text-align: center;
}

.c-shop--title-h1 {
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.6rem;
  letter-spacing: 0.1em;
  line-height: 1.5;
  text-align: center;
}

.c-shop--title-text {
  margin: 0;
  font-size: 1.2rem;
  text-align: center;
}

.c-shop-gallery {
  width: 100%;
  overflow: hidden;
}

.c-shop-gallery img {
  width: 100%;
  object-fit: cover;
}

.c-gallery-dots {
  display: flex;
  justify-content: center;
  padding: 20px 0 0;
  gap: 8px;
}

.c-gallery-dots li {
  width: 6px;
  height: 6px;
  position: relative;
  cursor: pointer;
}

.c-gallery-dots li::after {
  content: '';
  display: block;
  width: 6px;
  height: 6px;
  background-color: #930B0B;
  border-radius: 100%;
  opacity: 0.5;
  position: absolute;
  top: 0;
  left: 0;
}

.c-gallery-dots li.slick-active::after {
  opacity: 1;
}

.c-gallery-dots li button {
  display: none;
}

.c-shop-section:nth-last-of-type(n+2) {
  margin: 0 0 80px;
}

.l-shop-info-noticearea {
  margin: 0 0 50px;
}

.c-shop-info-notice {
  max-width: calc(100% - 30px);
  margin: 0 auto;
  background-color: var(--color-white);
  padding: 20px 30px;
  border: var(--color-red) 1px solid;
}

.c-shop-notice--title {
  margin: 0 0 19px;
  color: var(--color-red);
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 1.8;
  text-align: center;
}

.c-shop-notice--txt p {
  font-size: 1.4rem;
  line-height: 1.7;
  margin-bottom: 20px;
}

.c-shop-notice--txt h2 {
  font-size: 1.8rem;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  margin: 0 0 20px 0;
  line-height: 1.7;
}

.c-shop-notice--txt h3 {
  font-size: 1.6rem;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  margin: 0 0 20px 0;
  line-height: 1.7;
}

.c-shop-notice--txt h4 {
  font-size: 1.4rem;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  margin: 0 0 20px 0;
  line-height: 1.7;
}

.c-shop-notice--txt a {
  color: var(--color-red);
  text-decoration: underline;
}

.c-shop-notice--txt img {
  width: auto !important;
  max-width: 100%;
}

.c-shop-info-notice-list {
  margin: 37px 0 30px;
}

.c-shop-info-notice-list li {
  padding: 0 0 0 17px;
  font-size: 1.2rem;
  line-height: 1.6;
  position: relative;
}

.c-shop-info-notice-list li::before {
  content: '※';
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
}

.c-shop-info-notice-list a {
  color: var(--color-red);
  text-decoration: underline;
}

.c-shop-map {
  margin: 0 0 20px;
}

.c-shop-map--link {
  display: grid;
  place-content: center;
  font-family: var(--font-marugo-m);
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1.3;
}

.c-shop-column:nth-last-child(n+2) {
  margin: 0 0 60px;
}

.c-shop-column--title {
  margin: 0 0 30px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 1.5;
  text-align: center;
}

.c-shop-column .l-single-imgarea img {
  width: 100%;
}

.c-shop-staff {
  margin: 0 0 150px;
  padding: 0 15px;
  background-color: var(--color-white);
  position: relative;
  transform: translateY(50px);
}

.c-shop-staff--img {
  width: 110px;
  height: 110px;
  margin: 0 auto -30px auto;
  position: relative;
  top: -50px;
}

.c-shop-staff--title {
  display: table;
  margin: 16px auto 16px;
  padding: 0 0 9px;
  border-bottom: 1px dashed #930B0B;
  color: #930B0B;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.4rem;
  letter-spacing: 0.1em;
  line-height: 1.8;
}

.c-shop-staff--name {
  margin: 0 0 25px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.2rem;
  line-height: 2;
  text-align: center;
}

.c-shop-staff-comment--title {
  margin: 0 0 23px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 1.5;
  text-align: center;
}

.c-staff-txt {
  padding: 0 0 28px;
}

.c-shop-backlink {
  display: grid;
  place-content: center;
}

@media (min-width: 768px) {
  .c-shop-contents-header {
    width: 1200px;
    margin: 60px auto;
  }

  .c-shop--title {
    width: 1200px;
    margin: 0 0 60px;
    padding: 0 0 55px;
    border-bottom: 1px solid #EBEBE8;
    font-family: var(--font-gothic-m);
    letter-spacing: var(--ls-gothic-m);
    font-weight: bold;
    font-size: 2.6rem;
  }

  .c-shop--title-h1 {
    font-family: var(--font-gothic-m);
    letter-spacing: var(--ls-gothic-m);
    font-weight: bold;
    font-size: 2.6rem;
  }

  .c-shop--title-text {
    font-size: 1.2rem;
  }

  .c-gallery-dots {
    padding: 31px 0 0;
  }

  .c-shop-section:nth-last-of-type(n+2) {
    margin-bottom: 120px;
  }

  .l-shop-info-noticearea {
    width: 1200px;
    margin: 0 auto 80px;
  }

  .c-shop-info-notice {
    background-color: var(--color-white);
    padding: 43px 100px;
  }

  .c-shop-notice--title {
    margin: 0 0 19px;
    font-size: 1.6rem;
  }

  .c-shop-notice--txt p {
    font-size: 1.5rem;
  }

  .l-shop-individual-infoarea {
    display: grid;
    grid-template-columns: 636px 1fr;
    gap: 70px;
  }

  .l-shop-individual-infoarea .c-shop-info-table {
    border-top-width: 0;
    padding-top: 0;
  }

  .l-shop-individual-infoarea .c-shop-info-table tr:first-of-type th,
  .l-shop-individual-infoarea .c-shop-info-table tr:first-of-type td {
    padding-top: 0;
  }

  .l-shop-maparea {
    order: -1;
  }

  .c-shop-info-notice-list {
    margin: 44px 0 0;
  }

  .c-shop-map {
    margin: 0 0 28px;
  }

  .c-shop-staff {
    margin-bottom: 120px;
    padding: 42px 45px 45px 0;
    transform: translateY(0);
  }

  .l-shop-staff-area {
    display: grid;
    grid-template-columns: 260px 1fr;
  }

  .c-shop-staff--img {
    top: 0;
    margin-bottom: 21px;
  }

  .c-shop-staff--name {
    margin-bottom: 20px;
    font-size: 1.4rem;
    line-height: 1;
    text-align: left;
  }

  .c-shop-staff-comment--title {
    margin-bottom: 20px;
    text-align: left;
  }

  .c-staff-txt {
    padding: 0;
  }
}

.c-shop-first-section {
  margin: 0 0 60px;
}

.l-shop-factoryarea {
  background-color: var(--color-white);
}

.c-shop-factoryarea-txt {
  padding: 30px 15px;
}

.c-shop-factoryarea-txt p {
  margin: 0 0 20px;
}

.c-shop-welcome--title {
  display: grid;
  place-content: center;
  padding: 0 0 20px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 2rem;
  line-height: 1.3;
}

.c-shop-factoryarea-txt .c-button a {
  white-space: nowrap;
}

.l-shop-access-txtarea {
  background-color: var(--color-white);
  padding: 15px;
}

.l-shop-access-otherarea {
  display: grid;
  gap: 40px;
}

.c-shop-access--title {
  margin: 0 0 20px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 1.5;
  text-align: left;
}

.c-shop-access--txt p {
  margin: 0 0 20px;
}

.l-shop-1col-2col {
  margin: 0 0 50px;
}

.l-shop-2col {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 49px;
}

.c-shop-visit {
  max-width: 1000px;
  margin: 0 auto;
  background-color: var(--color-white);
}

.c-shop-visit--img {
  display: flex;
  align-items: center;
  width: 100%;
  margin: 0;
}

.l-shop-visit-txtarea {
  padding: 30px 15px 36px;
}

.c-shop-visit--link {
  display: grid;
  place-content: center;
  margin: 30px 0;
}

.c-shop-visit-contact {
  margin: 30px 0 0;
  padding: 30px 15px;
  border: 1px solid #DEDEDE;
  text-align: center;
}

.c-shop-visit-contact--title {
  margin: 0 0 15px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 1.7;
}

.c-shop-visit-contact--txt,
.c-shop-visit-contact--txt a {
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 2;
}

.c-shop-visit-contact--txt a {
  display: inline;
}

.l-shop-nara-guidemaparea {
  display: grid;
  gap: 100px;
}

.c-shop-nara-guidemap {
  padding: 0 30px;
}

.c-shop-nara-guidemap--title {
  margin: 0 0 40px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 1.5;
  text-align: center;
}

@media (min-width: 768px) {
  .c-shop-first-section {
    margin-bottom: 120px;
  }

  .l-shop-factoryarea {
    display: grid;
    width: 1000px;
    grid-template-columns: repeat(2, 1fr);
    margin: 0 auto;
  }

  .c-shop-factoryarea-img img {
    height: 100%;
    object-fit: cover;
  }

  .c-shop-factoryarea-txt {
    padding: 37px 30px;
  }

  .c-shop-welcome--title {
    margin-bottom: 20px;
  }

  .l-shop-access-singlearea {
    width: 696px;
    margin: 0 auto;
  }

  .l-shop-access-txtarea {
    padding: 20px;
  }

  .l-shop-access-otherarea {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 28px;
  }

  .c-shop-access--title {
    margin: 0 0 20px;
    font-family: var(--font-gothic-m);
    letter-spacing: var(--ls-gothic-m);
    font-weight: bold;
    font-size: 1.6rem;
    letter-spacing: 0.05em;
    line-height: 1.5;
    text-align: center;
  }

  .c-shop-access--img img {
    max-width: 700px;
  }

  .l-shop-1col-2col {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 49px;
  }

  .c-shop-visit {
    background-color: var(--color-white);
  }

  .c-shop-visit--img {
    width: 100%;
    margin: 0;
  }

  .l-shop-visit-txtarea {
    padding: 30px 15px 36px;
  }

  .l-shop-visit-txtarea .c-txt {
    text-align: center;
  }

  .c-shop-visit--link {
    display: grid;
    place-content: center;
    margin: 30px 0;
  }

  .c-shop-visit-contact {
    margin: 30px 0 0;
    padding: 30px 15px;
    border: 1px solid #DEDEDE;
    text-align: center;
  }

  .c-shop-visit-contact--title {
    margin: 0 0 15px;
    font-family: var(--font-gothic-m);
    letter-spacing: var(--ls-gothic-m);
    font-weight: bold;
    font-size: 1.4rem;
    letter-spacing: 0.05em;
    line-height: 1.7;
  }

  .c-shop-visit-contact--txt,
  .c-shop-visit-contact--txt a {
    font-family: var(--font-gothic-m);
    letter-spacing: var(--ls-gothic-m);
    font-weight: bold;
    font-size: 1.4rem;
    letter-spacing: 0.05em;
    line-height: 2;
  }

  .c-shop-visit-contact--txt a {
    display: inline;
  }

  .l-shop-nara-guidemaparea {
    display: grid;
    grid-template-columns: 1fr;
    gap: 100px;
  }

  .c-shop-nara-guidemap {
    padding: 0 30px;
  }

  .c-shop-nara-guidemap--title {
    margin: 0 0 40px;
    font-family: var(--font-gothic-m);
    letter-spacing: var(--ls-gothic-m);
    font-weight: bold;
    font-size: 1.6rem;
    letter-spacing: 0.05em;
    line-height: 1.5;
    text-align: center;
  }

  .c-shop-nara-guidemap img {
    max-width: 840px;
    width: auto;
    object-fit: initial;
    margin: 0 auto;
  }
}

.c-shop-factory-header {
  display: grid;
  margin: 0 0 25px;
  background-color: var(--color-white);
}

.l-shop-factory-header-titlearea {
  padding: 46px 20px;
  text-align: center;
}

.c-shop-factory-header-title {
  margin: 0 0 22px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 2.2rem;
  letter-spacing: 0.1em;
  line-height: 1.1;
}

.c-shop-factory-title-subtxt {
  color: #A0A0A0;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 1.7;
}

.c-shop-factory-intro {
  margin: 0 0 30px;
}

.c-shop-factory-section:nth-last-of-type(n+2) {
  margin: 0 0 96px;
}

.l-shop-factory-2col {
  display: grid;
  gap: 30px;
}

.l-shop-factory-3col {
  display: grid;
  gap: 30px;
}

.c-shop-factory-column--img {
  margin: 0 0 30px;
}

.l-shop-calender {
  display: grid;
  gap: 40px;
}

.c-shop-factory-column--title {
  margin: 0 0 30px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 1.8;
  text-align: center;
}

.c-shop-factory-info {
  margin: 30px 0 0;
  background-color: #F5F5F2;
  border: 1px solid #DDDCD8;
  border-radius: 6px;
  padding: 30px 15px 10px;
}

.c-shop-factory-info-table th {
  width: 90px;
  padding: 0 0 20px 0;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 1.7;
  text-align: left;
  vertical-align: top;
}

.c-shop-factory-info-table td {
  padding: 0 0 20px 16px;
  font-size: 1.4rem;
  line-height: 1.7;
  vertical-align: top;
}

.c-shop-factory-section--title {
  margin: 0 0 30px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 2rem;
  line-height: 1.5;
  text-align: center;
}

.l-shop-factory-coursearea {
  display: flex;
  justify-content: center;
}

.c-shop-factory-course {
  background-color: #F5F5F2;
  border: 1px solid #DDDCD8;
  border-radius: 6px;
  padding: 25px 20px;
  position: relative;
}

.c-shop-factory-course--icon {
  background-color: rgba(255, 255, 255, 0.6);
  border: 1px solid #DDDCD8;
  border-radius: 6px;
  padding: 5px 10px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.2rem;
  line-height: 2;
  position: absolute;
  top: -12px;
  left: 12px;
}

.c-shop-factory-course-header {
  margin: 0 0 25px;
  padding: 0 0 24px;
  border-bottom: 1px solid #DEDEDE;
}

.c-shop-factory-course--title {
  margin: 0 0 20px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 1.5;
  text-align: center;
}

.c-shop-factory-course-timelist {
  display: flex;
  justify-content: center;
  gap: 20px;
}

.c-shop-factory-course-timelist li {
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 1.7;
}

.l-shop-factory-highlightsarea {
  display: grid;
  gap: 60px;
}

.c-shop-factory-highlights--title {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  margin: 0 0 48px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 2rem;
  line-height: 1;
}

.c-shop-factory-highlights--title .c-img {
  width: 26px;
  height: 26px;
}

.c-shop-factory-highlights-intro {
  margin: 0 0 30;
}

.l-shop-factory-highlights-imgarea {
  position: relative;
  margin: 0 0 30px;
}

.c-shop-factory-highlights--img {
  width: 100%;
}

.c-shop-factory-highlights-imgtxt {
  writing-mode: vertical-rl;
  position: absolute;
  top: -15px;
  right: 15px;
}

.c-shop-factory-highlights-imgtxt .u-txt {
  display: table;
  padding: 4px;
  margin: 0 0 0 5px;
  background-color: var(--color-white);
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.8rem;
  letter-spacing: 0.2em;
  line-height: 1.2;
}

.l-shop-factory-highlights-inner {
  margin: 0 30px;
}

.c-shop-factory-highlights-intro-txt {
  margin: 0 0 51px;
  padding: 0 15px;
}

.c-shop-factory-highlights-list li {
  position: relative;
  padding: 0 0 40px;
}

.c-shop-factory-highlights-list--title {
  display: table;
  padding: 11px 38px;
  background-color: var(--color-white);
  border: 1px solid #DEDEDE;
  border-radius: 18px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.4rem;
  position: absolute;
  top: -17px;
  left: -15px;
  z-index: 10;
}

.c-shop-factory-highlights-list--img {
  margin: 0 0 15px;
}

.c-shop-factory-safety-list {
  display: flex;
  justify-content: center;
  gap: 25px;
}

.c-shop-factory-safety-list--img {
  width: 80px;
  height: auto;
  margin: 0 0 11px;
}

.c-shop-factory-safety-list--txt {
  font-size: 1.2rem;
  line-height: 1.5;
}

.c-shop-factory-afterword--img {
  margin: 0 0 29px;
}

@media (min-width: 768px) {
  .c-shop-factory-header {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    width: 1200px;
    margin: 60px auto;
  }

  .l-shop-factory-header-titlearea {
    display: grid;
    place-content: center;
    padding: 46px 42px;
  }

  .c-shop-factory-header-title {
    margin-bottom: 39px;
    font-size: 3.2rem;
  }

  .c-shop-factory-title-subtxt {
    font-size: 2.1rem;
  }

  .c-shop-factory-intro {
    margin-bottom: 60px;
  }

  .c-shop-factory-intro .c-txt {
    font-size: 1.8;
  }

  .l-shop-factory-2col {
    width: 1000px;
    margin: 0 auto;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
  }

  .l-shop-factory-3col {
    width: 1000px;
    margin: 0 auto;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
  }

  .c-shop-factory-column--img {
    margin: 0 0 30px;
  }

  .c-shop-factory-info {
    display: grid;
    grid-template-columns: 367px auto;
    width: 880px;
    margin: 60px auto 0;
    padding: 40px 0;
  }

  .c-shop-factory-column--title {
    display: grid;
    place-content: center;
  }

  .c-shop-factory-info-table th {
    font-size: 1.5rem;
  }

  .c-shop-factory-info-table td {
    font-size: 1.5rem;
  }

  .c-shop-factory-section--title {
    margin-bottom: 40px;
    font-size: 2.4rem;
  }

  .l-shop-factory-coursearea {
    text-align: center;
  }

  .l-shop-factory-highlightsarea {
    gap: 80px;
    width: 1200px;
    padding: 0 160px;
    margin: 0 auto;
  }

  .c-shop-factory-highlights-intro {
    margin-bottom: 58px;
  }

  .c-shop-factory-highlights-imgtxt .u-txt {
    font-size: 2rem;
  }

  .l-shop-factory-highlights-inner {
    margin: 0 30px;
  }

  .c-shop-factory-highlights-intro-txt {
    margin: 0 0 54px;
  }

  .c-shop-factory-highlights-intro-txt.c-txt p {
    text-align: center;
  }

  .c-shop-factory-highlights-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 54px 65px;
  }

  .c-shop-factory-highlights-list li {
    width: 377px;
    padding: 0;
  }

  .c-shop-factory-highlights-list--title {
    background-color: #DDD8CC;
    border-width: 0;
  }

  .c-shop-factory-highlights-list--img {
    margin: 0 0 15px;
  }

  .c-shop-factory-safety-list {
    display: flex;
    justify-content: center;
    gap: 25px;
  }

  .c-shop-factory-safety-list li {
    display: flex;
    align-items: center;
  }

  .c-shop-factory-safety-list--img {
    width: 80px;
    height: auto;
    margin: 0 17px 11px;
  }

  .c-shop-factory-safety-list--txt {
    font-size: 1.5rem;
    white-space: nowrap;
  }

  .c-shop-factory-afterword {
    width: 1200px;
    padding: 0 160px;
    margin: 0 auto;
  }

  .c-shop-factory-afterword--img {
    margin: 0 0 29px;
  }
}

/* FAQ
=====================================================================*/
.c-faq-search {
  margin: 0 0 100px;
}

.c-faq-search-input {
  position: relative;
}

.c-faq-search-input::after {
  content: '';
  display: block;
  background-image: url(../img/common/ico-search.svg);
  width: 17px;
  height: 17px;
  object-fit: contain;
  position: absolute;
  right: 14px;
  top: 13px;
  pointer-events: none;
}

.c-faq-search-input input[type=text] {
  display: grid;
  align-items: center;
  width: 100%;
  height: 44px;
  padding: 0 45px 0 14px;
  border: none;
  border-radius: 6px;
  background-color: var(--color-white);
  font-family: var(--font-gothic-l);
  font-size: 1.2rem;
}

.c-faq-search-input input[type=text]::placeholder {
  font-family: var(--font-gothic-l);
  font-size: 1.2rem;
  line-height: 2;
}

.c-faq-search-input--button {
  position: absolute;
  width: 45px;
  height: 44px;
  position: absolute;
  right: 0;
  top: 0;
  opacity: 0;
}

.c-faq-search-button {
  margin: 30px 0 35px;
  border: none;
}

.c-faq-sectiton:nth-last-child(n+2) {
  margin: 0 0 110px;
}

.faq-result__item {
  position: relative;
}

.c-faq-question-list li a,
.faq-result__item a {
  display: block;
  padding: 31px 0 25px 27px;
  border-bottom: 1px dashed #DDDCD8;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 1.8;
}

.c-faq-search-linklist {
  display: flex;
  justify-content: center;
  gap: 36px;
}

.c-faq-search-linklist a {
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.2rem;
}

.c-faq-question,
.c-faq-answer {
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 1.8;
  position: relative;
}

.c-faq-question::before,
.c-faq-answer::before,
.faq-result__item a::before {
  content: '';
  display: block;
  width: 22px;
  height: 22px;
  background-color: var(--color-white);
  border-radius: 100%;
  position: absolute;
  left: 0;
  top: calc(50% - 9px);
}

.c-faq-question::after,
.c-faq-answer::after,
.faq-result__item a::after {
  content: 'Q';
  display: block;
  color: var(--color-red);
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.1rem;
  line-height: 1;
  position: absolute;
  top: calc(50% - 4px);
  left: 7px;
}

.c-faq-question::after,
.faq-result__item a::after {
  content: 'Q';
  color: var(--color-red);
}

.c-faq-answer::after {
  content: 'A';
  color: #3C86BB;
}

.faq-box-question,
.faq-box-answer {
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 1.8;
  position: relative;
}

.faq-box-question {
  position: relative;
  padding: 0 0 0 36px;
  margin: 0 0 20px 0;
  font-size: 1.4rem;
}

.faq-box-answer {
  position: relative;
  padding: 0 0 0 36px;
  font-size: 1.4rem;
}

.faq-box-question::before,
.faq-box-answer::before {
  content: '';
  display: block;
  width: 26px;
  height: 26px;
  background-color: var(--color-white);
  border-radius: 100%;
  position: absolute;
  left: 0;
  top: 0;
}

.faq-box-question::after,
.faq-box-answer::after {
  content: 'Q';
  display: block;
  color: var(--color-red);
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.1rem;
  line-height: 1;
  position: absolute;
  top: 6px;
  left: 9px;
}

.faq-box-question::after {
  content: 'Q';
  color: var(--color-red);
}

.faq-box-answer::after {
  content: 'A';
  color: #3C86BB;
}

.faq-box-answer a {
  text-decoration: underline;
}

.faq-box-answer a:hover {
  text-decoration: none;
}

.c-faq-category-parent {
  padding: 22px 0;
  border-bottom: 1px solid #DDDCD8;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 1.8;
  position: relative;
  cursor: pointer;
}

.c-faq-category-parent.top-faq-question {
  padding-left: 45px;
  padding-right: 30px;
  line-height: 1.4;
}

.c-faq-category-parent.top-faq-question::before {
  content: 'Q';
  display: block;
  width: 26px;
  height: 26px;
  line-height: 26px;
  color: var(--color-red);
  text-align: center;
  background-color: var(--color-white);
  border-radius: 100%;
  position: absolute;
  left: 0;
  top: calc(50% - 13px);
}

.c-faq-category-parent::after {
  content: '';
  display: block;
  width: 13px;
  height: 13px;
  background-image: url(../img/common/ico-pulldown-open.svg);
  position: absolute;
  right: 15px;
  top: calc(50% - 6.5px);
}

.c-faq-category-parent.is-active::after {
  background-image: url(../img/common/ico-pulldown-close.svg);
}

.c-faq-category-childs {
  display: none;
}

.l-faq-formarea {
  background-color: var(--color-white);
  padding: 0 15px;
  margin: 30px 0 0;
}

.l-faq-inquiry-titlearea {
  display: grid;
  place-content: center;
  padding: 30px 0;
  cursor: pointer;
}

.c-faq-inquiry--title {
  display: inline-flex;
  align-items: center;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 1.5;
  position: relative;
}

.c-faq-inquiry--title::after {
  content: '';
  display: block;
  width: 13px;
  height: 13px;
  background-image: url(../img/common/ico-pulldown-open.svg);
  margin: 0 0 0 11px;
}

.is-active .c-faq-inquiry--title::after {
  background-image: url(../img/common/ico-pulldown-close.svg);
}

.l-faq-inquiry-mainarea {
  display: none;
  padding: 0 0 30px;
}

.c-faq-inquiry-notice-list {
  padding: 0 0 30px;
}

.c-faq-inquiry-notice-list li {
  font-family: var(--font-marugo-r);
  font-weight: 400;
  font-size: 1.4rem;
  margin: 0 0 20px
}

.faq-box-answer.top-faq-answer {
  padding: 0 0 0 45px;
  margin: 30px 0;
}

.faq-box-answer.top-faq-answer::after {
  font-size: 1.5rem;
}

.faq-box-answer.top-faq-answer p {
  margin-bottom: 12px;
}

@media (min-width: 768px) {
  .c-faq-contents-header .c-shop--title {
    width: 1200px;
    padding: 0 100px 55px;
    text-align: left;
  }

  .c-faq-search-input {
    width: 760px;
    margin: 0 auto;
  }

  .c-faq-search-input input[type=text] {
    font-size: 1.4rem;
  }

  .c-faq-search-input input[type=text]::placeholder {
    font-size: 1.4rem;
  }

  .c-faq-sectiton:nth-last-child(n+2) {
    margin-bottom: 120px;
  }

  .c-faq-question-list li a,
  .faq-result__item a {
    padding: 26px 0 20px 45px;
    font-size: 1.5rem;
  }

  .c-faq-search-linklist {
    gap: 84px;
  }

  .c-faq-search-linklist a {
    font-size: 1.4rem;
  }

  .c-faq-question {
    font-size: 1.5rem;
  }

  .c-faq-category-parent {
    padding: 25px 0;
    font-size: 1.5rem;
  }

  .l-faq-formarea {
    width: 1000px;
    margin: 40px auto 0;
  }

  .l-faq-inquiry-mainarea {
    padding: 0 40px 50px;
  }

  .c-faq-inquiry-notice-list {
    padding-bottom: 50px;
  }

  .faq-box-question {
    font-size: 1.5rem;
  }

  .faq-box-answer {
    font-size: 1.5rem;
  }
}

/* Support
=====================================================================*/
.l-support-select-area {
  margin: 100px 0 0;
}

.l-support-select-area.first {
  margin: 0 0 100px;
}

.c-support-select--title {
  margin: 0 0 24px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 1.7;
  text-align: center;
}

.c-support-tablist {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}

.c-support-tab {
  display: block;
  border-radius: 6px;
  background-color: var(--color-white);
  height: 44px;
}

.c-support-tab p {
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.2rem;
  line-height: 1.3;
}

.c-support-tab.is-tab-active p {
  opacity: 0.5;
}

.c-support-contents-header--img {
  margin: 0 auto 30px auto;
}

@media (min-width: 768px) {
  .c-support-contents-header--img {
    max-width: 1000px;
    margin: 50px auto;
  }

  .c-support-contents-header--img img {
    border-radius: 6px;
    overflow: hidden;
  }

  .l-support-select-area {
    margin: 120px 0 0;
  }

  .l-support-select-area.first {
    margin: 0 0 120px;
  }

  .c-support-select--title {
    font-size: 2rem;
  }

  .c-support-tablist {
    grid-template-columns: repeat(5, 1fr);
  }

  .c-support-tab {
    height: 54px;
  }

  .c-support-tab p {
    font-size: 1.4rem;
  }
}

.c-support-sectiton:nth-last-child(n+2) {
  margin: 0 0 100px;
}

.l-support-6yeararea {
  display: grid;
  grid-template-columns: 130px auto;
  grid-template-rows: 130px auto;
  gap: 30px 23px;
}

.c-support-6year--img {
  grid-area: 1 / 1 / 2 / 2;
  width: 130px;
  height: 130px;
}

.c-support-6year--title {
  grid-area: 1 / 2 / 2 / 3;
  display: grid;
  place-content: center;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.6rem;
  text-align: center;
}

.c-support-6year--txt {
  grid-area: 2 / 1 / 3 / 3;
  display: grid;
  gap: 20px;
  margin: 0 0 30px;
}

.c-support-notice {
  background-color: var(--color-white);
  padding: 25px;
  margin: 0 0 63px;
}

.c-support-notice a {
  display: inline-block;
  color: var(--color-red);
}

.c-support-notice--title {
  margin: 0 0 15px;
  font-weight: bold;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
}

.c-support-link {
  display: grid;
  place-content: center;
}

.l-support-steparea {
  display: grid;
  gap: 40px;
  margin: 0 0 50px;
}

.l-support-step-titlearea {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin: 0 0 20px;
}

.c-support-step-txt {
  background-color: var(--color-white);
  display: grid;
  place-content: center;
  text-align: center;
}

.c-support-step--number {
  margin: 0 0 9px;
  color: var(--color-red);
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1rem;
  text-align: center;
}

.c-support-step--title {
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.4rem;
  text-align: center;
  line-height: 1.3;
}

.c-support-txt {
  display: grid;
  gap: 20px;
}

.c-support-step-notice--img {
  margin: 0 0 30px;
}

.c-support-step-notice--title {
  margin: 0 0 30px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.6rem;
  text-align: center;
}

.l-support-contactarea {
  display: flex;
  justify-content: center;
  gap: 17px;
  margin: 0 0 30px;
}

.c-support-contact--txt {
  margin: 0 0 30px;
}

.c-support-contact--title {
  margin: 0 0 15px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.4rem;
  text-align: center;
}

.c-support-contact--button {
  margin: 0;
}

.c-support-contact--button a {
  height: 50px;
  padding: 0 15px;
  border: none;
  border-radius: 23px;
  color: var(--color-red);
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.3rem;
  line-height: 1.5;
  white-space: nowrap;
}

.c-support-link--txt p {
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 1.5;
  text-align: center;
}

.c-support-link--button a {
  width: auto;
  color: var(--color-red);
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.4rem;
  border-radius: 13px;
  border: var(--color-red) 1px solid;
  border-radius: 999px;
}

@media (min-width: 768px) {
  .c-support-sectiton:nth-last-child(n+2) {
    margin: 0 0 120px;
  }

  .l-support-6yeararea {
    display: grid;
    grid-template-columns: auto 180px;
    grid-template-rows: 50px auto;
    gap: 0 40px;
  }

  .c-support-6year--img {
    grid-area: 1 / 2 / 3 / 3;
    width: 179px;
    height: 179px;
  }

  .c-support-6year--title {
    grid-area: 1 / 1 / 2 / 2;
    display: block;
    font-size: 1.8rem;
    text-align: left;
  }

  .c-support-6year--txt {
    grid-area: 2 / 1 / 3 / 2;
  }

  .c-support-6year--txt p {
    font-size: 1.6rem;
  }

  .c-support-6year--txt .u-small {
    font-size: 1.4rem;
  }

  .c-support-notice {
    padding: 30px;
    margin: 0 0 45px;
  }

  .c-support-notice--title {
    font-size: 1.6rem;
    margin: 0 0 15px;
  }

  .c-support-link {
    display: grid;
    place-content: center;
  }

  .l-support-steparea {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
    margin: 0 0 60px;
  }

  .l-support-step-titlearea {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    margin: 0 0 30px;
  }

  .c-support-step--number {
    margin: 0 0 13px;
    font-size: 1.2rem;
  }

  .c-support-step--title {
    font-size: 1.6rem;
  }

  .c-support-txt .u-small {
    font-size: 1.4rem;
  }

  .l-support-step-noticearea {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 45px;
  }

  .c-support-step-notice--img {
    margin: 0 0 30px;
  }

  .c-support-step-notice--title {
    font-size: 1.4rem;
    margin-bottom: 20px;
    text-align: left;
  }

  .l-support-contactarea {
    display: flex;
    justify-content: center;
    gap: 130px;
    margin-bottom: 37px;
  }

  .c-support-contact--title {
    margin-bottom: 20px;
    font-size: 1.5rem;
  }

  .c-support-contact--button a {
    width: auto;
    height: auto;
    padding: 15px 40px;
    border-radius: 999px;
    font-size: 1.6rem;
  }

  .c-support-link--txt p {
    font-size: 1.5rem;
  }

  .c-support-link--button {
    margin-top: 20px;
  }

  .c-support-link--button a {
    width: auto;
    font-size: 1.5rem;
    letter-spacing: 0.05em;
    border-radius: 999px;
  }
}

.l-support-2-1area {
  display: grid;
  gap: 32px;
}

.c-support-2-1--title {
  margin: 0 0 32px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 1.6;
}

.l-support-storagearea {
  display: grid;
  gap: 40px;
}

.l-support-strage-titlearea {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin: 0 0 20px;
}

.l-support-storage-txtarea {
  order: -1;
  display: grid;
  place-content: center;
  background-color: var(--color-white);
}

.l-support-storagearea2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin: 0 0 25px;
}

@media (min-width: 768px) {
  .l-support-2-1area {
    grid-template-columns: 586px auto;
    gap: 35px;
  }

  .c-support-2-1--title {
    margin: 0 0 42px;
    font-family: var(--font-gothic-m);
    letter-spacing: var(--ls-gothic-m);
    font-weight: bold;
    font-size: 1.6rem;
    letter-spacing: 0.05em;
    line-height: 1.6;
  }

  .l-support-storagearea {
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin: 0 0 50px;
  }

  .l-support-strage-titlearea {
    display: block;
    margin: 0 0 30px;
  }

  .l-support-storage-txtarea {
    height: 86px;
  }

  .l-support-storagearea2 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    margin: 0 0 41px;
  }

  .c-support-storage2--txt {
    text-align: center;
  }

  .c-support-storage2--txt .u-notice {
    display: table;
    margin: 0 auto;
  }
}

.l-support-3-1-1area {
  margin: 0 0 30px;
}

.c-support-3-1-1--img {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: 60% 40%;
  margin: 0 0 15px;
}

.c-support-3-1-1--img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.c-support-3-1-1--img img:nth-of-type(1) {
  grid-area: 1 / 1 / 2 / 3;
}

.c-support-3-1-1--img img:nth-of-type(2) {
  grid-area: 2 / 1 / 3 / 2;
}

.c-support-3-1-1--img img:nth-of-type(3) {
  grid-area: 2 / 2 / 3 / 3;
}

.c-support-3-1--txt p {
  display: flex;
  gap: 8px;
  font-size: 1.4rem;
  line-height: 1.7;
}

.c-support-3-1--txt .u-number,
.c-support-3-1--txt .u-txt {
  display: block;
}

.l-support-3-1-2area {
  display: grid;
  gap: 30px;
}

.c-support-3-1-2 {
  display: grid;
  gap: 15px;
}

.l-support-3-2area {
  display: grid;
  gap: 24px;
  margin: 0 0 24px;
}

.c-support-3-2 {
  display: grid;
  gap: 20px;
}

.l-support-3-3area {
  display: grid;
  gap: 40px;
}

.c-support-3-3--title {
  margin: 0 0 15px;
  font-size: 1.4rem;
  line-height: 1.7;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
}

.c-support-3-3--txt:nth-last-of-type(n+2) {
  margin: 0 0 31px;
}

@media (min-width: 768px) {
  .l-support-3-1-1area {
    margin: 0 0 41px;
  }

  .c-support-3-1-1--img {
    display: flex;
    margin: 0 0 20px;
  }

  .c-support-3-1-1--img img {
    width: 33.333% !important;
  }

  .c-support-3-1--txt p {
    font-size: 1.5rem;
  }

  .l-support-3-1-2area {
    grid-template-columns: repeat(3, 1fr);
    gap: 29px;
  }

  .c-support-3-1-2 {
    gap: 15px;
    align-content: start;
  }

  .l-support-3-2area {
    grid-template-columns: repeat(2, 1fr);
    gap: 38px;
    margin: 0 0 38px;
  }

  .c-support-3-2 {
    gap: 30px;
  }

  .l-support-3-3area {
    grid-template-columns: 500px auto;
    gap: 30px;
  }

  .c-support-3-3--title {
    font-size: 1.5rem;
  }

  .c-support-3-3--txt:nth-last-of-type(n+2) {
    margin: 0 0 24px;
  }
}

.l-support-4area {
  display: grid;
  gap: 20px;
}

.c-support-4-postscript {
  margin: 52px 0 0;
  border: 3px solid #DEDEDE;
  padding: 25px;
}

@media (min-width: 768px) {
  .l-support-4area {
    grid-template-columns: 560px auto;
    gap: 33px;
  }

  .c-support-4-postscript {
    margin: 76px 0 0;
  }
}

.c-support-5intro {
  margin: 0 0 100px;
}

.c-support-5intro--title {
  margin: 0 0 41px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 1.5;
  text-align: center;
}

.l-support-5-1area,
.l-support-5-2area {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 50px 22px;
}

.c-support-download {
  display: grid;
  align-items: space-evenly;
}

.c-support-download--img {
  margin: 0 0 15px;
}

.c-support-download--txt {
  margin: 0 0 15px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 1.3;
  text-align: center;
}

.c-download--button a {
  display: grid;
  place-content: center;
  height: 26px;
  background-color: var(--color-white);
  border-radius: 13px;
}

.c-download--button .c-txtlink-other {
  font-size: 1.2rem;
}

@media (min-width: 768px) {
  .c-support-5intro {
    margin: 0 0 120px;
  }

  .c-support-5intro--title {
    margin: 0 0 50px;
  }

  .l-support-5-1area {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 50px 32px;
  }

  .c-support-download {
    width: 225px;
  }

  .l-support-5-2area {
    grid-template-columns: repeat(3, 1fr);
    margin: 0 auto;
    width: 740px;
    gap: 50px 32px;
  }

  .c-support-download--img {
    margin: 0 0 21px;
  }
}

/* Story
=====================================================================*/
.c-story-section:nth-last-child(n+2) {
  margin: 0 0 40px;
}

.c-story--img {
  margin: 0 0 40px;
}

.c-story-column--img {
  margin: 40px 0;
}

.c-story-backlink {
  margin-top: 80px;
}

.c-story-backlink a {
  font-size: 1.2rem;
}

@media (min-width: 768px) {
  .c-story-section:nth-last-child(n+2) {
    margin: 0 0 60px;
  }

  .c-story--img {
    margin: 0 0 60px;
  }

  .c-story-backlink a {
    font-size: 1.4rem;
  }

  .c-story-column--img {
    margin: 60px 0 40px;
  }
}

.l-historyarea {
  display: grid;
  gap: 30px;
  position: relative;
  padding: 0 0 0 25px;
  margin: 0 0 60px;
}

.l-historyarea::before {
  content: '';
  display: block;
  width: 2px;
  height: 100%;
  background-image: linear-gradient(to bottom, #DEDEDE, #DEDEDE 4px, transparent 4px, transparent 4px);
  background-size: 10px 10px;
  background-position: left top;
  background-repeat: repeat-Y;
  position: absolute;
  top: 0;
  left: 5px;
}

.c-history {
  position: relative;
}

.c-history:first-of-type::before,
.c-history:last-of-type::before {
  content: '';
  display: block;
  width: 10px;
  height: 50%;
  background-color: var(--color-beige1);
  position: absolute;
  left: -24px;
}

.c-history:first-of-type::before {
  top: 0;
}

.c-history:last-of-type::before {
  bottom: 0;
}

.c-history::after {
  content: '';
  display: block;
  width: 10px;
  height: 10px;
  background-color: var(--color-red);
  border-radius: 100%;
  position: absolute;
  top: calc(50% - 5px);
  left: -24px;
}

.c-hisory-inner {
  height: auto;
  border-radius: 6px;
  overflow: hidden;
}

.c-history--img img {
  width: 100%;
  height: 220px;
  object-fit: cover;
}

.l-history-txtarea {
  background-color: var(--color-white);
  padding: 30px 20px;
}

.c-history--year {
  margin: 0 0 19px;
  color: var(--color-red);
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 1.7;
}

.c-history--title {
  margin: 0 0 20px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 1.5;
}

.c-history--txt {
  display: grid;
  gap: 20px;
}

.c-history--txt p {
  font-size: 1.4rem;
  line-height: 1.7;
}

.c-history-postscript--txt {
  margin: 0 0 60px;
}

.c-history-postscript--txt p {
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 1.5;
  text-align: center;
}

.c-history-award-table {
  width: 100%;
  margin: 20px 0 0;
}

.c-history-award-table th {
  width: 67px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.7;
  text-align: left;
}

.c-history-award-table td {
  font-size: 1.2rem;
  line-height: 1.7;
}

.c-history-award-table td:first-of-type {
  width: auto;
}

.c-history-award-table td:last-of-type {
  width: 38px;
}

@media (min-width: 768px) {
  .l-historyarea {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 0 40px;
    position: relative;
    padding: 0;
    margin-bottom: 80px;
  }

  .l-historyarea::before {
    left: calc(50% - 1px);
  }

  .c-history:first-of-type::before {
    content: none;
  }

  .c-history:last-of-type::before {
    left: auto;
    right: -25px;
  }

  .c-history:nth-of-type(odd)::after {
    left: auto;
    right: -25px;
  }

  .c-history:nth-of-type(even)::after {
    left: -25px;
  }

  .c-history:first-of-type::after {
    top: 0;
  }

  .c-history {
    display: block;
    width: 580px;
    position: relative;
  }

  .c-history:nth-of-type(2) {
    top: 220px;
  }

  .c-history:nth-of-type(2)::after {
    top: 79px;
  }

  .c-history:nth-of-type(3) {
    margin-top: 140px;
  }

  .c-history:nth-of-type(4) {
    top: 527px;
  }

  .c-history:nth-of-type(4)::after {
    top: 128px;
  }

  .c-history:nth-of-type(5) {
    margin-top: 209px;
  }

  .c-history:nth-of-type(6) {
    top: 350px;
  }

  .c-history:nth-of-type(6)::after {
    top: 163px;
  }

  .c-history:nth-of-type(7) {
    margin-top: 173px;
  }

  .c-history:nth-of-type(8) {
    top: 512px;
  }

  .c-history:nth-of-type(8)::after {
    top: 254px;
  }

  .c-history:nth-of-type(9) {
    margin-top: 138px;
  }

  .c-history:nth-of-type(10) {
    top: 590px;
  }

  .c-history:nth-of-type(10)::after {
    top: 103px;
  }

  .c-history:nth-of-type(11) {
    margin-top: 140px;
  }

  .c-history:nth-of-type(12) {
    top: 380px;
  }

  .c-history:nth-of-type(12)::after {
    top: 155px;
  }

  .c-history:nth-of-type(13) {
    margin-top: 140px;
  }

  .c-history:nth-of-type(14) {
    top: 516px;
  }

  .c-history:nth-of-type(14)::after {
    top: 131px;
  }

  .c-history:nth-of-type(15) {
    margin-top: 140px;
  }

  .c-hisory-inner {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }

  .c-history-single-inner {
    display: block;
  }

  .c-history--img {
    width: 100%;
    border-radius: 6px 6px 0 0;
    overflow: hidden;
  }

  .c-history:nth-of-type(even) .c-history--img {
    order: 2;
  }

  .c-history--img img {
    height: 100%;
  }

  .l-history-txtarea {
    height: auto;
  }

  .c-history--title .u-small {
    font-size: 1.3rem;
  }

  .l-history-award-txtarea {
    display: grid;
    grid-template-columns: 223px auto;
    gap: 25px;
  }

  .c-history-award-table {
    width: 100%;
    margin: 20px 0 0;
  }

  .c-history-award-table th {
    width: 67px;
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 1.7;
    text-align: left;
  }

  .c-history-award-table td {
    font-size: 1.2rem;
    line-height: 1.7;
  }

  .c-history-award-table td:first-of-type {
    width: auto;
  }

  .c-history-award-table td:last-of-type {
    width: 38px;
  }

  .c-history-postscript--txt {
    margin: 0 0 80px;
  }

  .c-history-postscript--txt p {
    font-size: 2.2rem;
  }
}

/* shop template */
.l-section-sssmall-inner {
  width: 100%;
  padding: 0 15px;
  position: relative;
}

.c-shop-plan-list {
  display: grid;
  gap: 32px;
  margin: 52px 0 80px;
}

.c-shop-plan-list>li {
  padding: 27px 5px 23px 15px;
  background-color: #F5F5F2;
  border: 1px solid #DDDCD8;
  border-radius: 6px;
  position: relative;
}

.c-shop-plan-taglist {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  align-items: center;
  position: absolute;
  top: -12px;
}

.c-shop-plan-taglist li {
  display: grid;
  place-content: center;
  height: 24px;
  padding: 0 6px;
  background-color: var(--color-white);
  border: 1px solid #DDDCD8;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.0rem;
  letter-spacing: 0.05em;
  line-height: 2;
}

.c-shop-plan-list--title {
  padding-left: 21px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.4rem;
  letter-spacing: 0.05em;
  line-height: 1.4;
  position: relative;
}

.c-shop-plan-list--title::before {
  content: '';
  display: block;
  width: 11px;
  height: 11px;
  background-image: url(../img/common/ico-arrow-red.svg);
  background-size: contain;
  transform: rotate(90deg);
  position: absolute;
  top: 5px;
  left: 0;
}

.c-shop-plan-header {
  margin: 0 0 30px;
  position: relative;
}

.c-shop-plan-header .c-shop-plan-taglist {
  position: absolute;
  top: 10px;
  left: 10px;
}

.c-shop-plan-header--img img {
  height: 235px;
  object-fit: cover;
}

.c-shop-plan--title {
  margin: 0 0 30px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 1.5;
  text-align: center;
}

.c-shop-plan-numlist {
  margin: 30px 0 0;
  display: grid;
  gap: 40px;
  counter-reset: number 0;
  position: relative;
}

.c-shop-plan-numlist::before {
  content: '';
  display: block;
  width: 2px;
  height: 100%;
  background-image: linear-gradient(to bottom, #DEDEDE, #DEDEDE 4px, transparent 4px, transparent 4px);
  background-size: 10px 10px;
  background-position: left top;
  background-repeat: repeat-Y;
  position: absolute;
  top: 0;
  left: 9px;
}

.c-shop-plan-numlist li {
  padding: 0 0 0 33px;
  position: relative;
}

.c-shop-plan-numlist li::before {
  content: '';
  display: block;
  width: 30px;
  height: 30px;
  border-radius: 100%;
  background-color: #DDD8CC;
  position: absolute;
  top: -5px;
  left: -5px;
}

.c-shop-plan-numlist li::after {
  counter-increment: number 1;
  content: counter(number);
  display: block;
  font-size: 1.4rem;
  text-align: center;
  position: absolute;
  top: 0;
  left: 5.5px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
}

.c-shop-plan-numlist li:last-child {
  background-color: #F8F8F5;
}

.l-shop-plan-numlist-mainarea {
  display: grid;
  grid-template-columns: 1fr 100px;
  gap: 10px;
}

.c-shop-plan-numlist--title {
  margin: 0 0 20px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 1.4;
}

.c-shop-plan-numlist--txt p {
  font-size: 1.3rem;
  line-height: 1.5;
}

.c-shop-plan-numlist--link {
  display: grid;
  justify-content: start;
  margin: 20px 0 0;
}

.c-shop-plan-numlist--link.center {
  justify-content: center;
}

.c-shop-plan-numlist--link a {
  display: table;
  margin: 0 auto;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.2rem;
}

.l-shop-plan-numlist-buttonarea {
  margin: 40px 0 15px;
  display: grid;
}

.l-shop-plan-numlist-buttonarea .c-shop-plan-numlist--link {
  justify-content: center;
}

.c-shop-plan-numlist-button {
  text-align: center;
}

.l-shop-plan-linkarea {
  display: grid;
  gap: 10px;
  margin: 0 0 75px;
}

.c-shop-plan-about-link a {
  display: block;
  position: relative;
}

.c-shop-plan-about-link a::after {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
}

.c-shop-plan-about-link--txt {
  display: block;
  color: var(--color-white);
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  line-height: 1.5;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  white-space: nowrap;
  z-index: 100;
}

.l-shop-plan-shoplistarea {
  display: grid;
  gap: 70px;
}

.c-shop-plan-shop--img {
  margin: 0 0 30px;
}

.c-title-big {
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 2.6rem;
  margin: 0 0 43px;
  letter-spacing: 0.1em;
  line-height: 1.5;
  text-align: center;
}

.c-event-list {
  display: grid;
  gap: 9px;
  margin: 0 0 80px;
}

.c-event-list li a {
  display: grid;
  grid-template-columns: 130px 1fr;
}

.c-event-lis--img img {
  width: 130px;
  height: 100%;
  object-fit: cover;
}

.l-event-list--txtarea {
  background-color: var(--color-white);
  padding: 15px 10px 13px;
}

.c-event-list--date {
  display: block;
  margin: 0 0 9px;
  color: #999999;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1rem;
}

.c-event-list-categorylist {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin: 0 0 10px;
}

.c-event-list-categorylist li {
  display: block;
  padding: 5px 10px;
  background-color: #EBEBE8;
  font-size: 1rem;
}

.c-event-list--txt {
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.2rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  overflow: hidden;
}

.catalog-susume {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 30px auto 0 auto;
}

.catalog-susume-thumb {
  width: 30%;
}

.catalog-susume-contents {
  width: 65%;
}


@media (min-width: 768px) {
  .l-section-sssmall-inner {
    /*780px*/
    width: 1200px;
    padding: 0 210px;
    margin: 0 auto;
  }

  .c-shop-plan-list {
    margin: 48px 0 120px;
  }

  .c-shop-plan-list>li {
    padding: 30px 25px 25px;
  }

  .c-shop-plan-taglist li {
    font-size: 1.2rem;
  }

  .c-shop-plan-list--title {
    line-height: 1.5;
  }

  .c-shop-plan-header {
    width: 1000px;
    margin: 0 auto;
  }

  .c-shop-plan-header--img img {
    height: 332px;
  }

  .c-shop-plan--title {
    margin: 46px 0 41px;
    font-size: 1.8rem;
  }

  .c-shop-plan-numlist {
    width: 730px;
    margin: 68px auto 0;
    gap: 59px;
  }

  .l-shop-plan-numlist-mainarea {
    grid-template-columns: 1fr 130px;
    gap: 18px;
  }

  .c-shop-plan-numlist--title {
    font-size: 1.5rem;
  }

  .c-shop-plan-numlist--txt p {
    font-size: 1.5rem;
  }

  .c-shop-plan-numlist--link {
    margin-top: 13px;
  }

  .c-shop-plan-numlist--link a {
    font-size: 1.4rem;
  }

  .l-shop-plan-numlist-buttonarea {
    margin: 70px 0 15px;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 124px;
  }

  .c-shop-plan-numlist-button {
    display: grid;
    place-content: center;
    text-align: center;
  }

  .c-shop-plan-numlist-button .c-shop-plan-numlist--link,
  .l-shop-plan-numlist-buttonarea+* .c-shop-plan-numlist--link {
    justify-content: center;
  }

  .l-shop-plan-linkarea {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
    margin: 0 0 29px;
  }

  .c-shop-plan-about-link a {
    height: 150px;
  }

  .c-shop-plan-about-link--txt {
    font-size: 1.8rem;
  }

  .l-shop-plan-shoplistarea {
    grid-template-columns: repeat(2, 1fr);
    gap: 75px 40px;
  }

  .c-shop-info {
    height: 100%;
    position: relative;
  }

  .l-shop-plan-shoplistarea .c-shop-info--title {
    border-top: none;
    padding-top: 0;
  }

  .l-shop-plan-shoplistarea .c-shop-info-table {
    width: 100%;
    height: 290px;
  }

  .c-shop-plan-shop--img {
    margin: 0 0 30px;
  }

  .c-title-big {
    margin: 0 0 60px;
  }

  .c-event-list {
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
  }

  .c-event-list li a {
    display: block;
  }

  .c-event-lis--img img {
    width: 100%;
    height: 226px;
  }

  .l-event-list--txtarea {
    padding: 22px 20px;
  }

  .c-event-list--date {
    font-size: 1.2rem;
  }

  .c-event-list-categorylist {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin: 0 0 10px;
  }

  .c-event-list-categorylist li {
    font-size: 1.2rem;
  }

  .c-event-list--txt {
    font-size: 1.4rem;
    -webkit-line-clamp: 2;
    line-clamp: 2;
  }

  .catalog-susume {
    width: 670px;
  }

  .catalog-susume-thumb {
    width: 227px;
  }

  .catalog-susume-contents {
    width: calc(100% - 260px);
  }

}

/* products */
.c-products-section--title {
  margin: 0 0 30px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 2rem;
  line-height: 1.5;
  text-align: center;
}

/* 2025old 特典 */
.l-products-benefitsarea {
  display: grid;
  gap: 16px;
}

.c-products-benefits {
  border-radius: 6px;
  overflow: hidden;
}

.c-products-benefits--title {
  display: flex;
  place-content: center;
  gap: 10px;
  padding: 15px;
  background-color: #EBEBE8;
  color: #7B7B7B;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.4rem;
  letter-spacing: 0.05em;
  line-height: 1.5;
}

.c-products-benefits-main {
  background-color: var(--color-white);
}

.l-products-benefits-sideimgarea {
  margin: 0 8px 0;
  display: grid;
  grid-template-columns: 90px 1fr;
  align-items: center;
}

.c-products-benefits-05 .l-products-benefits-sideimgarea {
  grid-template-rows: 90px 1fr;
}

.c-products-benefits-05 .c-products-benefits--subtxt {
  grid-area: 2 / 1 / 3 / 3;
}

.c-products-benefits--maintxt p {
  padding: 20px 0;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.6rem;
  text-align: center;
}

.c-products-benefits-03 .c-products-benefits--subtxt,
.c-products-benefits-04 .c-products-benefits--subtxt {
  grid-area: 2 / 1 / 3 / 3;
}

.c-products-benefits-03 .c-products-benefits--subtxt p,
.c-products-benefits-04 .c-products-benefits--subtxt p {
  font-size: 1.2rem;
  font-family: var(--font-gothic-l);
}

.l-products-benefits-multipleimgarea {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  justify-content: center;
  text-align: center;
  gap: 20px;
  padding: 0 15px 15px;
}

.c-products-benefits--img {
  margin: 8px auto 7px;
  border-radius: 4px;
  overflow: hidden;
}

.c-products-benefits--img img {
  height: 85px;
  object-fit: contain;
}

.c-products-benefits--txt {
  display: grid;
  place-content: center;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  height: 58px;
}

.c-products-benefits--txt p {
  font-size: 1.2rem;
}

.c-products-benefits--subtxt {
  padding: 15px;
}

.c-products-benefits--subtxt {
  font-size: 1.2rem;
  line-height: 1.5;
}

@media (min-width: 768px) {
  .c-products-section--title {
    margin: 0 0 63px;
    font-size: 2.4rem;
  }

  .l-products-benefitsarea {
    display: grid;
    gap: 20px 15px;
    grid-template-columns: 430px 1fr;
    grid-template-rows: auto;
  }

  .c-products-benefits-01 {
    grid-area: 1 / 1 / 3 / 2;
  }

  .c-products-benefits-02 {
    grid-area: 1 / 2 / 4 / 3;
  }

  .c-products-benefits-03 {
    grid-area: 3 / 1 / 5 / 2;
  }

  .c-products-benefits-04 {
    grid-area: 5 / 1 / 7 / 2;
  }

  .c-products-benefits-05 {
    grid-area: 4 / 2 / 7 / 3;
  }

  .c-products-benefits {
    height: 100%;
  }

  .c-products-benefits--title {
    font-size: 1.6rem;
    gap: 20px;
  }

  .c-products-benefits-main {
    height: 100%;
  }

  .l-products-benefits-sideimgarea {
    grid-template-columns: 85px 1fr;
  }

  .c-products-benefits-05 .c-products-benefits--img {
    grid-area: 1 / 1 / 3 / 2;
  }

  .c-products-benefits-05 .c-products-benefits--maintxt {
    grid-area: 1 / 2 / 2 / 3;
  }

  .c-products-benefits-05 .c-products-benefits--subtxt {
    grid-area: 2 / 2 / 3 / 3;
  }

  .c-products-benefits--maintxt p {
    font-size: 1.7rem;
  }

  .c-products-benefits-03 .c-products-benefits--maintxt p,
  .c-products-benefits-04 .c-products-benefits--maintxt p {
    padding: 0;
  }

  .c-products-benefits-03 .c-products-benefits--subtxt,
  .c-products-benefits-04 .c-products-benefits--subtxt {
    width: auto;
    padding: 0 15px 5px 110px;
  }

  .l-products-benefits-multipleimgarea {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    justify-content: center;
    text-align: center;
    gap: 20px;
    padding: 0 50px 15px;
  }

  .c-products-benefits--img {
    margin: 8px auto 7px;
    border-radius: 4px;
    overflow: hidden;
  }

  .c-products-benefits--img img {
    height: 85px;
    object-fit: contain;
  }

  .c-products-benefits-05 .l-products-benefits-sideimgarea {
    grid-template-columns: 158px 1fr;
    grid-template-rows: 60px 1fr;
    gap: 0 18px;
  }

  .c-products-benefits-05 .c-products-benefits--maintxt {
    padding-top: 15px;
  }

  .c-products-benefits-05 .c-products-benefits--maintxt p {
    padding: 0;
  }

  .c-products-benefits-05 .c-products-benefits--img img {
    height: 158px;
  }

  .c-products-benefits--subtxt {
    padding: 0 14px 0 0;
  }
}

/* 2025 style
.product-mv {
  width: 100%;
  height: 70.51vw;
  margin: 0 auto 30px auto;
  background: url(../img/products/mv2025_sp.jpg) no-repeat center 50%;
  background-size: cover;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.product-mv .product-mv-title {
  color: #FFF;
  text-align: center;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 1.5;
  margin: 0;
  padding: 0;
}
 */
.product-mv {
  width: 100%;
  height: 70.51vw;
  margin: 0 auto 30px auto;
  background: url(../img/products/mv_all_sp.webp) no-repeat center 50%;
  background-size: cover;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.product-mv .product-mv-title {
  color: #FFF;
  text-align: center;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.8rem;
  line-height: 1.5;
  margin: 0;
  padding: 0;
}

.product-mv .product-mv-title-text {
  color: #FFF;
  text-align: center;
  font-size: 1.2rem;
  line-height: 1.5;
  margin: 0;
  padding: 0 15px;
}

.product-mv.cat-all {
  height: calc(100vw * 238 / 390);
  background: url(../img/products/mv_all_sp.webp) no-repeat center 50%;
  background-size: cover;
}

.product-mv.cat-2027 {
  height: calc(100vw * 238 / 390);
  background-image: url(../img/products/mv_2027_sp.webp);
}

.product-mv.cat-boys {
  height: calc(100vw * 238 / 390);
  background-image: url(../img/products/mv_boys_sp.webp);
}

.product-mv.cat-girls {
  height: calc(100vw * 238 / 390);
  background-image: url(../img/products/mv_girls_sp.webp);
}

.product-mv.cat-2025 {
  background-image: url(../img/products/mv_2025_sp.webp);
}

.product-mv.cat-design {
  background-image: url(../img/products/mv_design_sp.webp);
}

.product-mv.cat-basic {
  background-image: url(../img/products/mv_basic_sp.webp);
}

.product-mv.cat-bicolor {
  background-image: url(../img/products/mv_bicolor_sp.webp);
}

.product-mv.cat-good-black {
  background-image: url(../img/products/mv_good-black_sp.webp);
}

.product-mv.cat-goods {
  background-image: url(../img/products/mv_goods_sp.webp);
}

.product-mv.cat-randoserucover {
  background-image: url(../img/products/mv_randoserucover_sp.webp);
}

.product-mv.cat-remake {
  background-image: url(../img/products/mv_remake_sp.webp);
}

.product-mv.cat-cute-stitch {
  background-image: url(../img/products/mv_cute-stitch_sp.webp);
}

.product-mv.cat-cordovan {
  background-image: url(../img/products/mv_cordovan_sp.webp);
}

.product-mv.cat-elegant-stitch {
  background-image: url(../img/products/mv_elegant-stitch_sp.webp);
}

.product-mv.cat-miniature {
  background-image: url(../img/products/mv_miniature_sp.webp);
}

.product-mv.cat-color-black {
  background-image: url(../img/products/mv_black_sp.webp);
}

.product-mv.cat-color-blue {
  background-image: url(../img/products/mv_blue_sp.webp);
}

.product-mv.cat-color-camel {
  background-image: url(../img/products/mv_camel_sp.webp);
}

.product-mv.cat-color-green {
  background-image: url(../img/products/mv_green_sp.webp);
}

.product-mv.cat-color-lavender {
  background-image: url(../img/products/mv_lavender_sp.webp);
}

.product-mv.cat-color-lightblue {
  background-image: url(../img/products/mv_lightblue_sp.webp);
}

.product-mv.cat-color-milktea {
  background-image: url(../img/products/mv_milktea_sp.webp);
}

.product-mv.cat-color-pink {
  background-image: url(../img/products/mv_pink_sp.webp);
}

.product-mv.cat-color-red {
  background-image: url(../img/products/mv_red_sp.webp);
}

.product-mv.cat-color-vanilla {
  background-image: url(../img/products/mv_vanilla_sp.webp);
}

.product-mv.cat-color-wine {
  background-image: url(../img/products/mv_wine_sp.webp);
}


.product-mv.cat-color-black .product-mv-title,
.product-mv.cat-color-blue .product-mv-title,
.product-mv.cat-color-camel .product-mv-title,
.product-mv.cat-color-green .product-mv-title,
.product-mv.cat-color-lavender .product-mv-title,
.product-mv.cat-color-lightblue .product-mv-title,
.product-mv.cat-color-milktea .product-mv-title,
.product-mv.cat-color-pink .product-mv-title,
.product-mv.cat-color-red .product-mv-title,
.product-mv.cat-color-vanilla .product-mv-title,
.product-mv.cat-color-wine .product-mv-title {
  max-width: calc(100% - 20px);
  background: rgba(0, 0, 0, 0.25);
  padding: 10px 10px;
  margin: 0 auto;
}

.c-products-top-section:nth-last-of-type(n+2) {
  margin: 0 0 100px;
}

.c-products-section-header {
  display: grid;
  margin: 0 0 25px;
}

.l-products-section-header-titlearea {
  padding: 25px 0 30px;
}

.c-products-section-header--title {
  margin: 0 0 22px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 2.2rem;
  letter-spacing: 0.1em;
  line-height: 1.1;
  text-align: center;
}

.c-products-section-header--txt {
  margin: 0 15px;
  text-align: center;
}

.c-products-section-header--txt p {
  text-align: center;
}

/* 2025年モデルのスタイル */
.c-products-outline-list {
  display: grid;
  gap: 32px;
}

.c-products-outline-list>li a {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}

.c-products-outline--img {
  display: grid;
  place-content: center;
}

.c-products-outline--img img {
  width: 173px;
  height: 173px;
  object-fit: contain;
}

.c-products-outline--title {
  display: grid;
  gap: 12px;
  justify-items: center;
  margin: 0 auto 10px;
}

.c-products-outline--title img:nth-of-type(1) {
  width: 120px;
  height: 45px;
}

.c-products-outline--title img:nth-of-type(2) {
  width: auto;
  height: 16px;
}

.c-products-outline--plice {
  margin: 0 0 11px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1rem;
  letter-spacing: 0.1em;
  line-height: 1;
  text-align: center;
}

.c-products-outline-speclist {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 5px;
  margin: 0 0 15px;
}

.c-products-outline-speclist li {
  text-align: center;
  background-color: var(--color-white);
  padding: 3px 5px;
  border-radius: 4px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1rem;
  letter-spacing: 0.1em;
  line-height: 1;
  white-space: nowrap;
}

.c-products-outline--txt {
  padding: 0 10px;
}

.c-products-outline--txt p {
  font-size: 1.2rem;
  line-height: 1.8;
}

/* ここまで 2025年モデルのスタイル */

@media (min-width: 768px) {
  .product-mv {
    max-width: 1200px;
    height: 476px;
    margin-bottom: 70px;
    background-image: url(../img/products/mv_all.webp);
  }

  .product-mv .product-mv-title {
    font-size: 2.9rem;
  }

  .product-mv .product-mv-title-text {
    font-size: 1.4rem;
  }

  .product-mv.cat-all {
    width: 100%;
    max-width: initial;
    height: 337px;
    background-image: url(../img/products/mv_all.webp);
  }

  .product-mv.cat-2027 {
    width: 100%;
    max-width: initial;
    height: 337px;
    background-image: url(../img/products/mv_2027.webp);
  }

  .product-mv.cat-boys {
    width: 100%;
    max-width: initial;
    height: 337px;
    background-image: url(../img/products/mv_boys.webp);
  }

  .product-mv.cat-girls {
    width: 100%;
    max-width: initial;
    height: 337px;
    background-image: url(../img/products/mv_girls.webp);
  }

  .product-mv.cat-2025 {
    background-image: url(../img/products/mv_2025.webp);
  }

  .product-mv.cat-design {
    background-image: url(../img/products/mv_design.webp);
  }

  .product-mv.cat-basic {
    background-image: url(../img/products/mv_basic.webp);
  }

  .product-mv.cat-bicolor {
    background-image: url(../img/products/mv_bicolor.webp);
  }

  .product-mv.cat-good-black {
    background-image: url(../img/products/mv_good-black.webp);
  }

  .product-mv.cat-goods {
    background-image: url(../img/products/mv_goods.webp);
  }

  .product-mv.cat-randoserucover {
    background-image: url(../img/products/mv_randoserucover.webp);
  }

  .product-mv.cat-remake {
    background-image: url(../img/products/mv_remake.webp);
  }

  .product-mv.cat-cute-stitch {
    background-image: url(../img/products/mv_cute-stitch.webp);
  }

  .product-mv.cat-cordovan {
    background-image: url(../img/products/mv_cordovan.webp);
  }

  .product-mv.cat-elegant-stitch {
    background-image: url(../img/products/mv_elegant-stitch.webp);
  }

  .product-mv.cat-miniature {
    background-image: url(../img/products/mv_miniature.webp);
  }

  .product-mv.cat-color-black {
    background-image: url(../img/products/mv_black.webp);
  }

  .product-mv.cat-color-blue {
    background-image: url(../img/products/mv_blue.webp);
  }

  .product-mv.cat-color-camel {
    background-image: url(../img/products/mv_camel.webp);
  }

  .product-mv.cat-color-green {
    background-image: url(../img/products/mv_green.webp);
  }

  .product-mv.cat-color-lavender {
    background-image: url(../img/products/mv_lavender.webp);
  }

  .product-mv.cat-color-lightblue {
    background-image: url(../img/products/mv_lightblue.webp);
  }

  .product-mv.cat-color-milktea {
    background-image: url(../img/products/mv_milktea.webp);
  }

  .product-mv.cat-color-pink {
    background-image: url(../img/products/mv_pink.webp);
  }

  .product-mv.cat-color-red {
    background-image: url(../img/products/mv_red.webp);
  }

  .product-mv.cat-color-vanilla {
    background-image: url(../img/products/mv_vanilla.webp);
  }

  .product-mv.cat-color-wine {
    background-image: url(../img/products/mv_wine.webp);
  }

  .c-products-section-header {
    display: grid;
    grid-template-columns: 739px 1fr;
    width: 1200px;
    margin: 30px auto 70px;
    background-color: var(--color-white);
  }

  .l-products-section-header--img img {
    width: 100%;
    height: 550px;
    object-fit: cover;
  }

  .l-products-section-header-titlearea {
    display: grid;
    place-content: center;
    padding: 65px;
  }

  .c-products-section-header--title {
    margin-bottom: 49px;
    font-size: 2rem;
  }

  .c-products-section-header--txt {
    margin: 0;
  }

  /* 2025年モデルのスタイル */
  .c-products-outline-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 53px;
  }

  .c-products-outline-list>li a {
    width: 260px;
    grid-template-columns: 1fr;
    justify-content: center;
  }

  .c-products-outline-list.pc-col3 {
    max-width: 1000px;
    margin: 0 auto;
  }

  .c-products-outline--img {
    margin: 0 0 10px;
  }

  .c-products-outline--img img {
    width: 260px;
    height: 260px;
  }

  .c-products-outline--title {
    gap: 9px;
    margin: 0 auto 10px;
  }

  .c-products-outline--title img:nth-of-type(1) {
    width: 173px;
    height: 65px;
  }

  .c-products-outline--title img:nth-of-type(2) {
    width: 146px;
    height: 16px;
  }

  .c-products-outline--plice {
    margin: 0 0 13px;
    font-size: 1.2rem;
  }

  .c-products-outline-speclist {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin: 0 0 19px;
  }

  .c-products-outline-speclist li {
    display: table;
    padding: 4px 9px;
    font-size: 1.2rem;
  }

  .c-products-outline--txt {
    padding: 0;
  }

  .c-products-outline--txt p {
    font-size: 1.5rem;
    line-height: 1.8;
  }

  /* ここまで 2025年モデルのスタイル */

}


/* request */
.c-request-header {
  margin: 30px 0 112px;
}

.l-request-header-imgarea {
  margin: 0 0 30px;
}

.c-request-header--img {
  display: grid;
  gap: 16px;
  margin: 0 40px 30px;
}

.l-request-header-txtarea {
  margin: 0 20px;
}

.c-request-header--subtxt1 {
  margin: 0 0 12px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 2.6rem;
  text-align: center;
}

.c-request-header--subtxt2 {
  padding: 18px 0;
  color: var(--color-red);
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.4rem;
  text-align: center;
  position: relative;
}

.c-request-header--subtxt2::before,
.c-request-header--subtxt2::after {
  content: '';
  display: block;
  width: 100%;
  height: 2px;
  background-image: linear-gradient(to right, #DEDEDE, #DEDEDE 4px, transparent 4px, transparent 4px);
  background-size: 10px 10px;
  background-position: left top;
  background-repeat: repeat-X;
  position: absolute;
  top: 0;
  left: 0;
}

.c-request-header--subtxt2::after {
  top: auto;
  bottom: 0;
}

.c-request-header--title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  margin: 23px 0 28px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 2.6rem;
}

.u-free {
  display: grid;
  place-content: center;
  width: 36px;
  height: 36px;
  border-radius: 100%;
  background-color: var(--color-red);
  color: var(--color-white);
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.2rem;
  text-align: center;
}

.c-request-header-button a {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 9px;
  width: 100%;
  height: 42px;
  background-color: var(--color-white);
  border: 1px solid var(--color-red);
  border-radius: 40px;
}

.c-request-header-button--txt {
  display: flex;
  align-items: center;
  gap: 5px;
  color: var(--color-red);
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.5rem;
}

.c-request-header-button--txt::before {
  content: '';
  display: block;
  width: 11px;
  height: 11px;
  background-image: url(../img/common/ico-arrow-red.svg);
  background-size: contain;
  transform: rotate(90deg);
}

.u-free2 {
  display: grid;
  place-content: cenrer;
  width: 46px;
  height: 20px;
  background-color: var(--color-red);
  border-radius: 4px;
  color: var(--color-white);
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.2rem;
  text-align: center;
}

.c-request-contents-header {
  margin: 0 auto 100px;
}

.c-request-contents-header--title {
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 2rem;
  margin: 0 0 47px;
  text-align: center;
}

.l-request-staff-area {
  margin: 0 0 30px;
}

.c-request-staffimg2 {
  display: flex;
}

.c-request-staff--txt p {
  text-align: center;
}

.c-request-contents-header--title {
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 2rem;
  line-height: 1.7;
  text-align: center;
  margin: 0 0 65px;
}

.c-request-staffimg2 {
  display: flex;
}

.l-request-intro-imgarea {
  display: grid;
  gap: 13px;
  margin: 0 0 17px;
}

.c-request-intro {
  margin: 0 0 50px;
}

.c-request-section:nth-last-of-type(n+2) {
  margin: 0 0 60px;
}

.c-request-section-number {
  display: grid;
  justify-content: center;
  align-content: center;
  gap: 5px;
  width: 80px;
  height: 80px;
  background-color: var(--color-white);
  border-radius: 100%;
  color: var(--color-red);
  text-align: center;
  margin: 0 auto 20px;
}

.c-request-number--smalltxt {
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1rem;
  line-height: 1.2;
}

.c-request-number--txt {
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 2.4rem;
  line-height: 1;
}

.c-request-section--title {
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 2rem;
  line-height: 1.4;
  text-align: center;
  margin: 0 0 50px;
}

.l-request-section-imgarea {
  display: grid;
  gap: 46px;
  margin: 0 0 17px;
}

.c-request-section-img img {
  margin: 0 0 20px;
}

.l-request-pointarea {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 22px;
  margin: 0 0 25px;
}

.c-request-point--img {
  margin: 0 0 10px;
}

.c-request-point--txt p {
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.2rem;
  line-height: 1.5;
  text-align: center;
}

.l-request-smilearea {
  display: grid;
  gap: 30px;
  margin: 0 0 100px;
}

.c-request-smile--title {
  width: 100%;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.6rem;
  margin: 0 0 37px;
  line-height: 1.5;
  text-align: center;
}

.c-request-smile-img {
  margin: 0 0 20px;
}

.c-request-smile-img--txt {
  margin: 0 0 33px;
  font-size: 1.2rem;
  line-height: 1.7;
  text-align: right;
}

.c-request-smile--titleimg {
  margin: 0 auto;
  width: 207px;
}

.c-request-smile-photo:nth-last-of-type(n+2) {
  margin: 0 0 56px;
}

.c-request-smile-section--img {
  margin: 0 auto 20px;
  width: 264px;
}

.c-smile-photo--txt .u-title,
.c-smile-photo--txt .u-name {
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  text-align: center;
}

@media (min-width: 768px) {
  .c-request-header {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    width: 1200px;
    padding: 40px 100px 184px;
    margin: 0 auto;
  }

  .l-request-header-imgarea {
    margin-bottom: 0;
  }

  .c-request-header--img {
    display: grid;
    place-content: center;
    gap: 27px;
    margin: 0 auto;
  }

  .l-request-header-txtarea {
    display: grid;
    place-content: center;
    margin: 0;
  }

  .c-request-header--subtxt1 {
    width: 421px;
    margin: 0 0 16px;
    font-size: 3.2rem;
  }

  .c-request-header--subtxt2 {
    width: 421px;
    padding: 22px 0;
    font-size: 1.7;
  }

  .c-request-header--title {
    width: 421px;
    margin: 29px 0 36px;
    font-size: 3.2rem;
  }

  .u-free {
    width: 45px;
    height: 45px;
    font-size: 1.5rem;
  }

  .c-request-header-button a {
    height: 52px;
    width: 421px;
  }

  .c-request-header-button--txt {
    font-size: 2rem;
  }

  .u-free2 {
    width: 58px;
    height: 25px;
    font-size: 1.5rem;
    padding: 2px 0 0;
  }

  .c-request-contents-header {
    margin: 0 auto 180px;
  }

  .c-request-contents-header--title {
    margin: 0 0 37px;
  }

  .l-request-staff-area {
    margin: 0 auto 32px;
    width: 1150px;
  }

  .c-request-staffimg2 {
    flex-wrap: wrap;
  }

  .c-request-staffimg2 img {
    display: block;
    width: 50%;
  }

  .c-request-contents-header--title {
    font-size: 2.4rem;
    margin: 0 0 40px;
  }

  .l-request-intro-imgarea {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 52px;
    margin: 0 0 53px;
  }

  .c-request-intro {
    margin: 0 0 125px;
  }

  .c-request-intro .c-txt {
    text-align: center;
  }

  .c-request-section:nth-last-of-type(n+2) {
    margin: 0 0 160px;
  }

  .c-request-section--title {
    font-size: 2.4rem;
    margin: 0 0 70px;
  }

  .l-request-section-imgarea {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 56px;
    margin: 0 0 26px;
  }

  .c-request--txt {
    text-align: center;
  }

  .l-request-pointarea {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 33px;
    margin: 0 0 58px;
  }

  .c-request-point--img {
    margin: 0 0 12px;
  }

  .c-request-point--txt p {
    font-size: 1.5rem;
  }

  .l-request-smilearea {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0;
    margin: 0 0 119px;
  }

  .l-request-smile-imgarea {
    order: 2;
    padding: 0 0 0 60px;
  }

  .c-request-smile-img {
    margin: 0 0 8px;
  }

  .c-request-smile-img--txt {
    font-size: 0.8rem;
    margin-right: 30px;
  }

  .c-request-smile--titleimg {
    margin: 0 auto;
    width: 298px;
  }

  .c-request-smile-photo {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }

  .c-request-smile-photo .c-txt {
    align-self: center;
  }

  .c-request-smile-photo:nth-of-type(odd) .c-request-smile-section--img {
    order: 2;
  }

  .c-request-smile-photo:nth-last-of-type(n+2) {
    margin: 0 0 97px;
  }

  .c-request-smile-section--img {
    margin: 0 auto;
    width: 397px;
  }

  .c-smile-photo--txt .u-title {
    font-size: 1.8rem;
  }

  .c-smile-photo--txt .u-title,
  .c-smile-photo--txt .u-name {
    text-align: left;
  }
}

/* futureshop */
/* 2-1. module
-------------------------------------------------- */
.hdg-ver01 {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 77px;
  padding: 11px 15px 9px 15px;
  border-bottom: 1px solid #DDDCD8;
  box-sizing: border-box;
}

.hdg-ver01 span {
  font-size: 1.6rem;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  letter-spacing: 0.1em;
  text-align: center;
  line-height: 1.6;
}

.hdg-ver01 .hdg-ver01__sub {
  font-size: 1.2rem;
}

.hdg-ver02 {
  position: relative;
  min-height: 200px;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  text-align: center;
}

.hdg-ver02::after {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.3);
}

.hdg-ver02 .hdg-ver02__title {
  position: absolute;
  top: 50%;
  left: 50%;
  font-size: 1.7rem;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1.8;
  color: #fff;
  z-index: 1;
  word-break: keep-all;
  transform: translate(-50%, -50%);
}

.hdg-ver02 .hdg-ver02__sub {
  font-size: .8rem;
}

.hdg-ver03 {
  margin: 130px 0 50px 0;
  font-size: 2.0rem;
  letter-spacing: 0.1em;
  line-height: 1.4;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  text-align: center;
}

.hdg-ver03 .hdg-ver03__sub {
  display: block;
  margin-top: 20px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.4rem;
  color: #930B0B;
}

.hdg-ver04 {
  position: relative;
  margin: 90px 0 30px 0;
  padding: 0 0 25px 0;
  font-size: 1.8rem;
  letter-spacing: 0.05em;
  line-height: 1.6;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
}

.hdg-ver04::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #DDDCD8;
}

.l-inner section:first-child>.hdg-ver04:first-child {
  margin-top: 0;
}

.hdg-ver05 {
  margin: 0 0 10px 0;
  font-size: 1.6rem;
  letter-spacing: 0.1em;
  line-height: 1.6;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  text-align: center;
}

.hdg-ver01 span,
.hdg-ver02 span,
.hdg-ver03 span {
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
}

.btn-type01 {
  display: inline-block;
  padding: 0 10px 0 5px;
  background: #fff;
  border-radius: 17px;
  text-align: left;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.1rem;
  letter-spacing: 0.05em;
}

.btn-type01 span {
  display: block;
  position: relative;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  padding: 2px 0 1px 18px;
}

.btn-type01 span::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  width: 14px;
  height: 14px;
  background: url(../img/common/ico-arrow-red.svg) no-repeat center center;
  background-size: 14px 14px;
  transform: translateY(-50%);
}

.btn-type02 {
  display: inline-block;
  padding: 0 13px 0 8px;
  background: #fff;
  border-radius: 17px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.2rem;
  line-height: 1.8;
  text-align: left;
}

.btn-type02 span {
  display: inline-block;
  position: relative;
  padding: 5px 0 5px 20px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  vertical-align: middle;
}

.btn-type02 span::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  width: 14px;
  height: 14px;
  background: url(../img/common/ico-arrow-red.svg) no-repeat center center;
  background-size: cover;
  transform: translateY(-50%);
}

.btn-type03 {
  display: inline-block;
  padding: 5px 25px 5px 25px;
  background: #930B0B;
  border-radius: 17px;
  font-size: 1.2rem;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  line-height: 1.4;
  color: #fff;
}

.btn-type03 span {
  color: inherit;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  color: #fff;
}

.btn-type04 {
  display: inline-block;
  padding: 0 25px;
  background: #fff;
  border-radius: 999px;
  color: var(--color-red);
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.2rem;
  line-height: 1.8;
  text-align: left;
}


.btn-type-win {
  display: inline-block;
  padding: 0 28px 0 23px;
  background: #fff;
  border-radius: 17px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.2rem;
  line-height: 1.4;
  text-align: left;
}

.btn-type-win span {
  display: inline-block;
  position: relative;
  padding: 5px 0 5px 20px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  vertical-align: middle;
}

.btn-type-win span::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  width: 14px;
  height: 14px;
  background: url(../img/common/ico-newwindowlink.svg) no-repeat center center;
  background-size: cover;
  transform: translateY(-50%);
}

.btn-type-close {
  display: inline-block;
  margin: 10px 0;
  padding: 0 20px 0 20px;
  background: #fff;
  border-radius: 17px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.1rem;
  line-height: 1.4;
  text-align: left;
}

.btn-type-close span {
  display: inline-block;
  position: relative;
  padding: 5px 0 5px 15px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  vertical-align: middle;
}

.btn-type-close span::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  width: 11px;
  height: 11px;
  background: url(../img/common/icon-close.svg) no-repeat center center;
  background-size: cover;
  transform: translateY(-50%);
}

.btn-insta-icon {
  display: inline-block;
  padding: 10px 30px 10px 50px;
  background: #fff;
  border-radius: 999px;
  color: var(--color-red);
  border: var(--color-red) 1px solid;
  border-radius: 999px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 1.8;
  text-align: left;
  position: relative;
}

.btn-insta-icon::before {
  content: '';
  position: absolute;
  left: 20px;
  top: calc(50% - 10px);
  width: 20px;
  height: 20px;
  background: url(../img/common/ico-instagram-color.svg) no-repeat center center;
  background-size: cover;
}

.link-type01 {
  display: inline-block;
  position: relative;
  padding: 0 0 0 18px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.2rem;
  line-height: 1.5;
}

.link-type01::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.15em;
  width: 14px;
  height: 14px;
  background: url(../img/common/ico-arrow-red.svg) no-repeat center center;
  background-size: cover;
}

.link-type-win {
  display: inline-block;
  position: relative;
  padding: 0 0 0 18px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.2rem;
  line-height: 1.5;
}

.link-type-win::before {
  content: '';
  position: absolute;
  left: 0;
  top: 3px;
  width: 12px;
  height: 12px;
  background: url(../img/common/ico-newwindowlink.svg) no-repeat center center;
  background-size: cover;
}

.link-type-back {
  display: inline-block;
  position: relative;
  padding: 0 0 0 18px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.2rem;
  line-height: 1.5;
  text-decoration: none;
}

.link-type-back::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.2em;
  width: 14px;
  height: 14px;
  background: url(../img/common/ico-arrow-red.svg) no-repeat center center;
  background-size: 14px 14px;
  transform: rotate(-180deg);
}

.m-back__link {
  padding-top: 50px;
  text-align: center;
  text-decoration: none;
}

/* list */
.m-dot__list>li {
  position: relative;
  margin-top: 15px;
  padding: 0 0 0 1em;
  letter-spacing: 0.05em;
  line-height: 1.6;
  font-size: 1.4rem;
}

.m-dot__list>li::before {
  position: absolute;
  left: 0;
  top: 0.5em;
  right: 0;
  bottom: 0;
  content: "";
  width: 6px;
  height: 6px;
  background: #46331C;
  border-radius: 50%;
  vertical-align: middle;
}

.m-dot__list.m-dot-red__list>li::before {
  background: #930B0B;
}

.m-note__list>li {
  position: relative;
  margin-top: 5px;
  padding: 0 0 0 1.2em;
  text-indent: -1.2em;
  letter-spacing: 0.05em;
  line-height: 1.6;
  font-size: 1.2rem;
}

.m-note__list>li::before {
  content: "※";
  padding-right: 0.2em;
}

.m-note__list.m-note-red__list>li::before {
  color: #930B0B;
}

.m-num__list {
  padding: 0 0 0 1.2em;
}

.m-num__list>li {
  margin-top: 15px;
  list-style-type: decimal;
  font-size: 1.4rem;
}

.m-accordion__item {
  margin-top: 10px;
  padding: 10px;
  background: #fff;
  border-radius: 10px;
}

.m-accordion__item .m-accordion__title {
  font-size: 1.4rem;
  letter-spacing: 0.05em;
  line-height: 1.6;
}

.m-accordion__item .m-accordion__head button,
.m-accordion__item .m-accordion__head a {
  position: relative;
  display: block;
  width: 100%;
  text-align: left;
}

.m-accordion__item .m-accordion__head .m-accordion__icon {
  position: absolute;
  right: 0;
  top: 50%;
  width: 14px;
  height: 14px;
  border-radius: 2px;
  background: #930B0B;
  transform: translateY(-50%);
  white-space: nowrap;
  text-indent: 100%;
  overflow: hidden;
}

.m-accordion__item .m-accordion__head .m-accordion__icon::before,
.m-accordion__item .m-accordion__head .m-accordion__icon::after {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  width: 6px;
  height: 1px;
  background: #fff;
  transform: translate(-50%, -50%);
  transition: all 0.5s;
}

.m-accordion__item .m-accordion__head .m-accordion__icon::before {
  width: 1px;
  height: 6px;
}

.m-accordion__body {
  margin-top: 10px;
}

.js-accordion .js-accordion-head button[aria-expanded="true"] span::before {
  content: normal;
}

.js-accordion .js-accordion-body[aria-hidden="true"] {
  display: none;
}

.m-number__list {
  padding: 0 0 0 20px;
  list-style-type: decimal;
}

.m-number__item {
  margin-top: 10px;
  padding: 0 0 0 5px;
  letter-spacing: 0.05em;
  line-height: 1.6;
}

/* tab */
.m-tab {
  border-bottom: 1px solid #DDDCD8;
}

.m-tab__list {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: stretch;
}

.m-tab__item {
  flex: 0 0 49.5%;
  /*margin: 0 -1px -1px -1px;*/
  margin: 0 0px -1px 0;
  background-color: #F8F8F5;
}

.m-tab__item .m-tab__link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  height: 100%;
  padding: 8px 5px;
  border: 1px solid #DDDCD8;
  border-bottom: 0;
  box-sizing: border-box;
  z-index: 1;
}

.m-tab__item .m-tab__link:focus {
  outline: 1px solid #7D0000;
}

.m-tab__item .m-tab__link[aria-selected="false"] {
  background-color: #fff;
  border: 0;
  border-bottom: 1px solid #DDDCD8;
  color: #930B0B;
}

.m-tab__item .m-tab__link span {
  display: inline-block;
  position: relative;
  padding: 0 0 0 18px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.1rem;
  line-height: 1.5;
}

.m-tab__item .m-tab__link span::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #930B0B;
  transform: translateY(-50%);
}

.m-tab__item .m-tab__link span::after {
  content: '';
  position: absolute;
  left: 4px;
  top: 50%;
  width: 5px;
  height: 5px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: translateY(-50%) rotate(45deg);
}

.m-tab__item .m-tab__link[aria-selected="true"] span::after {
  border-top: 0;
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
}

.m-tab__box {
  padding: 55px 15px 0;
}

.m-tab__panel[aria-hidden="false"] {
  display: block !important;
}

.m-tab__panel[aria-hidden="true"] {
  display: none;
}

.m-tab__panel.js-tab-contents {
  opacity: 1;
}

/* table */
.m-table {
  width: 100%;
  border-bottom: 1px solid #DEDEDE;
  border-collapse: collapse;
}

.m-table th,
.m-table td {
  padding: 18px 15px;
  background: #F5F5F2;
  border: 1px solid #DEDEDE;
  font-size: 1.2rem;
  letter-spacing: 0.05em;
  line-height: 1.6;
  font-weight: normal;
  text-align: left;
}

.m-table th {
  border-bottom: 0;
}

.m-table td {
  border-bottom: 0;
  background: #fff;
}

.m-tableWide__wrap {
  overflow: auto;
  overflow-x: scroll;
}

.m-tableWide__wrap::-webkit-scrollbar {
  height: 5px;
}

.m-tableWide__wrap::-webkit-scrollbar-track {
  background: #F2EFE6;
}

.m-tableWide__wrap::-webkit-scrollbar-thumb {
  background: #DDD7CF;
}

.m-tableWide {
  width: 100%;
  min-width: 767px;
  max-width: 950px;
  margin: 0 auto 20px auto;
  border: 1px solid #DEDEDE;
  border-collapse: collapse;
}

.m-tableWide th,
.m-tableWide td {
  padding: 12px 10px 10px;
  background: #F5F5F2;
  border: 1px solid #DEDEDE;
  font-size: 1.2rem;
  letter-spacing: 0.05em;
  line-height: 1.6;
  font-weight: normal;
  text-align: center;
}

.m-tableWide th {
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
}

.m-tableWide td {
  background: #fff;
  vertical-align: middle;
}

.m-tableWide__icon {
  max-width: 220px;
  margin: 15px auto 0 auto;
  text-align: center;
}

/* point */
.m-point {
  margin: 0 auto 60px auto;
}

.m-point__item {
  margin-top: 30px;
}

.m-point__list .m-point__image {
  order: 1;
  width: 100%;
  padding: 0 15px;
  margin-bottom: 20px;
}

.m-point__list .m-point__detail {
  order: 2;
  width: 100%;
  padding: 0 15px;
}

.m-point__list .m-point__detail .m-point__title {
  font-size: 1.4rem;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  line-height: 1.6;
  text-align: center;
  margin-bottom: 20px;
}

/* onayami */
.m-onayami {
  margin-top: 30px;
}

.m-onayami__item .m-onayami__head {
  text-align: center;
}

.m-onayami__item .m-onayami__head .m-onayami__title {
  font-size: 1.2rem;
  letter-spacing: 0.05em;
  line-height: 1.6;
}

.m-onayami__item .m-onayami__head button {
  position: relative;
  margin: 0 auto;
  padding: 0 0 0 18px;
}

.m-onayami__item .m-onayami__head .m-onayami__icon {
  position: absolute;
  left: 0;
  top: 50%;
  width: 12px;
  height: 12px;
  background: #930B0B;
  border-radius: 50%;
  transform: translateY(-50%);
  white-space: nowrap;
  text-indent: 100%;
  overflow: hidden;
}

.m-onayami__item .m-onayami__head .m-onayami__icon::before,
.m-onayami__item .m-onayami__head .m-onayami__icon::after {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  width: 6px;
  height: 1px;
  background: #fff;
  transform: translate(-50%, -50%);
  transition: all 0.5s;
}

.m-onayami__item .m-onayami__head .m-onayami__icon::before {
  width: 1px;
  height: 6px;
}

.m-onayami__body {
  padding: 20px 28px;
}

.m-onayami-body__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.m-onayami-body__item {
  flex: 0 0 33.3333%;
  padding: 3px 2px;
  box-sizing: border-box;
}

/* m-product */
.m-product__block {
  margin-top: 50px;
  padding: 0;
}

.m-product__block .m-product__title {
  font-size: 1.6rem;
  letter-spacing: 0.1em;
  text-align: center;
}

.m-product__block .m-product__wrap {
  overflow-x: auto;
  margin-top: 20px;
  padding: 10px 0;
}

.m-product__block .m-product__wrap::-webkit-scrollbar {
  height: 5px;
}

.m-product__block .m-product__wrap::-webkit-scrollbar-track {
  background: #F2EFE6;
}

.m-product__block .m-product__wrap::-webkit-scrollbar-thumb {
  background: #DDD7CF;
}

.m-product__block .m-product__list {
  display: flex;
  flex-wrap: nowrap;
  padding: 0 15px;
}

.m-product__block .m-product__item {
  flex: 0 0 134px;
  padding: 0 5px;
  text-align: center;
}

.m-product__block .m-product__item a {
  display: block;
}

.m-product__block .m-product__item .m-product__logo {
  display: block;
  width: 103px;
  margin: 0 auto;
}

.m-product__block .icon-swipe-tap {
  width: 287px;
  margin: 10px auto 0;
}

/* m-product */
.m-sns {
  margin-top: 80px;
  text-align: center;
}

.m-sns .m-sns__text {
  font-size: 1.4rem;
}

.m-sns .m-sns__list {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  margin-top: 20px;
}

.m-sns .m-sns__item {
  padding: 0 3%;
  box-sizing: border-box;
}

/* bnr */
.m-bnr {
  margin-top: 50px;
  text-align: center;
}

/* suppprt */
.support-area .support__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 0 15px;
}

.support-area .support__list li {
  width: calc(50% - 5px);
}

.support-area .support__list li a {
  display: block;
  background-color: #FFF;
  text-decoration: none;
}

.support-area .support__image {
  margin: 0;
}

.support-area .support__image img {
  width: 100%;
  height: auto;
}

.support-area .support__detail {
  padding: 15px;
  background: #FFFF;
  font-size: 1.4rem;
  text-align: center;
}

.support-area .support__detail p {
  font-size: 1.4rem;
  margin: 0;
}

.support-area .support__list h3 {
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.4rem;
  text-align: center;
  line-height: 1.5;
  margin-bottom: 15px;
  vertical-align: middle;
}

.support-area .support-repair h3::before {
  content: "";
  display: inline-block;
  width: 17px;
  height: 17px;
  background: url(../img/common/icon-likeR.svg) no-repeat 0 50%;
  background-size: 17px;
  margin: -2px 5px 0 0;
}

.support-area .support-return h3::before {
  content: "";
  display: inline-block;
  width: 17px;
  height: 17px;
  background: url(../img/common/icon-return.svg) no-repeat 0 50%;
  background-size: 17px;
  margin: -2px 5px 0 0;
}

.support-area .rand-remake-bnr {
  margin: 20px auto;
  padding: 0 15px;
}

.support-area .rand-remake-bnr-link {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  text-decoration: none;
  background: #FFF;
}

.support-area .rand-remake-bnr-image {
  width: calc(50% - 5px);
}

.support-area .rand-remake-bnr-image img {
  width: 100%;
  height: auto;
}

.support-area .rand-remake-bnr-text {
  width: calc(50% + 5px);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.4rem;
  text-align: center;
  line-height: 1.5;
}

.support-area .rand-remake-bnr-text p {
  margin: 0;
}

@media (max-width: 767px) {

  /* table */
  .m-table th,
  .m-table td {
    display: block;
  }

  .m-tab__item:first-child .m-tab__link {
    border-left: 0;
  }

  .m-tab__item:last-child .m-tab__link {
    border-right: 0;
  }
}

/* sp */
@media(min-width: 768px) {
  .hdg-ver01 {
    min-height: 120px;
    padding: 40px 10px 40px 10px;
    font-size: 2rem;
  }

  .hdg-ver01 span {
    font-size: 2rem;
  }

  .hdg-ver01 .hdg-ver01__sub {
    font-size: 1.3rem;
  }

  .hdg-ver02 {
    min-height: 393px;
    background-size: 100% auto;
  }

  .hdg-ver02 .hdg-ver02__title {
    font-size: 2.8rem;
  }

  .hdg-ver03 {
    margin: 180px 0 50px 0;
    font-size: 2.4rem;
  }

  .hdg-ver03 .hdg-ver03__sub {
    margin-top: 25px;
    font-size: 1.4rem;
  }

  .hdg-ver04 {
    margin: 150px 0 50px 0;
    padding: 0 0 35px 0;
    font-size: 2.2rem;
    letter-spacing: 0.1em;
  }

  .btn-type01 {
    padding: 0 17px 0 12px;
    font-size: 1.3rem;
  }

  .btn-type01 span {
    padding: 5px 0 3px 18px;
  }

  .btn-type01 span::before {
    width: 16px;
    height: 16px;
    background-size: 16px;
  }

  .btn-type01 span::after {
    left: 5px;
  }

  .btn-type02 {
    padding: 0 22px 0 22px;
    font-size: 1.4rem;
  }

  .btn-type02 span {
    padding: 5px 0 3px 22px;
  }

  .btn-type02 span::before {
    width: 16px;
    height: 16px;
  }

  .btn-type02 span::after {
    left: 5px;
  }

  .btn-type03 {
    padding: 5px 30px 3px 30px;
    font-size: 1.4rem;
  }

  .btn-type-close {
    padding: 0 25px 0 25px;
    font-size: 1.3rem;
  }

  .btn-type-close span {
    padding: 5px 0 3px 20px;
  }

  .btn-type-close span::before {
    width: 13px;
    height: 13px;
  }

  .btn-type04 {
    font-size: 1.4rem;
  }

  .btn-type-win,
  .btn-type01,
  .btn-type02,
  .btn-type03,
  .btn-type04 {
    transition: all 0.5s;
  }

  .btn-type-win:hover,
  .btn-type01:hover,
  .btn-type02:hover,
  .btn-type03:hover,
  .btn-type04:hover {
    opacity: 0.7;
  }

  .link-type01 {
    padding: 0 0 0 20px;
    font-size: 1.4rem;
  }

  .link-type01::before {
    width: 16px;
    height: 16px;
    background-size: 16px 16px;
  }

  .link-type01::after {
    left: 5px;
    top: 9px;
  }

  .link-type-win {
    padding: 0 0 0 20px;
    font-size: 1.4rem;
  }

  .link-type-win::before {
    width: 13px;
    height: 13px;
  }

  .link-type-back {
    padding: 0 0 0 20px;
    font-size: 1.4rem;
  }

  .link-type-back::before {
    width: 16px;
    height: 16px;
    background-size: 16px 16px;
  }

  .link-type01:hover,
  .link-type-win:hover,
  .link-type-back:hover {
    text-decoration: underline;
  }

  .m-back__link {
    padding-top: 100px;
  }

  /* list */
  .m-dot__list>li {
    font-size: 1.5rem;
  }

  /* tab */
  .m-tab__item .m-tab__link {
    padding: 18px 5px;
    /*transition: all 0.5s;*/
    border-radius: 10px 10px 0 0;
  }

  .m-tab__item .m-tab__link span {
    padding: 0 0 0 20px;
    font-size: 1.6rem;
  }

  .m-tab__item .m-tab__link span::before {
    width: 14px;
    height: 14px;
  }

  .m-tab__box {
    padding: 55px 15px 0;
  }

  .m-tab__list {
    max-width: 1000px;
    margin: 0 auto;
  }

  .m-tab__panel {
    max-width: 1000px;
    margin: 0 auto;
  }

  /* table */
  .m-table th,
  .m-table td {
    font-size: 1.5rem;
  }

  .m-tableWide__wrap {
    overflow: initial;
    overflow-x: initial;
  }

  .m-tableWide th,
  .m-tableWide td {
    font-size: 1.2rem;
  }

  .m-tableWide__icon {
    display: none;
  }

  /* point */
  .m-point {
    max-width: 1200px;
    margin: 0 auto 60px auto;
  }

  .m-point__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px 15px;
  }

  .m-point__list .m-point__image {
    padding: 0;
    margin-bottom: 20px;
  }

  .m-point__list .m-point__detail {
    padding: 0;
  }

  .m-point__list .m-point__detail .m-point__title {
    font-size: 1.5rem;
  }

  .m-point__list .m-point__detail .m-point__text {
    font-size: 1.5rem;
  }

  /* onayami */
  .m-onayami {
    margin-top: 45px;
  }

  .m-onayami-body__list {
    max-width: 1200px;
    margin: 0 auto;
  }

  .m-onayami__item .m-onayami__head .m-onayami__title {
    font-size: 1.5rem;
  }

  .m-onayami__item .m-onayami__head button {
    padding: 0 0 0 20px;
  }

  .m-onayami__item .m-onayami__head .m-onayami__icon {
    width: 16px;
    height: 16px;
  }

  .m-onayami__item .m-onayami__body {
    flex-wrap: nowrap;
    padding: 30px 0;
  }

  .m-onayami__item .m-onayami-body__item {
    flex: 0 0 9%;
    max-width: 9%;
    padding: 0 2px;
  }

  /* m-product */
  .m-product__block {
    max-width: 1000px;
    margin: 70px auto 0 auto;
  }

  .m-product__block .m-product__title {
    font-size: 1.7rem;
  }

  .m-product__block .m-product__wrap {
    overflow-x: hidden;
    padding: 0;
  }

  .m-product__block .m-product__list {
    flex-wrap: wrap;
    justify-content: center;
  }

  .m-product__block .m-product__item {
    margin-top: 30px;
  }

  /* m-product */
  .m-sns .m-sns__text {
    font-size: 1.6rem;
  }

  .m-sns .m-sns__item {
    padding: 0 1%;
  }

  /* bnr */
  .m-bnr {
    max-width: 50%;
    margin: 120px auto 0;
  }

  .support-area .support__list {
    width: 840px;
    margin: 0 auto 30px auto;
    padding: 0;
  }

  .support-area .support__list li {
    width: calc(50% - 10px);
  }

  .support-area .support__list li a {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }

  .support-area .support__image {
    width: calc(50% - 10px);
  }

  .support-area .support__detail {
    width: calc(50% + 10px);
    padding: 15px;
    font-size: 1.4rem;
  }

  .support-area .support__detail p {
    font-size: 1.4rem;
    margin: 0;
  }

  .support-area .support__list h3 {
    font-size: 1.4rem;
    margin-bottom: 15px;
  }

  .support-area .support-repair h3::before {
    width: 17px;
    height: 17px;
    background-size: 17px;
  }

  .support-area .support-return h3::before {
    width: 17px;
    height: 17px;
    background-size: 17px;
  }

  .support-area .rand-remake-bnr {
    width: 426px;
    margin: 20px auto;
    padding: 0 15px;
  }

  .support-area .rand-remake-bnr-link {
    width: 426px;
    align-items: center;
  }

  .support-area .rand-remake-bnr-image {
    width: calc(50% - 10px);
  }

  .support-area .rand-remake-bnr-text {
    width: calc(50% + 10px);
    font-size: 1.6rem;
    justify-content: center;
  }

  .support-area .rand-remake-bnr-text p {
    margin: 0;
  }
}

/* pc */



/* contents nav
-------------------------------------------------- */
.contents-nav {
  border-bottom: 1px solid #DDDCD8;
}

.contents-nav__list {
  display: flex;
  flex-wrap: nowrap;
  background: #F7F6F2;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
}

.contents-nav__list li {
  flex: 0 4 50%;
  text-align: center;
}

.contents-nav__list li a {
  position: relative;
  display: block;
  padding: 15px 5px;
  font-size: 1.2rem;
  letter-spacing: 0.05em;
}

.contents-nav__list li.current a::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -1px;
  width: 10px;
  height: 2px;
  background: #930B0B;
  transform: translateX(-50%);
}

@media(min-width: 768px) {
  .contents-nav__list {
    max-width: 1000px;
    margin: 0 auto;
  }

  .contents-nav__list li a {
    font-size: 1.4rem;
    transition: all 0.5s;
  }

  .contents-nav__list li a:hover {
    opacity: 0.7;
  }
}

/* pc */

/* 2-2. alert
-------------------------------------------------- */
.alert {
  padding: 70px 40px;
  background: #fff;
}

.alert .alert__title {
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  color: #930B0B;
  text-align: center;
}

.alert p {
  margin-top: 10px;
}

.alert ul li {
  position: relative;
  margin-top: 15px;
  padding: 0 0 0 1em;
  letter-spacing: 0.05em;
  line-height: 1.6;
  font-size: 1.4rem;
}

.alert ul li::before {
  position: absolute;
  left: 0;
  top: 0.5em;
  right: 0;
  bottom: 0;
  content: "";
  width: 6px;
  height: 6px;
  background: #46331C;
  border-radius: 50%;
  vertical-align: middle;
}

.alert a {
  text-decoration: underline;
}

.alert a.btn-type01,
.alert a.btn-type02,
.alert a.btn-type03 {
  text-decoration: none;
}

.alert.m-note {
  margin-top: 30px;
  padding: 30px 18px;
  border: 1px solid #930B0B;
  border-radius: 10px;
}

@media(min-width: 768px) {
  .alert {
    width: 100%;
    padding: 80px 10px;
    background: #fff;
    box-sizing: border-box;
  }

  .alert .alert__inner {
    max-width: 900px;
    margin: 0 auto;
  }

  .alert a:hover {
    text-decoration: none;
  }
}

/* pc */

/* 2-3. Utility
-------------------------------------------------- */
/*clearfix [ModernType]*/
.clearfix:after {
  display: block;
  clear: both;
  content: "";
}

/* margin,padding [mb10,pt20]*/
/* margin  */
.m0 {
  margin: 0 !important;
}

.m5 {
  margin: 5px !important;
}

.m10 {
  margin: 10px !important;
}

.m15 {
  margin: 15px !important;
}

.m20 {
  margin: 20px !important;
}

.m25 {
  margin: 25px !important;
}

.m30 {
  margin: 30px !important;
}

.m35 {
  margin: 35px !important;
}

.m40 {
  margin: 40px !important;
}

.m45 {
  margin: 45px !important;
}

.m50 {
  margin: 50px !important;
}

.m55 {
  margin: 55px !important;
}

.m60 {
  margin: 60px !important;
}

.m65 {
  margin: 65px !important;
}

.m70 {
  margin: 70px !important;
}

.m75 {
  margin: 75px !important;
}

.m80 {
  margin: 80px !important;
}

.m85 {
  margin: 85px !important;
}

.m90 {
  margin: 90px !important;
}

.m95 {
  margin: 95px !important;
}

.m100 {
  margin: 100px !important;
}

/* margin-top */
.mt0 {
  margin-top: 0 !important;
}

.mt5 {
  margin-top: 5px !important;
}

.mt10 {
  margin-top: 10px !important;
}

.mt15 {
  margin-top: 15px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.mt25 {
  margin-top: 25px !important;
}

.mt30 {
  margin-top: 30px !important;
}

.mt35 {
  margin-top: 35px !important;
}

.mt40 {
  margin-top: 40px !important;
}

.mt45 {
  margin-top: 45px !important;
}

.mt50 {
  margin-top: 50px !important;
}

.mt55 {
  margin-top: 55px !important;
}

.mt60 {
  margin-top: 60px !important;
}

.mt65 {
  margin-top: 65px !important;
}

.mt70 {
  margin-top: 70px !important;
}

.mt75 {
  margin-top: 75px !important;
}

.mt80 {
  margin-top: 80px !important;
}

.mt85 {
  margin-top: 85px !important;
}

.mt90 {
  margin-top: 90px !important;
}

.mt95 {
  margin-top: 95px !important;
}

.mt100 {
  margin-top: 100px !important;
}

/* margin-right */
.mr0 {
  margin-right: 0 !important;
}

.mr5 {
  margin-right: 5px !important;
}

.mr10 {
  margin-right: 10px !important;
}

.mr15 {
  margin-right: 15px !important;
}

.mr20 {
  margin-right: 20px !important;
}

.mr25 {
  margin-right: 25px !important;
}

.mr30 {
  margin-right: 30px !important;
}

.mr35 {
  margin-right: 35px !important;
}

.mr40 {
  margin-right: 40px !important;
}

.mr45 {
  margin-right: 45px !important;
}

.mr50 {
  margin-right: 50px !important;
}

.mr55 {
  margin-right: 55px !important;
}

.mr60 {
  margin-right: 60px !important;
}

.mr65 {
  margin-right: 65px !important;
}

.mr70 {
  margin-right: 70px !important;
}

.mr75 {
  margin-right: 75px !important;
}

.mr80 {
  margin-right: 80px !important;
}

.mr85 {
  margin-right: 85px !important;
}

.mr90 {
  margin-right: 90px !important;
}

.mr95 {
  margin-right: 95px !important;
}

.mr100 {
  margin-right: 100px !important;
}

/* margin-bottom */
.mb0 {
  margin-bottom: 0 !important;
}

.mb5 {
  margin-bottom: 5px !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.mb15 {
  margin-bottom: 15px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.mb25 {
  margin-bottom: 25px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.mb35 {
  margin-bottom: 35px !important;
}

.mb40 {
  margin-bottom: 40px !important;
}

.mb45 {
  margin-bottom: 45px !important;
}

.mb50 {
  margin-bottom: 50px !important;
}

.mb55 {
  margin-bottom: 55px !important;
}

.mb60 {
  margin-bottom: 60px !important;
}

.mb65 {
  margin-bottom: 65px !important;
}

.mb70 {
  margin-bottom: 70px !important;
}

.mb75 {
  margin-bottom: 75px !important;
}

.mb80 {
  margin-bottom: 80px !important;
}

.mb85 {
  margin-bottom: 85px !important;
}

.mb90 {
  margin-bottom: 90px !important;
}

.mb95 {
  margin-bottom: 95px !important;
}

.mb100 {
  margin-bottom: 100px !important;
}

.mb120 {
  margin-bottom: 120px !important;
}
/* margin-left */
.ml0 {
  margin-left: 0 !important;
}

.ml5 {
  margin-left: 5px !important;
}

.ml10 {
  margin-left: 10px !important;
}

.ml15 {
  margin-left: 15px !important;
}

.ml20 {
  margin-left: 20px !important;
}

.ml25 {
  margin-left: 25px !important;
}

.ml30 {
  margin-left: 30px !important;
}

.ml35 {
  margin-left: 35px !important;
}

.ml40 {
  margin-left: 40px !important;
}

.ml45 {
  margin-left: 45px !important;
}

.ml50 {
  margin-left: 50px !important;
}

.ml55 {
  margin-left: 55px !important;
}

.ml60 {
  margin-left: 60px !important;
}

.ml65 {
  margin-left: 65px !important;
}

.ml70 {
  margin-left: 70px !important;
}

.ml75 {
  margin-left: 75px !important;
}

.ml80 {
  margin-left: 80px !important;
}

.ml85 {
  margin-left: 85px !important;
}

.ml90 {
  margin-left: 90px !important;
}

.ml95 {
  margin-left: 95px !important;
}

.ml100 {
  margin-left: 100px !important;
}

/* padding */
.p0 {
  padding: 0 !important;
}

.p5 {
  padding: 5px !important;
}

.p10 {
  padding: 10px !important;
}

.p15 {
  padding: 15px !important;
}

.p20 {
  padding: 20px !important;
}

.p25 {
  padding: 25px !important;
}

.p30 {
  padding: 30px !important;
}

.p35 {
  padding: 35px !important;
}

.p40 {
  padding: 40px !important;
}

.p45 {
  padding: 45px !important;
}

.p50 {
  padding: 50px !important;
}

.p55 {
  padding: 55px !important;
}

.p60 {
  padding: 60px !important;
}

.p65 {
  padding: 65px !important;
}

.p70 {
  padding: 70px !important;
}

.p75 {
  padding: 75px !important;
}

.p80 {
  padding: 80px !important;
}

.p85 {
  padding: 85px !important;
}

.p90 {
  padding: 90px !important;
}

.p95 {
  padding: 95px !important;
}

.p100 {
  padding: 100px !important;
}

/* padding-top */
.pt0 {
  padding-top: 0 !important;
}

.pt5 {
  padding-top: 5px !important;
}

.pt10 {
  padding-top: 10px !important;
}

.pt15 {
  padding-top: 15px !important;
}

.pt20 {
  padding-top: 20px !important;
}

.pt25 {
  padding-top: 25px !important;
}

.pt30 {
  padding-top: 30px !important;
}

.pt35 {
  padding-top: 35px !important;
}

.pt40 {
  padding-top: 40px !important;
}

.pt45 {
  padding-top: 45px !important;
}

.pt50 {
  padding-top: 50px !important;
}

.pt55 {
  padding-top: 55px !important;
}

.pt60 {
  padding-top: 60px !important;
}

.pt65 {
  padding-top: 65px !important;
}

.pt70 {
  padding-top: 70px !important;
}

.pt75 {
  padding-top: 75px !important;
}

.pt80 {
  padding-top: 80px !important;
}

.pt85 {
  padding-top: 85px !important;
}

.pt90 {
  padding-top: 90px !important;
}

.pt95 {
  padding-top: 95px !important;
}

.pt100 {
  padding-top: 100px !important;
}

/* padding-right */
.pr0 {
  padding-right: 0 !important;
}

.pr5 {
  padding-right: 5px !important;
}

.pr10 {
  padding-right: 10px !important;
}

.pr15 {
  padding-right: 15px !important;
}

.pr20 {
  padding-right: 20px !important;
}

.pr25 {
  padding-right: 25px !important;
}

.pr30 {
  padding-right: 30px !important;
}

.pr35 {
  padding-right: 35px !important;
}

.pr40 {
  padding-right: 40px !important;
}

.pr45 {
  padding-right: 45px !important;
}

.pr50 {
  padding-right: 50px !important;
}

.pr55 {
  padding-right: 55px !important;
}

.pr60 {
  padding-right: 60px !important;
}

.pr65 {
  padding-right: 65px !important;
}

.pr70 {
  padding-right: 70px !important;
}

.pr75 {
  padding-right: 75px !important;
}

.pr80 {
  padding-right: 80px !important;
}

.pr85 {
  padding-right: 85px !important;
}

.pr90 {
  padding-right: 90px !important;
}

.pr95 {
  padding-right: 95px !important;
}

.pr100 {
  padding-right: 100px !important;
}

/* padding-bottom */
.pb0 {
  padding-bottom: 0 !important;
}

.pb5 {
  padding-bottom: 5px !important;
}

.pb10 {
  padding-bottom: 10px !important;
}

.pb15 {
  padding-bottom: 15px !important;
}

.pb20 {
  padding-bottom: 20px !important;
}

.pb25 {
  padding-bottom: 25px !important;
}

.pb30 {
  padding-bottom: 30px !important;
}

.pb35 {
  padding-bottom: 35px !important;
}

.pb40 {
  padding-bottom: 40px !important;
}

.pb45 {
  padding-bottom: 45px !important;
}

.pb50 {
  padding-bottom: 50px !important;
}

.pb55 {
  padding-bottom: 55px !important;
}

.pb60 {
  padding-bottom: 60px !important;
}

.pb65 {
  padding-bottom: 65px !important;
}

.pb70 {
  padding-bottom: 70px !important;
}

.pb75 {
  padding-bottom: 75px !important;
}

.pb80 {
  padding-bottom: 80px !important;
}

.pb85 {
  padding-bottom: 85px !important;
}

.pb90 {
  padding-bottom: 90px !important;
}

.pb95 {
  padding-bottom: 95px !important;
}

.pb100 {
  padding-bottom: 100px !important;
}

/* padding-left */
.pl0 {
  padding-left: 0 !important;
}

.pl5 {
  padding-left: 5px !important;
}

.pl10 {
  padding-left: 10px !important;
}

.pl15 {
  padding-left: 15px !important;
}

.pl20 {
  padding-left: 20px !important;
}

.pl25 {
  padding-left: 25px !important;
}

.pl30 {
  padding-left: 30px !important;
}

.pl35 {
  padding-left: 35px !important;
}

.pl40 {
  padding-left: 40px !important;
}

.pl45 {
  padding-left: 45px !important;
}

.pl50 {
  padding-left: 50px !important;
}

.pl55 {
  padding-left: 55px !important;
}

.pl60 {
  padding-left: 60px !important;
}

.pl65 {
  padding-left: 65px !important;
}

.pl70 {
  padding-left: 70px !important;
}

.pl75 {
  padding-left: 75px !important;
}

.pl80 {
  padding-left: 80px !important;
}

.pl85 {
  padding-left: 85px !important;
}

.pl90 {
  padding-left: 90px !important;
}

.pl95 {
  padding-left: 95px !important;
}

.pl100 {
  padding-left: 100px !important;
}

/* Object-Oriented CSS [OOCSS]*/
.no-display {
  display: none;
}

.no-br {
  white-space: nowrap;
}

.no-line-height {
  line-height: 1 !important;
}

.pull-left {
  float: left !important;
}

.pull-right {
  float: right !important;
}

.right {
  text-align: right !important;
}

.center {
  text-align: center !important;
}

.left {
  text-align: left !important;
}

.top {
  vertical-align: top !important;
}

.middle {
  vertical-align: middle !important;
}

.bottom {
  vertical-align: bottom !important;
}

.center-pc {
  text-align: center !important;
}

.strong {
  font-weight: bold;
  color: var(--color-red);
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
}

/* for RWD */
.fluid-image {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

.visible-pc {
  display: block !important;
}

.visible-sp {
  display: none !important;
}

.visible-tb {
  display: none !important;
}

a.text-link,
a.mail-link {
  color: #930B0B;
  text-decoration: underline;
}

a.over {
  display: block;
}

@media(max-width: 767px) {
  .visible-pc {
    display: none !important;
  }

  .visible-sp {
    display: block !important;
  }

  .visible-tb {
    display: none !important;
  }

  .center-pc {
    text-align: left !important;
  }
}

/* sp */
@media only screen and (min-width:768px) and (max-width:980px) {
  .visible-tb {
    display: block !important;
  }
}

/* tb */
@media(min-width: 768px) {
  a.over {
    transition: all 0.5s;
  }

  a.over:hover {
    opacity: 0.7;
  }

  a.mail-link:hover {
    text-decoration: none;
  }
}

/* pc */

/*2-2-7. Font size [fs-***]*/
.fs-19 {
  font-size: 1.9rem;
}

.fs-18 {
  font-size: 1.8rem;
}

.fs-16 {
  font-size: 1.6rem;
}

.fs-14 {
  font-size: 1.4rem;
}

.fs-13 {
  font-size: 1.3rem;
}

.fs-12 {
  font-size: 1.2rem;
}

.fs-11 {
  font-size: 1.1rem;
}

.fs-10 {
  font-size: 1.0rem;
}

.txt-red {
  color: #930b0b;
}

.txt-note {
  font-size: 1.2rem;
}

.m-caption {
  margin-top: 10px;
  font-size: .8rem;
  letter-spacing: 0.05em;
  text-align: right;
}

@media(min-width: 768px) {}

/* pc */

/* 2-3. State [is-***]
-------------------------------------------------- */
.is-open {
  display: block;
}

.is-error {
  background-color: #f9eceb;
}

.is-disabled {
  opacity: 0.45;
}

.is-show {
  visibility: visible;
  opacity: 1;
}


/* shop purchase benefits */
.l-section-ssssmall-inner {
  padding: 0 15px;
}

.c-purchase-benefits-list {
  display: grid;
  gap: 36px;
  margin: 36px 0 0;
}

.c-purchase-benefits--title {
  display: grid;
  place-content: center;
  margin: 0 0 20px;
  padding: 16px;
  background-color: var(--color-white);
  border: 1px solid var(--color-red);
  border-radius: 6px;
  color: var(--color-red);
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1.4;
  text-align: center;
  position: relative;
}

.c-purchase-benefits--title::after {
  content: '';
  display: block;
  width: 14px;
  height: 8px;
  background-image: url(../img/products/ico-speech-bubble.svg);
  object-fit: contain;
  position: absolute;
  left: calc((50% - 7px));
  bottom: -8px;
}

.c-purchase-benefits-main {
  display: grid;
  grid-template-columns: 1fr 90px;
  padding: 10px;
  background-color: var(--color-white);
  border-radius: 8px;
  position: relative;
  overflow: hidden;
}

.c-purchase-benefits-main.u-col1 {
  grid-template-columns: 1fr;
  gap: 23px;
  padding: 26px 23px;
}

.c-purchase-benefits-main.u-col2-1 {
  grid-template-rows: 2;
  gap: 20px 10px;
}

.c-purchase-benefits-main.u-col2-1 .c-txt {
  grid-area: 2 / 1 / 3 / 3;
  padding: 5px;
}

.c-purchase-benefits--number {
  display: block;
  background-color: var(--color-red);
  padding: 23px 25px 3px;
  transform: rotate(-45deg);
  color: var(--color-white);
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 1.5;
  text-align: center;
  position: absolute;
  top: -10px;
  left: -30px;
}

.c-purchase-benefits--title--txt {
  display: grid;
  place-content: center;
}

.c-purchase-benefits--title--txt p {
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.6rem;
  text-align: center;
}

.c-purchase-benefits--title--txt .u-smalltxt {
  font-size: 1.2rem;
  line-height: 2;
}

.c-purchase-benefits--title--imglist {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}

.c-purchase-benefits--title--imglist li {
  display: grid;
  gap: 17px;
}

.c-purchase-benefits-imglist--img {
  display: block;
  place-content: center;
}

.c-purchase-benefits-imglist--img img {
  height: 91px;
  object-fit: contain;
}

.c-purchase-benefits-imglist--txt {
  display: block;
  place-content: center;
}

.c-purchase-benefits-imglist--txt p {
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.2rem;
  line-height: 1.1;
  text-align: center;
}

@media (min-width: 768px) {
  .l-section-ssssmall-inner {
    /* 660px */
    width: 1200px;
    padding: 0 270px;
    margin: 0 auto;
  }

  .c-purchase-benefits-list {
    gap: 15px;
    margin: 72px 0 0;
  }

  .c-purchase-benefits--title {
    padding: 16px;
    font-size: 1.4rem;
  }

  .c-purchase-benefits-main {
    grid-template-columns: 1fr 110px;
  }

  .c-purchase-benefits--title--txt p {
    font-size: 2rem;
  }

  .c-purchase-benefits--title--txt .u-smalltxt {
    font-size: 1.4rem;
  }

  .c-purchase-benefits--title--imglist {
    grid-template-columns: repeat(4, 1fr);
  }
}


/* navigation
-------------------------------------------------- */
.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
}

.pagination {
  clear: both;
  margin: 50px 0 0;
  text-align: center;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
}

.pagination .nav-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.pagination a,
.pagination span {
  display: flex;
  align-items: center;
  justify-content: center;
}

.pagination a.page-numbers {
  width: 33px;
  height: 33px;
  margin: 0 5px;
  list-style: none;
  background-color: #fff;
  border: 0;
  color: #222222;
  font-size: 12px;
  text-decoration: none;
  box-sizing: border-box;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
}

.pagination span.current {
  width: 33px;
  height: 33px;
  margin: 0 5px;
  background-color: #DEDEDE;
  color: #222222;
  font-size: 12px;
  box-sizing: border-box;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
}

.pagination span.page-numbers.dots {
  margin: 0 5px;
  box-sizing: border-box;
  color: #222222;
  font-size: 12px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
}

@media (min-width: 768px) {
  .pagination {
    margin: 50px 0 140px;
  }

  .pagination a.page-numbers {
    width: 40px;
    height: 40px;
    transition: all 0.3s ease;
    font-size: 14px;
  }

  .pagination a.page-numbers:hover {
    text-decoration: underline;
  }

  .pagination span.current {
    width: 40px;
    height: 40px;
    font-size: 14px;
  }

  .pagination span.page-numbers.dots {
    font-size: 14px;
  }
}

#karte-c {
  position: relative;
  z-index: 100 !important;
}

.karte-widget {
  z-index: 100 !important;
}


/* 終了オーバーレイ */
.ended {
  position: relative;
}

.ended::after {
  content: "終了しました";
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  height: 100%;
  background: rgba(204, 204, 204, 0.75);
  text-align: center;
  color: #FFF;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 2rem;
}



/* 男の子/女の子に人気 */
.p-top5 {
  margin: 30px 0 28px;
}

.l-top5-area {
  margin: 0 auto 40px auto;
}

.c-top5 {
  margin: 50px 0 30px 0;
}
.c-top-section .c-top5 {
  margin: 0;
  padding: 0;
}

.c-itemcategory_title {
  padding: 0 15px;
}

.l-section-inner .c-itemcategory_title {
  padding: 0;
}

.c-color-categories .c-itemcategory_title {
  padding: 0;
}

.c-itemcategory_title .u-main {
  margin-bottom: 15px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 2.0rem;
  line-height: 1.4;
  text-align: left;
}

.c-top5.c-blue .c-itemcategory_title .u-main {
  color: #308AAB;
}

.c-top5.c-green .c-itemcategory_title .u-main {
  color: #30ABA2;
}

.c-top5.c-orange .c-itemcategory_title .u-main {
  color: #DD930A;
}

.c-top5.c-red .c-itemcategory_title .u-main {
  color: #A92843;
}

.c-top5.c-purple .c-itemcategory_title .u-main {
  color: #AB7FB5;
}

.c-top5.c-pink .c-itemcategory_title .u-main {
  color: #E58AB0;
}

.c-itemcategory_title .u-sub {
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 2.3;
}

.c-top5.c-blue .c-itemcategory_title .u-sub {
  color: #9DCADB;
}

.c-top5.c-green .c-itemcategory_title .u-sub {
  color: #A1D5D1;
}

.c-top5.c-orange .c-itemcategory_title .u-sub {
  color: #F7C972;
}

.c-top5.c-red .c-itemcategory_title .u-sub {
  color: #A92843;
  opacity: 0.5;
}

.c-top5.c-purple .c-itemcategory_title .u-sub {
  color: #AB7FB5;
  opacity: 0.6;
}

.c-top5.c-pink .c-itemcategory_title .u-sub {
  color: #E58AB0;
  opacity: 0.6;
}

.c-itemcategory_txt {
  margin: 0 0 20px 0;
  padding: 0 15px;
}

.c-itemcategory_txt p {
  font-size: 1.2rem;
  text-align: left;
}


.p-ransellist {
  padding: 28px 0 0 0;
}

.p-ransellist .l-section-inner {
  padding-bottom: 0;
}

.c-ransellist-header {
  display: grid;
  gap: 5px;
  margin: 0 0 30px;
  text-align: center;
}

.c-ransellist-header .u-sub {
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 1.4;
  text-align: center;
}

.cat-boys .c-ransellist-header .u-sub {
  color: #75B4CC;
}

.cat-boys .c-ransellist-header .u-main {
  color: #308AAB;
}

.cat-girls .c-ransellist-header .u-sub {
  color: #A92843;
  opacity: 0.5;
}

.cat-girls .c-ransellist-header .u-main {
  color: #A92843;
}

.c-ransellist-header .u-main {
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 2.6rem;
  line-height: 1.4;
  text-align: center;
}

.c-ransellist-txt {
  margin: 0 15px 50px;
}

.p-reason,
.p-letter {
  padding: 60px 0;
}

.l-reasonarea {
  display: grid;
  gap: 50px;
}

.c-reason-header {
  margin: 0 0 20px;
  text-align: center;
}

.c-reason-header .u-sub {
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 2.4rem;
  line-height: 28px;
}

.c-reason-header .u-main {
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.8rem;
  line-height: 28px;
}

.cat-boys .c-reason-header .u-sub {
  color: #308AAB;
  opacity: 0.35;
}

.cat-boys .c-reason-header .u-main {
  color: #308AAB;
}

.cat-girls .c-reason-header .u-sub {
  color: #D1909C;
  opacity: 0.35;
}

.cat-girls .c-reason-header .u-main {
  color: #A92843;
}

.c-reason--img {
  width: 100%;
  margin: 0 0 35px;
}

.c-reason--title {
  margin: 0 0 15px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 2.2rem;
  line-height: 1.6;
  text-align: center;
}

.c-reason--txt.c-txt p {
  line-height: 1.85;
}

.c-reason--link {
  margin-top: 10px;
}

.product-letters-head {
  margin: 0 0 15px 0;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 1.5;
  text-align: center;
}

.product-letters {
  display: flex;
}

.product-letters li {
  width: 175px;
  min-width: 175px;
  margin: 0 0 0 10px;
  text-align: center;
}

.product-letters li a {
  display: block;
  background-color: #FFF;
  padding-bottom: 20px;
}

.product-letters--img {
  margin: 0 0 15px 0;
}

.product-letters--img img {
  display: block;
}

.product-letters--title {
  margin: 0 0 10px 0;
  padding: 0 10px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.2rem;
  line-height: 1.5;
  text-align: center;
}

.product-letters--address {
  margin: 0 0 10px 0;
  padding: 0 10px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.0rem;
  line-height: 1.5;
  text-align: center;
}

.product-letters--ransel {
  margin: 0;
  padding: 0 10px;
  font-family: var(--font-gothic-l);
  letter-spacing: var(--ls-gothic-m);
  font-size: 1.0rem;
  line-height: 1.5;
  text-align: center;
}

.p-letter .c-top-section-inner {
  margin-bottom: 40px;
}

.popular-btn {
  margin-top: 30px;
}

.popular-btn a {
  display: inline-block;
  padding: 12px 30px;
  width: auto;
  border-radius: 999px;
  position: relative;
  color: var(--color-white);
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.2rem;
  line-height: 1.2;
  text-align: center;
}

.c-blue a {
  background-color: #308AAB;
}

.c-green a {
  background-color: #30ABA2;
}

.c-orange a {
  background-color: #F0B13B;
}

.c-red a {
  background-color: #A92843;
}

.c-purple a {
  background-color: #AB7FB5;
}

.c-pink a {
  background-color: #E58AB0;
}

@media (min-width: 768px) {
  .product-mv--txt {
    max-width: 780px;
    margin: 0 auto 40px auto;
    text-align: center;
  }

  .p-top5 {
    margin: 50px 0 75px;
  }

  .l-top5-area {
    width: 1200px;
    margin: 0 auto;
  }

  .c-top5 {
    padding: 30px 0;
  }

  .c-itemcategory_title {
    margin: 0 0 24px 0;
    padding: 0;
  }

  .c-itemcategory_title .u-main {
    font-size: 2.6rem;
  }

  .c-itemcategory_title .u-sub {
    font-size: 1.6rem;
  }

  .c-itemcategory_txt {
    margin: 0 0 35px;
    padding: 0;
  }

  .c-itemcategory_txt p {
    font-size: 1.5rem;
  }

  .p-ransellist {
    padding: 75px 0 0 0;
  }

  .c-ransellist-header {
    gap: 10px;
    margin-bottom: 15px;
  }

  .c-ransellist-header .u-sub {
    font-size: 1.8rem;
  }

  .c-ransellist-header .u-main {
    font-size: 3.9rem;
  }

  .c-ransellist-txt {
    margin: 0 0 73px;
  }

  .p-reason,
  .p-letter {
    padding: 75px 0;
  }

  .l-reasonarea {
    gap: 80px;
  }

  .c-reason {
    display: grid;
    align-items: center;
    height: 410px;
    position: relative;
  }

  .c-reason:nth-of-type(odd) {
    padding: 0 0 0 582px;
  }

  .c-reason:nth-of-type(even) {
    padding: 0 582px 0 0;
  }

  .c-reason-header {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 16px;
    margin-bottom: 0;
  }

  .c-reason-header .u-sub {
    font-size: 2.8em;
  }

  .c-reason-header.u-main {
    font-size: 2.3rem;
  }

  .c-reason--img {
    width: 540px;
    height: 410px;
    object-fit: cover;
    margin: 0;
    position: absolute;
    top: 0;
  }

  .c-reason:nth-of-type(odd) .c-reason--img {
    left: 30px;
  }

  .c-reason:nth-of-type(even) .c-reason--img {
    right: 30px;
  }

  .c-reason--title {
    margin-bottom: 15px;
    font-size: 2.5rem;
  }

  .c-reason--txt.c-txt {
    width: 540px;
    margin: 0 auto;
  }

  .c-reason--txt.c-txt p {
    font-size: 1.4rem;
  }

  .product-letters-head {
    margin: 0 0 25px 0;
    font-size: 1.8rem;
  }

  .product-letters {
    display: flex;
    justify-content: center;
  }

  .product-letters li {
    width: 280px;
    max-width: 280px;
    margin: 0 20px 0 0;
  }

  .product-letters li:last-child {
    margin-right: 0;
  }

  .product-letters--img {
    margin: 0 0 20px 0;
  }

  .product-letters--title {
    margin: 0 0 20px 0;
    font-size: 1.5rem;
  }

  .product-letters--address {
    margin: 0 0 10px 0;
    font-size: 1.2rem;
  }

  .product-letters--ransel {
    margin: 0 0 10px 0;
    font-family: var(--font-gothic-l);
    letter-spacing: var(--ls-gothic-l);
    font-size: 1.2rem;
  }

  .popular-btn a {
    font-size: 1.5rem;
  }
}

/* モデル一覧 */
.model-outline-list {}

.model-outline-item {
  margin: 0 0 20px 0;
}

.model-outline-item a {
  display: block;
  text-decoration: none;
  overflow: hidden;
  border-radius: 6px;
  background: #FFF;
  height: 100%;
}

.model-outline-thumb {
  position: relative;
}

.model-outline-thumb img {
  width: 100%;
  height: auto;
}

.model-outline-thumb .re-icon {
  position: absolute;
  top: 6px;
  left: 6px;
  width: 42px;
}

.model-outline-thumb .c-model-rank {
  top: 6px;
  left: 6px;
}

.wt-icon {
  position: absolute;
  right: 6px;
  bottom: 6px;
  background: #FFF;
  padding: 5px 10px;
  border-radius: 4px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.2rem;
  text-align: center;
  line-height: 1;
  color: #222;
}

.bk-icon {
  position: absolute;
  right: 6px;
  bottom: 6px;
  background: #404040;
  padding: 5px 10px;
  border-radius: 4px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.2rem;
  text-align: center;
  line-height: 1;
  color: #FFF;
}

.model-outline-body {
  padding: 20px;
}

.model-outline-logo {
  text-align: center;
}

.model-outline-logo img {
  height: 25px;
  margin: 0 auto;
}

.model-outline-title {
  margin: 10px 0 15px 0;
  padding: 0;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.2rem;
  text-align: center;
  line-height: 1;
  color: #7B7B7B;
}

.model-outline-price {
  margin: 0 0 10px 0;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.2rem;
  text-align: center;
}

.model-outline-feature {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 5px;
  text-align: center;
  padding: 0;
  margin: 0 0 15px 0;
}

.model-outline-feature li {
  background: #AAAAAA;
  padding: 4px 10px;
  color: #FFF;
  border-radius: 4px;
  text-align: center;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.0rem;
  line-height: 1;
  white-space: nowrap;
}

.model-outline-head {
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.4rem;
  text-align: center;
  margin-bottom: 15px;
}

.model-outline-text {
  margin-bottom: 10px;
  font-size: 1.4rem;
  text-align: left;
}

.color-tip {
  text-align: center;
  margin: 10px auto;
}

.color-tip img {
  height: 23px;
  margin: 0 auto;
}

@media (min-width: 768px) {
  .model-outline-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px 15px;
  }

  .model-outline-item {
    margin: 0;
  }

  .model-outline-thumb .re-icon {
    position: absolute;
    top: 10px;
    left: 10px;
    width: 42px;
  }

  .model-outline-thumb .c-model-rank {
    top: 10px;
    left: 10px;
  }

  .wt-icon {
    right: 10px;
    bottom: 10px;
  }

  .bk-icon {
    right: 10px;
    bottom: 10px;
  }

  .model-outline-title {
    margin: 5px 0 20px 0;
    padding: 0;
    font-size: 1.2rem;
  }

  .model-outline-price {
    font-size: 1.2rem;
  }

  .model-outline-feature {
    gap: 10px;
    margin: 0 0 24px 0;
  }

  .model-outline-feature li {
    font-size: 1.2rem;
  }

  .model-outline-head {
    font-size: 1.5rem;
    margin-bottom: 20px;
  }

  .model-outline-text {
    margin-bottom: 20px;
    font-size: 1.4rem;
  }

  .color-tip img {
    height: 25px;
  }
}

/* モデル・シリーズ 商品グループ */
.group-model-head {
  padding: 0;
  margin: 0 0 70px 0;
}

.group-model-image {
  margin: 0;
  position: relative;
}

.group-model-image-caption {
  color: #FFF;
  margin: 0;
  font-size: 1.1rem;
  position: absolute;
  bottom: 10px;
  right: 10px;
  text-align: right;
  z-index: 2;
}

.group-model-body {
  padding: 30px 15px;
  background: #FFF;
}

.group-model-head .model-outline-logo img {
  width: auto;
  height: 30px;
}

.group-model-head .model-outline-head {
  margin-bottom: 20px;
}

@media (min-width: 768px) {
  .group-model-head {
    width: 1200px;
    margin: 50px auto 70px auto;
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
  }

  .group-model-image {
    width: 600px;
    margin: 0;
  }

  .group-model-image-caption {
    font-size: 1.2rem;
  }

  .group-model-body {
    width: 600px;
    padding: 30px 50px;
    background: #FFF;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .group-model-head .model-outline-logo img {
    height: 40px;
  }

  .group-model-head .model-outline-title {
    margin: 12px 0 20px 0;
    padding: 0;
    font-size: 1.8rem;
  }

  .group-model-head .model-outline-price {
    font-size: 1.2rem;
    margin-bottom: 30px;
  }

  .group-model-head .model-outline-feature {
    gap: 10px;
    margin: 0 0 60px 0;
  }

  .group-model-head .model-outline-feature li {
    font-size: 1.2rem;
  }

  .group-model-head .model-outline-head {
    font-size: 1.8rem;
    max-width: 350px;
    margin: 0 auto 60px auto;
  }

  .group-model-head .model-outline-text {
    max-width: 350px;
    margin: 0 auto;
    line-height: 2;
    font-size: 1.5rem;
  }
}

/* 2026年度ランドセル一覧 商品グループ */
.fs-body-category-randsel-2026 .fs-c-noResultMessage {
  display: none;
}

.c-lineup-list.lineup-boys-girls {
  gap: 5px;
  margin-bottom: 30px;
}

.c-lineup-list.lineup-boys-girls li:first-child {
  grid-column: initial;
}

.item-select-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px 20px;
  margin: 40px auto;
}

.item-select-nav li {
  margin: 0;
  padding: 0;
}

.item-select-nav li a {
  display: block;
  position: relative;
  padding: 0 0 0 20px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.2rem;
  text-align: center;
  text-decoration: none;
}

.item-select-nav li a::before {
  content: "";
  position: absolute;
  top: 3px;
  left: 0px;
  width: 14px;
  height: 14px;
  background: url(../img/common/icon-next.png) no-repeat 0 0;
  background-size: 100%;
  transform: rotate(90deg);
  display: block;
}

.lineup-series {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 36px 10px;
  margin: 0 auto 80px auto;
}

.lineup-series-item a {
  display: block;
  text-decoration: none;
}

.lineup-series-thumb {
  position: relative;
  margin-bottom: 12px;
  color: #FFF;
}

.lineup-series-visual {
  width: 100%;
  border-radius: 6px;
}

.lineup-series-logo {
  width: 17px;
  position: absolute;
  top: 7px;
  left: 7px;
  filter: brightness(0) invert(1);
}

.lineup-series-body {
  font-size: 1.3rem;
}

.lineup-series-title {
  margin: 0 0 12px 0;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.3rem;
  text-align: center;
  line-height: 1.7;
  text-align: left;
}

@media (min-width: 768px) {
  .c-lineup-list.lineup-boys-girls {
    display: flex;
    justify-content: center;
    gap: 24px;
  }

  .c-lineup-list.lineup-boys-girls li {
    width: 270px;
    max-width: 270px;
    min-width: 270px;
  }

  .c-lineup-list.lineup-boys-girls li:first-child {
    grid-column: initial;
  }

  .item-select-nav {
    gap: 20px 30px;
    margin: 80px auto;
  }

  .item-select-nav li a {
    padding: 0 0 0 30px;
    font-size: 1.5rem;
  }

  .item-select-nav li a::before {
    top: 3px;
    left: 0px;
    width: 20px;
    height: 20px;
  }

  .lineup-series {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 60px 26px;
    margin-bottom: 100px;
  }

  .lineup-series-thumb {
    margin-bottom: 18px;
  }

  .lineup-series-logo {
    width: 27px;
    top: 15px;
    left: 10px;
  }

  .lineup-series-body {
    font-size: 1.5rem;
  }

  .lineup-series-title {
    margin: 0 0 12px 0;
    font-size: 1.5rem;
  }
}

.lineup-color {
  width: 100%;
  margin-bottom: 80px;
  overflow-x: auto;
}

.lineup-color-list {
  display: flex;
  flex-wrap: nowrap;
  gap: 10px;
  margin: 0 15px;
}

.lineup-color-list li {
  min-width: 106px;
  width: 106px;
}

.lineup-color-list a {
  display: block;
  text-decoration: none;
  text-align: left;
}

.lineup-color-list img {
  border-radius: 6px;
  width: 100%;
}

.lineup-color-list-name {
  margin: 5px 0;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.2rem;
  text-align: center;
  line-height: 1.7;
}

.lineup-col2-block {
  margin-bottom: 50px;
}

.lineup-shape-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 7px;
}

.lineup-shape-list li a {
  display: block;
  text-decoration: none;
}

.lineup-shape-list li img {
  border-radius: 6px;
  width: 100%;
}

.lineup-shape-list-name {
  margin-top: 10px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.3rem;
  text-align: center;
  line-height: 1.7;
}

.lineup-material-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 7px;
}

.lineup-material-list li a {
  display: block;
  text-decoration: none;
}

.lineup-material-list li img {
  border-radius: 6px;
  width: 100%;
}

.lineup-material-list-name {
  margin-top: 10px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.3rem;
  text-align: center;
  line-height: 1.7;
}

@media (max-width: 767px) {
  .fs-body-category-color .lineup-color {
    overflow-x: hidden;
    padding: 0 15px;
  }

  .fs-body-category-color .lineup-color-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px 10px;
  }

  .fs-body-category-color .lineup-color-list li {
    min-width: initial;
    width: auto;
  }
}

@media (min-width: 768px) {
  .lineup-color {
    width: 1200px;
    margin: 0 auto 80px auto;
    overflow-x: hidden;
  }

  .lineup-color-list {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 10px;
    margin: 0 auto;
  }

  .lineup-color-list li {
    min-width: initial;
    width: auto;
  }

  .lineup-color-list-name {
    font-size: 1.5rem;
  }

  .lineup-col2 {
    display: flex;
    flex-wrap: nowrap;
    gap: 20px;
  }

  .lineup-col2-block {
    max-width: 50%;
    margin-bottom: 0;
  }

  .lineup-shape-list {
    gap: 10px;
  }

  .lineup-shape-list-name {
    margin-top: 12px;
    font-size: 1.5rem;
  }

  .lineup-material-list {
    gap: 10px;
  }

  .lineup-material-list-name {
    margin-top: 12px;
    font-size: 1.5rem;
  }


}



/* 2025 色関連商品グループ */
.c-about-color-header {
  margin: 0 0 30px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.6rem;
  text-align: center;
  line-height: 1.5;
  position: relative;
}

.c-about-color-toggle {
  cursor: pointer;
}

.c-about-color-toggle::after {
  content: '';
  display: inline-block;
  vertical-align: initial;
  width: 13px;
  height: 13px;
  background-image: url(../img/common/ico-pulldown-open.svg);
  background-position: 0 0;
  margin: 0 0 0 15px;
}

.c-about-color-toggle.is-active::after {
  background-image: url(../img/common/ico-pulldown-close.svg);
}

.c-about-color-container {
  display: none;
}

.c-color-boxes {
  display: block;
  margin: 40px auto;
}

.c-color-box {
  width: 100%;
  margin: 0 auto 20px auto;
  padding: 0 0 20px 0;
  border-bottom: #DDD 1px solid;
}

.c-color-box-head {
  display: flex;
  align-items: center;
  margin-bottom: 20px;
}

.c-color-box-tip {
  width: 46px;
  height: 46px;
  min-width: 46px;
  border: transparent 4px solid;
  border-radius: 100%;
  margin-right: 20px;
}

.c-color-head {
  margin: 0;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.8rem;
  text-align: left;
  line-height: 1.5;
}

.c-color-box-text {
  font-size: 1.2rem;
}

@media (min-width: 768px) {
  .c-about-color-header {
    font-size: 2.2rem;
  }

  .c-color-boxes {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 50px;
    margin: 40px auto 80px auto;
  }

  .c-color-box {
    width: 100%;
    margin: 0;
    padding: 0;
    border: none;
  }

  .c-color-box-head {
    margin-bottom: 20px;
  }

  .c-color-head {
    font-size: 2rem;
  }

  .c-color-box-text {
    font-size: 1.4rem;
  }
}

.l-lineup-area {
  display: grid;
  gap: 3px;
}

.c-lineup-list.l-lineup-first {
  grid-template-columns: 1fr;
}

.c-lineup-list2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3px;
}

.c-lineup-list2 img {
  display: block;
  width: 100%;
  height: 180px;
  object-fit: cover;
}

.item-title-note {
  margin: 0 0 10px 0;
  padding: 0 15px;
  font-size: 13px;
}

@media (min-width: 768px) {
  .l-lineup-area {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
    height: 440px;
  }

  .l-lineup-first {
    grid-area: 1 / 1 / 3 / 2;
  }

  .l-lineup-second {
    grid-area: 1 / 2 / 2 / 3;
  }

  .l-lineup-third {
    grid-area: 2 / 2 / 3 / 3;
  }

  .l-lineup-first .c-lineup-list--img img {
    height: 440px;
  }

  .l-lineup-second .c-lineup-list--img img {
    height: calc((440px - 3px) / 2);
  }

  .c-lineup-list2 img {
    height: 100%;
    object-fit: cover;
  }

  .item-title-note {
    padding: 0;
    font-size: 13px;
  }

}

/*  / 2025 色関連商品グループ */


/* 2026 ランドセル絞り込み（商品タグ検索） */
html.lock,
body.lock {
  overflow: hidden;
}

.search-modal-btn-container {
  text-align: center;
  margin: 30px auto;
}

.search-modal-btn {
  display: inline-block;
  padding: 15px 50px;
  text-align: center;
  background: #930B0B;
  border-radius: 6px;
  color: #FFF;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-size: 1.4rem;
  line-height: 1;
  cursor: pointer;
}

.search-modal-btn::before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  margin-right: 8px;
  width: 13px;
  height: 13px;
  background: url(../img/common/icon-search.svg) no-repeat 0 0;
  background-size: contain;
}

.search-modal-container {
  display: none;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100000;
}

.search-modal-container.is-modal-show {
  display: block;
}

.search-modal-bg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: rgb(0 0 0 / 0.5);
  z-index: 100;
}

.search-modal {
  width: 96%;
  height: 80%;
  padding: 30px 10px;
  border-radius: 6px;
  background: #F5F5F2;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  z-index: 100000;
  overflow-y: auto;
}

.search-modal-inner {
  display: flex;
  flex-wrap: wrap;
  gap: 35px;
}

.search-item-conditions-container {
  min-width: 100%;
  position: relative;
}

.search-item-conditions-head {
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-size: 1.4rem;
  line-height: 1.7;
  margin-bottom: 5px;
  text-align: left;
  color: #999;
}

.search-item-conditions-toggle {
  position: absolute;
  top: 0;
  right: 0;
  width: 17px;
  height: 17px;
  border-radius: 50%;
  background: #930B0B;
}

.search-item-conditions-toggle::before {
  content: "";
  display: block;
  position: absolute;
  top: 8px;
  left: 4px;
  width: 9px;
  height: 1px;
  background: #FFF;
}

.search-item-conditions-toggle::after {
  content: "";
  display: block;
  position: absolute;
  top: 4px;
  left: 8px;
  width: 1px;
  height: 9px;
  background: #FFF;
}

.search-item-conditions-toggle.is-show::after {
  display: none;
}

.search-item-conditions {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}

.search-item-conditions-toggle+.search-item-conditions {
  display: none;
}

.search-item-conditions.is-show,
.search-item-conditions-toggle.is-show+.search-item-conditions {
  display: grid;
}

.search-item-conditions li {
  margin: 0;
  padding: 0;
}

.search-label-group {
  width: 100%;
  height: 100%;
}

.search-label-group input {
  display: none;
  opacity: 0;
}

.search-label {
  display: block;
  border: transparent 2px solid;
  border-radius: 6px;
}

.search-label label {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 100%;
  height: 52px;
  padding: 0 5px;
  border-radius: 6px;
  font-size: 1.2rem;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  line-height: 1.3;
  background: #FFF;
}

input:checked+.search-label {
  box-shadow: 0 0 0 2px #930B0B;
}

.search-item-conditions.search-tag-popular {
  grid-template-columns: repeat(2, 1fr);
}

.search-tag-boys label {
  color: #308AAB;
  font-size: 1.4rem;
}

input:checked+.search-tag-boys.search-label {
  box-shadow: 0 0 0 2px #308AAB;
}

.search-tag-girls label {
  color: #A92843;
  font-size: 1.4rem;
}

input:checked+.search-tag-girls .search-label {
  box-shadow: 0 0 0 2px #308AAB;
}

.search-tag-color {
  color: #FFF;
}

.search-tag-color .search-label label {
  height: 60px;
  box-shadow: inset 2px 2px 4px rgb(0 0 0 / 0.1);
}

.search-tag-color-earth label {
  background: url(../img/common/color-earth.png) no-repeat center 50%;
  background-size: cover;
}

input:checked+.search-tag-color-earth {
  box-shadow: 0 0 0 2px #92719F;
}

.search-tag-color-pastel label {
  background: url(../img/common/color-pastel.png) no-repeat center 50%;
  background-size: cover;
}

input:checked+.search-tag-color-pastel {
  box-shadow: 0 0 0 2px #CEAADB;
}

.search-tag-color-purple label {
  background: #BEB7D9;
}

input:checked+.search-tag-color-purple {
  box-shadow: 0 0 0 2px #BEB7D9;
}

.search-tag-color-black label {
  background: #343434;
}

input:checked+.search-tag-color-black {
  box-shadow: 0 0 0 2px #343434;
}

.search-tag-color-red label {
  background: #BA1824;
}

input:checked+.search-tag-color-red {
  box-shadow: 0 0 0 2px #BA1824;
}

.search-tag-color-pink label {
  background: #E89C9E;
}

input:checked+.search-tag-color-pink {
  box-shadow: 0 0 0 2px #E89C9E;
}

.search-tag-color-blue label {
  background: #2053A5;
}

input:checked+.search-tag-color-blue {
  box-shadow: 0 0 0 2px #2053A5;
}

.search-tag-color-yellow label {
  background: #EBB500;
}

input:checked+.search-tag-color-yellow {
  box-shadow: 0 0 0 2px #EBB500;
}

.search-tag-color-denim label {
  background: url(../img/common/color-denim.png) no-repeat center 50%;
  background-size: cover;
}

input:checked+.search-tag-color-denim {
  box-shadow: 0 0 0 2px #062961;
}

.search-tag-color-brown label {
  background: #88531B;
}

input:checked+.search-tag-color-brown {
  box-shadow: 0 0 0 2px #88531B;
}

.search-tag-color-green label {
  background: #043C22;
}

input:checked+.search-tag-color-green {
  box-shadow: 0 0 0 2px #043C22;
}

.search-tag-color-white label {
  background: #FFF;
  color: #222;
}

input:checked+.search-tag-color-white {
  box-shadow: 0 0 0 2px #222;
}

.search-tag-color-beige label {
  background: #DEC0AE;
  color: #222;
}

input:checked+.search-tag-color-beige {
  box-shadow: 0 0 0 2px #DEC0AE;
}

.search-item-btn-area {
  width: 100%;
  text-align: center;
}

input.search-item-btn {
  appearance: none;
  margin: 0 auto;
  display: inline-block;
  padding: 15px 50px;
  text-align: center;
  background: #930B0B;
  border-radius: 6px;
  color: #FFF;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-size: 1.4rem;
  line-height: 1.4;
  cursor: pointer;
}

.search-result-tags {
  max-width: 1080px;
  padding: 15px;
  background-color: #FFF;
  margin: 0 auto 40px auto !important;
  font-size: 1.3rem;
}

.search-result-tags-words {
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  color: #222;
}

@media (max-width: 767px) {
  .search-result-tags-words {
    display: block;
  }
}

@media (min-width: 768px) {
  .search-modal-btn-container {
    margin: 30px auto;
  }

  .search-modal-btn {
    padding: 15px 60px;
  }

  .search-modal-btn::before {
    margin-right: 8px;
    width: 13px;
    height: 13px;
  }

  .search-modal {
    width: 1080px;
    height: 80vh;
    overflow: auto;
    padding: 50px 30px;
  }

  .search-modal-inner {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
  }

  .search-item-conditions-container {
    min-width: 100%;
  }

  .pc-half {
    min-width: initial;
    width: calc(50% - 20px);
  }

  .search-item-conditions-head {
    margin-bottom: 5px;
  }

  .search-item-conditions {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 10px;
  }

  .search-tag-color {
    grid-template-columns: repeat(9, 1fr);
  }

  .search-tag-shape {
    width: 440px;
    grid-template-columns: repeat(3, 1fr);
  }

  .search-tag-material {
    width: 440px;
    grid-template-columns: repeat(3, 1fr);
  }

  .search-tag-design {
    grid-template-columns: repeat(8, 1fr);
  }

  .search-tag-model {
    grid-template-columns: repeat(5, 1fr);
  }

  .search-result-tags {
    font-size: 1.4rem;
  }
}

/* 2026 下層ページ向け調整 */
.page-design .c-contents img,
.page-request .c-contents img,
.page-user .c-contents img,
.page-products .c-contents img,
.page-story .c-contents img,
.page-skill .c-contents img,
.page-about .c-contents img,
.page-durability .c-contents img,
.page-point .c-contents img,
.page-functional .c-contents img,
.page-exhibition .c-contents img,
.page-introduction .c-contents img {
  width: 100%;
}

/* メンテナンスページ */
.l-maintenance {
  max-width: 940px;
  margin: 40px auto;
  padding: 0 15px;
}

.maintenance_catalog_request {
  width: 100%;
  margin: 40px auto;
  background: #FFF;
  border-radius: 6px;
  padding: 20px;
}

.maintenance_catalog_thumb {
  text-align: center;
  margin-bottom: 20px;
}

.maintenance_catalog_thumb img {
  width: 100%;
  height: auto;
}

.maintenance_catalog_text h2 {
  margin: 20px 0;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  color: #222;
  font-weight: bold;
  font-size: 1.5rem;
  text-align: center;
}

.maintenance_catalog_text .label {
  display: inline-block;
  vertical-align: middle;
  margin: 0 5px 0 0;
  padding: 4px 10px 4px 10px;
  border-radius: 2px;
  border: #9D1F1A 1px solid;
  background: #9D1F1A;
  color: #FFF;
  font-size: 1.2rem;
  line-height: 1;
  letter-spacing: 0.05em;
  text-align: center;
}

.maintenance_catalog_text .req-catalog-link {
  margin-top: 15px;
}

.maintenance_catalog_text .req-link-btn {
  position: relative;
  display: block;
  border: #9D1F1A 1px solid;
  border-radius: 6px;
  background: #FFF;
  padding: 15px 0;
  color: #9D1F1A;
  text-align: center;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 1.5;
}

.req-link-btn .label {
  margin: 0 0 0 5px;
}

.l-maintenance .hdg-ver03 {
  margin: 40px auto 20px auto;
}

.l-maintenance .m-table {
  margin-top: 15px;
}

@media (min-width: 768px) {
  .maintenance_catalog_request {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    flex-direction: row-reverse;
    align-items: center;
    padding: 30px;
  }

  .maintenance_catalog_thumb {
    text-align: center;
    margin-bottom: 0;
    width: 350px;
  }

  .maintenance_catalog_text {
    width: 350px;
  }

  .maintenance_catalog_text h2 {
    margin: 0 0 40px 0;
    font-size: 1.8rem;
    text-align: left;
  }

  .maintenance_catalog_text .label {
    font-size: 1.6rem;
  }

  .maintenance_catalog_text .req-link-btn {
    padding: 15px 0;
    font-size: 1.8rem;
  }

  .req-link-btn .label {
    margin: 0 0 0 10px;
  }

  .l-maintenance .m-table th {
    width: 300px;
  }
}

/* special_offer 2026購入特典 */
.tokuten-container {
  width: 100%;
  margin: 30px auto;
}

.tokuten-block {
  width: 100%;
  background: #F1F1E7;
  border-radius: 6px;
  overflow: hidden;
  margin-bottom: 40px;
  padding: 0 0 20px 0;
}

.tokuten-head {
  display: flex;
  align-items: center;
  padding: 10px;
}

.tokuten-num {
  width: 50px;
  height: 50px;
  padding-top: 7px;
  background: #FFF;
  border-radius: 6px;
  text-align: center;
  color: #930B0B;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.2rem;
  line-height: 1.2;
}

.tokuten-num .num {
  display: block;
  width: 100%;
  text-align: center;
  color: #930B0B;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 2.0rem;
  line-height: 1.2;
}

.tokuten-title {
  width: calc(100% - 50px);
  color: #930B0B;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 1.5;
  text-align: center;
}

.tokuten-title .small {
  font-size: 1.1rem;
}

.tokuten-image {
  padding: 0 10px 10px 10px;
  text-align: center;
}

.tokuten-image img {
  width: 100%;
  height: auto;
  border-radius: 6px;
  margin: 0 auto;
}

.tokuten-target {
  width: 100%;
  background-color: #E6E6D6;
  border-radius: 6px;
  margin-bottom: 17px;
  padding: 12px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 1.5;
  text-align: center;
  position: relative;
}

.tokuten-target::after {
  content: "";
  display: block;
  position: absolute;
  bottom: -7px;
  left: 0;
  right: 0;
  margin: auto;
  background: #E6E6D6;
  height: 7px;
  width: 14px;
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
  transform: rotateX(180deg);
}

.tokuten-contents {
  display: flex;
  gap: 15px;
  padding: 0 10px;
}

.tokuten-thumb {
  width: 80px;
}

.tokuten-thumb img {
  width: 100%;
  height: auto;
  margin: 0 auto;
  border-radius: 6px;
}

.tokuten-text {
  width: calc(100% - 35px);
  text-align: left;
  font-size: 1.3rem;
}

.tokuten-text p {
  margin-bottom: 10px;
}

.tokuten-text p.ex-small {
  font-size: 1.0rem;
}

.tokuten-attention {}

.tokuten-attention li {
  margin: 0 0 5px 0;
  padding: 0 0 0 10px;
  position: relative;
  text-align: left;
  font-size: 1.3rem;
  line-height: 1.5;
}

.tokuten-attention li::before {
  display: block;
  content: "";
  width: 5px;
  height: 5px;
  background: #666;
  border-radius: 50%;
  position: absolute;
  top: 5px;
  left: 0;
}

.order-period-end {
  position: relative;
}

.order-period-end::after {
  content: "終了しました";
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 2;
  background: rgb(0 0 0 / 0.4);
  font-size: 2.0rem;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  color: #FFF;
  font-weight: bold;
  line-height: 1.4;
}

@media only screen and (min-width: 768px) {
  .tokuten-block {
    width: 100%;
    position: relative;
  }

  .tokuten-head {
    margin-bottom: 10px;
  }

  .tokuten-title {
    font-size: 1.7rem;
  }

  .tokuten-target {
    margin-bottom: 22px;
    font-size: 1.6rem;
  }

  .tokuten-title .small {
    font-size: 1.3rem;
  }

  .tokuten-contents {
    display: flex;
    gap: 20px;
    padding: 0 10px;
  }

  .tokuten01 .tokuten-image img {
    max-width: 360px;
    margin: 0 auto;
  }

  .tokuten02 .tokuten-image img {
    max-width: 560px;
    margin: 0 auto;
  }

  .tokuten-thumb {
    width: 150px;
  }

  .tokuten-text {
    width: auto;
    flex: 1;
    padding: 0 0 10px 0;
    font-size: 1.5rem;
  }

  .tokuten-attention li {
    font-size: 1.5rem;
    margin-bottom: 8px;
    line-height: 1.7;
  }

  .tokuten-attention li::before {
    top: 8px;
  }
}

/* お客様の声（テキストのみ） */
.voice-only-text {
  margin: 0 auto;
  padding: 0 15px;
}

.voice-only-text .voice-box {
  border-bottom: #CCC 1px solid;
  padding: 20px 0;
}

.voice-only-text .voice-box:first-of-type {
  border-top: #CCC 1px solid;
}

.voice-only-text .voice-box-heading {
  margin: 0 0 15px 0;
  padding: 0;
  font-size: 1.4rem;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  text-align: left;
  line-height: 1.5;
}

.voice-only-text .voice-box-text {
  font-size: 1.3rem;
  font-family: var(--font-gothic-l);
  letter-spacing: var(--ls-gothic-l);
  text-align: left;
}

@media only screen and (min-width: 768px) {
  .voice-only-text {
    max-width: 900px;
    padding: 0;
  }

  .voice-only-text .voice-box {
    padding: 30px 0;
  }

  .voice-only-text .voice-box-heading {
    font-size: 1.5rem;
  }

  .voice-only-text .voice-box-text {
    font-size: 1.4rem;
  }
}

/* simple bar */
.simplebar-track.simplebar-horizontal .simplebar-scrollbar {
  height: 3px;
  top: auto;
  bottom: 0;
}

.simplebar-track.simplebar-horizontal .simplebar-scrollbar:before {
  background-color: #A0A0A0;
}

.youtube {
  width: 100%;
  aspect-ratio: 16 / 9;
}

.youtube iframe {
  width: 100%;
  height: 100%;
}

/* フリーエリア */
.free-area {
  margin: 0 0 40px 0;
  padding: 30px 20px;
  background: #FFF;
}

.free-area-head {
  margin: 0 0 20px 0;
  font-family: var(--font-gothic-m);
  font-weight: bold;
  font-size: 1.4rem;
  text-align: center;
  line-height: 1.4;
  letter-spacing: 0.05em;
}

.free-area-text {
  font-size: 1.4rem;
  line-height: 1.4;
}

@media only screen and (min-width: 768px) {
  .free-area {
    max-width: 1200px;
    margin: 0 auto 60px auto;
    padding: 60px 60px 50px 60px;
  }

  .free-area-head {
    margin: 0 0 30px 0;
    font-size: 1.6rem;
  }

  .free-area-text {
    font-size: 1.6rem;
  }
}

/* 展示会の案内リスト */
.c-exhibition-list {
  margin: 0;
  padding: 0;
}

.c-exhibition-list li {
  margin: 0 0 15px 0;
  padding: 0;
  text-align: left;
}

.c-exhibition-list a {
  text-decoration: underline;
}

.c-exhibition-list a:hover {
  text-decoration: none;
}

.c-shop-text-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 15px 20px;
  margin: 0 0 50px 0;
}

.c-shop-text-list li {
  margin: 0;
  padding: 0;
  text-align: left;
}

.c-shop-text-list a {
  text-decoration: underline;
}

.c-shop-text-list a:hover {
  text-decoration: none;
}

@media only screen and (min-width: 768px) {
  .c-exhibition-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px 30px;
  }

  .c-exhibition-list li {
    margin: 0;
  }

  .c-shop-text-list {
    display: flex;
    gap: 15px 50px;
  }
}

.l-grid-1 {
  display: grid;
  gap: 40px;
  margin: 0 0 80px;
}

.l-sideimg--img {
  margin: 0 0 10px;
}

.l-sideimg--title {
  margin: 0 0 20px;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 1.5;
}

.c-support-notice2:not(:last-child) {
  margin-bottom: 40px;
}

.c-spnav-menulist-1row {
  grid-template-columns: 1fr;
}

@media only screen and (min-width: 768px) {
  .l-sideimg {
    display: grid;
    grid-template-columns: 400px 1fr;
    grid-template-rows: auto 1fr;
    grid-column-gap: 30px;
    grid-row-gap: 10px;
  }

  .l-sideimg--img {
    grid-area: 1 / 1 / 3 / 2;
  }

  .l-sideimg--title {
    grid-area: 1 / 2 / 2 / 3;
  }

  .l-sideimg--txt {
    grid-area: 2 / 2 / 3 / 3;
  }
}

/*店舗追加コンテンツ*/

.c-experience-gallery {
  margin: 0 0 30px
}

@media only screen and (min-width: 768px) {
  .c-experience-gallery {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
  }
}

.c-linkbox {
  background: #FFF;
  padding: 20px 15px;
  max-width: 600px;
  margin: 0 auto;
}

.c-linkbox p+p {
  margin-top: 10px;
}

@media only screen and (min-width: 768px) {
  .c-linkbox {
    padding: 30px 50px;
  }
}

.c-new {
  display: inline-grid;
  place-content: center;
  width: fit-content;
  height: 20px;
  padding: 4px;
  margin: 0 10px 0 0;
  background-color: var(--color-red);
  color: var(--color-white);
  font-family: Inter;
  font-weight: 700;
  font-size: 12px;
  line-height: 100%;
  letter-spacing: 0%;
}
.spnav-center .c-new {
  position: absolute;
  left: 6px;
  top: 8px;
  padding: 3px;
  font-size: 11px;
}

/* 人気ランキング */
.c-popular-models {
  display: flex;
  flex-wrap: nowrap;
  width: 100%;
  margin: 0 0 20px 0;
  overflow: auto;
}

.c-popular-models li {
  width: 160px;
  min-width: 160px;
  margin: 0 10px 15px 0;
  position: relative;
}

.c-popular-models li:first-child {
  margin-left: 15px;
}

.c-popular-models li:last-child {
  margin-right: 15px;
}

.c-popular-models li a {
  display: block;
  text-decoration: none;
  text-align: center;
  position: relative;
  background: none !important;
}

.c-model-rank {
  position: absolute;
  left: 5px;
  top: 5px;
  z-index: 3;
  width: 34px;
  height: 34px;
  border-radius: 5px;
  text-align: center;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 34px;
  background: #FFF;
}

.rank01 {
  background: #D39520;
  color: #FFF;
}

.rank02 {
  background: #A0A0A0;
  color: #FFF;
}

.rank03 {
  background: #AA6900;
  color: #FFF;
}

.c-popular-model-thumb {
  text-align: center;
  margin-bottom: 10px;
}

.c-popular-model-text {
  padding: 0 10px;
  text-align: center;
  font-size: 1.2rem;
  line-height: 1.5;
  margin-bottom: 5px;
}

.c-popular-model-thumb img {
  margin: 0 auto;
  border-radius: 10px;
}

.c-popular-model-txt {
  display: grid;
  align-items: center;
  margin: 0 0 10px;
  font-family: var(--font-gothic-l);
  letter-spacing: var(--ls-gothic-l);
  font-size: 1.2rem;
  text-align: center;
}

.c-popular-model-name {
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: 600;
  text-align: center;
  font-size: 1.2rem;
  line-height: 1.5;
  margin-bottom: 0;
}

.c-popular-model-color {
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: 600;
  text-align: center;
  font-size: 1.2rem;
  line-height: 1.5;
  margin-bottom: 0;
}

.c-popular-model-price {
  text-align: center;
  font-size: 1.2rem;
  line-height: 1.5;
  margin: 10px 0 0 0;
  font-family: var(--font-gothic-m);
  letter-spacing: var(--ls-gothic-m);
  font-weight: 600;
}

@media only screen and (min-width: 768px) {
  .c-popular-models {
    width: 100%;
    margin: 0 auto 30px auto;
    overflow: visible;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 15px;
  }

  .c-popular-models li {
    width: auto;
    min-width: initial;
    margin: 0;
  }

  .c-popular-models li:first-child,
  .c-popular-models li:last-child {
    margin: 0;
  }

  .c-popular-models li a {}

  .c-model-rank {
    width: 34px;
    height: 34px;
    font-size: 1.6rem;
    line-height: 34px;
    left: 12px;
  }

  .c-popular-model-thumb {
    margin-bottom: 10px;
  }

  .c-popular-model-text {
    padding: 0;
    text-align: center;
    font-size: 1.2rem;
    line-height: 1.5;
    margin-bottom: 15px;
  }

  .c-popular-model-name {
    font-size: 1.4rem;
  }

  .c-popular-model-color {
    font-size: 1.2rem;
  }

  .c-popular-model-price {
    font-size: 1.2rem;
  }
}

@media only screen and (max-width: 767px) {
  .c-top-section-col2>.c-top-section-title {
    padding: 0 15px;
  }

  .c-top-section-col2 .c-top-color-categories {
    margin: 0 auto;
  }

  .c-top-section-col2+.c-top-section-col2 {
    margin-top: 40px;
  }
}

@media only screen and (min-width: 768px) {
  .c-top-section-col2-container {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 50px;
  }

  .c-top-section-col2 .c-top-color-categories {
    margin: 0 auto;
  }

  .c-top-section-col2 .c-top-color-category-list {
    display: flex;
    flex-wrap: wrap;
    gap: 20px 24px;
  }
}

/* フローティングバナー */
.float-bnr {
  position: fixed;
  bottom: 70px;
  right: 10px;
  z-index: 5;
  max-width: 220px;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.4);
  background-color: #FFF;
}

.float-bnr a {
  display: block;
}

@media only screen and (min-width: 768px) {
  .float-bnr {
    bottom: 20px;
    right: 20px;
    max-width: 320px;
  }
}

/* TOP 3カラムバナー */
.col3-bnr {
  max-width: 1200px;
  margin: 0 auto 100px auto;
  padding: 0 15px;
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.c-recruit-intro {
  margin: 40px auto 80px auto;
}
.c-recruit-intro p {
  line-height: 3;
  font-family: var(--font-gothic-m);
  font-weight: 600;
}

@media only screen and (min-width: 768px) {
  .col3-bnr {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin: 0 auto 160px auto;
    padding: 0;
  }
  .c-recruit-intro p {
    text-align: center;
  }
}