@charset "UTF-8";
h1, h2, h3, h4, h5, h6 {
  font-weight: 700;
}

/*==========================================================
	common
==========================================================*/
#pageHeaderWrap {
  padding: min(200px,27.778vw) 0 0;
  position: relative;
}
@media (max-width: 1200px) {
  #pageHeaderWrap {
    padding: 120px 0 0;
  }
}
#pageHeaderWrap.contact, #pageHeaderWrap.privacy, #pageHeaderWrap.search, #pageHeaderWrap.notfound {
  background: #807F81;
}
#pageHeaderWrap.contact h1 .en, #pageHeaderWrap.privacy h1 .en, #pageHeaderWrap.search h1 .en, #pageHeaderWrap.notfound h1 .en {
  color: #fff;
}
#pageHeaderWrap.contact h1 .jp, #pageHeaderWrap.privacy h1 .jp, #pageHeaderWrap.search h1 .jp, #pageHeaderWrap.notfound h1 .jp {
  color: #fff;
}
@media (max-width: 768px) {
  #pageHeaderWrap.contact h1, #pageHeaderWrap.privacy h1, #pageHeaderWrap.search h1, #pageHeaderWrap.notfound h1 {
    padding-bottom: 40px;
  }
}
#pageHeaderWrap h1 {
  margin-bottom: min(70px,9.722vw);
}
#pageHeaderWrap h1 .en {
  font-size: clamp(14px, 2.778vw, 20px);
  font-family: "Lato", serif;
  font-weight: 900;
  letter-spacing: 0.1em;
  line-height: 1;
  display: block;
}
#pageHeaderWrap h1 .jp {
  font-size: clamp(16px, 5.556vw, 40px);
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.7631578947;
  display: block;
}
@media (max-width: 768px) {
  #pageHeaderWrap h1 {
    margin-bottom: 40px;
  }
  #pageHeaderWrap h1 .en {
    font-size: 1.4rem;
  }
  #pageHeaderWrap h1 .jp {
    font-size: 2.2rem;
  }
}
@media (max-width: 768px) {
  #pageHeaderWrap h1.serviceTtl span {
    display: block;
  }
}
#pageHeaderWrap h1.serviceTtl span.number {
  font-family: "Lato", serif;
  font-weight: 700;
  font-style: italic;
  font-size: clamp(25.6px, 7.1104vw, 64px);
  letter-spacing: 0;
  -webkit-text-stroke-width: 1px;
  -webkit-text-fill-color: #F2F2EE;
  -webkit-text-stroke-color: #53565A;
  transition: -webkit-text-fill-color 0.7s ease;
}
@media (max-width: 768px) {
  #pageHeaderWrap h1.serviceTtl span.number {
    font-size: 3.6rem;
    margin-bottom: 8px;
  }
}
#pageHeaderWrap h1.serviceTtl span.ttl {
  margin-left: 40px;
}
@media (max-width: 768px) {
  #pageHeaderWrap h1.serviceTtl span.ttl {
    margin-left: 0;
    font-size: 2.2rem;
  }
}
@media (max-width: 480px) {
  #pageHeaderWrap h1.serviceTtl span.ttl {
    font-size: 2rem;
  }
}
#pageHeaderWrap h1.serviceTtl span.ttl span {
  display: block;
}
#pageHeaderWrap h1.serviceTtl span.ttl span:nth-of-type(1) {
  font-size: 2rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.6;
}
#pageHeaderWrap h1.serviceTtl span.ttl span:nth-of-type(2) {
  font-size: clamp(14.4px, 5vw, 36px);
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.6;
}
@media (max-width: 480px) {
  #pageHeaderWrap .container {
    width: 100%;
  }
}
@media (max-width: 768px) {
  #pageHeaderWrap .textBox {
    display: block;
  }
}
#pageHeaderWrap .textBox p.text {
  max-width: 780px;
  width: 62.9%;
}
#pageHeaderWrap .textBox p.text.text-900 {
  max-width: 900px;
  width: 72.58%;
}
@media (max-width: 768px) {
  #pageHeaderWrap .textBox p.text.text-900 {
    width: 100%;
  }
}
@media (max-width: 768px) {
  #pageHeaderWrap .textBox p.text {
    width: 100%;
  }
}
#pageHeaderWrap .textBox p.link {
  margin: 0 0 0 auto;
  width: 313px;
  height: 80px;
  line-height: 80px;
}
@media (max-width: 768px) {
  #pageHeaderWrap .textBox p.link {
    margin: 20px 0 0 0;
    max-width: 313px;
    width: 100%;
  }
}
#pageHeaderWrap .textBox p.link a {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #53565A;
  text-align: left;
  color: #F2F2EE;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.8125;
  position: relative;
  transition: color 0.5s ease;
}
#pageHeaderWrap .textBox p.link a::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: #fff;
  transform: scaleX(0);
  transform-origin: right;
  transition: all 0.5s ease;
  transition-property: transform;
}
#pageHeaderWrap .textBox p.link a span {
  display: block;
  position: relative;
  z-index: 5;
}
#pageHeaderWrap .textBox p.link a:hover {
  color: #53565A;
}
#pageHeaderWrap .textBox p.link a:hover::before {
  transform: scaleX(1);
  transform-origin: left;
}
#pageHeaderWrap .textBox.titleText p.text {
  margin-top: 2em;
  margin-left: auto;
}
@media (max-width: 1200px) {
  #pageHeaderWrap .textBox.titleText {
    flex-direction: column;
    margin-bottom: 40px;
  }
  #pageHeaderWrap .textBox.titleText h1 {
    margin-bottom: 20px;
  }
  #pageHeaderWrap .textBox.titleText p.text {
    margin-top: 0;
    margin-left: 0;
  }
}
#pageHeaderWrap picture.fullPic {
  width: 100%;
  overflow: hidden;
  display: block;
  position: relative;
}
#pageHeaderWrap picture.fullPic::before {
  content: "";
  padding-top: 35.555%;
  display: block;
}
#pageHeaderWrap picture.fullPic source,
#pageHeaderWrap picture.fullPic img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
#pageHeaderWrap picture.fullPic.kinari {
  background: #F2F2EE;
  mix-blend-mode: multiply;
  margin-top: min(60px,8.334vw);
}
@media (max-width: 768px) {
  #pageHeaderWrap picture.fullPic.kinari {
    margin-top: 40px;
  }
}
#pageHeaderWrap picture.fullPic.dokuhon::before {
  padding-top: 26.85%;
}
@media (max-width: 480px) {
  #pageHeaderWrap h1 {
    margin-bottom: 30px;
  }
  #pageHeaderWrap picture::before {
    padding-top: 55%;
  }
}
#pageHeaderWrap .businessTab {
  margin-top: min(70px,9.722vw);
}
#pageHeaderWrap .businessTab ul {
  gap: 2px;
}
#pageHeaderWrap .businessTab ul li {
  width: 16.4%;
}
#pageHeaderWrap .businessTab ul li a {
  background: #53565A;
  width: 100%;
  padding: 20px 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 600;
  font-size: 1.5rem;
  letter-spacing: 0.06em;
  height: 100%;
  border: 1px solid #53565A;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
#pageHeaderWrap .businessTab ul li a:hover {
  background: #fff;
  color: #53565A;
}
#pageHeaderWrap .businessTab ul li.serviceCase a {
  background: #fff;
  color: #53565A;
  border: 1px solid #53565A;
}
#pageHeaderWrap .businessTab ul li.serviceCase a:hover {
  background: #53565A;
  color: #fff;
}
@media (max-width: 768px) {
  #pageHeaderWrap .businessTab ul li {
    width: 49.6%;
  }
  #pageHeaderWrap .businessTab ul li a {
    padding: 12px 0;
    font-size: 1.4rem;
  }
}
#pageHeaderWrap #pheaderSliderArea {
  margin-top: min(90px,12.5vw);
}
@media (max-width: 768px) {
  #pageHeaderWrap #pheaderSliderArea {
    margin-top: 60px;
  }
}
#pageHeaderWrap #pheaderSliderArea.recruit {
  margin-top: min(60px,8.334vw);
}
#pageHeaderWrap #pheaderSliderArea.recruit .swiper .swiper-wrapper li.swiper-slide picture source,
#pageHeaderWrap #pheaderSliderArea.recruit .swiper .swiper-wrapper li.swiper-slide picture img {
  border-radius: 40px;
}
#pageHeaderWrap .interviewImgBox {
  position: relative;
  margin-top: min(90px,12.5vw);
}
#pageHeaderWrap .interviewImgBox figure {
  width: 100%;
  overflow: hidden;
  display: block;
  position: relative;
}
#pageHeaderWrap .interviewImgBox figure::before {
  content: "";
  padding-top: 38.71%;
  display: block;
}
@media (max-width: 820px) {
  #pageHeaderWrap .interviewImgBox figure::before {
    padding-top: 50%;
  }
}
@media (max-width: 480px) {
  #pageHeaderWrap .interviewImgBox figure::before {
    padding-top: 75%;
  }
}
#pageHeaderWrap .interviewImgBox figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  border-radius: 40px;
}
#pageHeaderWrap .interviewImgBox .commentBox {
  left: 3.63%;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
#pageHeaderWrap .interviewImgBox .commentBox .comment span {
  display: inline;
  font-size: 2.8rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.5714285714;
  background: #fff;
  padding: 12px;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}
@media (max-width: 820px) {
  #pageHeaderWrap .interviewImgBox .commentBox .comment span {
    font-size: 2rem;
  }
}
@media (max-width: 480px) {
  #pageHeaderWrap .interviewImgBox .commentBox .comment span {
    font-size: 1.8rem;
  }
}
#pageHeaderWrap .interviewImgBox .commentBox .nameBox {
  margin-top: min(80px,11.112vw);
}
#pageHeaderWrap .interviewImgBox .commentBox .nameBox span {
  display: block;
}
#pageHeaderWrap .interviewImgBox .commentBox .nameBox span.job {
  font-size: 1.3rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  padding: 0 12px;
  line-height: 24px;
  height: 24px;
  border: 1px solid #53565A;
  border-radius: 12px;
  width: fit-content;
}
#pageHeaderWrap .interviewImgBox .commentBox .nameBox span.name {
  margin-top: 12px;
  font-size: 2.4rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.3;
}
@media (max-width: 820px) {
  #pageHeaderWrap .interviewImgBox .commentBox .nameBox {
    margin-top: 30px;
  }
  #pageHeaderWrap .interviewImgBox .commentBox .nameBox span.name {
    font-size: 1.8rem;
  }
}
@media (max-width: 480px) {
  #pageHeaderWrap .interviewImgBox .commentBox .nameBox {
    margin-top: 20px;
  }
  #pageHeaderWrap .interviewImgBox .commentBox .nameBox span.name {
    font-size: 1.6rem;
    margin-top: 5px;
  }
}
#pageHeaderWrap.dokuhon .container {
  max-width: 1240px;
  width: 90%;
}
#pageHeaderWrap.dokuhon picture.fullPic.kinari {
  mix-blend-mode: normal;
}

.swiper {
  position: relative;
}
.swiper .slideNav {
  margin: auto;
  width: 13px;
  height: 26px;
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 20;
}
.swiper .slideNav.next {
  background: url("../img/icon/arrow_l.svg") no-repeat center center/contain;
  left: 0;
  right: auto;
}
.swiper .slideNav.prev {
  background: url("../img/icon/arrow_r.svg") no-repeat center center/contain;
  left: auto;
  right: 0;
}

/* サイドバー追従デザイン */
.sideout_container_l {
  margin: auto;
  padding-left: calc((100vw - 1350px) / 2);
  width: 100%;
}
@media (max-width: 1200px) {
  .sideout_container_l {
    padding-left: 5%;
  }
}

.stickyWrap {
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
  position: relative;
}
.stickyWrap .stickyBox {
  width: 180px;
}
.stickyWrap .stickyBox .stickyInner {
  width: 100%;
  position: sticky;
  top: min(160px,22.222vw);
}
.stickyWrap .stickyBox .stickyInner ul li a {
  font-size: 1.8rem;
  letter-spacing: 0.06em;
  font-weight: 600;
  display: inline-block;
}
.stickyWrap .stickyBox .stickyInner ul li a.current {
  color: rgba(89, 88, 89, 0.5);
}
.stickyWrap .stickyBox .stickyInner ul li + li {
  margin-top: min(45px,6.25vw);
}
.stickyWrap .scrollBox {
  margin: 0 0 0 auto;
  width: 69.35%;
  height: auto;
}
@media (max-width: 768px) {
  .stickyWrap {
    display: block;
  }
  .stickyWrap .stickyBox {
    width: 100%;
  }
  .stickyWrap .stickyBox .stickyInner {
    position: static;
    top: 0;
  }
  .stickyWrap .stickyBox .stickyInner ul li a {
    font-size: 1.6rem;
  }
  .stickyWrap .stickyBox .stickyInner ul li + li {
    margin-top: 20px;
  }
  .stickyWrap .stickyBox .catNavi {
    display: -webkit-flex;
    display: -moz-flex;
    display: flex;
  }
  .stickyWrap .stickyBox .catNavi h3 {
    width: 8em;
    border-bottom: none;
  }
  .stickyWrap .stickyBox .catNavi ul {
    margin: 0 0 0 auto;
    width: calc(100% - 8em);
    display: -webkit-flex;
    display: -moz-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .stickyWrap .stickyBox .catNavi ul li {
    margin-right: 10px;
  }
  .stickyWrap .stickyBox .catNavi ul li + li {
    margin-top: 0;
  }
  .stickyWrap .stickyBox .catNavi + .catNavi {
    margin-top: 0.5em;
  }
  .stickyWrap .scrollBox {
    width: 100%;
  }
}

.ttlfs36 {
  font-size: clamp(14.4px, 5vw, 36px);
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 2.09375;
}
@media (max-width: 1024px) {
  .ttlfs36 {
    font-size: clamp(14px, 4.166vw, 30px);
  }
}
@media (max-width: 480px) {
  .ttlfs36 {
    font-size: 2rem;
  }
}

.ttlfs32 {
  font-size: clamp(14px, 4.444vw, 32px);
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.78125;
}
@media (max-width: 1024px) {
  .ttlfs32 {
    font-size: clamp(14px, 3.888vw, 28px);
  }
}
@media (max-width: 768px) {
  .ttlfs32 {
    font-size: clamp(14px, 3.334vw, 24px);
  }
}
@media (max-width: 480px) {
  .ttlfs32 {
    font-size: 2rem;
  }
}

.borderTtl_en {
  border: 2px solid #707070;
  border-top: none;
  width: fit-content;
  padding: 5px 34px 15px;
}
.borderTtl_en span {
  font-size: clamp(14px, 3.888vw, 28px);
  font-family: "Lato", serif;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1;
  display: block;
}

h2.commonTtl span {
  display: block;
}
h2.commonTtl span.en {
  font-size: 1.7rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  font-family: "Lato", serif;
}
@media (max-width: 768px) {
  h2.commonTtl span.en {
    font-size: 1.6rem;
  }
}
h2.commonTtl span.jp {
  font-size: clamp(14.4px, 5vw, 36px);
  font-weight: 600;
  letter-spacing: 0.06em;
}
@media (max-width: 768px) {
  h2.commonTtl span.jp {
    font-size: 2.4rem;
  }
}

.commonNavArea ul {
  gap: 2px;
}
.commonNavArea ul li {
  width: 49.5%;
}
@media (max-width: 768px) {
  .commonNavArea ul li {
    width: 100%;
  }
}
.commonNavArea ul li a {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
}
.commonNavArea ul li a:hover figure img {
  transform: scale(1.1);
}
.commonNavArea ul li a::before {
  content: "";
  background-color: #AFAC9A;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  mix-blend-mode: multiply;
  z-index: 2;
}
.commonNavArea ul li a figure {
  width: 100%;
  overflow: hidden;
  display: block;
  position: relative;
}
.commonNavArea ul li a figure::before {
  content: "";
  padding-top: 19.417%;
  display: block;
}
.commonNavArea ul li a figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
.commonNavArea ul li a p {
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 3;
  color: #fff;
  font-size: clamp(14px, 3.334vw, 24px);
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1;
}
.commonNavArea ul li a p span {
  display: block;
  font-size: 1.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1;
  font-family: "Lato", serif;
  margin-bottom: 10px;
}
@media (max-width: 768px) {
  .commonNavArea ul li a figure::before {
    padding-top: 30%;
  }
  .commonNavArea ul li a p {
    font-size: 1.6rem;
  }
  .commonNavArea ul li a p span {
    font-size: 1.4rem;
  }
}

/*==========================================================
	about
==========================================================*/
/*===================================================
	about philosophy
====================================================*/
#aboutPhilosophyWrap {
  padding: min(160px,22.222vw) 0 min(180px,25vw);
}
@media (max-width: 768px) {
  #aboutPhilosophyWrap {
    padding: min(120px,16.666vw) 0 min(140px,19.444vw);
  }
}
#aboutPhilosophyWrap .descBox {
  margin-top: min(60px,8.334vw);
}
#aboutPhilosophyWrap .descBox h3 {
  width: 50%;
  margin-bottom: min(80px,11.112vw);
  line-height: 1;
}
#aboutPhilosophyWrap .descBox .textBox {
  width: 50%;
}
#aboutPhilosophyWrap .descBox .textBox .text p {
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 2;
}
#aboutPhilosophyWrap .descBox .textBox .text + .text {
  margin-top: 2em;
}
@media (max-width: 1200px) {
  #aboutPhilosophyWrap .descBox {
    display: block;
  }
  #aboutPhilosophyWrap .descBox h3 {
    width: 100%;
    margin-bottom: 40px;
  }
  #aboutPhilosophyWrap .descBox .textBox {
    width: 100%;
  }
}
@media (max-width: 768px) {
  #aboutPhilosophyWrap .descBox h3 {
    margin-bottom: 30px;
  }
  #aboutPhilosophyWrap .descBox .textBox .text + .text {
    margin-top: 1em;
  }
}
@media (max-width: 480px) {
  #aboutPhilosophyWrap .descBox h3 {
    margin-bottom: 20px;
  }
}
#aboutPhilosophyWrap .imageBox {
  margin-top: min(145px,20.138vw);
}
#aboutPhilosophyWrap .imageBox picture {
  width: 100%;
  overflow: hidden;
  display: block;
  position: relative;
}
#aboutPhilosophyWrap .imageBox picture::before {
  content: "";
  padding-top: 56.33%;
  display: block;
}
#aboutPhilosophyWrap .imageBox picture source, #aboutPhilosophyWrap .imageBox picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
@media (max-width: 480px) {
  #aboutPhilosophyWrap .imageBox {
    margin-top: 60px;
  }
}

/*===================================================
	about message
====================================================*/
#aboutMessageWrap {
  background: #fff;
  padding: min(160px,22.222vw) 0 min(180px,25vw);
}
#aboutMessageWrap h2 {
  margin-bottom: min(50px,6.944vw);
}
@media (max-width: 480px) {
  #aboutMessageWrap h2 {
    margin-bottom: 35px;
  }
}
#aboutMessageWrap .descBox {
  margin: min(60px,8.334vw) 0 min(120px,16.666vw);
}
@media (max-width: 768px) {
  #aboutMessageWrap .descBox {
    flex-direction: column-reverse;
    margin-top: 30px;
  }
}
#aboutMessageWrap .descBox .textBox {
  width: 50%;
}
#aboutMessageWrap .descBox .textBox .text p {
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 2;
}
#aboutMessageWrap .descBox .textBox .text + .text {
  margin-top: 2em;
}
#aboutMessageWrap .descBox .textBox p.name {
  text-align: right;
  margin-top: 15px;
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.5;
}
#aboutMessageWrap .descBox .textBox p.name span {
  font-size: 1.3rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1;
  margin-right: 1em;
}
@media (max-width: 480px) {
  #aboutMessageWrap .descBox .textBox p.name {
    font-size: 1.6rem;
  }
  #aboutMessageWrap .descBox .textBox p.name span {
    font-size: 1.2rem;
  }
}
@media (max-width: 768px) {
  #aboutMessageWrap .descBox .textBox {
    width: 100%;
  }
  #aboutMessageWrap .descBox .textBox .text + .text {
    margin-top: 1em;
  }
}
#aboutMessageWrap .descBox .imageBox {
  width: 50%;
}
#aboutMessageWrap .descBox .imageBox picture {
  width: 80.32%;
  margin: 0 5.16% 0 auto;
  overflow: hidden;
  display: block;
  position: relative;
  mix-blend-mode: multiply;
}
#aboutMessageWrap .descBox .imageBox picture::before {
  content: "";
  padding-top: 107.22%;
  display: block;
}
#aboutMessageWrap .descBox .imageBox picture source, #aboutMessageWrap .descBox .imageBox picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
@media (max-width: 768px) {
  #aboutMessageWrap .descBox .imageBox {
    width: 100%;
    margin-bottom: 30px;
  }
  #aboutMessageWrap .descBox .imageBox picture {
    width: 60%;
    margin: 0 auto;
  }
}

/*===================================================
	about Sleep Health Instructor
====================================================*/
#aboutInstructorWrap {
  padding: min(160px,22.222vw) 0 0;
}
#aboutInstructorWrap h2 {
  margin-bottom: min(50px,6.944vw);
}
@media (max-width: 480px) {
  #aboutInstructorWrap h2 {
    margin-bottom: 35px;
  }
}
#aboutInstructorWrap .descBox .textBox {
  margin-top: min(50px,6.944vw);
}
#aboutInstructorWrap .descBox .textBox .text p {
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 2;
}
#aboutInstructorWrap .descBox .textBox .text + .text {
  margin-top: 2em;
}
@media (max-width: 768px) {
  #aboutInstructorWrap .descBox .textBox {
    margin-top: 30px;
  }
  #aboutInstructorWrap .descBox .textBox .text + .text {
    margin-top: 1em;
  }
}
@media (max-width: 480px) {
  #aboutInstructorWrap .descBox .textBox {
    width: 100%;
    margin-top: 15px;
  }
}
#aboutInstructorWrap .imageBox {
  margin: min(90px,12.5vw) auto 0;
  max-width: 1380px;
  width: 95.83%;
  display: block;
}
#aboutInstructorWrap .imageBox ul {
  justify-content: space-between;
}
#aboutInstructorWrap .imageBox ul li {
  width: 21.74%;
}
#aboutInstructorWrap .imageBox ul li:nth-of-type(odd) {
  margin-top: 50px;
}
#aboutInstructorWrap .imageBox ul li picture {
  width: 100%;
  overflow: hidden;
  display: block;
  position: relative;
}
#aboutInstructorWrap .imageBox ul li picture::before {
  content: "";
  padding-top: 120%;
  display: block;
}
#aboutInstructorWrap .imageBox ul li picture source, #aboutInstructorWrap .imageBox ul li picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
@media (max-width: 480px) {
  #aboutInstructorWrap .imageBox ul {
    justify-content: center;
    gap: 30px;
  }
  #aboutInstructorWrap .imageBox ul li {
    width: 40%;
  }
  #aboutInstructorWrap .imageBox ul li:nth-of-type(odd) {
    margin-top: 30px;
  }
}
#aboutInstructorWrap .infoBox {
  max-width: 930px;
  width: 80%;
  margin: min(75px,10.416vw) auto 0;
  border: 1px solid rgba(83, 86, 90, 0.7);
  padding: min(55px,7.638vw) min(65px,9.028vw);
}
@media (max-width: 768px) {
  #aboutInstructorWrap .infoBox {
    margin: 60px auto 0;
    padding: 40px 30px;
  }
}
@media (max-width: 480px) {
  #aboutInstructorWrap .infoBox {
    padding: 30px 20px;
    width: 90%;
  }
}
#aboutInstructorWrap .infoBox p.read {
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1;
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
}
#aboutInstructorWrap .infoBox .textBox {
  margin-top: 20px;
}
#aboutInstructorWrap .infoBox .textBox .text p {
  font-weight: 500;
  letter-spacing: 0.03em;
  line-height: 1.6875;
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
}
#aboutInstructorWrap .infoBox .textBox .text + .text {
  margin-top: 2em;
}
#aboutInstructorWrap .infoBox .tellBox {
  text-align: center;
  margin-top: 30px;
}
#aboutInstructorWrap .infoBox .tellBox p.tel a {
  font-size: 2.4rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1;
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
}
#aboutInstructorWrap .infoBox .tellBox p.time {
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 2;
  margin-top: 5px;
}

/*===================================================
	about Craftsmanship
====================================================*/
#aboutCraftWrap {
  padding: min(160px,22.222vw) 0 0;
}
#aboutCraftWrap h2 {
  margin-bottom: min(50px,6.944vw);
}
@media (max-width: 480px) {
  #aboutCraftWrap h2 {
    margin-bottom: 35px;
  }
}
#aboutCraftWrap .descBox .textBox {
  margin-top: min(50px,6.944vw);
  max-width: 920px;
  width: 90%;
}
#aboutCraftWrap .descBox .textBox .text p {
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 2;
}
#aboutCraftWrap .descBox .textBox .text + .text {
  margin-top: 2em;
}
@media (max-width: 768px) {
  #aboutCraftWrap .descBox .textBox {
    margin-top: 30px;
  }
  #aboutCraftWrap .descBox .textBox .text + .text {
    margin-top: 1em;
  }
}
@media (max-width: 480px) {
  #aboutCraftWrap .descBox .textBox {
    width: 100%;
    margin-top: 15px;
  }
}
#aboutCraftWrap .detailBox {
  width: 100%;
  margin-top: 25px;
}
#aboutCraftWrap .detailBox .twoImgBox {
  display: flex;
}
#aboutCraftWrap .detailBox .twoImgBox picture {
  width: 50%;
  overflow: hidden;
  display: block;
  position: relative;
}
#aboutCraftWrap .detailBox .twoImgBox picture::before {
  content: "";
  padding-top: 55.65%;
  display: block;
}
#aboutCraftWrap .detailBox .twoImgBox picture source, #aboutCraftWrap .detailBox .twoImgBox picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
#aboutCraftWrap .detailBox .text {
  margin-top: min(60px,8.334vw);
  max-width: 920px;
  width: 90%;
}
#aboutCraftWrap .detailBox .text p {
  line-height: 2;
  font-weight: 500;
  letter-spacing: 0.05em;
}
#aboutCraftWrap .detailBox .fourImgBox {
  display: flex;
  margin-top: 35px;
  margin-bottom: min(120px,16.666vw);
  flex-wrap: wrap;
}
#aboutCraftWrap .detailBox .fourImgBox picture {
  width: 25%;
  overflow: hidden;
  display: block;
  position: relative;
}
#aboutCraftWrap .detailBox .fourImgBox picture::before {
  content: "";
  padding-top: 55.65%;
  display: block;
}
#aboutCraftWrap .detailBox .fourImgBox picture source, #aboutCraftWrap .detailBox .fourImgBox picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
@media (max-width: 480px) {
  #aboutCraftWrap .detailBox .fourImgBox {
    margin-top: 20px;
    margin-bottom: 80px;
  }
  #aboutCraftWrap .detailBox .fourImgBox picture {
    width: 50%;
  }
}
#aboutCraftWrap .imageBox {
  margin-top: min(80px,11.112vw);
  column-gap: 2.82%;
}
#aboutCraftWrap .imageBox ul {
  justify-content: space-between;
}
#aboutCraftWrap .imageBox ul::after {
  content: "";
  display: block;
  width: 31.45%;
}
#aboutCraftWrap .imageBox ul li {
  width: 31.45%;
}
#aboutCraftWrap .imageBox ul li:nth-child(n+4) {
  margin-top: min(80px,11.112vw);
}
#aboutCraftWrap .imageBox ul li p.name {
  font-size: 2.4rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1;
  text-align: center;
}
#aboutCraftWrap .imageBox ul li picture {
  margin-top: 15px;
  width: 100%;
  overflow: hidden;
  display: block;
  position: relative;
}
#aboutCraftWrap .imageBox ul li picture::before {
  content: "";
  padding-top: 100%;
  display: block;
}
#aboutCraftWrap .imageBox ul li picture source, #aboutCraftWrap .imageBox ul li picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
#aboutCraftWrap .imageBox ul li p.text {
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.75;
  margin-top: 15px;
}
@media (max-width: 768px) {
  #aboutCraftWrap .imageBox ul li {
    width: 48%;
  }
  #aboutCraftWrap .imageBox ul li:nth-of-type(n + 3) {
    margin-top: 40px;
  }
  #aboutCraftWrap .imageBox ul li p.name {
    font-size: 1.6rem;
  }
  #aboutCraftWrap .imageBox ul li picture {
    margin-top: 10px;
  }
  #aboutCraftWrap .imageBox ul li p.text {
    margin-top: 10px;
  }
}

/*===================================================
	about Technology
====================================================*/
#aboutTechnologyWrap {
  padding: min(180px,25vw) 0 min(240px,33.334vw);
}
#aboutTechnologyWrap h2 {
  margin-bottom: min(50px,6.944vw);
}
@media (max-width: 480px) {
  #aboutTechnologyWrap h2 {
    margin-bottom: 35px;
  }
}
#aboutTechnologyWrap .descBox .textBox {
  margin-top: min(50px,6.944vw);
  max-width: 920px;
  width: 90%;
}
#aboutTechnologyWrap .descBox .textBox .text p {
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 2;
}
#aboutTechnologyWrap .descBox .textBox .text + .text {
  margin-top: 2em;
}
@media (max-width: 768px) {
  #aboutTechnologyWrap .descBox .textBox {
    margin-top: 30px;
  }
  #aboutTechnologyWrap .descBox .textBox .text + .text {
    margin-top: 1em;
  }
}
@media (max-width: 480px) {
  #aboutTechnologyWrap .descBox .textBox {
    width: 100%;
    margin-top: 15px;
  }
}
#aboutTechnologyWrap .imageBox {
  margin-top: min(60px,8.334vw);
  column-gap: 2.82%;
}
#aboutTechnologyWrap .imageBox ul {
  justify-content: space-between;
}
#aboutTechnologyWrap .imageBox ul li {
  width: 31.45%;
}
#aboutTechnologyWrap .imageBox ul li picture {
  width: 100%;
  overflow: hidden;
  display: block;
  position: relative;
}
#aboutTechnologyWrap .imageBox ul li picture::before {
  content: "";
  padding-top: 61.538%;
  display: block;
}
#aboutTechnologyWrap .imageBox ul li picture source, #aboutTechnologyWrap .imageBox ul li picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
@media (max-width: 480px) {
  #aboutTechnologyWrap .imageBox ul {
    column-gap: 10px;
    row-gap: 10px;
    justify-content: center;
  }
  #aboutTechnologyWrap .imageBox ul li {
    width: 45%;
  }
}

/*===================================================
	history
====================================================*/
#historyWrap {
  padding: min(140px,19.444vw) 0;
}
@media (max-width: 768px) {
  #historyWrap {
    padding: 80px 0;
  }
}
#historyWrap h2.commonTtl {
  text-align: center;
}
#historyWrap .historyBox {
  padding: 0 3.63%;
}
@media (max-width: 768px) {
  #historyWrap .historyBox {
    padding: 0;
  }
}
#historyWrap .historyBox ul {
  overflow: hidden;
}
#historyWrap .historyBox ul li {
  display: flex;
  padding-top: 65px;
}
@media (max-width: 768px) {
  #historyWrap .historyBox ul li {
    padding-top: 50px;
  }
}
#historyWrap .historyBox ul li:first-child {
  padding-top: 60px;
}
#historyWrap .historyBox ul li .descBox {
  margin-top: -12px;
  margin-left: 32px;
}
@media (max-width: 1024px) {
  #historyWrap .historyBox ul li .descBox {
    display: block;
  }
}
@media (max-width: 768px) {
  #historyWrap .historyBox ul li .descBox {
    margin-top: -8px;
  }
}
#historyWrap .historyBox ul li .descBox .year {
  display: flex;
  align-items: center;
  height: fit-content;
}
#historyWrap .historyBox ul li .descBox .year span.number {
  font-family: "Lato", serif;
  font-size: clamp(14.4px, 5vw, 36px);
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
}
@media (max-width: 768px) {
  #historyWrap .historyBox ul li .descBox .year span.number {
    font-size: 2.8rem;
  }
}
#historyWrap .historyBox ul li .descBox .year span.jp {
  margin-left: 8px;
  font-size: 1.8rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  display: inline-block;
}
@media (max-width: 1200px) {
  #historyWrap .historyBox ul li .descBox .year span.jp {
    font-size: 1.6rem;
  }
}
#historyWrap .historyBox ul li .descBox .text {
  margin-left: min(90px,12.5vw);
}
@media (max-width: 1024px) {
  #historyWrap .historyBox ul li .descBox .text {
    margin-left: 0;
    margin-top: 20px;
  }
}
#historyWrap .historyBox ul li .descBox .text p {
  font-size: 2rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.9;
}
#historyWrap .historyBox ul li .descBox .text p + p {
  margin-top: 50px;
}
@media (max-width: 768px) {
  #historyWrap .historyBox ul li .descBox .text p + p {
    margin-top: 0.5em;
  }
}
@media (max-width: 1200px) {
  #historyWrap .historyBox ul li .descBox .text p {
    font-size: 1.8rem;
  }
}
@media (max-width: 768px) {
  #historyWrap .historyBox ul li .descBox .text p {
    font-size: 1.6rem;
  }
}
#historyWrap .historyBox ul li .descBox .text figure {
  margin-top: min(40px,5.556vw);
  margin-left: 30px;
}
#historyWrap .historyBox ul li .descBox .text .read {
  font-size: 2.8rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.4;
  margin-bottom: 25px;
}
@media (max-width: 768px) {
  #historyWrap .historyBox ul li .descBox .text .read {
    font-size: 2rem;
    margin-bottom: 15px;
  }
}
#historyWrap .historyBox ul li .circle {
  position: absolute;
  font-size: 16px;
  width: 16px !important;
  height: 16px !important;
  background: #fff;
  border: 1px solid #53565A;
  z-index: 2;
  border-radius: 50%;
  z-index: 2;
}
#historyWrap .historyBox ul li .circle.base {
  background: #53565A;
}
#historyWrap .historyBox ul li .circle .circle_line {
  content: "";
  height: 0px;
  width: 1px;
  background-color: #807F81;
  position: absolute;
  top: 14px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  z-index: 1;
}
#historyWrap .historyBox ul li .circle .circle_line.last {
  height: var(--line-height);
}
#historyWrap .historyBox ul li .circle.fadeIn_line.active .circle_line {
  height: var(--line-height);
  animation: circle 2s forwards linear;
}

