@charset "utf-8";

/*-------------------------------------------------------------------------------------------------------------------------------
* TOP
-------------------------------------------------------------------------------------------------------------------------------*/
main {
  background-color: #fef5e7;
}
.mv {
  padding-block: 52px 80px;
}
.mv h1 {
  width: min(673px, 100%);
  margin-inline: auto;
}
.mv .intro {
  text-align: center;
  color: var(--color-main);
  font-family: var(--font-yu-mincho);
}
.mv .intro .date {
  width: 421px;
  margin: 21px auto 0;
}
.mv .intro .place {
  font-size: 30px;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.08em;
}
.mv .intro .description {
  padding-top: 40px;
  font-size: 25px;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.03em;
}
.menu-links {
  padding-inline: 64px;
}
.menu-links ul li + li {
  margin-top: 24px;
}
.menu-links ul li a {
  position: relative;
  display: block;
}
.menu-links ul li a::before {
  content: "";
  position: absolute;
  z-index: 2;
  top: 50%;
  right: 24px;
  translate: 0 -50%;
  width: 42px;
  aspect-ratio: 1;
  background: url(/base/osaka/special/find_your_fit/img/251027/top/icon-arrow.svg) no-repeat center / contain;
}
.menu-links .banner {
  padding-top: 50px;
}
.menu-links .banner p {
  color: var(--color-main);
  font-family: var(--font-yu-mincho);
  font-size: 30px;
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.8;
}
.common-contents + section {
  padding-top: 80px;
}
.common-contents:last-of-type {
  padding-bottom: 100px;
}
.common-contents .wrapper {
  position: relative;
  z-index: 2;
  width: 718px;
  margin-inline: auto;
  padding: 61px 48px 82px;
  background: url(/base/osaka/special/find_your_fit/img/251027/content-bg.png) repeat-y top 100px center / 100% auto;
}
.common-contents .wrapper::before,
.common-contents .wrapper::after {
  content: "";
  position: absolute;
  z-index: -1;
  left: 50%;
  translate: -50% 0;
  width: 100%;
  height: 100px;
  background: url(/base/osaka/special/find_your_fit/img/251027/content-bg-vertical.png) no-repeat center / contain;
}
.common-contents .wrapper::before {
  top: 0;
}
.common-contents .wrapper::after {
  bottom: 0;
  transform: scaleY(-1);
}
.common-contents .wrapper h2 {
  margin-bottom: 54px;
}
.common-contents .wrapper > section + section {
  padding-top: 120px;
}
.common-contents .wrapper > section > section + section {
  padding-top: 70px;
}
.common-contents .wrapper > section .head {
  color: var(--color-ladies);
  font-family: var(--font-yu-mincho);
  font-size: 39px;
  font-weight: 700;
}
.common-contents .wrapper > section hgroup {
  text-align: center;
}
.common-contents .wrapper > section hgroup .head {
  letter-spacing: 0.07em;
}
.common-contents .wrapper > section hgroup p {
  margin-top: 10px;
  font-family: var(--font-yu-mincho);
  color: var(--color-main);
  font-size: 24px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.07em;
}
.common-contents .wrapper > section .floor {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: flex-end;
  border-bottom: 1px solid #8c7634;
  padding: 0 0 8px 10px;
  color: var(--color-main);
  font-family: var(--font-yu-mincho);
  font-size: 28px;
  line-height: 1.2;
}
.common-contents .wrapper > section .floor span:not(.text) {
  padding-right: 8px;
  font-size: 44px;
  line-height: 1;
}
.common-contents .wrapper > section .floor span:not(.text)::after {
  content: "F";
  font-size: 30px;
}
.common-contents .wrapper > section .floor.note {
  grid-template-columns: auto auto 1fr;
}
.common-contents .wrapper > section .floor.note .text {
  margin-left: auto;
  font-family: var(--font-noto-sans);
  color: var(--color-font);
  font-size: 17px;
  font-weight: 400;
  line-height: 2;
}
.common-contents .wrapper > section .list-wrapper {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  padding-top: 40px;
}
.common-contents .wrapper > section .list-wrapper ul li {
  position: relative;
  break-inside: avoid;
  white-space: nowrap;
  padding-left: 36px;
  font-size: 27px;
  font-weight: 700;
  line-height: 1.2;
}
.common-contents .wrapper > section .list-wrapper ul li.w-space {
  white-space: wrap;
}
.common-contents .wrapper > section .list-wrapper ul li:not(:last-of-type) {
  margin-bottom: 30px;
}
.common-contents .wrapper > section .list-wrapper ul li::before {
  content: "";
  position: absolute;
  top: 8px;
  left: 10px;
  width: 18px;
  aspect-ratio: 1;
  border-radius: 50%;
}
.common-contents .wrapper > section .list-wrapper ul li span {
  display: block;
  font-size: 24px;
  font-weight: 400;
}
.common-contents .wrapper > section .list-wrapper ul li span > span.pl {
  padding-left: 114px;
}
.common-contents .wrapper > section.size .head {
  display: grid;
  grid-template-columns: 66px auto;
  align-items: center;
  justify-content: center;
  column-gap: 4px;
  margin-bottom: 18px;
  padding-bottom: 54px 18px;
}
.common-contents .wrapper > section.size .head span {
  display: grid;
  place-content: center;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: var(--color-ladies);
  color: #fff;
  font-size: 56px;
}
.common-contents .wrapper > section.topics > section:first-of-type {
  padding-top: 60px;
}
.common-contents .wrapper > section.topics > section + section {
  padding-top: 50px;
}
.common-contents .wrapper > section.topics > section section + section {
  padding-top: 40px;
}
.common-contents .wrapper > section.topics > section h4 {
  margin-bottom: 30px;
}
.common-contents .wrapper > section.topics > section h5 {
  font-size: 30px;
  font-weight: 700;
  line-height: 1.14;
}
.common-contents .wrapper > section.topics > section .summary-list {
  padding-top: 16px;
}
.common-contents .wrapper > section.topics > section .summary-list li {
  position: relative;
  padding-left: 24px;
  color: var(--color-font);
  font-size: 27px;
  font-weight: 700;
  line-height: 1.3;
}
.common-contents .wrapper > section.topics > section .summary-list li::before {
  content: "";
  position: absolute;
  top: 8px;
  left: 0;
  width: 18px;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: #8c7634;
}
.common-contents .wrapper > section.topics > section .summary-list li span {
  font-size: 18px;
}
.common-contents .wrapper > section.topics > section .summary-list li span.gold {
  font-size: 27px;
  color: #8c7634;
}
.common-contents .wrapper > section.topics > section .btn {
  margin-top: 40px;
}
.common-contents .wrapper > section.topics > section .note {
  margin-top: 8px;
  color: var(--color-font);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.3;
}
.common-contents .wrapper > section.topics > section .inner {
  display: grid;
  grid-template-columns: 1fr 288px;
  gap: 18px 42px;
  padding-top: 20px;
}
.common-contents .wrapper > section.topics > section .inner.w-400 {
  grid-template-columns: 1fr 400px;
  gap: 18px 20px;
}
.common-contents .wrapper > section.topics > section .inner + .inner {
  margin-top: 52px;
  padding-top: initial;
}
.common-contents .wrapper > section.topics > section .inner .summary-list {
  grid-column: 1;
  padding-top: initial;
}
.common-contents .wrapper > section.topics > section .inner > p {
  grid-column: 1;
  color: var(--color-main);
  text-align: justify;
  font-size: 23px;
  line-height: 1.36;
}
.common-contents .wrapper > section.topics > section .inner .detail-list {
  line-height: 1.3;
}
.common-contents .wrapper > section.topics > section .inner .detail-list dt {
  font-size: 26px;
  font-weight: 700;
}
.common-contents .wrapper > section.topics > section .inner .detail-list dt.d-ib {
  padding-right: 8px;
}
.common-contents .wrapper > section.topics > section .inner .detail-list .price {
  font-size: 28px;
  font-weight: 700;
}
.common-contents .wrapper > section.topics > section .inner .detail-list .price span {
  font-size: 33px;
}
.common-contents .wrapper > section.topics > section .inner .detail-list .size {
  font-size: 24px;
}
.common-contents .wrapper > section.topics > section .inner .detail-list .size > span.pl {
  padding-left: 77px;
}
.common-contents .wrapper > section.topics > section .inner .detail-list .d-ib {
  display: inline-block;
}
.common-contents .wrapper > section.topics > section .inner figure {
  grid-column: 2;
  grid-row: 1 / span 3;
}
.common-contents .wrapper > section.topics > section .inner.no-img {
  grid-template-columns: 1fr;
}
.common-contents .wrapper > section.topics.hat h4.head {
  margin-top: 18px;
}
.common-contents .wrapper > section.topics.hat > section section + section {
  padding-top: 72px;
}
.common-contents.ladies {
  background-color: #efe2db;
}
.common-contents.ladies .wrapper::before,
.common-contents.ladies .wrapper::after {
  background-color: #efe2db;
}
.common-contents.ladies .wrapper .list-wrapper ul li::before {
  background-color: #d68667;
}
.common-contents.ladies .wrapper .topics h5 {
  color: var(--color-ladies);
}
.common-contents.mens {
  background-color: #e2e8db;
}
.common-contents.mens .wrapper::before,
.common-contents.mens .wrapper::after {
  background-color: #e2e8db;
}
.common-contents.mens .wrapper > section + section {
  padding-top: 80px;
}
.common-contents.mens .wrapper > section .list-wrapper ul li::before {
  background-color: #ae99b3;
}
.common-contents.mens .wrapper .topics h5 {
  color: var(--color-mens);
}
#ladieswear {
  position: relative;
  margin-top: 56px;
  padding-top: 110px;
  background: url(/base/osaka/special/find_your_fit/img/251027/top/ladies-bg-wave.png) no-repeat top center / contain;
}
#ladieswear::before {
  content: "";
  position: absolute;
  top: 110px;
  width: 100%;
  height: calc(100% - 110px);
  background-color: #efe2db;
}
#menswear {
  position: relative;
  padding-top: 110px;
  background: #efe2db url(/base/osaka/special/find_your_fit/img/251027/top/mens-bg-wave.png) no-repeat top center / contain;
}
#menswear::before {
  content: "";
  position: absolute;
  top: 110px;
  width: 100%;
  height: calc(100% - 110px);
  background-color: #e2e8db;
}
#menswear .wrapper > .topics > section > section + section {
  padding-top: 60px;
}
#menswear .size-chart {
  padding-top: 40px;
}
#menswear .topics .head span {
  display: block;
  padding-top: 18px;
  color: var(--color-main);
  text-align: center;
  font-family: var(--font-yu-mincho);
  font-size: 27px;
  font-weight: 700;
  letter-spacing: 0.07em;
}
#menswear .topics .inner {
  padding-top: initial;
}
#accessories {
  padding-bottom: 40px;
}
#accessories h2 {
  margin-bottom: 30px;
}
.remarks {
  padding-bottom: 80px;
  background-color: #e2e8db;
}
.remarks-list {
  margin-inline: auto;
  max-width: 640px;
  font-size: 24px;
  line-height: 1.5;
}
.remarks-list > li {
  padding-left: 1em;
  text-indent: -1em;
}
.remarks-list > li + li {
  margin-top: 4px;
}