@import "https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap";
body,
html {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.6;
}

.c-sectionTitle {
  padding-top: clamp(5rem, 4.3784530387rem + 1.6574585635vw, 5.5rem);
}
.c-sectionTitle .ja {
  font-weight: bold;
  color: #755139;
  font-size: clamp(2.4rem, 1.9027624309rem + 1.3259668508vw, 3.2rem);
}
#sec1 {
  padding: 138px 0 178px;
}
#sec1 h2 {
  color: #d97182;
  font-size: clamp(1.9rem, calc(1.4365vw + 1.3613rem), 3.2rem);
  font-weight: bold;
}
#sec1 .txt {
  margin-top: 42px;
}
#sec1 .group-photo {
  display: flex;
  justify-content: space-between;
  max-width: 1080px;
  gap: 7%;
  margin: 40px auto 0;
}
#sec1 .group-photo li {
  width: 26.582278481%;
}
#sec1 .group-photo li img {
  width: 100%;
}
@media screen and (max-width: 767px) {
  #sec1 {
    padding: 65px 0;
  }
  #sec1 .txt {
    margin-top: 30px;
  }
  #sec1 .group-photo {
    margin-top: 30px;
    flex-wrap: wrap;
    gap: 20px;
  }
  #sec1 .group-photo li {
    width: 47%;
  }
  /* #sec1 .group-photo li:nth-child(1) {
    width: 100%;
  }
  #sec1 .group-photo li:nth-child(1) img {
    display: block;
    width: 48%;
    margin: 0 auto;
  } */
}
#sec2 .tt-h2 {
  color: #755139;
  font-size: clamp(2rem, 1.326vw + 1.5028rem, 3.2rem);
  font-weight: bold;
}
#sec2 h3 {
  font-weight: bold;
}
#sec2 h3.tt-h3-1 {
  position: relative;
  padding-left: 17px;
}
#sec2 h3.tt-h3-1::before {
  content: "";
  position: absolute;
  background: #f2a7a7;
  width: 5px;
  top: 3px;
  left: 0;
  bottom: 3px;
}
#sec2 h3.tt-h3-2 {
  color: #d97182;
}
#sec2 .group1 {
  padding: 90px 0;
}
#sec2 .group1 .l-container {
  background: #fff;
  padding: 60px 40px;
}
#sec2 .group1 .set1 {
  margin-top: 57px;
}
#sec2 .group1 .set1 .row {
  display: flex;
  justify-content: space-between;
  margin-top: 39px;
}
#sec2 .group1 .set1 .row .photo {
  width: 55.376344086%;
}
#sec2 .group1 .set1 .row .gr-txt {
  width: 42.8315412186%;
}
#sec2 .group1 .set1 .row .gr-txt .txt {
  margin-top: 31px;
}
#sec2 .group1 .set2 {
  background: #f8f6f4;
  margin-top: 40px;
  padding: 40px;
}
#sec2 .group1 .set2 .txt {
  margin-top: 20px;
}
#sec2 .group1 .set3 {
  margin-top: 82px;
  display: flex;
  justify-content: space-between;
  -moz-column-gap: 20px;
  column-gap: 20px;
}
#sec2 .group1 .set3 .list {
  margin-top: 42px;
}
#sec2 .group1 .set3 .list li {
  -moz-column-gap: 0.5em;
  column-gap: 0.5em;
  display: grid;
  grid-template-columns: auto 1fr;
}
#sec2 .group1 .set3 .list li::before {
  background-image: url("../img/icon/icon_logo.svg");
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
  height: 0.8888888889em;
  margin-block: calc(0.5lh - 0.5em);
  transform: translateY(1px);
  width: 1em;
}
#sec2 .group1 .set4 {
  display: flex;
  justify-content: space-between;
  max-width: 1042px;
  margin-top: 80px;
  -moz-column-gap: 20px;
  column-gap: 20px;
}
#sec2 .group1 .set4 .txt {
  margin-top: 40px;
}
#sec2 .group2 {
  padding: 180px 0;
}
#sec2 .group2 .row {
  display: flex;
  justify-content: space-between;
  margin-top: 25px;
}
#sec2 .group2 .row .photo {
  width: 42.2240802676%;
}
#sec2 .group2 .row .gr-txt {
  width: 52.6755852843%;
}
#sec2 .group2 .row .gr-txt .txt {
  margin-top: 20px;
}
#sec2 .group2 .set2 {
  margin-top: 105px;
}
@media screen and (min-width: 768px) and (max-width: 900px) {
  #sec2 .group1 .set1 .row {
    display: block;
  }
  #sec2 .group1 .set1 .row .photo {
    width: auto;
    text-align: center;
  }
  #sec2 .group1 .set1 .row .gr-txt {
    width: auto;
    margin-top: 20px;
  }
}
@media screen and (max-width: 767px) {
  #sec2 .photo {
    text-align: center;
  }
  #sec2 .group1 {
    padding: 65px 0;
  }
  #sec2 .group1 .l-container {
    padding: 40px 20px;
  }
  #sec2 .group1 .set1 {
    margin-top: 40px;
  }
  #sec2 .group1 .set1 .row {
    display: block;
    margin-top: 20px;
  }
  #sec2 .group1 .set1 .row .photo {
    width: auto;
  }
  #sec2 .group1 .set1 .row .gr-txt {
    margin-top: 20px;
    width: auto;
  }
  #sec2 .group1 .set1 .row .gr-txt .txt {
    margin-top: 10px;
  }
  #sec2 .group1 .set2 {
    padding: 20px;
  }
  #sec2 .group1 .set2 .txt {
    margin-top: 10px;
  }
  #sec2 .group1 .set3 {
    margin-top: 40px;
    display: block;
  }
  #sec2 .group1 .set3 .list {
    margin: 20px 0;
  }
  #sec2 .group1 .set4 {
    display: block;
    margin-top: 40px;
  }
  #sec2 .group1 .set4 .txt {
    margin: 20px 0;
  }
  #sec2 .group2 {
    padding: 65px 0;
  }
  #sec2 .group2 .row {
    justify-content: flex-start;
    flex-direction: column;
  }
  #sec2 .group2 .row .photo {
    width: auto;
  }
  #sec2 .group2 .row .gr-txt {
    width: auto;
    margin-top: 20px;
  }
  #sec2 .group2 .row .gr-txt .txt {
    margin-top: 21px;
  }
  #sec2 .group2 .set2 {
    margin-top: 40px;
  }
  #sec2 .group2 .set2 .row .photo {
    order: 1;
  }
  #sec2 .group2 .set2 .row .gr-txt {
    order: 2;
  }
}
#sec3 {
  background: url("../img/retail/sec3_bg.jpg") no-repeat center/cover;
  color: #fff;
  padding: 48px 0 50px;
}
#sec3 h2 {
  font-size: clamp(2rem, 1.326vw + 1.5028rem, 3.2rem);
  font-weight: bold;
}
#sec3 .txt {
  margin-top: 27px;
  font-weight: bold;
  line-height: 30px;
}
#sec3 .group-contact {
  box-sizing: border-box;
  display: flex;
  justify-content: space-between;
  -moz-column-gap: 20px;
  column-gap: 20px;
  max-width: 884px;
  padding: 0 20px;
  margin: 30px auto 0;
}
#sec3 .group-contact li {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: #fff;
  border-radius: 10px;
  max-width: 392px;
  width: 100%;
  min-height: 132px;
}
#sec3 .group-contact li:nth-child(1) a {
  font-size: clamp(3rem, 0.663vw + 2.7514rem, 3.6rem);
  padding-left: clamp(3rem, 0.663vw + 2.7514rem, 3.6rem);
  font-weight: bold;
}
#sec3 .group-contact li:nth-child(1) a::before {
  width: clamp(2.5rem, 0.5525vw + 2.2928rem, 3rem);
  height: clamp(2.5rem, 0.5525vw + 2.2928rem, 3rem);
}
#sec3 .group-contact li:nth-child(1) span {
  display: block;
  text-align: center;
  color: #755139;
  font-weight: 400;
}
#sec3 .group-contact li:nth-child(2) a {
  max-width: 279px;
  margin: 0 auto;
  padding: 14px 0;
}
@media screen and (max-width: 767px) {
  #sec3 .group-contact {
    display: block;
  }
  #sec3 .group-contact li {
    max-width: 100%;
  }
  #sec3 .group-contact li:nth-child(2) {
    margin-top: 20px;
  }
}
#sec4 {
  padding: 80px 0 100px;
}
#sec4 .set1 {
  display: flex;
  justify-content: space-between;
  margin-top: 57px;
}
#sec4 .set1 .box {
  background: #fff;
  border: 2px solid #f2a7a7;
  width: 30.9364548495%;
  padding: 30px 15px;
}
#sec4 .set1 .box h4 {
  font-size: clamp(1.6rem, 0.442vw + 1.4343rem, 2rem);
  font-weight: bold;
  letter-spacing: 0.02em;
}
#sec4 .set1 .box .photo {
  text-align: center;
  margin-top: 18px;
}
#sec4 .set1 .box .txt {
  margin-top: 18px;
  min-height: 207px;
}
#sec4 .set1 .box .btn {
  margin-top: 20px;
}
#sec4 .set1 .box .btn a {
  padding: 10px 16px 11px 32px;
}
#sec4 .set1 .box .btn a:after {
  width: 18px;
  height: 19px;
}
#sec4 .set2 {
  margin-top: 100px;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  #sec4 .set1 {
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
  }
  #sec4 .set1 .box {
    width: 370px;
  }
}
@media screen and (min-width: 768px) and (max-width: 950px) {
  #sec4 .set1 .box {
    width: calc(50% - 10px);
  }
}
@media screen and (max-width: 767px) {
  #sec4 {
    padding: 65px 0;
  }
  #sec4 .set1 {
    display: block;
    margin-top: 40px;
  }
  #sec4 .set1 .box {
    width: auto;
  }
  #sec4 .set1 .box .txt {
    min-height: auto;
  }
  #sec4 .set1 .box + .box {
    margin-top: 30px;
  }
}