@keyframes circle {
  0% {
    height: 0px;
  }
  100% {
    height: var(--line-height);
  }
}
/*===================================================
	history Prize
====================================================*/
#historyPrizeWrap {
  padding: min(140px,19.444vw) 0;
  background: #fff;
}
@media (max-width: 768px) {
  #historyPrizeWrap {
    padding: 80px 0;
  }
}
#historyPrizeWrap h2.commonTtl {
  text-align: center;
}
#historyPrizeWrap .prizeInner {
  max-width: 1280px;
  width: 88.89%;
  margin: min(60px,8.334vw) auto 0;
  height: auto;
  box-sizing: border-box;
}
#historyPrizeWrap .prizeInner ul.prizeLogoList {
  gap: 1.8%;
}
@media (max-width: 768px) {
  #historyPrizeWrap .prizeInner ul.prizeLogoList {
    justify-content: center;
  }
}
#historyPrizeWrap .prizeInner ul.prizeLogoList li {
  width: 12.73%;
}
@media (max-width: 768px) {
  #historyPrizeWrap .prizeInner ul.prizeLogoList li {
    width: 23.1%;
    margin-bottom: 20px;
  }
}
#historyPrizeWrap .prizeInner ul.prizeLogoList li figure {
  width: 100%;
  overflow: hidden;
  display: block;
  position: relative;
}
#historyPrizeWrap .prizeInner ul.prizeLogoList li figure::before {
  content: "";
  padding-top: 100%;
  display: block;
}
#historyPrizeWrap .prizeInner ul.prizeLogoList li figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
#historyPrizeWrap .prizeDetailList {
  margin-left: 6.29%;
  margin-top: min(80px,11.112vw);
}
@media (max-width: 768px) {
  #historyPrizeWrap .prizeDetailList {
    margin-left: 0;
  }
}
#historyPrizeWrap .prizeDetailList dl {
  display: flex;
}
@media (max-width: 768px) {
  #historyPrizeWrap .prizeDetailList dl {
    flex-direction: column;
  }
}
#historyPrizeWrap .prizeDetailList dl dt, #historyPrizeWrap .prizeDetailList dl dd {
  font-weight: 600;
  letter-spacing: 0.06em;
}
#historyPrizeWrap .prizeDetailList dl dt {
  width: 150px;
}
@media (max-width: 768px) {
  #historyPrizeWrap .prizeDetailList dl dt {
    width: 100%;
    margin-bottom: 15px;
  }
}
#historyPrizeWrap .prizeDetailList dl dd {
  width: calc(100% - 145px);
  margin-left: min(70px,9.722vw);
}
@media (max-width: 768px) {
  #historyPrizeWrap .prizeDetailList dl dd {
    width: 100%;
    margin-left: 1em;
  }
}
#historyPrizeWrap .prizeDetailList dl dd p + p {
  margin-top: 1.75em;
}
@media (max-width: 768px) {
  #historyPrizeWrap .prizeDetailList dl dd p + p {
    margin-top: 1em;
  }
}
@media (max-width: 768px) {
  #historyPrizeWrap .prizeDetailList dl dd p {
    padding-left: 1em;
    position: relative;
  }
  #historyPrizeWrap .prizeDetailList dl dd p::before {
    content: "";
    position: absolute;
    display: block;
    background: #53565A;
    height: 1px;
    width: 0.5em;
    left: 0;
    top: 0.6em;
  }
}
#historyPrizeWrap .prizeDetailList dl + dl {
  margin-top: 1.75em;
}
@media (max-width: 768px) {
  #historyPrizeWrap .prizeDetailList dl + dl {
    margin-top: 30px;
  }
}

#historyPropertyWrap {
  padding: min(140px,19.444vw) 0 min(240px,33.334vw);
}
@media (max-width: 768px) {
  #historyPropertyWrap {
    padding: 80px 0;
  }
}
#historyPropertyWrap h2.commonTtl {
  text-align: center;
}
#historyPropertyWrap .propertyInner {
  max-width: 1100px;
  width: 76.39%;
  margin: min(60px,8.334vw) auto min(240px,33.334vw);
}
@media (max-width: 768px) {
  #historyPropertyWrap .propertyInner {
    width: 87.2%;
    margin: 40px auto 60px;
  }
}
#historyPropertyWrap .propertyInner .propertyList {
  border-top: 1px solid rgba(128, 127, 129, 0.3);
}
#historyPropertyWrap .propertyInner .propertyList dl {
  border-bottom: 1px solid rgba(128, 127, 129, 0.3);
  padding: 32px 10%;
  display: flex;
}
@media (max-width: 1200px) {
  #historyPropertyWrap .propertyInner .propertyList dl {
    padding: 32px 5%;
    flex-wrap: wrap;
  }
}
@media (max-width: 1024px) {
  #historyPropertyWrap .propertyInner .propertyList dl {
    display: block;
  }
}
#historyPropertyWrap .propertyInner .propertyList dl dt, #historyPropertyWrap .propertyInner .propertyList dl dd {
  font-weight: 600;
  letter-spacing: 0.06em;
}
#historyPropertyWrap .propertyInner .propertyList dl dt {
  width: 200px;
}
@media (max-width: 1200px) {
  #historyPropertyWrap .propertyInner .propertyList dl dd {
    margin-top: 20px;
  }
}
#historyPropertyWrap .propertyInner .propertyList dl dd .productBox {
  display: flex;
}
@media (max-width: 1024px) {
  #historyPropertyWrap .propertyInner .propertyList dl dd .productBox {
    flex-wrap: wrap;
    padding-left: 1em;
  }
}
#historyPropertyWrap .propertyInner .propertyList dl dd .productBox p.product {
  width: 375px;
}
@media (max-width: 1024px) {
  #historyPropertyWrap .propertyInner .propertyList dl dd .productBox p.product {
    width: 100%;
    position: relative;
    margin-bottom: 0.5em;
  }
  #historyPropertyWrap .propertyInner .propertyList dl dd .productBox p.product::before {
    content: "";
    position: absolute;
    display: block;
    background: #53565A;
    height: 1px;
    width: 0.5em;
    left: -1em;
    top: 0.6em;
  }
}
#historyPropertyWrap .propertyInner .propertyList dl dd .productBox p.date {
  width: 170px;
}
@media (max-width: 1024px) {
  #historyPropertyWrap .propertyInner .propertyList dl dd .productBox p.date {
    width: 50%;
  }
}
#historyPropertyWrap .propertyInner .propertyList dl dd .productBox p.number {
  width: 135px;
  white-space: nowrap;
}
@media (max-width: 1024px) {
  #historyPropertyWrap .propertyInner .propertyList dl dd .productBox p.number {
    width: 50%;
  }
}
#historyPropertyWrap .propertyInner .propertyList dl dd .productBox + .productBox {
  margin-top: 0.5em;
}
@media (max-width: 1024px) {
  #historyPropertyWrap .propertyInner .propertyList dl dd .productBox + .productBox {
    margin-top: 1em;
  }
}

/*===================================================
	company profile
====================================================*/
#companyProfileWrap {
  padding: min(140px,19.444vw) 0;
}
@media (max-width: 768px) {
  #companyProfileWrap {
    padding: 80px 0;
  }
}
#companyProfileWrap h2.commonTtl {
  text-align: center;
}
#companyProfileWrap .companyProfileTable {
  border-top: 1px solid rgba(128, 127, 129, 0.3);
  margin-top: min(75px,10.416vw);
}
#companyProfileWrap .companyProfileTable dl {
  padding: 32px 0 32px 8.06%;
  border-bottom: 1px solid rgba(128, 127, 129, 0.3);
  display: flex;
}
@media (max-width: 820px) {
  #companyProfileWrap .companyProfileTable dl {
    display: block;
    padding: 20px 0;
  }
}
#companyProfileWrap .companyProfileTable dl dt, #companyProfileWrap .companyProfileTable dl dd {
  font-weight: 600;
  letter-spacing: 0.06em;
  font-size: 1.8rem;
  line-height: 1.8888888889;
}
@media (max-width: 1024px) {
  #companyProfileWrap .companyProfileTable dl dt, #companyProfileWrap .companyProfileTable dl dd {
    font-size: 1.6rem;
  }
}
#companyProfileWrap .companyProfileTable dl dt {
  width: 280px;
}
#companyProfileWrap .companyProfileTable dl dd {
  width: calc(100% - 280px);
}
@media (max-width: 820px) {
  #companyProfileWrap .companyProfileTable dl dd {
    width: 100%;
    margin-left: 1em;
    margin-top: 10px;
  }
}
#companyProfileWrap .companyProfileTable dl dd a {
  word-wrap: break-word;
}
#companyProfileWrap .companyProfileTable dl dd .companyList {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 20px;
}
#companyProfileWrap .companyProfileTable dl dd .companyList p {
  width: 33.33%;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 2;
}
@media (max-width: 480px) {
  #companyProfileWrap .companyProfileTable dl dd .companyList p {
    width: 100%;
  }
}
#companyProfileWrap .companyProfileTable dl dd .companyList p.note {
  text-align: right;
  margin-top: 30px;
}
#companyProfileWrap .companyProfileTable dl dd .companyList:not(:last-child) {
  margin-right: auto;
}

/*===================================================
	company access
====================================================*/
#companyAccessWrap {
  background: #fff;
  padding: min(140px,19.444vw) 0 min(240px,33.334vw);
}
@media (max-width: 768px) {
  #companyAccessWrap {
    padding: 80px 0;
  }
}
#companyAccessWrap h2.commonTtl {
  text-align: center;
  margin-bottom: min(100px,13.888vw);
}
@media (max-width: 768px) {
  #companyAccessWrap h2.commonTtl {
    margin-bottom: 60px;
  }
}
#companyAccessWrap .accessBox {
  padding-bottom: min(100px,13.888vw);
}
@media (max-width: 768px) {
  #companyAccessWrap .accessBox {
    padding-bottom: 60px;
  }
}
@media (max-width: 1024px) {
  #companyAccessWrap .accessBox .accessInner {
    display: block;
  }
}
#companyAccessWrap .accessBox .accessInner .textBox h3 {
  font-size: clamp(14px, 4.166vw, 30px);
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1;
  margin-bottom: 40px;
}
@media (max-width: 768px) {
  #companyAccessWrap .accessBox .accessInner .textBox h3 {
    font-size: 2.2rem;
  }
}
@media (max-width: 480px) {
  #companyAccessWrap .accessBox .accessInner .textBox h3 {
    font-size: 2rem;
    margin-bottom: 30px;
  }
}
#companyAccessWrap .accessBox .accessInner .textBox dl {
  display: flex;
}
@media (max-width: 480px) {
  #companyAccessWrap .accessBox .accessInner .textBox dl {
    display: block;
  }
}
#companyAccessWrap .accessBox .accessInner .textBox dl dt {
  font-weight: 800;
  width: 100px;
  letter-spacing: 0.06em;
}
#companyAccessWrap .accessBox .accessInner .textBox dl dd {
  width: calc(100% - 100px);
}
@media (max-width: 480px) {
  #companyAccessWrap .accessBox .accessInner .textBox dl dd {
    width: 100%;
    margin-top: 10px;
  }
}
#companyAccessWrap .accessBox .accessInner .textBox dl dd p {
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.75;
}
#companyAccessWrap .accessBox .accessInner .textBox dl dd p.root {
  font-size: 1.4rem;
  line-height: 2;
}
#companyAccessWrap .accessBox .accessInner .textBox dl + dl {
  margin-top: 30px;
}
@media (max-width: 480px) {
  #companyAccessWrap .accessBox .accessInner .textBox dl + dl {
    margin-top: 20px;
  }
}
#companyAccessWrap .accessBox .accessInner .textBox p.tell {
  background: #F2F2EE;
  margin-top: 40px;
}
@media (max-width: 1024px) {
  #companyAccessWrap .accessBox .accessInner .textBox p.tell {
    max-width: 484px;
  }
}
#companyAccessWrap .accessBox .accessInner .textBox p.tell a {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px 0;
  width: 100%;
  text-align: center;
}
@media (max-width: 480px) {
  #companyAccessWrap .accessBox .accessInner .textBox p.tell a {
    padding: 10px 0;
    display: block;
  }
}
#companyAccessWrap .accessBox .accessInner .textBox p.tell a span {
  display: block;
}
#companyAccessWrap .accessBox .accessInner .textBox p.tell a span:nth-of-type(1) {
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1;
}
@media (max-width: 1200px) {
  #companyAccessWrap .accessBox .accessInner .textBox p.tell a span:nth-of-type(1) {
    font-size: 1.5rem;
  }
}
#companyAccessWrap .accessBox .accessInner .textBox p.tell a span:nth-of-type(2) {
  font-size: min(26px,3.612vw);
  letter-spacing: 0.06em;
  line-height: 1;
  font-weight: 600;
}
@media (max-width: 1200px) {
  #companyAccessWrap .accessBox .accessInner .textBox p.tell a span:nth-of-type(2) {
    font-size: 2rem;
  }
}
@media (max-width: 480px) {
  #companyAccessWrap .accessBox .accessInner .textBox p.tell a span:nth-of-type(2) {
    font-size: 1.8rem;
    margin-top: 5px;
  }
}
#companyAccessWrap .accessBox .accessInner .textBox .commonBtn {
  margin-top: 50px;
}
@media (max-width: 480px) {
  #companyAccessWrap .accessBox .accessInner .textBox .commonBtn {
    margin-top: 30px;
  }
}
#companyAccessWrap .accessBox .accessInner .textBox .commonBtn a {
  width: 100%;
}
#companyAccessWrap .accessBox .accessInner .textBox .commonBtn a span.txt {
  font-size: 1.7rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1;
}
@media (max-width: 480px) {
  #companyAccessWrap .accessBox .accessInner .textBox .commonBtn a span.txt {
    line-height: 1.3;
    font-size: 1.6rem;
  }
}
#companyAccessWrap .accessBox .accessInner .textBox .commonBtn a span.arrow {
  margin-left: auto;
}
@media (max-width: 1024px) {
  #companyAccessWrap .accessBox .accessInner .textBox .commonBtn a span.arrow {
    margin-left: 40px;
  }
}
@media (max-width: 480px) {
  #companyAccessWrap .accessBox .accessInner .textBox .commonBtn a span.arrow {
    margin-left: auto;
  }
}
#companyAccessWrap .accessBox .accessInner .mapArea {
  width: 53.95%;
  margin-left: 7.02%;
}
@media (max-width: 1024px) {
  #companyAccessWrap .accessBox .accessInner .mapArea {
    width: 80%;
    margin: 60px auto 0;
  }
}
@media (max-width: 480px) {
  #companyAccessWrap .accessBox .accessInner .mapArea {
    width: 100%;
    margin: 40px auto 0;
  }
}
#companyAccessWrap .accessBox .accessInner .mapArea .map {
  width: 100%;
  position: relative;
  padding-bottom: 66.82%;
  height: 0;
  overflow: hidden;
}
#companyAccessWrap .accessBox .accessInner .mapArea .map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
#companyAccessWrap .accessBox .accessInner .mapArea .mapLink {
  width: 200px;
  margin: 20px 0 0 auto;
}
#companyAccessWrap .accessBox .accessInner .mapArea .mapLink a {
  display: block;
  width: 100%;
  height: 37px;
  line-height: 35px;
  border: 1px solid #53565A;
  text-align: center;
  border-radius: 19px;
}
#companyAccessWrap .accessBox .accessInner .mapArea .mapLink a span {
  font-size: 1.3rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1;
}
#companyAccessWrap .accessBox .accessInner .mapArea .mapLink a i {
  display: inline-flex;
  margin-left: 34px;
  transition: all 0.3s;
}
#companyAccessWrap .accessBox .rootArea {
  margin-top: 15px;
}
@media (max-width: 1200px) {
  #companyAccessWrap .accessBox .rootArea {
    margin-top: 40px;
  }
}
@media (max-width: 768px) {
  #companyAccessWrap .accessBox .rootArea {
    margin-top: 30px;
  }
}
#companyAccessWrap .accessBox .rootArea dl dt, #companyAccessWrap .accessBox .rootArea dl dd {
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 2;
}
@media (max-width: 480px) {
  #companyAccessWrap .accessBox .rootArea dl dt, #companyAccessWrap .accessBox .rootArea dl dd {
    font-size: 1.3rem;
  }
}
#companyAccessWrap .accessBox .rootArea dl + dl {
  margin-top: 2em;
}
@media (max-width: 768px) {
  #companyAccessWrap .accessBox .rootArea dl + dl {
    margin-top: 1em;
  }
}
#companyAccessWrap .accessBox + .accessBox {
  border-top: 1px solid rgb(128, 127, 129);
  padding-top: min(100px,13.888vw);
  padding-bottom: min(240px,33.334vw);
}
@media (max-width: 768px) {
  #companyAccessWrap .accessBox + .accessBox {
    padding-top: 60px;
    padding-bottom: 100px;
  }
}

/*==========================================================
	product
==========================================================*/
/*===================================================
	product Top
====================================================*/
#productBrandWrap {
  padding: min(180px,25vw) 0 min(240px,33.334vw);
  position: relative;
  background-color: #fff;
}
@media (max-width: 768px) {
  #productBrandWrap {
    padding: 80px 0 100px;
  }
}
#productBrandWrap::before {
  content: "";
  display: block;
  width: 100%;
  height: 175px;
  background-color: #fff;
  position: absolute;
  bottom: 100%;
  left: 0;
}
#productBrandWrap ul li {
  display: flex;
}
@media (max-width: 768px) {
  #productBrandWrap ul li {
    display: block;
  }
}
#productBrandWrap ul li .figBox {
  width: 50%;
}
@media (max-width: 768px) {
  #productBrandWrap ul li .figBox {
    width: 80%;
  }
}
@media (max-width: 480px) {
  #productBrandWrap ul li .figBox {
    width: 100%;
  }
}
#productBrandWrap ul li .figBox figure {
  width: 87.1%;
  overflow: hidden;
  display: block;
  position: relative;
}
@media (max-width: 480px) {
  #productBrandWrap ul li .figBox figure {
    width: 100%;
  }
}
#productBrandWrap ul li .figBox figure::before {
  content: "";
  padding-top: 66.67%;
  display: block;
}
#productBrandWrap ul li .figBox figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
#productBrandWrap ul li .textBox {
  width: 50%;
}
@media (max-width: 1024px) {
  #productBrandWrap ul li .textBox {
    margin-top: 10px;
  }
}
@media (max-width: 768px) {
  #productBrandWrap ul li .textBox {
    width: 100%;
    margin-top: 40px;
  }
}
#productBrandWrap ul li .textBox h3 {
  margin-bottom: min(40px,5.556vw);
  align-items: center;
}
@media (max-width: 480px) {
  #productBrandWrap ul li .textBox h3 {
    flex-direction: column-reverse;
    align-items: flex-start;
  }
}
#productBrandWrap ul li .textBox h3 figure img {
  vertical-align: baseline;
}
#productBrandWrap ul li .textBox h3 span {
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 2.5333333333;
  margin-left: 8%;
}
@media (max-width: 480px) {
  #productBrandWrap ul li .textBox h3 span {
    font-size: 1.2rem;
    margin-left: 0;
    margin-bottom: 5px;
  }
}
@media (max-width: 1024px) {
  #productBrandWrap ul li .textBox h3 {
    margin-bottom: 30px;
  }
}
@media (max-width: 480px) {
  #productBrandWrap ul li .textBox h3 {
    margin-bottom: 15px;
    font-size: 2.4rem;
  }
}
#productBrandWrap ul li .textBox p {
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 2;
  margin-bottom: min(35px,4.862vw);
}
#productBrandWrap ul li .textBox p.type {
  margin-bottom: 20px;
  font-size: 1.8rem;
  font-weight: 600;
  letter-spacing: 0.06em;
}
@media (max-width: 480px) {
  #productBrandWrap ul li .textBox p.type {
    margin-bottom: 10px;
    font-size: 1.4rem;
  }
}
@media (max-width: 1024px) {
  #productBrandWrap ul li .textBox p {
    margin-bottom: 20px;
  }
}
@media (max-width: 480px) {
  #productBrandWrap ul li .textBox p {
    margin-bottom: 12px;
    line-height: 1.8;
  }
}
#productBrandWrap ul li .textBox .commonBtn {
  text-align: right;
}
@media (max-width: 1024px) {
  #productBrandWrap ul li .textBox .commonBtn a span.arrow {
    margin-left: 40px;
  }
}
@media (max-width: 480px) {
  #productBrandWrap ul li .textBox .commonBtn a span.arrow {
    margin-left: 15px;
    width: 100px;
  }
}
#productBrandWrap ul li + li {
  margin-top: min(100px,13.888vw);
}
@media (max-width: 768px) {
  #productBrandWrap ul li + li {
    margin-top: 60px;
  }
}

/*===================================================
	product Detail
====================================================*/
#productHeaderWrap {
  margin-top: min(175px,24.306vw);
}
@media (max-width: 1200px) {
  #productHeaderWrap {
    margin-top: 120px;
  }
}
#productHeaderWrap .productHeaderInner {
  position: relative;
}
@media (max-width: 768px) {
  #productHeaderWrap .productHeaderInner {
    flex-direction: column;
    width: 100%;
  }
}
#productHeaderWrap .productHeaderInner .textBox {
  width: 30.65%;
  position: relative;
}
@media (max-width: 768px) {
  #productHeaderWrap .productHeaderInner .textBox {
    top: 100%;
    transform: none;
    left: auto;
    right: auto;
    width: 90%;
    z-index: 3;
    display: block;
    margin: 0 auto 20px;
  }
}
#productHeaderWrap .productHeaderInner .textBox .ttlBox {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
@media (max-width: 768px) {
  #productHeaderWrap .productHeaderInner .textBox .ttlBox {
    position: relative;
    top: auto;
    transform: none;
    width: 100%;
  }
}
#productHeaderWrap .productHeaderInner .textBox .ttlBox h2 {
  font-size: 3.8rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.4210526316;
}
@media (max-width: 1024px) {
  #productHeaderWrap .productHeaderInner .textBox .ttlBox h2 {
    font-size: 2.4rem;
  }
}
@media (max-width: 768px) {
  #productHeaderWrap .productHeaderInner .textBox .ttlBox h2 {
    width: 100%;
  }
}
@media (max-width: 480px) {
  #productHeaderWrap .productHeaderInner .textBox .ttlBox h2 {
    font-size: 2.2rem;
  }
}
@media (max-width: 768px) {
  #productHeaderWrap .productHeaderInner .textBox .ttlBox h2 figure {
    width: 120px;
  }
}
@media (max-width: 768px) {
  #productHeaderWrap .productHeaderInner .textBox .ttlBox h2 figure img {
    vertical-align: baseline;
  }
}
#productHeaderWrap .productHeaderInner .textBox .ttlBox p {
  margin-top: min(65px,9.028vw);
  font-size: 2.4rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.7;
  color: #595859;
}
@media (max-width: 1024px) {
  #productHeaderWrap .productHeaderInner .textBox .ttlBox p {
    font-size: 1.8rem;
    margin-top: 10px;
  }
}
@media (max-width: 480px) {
  #productHeaderWrap .productHeaderInner .textBox .ttlBox p {
    font-size: 1.6rem;
    line-height: 1.5;
  }
}
#productHeaderWrap .productHeaderInner .imgBox {
  width: 77.42%;
  margin-right: calc((100vw - 1240px) / 2 * -1);
}
@media (max-width: 1200px) {
  #productHeaderWrap .productHeaderInner .imgBox {
    margin-right: 0;
    width: 69.35%;
  }
}
@media (max-width: 768px) {
  #productHeaderWrap .productHeaderInner .imgBox {
    width: 100%;
    margin: 0 0 0 auto;
  }
}
@media (max-width: 480px) {
  #productHeaderWrap .productHeaderInner .imgBox {
    width: 100%;
  }
}
#productHeaderWrap .productHeaderInner .imgBox figure {
  width: 100%;
  overflow: hidden;
  display: block;
  position: relative;
}
#productHeaderWrap .productHeaderInner .imgBox figure::before {
  content: "";
  padding-top: 56.25%;
  display: block;
}
#productHeaderWrap .productHeaderInner .imgBox figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}

#productDetailWrap {
  margin-top: min(135px,18.75vw);
  overflow-x: clip;
}
#productDetailWrap .stickyWrap .stickyBox {
  width: 30.65%;
  margin-bottom: min(240px, 33.334vw);
}
@media (max-width: 768px) {
  #productDetailWrap .stickyWrap .stickyBox {
    margin-bottom: 80px;
    width: 100%;
  }
}
#productDetailWrap .stickyWrap .scrollBox {
  margin-bottom: min(240px,33.334vw);
}
@media (max-width: 768px) {
  #productDetailWrap .stickyWrap .scrollBox {
    margin-bottom: 120px;
  }
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea + .contentsArea {
  margin-top: min(115px,15.972vw);
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea h2 {
  width: 100%;
  border-bottom: 1px solid #707070;
  margin-bottom: min(50px,6.944vw);
}
@media (max-width: 480px) {
  #productDetailWrap .stickyWrap .scrollBox .contentsArea h2 {
    margin-bottom: 30px;
  }
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea h2 span.en {
  font-family: "Lato", serif;
  font-size: 2rem;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #595859;
}
@media (max-width: 480px) {
  #productDetailWrap .stickyWrap .scrollBox .contentsArea h2 span.en {
    font-size: 1.7rem;
  }
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea h2 span.jp {
  font-size: 1.8rem;
  font-weight: 600;
  color: #595859;
  letter-spacing: 0.06em;
  margin-left: 1.5em;
}
@media (max-width: 480px) {
  #productDetailWrap .stickyWrap .scrollBox .contentsArea h2 span.jp {
    font-size: 1.4rem;
  }
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea span.subTtl {
  font-size: 1.8 rem;
  font-weight: 600;
  color: #595859;
  letter-spacing: 0.06em;
  margin-bottom: 20px;
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .pointBox {
  margin-top: 70px;
}
@media (max-width: 768px) {
  #productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .pointBox {
    margin-top: 40px;
  }
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .pointBox h3 {
  position: relative;
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .pointBox h3::before {
  content: "";
  display: block;
  width: 100%;
  height: 1%;
  background: #53565A;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  z-index: -1;
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .pointBox h3 span {
  font-size: 2.6rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.5384615385;
  padding-right: 1em;
  background: #F2F2EE;
}
@media (max-width: 768px) {
  #productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .pointBox h3 span {
    font-size: 2.2rem;
  }
}
@media (max-width: 480px) {
  #productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .pointBox h3 span {
    font-size: 1.8rem;
  }
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .pointBox ul {
  column-gap: 6.98%;
  row-gap: 40px;
  margin-top: 20px;
}
@media (max-width: 480px) {
  #productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .pointBox ul {
    margin-top: 30px;
  }
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .pointBox ul li {
  width: 46.51%;
}
@media (max-width: 480px) {
  #productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .pointBox ul li {
    width: 100%;
  }
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .pointBox ul li p.ttl {
  font-size: 2.2rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 3.0454545455;
  padding-left: 1em;
}
@media (max-width: 1024px) {
  #productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .pointBox ul li p.ttl {
    font-size: 1.8rem;
    line-height: 1.7;
    padding-left: 0;
    margin-bottom: 0.5em;
  }
}
@media (max-width: 480px) {
  #productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .pointBox ul li p.ttl {
    font-size: 1.6rem;
  }
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .pointBox ul li .itemBody .itemImg {
  width: 100%;
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .pointBox ul li .itemBody .itemImg figure {
  width: 100%;
  overflow: hidden;
  display: block;
  position: relative;
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .pointBox ul li .itemBody .itemImg figure::before {
  content: "";
  padding-top: 50%;
  display: block;
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .pointBox ul li .itemBody .itemImg figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .pointBox ul li .itemBody .itemTxt {
  background: #F2F2EE;
  mix-blend-mode: multiply;
  min-height: 136px;
  padding: 18px 20px;
}
@media (max-width: 1024px) {
  #productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .pointBox ul li .itemBody .itemTxt {
    font-size: 1.4rem;
  }
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .pointBox ul li .itemBody .itemTxt p.link {
  text-align: right;
  margin-top: 10px;
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .pointBox ul li .itemBody .itemTxt p.link a {
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .pointBox ul li .itemBody .itemTxt p.link a:hover {
  opacity: 0.7;
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .lineUpBox ul {
  column-gap: 6.39%;
  row-gap: 40px;
}
@media (max-width: 480px) {
  #productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .lineUpBox ul {
    column-gap: 8%;
    row-gap: 30px;
  }
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .lineUpBox ul li {
  width: 29.07%;
}
@media (max-width: 480px) {
  #productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .lineUpBox ul li {
    width: 46%;
  }
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .lineUpBox ul li a {
  display: block;
  width: 100%;
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .lineUpBox ul li figure {
  width: 100%;
  overflow: hidden;
  display: block;
  position: relative;
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .lineUpBox ul li figure::before {
  content: "";
  padding-top: 100%;
  display: block;
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .lineUpBox ul li figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .lineUpBox ul li figure:hover img {
  transform: scale(1.1);
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .lineUpBox ul li p {
  font-size: 1.8rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.3333333333;
  margin-top: 8px;
}
@media (max-width: 1024px) {
  #productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .lineUpBox ul li p {
    font-size: 1.6rem;
  }
}
@media (max-width: 480px) {
  #productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .lineUpBox ul li p {
    font-size: 1.4rem;
  }
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .lineUpBox ul li span {
  font-size: 1.6rem;
  letter-spacing: 0.06em;
  line-height: 1.3;
  margin-top: 5px;
}
@media (max-width: 480px) {
  #productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .lineUpBox ul li span {
    font-size: 1.3rem;
  }
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox + .descBox {
  margin-top: 90px;
}
@media (max-width: 768px) {
  #productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox + .descBox {
    margin-top: 60px;
  }
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .productName {
  font-size: 2rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.5384615385;
  margin-bottom: 20px;
  border: 1px solid #53565A;
  padding: 3px 20px;
  width: fit-content;
}
@media (max-width: 768px) {
  #productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .productName {
    font-size: 1.6rem;
    margin-bottom: 15px;
  }
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .onlineLinkArea {
  margin-top: 90px;
}
@media (max-width: 768px) {
  #productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .onlineLinkArea {
    margin-top: 60px;
  }
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .onlineLinkArea ul {
  max-width: 700px;
  width: 95%;
  margin: 0 auto;
}
@media (max-width: 480px) {
  #productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .onlineLinkArea ul {
    margin-top: 15px;
  }
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .onlineLinkArea ul li {
  width: 100%;
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .onlineLinkArea ul li + li {
  margin-top: 40px;
}
@media (max-width: 480px) {
  #productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .onlineLinkArea ul li + li {
    margin-top: 20px;
  }
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .onlineLinkArea ul li a {
  background: #fff;
  padding: 30px;
  width: 100%;
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  position: relative;
}
@media (max-width: 480px) {
  #productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .onlineLinkArea ul li a .txt {
    padding-right: 35px;
  }
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .onlineLinkArea ul li a .txt span {
  display: block;
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .onlineLinkArea ul li a .txt span.title {
  font-size: 1.7rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.7058823529;
}
@media (max-width: 480px) {
  #productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .onlineLinkArea ul li a .txt span.title {
    font-size: 1.4rem;
  }
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .onlineLinkArea ul li a .txt span.page {
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.7058823529;
  margin-top: 5px;
}
@media (max-width: 480px) {
  #productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .onlineLinkArea ul li a .txt span.page {
    font-size: 1.2rem;
    margin-top: 3px;
  }
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .onlineLinkArea ul li a .arrow {
  position: relative;
  overflow: hidden;
  display: inline-block;
  margin-left: auto;
  z-index: 2;
}
@media (max-width: 768px) {
  #productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .onlineLinkArea ul li a .arrow {
    margin-left: 54px;
  }
}
@media (max-width: 480px) {
  #productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .onlineLinkArea ul li a .arrow {
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
  }
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .onlineLinkArea ul li a .arrow::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  transform: translateX(-100%);
  transition: transform 1.5s ease;
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .onlineLinkArea ul li a .arrow svg {
  display: block;
}
@media (max-width: 768px) {
  #productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .onlineLinkArea ul li a .arrow svg {
    width: 30px;
  }
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .onlineLinkArea ul li a .arrow svg path {
  fill: #53565a;
}
@media (max-width: 480px) {
  #productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .onlineLinkArea ul li a {
    padding: 15px;
  }
  #productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .onlineLinkArea ul li a span.txt {
    font-size: 1.4rem;
  }
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .onlineLinkArea ul li a:hover .arrow::before {
  transform: translateX(0);
  animation: swipeRight 1.5s ease forwards;
}
@media (max-width: 768px) {
  #productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .onlineLinkArea ul li a:hover .arrow::before {
    animation: none;
  }
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox01 .textBox {
  width: 57.14%;
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox01 .textBox h3 {
  font-size: 2.6rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.5384615385;
  margin-bottom: 20px;
}
@media (max-width: 768px) {
  #productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox01 .textBox h3 {
    font-size: 2.2rem;
    margin-bottom: 15px;
  }
}
@media (max-width: 480px) {
  #productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox01 .textBox h3 {
    font-size: 1.8rem;
  }
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox01 .textBox p {
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 2;
}
@media (max-width: 768px) {
  #productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox01 .textBox p {
    line-height: 1.8;
  }
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox01 .textBox p.link {
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  margin-top: 20px;
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox01 .textBox p.link:hover {
  opacity: 0.7;
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox01 .textBox p.link.right {
  text-align: right;
}
@media (max-width: 1024px) {
  #productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox01 .textBox {
    width: 100%;
  }
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox01 .imgBox {
  margin-left: min(30px,4.166vw);
  width: 38.37%;
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox01 .imgBox figure {
  width: 100%;
  overflow: hidden;
  display: block;
  position: relative;
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox01 .imgBox figure::before {
  content: "";
  padding-top: 72.73%;
  display: block;
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox01 .imgBox figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
@media (max-width: 1024px) {
  #productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox01 .imgBox {
    width: 80%;
    margin-top: 40px;
    margin-left: 0;
  }
}
@media (max-width: 480px) {
  #productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox01 .imgBox {
    width: 100%;
    margin-top: 20px;
  }
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox01:nth-child(even) .textBox {
  order: 2;
  margin-left: min(30px,4.166vw);
}
@media (max-width: 1024px) {
  #productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox01:nth-child(even) .textBox {
    margin-left: 0;
  }
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox01:nth-child(even) .imgBox {
  order: 1;
  margin-left: 0;
}
@media (max-width: 1024px) {
  #productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox01:nth-child(even) .imgBox {
    order: 2;
  }
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox02 {
  margin-top: 50px;
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox02 h3 {
  font-size: 2.6rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.5384615385;
  margin-bottom: 20px;
}
@media (max-width: 768px) {
  #productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox02 h3 {
    font-size: 2.2rem;
    margin-bottom: 15px;
  }
}
@media (max-width: 480px) {
  #productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox02 h3 {
    font-size: 1.8rem;
  }
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox02 .textBox {
  width: 70.93%;
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox02 .textBox p {
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 2;
}
@media (max-width: 768px) {
  #productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox02 .textBox p {
    line-height: 1.8;
  }
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox02 .textBox p.link {
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox02 .textBox p.link:hover {
  opacity: 0.7;
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox02 .textBox p:not(#productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox02 .textBox p.link) a {
  padding-left: 1em;
  position: relative;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox02 .textBox p:not(#productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox02 .textBox p.link) a::before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
  color: #53565A;
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1;
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox02 .textBox p:not(#productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox02 .textBox p.link) a:hover {
  opacity: 0.7;
}
@media (max-width: 1024px) {
  #productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox02 .textBox {
    width: 100%;
  }
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox02 .imgBox {
  width: 100%;
  margin-top: 40px;
}
@media (max-width: 768px) {
  #productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox02 .imgBox {
    margin-top: 20px;
  }
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox02 .imgBox figure {
  width: 100%;
  overflow: hidden;
  display: block;
  position: relative;
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox02 .imgBox figure::before {
  content: "";
  padding-top: 76.74%;
  display: block;
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox02 .imgBox figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
@media (max-width: 1024px) {
  #productDetailWrap .stickyWrap .scrollBox .contentsArea .descBox02 .imgBox {
    width: 100%;
    margin-top: 40px;
  }
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .sliderBox {
  margin-right: calc((100vw - 1240px) / 2 * -1);
}
@media (max-width: 1200px) {
  #productDetailWrap .stickyWrap .scrollBox .contentsArea .sliderBox {
    margin-right: 0;
  }
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .sliderBox.caseSlider .swiper-case .swiper-slide-case a {
  display: block;
  width: 100%;
  height: auto;
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .sliderBox.caseSlider .swiper-case .swiper-slide-case a figure {
  width: 100%;
  overflow: hidden;
  display: block;
  position: relative;
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .sliderBox.caseSlider .swiper-case .swiper-slide-case a figure::before {
  content: "";
  padding-top: 66.66%;
  display: block;
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .sliderBox.caseSlider .swiper-case .swiper-slide-case a figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .sliderBox.caseSlider .swiper-case .swiper-slide-case a p {
  font-size: clamp(14px, 2.5vw, 18px);
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.3333333333;
  margin-top: 15px;
  margin-bottom: 8px;
}
@media (max-width: 768px) {
  #productDetailWrap .stickyWrap .scrollBox .contentsArea .sliderBox.caseSlider .swiper-case .swiper-slide-case a p {
    font-size: 1.6rem;
    line-height: 1.3125;
  }
}
@media (max-width: 480px) {
  #productDetailWrap .stickyWrap .scrollBox .contentsArea .sliderBox.caseSlider .swiper-case .swiper-slide-case a p {
    font-size: 1.4rem;
  }
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .sliderBox.caseSlider .swiper-case .swiper-slide-case a .category01 span {
  border: 1px solid #53565A;
  border-radius: 12px;
  font-size: 1.3rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1;
  padding: 5px 20px;
  display: inline-block;
  text-align: center;
  margin-bottom: 6px;
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .sliderBox.caseSlider .swiper-case .swiper-slide-case a .category01 span:not(:last-child) {
  margin-right: 12px;
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .sliderBox.caseSlider .swiper-case .swiper-slide-case a .category02 {
  margin-top: 6px;
}
@media (max-width: 480px) {
  #productDetailWrap .stickyWrap .scrollBox .contentsArea .sliderBox.caseSlider .swiper-case .swiper-slide-case a .category02 {
    margin-top: 0;
  }
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .sliderBox.caseSlider .swiper-case .swiper-slide-case a .category02 span {
  border: 1px solid #53565A;
  background: #53565A;
  font-size: 1.3rem;
  border-radius: 9999px;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1;
  padding: 5px 20px;
  display: inline-block;
  text-align: center;
  color: #fff;
  margin-bottom: 6px;
  margin-bottom: 6px;
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .sliderBox.caseSlider .swiper-case .swiper-slide-case a .category02 span:not(:last-child) {
  margin-right: 12px;
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .sliderBox.caseSlider .swiper-case .swiper-slide-case a:hover figure img {
  transform: scale(1.1);
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .sliderBox.contentsSlider .swiper-contents .swiper-slide-contents a {
  display: block;
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .sliderBox.contentsSlider .swiper-contents .swiper-slide-contents a figure {
  width: 100%;
  margin-bottom: min(18px,2.5vw);
  overflow: hidden;
  display: block;
  position: relative;
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .sliderBox.contentsSlider .swiper-contents .swiper-slide-contents a figure::before {
  content: "";
  padding-top: 100%;
  display: block;
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .sliderBox.contentsSlider .swiper-contents .swiper-slide-contents a figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
@media (max-width: 768px) {
  #productDetailWrap .stickyWrap .scrollBox .contentsArea .sliderBox.contentsSlider .swiper-contents .swiper-slide-contents a figure {
    margin-bottom: 15px;
  }
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .sliderBox.contentsSlider .swiper-contents .swiper-slide-contents a span {
  border: 1px solid #53565A;
  border-radius: 12px;
  font-size: 1.3rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  padding: 0 1em;
  display: inline-block;
  margin-bottom: 12px;
  line-height: 24px;
  height: 24px;
  text-align: center;
}
@media (max-width: 768px) {
  #productDetailWrap .stickyWrap .scrollBox .contentsArea .sliderBox.contentsSlider .swiper-contents .swiper-slide-contents a span {
    margin-bottom: 8px;
  }
}
@media (max-width: 480px) {
  #productDetailWrap .stickyWrap .scrollBox .contentsArea .sliderBox.contentsSlider .swiper-contents .swiper-slide-contents a span {
    font-size: 0.9rem;
    padding: 0 0.5em;
  }
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .sliderBox.contentsSlider .swiper-contents .swiper-slide-contents a p {
  font-size: clamp(14px, 2.5vw, 18px);
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1.6666666667;
}
@media (max-width: 768px) {
  #productDetailWrap .stickyWrap .scrollBox .contentsArea .sliderBox.contentsSlider .swiper-contents .swiper-slide-contents a p {
    font-size: 1.6rem;
    line-height: 1.625;
  }
}
@media (max-width: 480px) {
  #productDetailWrap .stickyWrap .scrollBox .contentsArea .sliderBox.contentsSlider .swiper-contents .swiper-slide-contents a p {
    font-size: 1.4rem;
  }
}
#productDetailWrap .stickyWrap .scrollBox .contentsArea .sliderBox.contentsSlider .swiper-contents .swiper-slide-contents:hover a figure img {
  transform: scale(1.05);
}
@media (max-width: 480px) {
  #productDetailWrap .stickyWrap .scrollBox .contentsArea .sliderBox.contentsSlider .swiper-contents .swiper-slide-contents:hover a figure img {
    transform: none;
  }
}

/*==========================================================
	service
==========================================================*/
#serviceTopWrap {
  padding: min(130px,18.056vw) 0 min(230px,31.944vw);
}
@media (max-width: 768px) {
  #serviceTopWrap {
    padding: 80px 0 100px;
  }
}
#serviceTopWrap ul li {
  padding-bottom: min(100px,13.888vw);
}
#serviceTopWrap ul li:last-child {
  padding-bottom: 0;
}
#serviceTopWrap ul li .ttlBox {
  text-align: center;
}
#serviceTopWrap ul li .ttlBox span {
  margin-bottom: 15px;
  font-family: "Lato", serif;
  font-weight: 700;
  font-style: italic;
  font-size: clamp(25.6px, 7.1104vw, 64px);
  letter-spacing: 0;
  -webkit-text-stroke-width: 1px;
  -webkit-text-fill-color: #F2F2EE;
  -webkit-text-stroke-color: #53565A;
  transition: -webkit-text-fill-color 0.7s ease;
}
@media (max-width: 768px) {
  #serviceTopWrap ul li .ttlBox span {
    font-size: 3.6rem;
    margin-bottom: 8px;
  }
}
#serviceTopWrap ul li .ttlBox h2 {
  margin-bottom: 25px;
}
#serviceTopWrap ul li .ttlBox figure.kinari img {
  background: #F2F2EE;
}
#serviceTopWrap ul li .descBox {
  margin-top: min(65px,9.028vw);
}
@media (max-width: 1024px) {
  #serviceTopWrap ul li .descBox {
    display: block;
  }
}
@media (max-width: 768px) {
  #serviceTopWrap ul li .descBox {
    margin-top: 40px;
  }
}
#serviceTopWrap ul li .descBox .imgBox {
  width: 43.55%;
}
@media (max-width: 1024px) {
  #serviceTopWrap ul li .descBox .imgBox {
    width: 80%;
    margin: 0 auto;
  }
}
@media (max-width: 768px) {
  #serviceTopWrap ul li .descBox .imgBox {
    width: 100%;
  }
}
#serviceTopWrap ul li .descBox .imgBox picture {
  width: 100%;
  overflow: hidden;
  display: block;
  position: relative;
}
#serviceTopWrap ul li .descBox .imgBox picture::before {
  content: "";
  padding-top: 61.54%;
  display: block;
}
#serviceTopWrap ul li .descBox .imgBox picture source,
#serviceTopWrap ul li .descBox .imgBox picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
#serviceTopWrap ul li .descBox .textBox {
  margin-left: 12.42%;
  margin-top: 20px;
  width: 44.03%;
}
@media (max-width: 1200px) {
  #serviceTopWrap ul li .descBox .textBox {
    margin-left: auto;
    width: 50%;
  }
}
@media (max-width: 1024px) {
  #serviceTopWrap ul li .descBox .textBox {
    margin-left: 0;
    width: 100%;
    margin-top: 60px;
  }
}
@media (max-width: 768px) {
  #serviceTopWrap ul li .descBox .textBox {
    margin-top: 30px;
  }
}
#serviceTopWrap ul li .descBox .textBox p {
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 2;
}
#serviceTopWrap ul li .descBox .textBox .commonBtn {
  margin-top: min(100px,13.888vw);
  text-align: right;
}
@media (max-width: 1024px) {
  #serviceTopWrap ul li .descBox .textBox .commonBtn {
    margin-top: 60px;
  }
}
@media (max-width: 768px) {
  #serviceTopWrap ul li .descBox .textBox .commonBtn {
    margin-top: 20px;
  }
}
@media (max-width: 1200px) {
  #serviceTopWrap ul li .descBox .textBox .commonBtn a span.txt {
    font-size: 1.6rem;
  }
}
@media (max-width: 480px) {
  #serviceTopWrap ul li .descBox .textBox .commonBtn a span.txt {
    font-size: 1.5rem;
  }
}
#serviceTopWrap ul li .descBox .textBox .commonBtn a span.arrow {
  margin-left: min(50px,6.944vw);
}
@media (max-width: 1350px) {
  #serviceTopWrap ul li .descBox .textBox .commonBtn a span.arrow {
    margin-left: 30px;
  }
}
@media (max-width: 1024px) {
  #serviceTopWrap ul li .descBox .textBox .commonBtn a span.arrow {
    margin-left: 20px;
  }
}
@media (max-width: 1350px) {
  #serviceTopWrap ul li .descBox .textBox .commonBtn a span.arrow svg {
    width: 100px;
  }
}
@media (max-width: 480px) {
  #serviceTopWrap ul li .descBox .textBox .commonBtn a span.arrow svg {
    width: 80px;
  }
}
#serviceTopWrap ul li + li {
  border-top: 1px solid #807F81;
  padding: min(90px,12.5vw) 0 min(100px,13.888vw);
}

/*===================================================
	product Top
====================================================*/
#serviceDetailWrap {
  margin-top: min(135px,18.75vw);
  overflow-x: clip;
}
#serviceDetailWrap .stickyWrap .stickyBox {
  width: 30.65%;
  margin-bottom: min(240px, 33.334vw);
}
@media (max-width: 768px) {
  #serviceDetailWrap .stickyWrap .stickyBox {
    margin-bottom: 80px;
    width: 100%;
  }
}
#serviceDetailWrap .stickyWrap .scrollBox {
  margin-bottom: min(240px,33.334vw);
}
@media (max-width: 768px) {
  #serviceDetailWrap .stickyWrap .scrollBox {
    margin-bottom: 120px;
  }
}
#serviceDetailWrap .stickyWrap .scrollBox .intro {
  margin-bottom: min(140px,19.444vw);
}
#serviceDetailWrap .stickyWrap .scrollBox .intro h2 {
  font-size: 2.6rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.5384615385;
}
@media (max-width: 480px) {
  #serviceDetailWrap .stickyWrap .scrollBox .intro h2 {
    font-size: 2rem;
  }
}
#serviceDetailWrap .stickyWrap .scrollBox .intro p {
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.05em;
  margin-top: min(40px,5.556vw);
}
#serviceDetailWrap .stickyWrap .scrollBox .intro figure {
  margin-top: 40px;
}
#serviceDetailWrap .stickyWrap .scrollBox .intro .descBox {
  margin-top: 40px;
}
#serviceDetailWrap .stickyWrap .scrollBox .intro .descBox .imgBox figure {
  width: 50%;
  margin-top: 0;
}
#serviceDetailWrap .stickyWrap .scrollBox .intro .descBox p {
  margin-top: 30px;
}
#serviceDetailWrap .stickyWrap .scrollBox .intro .descBox .commonBtn {
  margin-top: 45px;
  text-align: right;
}
#serviceDetailWrap .stickyWrap .scrollBox .intro p.fit_text {
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.5;
  background: #0080A6;
  color: #fff;
  padding: 10px 20px;
  width: 100%;
  padding: 10px 20px;
  margin-top: 0;
}
@media (max-width: 480px) {
  #serviceDetailWrap .stickyWrap .scrollBox .intro p.fit_text {
    font-size: 1.2rem;
  }
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea + .contentsArea {
  margin-top: min(115px,15.972vw);
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea h2 {
  width: 100%;
  border-bottom: 1px solid #707070;
  margin-bottom: min(50px,6.944vw);
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea h2 span.en {
  font-family: "Lato", serif;
  font-size: 2rem;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #595859;
}
@media (max-width: 480px) {
  #serviceDetailWrap .stickyWrap .scrollBox .contentsArea h2 span.en {
    font-size: 1.7rem;
  }
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea h2 span.jp {
  font-size: 1.8rem;
  font-weight: 600;
  color: #595859;
  letter-spacing: 0.06em;
  margin-left: 1.5em;
}
@media (max-width: 480px) {
  #serviceDetailWrap .stickyWrap .scrollBox .contentsArea h2 span.jp {
    font-size: 1.4rem;
  }
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .pointBox {
  margin-top: 70px;
}
@media (max-width: 768px) {
  #serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .pointBox {
    margin-top: 40px;
  }
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .pointBox h3 {
  position: relative;
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .pointBox h3::before {
  content: "";
  display: block;
  width: 100%;
  height: 1%;
  background: #53565A;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  z-index: -1;
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .pointBox h3 span {
  font-size: 2.6rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.5384615385;
  padding-right: 1em;
  background: #F2F2EE;
}
@media (max-width: 768px) {
  #serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .pointBox h3 span {
    font-size: 2.2rem;
  }
}
@media (max-width: 480px) {
  #serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .pointBox h3 span {
    font-size: 1.8rem;
  }
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .pointBox ul {
  column-gap: 6.98%;
  row-gap: 40px;
  margin-top: 20px;
}
@media (max-width: 480px) {
  #serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .pointBox ul {
    margin-top: 30px;
  }
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .pointBox ul li {
  width: 46.51%;
}
@media (max-width: 480px) {
  #serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .pointBox ul li {
    width: 100%;
  }
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .pointBox ul li p.ttl {
  font-size: 2.2rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 3.0454545455;
  padding-left: 1em;
}
@media (max-width: 1024px) {
  #serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .pointBox ul li p.ttl {
    font-size: 1.8rem;
    line-height: 1.7;
    padding-left: 0;
    margin-bottom: 0.5em;
  }
}
@media (max-width: 480px) {
  #serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .pointBox ul li p.ttl {
    font-size: 1.6rem;
  }
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .pointBox ul li .itemBody .itemImg {
  width: 100%;
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .pointBox ul li .itemBody .itemImg figure {
  width: 100%;
  overflow: hidden;
  display: block;
  position: relative;
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .pointBox ul li .itemBody .itemImg figure::before {
  content: "";
  padding-top: 50%;
  display: block;
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .pointBox ul li .itemBody .itemImg figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .pointBox ul li .itemBody .itemTxt {
  background: #F2F2EE;
  mix-blend-mode: multiply;
  min-height: 136px;
  padding: 18px 20px;
}
@media (max-width: 1024px) {
  #serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .pointBox ul li .itemBody .itemTxt {
    font-size: 1.4rem;
  }
}
@media (max-width: 480px) {
  #serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .pointBox ul li .itemBody .itemTxt {
    font-size: 1.2rem;
  }
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .lineUpBox ul {
  column-gap: 6.39%;
  row-gap: 40px;
}
@media (max-width: 480px) {
  #serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .lineUpBox ul {
    column-gap: 8%;
    row-gap: 30px;
  }
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .lineUpBox ul li {
  width: 29.07%;
}
@media (max-width: 480px) {
  #serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .lineUpBox ul li {
    width: 46%;
  }
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .lineUpBox ul li figure {
  width: 100%;
  overflow: hidden;
  display: block;
  position: relative;
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .lineUpBox ul li figure::before {
  content: "";
  padding-top: 100%;
  display: block;
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .lineUpBox ul li figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .lineUpBox ul li p {
  font-size: 1.8rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.3333333333;
  margin-top: 8px;
}
@media (max-width: 1024px) {
  #serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .lineUpBox ul li p {
    font-size: 1.6rem;
  }
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .contactArea {
  margin-top: 40px;
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .contactArea .textArea {
  text-align: center;
  background: #fff;
  padding: 18px 0;
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .contactArea .textArea p.ttl {
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 2.2rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.3636363636;
  display: block;
}
@media (max-width: 480px) {
  #serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .contactArea .textArea p.ttl {
    font-size: 1.8rem;
  }
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .contactArea .textArea p.text {
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 2;
  display: block;
}
@media (max-width: 480px) {
  #serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .contactArea .textArea p.text {
    line-height: 1.5;
    margin-top: 5px;
  }
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .contactArea .btnBox {
  background: #53565A;
  text-align: center;
  padding: min(35px,4.862vw) 0;
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .contactArea .btnBox .commonBtn a {
  position: relative;
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .contactArea .btnBox .commonBtn a .arrow {
  position: absolute;
  left: 100%;
}
@media (max-width: 820px) {
  #serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .contactArea .btnBox a .arrow {
    display: none;
  }
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.faqWrap .faqBox {
  width: 100%;
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.faqWrap .faqBox .faqItem {
  background: rgba(255, 255, 255, 0.8);
  padding: 18px 35px;
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.faqWrap .faqBox .faqItem .question {
  position: relative;
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.faqWrap .faqBox .faqItem .question p {
  font-size: 1.8rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.5555555556;
  display: block;
  padding-left: 1.5em;
  padding-bottom: 10px;
  position: relative;
  border-bottom: 1px solid rgba(128, 127, 129, 0.3);
}
@media (max-width: 480px) {
  #serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.faqWrap .faqBox .faqItem .question p {
    font-size: 1.6rem;
  }
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.faqWrap .faqBox .faqItem .question p::before {
  content: "Q.";
  position: absolute;
  left: 0;
  top: 0;
  font-size: 1.8rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.5555555556;
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.faqWrap .faqBox .faqItem .answer {
  padding-top: 10px;
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.faqWrap .faqBox .faqItem .answer p {
  position: relative;
  padding-left: 1.75em;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.75;
  display: block;
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.faqWrap .faqBox .faqItem .answer p::before {
  content: "A.";
  position: absolute;
  left: 0.25em;
  top: 0;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.75;
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.faqWrap .faqBox .faqItem + .faqItem {
  margin-top: 24px;
}
@media (max-width: 480px) {
  #serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.faqWrap .faqBox {
    width: 100%;
  }
  #serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.faqWrap .faqBox .faqItem {
    padding: 18px 20px;
  }
  #serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.faqWrap .faqBox .faqItem .question p {
    font-size: 1.6rem;
    line-height: 1.5;
  }
}
@media (max-width: 480px) and (max-width: 480px) {
  #serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.faqWrap .faqBox .faqItem .question p {
    font-size: 1.4rem;
  }
}
@media (max-width: 480px) {
  #serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.faqWrap .faqBox .faqItem .question p::before {
    font-size: 1.6rem;
    line-height: 1.5;
  }
}
@media (max-width: 480px) and (max-width: 480px) {
  #serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.faqWrap .faqBox .faqItem .question p::before {
    font-size: 1.4rem;
  }
}
@media (max-width: 480px) {
  #serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.faqWrap .faqBox .faqItem .answer p {
    font-size: 1.4rem;
    line-height: 1.5;
  }
}
@media (max-width: 480px) and (max-width: 480px) {
  #serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.faqWrap .faqBox .faqItem .answer p {
    font-size: 1.2rem;
  }
}
@media (max-width: 480px) {
  #serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.faqWrap .faqBox .faqItem .answer p::before {
    font-size: 1.4rem;
    line-height: 1.5;
  }
}
@media (max-width: 480px) and (max-width: 480px) {
  #serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.faqWrap .faqBox .faqItem .answer p::before {
    font-size: 1.2rem;
  }
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .fittingArea {
  margin-top: min(70px,9.722vw);
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .fittingArea p.mainTtl {
  font-size: 2.2rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.7272727273;
  color: #fff;
  background: rgba(83, 86, 90, 0.7);
  padding: 30px 0;
  text-align: center;
}
@media (max-width: 480px) {
  #serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .fittingArea p.mainTtl {
    font-size: 1.8rem;
    padding: 15px 0;
    line-height: 1.5;
  }
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .fittingArea .fittingBox {
  background: #fff;
  padding: min(70px,9.722vw) min(65px,9.028vw);
}
@media (max-width: 480px) {
  #serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .fittingArea .fittingBox {
    padding: 40px 15px;
  }
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .fittingArea .fittingBox ul li {
  display: flex;
}
@media (max-width: 480px) {
  #serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .fittingArea .fittingBox ul li {
    flex-direction: column;
  }
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .fittingArea .fittingBox ul li .textBox {
  width: 43.75%;
}
@media (max-width: 480px) {
  #serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .fittingArea .fittingBox ul li .textBox {
    width: 100%;
  }
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .fittingArea .fittingBox ul li .textBox p.ttlBox span.num {
  background: rgba(83, 86, 90, 0.7);
  color: #fff;
  font-family: "Lato", serif;
  font-weight: 700;
  font-size: 2.4rem;
  letter-spacing: 0;
  height: 50px;
  line-height: 50px;
  width: 50px;
  text-align: center;
  border-radius: 9999px;
}
@media (max-width: 480px) {
  #serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .fittingArea .fittingBox ul li .textBox p.ttlBox span.num {
    font-size: 1.8rem;
  }
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .fittingArea .fittingBox ul li .textBox p.ttlBox span.ttl {
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.6;
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  margin-left: 25px;
}
@media (max-width: 480px) {
  #serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .fittingArea .fittingBox ul li .textBox p.ttlBox span.ttl {
    font-size: 1.6rem;
  }
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .fittingArea .fittingBox ul li .textBox p.text {
  margin-top: 30px;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.75;
}
@media (max-width: 480px) {
  #serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .fittingArea .fittingBox ul li .textBox p.text {
    margin-top: 20px;
  }
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .fittingArea .fittingBox ul li .imgBox {
  width: 52.08%;
  margin-left: 4.17%;
}
@media (max-width: 480px) {
  #serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .fittingArea .fittingBox ul li .imgBox {
    width: 100%;
    margin-left: 0;
    margin-top: 20px;
  }
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .fittingArea .fittingBox ul li .imgBox figure {
  width: 100%;
  overflow: hidden;
  display: block;
  position: relative;
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .fittingArea .fittingBox ul li .imgBox figure::before {
  content: "";
  padding-top: 59.2%;
  display: block;
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .fittingArea .fittingBox ul li .imgBox figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .fittingArea .fittingBox ul li + li {
  margin-top: min(70px,9.722vw);
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.serviceCaseListArea ul {
  gap: 2.82%;
  row-gap: 40px;
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.serviceCaseListArea ul li {
  width: 31.45%;
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.serviceCaseListArea ul li figure {
  width: 100%;
  overflow: hidden;
  display: block;
  position: relative;
  margin-bottom: 12px;
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.serviceCaseListArea ul li figure::before {
  content: "";
  padding-top: 100%;
  display: block;
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.serviceCaseListArea ul li figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.serviceCaseListArea ul li span {
  border: 1px solid #53565A;
  border-radius: 12px;
  font-size: 1.3rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  padding: 0 1em;
  display: inline-block;
  margin-top: 8px;
  line-height: 24px;
  height: 24px;
  text-align: center;
}
@media (max-width: 768px) {
  #serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.serviceCaseListArea ul li span {
    margin-bottom: 8px;
  }
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.serviceCaseListArea ul li p.date {
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  margin-top: 5px;
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.serviceCaseListArea ul li p.ttl {
  font-size: clamp(14px, 2.5vw, 18px);
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1.6666666667;
}
@media (max-width: 768px) {
  #serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.serviceCaseListArea ul li p.ttl {
    font-size: 1.6rem;
    line-height: 1.625;
  }
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.serviceCaseListArea ul li:hover figure img {
  transform: scale(1.1);
}
@media (max-width: 480px) {
  #serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.serviceCaseListArea ul {
    gap: 4%;
    row-gap: 40px;
  }
  #serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.serviceCaseListArea ul li {
    width: 48%;
  }
  #serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.serviceCaseListArea ul li figure {
    margin-bottom: 10px;
  }
  #serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.serviceCaseListArea ul li span {
    font-size: 0.9rem;
  }
  #serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.serviceCaseListArea ul li p.date {
    font-size: 1.2rem;
  }
  #serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.serviceCaseListArea ul li p.ttl {
    font-size: 1.4rem;
  }
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.serviceCaseListArea .serviceCaseBtn {
  margin: 40px auto 0;
  width: 100%;
  height: 48px;
  line-height: 48px;
  text-align: center;
  font-size: 1.8rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  background: #F2F2EE;
  outline: none;
  border: none;
  mix-blend-mode: multiply;
}
@media (max-width: 480px) {
  #serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.serviceCaseListArea .serviceCaseBtn {
    margin-top: 60px;
    font-size: 1.6rem;
    height: 50px;
    line-height: 50px;
  }
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.fitService .textBox {
  width: 63.37%;
  display: flex;
  flex-direction: column;
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.fitService .textBox span.num {
  font-size: 2.6rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.5384615385;
  margin-bottom: 10px;
}
@media (max-width: 480px) {
  #serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.fitService .textBox span.num {
    font-size: 1.8rem;
    margin-bottom: 5px;
  }
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.fitService .textBox h3 {
  font-size: 2.6rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.5384615385;
  margin-bottom: 20px;
}
@media (max-width: 768px) {
  #serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.fitService .textBox h3 {
    font-size: 2.2rem;
    margin-bottom: 10px;
  }
}
@media (max-width: 480px) {
  #serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.fitService .textBox h3 {
    font-size: 1.8rem;
  }
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.fitService .textBox p {
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 2;
}
@media (max-width: 768px) {
  #serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.fitService .textBox p {
    line-height: 1.8;
  }
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.fitService .textBox .commonBtn {
  margin: auto 0 0;
  text-align: right;
}
@media (max-width: 768px) {
  #serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.fitService .textBox .commonBtn {
    margin-top: 30px;
  }
}
@media (max-width: 1024px) {
  #serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.fitService .textBox {
    width: 100%;
  }
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.fitService .imgBox {
  width: 31.4%;
  margin-left: 5.23%;
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.fitService .imgBox figure {
  width: 100%;
  overflow: hidden;
  display: block;
  position: relative;
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.fitService .imgBox figure::before {
  content: "";
  padding-top: 100%;
  display: block;
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.fitService .imgBox figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  background: #F2F2EE;
  mix-blend-mode: multiply;
}
@media (max-width: 1024px) {
  #serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.fitService .imgBox {
    width: 80%;
    margin-top: 40px;
    margin-left: 0;
  }
}
@media (max-width: 480px) {
  #serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.fitService .imgBox {
    width: 100%;
  }
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.fitService + .fitService {
  margin-top: 70px;
}
@media (max-width: 768px) {
  #serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.fitService + .fitService {
    margin-top: 40px;
  }
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.customOrder h3 {
  font-size: 2.6rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.5384615385;
}
@media (max-width: 768px) {
  #serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.customOrder h3 {
    font-size: 2.2rem;
  }
}
@media (max-width: 480px) {
  #serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.customOrder h3 {
    font-size: 1.8rem;
  }
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.customOrder .imgBox {
  display: flex;
  margin-top: 25px;
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.customOrder .imgBox figure {
  width: 33.33%;
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.customOrder p {
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 2;
  margin-top: 20px;
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.customOrder .descBox {
  display: flex;
  margin-top: 32px;
}
@media (max-width: 768px) {
  #serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.customOrder .descBox {
    flex-direction: column;
  }
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.customOrder .descBox p.ttl {
  width: 13.72%;
  font-weight: 600;
  letter-spacing: 0.06em;
  background: #53565A;
  color: #fff;
  padding: 15px 10px;
  text-align: center;
  height: fit-content;
  margin-top: 0;
}
@media (max-width: 768px) {
  #serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.customOrder .descBox p.ttl {
    width: fit-content;
    padding: 10px 20px;
  }
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.customOrder .descBox .textBox {
  width: 86.28%;
  background: #F2F2EE;
  mix-blend-mode: multiply;
  padding: 4px 24px;
}
@media (max-width: 768px) {
  #serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.customOrder .descBox .textBox {
    width: 100%;
  }
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.customOrder .descBox .textBox dl {
  padding: 14px 0;
  display: flex;
}
@media (max-width: 480px) {
  #serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.customOrder .descBox .textBox dl {
    flex-direction: column;
  }
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.customOrder .descBox .textBox dl dt, #serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.customOrder .descBox .textBox dl dd {
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.6;
  font-size: 1.5rem;
}
@media (max-width: 480px) {
  #serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.customOrder .descBox .textBox dl dt, #serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.customOrder .descBox .textBox dl dd {
    font-size: 1.3rem;
  }
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.customOrder .descBox .textBox dl dt {
  font-weight: 600;
  width: 135px;
}
@media (max-width: 480px) {
  #serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.customOrder .descBox .textBox dl dt {
    width: 100%;
  }
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.customOrder .descBox .textBox dl dd {
  width: calc(100% - 135px);
}
@media (max-width: 480px) {
  #serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.customOrder .descBox .textBox dl dd {
    width: 100%;
    margin-top: 5px;
  }
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox.customOrder .descBox .textBox dl + dl {
  border-top: 1px solid #53565A;
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox01 .textBox {
  width: 53.49%;
  display: flex;
  flex-direction: column;
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox01 .textBox h3 {
  font-size: 2.6rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.5384615385;
  margin-bottom: 20px;
}
@media (max-width: 768px) {
  #serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox01 .textBox h3 {
    font-size: 2.2rem;
    margin-bottom: 15px;
  }
}
@media (max-width: 480px) {
  #serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox01 .textBox h3 {
    font-size: 1.8rem;
  }
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox01 .textBox p {
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 2;
}
@media (max-width: 768px) {
  #serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox01 .textBox p {
    line-height: 1.8;
  }
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox01 .textBox .commonBtn {
  margin: auto 0 0;
  text-align: right;
}
@media (max-width: 768px) {
  #serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox01 .textBox .commonBtn {
    margin-top: 30px;
  }
}
@media (max-width: 1024px) {
  #serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox01 .textBox {
    width: 100%;
  }
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox01 .imgBox {
  margin-left: 4.65%;
  width: 41.86%;
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox01 .imgBox figure {
  width: 100%;
  overflow: hidden;
  display: block;
  position: relative;
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox01 .imgBox figure::before {
  content: "";
  padding-top: 100%;
  display: block;
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox01 .imgBox figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
@media (max-width: 1024px) {
  #serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox01 .imgBox {
    width: 80%;
    margin-top: 40px;
    margin-left: 0;
  }
}
@media (max-width: 768px) {
  #serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox01 .imgBox {
    width: 100%;
  }
}
#serviceDetailWrap .stickyWrap .scrollBox .contentsArea .descBox01 + .descBox01 {
  margin-top: min(100px,13.888vw);
}
#serviceDetailWrap .stickyWrap .scrollBox .descBox02 h3 {
  font-size: 2.6rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.5384615385;
  margin-bottom: 20px;
}
@media (max-width: 768px) {
  #serviceDetailWrap .stickyWrap .scrollBox .descBox02 h3 {
    font-size: 2.2rem;
    margin-bottom: 15px;
  }
}
@media (max-width: 480px) {
  #serviceDetailWrap .stickyWrap .scrollBox .descBox02 h3 {
    font-size: 1.8rem;
  }
}
#serviceDetailWrap .stickyWrap .scrollBox .descBox02 .textBox {
  width: 70.93%;
}
#serviceDetailWrap .stickyWrap .scrollBox .descBox02 .textBox p {
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 2;
}
@media (max-width: 768px) {
  #serviceDetailWrap .stickyWrap .scrollBox .descBox02 .textBox p {
    line-height: 1.8;
  }
}
@media (max-width: 1024px) {
  #serviceDetailWrap .stickyWrap .scrollBox .descBox02 .textBox {
    width: 100%;
  }
}
#serviceDetailWrap .stickyWrap .scrollBox .descBox02 .imgBox {
  width: 100%;
  margin-top: 40px;
}
@media (max-width: 768px) {
  #serviceDetailWrap .stickyWrap .scrollBox .descBox02 .imgBox {
    margin-top: 20px;
  }
}
#serviceDetailWrap .stickyWrap .scrollBox .descBox02 .imgBox figure {
  width: 100%;
  overflow: hidden;
  display: block;
  position: relative;
}
#serviceDetailWrap .stickyWrap .scrollBox .descBox02 .imgBox figure::before {
  content: "";
  padding-top: 76.74%;
  display: block;
}
#serviceDetailWrap .stickyWrap .scrollBox .descBox02 .imgBox figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
@media (max-width: 1024px) {
  #serviceDetailWrap .stickyWrap .scrollBox .descBox02 .imgBox {
    width: 100%;
    margin-top: 40px;
  }
}
#serviceDetailWrap .stickyWrap .scrollBox .sliderBox {
  margin-right: calc((100vw - 1240px) / 2 * -1);
}
@media (max-width: 1200px) {
  #serviceDetailWrap .stickyWrap .scrollBox .sliderBox {
    margin-right: 0;
  }
}
#serviceDetailWrap .stickyWrap .scrollBox .sliderBox.caseSlider .swiper-case .swiper-slide-case a {
  display: block;
  width: 100%;
  height: auto;
}
#serviceDetailWrap .stickyWrap .scrollBox .sliderBox.caseSlider .swiper-case .swiper-slide-case a figure {
  width: 100%;
  overflow: hidden;
  display: block;
  position: relative;
}
#serviceDetailWrap .stickyWrap .scrollBox .sliderBox.caseSlider .swiper-case .swiper-slide-case a figure::before {
  content: "";
  padding-top: 120%;
  display: block;
}
#serviceDetailWrap .stickyWrap .scrollBox .sliderBox.caseSlider .swiper-case .swiper-slide-case a figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
#serviceDetailWrap .stickyWrap .scrollBox .sliderBox.caseSlider .swiper-case .swiper-slide-case a p {
  font-size: clamp(14px, 2.5vw, 18px);
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.3333333333;
  margin-top: 15px;
  margin-bottom: 8px;
}
@media (max-width: 768px) {
  #serviceDetailWrap .stickyWrap .scrollBox .sliderBox.caseSlider .swiper-case .swiper-slide-case a p {
    font-size: 1.6rem;
    line-height: 1.3125;
  }
}
#serviceDetailWrap .stickyWrap .scrollBox .sliderBox.caseSlider .swiper-case .swiper-slide-case a .category01 span {
  border: 1px solid #53565A;
  border-radius: 12px;
  font-size: 1.3rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1;
  padding: 5px 20px;
  display: inline-block;
  text-align: center;
  margin-bottom: 6px;
}
#serviceDetailWrap .stickyWrap .scrollBox .sliderBox.caseSlider .swiper-case .swiper-slide-case a .category01 span:not(:last-child) {
  margin-right: 12px;
}
#serviceDetailWrap .stickyWrap .scrollBox .sliderBox.caseSlider .swiper-case .swiper-slide-case a .category02 {
  margin-top: 6px;
}
@media (max-width: 480px) {
  #serviceDetailWrap .stickyWrap .scrollBox .sliderBox.caseSlider .swiper-case .swiper-slide-case a .category02 {
    margin-top: 0;
  }
}
#serviceDetailWrap .stickyWrap .scrollBox .sliderBox.caseSlider .swiper-case .swiper-slide-case a .category02 span {
  border: 1px solid #53565A;
  background: #53565A;
  font-size: 1.3rem;
  border-radius: 9999px;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1;
  padding: 5px 20px;
  display: inline-block;
  text-align: center;
  color: #fff;
  margin-bottom: 6px;
}
#serviceDetailWrap .stickyWrap .scrollBox .sliderBox.caseSlider .swiper-case .swiper-slide-case a .category02 span:not(:last-child) {
  margin-right: 12px;
}
#serviceDetailWrap .stickyWrap .scrollBox .sliderBox.caseSlider .swiper-case .swiper-slide-case a:hover figure img {
  transform: scale(1.1);
}
#serviceDetailWrap .stickyWrap .scrollBox .sliderBox.contentsSlider .swiper-contents .swiper-slide-contents a {
  display: block;
}
#serviceDetailWrap .stickyWrap .scrollBox .sliderBox.contentsSlider .swiper-contents .swiper-slide-contents a figure {
  width: 100%;
  margin-bottom: min(18px,2.5vw);
  overflow: hidden;
  display: block;
  position: relative;
}
#serviceDetailWrap .stickyWrap .scrollBox .sliderBox.contentsSlider .swiper-contents .swiper-slide-contents a figure::before {
  content: "";
  padding-top: 100%;
  display: block;
}
#serviceDetailWrap .stickyWrap .scrollBox .sliderBox.contentsSlider .swiper-contents .swiper-slide-contents a figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
@media (max-width: 768px) {
  #serviceDetailWrap .stickyWrap .scrollBox .sliderBox.contentsSlider .swiper-contents .swiper-slide-contents a figure {
    margin-bottom: 15px;
  }
}
#serviceDetailWrap .stickyWrap .scrollBox .sliderBox.contentsSlider .swiper-contents .swiper-slide-contents a span {
  border: 1px solid #53565A;
  border-radius: 12px;
  font-size: 1.3rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  padding: 0 1em;
  display: inline-block;
  margin-bottom: 12px;
  line-height: 24px;
  height: 24px;
  text-align: center;
}
@media (max-width: 768px) {
  #serviceDetailWrap .stickyWrap .scrollBox .sliderBox.contentsSlider .swiper-contents .swiper-slide-contents a span {
    margin-bottom: 8px;
  }
}
@media (max-width: 480px) {
  #serviceDetailWrap .stickyWrap .scrollBox .sliderBox.contentsSlider .swiper-contents .swiper-slide-contents a span {
    font-size: 0.9rem;
    padding: 0 0.5em;
  }
}
#serviceDetailWrap .stickyWrap .scrollBox .sliderBox.contentsSlider .swiper-contents .swiper-slide-contents a p {
  font-size: clamp(14px, 2.5vw, 18px);
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1.6666666667;
}
@media (max-width: 768px) {
  #serviceDetailWrap .stickyWrap .scrollBox .sliderBox.contentsSlider .swiper-contents .swiper-slide-contents a p {
    font-size: 1.6rem;
    line-height: 1.625;
  }
}
@media (max-width: 480px) {
  #serviceDetailWrap .stickyWrap .scrollBox .sliderBox.contentsSlider .swiper-contents .swiper-slide-contents a p {
    font-size: 1.4rem;
  }
}
#serviceDetailWrap .stickyWrap .scrollBox .sliderBox.contentsSlider .swiper-contents .swiper-slide-contents:hover a figure img {
  transform: scale(1.05);
}
@media (max-width: 480px) {
  #serviceDetailWrap .stickyWrap .scrollBox .sliderBox.contentsSlider .swiper-contents .swiper-slide-contents:hover a figure img {
    transform: none;
  }
}