.gr-txt {
  margin-left: 20px;
}

.row iframe {
  max-width: 100%;
}

.other-title {
  font-size: clamp(1.8rem, calc(1.547vw + 1.2199rem), 3.2rem);
  text-align: center;
  font-weight: 700;
  padding-bottom: 4rem;
}
.other-title span {
  color: #d97182;
}

.other-sec1 .other-sec1-photo-list {
  gap: clamp(2rem, calc(4.2969vw + -1.3rem), 4.2rem);
}
.other-sec1 .other-sec1-photo-list li {
  width: 30.9364%;
}
@media screen and (max-width: 640px) {
  .other-sec1 .other-sec1-photo-list {
    justify-content: center;
    flex-wrap: wrap;
  }
  .other-sec1 .other-sec1-photo-list li {
    text-align: center;
    width: 100%;
  }
}

.other-sec-shared .other-title {
  padding-bottom: clamp(2rem, calc(2.2099vw + 1.1713rem), 4rem);
}
.other-sec-shared .l-container {
  background-color: #fff;
  padding: clamp(3rem, calc(3.3149vw + 1.7569rem), 6rem) clamp(2rem, calc(2.2099vw + 1.1713rem), 4rem);
}
.other-sec-shared .other-info {
  margin-bottom: clamp(2.5rem, calc(2.7624vw + 1.4641rem), 5rem);
}
.other-sec-shared .other-info h3 {
  font-weight: 700;
  margin-bottom: clamp(1.5rem, calc(1.6575vw + 0.8785rem), 3rem);
  line-height: 1.25;
  padding-left: 0.75em;
}
.other-sec-shared .other-info h3.h3-img {
  width: clamp(18rem, calc(12.1547vw + 13.442rem), 29rem);
}
.other-sec-shared .other-info .other-info-content {
  width: 48.208%;
}
.other-sec-shared .other-info .other-info-photo {
  width: 48.208%;
}
.other-sec-shared .other-list .item {
  width: 48.208%;
  background-color: #f8f6f4;
  padding: clamp(1rem, calc(1.105vw + 0.5856rem), 2rem) clamp(1rem, calc(1.105vw + 0.5856rem), 2rem)
    clamp(1rem, calc(1.105vw + 0.5856rem), 2rem) clamp(1rem, calc(1.326vw + 0.5028rem), 2.2rem);
  display: grid;
  grid-template-columns: auto 1fr;
  gap: clamp(1rem, calc(0.5525vw + 0.7928rem), 1.5rem);
}
.other-sec-shared .other-list .item .ext {
  font-size: clamp(1.3rem, calc(0.221vw + 1.2171rem), 1.5rem);
}
.other-sec-shared .other-list .item dt {
  font-family: Montserrat, sans-serif;
  color: #d97182;
  font-size: clamp(2rem, calc(2.2099vw + 1.1713rem), 4rem);
  font-weight: 700;
  letter-spacing: 0;
  width: 52px;
  line-height: 1;
  text-align: center;
}
.other-sec-shared .other-list .item dt span {
  font-size: clamp(1rem, calc(0.221vw + 0.9171rem), 1.2rem);
  letter-spacing: 0;
  display: block;
  line-height: 16px;
  padding-bottom: 7px;
  margin-bottom: 5px;
  background: url("../img/other/shape.svg") no-repeat center bottom;
}
@media screen and (max-width: 950px) {
  .other-sec-shared .other-list {
    flex-wrap: wrap;
    gap: 2rem;
  }
  .other-sec-shared .other-list .item {
    width: 100%;
  }
}
.other-sec-shared.other-sec5 {
  padding-bottom: clamp(5rem, calc(5.5249vw + 2.9282rem), 10rem);
}
@media screen and (max-width: 767px) {
  .other-sec-shared .other-info {
    display: block;
  }
  .other-sec-shared .other-info .other-info-content {
    width: auto;
  }
  .other-sec-shared .other-info .other-info-photo {
    width: auto;
    text-align: center;
    padding-bottom: 2rem;
  }
}