.dokuhonDetail {
  padding-top: 80px;
  padding-bottom: min(240px,33.334vw);
  background: #fff;
  position: relative;
}
.dokuhonDetail::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 11.53vw;
  background: #fff;
  bottom: 100%;
  left: 0;
  display: block;
  z-index: -1;
}
@media (max-width: 480px) {
  .dokuhonDetail::before {
    height: 60px;
  }
}
.dokuhonDetail .intro {
  max-width: 840px;
  width: 100%;
  margin: 0 auto;
}
.dokuhonDetail .intro p {
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.06em;
}
.dokuhonDetail ul {
  max-width: 1100px;
  margin: min(150px,20.834vw) auto 0;
  width: 100%;
}
@media (max-width: 480px) {
  .dokuhonDetail ul {
    margin-top: 60px;
  }
}
.dokuhonDetail ul li {
  margin: 0 auto;
  padding-bottom: 60px;
}
.dokuhonDetail ul li:not(:last-child) {
  border-bottom: 1px solid rgba(128, 127, 129, 0.3);
  margin-bottom: 60px;
}
@media (max-width: 480px) {
  .dokuhonDetail ul li {
    padding-bottom: 40px;
  }
  .dokuhonDetail ul li:not(:last-child) {
    margin-bottom: 40px;
  }
}
.dokuhonDetail ul li .dokuhonListInner {
  max-width: 840px;
  width: 100%;
  margin: 0 auto;
  display: flex;
  gap: 8.33%;
}
@media (max-width: 480px) {
  .dokuhonDetail ul li .dokuhonListInner {
    flex-direction: column-reverse;
  }
}
.dokuhonDetail ul li .dokuhonListInner .textBox {
  width: 66.67%;
  margin-top: 20px;
}
@media (max-width: 480px) {
  .dokuhonDetail ul li .dokuhonListInner .textBox {
    width: 100%;
    margin-top: 30px;
  }
}
.dokuhonDetail ul li .dokuhonListInner .textBox h3 {
  font-size: 2.6rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.5384615385;
  margin-bottom: 30px;
}
@media (max-width: 480px) {
  .dokuhonDetail ul li .dokuhonListInner .textBox h3 {
    font-size: 2.2rem;
    margin-bottom: 15px;
  }
}
.dokuhonDetail ul li .dokuhonListInner .textBox p {
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 2;
}
.dokuhonDetail ul li .dokuhonListInner .textBox .downloadLink {
  max-width: 360px;
  margin-top: min(50px,6.944vw);
}
.dokuhonDetail ul li .dokuhonListInner .textBox .downloadLink a {
  display: block;
  background: #F2F2EE;
  text-align: center;
  border-radius: 19px;
  padding: 5px 0;
  border: 1px solid #53565A;
}
.dokuhonDetail ul li .dokuhonListInner .textBox .downloadLink a span.ttl {
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.5555555556;
}
@media (max-width: 480px) {
  .dokuhonDetail ul li .dokuhonListInner .textBox .downloadLink a span.ttl {
    font-size: 1.3rem;
  }
}
.dokuhonDetail ul li .dokuhonListInner .textBox .downloadLink a span.size {
  font-size: 1.3rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 2;
}
@media (max-width: 480px) {
  .dokuhonDetail ul li .dokuhonListInner .textBox .downloadLink a span.size {
    font-size: 1.1rem;
  }
}
.dokuhonDetail ul li .dokuhonListInner .textBox .downloadLink a i {
  display: inline-block;
  margin-left: 10px;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
.dokuhonDetail ul li .dokuhonListInner .textBox .downloadLink a i img {
  vertical-align: middle;
}
.dokuhonDetail ul li .dokuhonListInner .textBox .downloadLink a:hover {
  opacity: 0.8;
}
.dokuhonDetail ul li .dokuhonListInner .textBox .downloadLink a:hover i img {
  margin-top: 5px;
}
.dokuhonDetail ul li .dokuhonListInner .imgBox {
  width: 25%;
}
@media (max-width: 480px) {
  .dokuhonDetail ul li .dokuhonListInner .imgBox {
    width: 40%;
    margin: 0 auto;
  }
}
.dokuhonDetail ul li .dokuhonListInner .imgBox figure {
  width: 100%;
  overflow: hidden;
  display: block;
  position: relative;
  border: 1px solid #707070;
}
.dokuhonDetail ul li .dokuhonListInner .imgBox figure::before {
  content: "";
  padding-top: 141.43%;
  display: block;
}
.dokuhonDetail ul li .dokuhonListInner .imgBox figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
.dokuhonDetail .contactArea {
  max-width: 1240px;
  width: 100%;
  margin: min(100px,13.888vw) auto 0;
}
.dokuhonDetail .contactArea .message {
  text-align: center;
  margin-bottom: 60px;
}
@media (max-width: 480px) {
  .dokuhonDetail .contactArea .message {
    margin-bottom: 40px;
  }
}
.dokuhonDetail .contactArea .message p.ttl {
  font-size: 2.6rem;
  font-weight: 600;
  letter-spacing: 0.06em;
}
@media (max-width: 480px) {
  .dokuhonDetail .contactArea .message p.ttl {
    font-size: 2.2rem;
  }
}
.dokuhonDetail .contactArea .message p.text {
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 2;
  display: block;
  margin-top: 10px;
}
.dokuhonDetail .contactArea .textArea {
  text-align: center;
  background: #F2F2EE;
  padding: 18px 0;
}
.dokuhonDetail .contactArea .textArea p.ttl {
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 2.2rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.3636363636;
  display: block;
}
.dokuhonDetail .contactArea .textArea p.text {
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 2;
  display: block;
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
}
@media (max-width: 480px) {
  .dokuhonDetail .contactArea .textArea p.text {
    line-height: 1.5;
    margin-top: 5px;
  }
}
.dokuhonDetail .contactArea .btnBox {
  background: #53565A;
  text-align: center;
  padding: min(50px,6.944vw) 0;
}
.dokuhonDetail .contactArea .btnBox .commonBtn a {
  position: relative;
}
.dokuhonDetail .contactArea .btnBox .commonBtn a .arrow {
  position: absolute;
  left: 100%;
}
@media (max-width: 820px) {
  .dokuhonDetail .contactArea .btnBox a .arrow {
    display: none;
  }
}

/*==========================================================
	news
==========================================================*/
.newsListWrap {
  background-color: #fff;
  padding: 100px 0 250px;
}
.newsListWrap .newsNavi {
  gap: 3.23%;
  row-gap: 20px;
  justify-content: space-between;
}
@media (max-width: 480px) {
  .newsListWrap .newsNavi {
    row-gap: 30px;
  }
}
.newsListWrap .newsNavi .categoryNavi {
  align-items: center;
  gap: 10px;
}
@media (max-width: 480px) {
  .newsListWrap .newsNavi .categoryNavi {
    display: block;
  }
}
.newsListWrap .newsNavi .categoryNavi p {
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: 0.05em;
}
@media (max-width: 1400px) {
  .newsListWrap .newsNavi .categoryNavi p {
    width: 150px;
    white-space: nowrap;
  }
}
@media (max-width: 480px) {
  .newsListWrap .newsNavi .categoryNavi p {
    width: 100%;
    margin-bottom: 20px;
  }
}
.newsListWrap .newsNavi .categoryNavi ul {
  gap: 10px;
}
@media (max-width: 1400px) {
  .newsListWrap .newsNavi .categoryNavi ul {
    width: calc(100% - 150px);
  }
}
@media (max-width: 480px) {
  .newsListWrap .newsNavi .categoryNavi ul {
    width: 100%;
  }
}
.newsListWrap .newsNavi .categoryNavi ul li {
  width: 150px;
}
.newsListWrap .newsNavi .categoryNavi ul li a {
  display: block;
  width: 100%;
  height: 36px;
  line-height: 36px;
  border-radius: 18px;
  padding: 0 10px;
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-align: center;
  border: 1px solid #53565A;
  transition: all 0.3s;
}
.newsListWrap .newsNavi .categoryNavi ul li a:hover {
  background-color: #F2F2EE;
}
.newsListWrap .newsNavi .categoryNavi ul li.current a {
  background-color: #F2F2EE;
}
.newsListWrap .newsNavi .monthTab {
  align-items: center;
  gap: 10px;
}
@media (max-width: 480px) {
  .newsListWrap .newsNavi .monthTab {
    display: block;
  }
}
.newsListWrap .newsNavi .monthTab p {
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: 0.05em;
}
@media (max-width: 1400px) {
  .newsListWrap .newsNavi .monthTab p {
    width: 150px;
  }
}
@media (max-width: 480px) {
  .newsListWrap .newsNavi .monthTab p {
    width: 100%;
    margin-bottom: 20px;
  }
}
.newsListWrap .newsNavi .monthTab .selectBox {
  position: relative;
}
.newsListWrap .newsNavi .monthTab .selectBox::before {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  width: 10px;
  height: 7px;
  background-color: #53565A;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  content: "";
  pointer-events: none;
}
.newsListWrap .newsNavi .monthTab .selectBox select {
  width: 150px;
  height: 36px;
  line-height: 36px;
  border-radius: 18px;
  padding: 0 10px;
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-align: center;
  border: 1px solid #53565A;
  transition: all 0.3s;
  appearance: none;
  cursor: pointer;
  color: #53565A;
}
.newsListWrap .newsNavi .monthTab .selectBox select option {
  text-align: center;
  color: #53565A;
}
.newsListWrap .newsNavi .monthTab .selectBox select:hover {
  background-color: #F2F2EE;
}
.newsListWrap .newsListArea {
  margin-top: min(100px,13.888vw);
}
.newsListWrap .newsListArea ul {
  gap: 2.82%;
  row-gap: min(80px,11.112vw);
}
@media (max-width: 480px) {
  .newsListWrap .newsListArea ul {
    flex-direction: column;
    row-gap: 0;
  }
}
.newsListWrap .newsListArea ul li {
  width: 31.45%;
}
@media (max-width: 480px) {
  .newsListWrap .newsListArea ul li {
    width: 100%;
  }
  .newsListWrap .newsListArea ul li + li {
    margin-top: 40px;
  }
}
.newsListWrap .newsListArea ul li a {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
}
.newsListWrap .newsListArea ul li a figure {
  width: 100%;
  overflow: hidden;
  display: block;
  position: relative;
}
.newsListWrap .newsListArea ul li a figure::before {
  content: "";
  padding-top: 61.54%;
  display: block;
}
.newsListWrap .newsListArea ul li a figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
.newsListWrap .newsListArea ul li a span.tag {
  color: #fff;
  background: #FF0000;
  width: 60px;
  height: 30px;
  line-height: 30px;
  text-align: center;
  font-family: "Lato", serif;
  font-size: 1.3rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  position: absolute;
  top: -30px;
  right: 0;
}
.newsListWrap .newsListArea ul li a span.pickup {
  color: #fff;
  background: #53565A;
  width: 60px;
  height: 30px;
  line-height: 30px;
  text-align: center;
  font-family: "Lato", serif;
  font-size: 1.1rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  position: absolute;
  top: -30px;
  right: 0;
  border-radius: 0;
  padding: 0;
}
.newsListWrap .newsListArea ul li a .textBox {
  margin-top: 20px;
}
@media (max-width: 768px) {
  .newsListWrap .newsListArea ul li a .textBox {
    margin-top: 12px;
  }
}
.newsListWrap .newsListArea ul li a .textBox .head span.date {
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0.06em;
}
.newsListWrap .newsListArea ul li a .textBox .head span.category {
  font-size: 1.2rem;
  font-weight: 600;
  margin-left: 20px;
  letter-spacing: 0.06em;
  line-height: 24px;
  height: 24px;
  padding: 0 2em;
  text-align: center;
  border: 1px solid #53565A;
  border-radius: 12px;
}
.newsListWrap .newsListArea ul li a .textBox p {
  font-size: 1.7rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1.6470588235;
  margin-top: 10px;
}
@media (max-width: 768px) {
  .newsListWrap .newsListArea ul li a .textBox p {
    font-size: 1.5rem;
    line-height: 1.6666666667;
    margin-top: 8px;
  }
}
.newsListWrap .newsListArea ul li a:hover figure img {
  transform: scale(1.05);
}
.newsListWrap .pagination {
  margin-top: min(140px,19.444vw);
  text-align: center;
}
.newsListWrap .pagination span {
  position: relative;
  font-size: 1.8rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  display: inline-block;
  padding: 0 1em;
}
.newsListWrap .pagination span.current::before {
  content: "";
  position: absolute;
  bottom: -5px;
  left: 50%;
  transform: translateX(-50%);
  width: 15px;
  height: 1px;
  background-color: #53565A;
  display: block;
}
.newsListWrap .pagination a {
  font-size: 1.8rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  transition: all 0.3s;
  display: inline-block;
  padding: 0 1em;
  position: relative;
}
.newsListWrap .pagination a:hover::before {
  content: "";
  position: absolute;
  bottom: -5px;
  left: 50%;
  transform: translateX(-50%);
  width: 15px;
  height: 1px;
  background-color: #53565A;
  display: block;
}

#pageHeaderWrap.newsDetailPage h1 {
  margin-bottom: min(60px,8.334vw);
}
#pageHeaderWrap.newsDetailPage h1 span {
  display: inline-block;
}
#pageHeaderWrap.newsDetailPage h1 span.jp {
  font-size: 2rem;
  margin-left: 15px;
}
#pageHeaderWrap.newsDetailPage .headBox {
  display: flex;
  align-items: center;
  gap: 22px;
}
@media (max-width: 480px) {
  #pageHeaderWrap.newsDetailPage .headBox {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
  }
}
#pageHeaderWrap.newsDetailPage .headBox .date {
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1;
}
#pageHeaderWrap.newsDetailPage .headBox span.cate {
  border: 1px solid #53565A;
  border-radius: 12px;
  font-size: 1.3rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  padding: 0 1em;
  display: inline-block;
  line-height: 24px;
  height: 24px;
  text-align: center;
}
@media (max-width: 480px) {
  #pageHeaderWrap.newsDetailPage .headBox span.cate {
    font-size: 1.1rem;
  }
}
#pageHeaderWrap.newsDetailPage .headBox .categoryBox {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
#pageHeaderWrap.newsDetailPage .headBox .categoryBox span a {
  display: block;
  width: 100%;
}
#pageHeaderWrap.newsDetailPage p.ttl {
  font-size: 2.8rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 2.3928571429;
  margin-top: 10px;
  padding-bottom: min(80px,11.112vw);
}
@media (max-width: 480px) {
  #pageHeaderWrap.newsDetailPage p.ttl {
    font-size: 1.8rem;
    line-height: 1.5;
  }
}

#newsDetailWrap {
  background: #fff;
  padding: min(80px,11.112vw) 0 min(240px,33.334vw);
}
#newsDetailWrap .inner .descBox {
  max-width: 840px;
  margin: 0 auto;
  width: 90%;
  position: relative;
}
@media (max-width: 480px) {
  #newsDetailWrap .inner .descBox {
    width: 100%;
  }
}
#newsDetailWrap .inner .descBox p {
  letter-spacing: 0.06em;
  font-weight: 500;
  line-height: 2;
}
#newsDetailWrap .inner .descBox p + p {
  margin-top: 1.5em;
}
#newsDetailWrap .inner .descBox figure {
  margin-top: 60px;
}
#newsDetailWrap .inner .descBox figure + figure {
  margin-top: 60px;
}
#newsDetailWrap .inner .descBox img {
  margin-top: 60px;
}
#newsDetailWrap .inner .descBox img + img {
  margin-top: 60px;
}
#newsDetailWrap .btnArea {
  margin: min(160px,22.222vw) auto 0;
  max-width: 1040px;
  width: 90%;
}
#newsDetailWrap .btnArea ul li {
  width: 33.33%;
}
#newsDetailWrap .btnArea ul li.prev a {
  display: flex;
  align-items: center;
  gap: 20px;
  justify-content: flex-start;
}
#newsDetailWrap .btnArea ul li.prev a span {
  display: flex;
}
#newsDetailWrap .btnArea ul li.prev a span.txt {
  font-weight: 600;
  letter-spacing: 0.06em;
}
@media (max-width: 480px) {
  #newsDetailWrap .btnArea ul li.prev a span.arrow svg {
    width: 40px;
  }
}
#newsDetailWrap .btnArea ul li.list {
  text-align: center;
}
#newsDetailWrap .btnArea ul li.list a {
  font-weight: 600;
  letter-spacing: 0.06em;
}
#newsDetailWrap .btnArea ul li.next a {
  display: flex;
  align-items: center;
  gap: 20px;
  justify-content: flex-end;
}
@media (max-width: 480px) {
  #newsDetailWrap .btnArea ul li.next a {
    gap: 10px;
  }
}
#newsDetailWrap .btnArea ul li.next a span {
  display: block;
}
#newsDetailWrap .btnArea ul li.next a span.txt {
  font-weight: 600;
  letter-spacing: 0.06em;
}
#newsDetailWrap .btnArea ul li.next a span.arrow {
  display: block;
}
@media (max-width: 480px) {
  #newsDetailWrap .btnArea ul li.next a span.arrow svg {
    width: 40px;
  }
}
#newsDetailWrap.blogDetailWrap .inner .descBox figure {
  margin-top: 10px;
  margin-bottom: 10px;
}
#newsDetailWrap.blogDetailWrap .inner .descBox figure img {
  margin-top: 0;
}
#newsDetailWrap.blogDetailWrap .inner .descBox img {
  margin-top: 0;
}

/*==========================================================
	customers
==========================================================*/
#pageHeaderWrap.case #pheaderSliderArea {
  margin-top: 0;
}
#pageHeaderWrap.case #pheaderSliderArea .swiper .swiper-wrapper .swiper-slide figure {
  width: 100%;
  overflow: hidden;
  display: block;
  position: relative;
}
#pageHeaderWrap.case #pheaderSliderArea .swiper .swiper-wrapper .swiper-slide figure::before {
  content: "";
  padding-top: 66.67%;
  display: block;
}
#pageHeaderWrap.case #pheaderSliderArea .swiper .swiper-wrapper .swiper-slide figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
#pageHeaderWrap.caseDetailPage h1 span {
  display: inline-block;
}
#pageHeaderWrap.caseDetailPage h1 span.jp {
  font-size: 2rem;
  margin-left: 15px;
}

.customersListWrap {
  background: #fff;
  position: relative;
  padding-bottom: min(240px,33.334vw);
}
.customersListWrap::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 17.19vw;
  background: #fff;
  bottom: 100%;
  left: 0;
  display: block;
  z-index: -1;
}
@media (max-width: 480px) {
  .customersListWrap::before {
    height: 150px;
  }
}
.customersListWrap .customersNavi {
  margin-top: min(90px,12.5vw);
}
.customersListWrap .customersNavi .categoryNavi {
  align-items: center;
  gap: 30px;
}
@media (max-width: 480px) {
  .customersListWrap .customersNavi .categoryNavi {
    display: block;
  }
}
.customersListWrap .customersNavi .categoryNavi p {
  font-size: 2.8rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  font-family: "Lato", serif;
}
@media (max-width: 1440px) {
  .customersListWrap .customersNavi .categoryNavi p {
    width: 130px;
    white-space: nowrap;
  }
}
@media (max-width: 480px) {
  .customersListWrap .customersNavi .categoryNavi p {
    width: 100%;
    margin-bottom: 20px;
    font-size: 2.2rem;
  }
}
.customersListWrap .customersNavi .categoryNavi ul {
  gap: 16px;
  justify-content: flex-start;
}
@media (max-width: 1440px) {
  .customersListWrap .customersNavi .categoryNavi ul {
    width: calc(100% - 130px);
  }
}
@media (max-width: 480px) {
  .customersListWrap .customersNavi .categoryNavi ul {
    width: 100%;
    justify-content: center;
    position: relative;
  }
  .customersListWrap .customersNavi .categoryNavi ul::after {
    content: "";
    display: block;
    width: 140px;
  }
}
.customersListWrap .customersNavi .categoryNavi ul li {
  width: 155px;
}
@media (max-width: 480px) {
  .customersListWrap .customersNavi .categoryNavi ul li {
    width: 140px;
  }
}
.customersListWrap .customersNavi .categoryNavi ul li a {
  display: block;
  width: 100%;
  height: 36px;
  line-height: 36px;
  border-radius: 18px;
  padding: 0 10px;
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-align: center;
  border: 1px solid #53565A;
  transition: all 0.3s;
}
@media (max-width: 480px) {
  .customersListWrap .customersNavi .categoryNavi ul li a {
    font-size: 1.3rem;
    padding: 0 8px;
    line-height: 32px;
    height: 32px;
  }
}
.customersListWrap .customersNavi .categoryNavi ul li a:hover {
  background-color: #F2F2EE;
}
.customersListWrap .customersNavi .categoryNavi ul li.current a {
  background-color: #F2F2EE;
  mix-blend-mode: multiply;
}
.customersListWrap .customersNavi .categoryNavi.product ul li a {
  background: #53565A;
  color: #fff;
}
.customersListWrap .customersNavi .categoryNavi.product ul li a:hover {
  background-color: #F2F2EE;
  color: #53565A;
}
.customersListWrap .customersNavi .categoryNavi.product ul li.current a {
  background-color: #F2F2EE;
  mix-blend-mode: multiply;
  color: #53565A;
}
.customersListWrap .customersNavi .categoryNavi + .categoryNavi {
  margin-top: 32px;
}
.customersListWrap .customersListArea {
  margin-top: min(100px,13.888vw);
}
.customersListWrap .customersListArea .customersList {
  gap: 2.82%;
  row-gap: min(90px,12.5vw);
}
.customersListWrap .customersListArea .customersList li {
  width: 31.45%;
}
.customersListWrap .customersListArea .customersList li a {
  display: block;
  width: 100%;
  height: auto;
}
.customersListWrap .customersListArea .customersList li a figure {
  width: 100%;
  overflow: hidden;
  display: block;
  position: relative;
}
.customersListWrap .customersListArea .customersList li a figure::before {
  content: "";
  padding-top: 69.23%;
  display: block;
}
.customersListWrap .customersListArea .customersList li a figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
.customersListWrap .customersListArea .customersList li a p {
  font-size: clamp(14px, 2.5vw, 18px);
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.3333333333;
  margin-top: 15px;
  margin-bottom: 8px;
}
@media (max-width: 768px) {
  .customersListWrap .customersListArea .customersList li a p {
    font-size: 1.6rem;
    line-height: 1.3125;
  }
}
.customersListWrap .customersListArea .customersList li a .category01 span {
  border: 1px solid #53565A;
  border-radius: 12px;
  font-size: 1.3rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1;
  padding: 5px 20px;
  display: inline-block;
  text-align: center;
}
.customersListWrap .customersListArea .customersList li a .category01 span:not(:last-child) {
  margin-right: 12px;
}
@media (max-width: 480px) {
  .customersListWrap .customersListArea .customersList li a .category01 span + span {
    margin-top: 6px;
  }
}
.customersListWrap .customersListArea .customersList li a .category02 {
  margin-top: 6px;
}
.customersListWrap .customersListArea .customersList li a .category02 span {
  border: 1px solid #53565A;
  background: #53565A;
  border-radius: 9999px;
  font-size: 1.3rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1;
  padding: 5px 20px;
  display: inline-block;
  text-align: center;
  color: #fff;
  margin-bottom: 6px;
}
.customersListWrap .customersListArea .customersList li a .category02 span:not(:last-child) {
  margin-right: 12px;
}
.customersListWrap .customersListArea .customersList li a:hover figure img {
  transform: scale(1.1);
}
@media (max-width: 480px) {
  .customersListWrap .customersListArea .customersList {
    gap: 4%;
    row-gap: 40px;
  }
  .customersListWrap .customersListArea .customersList li {
    width: 48%;
  }
}
.customersListWrap .customersListArea .customersBtn {
  margin: min(100px,13.888vw) auto 0;
  width: 100%;
  height: 60px;
  line-height: 60px;
  text-align: center;
  font-size: 1.8rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  background: #F2F2EE;
  outline: none;
  border: none;
  mix-blend-mode: multiply;
}
@media (max-width: 480px) {
  .customersListWrap .customersListArea .customersBtn {
    margin-top: 60px;
    font-size: 1.6rem;
    height: 50px;
    line-height: 50px;
  }
}
.customersListWrap .contactArea {
  margin-top: min(140px,19.444vw);
}
.customersListWrap .contactArea .textArea {
  text-align: center;
  background: #F2F2EE;
  padding: 18px 0;
}
.customersListWrap .contactArea .textArea p.ttl {
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 2.2rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.3636363636;
  display: block;
}
@media (max-width: 480px) {
  .customersListWrap .contactArea .textArea p.ttl {
    font-size: 1.8rem;
  }
}
.customersListWrap .contactArea .textArea p.text {
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 2;
  display: block;
}
@media (max-width: 480px) {
  .customersListWrap .contactArea .textArea p.text {
    line-height: 1.5;
    margin-top: 5px;
  }
}
.customersListWrap .contactArea .btnBox {
  background: #53565A;
  text-align: center;
  padding: min(50px,6.944vw) 0;
}
.customersListWrap .contactArea .btnBox .commonBtn a {
  position: relative;
}
.customersListWrap .contactArea .btnBox .commonBtn a .arrow {
  position: absolute;
  left: 100%;
}
@media (max-width: 820px) {
  .customersListWrap .contactArea .btnBox a .arrow {
    display: none;
  }
}

.caseDetailTopWrap p.date {
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1;
}
.caseDetailTopWrap p.ttl {
  font-size: 2.8rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.3;
  margin-top: 18px;
}
@media (max-width: 480px) {
  .caseDetailTopWrap p.ttl {
    font-size: 2.2rem;
  }
}
.caseDetailTopWrap .categoryBox {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 18px;
}
@media (max-width: 480px) {
  .caseDetailTopWrap .categoryBox {
    margin-top: 10px;
  }
}
.caseDetailTopWrap .categoryBox .category01 span {
  border: 1px solid #53565A;
  border-radius: 12px;
  font-size: 1.3rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1;
  display: inline-block;
  text-align: center;
}
.caseDetailTopWrap .categoryBox .category01 span:not(:last-child) {
  margin-right: 12px;
}
.caseDetailTopWrap .categoryBox .category01 span a {
  padding: 5px 20px;
  display: block;
  width: 100%;
}
@media (max-width: 480px) {
  .caseDetailTopWrap .categoryBox .category01 span + span {
    margin-top: 6px;
  }
}
.caseDetailTopWrap .categoryBox .category02 span {
  background: #53565A;
  border: 1px solid #53565A;
  border-radius: 12px;
  font-size: 1.3rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1;
  display: inline-block;
  text-align: center;
}
.caseDetailTopWrap .categoryBox .category02 span:not(:last-child) {
  margin-right: 12px;
}
@media (max-width: 480px) {
  .caseDetailTopWrap .categoryBox .category02 span {
    margin-top: 6px;
  }
}
.caseDetailTopWrap .categoryBox .category02 span a {
  color: #fff;
  padding: 5px 20px;
  display: block;
  width: 100%;
}
.caseDetailTopWrap .imgBox {
  margin-top: 40px;
  width: 100%;
}
@media (max-width: 480px) {
  .caseDetailTopWrap .imgBox {
    margin-top: 30px;
  }
}
.caseDetailTopWrap .imgBox figure {
  width: 100%;
  overflow: hidden;
  display: block;
  position: relative;
}
.caseDetailTopWrap .imgBox figure::before {
  content: "";
  padding-top: 39.92%;
  display: block;
}
@media (max-width: 480px) {
  .caseDetailTopWrap .imgBox figure::before {
    padding-top: 50%;
  }
}
.caseDetailTopWrap .imgBox figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
.caseDetailTopWrap .imgBox img {
  width: 100%;
}
.caseDetailTopWrap .productBox {
  background: #F2F2EE;
  width: 100%;
  padding: 16px 40px;
}
@media (max-width: 480px) {
  .caseDetailTopWrap .productBox {
    padding: 18px 20px;
  }
}
.caseDetailTopWrap .productBox ul {
  display: flex;
  gap: 30px;
  flex-wrap: wrap;
  row-gap: 5px;
}
@media (max-width: 480px) {
  .caseDetailTopWrap .productBox ul {
    gap: 24px;
    row-gap: 5px;
  }
}
.caseDetailTopWrap .productBox ul li {
  font-size: 1.6rem;
  position: relative;
}
@media (max-width: 480px) {
  .caseDetailTopWrap .productBox ul li {
    font-size: 1.2rem;
  }
}
.caseDetailTopWrap .productBox ul li:not(:last-child)::before {
  content: "/";
  position: absolute;
  right: -17.5px;
  top: 0;
}
@media (max-width: 480px) {
  .caseDetailTopWrap .productBox ul li:not(:last-child)::before {
    right: -10px;
  }
}

.caseDetailMainWrap {
  background: #fff;
  position: relative;
  width: 100%;
  padding-bottom: min(240px,33.334vw);
  margin-top: 100px;
}
.caseDetailMainWrap::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 17.19vw;
  background: #fff;
  bottom: 100%;
  left: 0;
  display: block;
  z-index: -1;
}
@media (max-width: 480px) {
  .caseDetailMainWrap::before {
    height: 300px;
  }
}
.caseDetailMainWrap .caseInner {
  max-width: 840px;
  width: 90%;
  margin: 0 auto;
}
.caseDetailMainWrap .caseInner .descBox p.ttl {
  font-size: 1.8rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.7777777778;
}
@media (max-width: 480px) {
  .caseDetailMainWrap .caseInner .descBox p.ttl {
    font-size: 1.6rem;
  }
}
.caseDetailMainWrap .caseInner .descBox p.text {
  margin-top: 10px;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 2;
}
@media (max-width: 480px) {
  .caseDetailMainWrap .caseInner .descBox p.text {
    line-height: 1.8;
  }
}
.caseDetailMainWrap .caseInner .descBox .imgBox {
  margin-top: 30px;
}
@media (max-width: 480px) {
  .caseDetailMainWrap .caseInner .descBox .imgBox {
    margin-top: 20px;
  }
}
.caseDetailMainWrap .caseInner .descBox .imgBox figure {
  width: 100%;
  overflow: hidden;
  display: block;
  position: relative;
}
.caseDetailMainWrap .caseInner .descBox .imgBox figure img {
  width: 100%;
}
.caseDetailMainWrap .caseInner .descBox .imgBox figure + figure {
  margin-top: 40px;
}
@media (max-width: 480px) {
  .caseDetailMainWrap .caseInner .descBox .imgBox figure + figure {
    margin-top: 20px;
  }
}
.caseDetailMainWrap .caseInner .descBox + .descBox {
  margin-top: 60px;
}
@media (max-width: 480px) {
  .caseDetailMainWrap .caseInner .descBox + .descBox {
    margin-top: 40px;
  }
}
.caseDetailMainWrap .caseInner .infoBox {
  margin-top: 90px;
  background: #F2F2EE;
  padding: 30px 25px;
  width: fit-content;
}
@media (max-width: 480px) {
  .caseDetailMainWrap .caseInner .infoBox {
    margin-top: 60px;
  }
}
.caseDetailMainWrap .caseInner .infoBox a {
  display: block;
  width: 100%;
  height: 100%;
}
.caseDetailMainWrap .caseInner .infoBox p.place {
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.5;
  margin-bottom: 12px;
}
.caseDetailMainWrap .caseInner .infoBox dl {
  display: flex;
}
.caseDetailMainWrap .caseInner .infoBox dl dt, .caseDetailMainWrap .caseInner .infoBox dl dd {
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.625;
}
.caseDetailMainWrap .caseInner .infoBox dl dd {
  word-break: break-all;
}
.caseDetailMainWrap .btnArea {
  margin: min(160px,22.222vw) auto 0;
  max-width: 1040px;
  width: 90%;
}
.caseDetailMainWrap .btnArea ul li {
  width: 33.33%;
}
.caseDetailMainWrap .btnArea ul li.prev a {
  display: flex;
  align-items: center;
  gap: 20px;
  justify-content: flex-start;
}
.caseDetailMainWrap .btnArea ul li.prev a span {
  display: flex;
}
.caseDetailMainWrap .btnArea ul li.prev a span.txt {
  font-weight: 600;
  letter-spacing: 0.06em;
}
@media (max-width: 480px) {
  .caseDetailMainWrap .btnArea ul li.prev a span.arrow svg {
    width: 40px;
  }
}
.caseDetailMainWrap .btnArea ul li.list {
  text-align: center;
}
.caseDetailMainWrap .btnArea ul li.list a {
  font-weight: 600;
  letter-spacing: 0.06em;
}
.caseDetailMainWrap .btnArea ul li.next a {
  display: flex;
  align-items: center;
  gap: 20px;
  justify-content: flex-end;
}
@media (max-width: 480px) {
  .caseDetailMainWrap .btnArea ul li.next a {
    gap: 10px;
  }
}
.caseDetailMainWrap .btnArea ul li.next a span {
  display: block;
}
.caseDetailMainWrap .btnArea ul li.next a span.txt {
  font-weight: 600;
  letter-spacing: 0.06em;
}
.caseDetailMainWrap .btnArea ul li.next a span.arrow {
  display: block;
}
@media (max-width: 480px) {
  .caseDetailMainWrap .btnArea ul li.next a span.arrow svg {
    width: 40px;
  }
}
.caseDetailMainWrap .customersList {
  gap: 2.82%;
  row-gap: min(90px,12.5vw);
  margin-top: min(160px,22.222vw);
}
.caseDetailMainWrap .customersList li {
  width: 31.45%;
}
.caseDetailMainWrap .customersList li a {
  display: block;
  width: 100%;
  height: auto;
}
.caseDetailMainWrap .customersList li a figure {
  width: 100%;
  overflow: hidden;
  display: block;
  position: relative;
}
.caseDetailMainWrap .customersList li a figure::before {
  content: "";
  padding-top: 69.23%;
  display: block;
}
.caseDetailMainWrap .customersList li a figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
.caseDetailMainWrap .customersList li a p {
  font-size: clamp(14px, 2.5vw, 18px);
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.3333333333;
  margin-top: 15px;
  margin-bottom: 8px;
}
@media (max-width: 768px) {
  .caseDetailMainWrap .customersList li a p {
    font-size: 1.6rem;
    line-height: 1.3125;
  }
}
.caseDetailMainWrap .customersList li a .category01 span {
  border: 1px solid #53565A;
  border-radius: 12px;
  font-size: 1.3rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1;
  padding: 5px 20px;
  display: inline-block;
  text-align: center;
}
.caseDetailMainWrap .customersList li a .category01 span:not(:last-child) {
  margin-right: 12px;
}
@media (max-width: 480px) {
  .caseDetailMainWrap .customersList li a .category01 span + span {
    margin-top: 6px;
  }
}
@media (max-width: 480px) {
  .caseDetailMainWrap .customersList li a .category01 span {
    padding: 5px 10px;
  }
}
.caseDetailMainWrap .customersList li a .category02 {
  margin-top: 6px;
}
.caseDetailMainWrap .customersList li a .category02 span {
  background: #53565A;
  border-radius: 9999px;
  font-size: 1.3rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1;
  padding: 5px 20px;
  display: inline-block;
  text-align: center;
  color: #fff;
}
.caseDetailMainWrap .customersList li a .category02 span:not(:last-child) {
  margin-right: 12px;
}
@media (max-width: 480px) {
  .caseDetailMainWrap .customersList li a .category02 span {
    padding: 5px 10px;
    line-height: 1.2;
  }
}
.caseDetailMainWrap .customersList li a:hover figure img {
  transform: scale(1.1);
}
@media (max-width: 480px) {
  .caseDetailMainWrap .customersList {
    gap: 4%;
    row-gap: 40px;
  }
  .caseDetailMainWrap .customersList li {
    width: 48%;
  }
}
.caseDetailMainWrap .contactArea {
  margin-top: min(140px,19.444vw);
}
.caseDetailMainWrap .contactArea .textArea {
  text-align: center;
  background: #F2F2EE;
  padding: 18px 0;
}
.caseDetailMainWrap .contactArea .textArea p.ttl {
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 2.2rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.3636363636;
  display: block;
}
@media (max-width: 480px) {
  .caseDetailMainWrap .contactArea .textArea p.ttl {
    font-size: 1.8rem;
  }
}
.caseDetailMainWrap .contactArea .textArea p.text {
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 2;
  display: block;
}
@media (max-width: 480px) {
  .caseDetailMainWrap .contactArea .textArea p.text {
    line-height: 1.5;
    margin-top: 5px;
  }
}
.caseDetailMainWrap .contactArea .btnBox {
  background: #53565A;
  text-align: center;
  padding: min(50px,6.944vw) 0;
}
.caseDetailMainWrap .contactArea .btnBox .commonBtn a {
  position: relative;
}
.caseDetailMainWrap .contactArea .btnBox .commonBtn a .arrow {
  position: absolute;
  left: 100%;
}
@media (max-width: 820px) {
  .caseDetailMainWrap .contactArea .btnBox a .arrow {
    display: none;
  }
}

/*==========================================================
	business
==========================================================*/
h2.businessSecTtl {
  position: relative;
}
h2.businessSecTtl .en {
  font-size: clamp(14px, 2.362vw, 17px);
  font-family: "Lato", serif;
  font-weight: 900;
  letter-spacing: 0.1em;
  line-height: 1;
  display: block;
}
@media (max-width: 480px) {
  h2.businessSecTtl .en {
    font-size: 1.4rem;
  }
}
h2.businessSecTtl .jp {
  font-size: clamp(15.2px, 5.278vw, 38px);
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.7631578947;
  display: block;
}
@media (max-width: 480px) {
  h2.businessSecTtl .jp {
    font-size: 2rem;
  }
}
@media (max-width: 480px) {
  h2.businessSecTtl::after {
    height: 40px;
  }
}

.businessFeatureArea {
  padding: min(140px,19.444vw) 0;
  background: #fff;
  position: relative;
}
.businessFeatureArea::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 17.19vw;
  background: #fff;
  bottom: 100%;
  left: 0;
  display: block;
  z-index: -1;
}
@media (max-width: 480px) {
  .businessFeatureArea::before {
    height: 150px;
  }
}
.businessFeatureArea ul {
  margin-top: min(80px,11.112vw);
}
.businessFeatureArea ul li {
  width: 100%;
  display: flex;
}
.businessFeatureArea ul li .textBox {
  width: 50%;
}
.businessFeatureArea ul li .textBox p.number {
  font-size: 2rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  display: block;
  border-bottom: 1px solid #53565A;
  width: fit-content;
  line-height: 1.1;
}
.businessFeatureArea ul li .textBox p.title {
  font-size: 2.6rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  display: block;
  margin-top: 0.8em;
}
@media (max-width: 768px) {
  .businessFeatureArea ul li .textBox p.title {
    font-size: 2.2rem;
  }
}
@media (max-width: 480px) {
  .businessFeatureArea ul li .textBox p.title {
    font-size: 1.8rem;
  }
}
.businessFeatureArea ul li .textBox p.text {
  margin-top: 0.75em;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.05em;
  display: block;
  margin-bottom: 30px;
}
.businessFeatureArea ul li .textBox .imgBox {
  margin: auto 0 0;
}
.businessFeatureArea ul li .imgBox {
  width: 45.97%;
  margin: 0 0 0 auto;
}
.businessFeatureArea ul li .imgBox figure {
  width: 100%;
  overflow: hidden;
  display: block;
  position: relative;
}
.businessFeatureArea ul li .imgBox figure::before {
  content: "";
  padding-top: 64.91%;
  display: block;
}
.businessFeatureArea ul li .imgBox figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
.businessFeatureArea ul li + li {
  margin-top: min(100px,13.888vw);
}
@media (max-width: 820px) {
  .businessFeatureArea ul {
    gap: 0;
    margin-top: 40px;
  }
  .businessFeatureArea ul li {
    width: 100%;
    display: block;
  }
  .businessFeatureArea ul li .textBox {
    width: 100%;
  }
  .businessFeatureArea ul li .textBox p.number {
    font-size: 1.8rem;
  }
}
@media (max-width: 820px) and (max-width: 768px) {
  .businessFeatureArea ul li .textBox p.number {
    font-size: 1.6rem;
  }
}
@media (max-width: 820px) {
  .businessFeatureArea ul li .textBox p.title {
    font-size: 2.2rem;
  }
}
@media (max-width: 820px) and (max-width: 768px) {
  .businessFeatureArea ul li .textBox p.title {
    font-size: 1.8rem;
  }
}
@media (max-width: 820px) {
  .businessFeatureArea ul li .textBox p.text {
    line-height: 1.7;
  }
}
@media (max-width: 820px) and (max-width: 768px) {
  .businessFeatureArea ul li .textBox p.text {
    line-height: 1.5;
  }
}
@media (max-width: 820px) {
  .businessFeatureArea ul li .imgBox {
    width: 100%;
    margin: 25px 0 0;
  }
  .businessFeatureArea ul li + li {
    margin-top: 60px;
  }
}

.businessProductArea {
  margin-top: min(140px,19.444vw);
}
.businessProductArea ul {
  margin-top: min(80px,11.112vw);
}
.businessProductArea ul li .imgBox {
  width: 50%;
}
.businessProductArea ul li .imgBox picture {
  width: 100%;
  overflow: hidden;
  display: block;
  position: relative;
}
.businessProductArea ul li .imgBox picture::before {
  content: "";
  padding-top: 60.48%;
  display: block;
}
.businessProductArea ul li .imgBox picture source, .businessProductArea ul li .imgBox picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
.businessProductArea ul li .textBox {
  width: 50%;
  background: #fff;
  padding: 35px 2.8%;
}
.businessProductArea ul li .textBox p.title {
  font-size: 2.4rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  display: block;
}
.businessProductArea ul li .textBox p.text {
  line-height: 2;
  letter-spacing: 0.05em;
  margin-top: 0.75em;
  font-weight: 500;
}
.businessProductArea ul li .textBox .commonBtn {
  margin-top: min(35px,4.862vw);
  text-align: right;
}
.businessProductArea ul li:nth-child(even) .imgBox {
  order: 2;
}
.businessProductArea ul li:nth-child(even) .textBox {
  order: 1;
}
.businessProductArea ul li + li {
  margin-top: min(90px,12.5vw);
}
@media (max-width: 820px) {
  .businessProductArea ul li {
    flex-direction: column;
  }
  .businessProductArea ul li .imgBox {
    width: 100%;
    margin: 0;
  }
  .businessProductArea ul li .textBox {
    width: 100%;
  }
  .businessProductArea ul li:nth-child(even) .imgBox {
    order: 1;
  }
  .businessProductArea ul li:nth-child(even) .textBox {
    order: 2;
  }
}
@media (max-width: 480px) {
  .businessProductArea ul li .textBox {
    padding: 30px 20px;
  }
  .businessProductArea ul li .textBox p.title {
    font-size: 1.8rem;
  }
  .businessProductArea ul li .textBox p.text {
    line-height: 1.7;
  }
}

.businessCaseArea {
  background: #fff;
  padding: min(140px,19.444vw) 0;
  margin-top: min(140px,19.444vw);
}
.businessCaseArea .casePickBox {
  margin-top: min(100px,13.888vw);
}
.businessCaseArea .casePickBox .descBox .textBox {
  width: 50%;
  margin-top: 10px;
}
.businessCaseArea .casePickBox .descBox .textBox p.number {
  font-family: "Lato", serif;
  font-weight: 900;
  letter-spacing: 0.1em;
  line-height: 1;
  display: block;
  border-bottom: 1px solid #53565A;
  width: fit-content;
  padding-bottom: 5px;
}
.businessCaseArea .casePickBox .descBox .textBox p.title {
  font-size: 2.7rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  display: block;
  margin-top: 12px;
}
@media (max-width: 768px) {
  .businessCaseArea .casePickBox .descBox .textBox p.title {
    font-size: 2.2rem;
  }
}
.businessCaseArea .casePickBox .descBox .textBox p.text {
  margin-top: min(50px,6.944vw);
  line-height: 2;
  letter-spacing: 0.05em;
  font-weight: 500;
}
.businessCaseArea .casePickBox .descBox .textBox .categoryBox {
  margin-top: 10px;
}
.businessCaseArea .casePickBox .descBox .textBox .categoryBox ul {
  gap: 12px;
}
.businessCaseArea .casePickBox .descBox .textBox .categoryBox ul li {
  width: fit-content;
}
.businessCaseArea .casePickBox .descBox .textBox .categoryBox ul li span {
  display: block;
  width: 100%;
  height: 24px;
  line-height: 24px;
  border-radius: 18px;
  font-size: 1.3rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-align: center;
  border: 1px solid #53565A;
  transition: all 0.3s;
}
.businessCaseArea .casePickBox .descBox .textBox .categoryBox ul li span a {
  display: block;
  width: 100%;
  padding: 0 2em;
}
.businessCaseArea .casePickBox .descBox .textBox .categoryBox ul li span:hover {
  background-color: #F2F2EE;
}
.businessCaseArea .casePickBox .descBox .textBox .categoryBox ul.category02 li span {
  background: #53565A;
}
.businessCaseArea .casePickBox .descBox .textBox .categoryBox ul.category02 li span a {
  color: #fff;
}
.businessCaseArea .casePickBox .descBox .textBox .categoryBox ul + ul {
  margin-left: 12px;
}
.businessCaseArea .casePickBox .descBox .textBox .commonBtn {
  margin-top: min(50px,6.944vw);
  text-align: right;
}
@media (max-width: 480px) {
  .businessCaseArea .casePickBox .descBox .textBox p.number {
    font-size: 1.8rem;
  }
  .businessCaseArea .casePickBox .descBox .textBox p.title {
    font-size: 2rem;
  }
  .businessCaseArea .casePickBox .descBox .textBox p.text {
    line-height: 1.7;
  }
  .businessCaseArea .casePickBox .descBox .textBox .categoryBox ul li span {
    font-size: 1.2rem;
  }
}
.businessCaseArea .casePickBox .descBox .imgBox {
  width: 50%;
}
.businessCaseArea .casePickBox .descBox .imgBox picture {
  width: 91.94%;
  margin: 0 0 0 auto;
  overflow: hidden;
  display: block;
  position: relative;
}
.businessCaseArea .casePickBox .descBox .imgBox picture::before {
  content: "";
  padding-top: 69.47%;
  display: block;
}
.businessCaseArea .casePickBox .descBox .imgBox picture source, .businessCaseArea .casePickBox .descBox .imgBox picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
.businessCaseArea .casePickBox .descBox:nth-child(even) .textBox {
  order: 2;
}
.businessCaseArea .casePickBox .descBox:nth-child(even) .imgBox {
  order: 1;
}
.businessCaseArea .casePickBox .descBox:nth-child(even) .imgBox picture {
  margin: 0 auto 0 0;
}
.businessCaseArea .casePickBox .descBox + .descBox {
  margin-top: min(120px,16.666vw);
}
@media (max-width: 820px) {
  .businessCaseArea .casePickBox .descBox {
    flex-direction: column-reverse;
  }
  .businessCaseArea .casePickBox .descBox .textBox {
    width: 100%;
    margin-top: 25px;
  }
  .businessCaseArea .casePickBox .descBox .imgBox {
    width: 100%;
  }
  .businessCaseArea .casePickBox .descBox .imgBox picture {
    width: 100%;
    margin: 0;
  }
  .businessCaseArea .casePickBox .descBox:nth-child(even) .textBox {
    order: 1;
  }
  .businessCaseArea .casePickBox .descBox:nth-child(even) .imgBox {
    order: 2;
  }
}
.businessCaseArea .caseListBox {
  margin-top: min(140px,19.444vw);
}
.businessCaseArea .caseListBox ul {
  gap: 2.82%;
  row-gap: min(100px,13.888vw);
}
.businessCaseArea .caseListBox ul li {
  width: 31.45%;
}
.businessCaseArea .caseListBox ul li a {
  display: block;
  width: 100%;
  height: auto;
}
.businessCaseArea .caseListBox ul li a figure {
  width: 100%;
  overflow: hidden;
  display: block;
  position: relative;
}
.businessCaseArea .caseListBox ul li a figure::before {
  content: "";
  padding-top: 69.23%;
  display: block;
}
.businessCaseArea .caseListBox ul li a figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
.businessCaseArea .caseListBox ul li a p {
  font-size: clamp(14px, 2.5vw, 18px);
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.3333333333;
  margin-top: 15px;
  margin-bottom: 8px;
}
@media (max-width: 768px) {
  .businessCaseArea .caseListBox ul li a p {
    font-size: 1.6rem;
    line-height: 1.3125;
  }
}
.businessCaseArea .caseListBox ul li a .category01 span {
  border: 1px solid #53565A;
  border-radius: 12px;
  font-size: 1.3rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1;
  padding: 5px 20px;
  display: inline-block;
  text-align: center;
}
.businessCaseArea .caseListBox ul li a .category01 span:not(:last-child) {
  margin-right: 12px;
}
@media (max-width: 480px) {
  .businessCaseArea .caseListBox ul li a .category01 span + span {
    margin-top: 6px;
  }
}
.businessCaseArea .caseListBox ul li a .category02 {
  margin-top: 6px;
}
.businessCaseArea .caseListBox ul li a .category02 span {
  background: #53565A;
  border-radius: 9999px;
  font-size: 1.3rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1;
  padding: 5px 20px;
  display: inline-block;
  text-align: center;
  color: #fff;
  margin-bottom: 6px;
}
.businessCaseArea .caseListBox ul li a .category02 span:not(:last-child) {
  margin-right: 12px;
}
.businessCaseArea .caseListBox ul li a:hover figure img {
  transform: scale(1.1);
}
@media (max-width: 480px) {
  .businessCaseArea .caseListBox ul {
    gap: 4%;
    row-gap: 40px;
  }
  .businessCaseArea .caseListBox ul li {
    width: 48%;
  }
}
.businessCaseArea .caseListBox .commonBtn {
  margin-top: min(100px,13.888vw);
  text-align: right;
}
.businessCaseArea .caseListBox .caseListBtn {
  text-align: center;
  width: fit-content;
  margin: min(100px,13.888vw) auto 0;
}
.businessCaseArea .caseListBox .caseListBtn a {
  background: #F2F2EE;
  padding: 30px;
  width: 100%;
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  position: relative;
}
.businessCaseArea .caseListBox .caseListBtn a .txt {
  padding-right: 40px;
}
@media (max-width: 480px) {
  .businessCaseArea .caseListBox .caseListBtn a .txt {
    padding-right: 35px;
  }
}
.businessCaseArea .caseListBox .caseListBtn a .txt span {
  display: block;
}
.businessCaseArea .caseListBox .caseListBtn a .txt span.title {
  font-size: 1.7rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.7058823529;
}
@media (max-width: 480px) {
  .businessCaseArea .caseListBox .caseListBtn a .txt span.title {
    font-size: 1.4rem;
  }
}
.businessCaseArea .caseListBox .caseListBtn a .txt span.page {
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.7058823529;
  margin-top: 5px;
}
@media (max-width: 480px) {
  .businessCaseArea .caseListBox .caseListBtn a .txt span.page {
    font-size: 1.2rem;
    margin-top: 3px;
  }
}
.businessCaseArea .caseListBox .caseListBtn a .arrow {
  position: relative;
  overflow: hidden;
  display: inline-block;
  margin-left: auto;
  z-index: 2;
}
@media (max-width: 768px) {
  .businessCaseArea .caseListBox .caseListBtn a .arrow {
    margin-left: 54px;
  }
}
@media (max-width: 480px) {
  .businessCaseArea .caseListBox .caseListBtn a .arrow {
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
  }
}
.businessCaseArea .caseListBox .caseListBtn a .arrow::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #F2F2EE;
  transform: translateX(-100%);
  transition: transform 1.5s ease;
}
.businessCaseArea .caseListBox .caseListBtn a .arrow svg {
  display: block;
}
@media (max-width: 768px) {
  .businessCaseArea .caseListBox .caseListBtn a .arrow svg {
    width: 30px;
  }
}
.businessCaseArea .caseListBox .caseListBtn a .arrow svg path {
  fill: #53565a;
}
@media (max-width: 480px) {
  .businessCaseArea .caseListBox .caseListBtn a {
    padding: 15px;
  }
  .businessCaseArea .caseListBox .caseListBtn a span.txt {
    font-size: 1.4rem;
  }
}
.businessCaseArea .caseListBox .caseListBtn a:hover .arrow::before {
  transform: translateX(0);
  animation: swipeRight 1.5s ease forwards;
}
@media (max-width: 768px) {
  .businessCaseArea .caseListBox .caseListBtn a:hover .arrow::before {
    animation: none;
  }
}
.businessCaseArea .contactArea {
  margin-top: min(160px,22.222vw);
}
.businessCaseArea .contactArea .textArea {
  text-align: center;
  background: #F2F2EE;
  padding: 18px 0;
}
.businessCaseArea .contactArea .textArea p.ttl {
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 2.2rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.3636363636;
  display: block;
}
@media (max-width: 480px) {
  .businessCaseArea .contactArea .textArea p.ttl {
    font-size: 1.8rem;
  }
}
.businessCaseArea .contactArea .textArea p.text {
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 2;
  display: block;
}
@media (max-width: 480px) {
  .businessCaseArea .contactArea .textArea p.text {
    line-height: 1.5;
    margin-top: 5px;
  }
}
.businessCaseArea .contactArea .btnBox {
  background: #53565A;
  text-align: center;
  padding: min(50px,6.944vw) 0;
}
.businessCaseArea .contactArea .btnBox .commonBtn a {
  position: relative;
}
.businessCaseArea .contactArea .btnBox .commonBtn a .arrow {
  position: absolute;
  left: 100%;
}
@media (max-width: 820px) {
  .businessCaseArea .contactArea .btnBox a .arrow {
    display: none;
  }
}

.businessFlowArea {
  background: #fff;
  padding: min(110px,15.278vw) 0 min(200px,27.778vw);
}
.businessFlowArea h2 {
  text-align: center;
}
.businessFlowArea .flowBox {
  margin-top: min(80px,11.112vw);
}
.businessFlowArea .flowBox ul {
  max-width: 900px;
  margin: 0 auto;
}
.businessFlowArea .flowBox ul li {
  padding: 40px 0;
  border: 1px solid #53565A;
  display: flex;
}
@media (max-width: 480px) {
  .businessFlowArea .flowBox ul li {
    flex-direction: column;
    padding: 30px 0;
  }
}
.businessFlowArea .flowBox ul li .textBox {
  width: 80%;
  margin: 0 auto;
}
@media (max-width: 480px) {
  .businessFlowArea .flowBox ul li .textBox {
    width: 90%;
  }
}
.businessFlowArea .flowBox ul li .textBox p.ttlBox span.num {
  background: rgba(83, 86, 90, 0.7);
  color: #fff;
  font-family: "Lato", serif;
  font-weight: 700;
  font-size: 2.4rem;
  letter-spacing: 0;
  height: 50px;
  line-height: 50px;
  width: 50px;
  text-align: center;
  border-radius: 9999px;
}
@media (max-width: 480px) {
  .businessFlowArea .flowBox ul li .textBox p.ttlBox span.num {
    font-size: 1.8rem;
    height: 40px;
    line-height: 40px;
    width: 40px;
  }
}
.businessFlowArea .flowBox ul li .textBox p.ttlBox span.ttl {
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.6;
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  margin-left: 20px;
}
@media (max-width: 480px) {
  .businessFlowArea .flowBox ul li .textBox p.ttlBox span.ttl {
    font-size: 1.6rem;
    margin-left: 10px;
  }
}
.businessFlowArea .flowBox ul li .textBox p.text {
  margin-top: 30px;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.75;
}
@media (max-width: 480px) {
  .businessFlowArea .flowBox ul li .textBox p.text {
    margin-top: 15px;
  }
}
.businessFlowArea .flowBox ul li .imgBox {
  width: 52.08%;
  margin-left: 4.17%;
}
@media (max-width: 480px) {
  .businessFlowArea .flowBox ul li .imgBox {
    width: 100%;
    margin-left: 0;
    margin-top: 20px;
  }
}
.businessFlowArea .flowBox ul li .imgBox figure {
  width: 100%;
  overflow: hidden;
  display: block;
  position: relative;
}
.businessFlowArea .flowBox ul li .imgBox figure::before {
  content: "";
  padding-top: 59.2%;
  display: block;
}
.businessFlowArea .flowBox ul li .imgBox figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
.businessFlowArea .flowBox ul li + li {
  margin-top: 40px;
}

.businessFAQArea {
  background: #F2F2EE;
  padding: min(140px,19.444vw) 0 min(240px,33.334vw);
}
.businessFAQArea .faqBox {
  max-width: 1000px;
  margin: min(50px,6.944vw) auto 0;
  width: 90%;
}
.businessFAQArea .faqBox .faqItem {
  background: #fff;
  padding: 18px 35px;
}
.businessFAQArea .faqBox .faqItem .question {
  position: relative;
}
.businessFAQArea .faqBox .faqItem .question p {
  font-size: 1.8rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.5555555556;
  display: block;
  padding-left: 1.5em;
  padding-bottom: 10px;
  position: relative;
  border-bottom: 1px solid rgba(128, 127, 129, 0.3);
}
.businessFAQArea .faqBox .faqItem .question p::before {
  content: "Q.";
  position: absolute;
  left: 0;
  top: 0;
  font-size: 1.8rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.5555555556;
}
.businessFAQArea .faqBox .faqItem .answer {
  padding-top: 10px;
}
.businessFAQArea .faqBox .faqItem .answer p {
  position: relative;
  padding-left: 1.75em;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.75;
  display: block;
}
.businessFAQArea .faqBox .faqItem .answer p::before {
  content: "A.";
  position: absolute;
  left: 0.25em;
  top: 0;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.75;
}
.businessFAQArea .faqBox .faqItem + .faqItem {
  margin-top: 24px;
}
@media (max-width: 480px) {
  .businessFAQArea .faqBox {
    width: 100%;
  }
  .businessFAQArea .faqBox .faqItem {
    padding: 18px 20px;
  }
  .businessFAQArea .faqBox .faqItem .question p {
    font-size: 1.6rem;
    line-height: 1.5;
  }
  .businessFAQArea .faqBox .faqItem .question p::before {
    font-size: 1.6rem;
    line-height: 1.5;
  }
  .businessFAQArea .faqBox .faqItem .answer p {
    font-size: 1.4rem;
    line-height: 1.5;
  }
  .businessFAQArea .faqBox .faqItem .answer p::before {
    font-size: 1.4rem;
    line-height: 1.5;
  }
}

/*==========================================================
	shop
==========================================================*/
/*===================================================
	shop Header
====================================================*/
#shopHeaderWrap {
  margin-top: min(175px,24.306vw);
}
@media (max-width: 1200px) {
  #shopHeaderWrap {
    margin-top: 120px;
  }
}
#shopHeaderWrap .shopHeaderInner {
  position: relative;
}
#shopHeaderWrap .shopHeaderInner .textBox {
  position: relative;
  width: 30.65%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
#shopHeaderWrap .shopHeaderInner .textBox .ttlBox h2 span {
  display: block;
}
#shopHeaderWrap .shopHeaderInner .textBox .ttlBox h2 span:nth-of-type(1) {
  font-size: 2.4rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.5384615385;
}
#shopHeaderWrap .shopHeaderInner .textBox .ttlBox h2 span:nth-of-type(2) {
  font-size: 3.6rem;
  font-weight: 600;
  letter-spacing: 0.06em;
}
@media (max-width: 480px) {
  #shopHeaderWrap .shopHeaderInner .textBox .ttlBox h2 span:nth-of-type(1) {
    font-size: 1.8rem;
  }
  #shopHeaderWrap .shopHeaderInner .textBox .ttlBox h2 span:nth-of-type(2) {
    font-size: 2rem;
  }
}
#shopHeaderWrap .shopHeaderInner .textBox .ttlBox p {
  margin-top: min(65px,9.028vw);
  font-size: clamp(14px, 3.888vw, 28px);
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.9285714286;
  color: #595859;
}
@media (max-width: 1024px) {
  #shopHeaderWrap .shopHeaderInner .textBox .ttlBox p {
    font-size: 1.8rem;
    margin-top: 15px;
  }
}
@media (max-width: 480px) {
  #shopHeaderWrap .shopHeaderInner .textBox .ttlBox p {
    font-size: 1.6rem;
    line-height: 1.5;
  }
}
@media (max-width: 768px) {
  #shopHeaderWrap .shopHeaderInner .textBox {
    background: #F2F2EE;
    position: absolute;
    top: 75%;
    left: 0;
    transform: translateY(-50%);
    width: fit-content;
    height: auto;
    z-index: 1;
    padding: 1em;
  }
}
@media (max-width: 480px) {
  #shopHeaderWrap .shopHeaderInner .textBox {
    top: 85%;
  }
}
#shopHeaderWrap .shopHeaderInner .imgBox {
  width: 77.42%;
  margin-right: calc((100vw - 1240px) / 2 * -1);
}
@media (max-width: 1200px) {
  #shopHeaderWrap .shopHeaderInner .imgBox {
    margin-right: 0;
    width: 69.35%;
  }
}
@media (max-width: 768px) {
  #shopHeaderWrap .shopHeaderInner .imgBox {
    width: 80%;
    margin: 0 0 0 auto;
  }
}
@media (max-width: 480px) {
  #shopHeaderWrap .shopHeaderInner .imgBox {
    width: 100%;
  }
}
#shopHeaderWrap .shopHeaderInner .imgBox picture {
  width: 100%;
  overflow: hidden;
  display: block;
  position: relative;
}
#shopHeaderWrap .shopHeaderInner .imgBox picture::before {
  content: "";
  padding-top: 56.25%;
  display: block;
}
@media (max-width: 480px) {
  #shopHeaderWrap .shopHeaderInner .imgBox picture::before {
    padding-top: 70%;
  }
}
#shopHeaderWrap .shopHeaderInner .imgBox picture source, #shopHeaderWrap .shopHeaderInner .imgBox picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}

#shopSliderArea {
  margin-top: min(125px,17.362vw);
  background: #fff;
  padding: min(55px,7.638vw) 0 min(100px,13.888vw);
}
#shopSliderArea p {
  text-align: center;
  font-size: 2.2rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 1.8181818182;
  margin-bottom: 10px;
}
@media (max-width: 480px) {
  #shopSliderArea {
    padding: 30px 0 60px;
  }
  #shopSliderArea p {
    font-size: 1.8rem;
    margin-bottom: 10px;
    line-height: 1.6;
  }
}

#shopDetailWrap {
  margin-top: min(135px,18.75vw);
  overflow-x: clip;
}
#shopDetailWrap .stickyWrap .stickyBox {
  width: 30.65%;
  margin-bottom: min(240px, 33.334vw);
}
@media (max-width: 768px) {
  #shopDetailWrap .stickyWrap .stickyBox {
    margin-bottom: 80px;
    width: 100%;
  }
}
#shopDetailWrap .stickyWrap .scrollBox {
  margin-bottom: min(240px,33.334vw);
}
@media (max-width: 768px) {
  #shopDetailWrap .stickyWrap .scrollBox {
    margin-bottom: 120px;
  }
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea + .contentsArea {
  margin-top: min(115px,15.972vw);
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea h2 {
  width: 100%;
  border-bottom: 1px solid #707070;
  margin-bottom: min(50px,6.944vw);
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea h2 span.en {
  font-family: "Lato", serif;
  font-size: 2rem;
  letter-spacing: 0.1em;
  font-weight: 700;
  color: #595859;
  margin-right: 1em;
}
@media (max-width: 480px) {
  #shopDetailWrap .stickyWrap .scrollBox .contentsArea h2 span.en {
    font-size: 1.7rem;
  }
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea h2 span.jp {
  font-size: 1.8rem;
  font-weight: 600;
  color: #595859;
  letter-spacing: 0.06em;
}
@media (max-width: 480px) {
  #shopDetailWrap .stickyWrap .scrollBox .contentsArea h2 span.jp {
    font-size: 1.4rem;
  }
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .pointBox {
  margin-top: 70px;
}
@media (max-width: 768px) {
  #shopDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .pointBox {
    margin-top: 40px;
  }
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .pointBox h3 {
  position: relative;
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .pointBox h3::before {
  content: "";
  display: block;
  width: 100%;
  height: 1%;
  background: #53565A;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  z-index: -1;
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .pointBox h3 span {
  font-size: 2.6rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.5384615385;
  padding-right: 1em;
  background: #F2F2EE;
}
@media (max-width: 768px) {
  #shopDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .pointBox h3 span {
    font-size: 2.2rem;
  }
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .pointBox ul {
  column-gap: 6.98%;
  row-gap: 40px;
}
@media (max-width: 480px) {
  #shopDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .pointBox ul {
    margin-top: 30px;
  }
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .pointBox ul li {
  width: 46.51%;
}
@media (max-width: 480px) {
  #shopDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .pointBox ul li {
    width: 100%;
  }
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .pointBox ul li p.ttl {
  font-size: 2.2rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 3.0454545455;
  padding-left: 1em;
}
@media (max-width: 1024px) {
  #shopDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .pointBox ul li p.ttl {
    font-size: 1.8rem;
    line-height: 1.7;
    padding-left: 0;
    margin-bottom: 0.5em;
  }
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .pointBox ul li .itemBody .itemImg {
  width: 100%;
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .pointBox ul li .itemBody .itemImg figure {
  width: 100%;
  overflow: hidden;
  display: block;
  position: relative;
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .pointBox ul li .itemBody .itemImg figure::before {
  content: "";
  padding-top: 50%;
  display: block;
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .pointBox ul li .itemBody .itemImg figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .pointBox ul li .itemBody .itemTxt {
  background: #F2F2EE;
  mix-blend-mode: multiply;
  min-height: 136px;
  padding: 18px 20px;
}
@media (max-width: 1024px) {
  #shopDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .pointBox ul li .itemBody .itemTxt {
    font-size: 1.4rem;
  }
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .lineUpBox ul {
  column-gap: 6.39%;
  row-gap: 40px;
}
@media (max-width: 480px) {
  #shopDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .lineUpBox ul {
    column-gap: 8%;
    row-gap: 30px;
  }
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .lineUpBox ul li {
  width: 29.07%;
}
@media (max-width: 480px) {
  #shopDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .lineUpBox ul li {
    width: 46%;
  }
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .lineUpBox ul li figure {
  width: 100%;
  overflow: hidden;
  display: block;
  position: relative;
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .lineUpBox ul li figure::before {
  content: "";
  padding-top: 100%;
  display: block;
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .lineUpBox ul li figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .lineUpBox ul li p {
  font-size: 1.8rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.3333333333;
  margin-top: 8px;
}
@media (max-width: 1024px) {
  #shopDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .lineUpBox ul li p {
    font-size: 1.6rem;
  }
}
@media (max-width: 480px) {
  #shopDetailWrap .stickyWrap .scrollBox .contentsArea .descBox .lineUpBox ul li p {
    font-size: 1.4rem;
  }
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .descBox + .descBox {
  margin-top: 50px;
}
@media (max-width: 768px) {
  #shopDetailWrap .stickyWrap .scrollBox .contentsArea .descBox + .descBox {
    margin-top: 30px;
  }
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .descBox01 .textBox {
  width: 63.37%;
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .descBox01 .textBox h3 {
  font-size: 2.4rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.5;
  margin-bottom: 20px;
}
@media (max-width: 768px) {
  #shopDetailWrap .stickyWrap .scrollBox .contentsArea .descBox01 .textBox h3 {
    font-size: 2.2rem;
    margin-bottom: 15px;
  }
}
@media (max-width: 480px) {
  #shopDetailWrap .stickyWrap .scrollBox .contentsArea .descBox01 .textBox h3 {
    font-size: 1.8rem;
  }
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .descBox01 .textBox p {
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 2;
}
@media (max-width: 768px) {
  #shopDetailWrap .stickyWrap .scrollBox .contentsArea .descBox01 .textBox p {
    line-height: 1.8;
  }
}
@media (max-width: 1024px) {
  #shopDetailWrap .stickyWrap .scrollBox .contentsArea .descBox01 .textBox {
    width: 100%;
  }
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .descBox01 .imgBox {
  margin-left: 5.23%;
  width: 31.4%;
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .descBox01 .imgBox figure {
  width: 100%;
  overflow: hidden;
  display: block;
  position: relative;
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .descBox01 .imgBox figure::before {
  content: "";
  padding-top: 100%;
  display: block;
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .descBox01 .imgBox figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
@media (max-width: 1024px) {
  #shopDetailWrap .stickyWrap .scrollBox .contentsArea .descBox01 .imgBox {
    width: 80%;
    margin-top: 30px;
    margin-left: 0;
  }
}
@media (max-width: 768px) {
  #shopDetailWrap .stickyWrap .scrollBox .contentsArea .descBox01 .imgBox {
    width: 100%;
  }
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .descBox02 .textBox {
  width: 54.19%;
  margin-left: 2.91%;
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .descBox02 .textBox p {
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 2;
}
@media (max-width: 768px) {
  #shopDetailWrap .stickyWrap .scrollBox .contentsArea .descBox02 .textBox p {
    line-height: 1.8;
  }
}
@media (max-width: 1024px) {
  #shopDetailWrap .stickyWrap .scrollBox .contentsArea .descBox02 .textBox {
    width: 100%;
    margin-left: 0;
    margin-top: 30px;
  }
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .descBox02 .imgBox {
  width: 42.9%;
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .descBox02 .imgBox figure {
  width: 100%;
  overflow: hidden;
  display: block;
  position: relative;
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .descBox02 .imgBox figure::before {
  content: "";
  padding-top: 68.02%;
  display: block;
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .descBox02 .imgBox figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
@media (max-width: 1024px) {
  #shopDetailWrap .stickyWrap .scrollBox .contentsArea .descBox02 .imgBox {
    width: 100%;
    margin-top: 0;
  }
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .descBox03 .textBox {
  width: 64.77%;
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .descBox03 .textBox p.name {
  font-size: 2rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.2;
}
@media (max-width: 480px) {
  #shopDetailWrap .stickyWrap .scrollBox .contentsArea .descBox03 .textBox p.name {
    font-size: 1.6rem;
  }
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .descBox03 .textBox p.address {
  margin: 1em 0;
  line-height: 1.625;
  letter-spacing: 0.05em;
  font-weight: 500;
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .descBox03 .textBox dl {
  display: flex;
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .descBox03 .textBox dl dt, #shopDetailWrap .stickyWrap .scrollBox .contentsArea .descBox03 .textBox dl dd {
  line-height: 1.625;
  letter-spacing: 0.05em;
  font-weight: 500;
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .descBox03 .imgBox {
  width: 33.14%;
  margin-left: 2.09%;
}
@media (max-width: 480px) {
  #shopDetailWrap .stickyWrap .scrollBox .contentsArea .descBox03 {
    flex-direction: column-reverse;
  }
  #shopDetailWrap .stickyWrap .scrollBox .contentsArea .descBox03 .textBox {
    width: 100%;
    margin-top: 30px;
  }
  #shopDetailWrap .stickyWrap .scrollBox .contentsArea .descBox03 .imgBox {
    width: 100%;
    margin-left: 0;
  }
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .noteBox {
  margin-top: 30px;
  border: 1px solid #53565A;
  padding: 20px 30px;
  width: 100%;
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .noteBox p.ttl {
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 2.375;
  text-align: center;
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .noteBox p.text {
  font-weight: 500;
  font-size: 1.4rem;
  letter-spacing: 0.05em;
  line-height: 1.7142857143;
}
@media (max-width: 480px) {
  #shopDetailWrap .stickyWrap .scrollBox .contentsArea .noteBox p.text {
    font-size: 1.2rem;
  }
}
@media (max-width: 480px) {
  #shopDetailWrap .stickyWrap .scrollBox .contentsArea .noteBox {
    margin-top: 30px;
    padding: 15px 20px;
  }
  #shopDetailWrap .stickyWrap .scrollBox .contentsArea .noteBox p.ttl {
    line-height: 1.7;
  }
  #shopDetailWrap .stickyWrap .scrollBox .contentsArea .noteBox p.text {
    font-size: 1.2rem;
    margin-top: 10px;
  }
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .contactArea {
  margin-top: 40px;
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .contactArea .textArea {
  text-align: center;
  background: #fff;
  padding: 18px 0;
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .contactArea .textArea p.ttl {
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 2.2rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.3636363636;
  display: block;
}
@media (max-width: 480px) {
  #shopDetailWrap .stickyWrap .scrollBox .contentsArea .contactArea .textArea p.ttl {
    font-size: 1.8rem;
  }
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .contactArea .textArea p.text {
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 2;
  display: block;
}
@media (max-width: 480px) {
  #shopDetailWrap .stickyWrap .scrollBox .contentsArea .contactArea .textArea p.text {
    line-height: 1.5;
    margin-top: 5px;
  }
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .contactArea .btnBox {
  background: #53565A;
  text-align: center;
  padding: min(35px,4.862vw) 0;
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .contactArea .btnBox .commonBtn a {
  position: relative;
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .contactArea .btnBox .commonBtn a .arrow {
  position: absolute;
  left: 100%;
}
@media (max-width: 820px) {
  #shopDetailWrap .stickyWrap .scrollBox .contentsArea .contactArea .btnBox a .arrow {
    display: none;
  }
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .contactBox {
  margin-top: 32px;
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .contactBox p.ttl {
  background: #53565A;
  color: #fff;
  padding: 8px 0;
  width: 100%;
  text-align: center;
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .contactBox .textBox {
  background: #fff;
  padding: 18px 0;
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .contactBox .textBox p {
  text-align: center;
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .contactBox .textBox p.tel a {
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 2.8rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.1428571429;
}
@media (max-width: 480px) {
  #shopDetailWrap .stickyWrap .scrollBox .contentsArea .contactBox .textBox p.tel a {
    font-size: 2.2rem;
    line-height: 1.5;
  }
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .contactBox .textBox p.time {
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  letter-spacing: 0.056em;
  line-height: 2;
  margin-top: 8px;
}
@media (max-width: 480px) {
  #shopDetailWrap .stickyWrap .scrollBox .contentsArea .contactBox .textBox p.time {
    line-height: 1.5;
    margin-top: 5px;
  }
}
@media (max-width: 480px) {
  #shopDetailWrap .stickyWrap .scrollBox .contentsArea .contactBox .textBox p.tel a {
    font-size: 2.2rem;
    line-height: 1.7;
  }
  #shopDetailWrap .stickyWrap .scrollBox .contentsArea .contactBox .textBox p.time {
    line-height: 1.4;
  }
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .mapWrap {
  margin-top: min(50px,6.944vw);
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .mapWrap .mapBox {
  position: relative;
  padding-bottom: 46.98%;
  height: 0;
  overflow: hidden;
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .mapWrap .mapBox iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .mapWrap .mapBtn {
  border: 1px solid #53565A;
  border-radius: 19px;
  max-width: 200px;
  margin: 20px 0 0 auto;
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .mapWrap .mapBtn a {
  width: 100%;
  height: 37px;
  line-height: 37px;
  text-align: center;
  justify-content: center;
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .mapWrap .mapBtn a span.txt {
  font-size: 1.3rem;
  font-weight: 600;
  letter-spacing: 0.06em;
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .mapWrap .mapBtn a span.arrow {
  margin-left: 30px;
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .mapWrap .mapBtn a span.arrow svg {
  width: 26px;
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea ul.serviceList li {
  counter-increment: mycounter;
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea ul.serviceList li h3 {
  padding-left: 2em;
  position: relative;
}
@media (max-width: 480px) {
  #shopDetailWrap .stickyWrap .scrollBox .contentsArea ul.serviceList li h3 {
    padding-left: 1.6em;
  }
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea ul.serviceList li h3::before {
  position: absolute;
  top: 0.25em;
  left: 0;
  display: block;
  content: counter(mycounter, decimal-leading-zero) ".";
  font-size: 2.4rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1;
}
@media (max-width: 768px) {
  #shopDetailWrap .stickyWrap .scrollBox .contentsArea ul.serviceList li h3::before {
    font-size: 2.2rem;
  }
}
@media (max-width: 480px) {
  #shopDetailWrap .stickyWrap .scrollBox .contentsArea ul.serviceList li h3::before {
    font-size: 1.8rem;
  }
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea ul.serviceList li .commonBtn {
  margin-top: 20px;
  text-align: right;
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea ul.serviceList li + li {
  margin-top: min(70px,9.722vw);
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .sliderBox {
  margin-right: calc((100vw - 1240px) / 2 * -1);
}
@media (max-width: 1200px) {
  #shopDetailWrap .stickyWrap .scrollBox .contentsArea .sliderBox {
    margin-right: 0;
  }
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .sliderBox.staffSlider .swiper-staff .swiper-slide-staff {
  display: block;
  width: 100%;
  height: auto;
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .sliderBox.staffSlider .swiper-staff .swiper-slide-staff figure {
  width: 100%;
  overflow: hidden;
  display: block;
  position: relative;
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .sliderBox.staffSlider .swiper-staff .swiper-slide-staff figure::before {
  content: "";
  padding-top: 120%;
  display: block;
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .sliderBox.staffSlider .swiper-staff .swiper-slide-staff figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .sliderBox.staffSlider .swiper-staff .swiper-slide-staff p.job {
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  margin-top: 15px;
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .sliderBox.staffSlider .swiper-staff .swiper-slide-staff p.name {
  font-size: 2rem;
  font-weight: 600;
  letter-spacing: 0.06em;
}
@media (max-width: 480px) {
  #shopDetailWrap .stickyWrap .scrollBox .contentsArea .sliderBox.staffSlider .swiper-staff .swiper-slide-staff p.name {
    font-size: 1.6rem;
  }
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .sliderBox.staffSlider .swiper-staff .swiper-slide-staff p.text {
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 2;
}
@media (max-width: 480px) {
  #shopDetailWrap .stickyWrap .scrollBox .contentsArea .sliderBox.staffSlider .swiper-staff .swiper-slide-staff p.text {
    line-height: 1.5;
  }
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .sliderBox.contentsSlider .swiper-contents .swiper-slide-contents a {
  display: block;
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .sliderBox.contentsSlider .swiper-contents .swiper-slide-contents a figure {
  width: 100%;
  margin-bottom: min(18px,2.5vw);
  overflow: hidden;
  display: block;
  position: relative;
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .sliderBox.contentsSlider .swiper-contents .swiper-slide-contents a figure::before {
  content: "";
  padding-top: 100%;
  display: block;
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .sliderBox.contentsSlider .swiper-contents .swiper-slide-contents a figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
@media (max-width: 768px) {
  #shopDetailWrap .stickyWrap .scrollBox .contentsArea .sliderBox.contentsSlider .swiper-contents .swiper-slide-contents a figure {
    margin-bottom: 15px;
  }
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .sliderBox.contentsSlider .swiper-contents .swiper-slide-contents a span {
  border: 1px solid #53565A;
  border-radius: 12px;
  font-size: 1.3rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  padding: 0 1em;
  display: inline-block;
  margin-bottom: 12px;
  line-height: 24px;
  height: 24px;
  text-align: center;
}
@media (max-width: 768px) {
  #shopDetailWrap .stickyWrap .scrollBox .contentsArea .sliderBox.contentsSlider .swiper-contents .swiper-slide-contents a span {
    margin-bottom: 8px;
  }
}
@media (max-width: 480px) {
  #shopDetailWrap .stickyWrap .scrollBox .contentsArea .sliderBox.contentsSlider .swiper-contents .swiper-slide-contents a span {
    font-size: 0.9rem;
    padding: 0 0.5em;
  }
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .sliderBox.contentsSlider .swiper-contents .swiper-slide-contents a p {
  font-size: clamp(14px, 2.5vw, 18px);
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1.6666666667;
}
@media (max-width: 768px) {
  #shopDetailWrap .stickyWrap .scrollBox .contentsArea .sliderBox.contentsSlider .swiper-contents .swiper-slide-contents a p {
    font-size: 1.6rem;
    line-height: 1.625;
  }
}
@media (max-width: 480px) {
  #shopDetailWrap .stickyWrap .scrollBox .contentsArea .sliderBox.contentsSlider .swiper-contents .swiper-slide-contents a p {
    font-size: 1.4rem;
  }
}
#shopDetailWrap .stickyWrap .scrollBox .contentsArea .sliderBox.contentsSlider .swiper-contents .swiper-slide-contents:hover a figure img {
  transform: scale(1.05);
}
@media (max-width: 480px) {
  #shopDetailWrap .stickyWrap .scrollBox .contentsArea .sliderBox.contentsSlider .swiper-contents .swiper-slide-contents:hover a figure img {
    transform: none;
  }
}

/*==========================================================
	staff
==========================================================*/
#staffWrap {
  margin-top: min(140px,19.444vw);
  padding-bottom: min(240px,33.334vw);
}
#staffWrap ul.staffCate {
  max-width: 100%;
  gap: 1.05%;
}
#staffWrap ul.staffCate li {
  width: 32.6%;
  text-align: center;
  background: #807F81;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
}
#staffWrap ul.staffCate li span {
  display: block;
  font-size: 1.8rem;
  font-weight: 600;
  color: #fff;
  padding: 22px 0;
}
#staffWrap ul.staffCate li.select {
  background: #53565A;
}
#staffWrap ul.staffCate li:hover {
  background: #53565A;
}
@media (max-width: 1024px) {
  #staffWrap ul.staffCate li span {
    font-size: 1.6rem;
  }
}
@media (max-width: 480px) {
  #staffWrap ul.staffCate li span {
    font-size: 1.4rem;
    padding: 16px 0;
  }
}
#staffWrap .staffDetailArea {
  background: #fff;
}
#staffWrap .staffDetailArea .staffDetailBox {
  padding: min(80px,11.112vw) 0;
}
#staffWrap .staffDetailArea .staffDetailBox .ttlBox {
  text-align: center;
}
#staffWrap .staffDetailArea .staffDetailBox .ttlBox p.ttl {
  font-size: 2.8rem;
  font-weight: 600;
  letter-spacing: 0.06em;
}
#staffWrap .staffDetailArea .staffDetailBox .ttlBox p.text {
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 2;
  max-width: 620px;
  margin: 32px auto 0;
  width: 90%;
}
@media (max-width: 1024px) {
  #staffWrap .staffDetailArea .staffDetailBox .ttlBox p.ttl {
    font-size: 2.2rem;
  }
  #staffWrap .staffDetailArea .staffDetailBox .ttlBox p.text {
    margin-top: 20px;
  }
}
@media (max-width: 480px) {
  #staffWrap .staffDetailArea .staffDetailBox .ttlBox p.ttl {
    font-size: 2rem;
  }
}
#staffWrap .staffDetailArea .staffDetailBox ul {
  gap: 5.88%;
  row-gap: min(70px,9.722vw);
  margin: min(70px,9.722vw) auto 0;
  max-width: 1020px;
  width: 82.26%;
}
#staffWrap .staffDetailArea .staffDetailBox ul li {
  width: 29.41%;
}
#staffWrap .staffDetailArea .staffDetailBox ul li figure {
  width: 100%;
  overflow: hidden;
  display: block;
  position: relative;
}
#staffWrap .staffDetailArea .staffDetailBox ul li figure::before {
  content: "";
  padding-top: 120%;
  display: block;
}
#staffWrap .staffDetailArea .staffDetailBox ul li figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
#staffWrap .staffDetailArea .staffDetailBox ul li p.job {
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  margin-top: 10px;
}
#staffWrap .staffDetailArea .staffDetailBox ul li p.name {
  font-size: 2rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  margin-bottom: 5px;
}
#staffWrap .staffDetailArea .staffDetailBox ul li p.text {
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.5714285714;
}
#staffWrap .staffDetailArea .staffDetailBox ul li .faqItem {
  background: #F2F2EE;
  padding: 12px 10px;
  margin-top: 10px;
}
#staffWrap .staffDetailArea .staffDetailBox ul li .faqItem .question {
  position: relative;
}
#staffWrap .staffDetailArea .staffDetailBox ul li .faqItem .question p {
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.7142857143;
  display: block;
  padding-left: 1.5em;
  position: relative;
}
#staffWrap .staffDetailArea .staffDetailBox ul li .faqItem .question p::before {
  content: "Q:";
  position: absolute;
  left: 0;
  top: 0;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.7142857143;
}
#staffWrap .staffDetailArea .staffDetailBox ul li .faqItem .answer p {
  position: relative;
  padding-left: 1.5em;
  font-weight: 500;
  letter-spacing: 0.05em;
  font-size: 1.4rem;
  line-height: 1.7142857143;
  display: block;
}
#staffWrap .staffDetailArea .staffDetailBox ul li .faqItem .answer p::before {
  content: "A:";
  position: absolute;
  left: 0;
  top: 0;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.7142857143;
}
#staffWrap .staffDetailArea .staffDetailBox ul li .faqItem + .faqItem {
  margin-top: 24px;
}
@media (max-width: 820px) {
  #staffWrap .staffDetailArea .staffDetailBox ul {
    width: 90%;
  }
}
@media (max-width: 480px) {
  #staffWrap .staffDetailArea .staffDetailBox ul {
    gap: 5%;
    width: 90%;
    margin: 50px auto 0;
    row-gap: 30px;
  }
  #staffWrap .staffDetailArea .staffDetailBox ul li {
    width: 47.5%;
  }
  #staffWrap .staffDetailArea .staffDetailBox ul li p.name {
    font-size: 1.6rem;
  }
  #staffWrap .staffDetailArea .staffDetailBox ul li p.text {
    font-size: 1.3rem;
    line-height: 1.8;
  }
}
#staffWrap .commonNavArea {
  margin-top: min(240px,33.334vw);
  max-width: 100%;
}

/*==========================================================
	sdgs
==========================================================*/
#sdgsWrap {
  margin-top: min(140px,19.444vw);
  padding-bottom: min(240px,33.334vw);
}
#sdgsWrap .sdgsDetail .sdgsTop {
  max-width: 800px;
  margin: 0 auto;
}
#sdgsWrap .sdgsDetail .sdgsTop .ttl {
  font-size: 2.4rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  padding-bottom: 10px;
  border-bottom: 1px solid #707070;
  margin-bottom: 32px;
  text-align: center;
}
#sdgsWrap .sdgsDetail .sdgsTop .textBox p {
  line-height: 2;
  letter-spacing: 0.05em;
  font-weight: 500;
}
#sdgsWrap .sdgsDetail .sdgsTop .textBox p + p {
  margin-top: 2em;
}
#sdgsWrap .sdgsDetail .sdgsTop .sdgsLogoBox {
  background: #fff;
  padding-bottom: 40px;
  margin-top: 50px;
}
#sdgsWrap .sdgsDetail .sdgsTop .sdgsLogoBox figure {
  width: 100%;
  overflow: hidden;
  display: block;
  position: relative;
}
#sdgsWrap .sdgsDetail .sdgsTop .sdgsLogoBox figure::before {
  content: "";
  padding-top: 64%;
  display: block;
}
#sdgsWrap .sdgsDetail .sdgsTop .sdgsLogoBox figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
@media (max-width: 768px) {
  #sdgsWrap .sdgsDetail .sdgsTop .ttl {
    font-size: 2rem;
  }
  #sdgsWrap .sdgsDetail .sdgsTop .textBox p {
    line-height: 1.8;
  }
  #sdgsWrap .sdgsDetail .sdgsTop .textBox p + p {
    margin-top: 1em;
  }
  #sdgsWrap .sdgsDetail .sdgsTop .sdgsLogoBox {
    margin-top: 30px;
  }
}
@media (max-width: 480px) {
  #sdgsWrap .sdgsDetail .sdgsTop .ttl {
    font-size: 1.8rem;
    margin-bottom: 20px;
  }
  #sdgsWrap .sdgsDetail .sdgsTop .sdgsLogoBox {
    padding-bottom: 30px;
  }
}
#sdgsWrap .sdgsDetail .imgBox {
  max-width: 1100px;
  margin: min(110px,15.278vw) auto 0;
  display: flex;
}
#sdgsWrap .sdgsDetail .imgBox figure {
  width: 50%;
  overflow: hidden;
  display: block;
  position: relative;
}
#sdgsWrap .sdgsDetail .imgBox figure::before {
  content: "";
  padding-top: 60%;
  display: block;
}
#sdgsWrap .sdgsDetail .imgBox figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
@media (max-width: 480px) {
  #sdgsWrap .sdgsDetail .imgBox {
    margin-top: 50px;
    flex-direction: column;
  }
  #sdgsWrap .sdgsDetail .imgBox figure {
    width: 100%;
  }
}
#sdgsWrap .sdgsDetail ul.sdgsList {
  margin: min(50px,6.944vw) auto 0;
  max-width: 1100px;
  width: 100%;
}
#sdgsWrap .sdgsDetail ul.sdgsList li {
  display: flex;
  gap: 11.05%;
  padding: min(50px,6.944vw) 2.27%;
}
#sdgsWrap .sdgsDetail ul.sdgsList li:not(:last-child) {
  border-bottom: 1px solid rgba(83, 86, 90, 0.3);
}
#sdgsWrap .sdgsDetail ul.sdgsList li .textBox {
  width: 57.14%;
}
#sdgsWrap .sdgsDetail ul.sdgsList li .textBox p.ttl {
  font-size: 2.6rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.7692307692;
  margin-bottom: 20px;
}
#sdgsWrap .sdgsDetail ul.sdgsList li .textBox p.text {
  line-height: 2;
  letter-spacing: 0.05em;
  font-weight: 500;
}
#sdgsWrap .sdgsDetail ul.sdgsList li .iconBox {
  width: 31.43%;
  display: flex;
  flex-wrap: wrap;
  gap: 4.55%;
  row-gap: 15px;
  height: fit-content;
}
#sdgsWrap .sdgsDetail ul.sdgsList li .iconBox .icon {
  width: 30.3%;
}
#sdgsWrap .sdgsDetail ul.sdgsList li .iconBox .icon figure {
  width: 100%;
  overflow: hidden;
  display: block;
  position: relative;
}
#sdgsWrap .sdgsDetail ul.sdgsList li .iconBox .icon figure::before {
  content: "";
  padding-top: 100%;
  display: block;
}
#sdgsWrap .sdgsDetail ul.sdgsList li .iconBox .icon figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
@media (max-width: 768px) {
  #sdgsWrap .sdgsDetail ul.sdgsList li {
    flex-direction: column;
  }
  #sdgsWrap .sdgsDetail ul.sdgsList li .imgBox {
    max-width: 350px;
    width: 80%;
  }
  #sdgsWrap .sdgsDetail ul.sdgsList li .textBox {
    width: 100%;
  }
  #sdgsWrap .sdgsDetail ul.sdgsList li .textBox p.ttl {
    margin-bottom: 10px;
  }
  #sdgsWrap .sdgsDetail ul.sdgsList li .iconBox {
    margin-top: 30px;
    width: 60%;
  }
  #sdgsWrap .sdgsDetail ul.sdgsList li .iconBox .icon {
    max-width: 120px;
    width: 100%;
  }
}
@media (max-width: 480px) {
  #sdgsWrap .sdgsDetail ul.sdgsList li .textBox p.ttl {
    font-size: 2rem;
    line-height: 1.5;
  }
  #sdgsWrap .sdgsDetail ul.sdgsList li .textBox p.text {
    line-height: 1.8;
  }
  #sdgsWrap .sdgsDetail ul.sdgsList li .iconBox {
    width: 100%;
    gap: 15px;
    margin-top: 15px;
  }
  #sdgsWrap .sdgsDetail ul.sdgsList li .iconBox .icon {
    max-width: 80px;
    width: 100%;
  }
}
#sdgsWrap .commonNavArea {
  margin-top: min(240px,33.334vw);
  max-width: 100%;
}

/*==========================================================
	recruit
==========================================================*/
.recruitMessageArea {
  padding-top: min(260px,36.112vw);
  padding-bottom: min(140px,19.444vw);
  background: #fff;
  position: relative;
}
.recruitMessageArea::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 150px;
  background: #fff;
  bottom: 100%;
  left: 0;
  display: block;
  z-index: -1;
}
.recruitMessageArea .descBox {
  max-width: 750px;
  margin: 0 auto;
  width: 90%;
  position: relative;
}
.recruitMessageArea .descBox p.ttl {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  left: -80px;
  top: -130px;
}
.recruitMessageArea .descBox .textBox p {
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 2.8125;
}
.recruitMessageArea .descBox .textBox p + p {
  margin-top: 2em;
}
.recruitMessageArea .descBox p.name {
  margin-top: min(80px,11.112vw);
  text-align: right;
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.06em;
}
.recruitMessageArea .descBox p.name span {
  font-weight: 500;
  letter-spacing: 0.06em;
  font-size: 1.3rem;
  margin-right: 12px;
}
@media (max-width: 480px) {
  .recruitMessageArea .descBox p.ttl {
    left: 0;
    width: 150px;
    top: -60px;
    left: -30px;
  }
  .recruitMessageArea .descBox .textBox p {
    line-height: 2;
  }
  .recruitMessageArea .descBox p.name {
    font-size: 1.8rem;
  }
  .recruitMessageArea .descBox p.name span {
    font-size: 1.2rem;
  }
}

#recruitInterviewArea {
  padding: min(140px,19.444vw) 0;
  position: relative;
}
#recruitInterviewArea::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background: #F2F2EE;
  bottom: 0;
  left: 0;
  height: 40%;
  mix-blend-mode: multiply;
  z-index: 1;
}
#recruitInterviewArea p.text {
  margin-top: min(40px,5.556vw);
}
#recruitInterviewArea .descBox {
  margin-top: 60px;
  position: relative;
  z-index: 2;
}
@media (max-width: 820px) {
  #recruitInterviewArea .descBox {
    flex-direction: column-reverse;
  }
}
#recruitInterviewArea .descBox .textBox {
  background: #fff;
  border-radius: 30px;
  padding: min(90px,12.5vw);
  max-width: 900px;
  width: 72.58%;
  margin-right: -22.58%;
}
@media (max-width: 820px) {
  #recruitInterviewArea .descBox .textBox {
    width: 100%;
    margin-right: 0;
    margin-top: -60px;
    padding: 70px 40px 40px;
  }
}
#recruitInterviewArea .descBox .textBox p.comment {
  font-size: 2.6rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 2.0769230769;
  margin-bottom: min(40px,5.556vw);
  position: relative;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 8px;
}
@media (max-width: 820px) {
  #recruitInterviewArea .descBox .textBox p.comment {
    font-size: 2.2rem;
  }
}
#recruitInterviewArea .descBox .textBox .nameBox {
  margin-top: min(50px,6.944vw);
  display: flex;
  align-items: center;
}
#recruitInterviewArea .descBox .textBox .nameBox span {
  display: inline-block;
}
#recruitInterviewArea .descBox .textBox .nameBox span.job {
  border-radius: 12px;
  background: #F2F2EE;
  padding: 2px 12px;
  font-size: 1.3rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  margin-right: 20px;
}
#recruitInterviewArea .descBox .textBox .nameBox span.name {
  font-size: 2.4rem;
  font-weight: 600;
  letter-spacing: 0.06em;
}
@media (max-width: 820px) {
  #recruitInterviewArea .descBox .textBox .nameBox span.name {
    font-size: 2rem;
  }
}
#recruitInterviewArea .descBox .textBox .commonBtn {
  margin-top: min(60px,8.334vw);
  text-align: right;
  width: 60%;
}
#recruitInterviewArea .descBox .textBox .commonBtn a span.arrow {
  margin-left: 50px;
}
@media (max-width: 1200px) {
  #recruitInterviewArea .descBox .textBox .commonBtn {
    width: 100%;
  }
}
#recruitInterviewArea .descBox .imgBox {
  width: 50%;
  margin-top: max(-115px,-15.972vw);
}
#recruitInterviewArea .descBox .imgBox figure img {
  border-radius: 30px;
}
@media (max-width: 820px) {
  #recruitInterviewArea .descBox .imgBox {
    width: 60%;
    margin-left: auto;
    margin-right: 0;
    position: relative;
    z-index: 2;
    margin-top: 0;
  }
}
@media (max-width: 480px) {
  #recruitInterviewArea .descBox {
    margin-top: 40px;
  }
  #recruitInterviewArea .descBox .textBox {
    margin-top: -40px;
    padding: 70px 25px 25px;
  }
  #recruitInterviewArea .descBox .textBox p.comment {
    font-size: 2rem;
  }
  #recruitInterviewArea .descBox .textBox .nameBox span.name {
    font-size: 1.8rem;
  }
  #recruitInterviewArea .descBox .imgBox {
    width: 100%;
  }
}

#recruitVoiceArea {
  padding: min(120px,16.666vw) 0 min(160px,22.222vw);
}
#recruitVoiceArea .voiceList {
  gap: 2.82%;
  margin-top: min(80px,11.112vw);
}
#recruitVoiceArea .voiceList li {
  width: 31.45%;
}
#recruitVoiceArea .voiceList li .voiceBox {
  position: relative;
  border-radius: 20px;
  background: #fff;
}
#recruitVoiceArea .voiceList li .voiceBox span.number {
  position: absolute;
  top: -40px;
  left: 25px;
  font-family: "Lato", serif;
  font-weight: 700;
  font-style: italic;
  font-size: clamp(25.6px, 7.1104vw, 64px);
  letter-spacing: 0;
  -webkit-text-stroke-width: 1px;
  -webkit-text-fill-color: #F2F2EE;
  -webkit-text-stroke-color: #53565A;
  transition: -webkit-text-fill-color 0.7s ease;
}
#recruitVoiceArea .voiceList li .voiceBox figure img {
  border-radius: 20px;
}
#recruitVoiceArea .voiceList li .voiceBox .textBox {
  padding: 25px;
}
#recruitVoiceArea .voiceList li .voiceBox .textBox p.nameBox span.name {
  font-size: 2rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  margin-right: 20px;
}
#recruitVoiceArea .voiceList li .voiceBox .textBox p.nameBox span.job {
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0.06em;
}
#recruitVoiceArea .voiceList li .voiceBox .textBox p.text {
  margin-top: 16px;
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-weight: 600;
}
@media (max-width: 480px) {
  #recruitVoiceArea .voiceList li {
    width: 100%;
  }
  #recruitVoiceArea .voiceList li .voiceBox span.number {
    font-size: 5rem;
    top: -30px;
    left: 15px;
  }
  #recruitVoiceArea .voiceList li .textBox p.nameBox {
    font-size: 1.8rem;
  }
  #recruitVoiceArea .voiceList li + li {
    margin-top: 60px;
  }
}
#recruitVoiceArea .interviewBtn {
  max-width: 1100px;
  margin: min(130px,18.056vw) auto 0;
  width: 90%;
}
#recruitVoiceArea .interviewBtn a {
  display: block;
  width: 100%;
}
#recruitVoiceArea .interviewBtn a .descBox {
  display: flex;
}
@media (max-width: 1024px) {
  #recruitVoiceArea .interviewBtn a .descBox {
    flex-direction: column-reverse;
  }
}
#recruitVoiceArea .interviewBtn a .descBox .textBox {
  width: 57.18%;
  background: #707070;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
#recruitVoiceArea .interviewBtn a .descBox .textBox figure {
  mix-blend-mode: multiply;
}
#recruitVoiceArea .interviewBtn a .descBox .textBox p {
  color: #fff;
  font-size: 2rem;
  font-weight: 600;
  margin-top: 10px;
  letter-spacing: 0.06em;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
#recruitVoiceArea .interviewBtn a .descBox .textBox p::before {
  content: "";
  position: absolute;
  width: 33px;
  display: block;
  height: 33px;
  background: url(../img/recruit/icon_em.svg) no-repeat center center/contain;
  right: -40px;
  top: -20px;
}
@media (max-width: 1024px) {
  #recruitVoiceArea .interviewBtn a .descBox .textBox {
    width: 100%;
    padding: 20px 0;
  }
}
@media (max-width: 480px) {
  #recruitVoiceArea .interviewBtn {
    width: 100%;
    margin-top: 60px;
  }
  #recruitVoiceArea .interviewBtn a .descBox .textBox figure {
    width: 130px;
  }
  #recruitVoiceArea .interviewBtn a .descBox .textBox p {
    font-size: 1.8rem;
  }
}

#recruitJobArea {
  padding: min(140px,19.444vw) 0;
  background: #fff;
}
#recruitJobArea h2 {
  margin-bottom: 20px;
}
#recruitJobArea p {
  margin-bottom: 30px;
}
@media (max-width: 480px) {
  #recruitJobArea p {
    margin-bottom: 15px;
  }
}
#recruitJobArea .descBoxWrap {
  padding: min(70px,9.722vw) min(40px,5.556vw);
  border: 1px solid #807F81;
}
#recruitJobArea .descBoxWrap .descBox ul {
  gap: 1.73%;
  display: flex;
  flex-wrap: wrap;
  row-gap: 20px;
  margin-top: 24px;
}
@media (max-width: 480px) {
  #recruitJobArea .descBoxWrap .descBox ul {
    margin-top: 15px;
  }
}
#recruitJobArea .descBoxWrap .descBox ul li {
  width: 49.13%;
}
@media (max-width: 1200px) {
  #recruitJobArea .descBoxWrap .descBox ul li {
    width: 100%;
  }
}
#recruitJobArea .descBoxWrap .descBox ul li a {
  background: #F2F2EE;
  padding: 30px;
  width: 100%;
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}
#recruitJobArea .descBoxWrap .descBox ul li a .txt {
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.7058823529;
}
#recruitJobArea .descBoxWrap .descBox ul li a .arrow {
  position: relative;
  overflow: hidden;
  display: inline-block;
  margin-left: auto;
  z-index: 2;
  padding-left: 15px;
  width: 70px;
}
@media (max-width: 768px) {
  #recruitJobArea .descBoxWrap .descBox ul li a .arrow {
    margin-left: 54px;
  }
}
@media (max-width: 480px) {
  #recruitJobArea .descBoxWrap .descBox ul li a .arrow {
    display: none;
  }
}
#recruitJobArea .descBoxWrap .descBox ul li a .arrow::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #F2F2EE;
  transform: translateX(-100%);
  transition: transform 1.5s ease;
}
#recruitJobArea .descBoxWrap .descBox ul li a .arrow svg {
  display: block;
}
@media (max-width: 768px) {
  #recruitJobArea .descBoxWrap .descBox ul li a .arrow svg {
    width: 100px;
  }
}
#recruitJobArea .descBoxWrap .descBox ul li a .arrow svg path {
  fill: #53565a;
}
@media (max-width: 480px) {
  #recruitJobArea .descBoxWrap .descBox ul li a {
    padding: 15px;
  }
  #recruitJobArea .descBoxWrap .descBox ul li a span.txt {
    font-size: 1.4rem;
  }
}
#recruitJobArea .descBoxWrap .descBox ul li a:hover .arrow::before {
  transform: translateX(0);
  animation: swipeRight 1.5s ease forwards;
}
@media (max-width: 768px) {
  #recruitJobArea .descBoxWrap .descBox ul li a:hover .arrow::before {
    animation: none;
  }
}
#recruitJobArea .descBoxWrap .descBox + .descBox {
  margin-top: min(70px,9.722vw);
}

@keyframes swipeRight {
  0% {
    transform: translateX(-100%);
  }
  49% {
    transform: translateX(0);
  }
  50% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(100%);
  }
}
.recruitInterviewArea {
  padding: min(120px,16.666vw) 0 min(140px,19.444vw);
}
.recruitInterviewArea .descBox01 {
  display: flex;
  justify-content: center;
}
.recruitInterviewArea .descBox01 .imgBox {
  background: #fff;
  width: 30.16%;
  height: fit-content;
  border-radius: 20px;
  padding: 24px;
  margin-top: min(170px,23.612vw);
  margin-right: max(-40px,-5.556vw);
}
.recruitInterviewArea .descBox01 .imgBox figure {
  width: 100%;
  overflow: hidden;
  display: block;
  position: relative;
  z-index: 2;
}
.recruitInterviewArea .descBox01 .imgBox figure::before {
  content: "";
  padding-top: 148.15%;
  display: block;
}
.recruitInterviewArea .descBox01 .imgBox figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  border-radius: 12px;
}
.recruitInterviewArea .descBox01 .textBox {
  width: 62.9%;
  padding: min(70px,9.722vw);
  background: #fff;
  border-radius: 20px;
}
.recruitInterviewArea .descBox01 .textBox dl dt {
  letter-spacing: 0.05em;
  font-weight: 600;
  line-height: 1.875;
  position: relative;
  padding-left: 1.25em;
}
.recruitInterviewArea .descBox01 .textBox dl dt::before {
  content: "";
  position: absolute;
  width: 16px;
  height: 1px;
  background: #53565A;
  left: 0;
  top: 0.75em;
  display: block;
}
.recruitInterviewArea .descBox01 .textBox dl dd {
  margin-top: 25px;
  letter-spacing: 0.05em;
  font-weight: 500;
  line-height: 1.75;
}
.recruitInterviewArea .descBox01 .textBox dl + dl {
  margin-top: 35px;
}
@media (max-width: 820px) {
  .recruitInterviewArea .descBox01 {
    flex-direction: column-reverse;
  }
  .recruitInterviewArea .descBox01 .textBox {
    width: 100%;
  }
  .recruitInterviewArea .descBox01 .imgBox {
    margin-top: -40px;
    width: 50%;
    margin: -40px 0 0 auto;
  }
}
@media (max-width: 480px) {
  .recruitInterviewArea .descBox01 .imgBox {
    width: 70%;
    margin-top: -25px;
  }
  .recruitInterviewArea .descBox01 .textBox {
    padding: 35px 20px 40px;
  }
  .recruitInterviewArea .descBox01 .textBox dl dt::before {
    width: 10px;
    top: 0.85em;
  }
  .recruitInterviewArea .descBox01 .textBox dl dd {
    margin-top: 10px;
  }
  .recruitInterviewArea .descBox01 .textBox dl + dl {
    margin-top: 20px;
  }
}
.recruitInterviewArea .descBox02 {
  margin-top: min(120px,16.666vw);
}
.recruitInterviewArea .descBox02 .detailBox {
  width: 57.1%;
}
.recruitInterviewArea .descBox02 .detailBox .textBox {
  padding: min(70px,9.722vw) min(70px,9.722vw) min(170px,23.612vw);
  background: #fff;
  border-radius: 20px;
}
.recruitInterviewArea .descBox02 .detailBox .textBox dl dt {
  letter-spacing: 0.05em;
  font-weight: 600;
  line-height: 1.875;
  position: relative;
  padding-left: 1.25em;
}
.recruitInterviewArea .descBox02 .detailBox .textBox dl dt::before {
  content: "";
  position: absolute;
  width: 16px;
  height: 1px;
  background: #53565A;
  left: 0;
  top: 0.75em;
  display: block;
}
.recruitInterviewArea .descBox02 .detailBox .textBox dl dd {
  margin-top: 25px;
  letter-spacing: 0.05em;
  font-weight: 500;
  line-height: 1.75;
}
.recruitInterviewArea .descBox02 .detailBox .textBox dl + dl {
  margin-top: 35px;
}
.recruitInterviewArea .descBox02 .detailBox .imgBox {
  background: #fff;
  width: 52.82%;
  height: fit-content;
  border-radius: 20px;
  padding: 24px;
  margin-left: auto;
  margin-top: max(-125px,-17.362vw);
  margin-right: min(88px,12.222vw);
}
.recruitInterviewArea .descBox02 .detailBox .imgBox figure {
  width: 100%;
  overflow: hidden;
  display: block;
  position: relative;
  z-index: 2;
}
.recruitInterviewArea .descBox02 .detailBox .imgBox figure::before {
  content: "";
  padding-top: 148.15%;
  display: block;
}
.recruitInterviewArea .descBox02 .detailBox .imgBox figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  border-radius: 12px;
}
.recruitInterviewArea .descBox02 .scheduleBox {
  margin-top: min(120px,16.666vw);
  width: 35.48%;
  margin-left: 7.26%;
}
.recruitInterviewArea .descBox02 .scheduleBox .timeline {
  position: relative;
}
.recruitInterviewArea .descBox02 .scheduleBox .timeline::before {
  content: "";
  position: absolute;
  top: 6px;
  bottom: 0;
  left: 70px;
  width: 1px;
  background-color: #53565A;
}
.recruitInterviewArea .descBox02 .scheduleBox .timeline .timeItem {
  display: flex;
  margin-bottom: 30px;
  position: relative;
}
.recruitInterviewArea .descBox02 .scheduleBox .timeline .timeItem:last-child {
  margin-bottom: 0;
  z-index: 3;
}
.recruitInterviewArea .descBox02 .scheduleBox .timeline .timeItem:last-child::before {
  content: "";
  position: absolute;
  top: 10px;
  left: 0;
  width: 100%;
  height: 100%;
  background: #F2F2EE;
  z-index: 1;
}
.recruitInterviewArea .descBox02 .scheduleBox .timeline .timeItem:last-child .timeCol, .recruitInterviewArea .descBox02 .scheduleBox .timeline .timeItem:last-child .contentCol {
  z-index: 2;
  position: relative;
}
.recruitInterviewArea .descBox02 .scheduleBox .timeline .timeItem .timeCol {
  width: 50px;
  font-family: "Lato", serif;
  font-weight: 500;
  font-size: 1.5rem;
  flex-shrink: 0;
  padding-top: 2px;
  text-align: right;
}
.recruitInterviewArea .descBox02 .scheduleBox .timeline .timeItem .dotCol {
  width: 17px;
  position: relative;
  flex-shrink: 0;
}
.recruitInterviewArea .descBox02 .scheduleBox .timeline .timeItem .dotCol .dot {
  display: block;
  width: 12px;
  height: 12px;
  background-color: #807F81;
  border-radius: 50%;
  position: absolute;
  top: 6px;
  left: 15px;
  z-index: 2;
}
.recruitInterviewArea .descBox02 .scheduleBox .timeline .timeItem .contentCol {
  flex-grow: 1;
  padding-left: 27px;
}
.recruitInterviewArea .descBox02 .scheduleBox .timeline .timeItem .contentCol .title {
  font-weight: 700;
  font-size: 1.5rem;
  letter-spacing: 0;
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  position: relative;
  margin-bottom: 10px;
}
.recruitInterviewArea .descBox02 .scheduleBox .timeline .timeItem .contentCol .title span {
  font-size: 1.4rem;
  font-weight: 500;
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  position: relative;
}
.recruitInterviewArea .descBox02 .scheduleBox .timeline .timeItem .contentCol .taskList li {
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: 0;
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  position: relative;
}
.recruitInterviewArea .descBox02 .scheduleBox .timeline .timeItem .contentCol .middleBox {
  margin-top: 2em;
}
.recruitInterviewArea .descBox02 .scheduleBox .timeline .timeItem .contentCol .middleBox .taskList li {
  font-size: 1.5rem;
  letter-spacing: 0;
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  position: relative;
}
.recruitInterviewArea .descBox02 .scheduleBox .timeline .timeItem .contentCol .middleBox.my4 {
  margin-top: 4em;
  margin-bottom: 4em;
}
@media (max-width: 820px) {
  .recruitInterviewArea .descBox02 {
    flex-direction: column;
  }
  .recruitInterviewArea .descBox02 .detailBox {
    width: 100%;
  }
  .recruitInterviewArea .descBox02 .detailBox .imgBox {
    margin-right: auto;
    margin-left: 0;
    width: 40%;
  }
  .recruitInterviewArea .descBox02 .scheduleBox {
    margin-left: auto;
    width: 55%;
    margin-top: -160px;
  }
}
@media (max-width: 480px) {
  .recruitInterviewArea .descBox02 .detailBox {
    width: 100%;
  }
  .recruitInterviewArea .descBox02 .detailBox .imgBox {
    width: 70%;
  }
  .recruitInterviewArea .descBox02 .detailBox .textBox {
    padding: 35px 20px 70px;
  }
  .recruitInterviewArea .descBox02 .detailBox .textBox dl dt::before {
    width: 10px;
    top: 0.85em;
  }
  .recruitInterviewArea .descBox02 .detailBox .textBox dl dd {
    margin-top: 10px;
  }
  .recruitInterviewArea .descBox02 .detailBox .textBox dl + dl {
    margin-top: 20px;
  }
  .recruitInterviewArea .descBox02 .scheduleBox {
    width: 100%;
    margin-top: 40px;
  }
}
.recruitInterviewArea .descBox03 {
  margin-top: min(120px,16.666vw);
}
.recruitInterviewArea .descBox04 {
  margin-top: min(120px,16.666vw);
}
.recruitInterviewArea .descBox04 .imgBox {
  background: #fff;
  width: 35.65%;
  height: fit-content;
  border-radius: 20px;
  padding: 24px;
  margin-top: min(156px,21.666vw);
  margin-left: max(-48px,-6.666vw);
}
.recruitInterviewArea .descBox04 .imgBox figure {
  width: 100%;
  overflow: hidden;
  display: block;
  position: relative;
  z-index: 2;
}
.recruitInterviewArea .descBox04 .imgBox figure::before {
  content: "";
  padding-top: 106.15%;
  display: block;
}
.recruitInterviewArea .descBox04 .imgBox figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  border-radius: 12px;
}
.recruitInterviewArea .descBox04 .textBox {
  width: 57.1%;
  padding: min(70px,9.722vw);
  background: #fff;
  border-radius: 20px;
  height: fit-content;
}
.recruitInterviewArea .descBox04 .textBox dl dt {
  letter-spacing: 0.05em;
  font-weight: 600;
  line-height: 1.875;
  position: relative;
  padding-left: 1.25em;
}
.recruitInterviewArea .descBox04 .textBox dl dt::before {
  content: "";
  position: absolute;
  width: 16px;
  height: 1px;
  background: #53565A;
  left: 0;
  top: 0.75em;
  display: block;
}
.recruitInterviewArea .descBox04 .textBox dl dd {
  margin-top: 25px;
  letter-spacing: 0.05em;
  font-weight: 500;
  line-height: 1.75;
}
.recruitInterviewArea .descBox04 .textBox dl + dl {
  margin-top: 35px;
}
@media (max-width: 820px) {
  .recruitInterviewArea .descBox04 {
    flex-direction: column;
  }
  .recruitInterviewArea .descBox04 .textBox {
    width: 100%;
  }
  .recruitInterviewArea .descBox04 .imgBox {
    width: 50%;
    margin: -40px auto 0 0;
  }
}
@media (max-width: 480px) {
  .recruitInterviewArea .descBox04 .textBox {
    padding: 35px 20px;
    width: 100%;
  }
  .recruitInterviewArea .descBox04 .textBox dl dt::before {
    width: 10px;
    top: 0.85em;
  }
  .recruitInterviewArea .descBox04 .textBox dl dd {
    margin-top: 10px;
  }
  .recruitInterviewArea .descBox04 .textBox dl + dl {
    margin-top: 20px;
  }
  .recruitInterviewArea .descBox04 .imgBox {
    width: 100%;
    margin-top: -30px;
  }
}
.recruitInterviewArea .noteBox {
  border: 1px solid rgba(128, 127, 129, 0.3);
  padding: 20px 10px;
  margin-top: max(-70px,-9.722vw);
  width: fit-content;
}
.recruitInterviewArea .noteBox dl {
  display: flex;
}
.recruitInterviewArea .noteBox dl dt, .recruitInterviewArea .noteBox dl dd {
  font-size: 1.3rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.5384615385;
}
.recruitInterviewArea .noteBox dl + dl {
  margin-top: 10px;
}
.recruitInterviewArea .noteBox p {
  font-size: 1.3rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.5384615385;
}
.recruitInterviewArea .noteBox p + p {
  margin-top: 10px;
}
@media (max-width: 1200px) {
  .recruitInterviewArea .noteBox {
    margin-top: 40px;
  }
}
@media (max-width: 480px) {
  .recruitInterviewArea .noteBox dl {
    display: block;
  }
}

.recruitJobDetailArea {
  background: #fff;
  padding: min(150px,20.834vw) 0;
}
.recruitJobDetailArea .detailInner {
  max-width: 1100px;
  margin: 0 auto;
  width: 90%;
}
.recruitJobDetailArea .detailInner h2 {
  font-size: 2.4rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.3;
  margin-bottom: min(40px,5.556vw);
  position: relative;
}
.recruitJobDetailArea .detailInner h2::before {
  content: "";
  position: absolute;
  width: 7px;
  height: 100%;
  background: #53565A;
  top: 0;
  left: -20px;
  display: block;
}
@media (max-width: 820px) {
  .recruitJobDetailArea .detailInner h2 {
    font-size: 2rem;
  }
}
@media (max-width: 480px) {
  .recruitJobDetailArea .detailInner h2 {
    font-size: 1.8rem;
    padding-left: 1em;
    line-height: 1.5;
  }
  .recruitJobDetailArea .detailInner h2::before {
    left: 0;
  }
}
.recruitJobDetailArea .detailInner .recruitJobImgBox {
  display: flex;
  gap: 15px;
  margin-top: 10px;
  margin-bottom: 30px;
}
@media (max-width: 480px) {
  .recruitJobDetailArea .detailInner .recruitJobImgBox {
    flex-direction: column;
  }
}
.recruitJobDetailArea .detailInner .recruitJobImgBox figure {
  width: 30%;
  overflow: hidden;
  display: block;
  position: relative;
}
@media (max-width: 480px) {
  .recruitJobDetailArea .detailInner .recruitJobImgBox figure {
    width: 100%;
  }
}
.recruitJobDetailArea .detailInner .recruitJobImgBox figure::before {
  content: "";
  padding-top: 53.33%;
  display: block;
}
.recruitJobDetailArea .detailInner .recruitJobImgBox figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
.recruitJobDetailArea .detailInner .descBox dl {
  padding: 24px 0;
  display: flex;
  border-bottom: 1px solid rgba(128, 127, 129, 0.3);
}
.recruitJobDetailArea .detailInner .descBox dl dt {
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 2.375;
  width: 24.55%;
}
.recruitJobDetailArea .detailInner .descBox dl dd {
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.75;
  width: 75.45%;
}
@media (max-width: 480px) {
  .recruitJobDetailArea .detailInner .descBox dl {
    display: block;
    padding: 16px 0;
    width: 100%;
  }
  .recruitJobDetailArea .detailInner .descBox dl dt {
    width: 100%;
  }
  .recruitJobDetailArea .detailInner .descBox dl dd {
    width: 100%;
    line-height: 1.5;
    margin-top: 6px;
  }
}
.recruitJobDetailArea .detailInner .flowBox {
  margin-top: min(100px,13.888vw);
  background: #F2F2EE;
  padding: min(80px,11.112vw) 5.64%;
}
.recruitJobDetailArea .detailInner .flowBox h3 {
  font-size: 2.4rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.3;
  text-align: center;
}
@media (max-width: 820px) {
  .recruitJobDetailArea .detailInner .flowBox h3 {
    font-size: 2rem;
  }
}
@media (max-width: 480px) {
  .recruitJobDetailArea .detailInner .flowBox h3 {
    font-size: 1.8rem;
  }
}
.recruitJobDetailArea .detailInner .flowBox p.read {
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 2;
  margin-top: 20px;
  text-align: center;
}
@media (max-width: 480px) {
  .recruitJobDetailArea .detailInner .flowBox p.read {
    line-height: 1.7;
  }
}
.recruitJobDetailArea .detailInner .flowBox ul {
  margin-top: min(90px,12.5vw);
  gap: 3.9%;
  display: flex;
  flex-wrap: wrap;
}
@media (max-width: 820px) {
  .recruitJobDetailArea .detailInner .flowBox ul {
    gap: 9%;
    row-gap: 80px;
  }
}
@media (max-width: 480px) {
  .recruitJobDetailArea .detailInner .flowBox ul {
    margin-top: 60px;
  }
}
.recruitJobDetailArea .detailInner .flowBox ul li {
  width: 22.07%;
  position: relative;
  background: rgba(255, 255, 255, 0.7);
  display: flex;
  align-items: center;
  justify-content: center;
  height: 195px;
}
@media (max-width: 820px) {
  .recruitJobDetailArea .detailInner .flowBox ul li {
    width: 44.13%;
  }
}
@media (max-width: 480px) {
  .recruitJobDetailArea .detailInner .flowBox ul li {
    width: 100%;
    height: 140px;
  }
}
.recruitJobDetailArea .detailInner .flowBox ul li:not(:last-child)::before {
  content: "";
  position: absolute;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  background: #53565A;
  height: 12.9903810568px;
  width: 12px;
  top: 50%;
  right: -12%;
  transform: translateY(-50%);
}
@media (max-width: 480px) {
  .recruitJobDetailArea .detailInner .flowBox ul li:not(:last-child)::before {
    right: auto;
    left: 50%;
    transform: translateX(-50%);
    top: auto;
    bottom: -30px;
    width: 15px;
    height: 10.3923048454px;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
  }
}
.recruitJobDetailArea .detailInner .flowBox ul li span.step {
  background: #807F81;
  width: min(70px,9.722vw);
  height: min(70px,9.722vw);
  border-radius: 9999px;
  top: -35px;
  display: inline-block;
  position: absolute;
  color: #fff;
  font-family: "Lato", serif;
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.2;
  text-align: center;
}
@media (max-width: 820px) {
  .recruitJobDetailArea .detailInner .flowBox ul li span.step {
    width: 60px;
    height: 60px;
    font-size: 1.8rem;
  }
}
.recruitJobDetailArea .detailInner .flowBox ul li span.step span {
  font-size: 1.2rem;
  font-family: "Lato", serif;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.5;
  color: #fff;
}
@media (max-width: 820px) {
  .recruitJobDetailArea .detailInner .flowBox ul li span.step span {
    margin-top: 10px;
  }
}
.recruitJobDetailArea .detailInner .flowBox ul li p {
  text-align: center;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.5;
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
}
@media (max-width: 480px) {
  .recruitJobDetailArea .detailInner .flowBox ul li p {
    font-size: 1.6rem;
  }
}
.recruitJobDetailArea .detailInner .btnBox {
  background: #53565A;
  text-align: center;
  padding: min(20px,2.778vw) 0;
  margin: min(100px,13.888vw) auto 0;
  max-width: 600px;
  width: 90%;
}
.recruitJobDetailArea .detailInner .btnBox .commonBtn a {
  position: relative;
}
.recruitJobDetailArea .detailInner .btnBox .commonBtn a .arrow {
  position: absolute;
  left: 50%;
}
@media (max-width: 820px) {
  .recruitJobDetailArea .detailInner .btnBox .commonBtn a .arrow svg {
    width: 60px;
  }
}

/*==========================================================
	lab
==========================================================*/
#pageHeaderWrap .imgBox {
  width: 100%;
  position: relative;
}
@media (max-width: 1024px) {
  #pageHeaderWrap .imgBox picture.fullPic::before {
    padding-top: 60%;
  }
}
@media (max-width: 480px) {
  #pageHeaderWrap .imgBox picture.fullPic::before {
    padding-top: 75%;
  }
}
#pageHeaderWrap .imgBox .topicLabBox {
  background: rgba(255, 255, 255, 0.5);
  position: absolute;
  bottom: 0;
  left: 0;
  width: fit-content;
  max-width: 580px;
  padding: 30px min(90px,12.5vw);
}
#pageHeaderWrap .imgBox .topicLabBox .topicHead {
  display: flex;
  align-items: center;
  gap: 22px;
}
#pageHeaderWrap .imgBox .topicLabBox .topicHead .date {
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1;
}
#pageHeaderWrap .imgBox .topicLabBox .topicHead span.cate {
  border: 1px solid #53565A;
  border-radius: 12px;
  font-size: 1.3rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  padding: 0 1em;
  display: inline-block;
  line-height: 24px;
  height: 24px;
  text-align: center;
}
#pageHeaderWrap .imgBox .topicLabBox .topicHead span.tag {
  color: #FF0000;
  font-family: "Lato", serif;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}
#pageHeaderWrap .imgBox .topicLabBox p.ttl {
  font-size: 2.2rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1.6363636364;
  margin-top: 18px;
}
#pageHeaderWrap .imgBox .topicLabBox .commonBtn {
  margin-top: 20px;
  text-align: right;
}
@media (max-width: 820px) {
  #pageHeaderWrap .imgBox .topicLabBox {
    padding: 20px 40px;
    max-width: none;
  }
  #pageHeaderWrap .imgBox .topicLabBox p.ttl {
    font-size: 1.8rem;
  }
}
@media (max-width: 480px) {
  #pageHeaderWrap .imgBox .topicLabBox {
    padding: 15px 20px;
    max-width: none;
  }
  #pageHeaderWrap .imgBox .topicLabBox p.ttl {
    font-size: 1.6rem;
    margin-top: 10px;
  }
  #pageHeaderWrap .imgBox .topicLabBox .commonBtn {
    margin-top: 10px;
  }
  #pageHeaderWrap .imgBox .topicLabBox .topicHead {
    gap: 16px;
  }
  #pageHeaderWrap .imgBox .topicLabBox .topicHead .date {
    font-size: 1.2rem;
  }
  #pageHeaderWrap .imgBox .topicLabBox .topicHead span.cate {
    font-size: 1rem;
  }
  #pageHeaderWrap .imgBox .topicLabBox .topicHead span.tag {
    font-size: 1.4rem;
  }
}

.labListWrap {
  background: #fff;
  position: relative;
  padding-bottom: min(240px,33.334vw);
}
.labListWrap::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 17.19vw;
  background: #fff;
  bottom: 100%;
  left: 0;
  display: block;
  z-index: -1;
}
@media (max-width: 480px) {
  .labListWrap::before {
    height: 150px;
  }
}
.labListWrap .labNavi {
  margin-top: min(90px,12.5vw);
}
.labListWrap .labNavi .categoryNavi {
  gap: 10px;
}
@media (max-width: 480px) {
  .labListWrap .labNavi .categoryNavi {
    display: block;
  }
}
.labListWrap .labNavi .categoryNavi p {
  font-size: 2.8rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  font-family: "Lato", serif;
}
@media (max-width: 1440px) {
  .labListWrap .labNavi .categoryNavi p {
    width: 190px;
    white-space: nowrap;
  }
}
@media (max-width: 480px) {
  .labListWrap .labNavi .categoryNavi p {
    width: 100%;
    margin-bottom: 20px;
    font-size: 2.2rem;
  }
}
.labListWrap .labNavi .categoryNavi ul {
  gap: 18px;
}
@media (max-width: 1440px) {
  .labListWrap .labNavi .categoryNavi ul {
    width: calc(100% - 190px);
  }
}
@media (max-width: 480px) {
  .labListWrap .labNavi .categoryNavi ul {
    width: 100%;
    gap: 16px;
    justify-content: center;
  }
}
.labListWrap .labNavi .categoryNavi ul li {
  width: 220px;
}
@media (max-width: 480px) {
  .labListWrap .labNavi .categoryNavi ul li {
    width: 270px;
  }
}
.labListWrap .labNavi .categoryNavi ul li a {
  display: block;
  width: 100%;
  height: 36px;
  line-height: 36px;
  border-radius: 18px;
  padding: 0 5px;
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-align: center;
  border: 1px solid #53565A;
  transition: all 0.3s;
}
.labListWrap .labNavi .categoryNavi ul li a:hover {
  background-color: #F2F2EE;
}
.labListWrap .labNavi .categoryNavi ul li.current a {
  background-color: #F2F2EE;
  mix-blend-mode: multiply;
}
.labListWrap .labListArea {
  margin-top: min(100px,13.888vw);
}
@media (max-width: 480px) {
  .labListWrap .labListArea {
    margin-top: 65px;
  }
}
.labListWrap .labListArea .labList {
  gap: 2.82%;
  row-gap: min(100px,13.888vw);
}
.labListWrap .labListArea .labList li {
  width: 31.45%;
}
.labListWrap .labListArea .labList li a {
  display: block;
  width: 100%;
  height: auto;
}
.labListWrap .labListArea .labList li a figure {
  width: 100%;
  overflow: hidden;
  display: block;
  position: relative;
  margin-bottom: 18px;
}
.labListWrap .labListArea .labList li a figure::before {
  content: "";
  padding-top: 100%;
  display: block;
}
.labListWrap .labListArea .labList li a figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
.labListWrap .labListArea .labList li a span {
  border: 1px solid #53565A;
  border-radius: 12px;
  font-size: 1.3rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  padding: 0 0.75em;
  display: inline-block;
  margin-bottom: 12px;
  line-height: 24px;
  height: 24px;
  text-align: center;
}
@media (max-width: 768px) {
  .labListWrap .labListArea .labList li a span {
    margin-bottom: 8px;
  }
}
.labListWrap .labListArea .labList li a p.date {
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0.06em;
}
.labListWrap .labListArea .labList li a p.ttl {
  font-size: clamp(14px, 2.5vw, 18px);
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1.6666666667;
  margin-top: 5px;
}
@media (max-width: 768px) {
  .labListWrap .labListArea .labList li a p.ttl {
    font-size: 1.6rem;
    line-height: 1.625;
  }
}
.labListWrap .labListArea .labList li a:hover figure img {
  transform: scale(1.1);
}
.labListWrap .labListArea .labList li.labItem-pinned {
  position: relative;
}
.labListWrap .labListArea .labList li.labItem-pinned a {
  position: relative;
}
.labListWrap .labListArea .labList li.labItem-pinned a span.pickup {
  color: #fff;
  background: #53565A;
  width: 60px;
  height: 30px;
  line-height: 30px;
  text-align: center;
  font-family: "Lato", serif;
  font-size: 1.1rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  position: absolute;
  top: -30px;
  right: 0;
  border-radius: 0;
  padding: 0;
}
@media (max-width: 480px) {
  .labListWrap .labListArea .labList li.labItem-pinned a span.pickup {
    top: -25px;
    height: 25px;
    line-height: 25px;
    font-size: 1rem;
  }
}
@media (max-width: 480px) {
  .labListWrap .labListArea .labList {
    gap: 4%;
    row-gap: 50px;
  }
  .labListWrap .labListArea .labList li {
    width: 48%;
  }
  .labListWrap .labListArea .labList li a figure {
    margin-bottom: 10px;
  }
  .labListWrap .labListArea .labList li a span {
    font-size: 0.9rem;
  }
  .labListWrap .labListArea .labList li a p.date {
    font-size: 1.2rem;
  }
  .labListWrap .labListArea .labList li a p.ttl {
    font-size: 1.4rem;
  }
}
.labListWrap .labListArea .labBtn {
  margin: min(100px,13.888vw) auto 0;
  width: 100%;
  height: 60px;
  line-height: 60px;
  text-align: center;
  font-size: 1.8rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  background: #F2F2EE;
  outline: none;
  border: none;
  mix-blend-mode: multiply;
}
@media (max-width: 480px) {
  .labListWrap .labListArea .labBtn {
    margin-top: 60px;
    font-size: 1.6rem;
    height: 50px;
    line-height: 50px;
  }
}

/*==========================================================
	contact
==========================================================*/
/* お問い合わせページのスタイル */
.contactWrap {
  padding: 80px 0 160px;
  background: #F2F2EE;
}
.contactWrap .inner {
  max-width: 970px;
  width: 90%;
  margin: 0 auto;
}
.contactWrap .introBox {
  width: 90%;
  margin: 0 auto;
}
.contactWrap .introBox h2 {
  text-align: center;
  font-size: 1.8rem;
  line-height: 1.7777777778;
  font-weight: 600;
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .contactWrap .introBox h2 {
    margin-bottom: 20px;
    font-size: 1.6rem;
    line-height: 1.7;
  }
}
.contactWrap .introBox .noteBox {
  max-width: 650px;
  margin: 0 auto;
}
.contactWrap .introBox .noteBox p {
  font-size: 1.4rem;
  letter-spacing: 0.06em;
  font-weight: 500;
  line-height: 1.9285714286;
}
@media screen and (max-width: 767px) {
  .contactWrap .introBox .noteBox p {
    font-size: 1.2rem;
    line-height: 1.7;
  }
}
.contactWrap .introBox p.read {
  text-align: center;
  letter-spacing: 0.06em;
  font-weight: 500;
  line-height: 2;
  margin-top: 30px;
}
@media screen and (max-width: 767px) {
  .contactWrap .introBox p.read {
    margin-top: 20px;
    line-height: 1.7;
  }
}
.contactWrap .enBox {
  max-width: 900px;
  margin: 50px auto 0;
  width: 90%;
  border: 1px solid #53565A;
  padding: 30px;
}
@media screen and (max-width: 767px) {
  .contactWrap .enBox {
    padding: 20px;
    margin-top: 35px;
  }
}
.contactWrap .enBox .text p {
  letter-spacing: 0.05em;
  font-weight: 500;
  line-height: 1.875;
}
@media screen and (max-width: 767px) {
  .contactWrap .enBox .text p {
    line-height: 1.5;
  }
}
.contactWrap .enBox .text p a {
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
.contactWrap .enBox .text p a:hover {
  text-decoration: underline;
  opacity: 0.7;
}
.contactWrap .enBox .text + .text {
  margin-top: 1em;
}
.contactWrap .messageBox {
  margin: 70px auto 0;
  width: 90%;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .contactWrap .messageBox {
    margin-top: 50px;
  }
}
.contactWrap .messageBox h2 {
  font-size: 2.4rem;
  line-height: 2.7916666667;
  font-weight: 600;
  letter-spacing: 0.06em;
  margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
  .contactWrap .messageBox h2 {
    font-size: 1.8rem;
    line-height: 1.7;
  }
}
.contactWrap .messageBox p {
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .contactWrap .messageBox p {
    line-height: 1.7;
  }
}
.contactWrap .contactTitle {
  text-align: center;
  margin-bottom: 40px;
}
.contactWrap .contactTitle h2 {
  font-size: 28px;
  font-weight: 500;
  margin-bottom: 15px;
}
.contactWrap .contactTitle h2 .en {
  display: block;
  font-family: "Montserrat", sans-serif;
  font-size: 16px;
  margin-bottom: 5px;
  color: #9a8e69;
}
.contactWrap .contactTitle h2 .jp {
  display: block;
  font-family: "Zen Kaku Gothic New", sans-serif;
}
.contactWrap .contactTitle p {
  font-size: 15px;
  line-height: 1.8;
  color: #666;
}
.contactWrap .contactForm {
  margin-top: min(160px,22.222vw);
}
@media screen and (max-width: 767px) {
  .contactWrap .contactForm {
    margin-top: 60px;
  }
}
.contactWrap .contactForm p.form-note {
  margin: 40px auto 0;
  max-width: 710px;
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 2;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .contactWrap .contactForm p.form-note {
    margin-top: 10px;
  }
}

/* Fluent Forms カスタマイズ */
.fluentform {
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif !important;
  /* 2カラムレイアウト調整 */
  /* ラベル列の幅と配置 */
  /* 入力フィールド列の幅と配置 */
  /* ラベルスタイル */
  /* 入力フィールド共通スタイル */
  /* 必須マーク非表示（カスタムマークを使用するため） */
  /* ラベル非表示 */
  /* 郵便番号フィールド */
  /* ドロップダウンスタイル */
  /* テキストエリア */
  /* ラジオボタン */
  /* 送信ボタン */
  /* エラーメッセージ */
  /* 送信成功メッセージ */
}
.fluentform .ff-t-container {
  display: flex;
  margin-bottom: 20px;
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .fluentform .ff-t-container {
    flex-direction: column;
    margin-bottom: 0;
  }
}
.fluentform .ff-t-container:last-child {
  margin-bottom: 0;
}
.fluentform .frm-fluent-form .ff-t-container {
  gap: 3.3% !important;
}
@media screen and (max-width: 767px) {
  .fluentform .frm-fluent-form .ff-t-container {
    column-gap: 30px !important;
    row-gap: 0 !important;
    margin-bottom: 20px !important;
  }
}
.fluentform .ff-t-column-1 {
  width: 38.14%;
  min-width: 370px;
}
@media screen and (max-width: 767px) {
  .fluentform .ff-t-column-1 {
    width: 100%;
    padding-top: 0;
    margin-bottom: 5px;
    max-width: 370px;
    min-width: auto;
  }
}
.fluentform .ff-t-column-2 {
  flex: 1;
}
@media screen and (max-width: 767px) {
  .fluentform .ff-t-column-2 {
    width: 100%;
  }
}
.fluentform .ff-custom_html.label {
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.06em;
}
.fluentform .ff-custom_html.label p {
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 9px;
}
.fluentform .ff-custom_html.label p .required {
  display: inline-block;
  background-color: #9F0000;
  color: #fff;
  font-size: 1.2rem;
  padding: 1px 10px;
  border-radius: 12px;
  margin-left: auto;
  vertical-align: middle;
}
.fluentform .ff-custom_html.label .addressTtlBox {
  display: flex;
  align-items: flex-start;
}
.fluentform .ff-custom_html.label .addressTtlBox p {
  width: 75px;
}
.fluentform .ff-custom_html.label .addressTtlBox ul {
  width: calc(100% - 75px);
}
.fluentform .ff-custom_html.label .addressTtlBox ul li {
  padding: 0.75em 0;
  display: flex;
  align-items: center;
}
.fluentform .ff-custom_html.label .addressTtlBox ul li .required {
  display: inline-block;
  background-color: #9F0000;
  color: #fff;
  font-size: 1.2rem;
  padding: 1px 10px;
  border-radius: 12px;
  margin-left: auto;
  vertical-align: middle;
}
.fluentform .ff-custom_html.label .addressTtlBox ul li + li {
  margin-top: 25px;
}
@media screen and (max-width: 767px) {
  .fluentform .ff-custom_html.label .addressTtlBox ul li + li {
    margin-top: 0;
  }
}
.fluentform .ff-el-form-control {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid #807F81 !important;
  border-radius: 0 !important;
  font-size: 1.4rem;
  color: #53565A !important;
  background-color: #fff;
  transition: border-color 0.3s;
  height: auto;
  box-shadow: none;
}
.fluentform .ff-el-form-control:focus {
  border-color: #999;
  box-shadow: none;
  outline: none;
}
.fluentform .ff-el-is-required .ff-el-input--label:after {
  display: none !important;
}
.fluentform .ff-el-form-hide_label label {
  display: none;
}
.fluentform [data-name=ff_cn_id_5] {
  align-items: center !important;
}
.fluentform [data-name=ff_cn_id_5] .ff-t-column-1 {
  width: 38.14%;
  max-width: 370px;
}
.fluentform [data-name=ff_cn_id_5] .ff-t-column-2,
.fluentform [data-name=ff_cn_id_5] .ff-t-column-3 {
  max-width: 100px;
}
.fluentform [data-name=ff_cn_id_5] .ff-t-column-2 input,
.fluentform [data-name=ff_cn_id_5] .ff-t-column-3 input {
  text-align: center;
}
.fluentform [data-name=ff_cn_id_5] .ff-t-column-3 {
  position: relative;
}
.fluentform [data-name=ff_cn_id_5] .ff-t-column-3:before {
  content: "－";
  position: absolute;
  left: -24px;
  top: 38%;
  transform: translateY(-50%);
}
.fluentform [data-name=ff_cn_id_5] .ff-t-column-6 button {
  background-color: #666;
  color: #fff;
  border: none;
  padding: 8px 12px;
  border-radius: 4px;
  font-size: 12px;
  cursor: pointer;
  margin-left: 10px;
  transition: background-color 0.3s;
}
.fluentform [data-name=ff_cn_id_5] .ff-t-column-6 button:hover {
  background-color: #555;
}
@media screen and (max-width: 767px) {
  .fluentform [data-name=ff_cn_id_5] {
    display: flex;
    flex-direction: row;
    gap: 30px !important;
    row-gap: 0;
    flex-wrap: wrap;
  }
  .fluentform [data-name=ff_cn_id_5] .ff-t-column-1 {
    flex-basis: 100% !important;
    max-width: 100%;
    min-width: auto;
  }
  .fluentform [data-name=ff_cn_id_5] .ff-t-column-1 .ff-el-group p .required {
    margin-left: 20px;
  }
  .fluentform [data-name=ff_cn_id_5] .ff-t-column-2,
  .fluentform [data-name=ff_cn_id_5] .ff-t-column-3,
  .fluentform [data-name=ff_cn_id_5] .ff-t-column-4 {
    width: 100px !important;
    max-width: 100% !important;
  }
}
.fluentform [data-name=ff_cn_id_6] .ff-t-column-2 .ff-el-group {
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .fluentform [data-name=ff_cn_id_6] .ff-t-column-2 .ff-el-group {
    margin-bottom: 15px !important;
  }
}
.fluentform select.ff-el-form-control {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='6' viewBox='0 0 12 6'%3E%3Cpath fill='%23333' d='M0 0l6 6 6-6z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 15px center;
  padding-right: 40px;
}
.fluentform textarea.ff-el-form-control {
  min-height: 180px;
  resize: vertical;
}
.fluentform [data-name=ff_cn_id_12] .ff-t-column-2 .ff-el-group {
  margin: 25px 0;
}
.fluentform .ff-el-form-check {
  margin-right: 20px;
  display: inline-flex;
  align-items: center;
}
.fluentform .ff-el-form-check input[type=radio] {
  margin-right: 8px;
}
.fluentform .ff-el-form-check label {
  display: flex;
  align-items: center;
  margin-bottom: 0;
  font-size: 14px;
}
@media screen and (max-width: 767px) {
  .fluentform .ff-el-group {
    margin-bottom: 0 !important;
  }
}
.fluentform .ff_submit_btn_wrapper {
  text-align: center;
  margin-top: 70px;
}
@media screen and (max-width: 767px) {
  .fluentform .ff_submit_btn_wrapper {
    margin-top: 20px;
  }
}
.fluentform .ff-btn-submit {
  background-color: #53565A;
  color: #fff;
  border: none;
  padding: 20px 50px;
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  margin-top: min(70px,9.722vw);
  border-radius: 0 !important;
  cursor: pointer;
  transition: background-color 0.3s;
  position: relative;
  text-transform: none;
  font-weight: normal;
  max-width: 970px !important;
  margin: 0 auto;
  width: 90%;
}
@media screen and (max-width: 767px) {
  .fluentform .ff-btn-submit {
    margin-top: 30px;
  }
}
.fluentform .ff-btn-submit::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  background: url(../img/common/c-arrow_w.svg) no-repeat center center/contain;
  width: 140px;
  height: 9px;
  transform: translateY(-50%);
}
.fluentform .ff-errors-in-stack {
  padding: 15px;
  background-color: #fff5f5;
  border: 1px solid #f5c6cb;
  border-radius: 4px;
  color: #721c24;
  margin-bottom: 20px;
  font-size: 14px;
}
.fluentform .ff-message-success {
  padding: 15px;
  background-color: #f0f7ee;
  border: 1px solid #c3e6cb;
  border-radius: 4px;
  color: #155724;
  margin-bottom: 20px;
  font-size: 14px;
}

/* 住所関連の特別スタイル */
.fluentform [data-name=ff_cn_id_5] .ff-t-column-1 {
  padding-top: 0;
}
.fluentform [data-name=ff_cn_id_5] .ff-el-group + .ff-el-group {
  margin-top: 10px;
}

/* 郵便番号検索ボタンのスタイル */
.fluentform button.js-zipcode {
  display: inline-block;
  margin-left: 10px;
  background-color: #666;
  color: #fff;
  padding: 8px 12px;
  font-size: 12px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}

/* 送信確認画面 */
.fluentform .ff-step-container {
  background: #fff;
  padding: 30px;
  border-radius: 0;
}

.fluentform .ff-step-header {
  margin-bottom: 30px;
  text-align: center;
}

.fluentform .ff-step-body table {
  width: 100%;
  border-collapse: collapse;
}

.fluentform .ff-step-body th,
.fluentform .ff-step-body td {
  padding: 15px;
  border-bottom: 1px solid #eee;
  text-align: left;
}

.fluentform .ff-step-body th {
  width: 30%;
  font-weight: 500;
  color: #333;
  background-color: #f9f9f9;
}

.fluentform .ff-step-footer {
  margin-top: 30px;
  text-align: center;
}

.fluentform .ff-btn-prev {
  background-color: #ccc;
  color: #333;
  border: none;
  padding: 10px 30px;
  font-size: 15px;
  border-radius: 0;
  cursor: pointer;
  margin-right: 15px;
  transition: background-color 0.3s;
}
.fluentform .ff-btn-prev:hover {
  background-color: #bbb;
}

/* モバイル対応 */
@media screen and (max-width: 767px) {
  .contactWrap {
    padding: 50px 0 100px;
  }
  .fluentform .ff-step-body th,
  .fluentform .ff-step-body td {
    display: block;
    width: 100%;
  }
  .fluentform .ff-step-body th {
    border-bottom: none;
    padding-bottom: 5px;
  }
  .fluentform .ff-step-body td {
    padding-top: 5px;
  }
  /* 郵便番号フィールド用の特別なモバイル対応 */
  .fluentform [data-name=ff_cn_id_4] {
    flex-wrap: wrap;
  }
  .fluentform [data-name=ff_cn_id_4] .ff-t-column-1 {
    width: 100%;
    margin-bottom: 10px;
  }
  .fluentform [data-name=ff_cn_id_4] .ff-t-column-2,
  .fluentform [data-name=ff_cn_id_4] .ff-t-column-3 {
    flex: 0 0 auto;
  }
  .fluentform [data-name=ff_cn_id_4] .ff-t-column-4:before {
    left: -15px;
  }
}
/*==========================================================
	privacy
==========================================================*/
.privacyWrap {
  padding: 80px 0 160px;
}
@media (max-width: 480px) {
  .privacyWrap {
    padding: 20px 0 100px;
  }
}
.privacyWrap .inner {
  max-width: 970px;
  width: 90%;
  margin: 0 auto;
}
.privacyWrap .introBox {
  width: 90%;
  margin: 0 auto;
}
.privacyWrap .introBox h2 {
  text-align: center;
  font-size: 1.8rem;
  line-height: 1.7777777778;
  font-weight: 600;
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .privacyWrap .introBox h2 {
    margin-bottom: 20px;
    font-size: 1.6rem;
    line-height: 1.7;
  }
}
.privacyWrap .introBox .noteBox {
  max-width: 650px;
  margin: 0 auto;
}
.privacyWrap .introBox .noteBox p {
  font-size: 1.4rem;
  letter-spacing: 0.06em;
  font-weight: 500;
  line-height: 1.9285714286;
}
@media screen and (max-width: 767px) {
  .privacyWrap .introBox .noteBox p {
    font-size: 1.2rem;
    line-height: 1.7;
  }
}
.privacyWrap .introBox p.read {
  text-align: center;
  letter-spacing: 0.06em;
  font-weight: 500;
  line-height: 2;
  margin-top: 30px;
}
@media screen and (max-width: 767px) {
  .privacyWrap .introBox p.read {
    margin-top: 20px;
    line-height: 1.7;
  }
}
.privacyWrap .detailArea {
  max-width: 1100px;
  width: 90%;
  margin: min(80px,11.112vw) auto 0;
}
.privacyWrap .detailArea .descBox {
  border-bottom: 1px solid rgba(83, 86, 90, 0.3);
  padding: 60px 15px;
}
.privacyWrap .detailArea .descBox p.ttl {
  font-size: 2rem;
  font-weight: 600;
  margin-bottom: 20px;
}
.privacyWrap .detailArea .descBox p.text {
  font-weight: 500;
  line-height: 1.9285714286;
  letter-spacing: 0.06em;
}
.privacyWrap .detailArea .descBox ul {
  margin-bottom: 20px;
}
.privacyWrap .detailArea .descBox ul li {
  font-weight: 500;
  line-height: 1.9285714286;
  letter-spacing: 0.06em;
  padding-left: 1em;
  position: relative;
}
.privacyWrap .detailArea .descBox ul li::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
}
@media screen and (max-width: 820px) {
  .privacyWrap .detailArea .descBox {
    padding: 40px 10px;
  }
  .privacyWrap .detailArea .descBox p.ttl {
    font-size: 1.8rem;
  }
  .privacyWrap .detailArea .descBox p.text {
    font-size: 1.4rem;
    line-height: 1.9285714286;
  }
}
.privacyWrap .detailArea .noteBox {
  max-width: 500px;
  margin: min(60px,8.334vw) auto 0;
  background: #FAF8F2;
  mix-blend-mode: multiply;
  padding: 30px 20px;
}
.privacyWrap .detailArea .noteBox .textBox p.ttl {
  font-size: 1.8rem;
  font-weight: 600;
  letter-spacing: 0.06em;
}
.privacyWrap .detailArea .noteBox .textBox p.text {
  margin-top: 5px;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.9285714286;
  letter-spacing: 0.06em;
}
.privacyWrap .detailArea .noteBox .textBox + .textBox {
  margin-top: 20px;
}

/*==========================================================
	retailer
==========================================================*/
.retailerTopArea {
  padding: 50px 0 0;
  background: #fff;
}
.retailerTopArea .leadText {
  line-height: 2;
  text-align: left;
  letter-spacing: 0.05em;
  padding-bottom: 45px;
}
@media screen and (max-width: 768px) {
  .retailerTopArea .leadText {
    padding-bottom: 30px;
  }
}
.retailerTopArea .areaNav ul {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
}
@media (max-width: 480px) {
  .retailerTopArea .areaNav ul {
    gap: 3%;
    row-gap: 10px;
  }
}
.retailerTopArea .areaNav ul li:first-child {
  margin-right: 2%;
}
.retailerTopArea .areaNav ul li a {
  display: block;
  width: 150px;
  border: 1px solid #53565A;
  border-radius: 18px;
  text-decoration: none;
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  transition: all 0.3s;
  height: 36px;
  line-height: 36px;
  text-align: center;
}
@media (max-width: 480px) {
  .retailerTopArea .areaNav ul li a {
    width: 140px;
  }
}
.retailerTopArea .areaNav ul li a:hover, .retailerTopArea .areaNav ul li a.current {
  background-color: #53565a;
  color: #fff;
  border-color: #53565a;
}
@media screen and (max-width: 768px) {
  .retailerTopArea .areaNav ul li:first-child {
    width: 100%;
  }
  .retailerTopArea .areaNav ul li:first-child a {
    text-align: center;
  }
}
.retailerTopArea .shopListWrap {
  margin-top: min(125px,17.362vw);
}
.retailerTopArea .shopListWrap .shopList {
  display: none;
}
.retailerTopArea .shopListWrap .shopList.active {
  display: block;
}
.retailerTopArea .shopListWrap .shopItem {
  display: flex;
}
@media screen and (max-width: 768px) {
  .retailerTopArea .shopListWrap .shopItem {
    flex-direction: column;
  }
}
.retailerTopArea .shopListWrap .shopItem .shopInfo {
  width: 50%;
  display: flex;
  gap: 6.45%;
}
@media screen and (max-width: 1024px) {
  .retailerTopArea .shopListWrap .shopItem .shopInfo {
    width: 100%;
    border-right: none;
    flex-direction: column;
    padding-right: 0;
    margin-bottom: 20px;
  }
}
.retailerTopArea .shopListWrap .shopItem .shopInfo .shopAreaTag {
  display: inline-block;
  width: 150px;
  height: 28px;
  line-height: 28px;
  border: 1px solid #53565A;
  font-size: 1.4rem;
  border-radius: 18px;
  text-align: center;
}
.retailerTopArea .shopListWrap .shopItem .shopInfo .shopInfoBody {
  width: calc(100% - 230px);
}
@media screen and (max-width: 1024px) {
  .retailerTopArea .shopListWrap .shopItem .shopInfo .shopInfoBody {
    width: 100%;
  }
}
.retailerTopArea .shopListWrap .shopItem .shopInfo .shopName {
  font-size: 2rem;
  font-weight: 600;
  margin-bottom: 8px;
  line-height: 1.4;
}
@media screen and (max-width: 1024px) {
  .retailerTopArea .shopListWrap .shopItem .shopInfo .shopName {
    font-size: 1.8rem;
    margin-top: 15px;
  }
}
.retailerTopArea .shopListWrap .shopItem .shopInfo .shopAddress,
.retailerTopArea .shopListWrap .shopItem .shopInfo .shopTel {
  line-height: 1.625;
  font-weight: 500;
  margin-bottom: 4px;
}
@media screen and (max-width: 1024px) {
  .retailerTopArea .shopListWrap .shopItem .shopInfo .shopAddress,
  .retailerTopArea .shopListWrap .shopItem .shopInfo .shopTel {
    font-size: 13px;
  }
}
.retailerTopArea .shopListWrap .shopItem .shopDetail {
  width: 50%;
  background: #F2F2EE;
  border-radius: 20px;
  padding: 30px 35px;
  mix-blend-mode: multiply;
}
@media screen and (max-width: 1024px) {
  .retailerTopArea .shopListWrap .shopItem .shopDetail {
    width: 100%;
    padding: 25px 15px;
  }
}
.retailerTopArea .shopListWrap .shopItem .shopDetail dl {
  display: flex;
  align-items: center;
  gap: 20px;
  letter-spacing: 0.05em;
  line-height: 1.6;
}
@media screen and (max-width: 1024px) {
  .retailerTopArea .shopListWrap .shopItem .shopDetail dl {
    font-size: 13px;
  }
}
.retailerTopArea .shopListWrap .shopItem .shopDetail dl dt {
  width: 135px;
  flex-shrink: 0;
}
@media screen and (max-width: 1024px) {
  .retailerTopArea .shopListWrap .shopItem .shopDetail dl dt {
    width: 120px;
  }
}
.retailerTopArea .shopListWrap .shopItem .shopDetail dl dd {
  color: #333;
  display: flex;
  gap: 30px;
  flex-wrap: wrap;
}
@media screen and (max-width: 1024px) {
  .retailerTopArea .shopListWrap .shopItem .shopDetail dl dd {
    gap: 15px;
    flex-direction: column;
  }
}
.retailerTopArea .shopListWrap .shopItem .shopDetail dl dd img {
  /* height: 20px; */
  max-width: 100%;
  height: inherit;
  width: revert-layer;
  margin-right: 8px;
  vertical-align: middle;
}
.retailerTopArea .shopListWrap .shopItem .shopDetail dl.item dd {
  display: block;
}
.retailerTopArea .shopListWrap .shopItem .shopDetail dl.item dd p + p {
  margin-top: 5px;
}
.retailerTopArea .shopListWrap .shopItem .shopDetail dl + dl {
  border-top: 1px solid #53565A;
  padding-top: 20px;
  margin-top: 20px;
}
.retailerTopArea .shopListWrap .shopItem + .shopItem {
  margin-top: min(80px,11.112vw);
}
@media screen and (max-width: 1024px) {
  .retailerTopArea .shopListWrap .shopItem + .shopItem {
    margin-top: 40px;
  }
}

/**
 * 取扱い店舗リスト（テーブル型）エリア
 * @section retailerBottomArea
 * @概要: 取扱い店舗をテーブル形式で表示。SP時は横スクロール対応。
 * @仕様: 罫線・背景色なし、最小幅100px、行間・余白は現状維持
 * @制限事項: .retailerTableはtable要素、.brandLogoはロゴ画像ラッパー
 */
.retailerBottomArea {
  background: #fff;
  padding: 0 0 min(240px,33.334vw);
}
.retailerBottomArea .retailerBottomBlock {
  padding-top: 40px;
}
.retailerBottomArea .retailerBottomBlock + .retailerBottomBlock {
  padding-top: 40px;
}
.retailerBottomArea h2 {
  font-size: 3rem;
  font-weight: 600;
  margin-bottom: 24px;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 768px) {
  .retailerBottomArea h2 {
    font-size: 2.4rem;
  }
}
.retailerBottomArea .retailerTableWrap {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.retailerBottomArea .retailerTable {
  width: 100%;
  min-width: 600px;
  font-size: 1.4rem;
  color: #333;
  margin-bottom: 40px;
  border-collapse: separate;
  border-spacing: 0;
  background: none;
  table-layout: fixed;
}
.retailerBottomArea .retailerTable tr {
  border-collapse: 1px solid rgba(83, 86, 90, 0.3);
}
.retailerBottomArea .retailerTable thead th {
  font-weight: 600;
  padding: 20px 0px;
  text-align: left;
  letter-spacing: 0.06em;
  font-size: 1.4rem;
  background: none;
  border: none;
  min-width: 100px;
  white-space: nowrap;
  border-bottom: 1px solid rgba(83, 86, 90, 0.3);
}
.retailerBottomArea .retailerTable tbody td {
  padding: 30px 20px 30px 0px;
  vertical-align: middle;
  letter-spacing: 0.05em;
  background: none;
  font-weight: 500;
  line-height: 1.625;
  border: none;
  min-width: 100px;
  border-bottom: 1px solid rgba(83, 86, 90, 0.3);
}
@media screen and (max-width: 1024px) {
  .retailerBottomArea .retailerTable tbody td {
    padding: 20px 20px 20px 0;
    font-size: 1.2rem;
    min-width: 300px;
  }
}
.retailerBottomArea .retailerTable thead tr th:nth-of-type(1) {
  width: 27.66%;
}
.retailerBottomArea .retailerTable thead tr th:nth-of-type(2) {
  width: 26.85%;
}
.retailerBottomArea .retailerTable thead tr th:nth-of-type(3) {
  width: 14.52%;
}
.retailerBottomArea .retailerTable thead tr th:nth-of-type(4) {
  width: 22.58%;
}
.retailerBottomArea .retailerTable thead tr th:nth-of-type(5) {
  width: 8.3%;
}
@media screen and (max-width: 1024px) {
  .retailerBottomArea .retailerTable thead tr th:nth-of-type(1) {
    width: 250px;
  }
  .retailerBottomArea .retailerTable thead tr th:nth-of-type(2) {
    width: 250px;
  }
  .retailerBottomArea .retailerTable thead tr th:nth-of-type(3) {
    width: 180px;
  }
  .retailerBottomArea .retailerTable thead tr th:nth-of-type(4) {
    width: 250px;
  }
  .retailerBottomArea .retailerTable thead tr th:nth-of-type(5) {
    width: 150px;
  }
}
.retailerBottomArea .retailerTable .brandLogo {
  display: flex;
  flex-direction: column;
  gap: 15px;
}
.retailerBottomArea .retailerTable .brandLogo img {
  height: inherit;
  width: revert-layer;
  max-width: 120px;
  object-fit: contain;
}

/*==========================================================
	notfoundWrap
==========================================================*/
#notfoundWrap {
  padding: min(100px,13.888vw) 0 min(200px,27.778vw);
}
#notfoundWrap p {
  text-align: center;
}
#notfoundWrap p.error_url {
  margin-top: 20px;
}
#notfoundWrap p.error_url span {
  color: #807F81;
  font-weight: 700;
  word-break: break-all;
}
#notfoundWrap .commonBtn {
  margin: min(80px,11.112vw) auto 0;
  text-align: center;
}