@charset "utf-8";
/* CSS Document */

/*================================
MV
================================*/
#mv {
  position: relative;
  z-index: 0;
  aspect-ratio: 16 / 9;
}
#mv img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (min-width: 768px) {
  #mv {
    margin-bottom: 40px;
  }
}

/*================================
main
================================*/
/*special
================================*/
#special {
  text-align: center;
}
.special_ttl {
  position: relative;
  display: inline-block;
}
.special_ttl h1 {
  font-weight: bold;
}
.special_ttl h1 span {
  display: block;
  margin-top: 10px;
}
#special ul {
  display: inline-block;
  text-align: left;
  list-style: none;
  margin-bottom: 0;
}
#special .period {
  color: #003c6b;
  font-weight: bold;
  margin-top: 25px;
}
#ladies #special .period {
  color: #956134;
}
@media (min-width: 1200px) {
  .special_ttl img {
    bottom: 0;
    right: -160px;
  }
}
@media (min-width: 768px) and (max-width: 1199px) {
  .special_ttl img {
    top: -100px;
    right: -75px;
  }
}
@media (min-width: 768px) {
  .special_ttl img {
    position: absolute;
  }
  .special_ttl h1 {
    font-size: 24px;
  }
  .special_ttl h1 span {
    font-size: 35px;
  }
  #special ul {
    padding-left: 16px;
    text-indent: -16px;
  }
  #special .period {
    font-size: 24px;
  }
}
@media (max-width: 767px) {
  .special_ttl img {
    width: 95px;
    height: 79px;
    margin-right: -150px;
    margin-bottom: 10px;
  }
  .special_ttl h1 {
    font-size: 18px;
  }
  .special_ttl h1 span {
    font-size: 24px;
  }
  #special ul {
    font-size: 11px;
    padding-left: 11px;
    text-indent: -11px;
  }
}

/*slider
================================*/
#special .swiper-container {
  margin: 40px calc(50% - 50vw);
}
.swiper-wrapper {
  transition-timing-function: linear !important;
}
#special .swiper-slide {
  max-width: 400px;
  aspect-ratio: 400 / 195;
}
#special .swiper-scrollbar {
  width: 80%;
  max-width: 800px;
  left: 50% !important;
  transform: translateX(-50%);
  height: 6px !important;
  background: #e4e4e4;
}
#special .swiper-scrollbar-drag {
  background: #003c6b;
}
#ladies #special .swiper-scrollbar-drag {
  background: #ec6d68;
}

@media (min-width: 768px) {
  #special .swiper-container {
    padding-bottom: 40px;
  }
}
@media (max-width: 767px) {
  #special .swiper-container {
    padding-bottom: 30px;
  }
}

/*campaign
================================*/
#campaign {
  position: relative;
  background-image: repeating-conic-gradient(
    transparent,
    transparent 10deg,
    #bee2eb 10deg 20deg
  );
  background-color: #cde9f0;
}
#ladies #campaign {
  position: relative;
  background-image: repeating-conic-gradient(
    transparent,
    transparent 10deg,
    #ede4dd 10deg 20deg
  );
  background-color: #f3eeea;
}
#campaign::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("../img/mens/campaign_bg.webp");
}
.campaign_img {
  position: relative;
  z-index: 1;
}
#mens .campaign_img {
  /* aspect-ratio: 2020 / 1130; */
  max-width: 1010px;
  margin: 0 auto;
  @media (max-width: 767px) {
    /* max-width: 357px; */
  }
}
.attention{
  font-size: 15px;
  margin-bottom: 0;
  padding-left: 1em;
  text-indent: -1em;
  position: relative;
  z-index: 1;
}
@media (max-width: 991px) {
  .attention {
    font-size: 12px;
  }
}
.step_frame {
  position: relative;
  z-index: 1;
  max-width: 1125px;
  margin: 40px auto;
  border: #003c6b 3px solid;
  background-color: #fff;
  padding: 20px 4%;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
#ladies .step_frame {
  border: #956134 3px solid;
}
.step_frame h2 {
  width: 100%;
  color: #003c6b;
  font-size: 25px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 15px;
}
#ladies .step_frame h2 {
  color: #844915;
}
.stepbox {
  position: relative;
  text-align: center;
}
.stepbox::after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  z-index: 1;
}
.stepbox:last-child::after {
  display: none;
}
.stepbox .step {
  color: #fff;
  font-size: 20px;
  font-weight: bold;
  z-index: 0;
}
.stepbox:nth-child(even) .step {
  background-color: #003c6b;
}
#ladies .stepbox:nth-child(even) .step {
  background-color: #956134;
}
.stepbox:nth-child(odd) .step {
  background-color: #0468ad;
}
#ladies .stepbox:nth-child(odd) .step {
  background-color: #c8ad96;
}
.stepbox .step_img {
  border-left: #003c6b 1px solid;
  border-bottom: #003c6b 1px solid;
  margin-bottom: 10px;
  overflow: hidden;
}
#ladies .stepbox .step_img {
  border-left: #956134 1px solid;
  border-bottom: #956134 1px solid;
}
.stepbox.chance .step img {
  position: absolute;
}
.stepbox .step_txt a {
  color: #0071ba;
}
.campaign_period {
  position: relative;
  z-index: 1;
}
.campaign_period {
  /* position: static; */
  max-width: 952px;
  margin: 0 auto;
  @media (max-width: 767px) {
    max-width: 360px;
    width: 90%;
    /* aspect-ratio: 2878 / 773; */
  }
}
@media (min-width: 992px) {
  #campaign::after {
    background-size: 1290px auto;
    background-position: top center;
  }
  .stepbox {
    width: 25%;
  }
  .stepbox .step_txt {
    font-size: 14px;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .stepbox {
    width: 25%;
  }
}
@media (min-width: 768px) {
  .stepbox:last-child .step_img {
    border-right: #003c6b 1px solid;
  }
  .stepbox::after {
    top: 0;
    right: -16px;
    border-top: 24px solid transparent;
    border-bottom: 24px solid transparent;
    border-left-width: 16px;
    border-left-style: solid;
    border-right: 0;
  }
  .stepbox:nth-child(even)::after {
    border-left-color: #003c6b;
  }
  #ladies .stepbox:nth-child(even)::after {
    border-left-color: #956134;
  }
  .stepbox:nth-child(odd)::after {
    border-left-color: #0468ad;
  }
  #ladies .stepbox:nth-child(odd)::after {
    border-left-color: #c8ad96;
  }
  .stepbox .step {
    padding: 9px;
  }
  .stepbox.chance {
    position: relative;
  }
  .stepbox.chance .step {
    height: 48px;
  }
  .stepbox.chance .step img {
    width: 168px;
    height: 122px;
    top: -48px;
    right: -28px;
  }
  .stepbox .step_img {
    aspect-ratio: 233 / 188;
  }
  .stepbox .step_img img {
    object-fit: scale-down;
    object-position: bottom center;
    width: 100%;
    height: 100%;
  }
}
@media (max-width: 991px) {
  #campaign::after {
    background-size: 100% auto;
    background-position: top 60px center;
  }
  .stepbox .step_txt {
    font-size: 13px;
    letter-spacing: 0;
  }
}
@media (max-width: 767px) {
  .campaign_img img {
    width: 100%;
    /* max-width: 360px; */
  }
  .stepbox {
    width: 100%;
    max-width: 360px;
  }
  .stepbox::after {
    left: 0;
    bottom: -19px;
    border-left: 25px solid transparent;
    border-right: 25px solid transparent;
    border-top-width: 20px;
    border-top-style: solid;
    border-bottom: 0;
  }
  .stepbox:nth-child(even)::after {
    border-top-color: #003c6b;
  }
  #ladies .stepbox:nth-child(even)::after {
    border-top-color: #956134;
  }
  .stepbox:nth-child(odd)::after {
    border-top-color: #0468ad;
  }
  #ladies .stepbox:nth-child(odd)::after {
    border-top-color: #c8ad96;
  }
  .stepbox .step {
    position: absolute;
    top: 0;
    left: 0;
    width: 50px;
    height: 100%;
    font-size: 10px;
    vertical-align: middle;
  }
  .stepbox.chance .step img {
    width: 115px;
    height: 83px;
    top: 30px;
    left: -30px;
  }
  .stepbox .step {
    display: table;
  }
  .stepbox .step .step_ttl {
    display: table-cell;
    vertical-align: middle;
  }
  .stepbox .step .step_num {
    font-size: 18px;
    display: block;
  }
  .stepbox .step_img {
    margin-left: 65px;
    border-top: #003c6b 1px solid;
    border-right: #003c6b 1px solid;
    aspect-ratio: 200 / 110;
  }
  #ladies .stepbox .step_img {
    border-top: #956134 1px solid;
    border-right: #956134 1px solid;
  }
  .stepbox .step_img img {
    height: 100%;
  }
  .stepbox .step_txt {
    margin-left: 65px;
    margin-bottom: 15px;
  }
}

/*suit set
================================*/
#suit_set {
  position: relative;
  color: #fff;
  background-color: #003c6b;
  z-index: 0;
}
#ladies #suit_set {
  background-color: #f9c4bd;
  z-index: 4;
}
.suit_set_bg::before,
.suit_set_bg::after {
  content: "";
  display: inline-block;
  position: absolute;
  background-color: #d2d2d3;
  mix-blend-mode: multiply;
  z-index: 0;
}
#ladies .suit_set_bg::before,
#ladies .suit_set_bg::after {
  background-color: rgba(255, 255, 255, 0.2);
  mix-blend-mode: normal;
}
.suit_set_bg::before {
  left: 0;
  bottom: 0;
  width: 45%;
  height: 50%;
}
.suit_set_bg::after {
  top: 0;
  right: 0;
  width: 62.5%;
  height: 60%;
}
.suit_set_bg .row {
  @media (min-width: 768px) {
    position: relative;
  }
}
#suit_set .container {
  position: relative;
  z-index: 1;
  @media (max-width: 767px) {
    padding-bottom: 270px;
  }
}
#mens #suit_set .container {
  @media (max-width: 767px) {
    padding-bottom: 200px;
  }
}
#suit_set .suit_photo {
  aspect-ratio: 578 / 865;
  @media (min-width: 992px) {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    z-index: -1;
  }
  @media (max-width: 991px) and (min-width: 768px) {
    width: 50%;
  }
}
#mens #suit_set .suit_photo {
  max-width: 577px;
}
#ladies #suit_set .suit_photo {
  margin-top: 5%;
  max-width: 588px;
  aspect-ratio: 148 / 211;
  @media (min-width: 992px) {
    width: 49%;
  }
  @media (max-width: 1399px) and (min-width: 1200px) {
    left: -70px;
  }
  @media (max-width: 1199px) and (min-width: 992px) {
    left: -140px;
  }
  @media (max-width: 991px) and (min-width: 768px) {
    width: 50%;
  }
  @media (max-width: 767px) {
    max-width: 500px;
    margin: 0 auto;
  }
}
#suit_set .suit_photo img.suit_set_shadow {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
#suit_set .suit_photo img.suit_set_surface {
  position: relative;
  z-index: 2;
}
#suit_set h2 {
  line-height: 1.1;
  margin-bottom: 0;
}
#ladies #suit_set h2 {
  color: #956134;
}
#suit_set h3 {
  font-weight: bold;
  margin-top: 2rem;
  margin-bottom: 1.5rem;
}
#ladies #suit_set h3 {
  color: #000;
}
#ladies #suit_set p {
  color: #000;
}
.set_price h4 {
  font-size: 45px;
  @media (max-width: 399px) {
    font-size: 40px;
  }
}
.set_price p span:not(.yen):not(.tax) {
  font-size: 30px;
}
.set_price p .yen {
  font-size: 40px;
}
.set_price p .tax {
  margin-left: 2px;
  margin-right: 2px;
}
#ladies .set_price h4,
#ladies #suit_set .set_price p {
  color: #956134;
}
.suit_price .line {
  border-left: #fff 3px solid;
  padding-left: 15px;
}
#ladies .suit_price .line {
  border-left: #000 3px solid;
}

.suit_price .line h4 {
  font-size: 37px;
  line-height: 1;
}
.suit_price .line p {
  font-size: 24px;
}
#ladies .suit_price .line h4,
#ladies .suit_price .line p {
  color: #000;
}
.suit_price p .tax {
  font-size: 14px;
  margin-left: 2px;
  margin-right: 2px;
}
.suit_price > p {
  font-size: 14px;
  text-indent: -14px;
  padding-left: 14px;
}
@media (min-width: 992px) {
  .price {
    display: flex;
    align-items: baseline;
  }
}
@media (min-width: 768px) {
  #suit_set h2 {
    font-size: 110px;
  }
  #suit_set h3 {
    font-size: 36px;
  }
  .suit_price {
    margin-left: 20px;
  }
}
@media (max-width: 991px) {
  #suit_set h2 {
    font-size: 75px;
  }
  #suit_set h3 {
    font-size: 28px;
    line-height: 1.7;
  }
  #suit_set .suit_set_text {
    line-height: 1.8;
  }
}
/*Perfect
================================*/
/*背景グラデ＆人*/
#perfect {
  position: relative;
}
#mens #perfect {
  padding-top: 0 !important;
}
#ladies #perfect {
  background-image: none;
  position: relative;
  padding-top: 23px;
  z-index: 3;
  @media (max-width: 1399px) and (min-width: 1200px) {
    padding-bottom: 120px;
  }
}
#mens #perfect .perfec_model {
  position: relative;
  background-image: url("../img/mens/perfect_bg_man.webp");
  background-repeat: no-repeat;
  z-index: 0;
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  right: 0;
}
#ladies #perfect .perfec_model {
  position: absolute;
  top: 360px;
  left: 68.5714%;
  z-index: 0;
  width: 490px;
  @media (min-width: 1400px) {
    left: calc(50% + 330px);
  }
  @media (max-width: 991px) and (min-width: 768px) {
    left: auto;
    right: -13.75%;
    width: 72.175%;
    top: 250px;
    max-width: 403px;
  }
  @media (max-width: 767px) {
    left: auto;
    right: -13.75%;
    width: 65%;
    top: 640px;
    max-width: 288px;
  }
  @media (max-width: 767px) and (min-width: 576px) {
    top: 640px;
  }
  @media (max-width: 575px) {
    top: 135vw;
  }
  @media (max-width: 399px) {
    width: 58%;
    top: 145vw;
  }
}
#perfect::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("../img/mens/perfect_bg.webp");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center bottom;
  z-index: -1;
}
#ladies #perfect::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("../img/ladies/perfect_bg.webp");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center bottom;
  z-index: -1;
}
@media (min-width: 768px) {
  #mens #perfect .perfec_model {
    background-position: top 270px right -25px;
    background-size: 491px 1372px;
  }
}
@media (min-width: 992px) {
  #mens #perfect .perfec_model {
    background-position: top 360px right -25px;
  }
}
@media (min-width: 1200px) {
  #mens #perfect .perfec_model {
    background-position: top 440px right -25px;
  }
}
@media (max-width: 767px) {
  #mens #perfect .perfec_model {
    background-position: top 500px right -45px, bottom center;
    background-size: 260px auto, cover;
  }
}

/*セットプラン*/
.set_plan {
  position: relative;
}
#mens .set_plan::before {
  content: "";
  display: inline-block;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  background-image: url("../img/mens/plus.webp");
  background-size: contain;
  @media (min-width: 1400px) {
    top: 35px;
  }
  @media (min-width: 1200px) and (max-width: 1399px) {
    top: 25px;
  }
  @media (min-width: 992px) and (max-width: 1199px) {
    top: 20px;
  }
  @media (min-width: 992px) {
    width: 60px;
    height: 60px;
  }
  @media (min-width: 768px) and (max-width: 991px) {
    top: 15px;
  }
  @media (max-width: 991px) {
    width: 50px;
    height: 50px;
  }
  @media (max-width: 767px) {
    top: -25px;
  }
}
#ladies #suit_set::before {
  content: "";
  display: inline-block;
  position: absolute;
  left: 50%;
  top: 100%;
  transform: translate(-50%, -50%);
  background-image: url("../img/ladies/plus.webp");
  background-size: contain;
  @media (min-width: 992px) {
    width: 60px;
    height: 60px;
  }
  @media (max-width: 991px) {
    width: 50px;
    height: 50px;
  }
}
.set_plan .item_price {
  border-left: #000 3px solid;
  padding-left: 15px;
  width: 96%;
  margin-left: auto;
  margin-right: auto;
}
#ladies #perfect .set_plan .item_price {
  border-left: #956134 3px solid;
  color: #956134;
}
#ladies #perfect .set_plan .item_price .price {
  justify-content: flex-start;
  font-weight: normal;
  letter-spacing: 0px;
}
.set_plan .item_photo {
  position: relative;
  display: flex;
  align-items: flex-end;
}
#ladies .set_plan .item_photo {
  justify-content: center;
}
#mens .set_plan .item_photo::after {
  content: "";
  display: inline-block;
  position: absolute;
  background-image: url("../img/mens/suit_set_plus.webp");
  background-size: contain;
}
#mens .set_plan .item_photo.shoes::after {
  display: none;
}
#ladies .set_plan .item_photo.blouse::after {
  content: "";
  display: inline-block;
  position: absolute;
  background-image: url(../img/ladies/suit_set_plus.webp);
  background-size: contain;
}
@media (min-width: 992px) {
  #ladies .set_plan .item_photo.blouse::after {
    right: -30px;
    width: 32px;
    height: 32px;
    bottom: 100px;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  #ladies .set_plan .item_photo.blouse::after {
    bottom: 70px;
  }
}
@media (max-width: 991px) {
  #ladies .set_plan .item_photo.blouse::after {
    right: -20px;
    width: 20px;
    height: 20px;
  }
}
@media (max-width: 767px) {
  #ladies .set_plan .item_photo.blouse::after {
    top: calc(100% + 90px);
    right: 50%;
    transform: translateX(50%);
    width: 25px;
    height: 25px;
  }
}
#ladies .set_plan .item_photo.bag::after {
  content: "";
  display: inline-block;
  position: absolute;
  background-image: url(../img/ladies/suit_set_or.webp);
  background-size: contain;
  aspect-ratio: 1 / 1;
}
@media (min-width: 1200px) {
  #ladies .set_plan .item_photo.bag::after {
    width: 77px;
    bottom: 80px;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  #ladies .set_plan .item_photo.bag::after {
    width: 50px;
    bottom: 90px;
  }
}

#ladies .set_plan .item_photo.bag::after {
  left: 100%;
  transform: translateX(-25%);
}
@media (min-width: 768px) and (max-width: 991px) {
  #ladies .set_plan .item_photo.bag::after {
    bottom: 60px;
  }
}
@media (max-width: 991px) {
  #ladies .set_plan .item_photo.bag::after {
    width: 40px;
  }
}
@media (max-width: 767px) {
  #ladies .set_plan .item_photo.bag::after {
    top: 50%;
    width: 45px;
  }
}
.set_plan .item_photo.shoes::after {
  display: none;
}
.set_plan .item_price .item {
  line-height: 1;
  margin-bottom: 0.5rem;
}
#ladies .set_plan .item_price .item {
  margin-bottom: 1rem;
}
.set_plan .item_price .price {
  margin-bottom: 0;
}

@media (min-width: 1400px) {
  #mens .set_plan {
    top: -65px;
  }
}
@media (min-width: 1200px) and (max-width: 1399px) {
  #mens .set_plan {
    top: -55px;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  #mens .set_plan {
    top: -50px;
  }
}
@media (min-width: 992px) {
  #mens .set_plan .item_photo::after {
    right: -30px;
    width: 32px;
    height: 32px;
    bottom: 100px;
  }
  .set_plan .item_price .item {
    font-size: 45px;
  }
  .set_plan .item_price .price {
    font-size: 24px;
  }
  .set_plan .item_price .price .tax {
    font-size: 14px;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  #mens .set_plan {
    margin-top: -40px;
  }
  #mens .set_plan .item_photo::after {
    bottom: 70px;
  }
}
@media (min-width: 768px) {
  .set_plan .item_photo.shirt {
    width: 120%;
    margin-left: -18%;
  }
  .set_plan .item_photo.shirt img {
    width: 100%;
  }
  .set_plan .item_photo.tie,
  .set_plan .item_photo.belt {
    justify-content: center;
  }
}
@media (max-width: 991px) {
  #mens .set_plan .item_photo::after {
    right: -20px;
    width: 20px;
    height: 20px;
  }
  .set_plan .item_price .item {
    font-size: 30px;
  }
  .set_plan .item_price .price {
    font-size: 15px;
    letter-spacing: 0;
  }
  .set_plan .item_price .price .tax {
    font-size: 10px;
  }
  #ladies .set_plan .item_price .item {
    font-size: 28px;
  }
  #ladies .set_plan .item_price .price {
    font-size: 15px;
  }
  #ladies .set_plan .item_price .price .tax {
    font-size: 10px;
  }
}
@media (max-width: 767px) {
  .set_plan {
    margin-left: auto;
    margin-right: auto;
  }
  #mens .set_plan {
    max-width: 380px;
  }
  .set_plan .item_photo {
    margin-top: 20px;
  }
  #mens .set_plan .item_photo::after {
    top: 50%;
    transform: translateY(-50%);
  }
  #mens .set_plan .item_photo.tie::after {
    display: none;
  }
  .set_plan .item_photo.tie::after {
    display: none;
  }
  .set_plan .item_photo img {
    margin-left: auto;
    margin-right: auto;
  }
  .set_plan .item_photo.tie img {
    width: 80%;
    margin-left: 0;
  }
  .set_plan .item_photo.belt img {
    width: 85%;
  }
  .set_plan .item_photo.shoes img {
    width: 95%;
  }
}

/*パーフェクト4点セット*/
.perfect_set_wrap {
  display: flex;
  gap: 6rem 1rem;
  justify-content: center;
  max-width: 1140px;
  margin: 200px auto 0;
  @media (max-width: 1199px) {
    flex-direction: column;
  }
  @media (max-width: 767px) {
    gap: 3.625rem 1rem;
  }
  @media (max-width: 399px) {
    gap: 6rem 1rem;
  }
}
#ladies .perfect_set_wrap {
  @media (max-width: 575px) {
    margin-top: 50vw;
  }
  @media (max-width: 399px) {
    margin-top: 55vw;
  }
}

.perfect_set {
  position: relative;
  max-width: 1050px;
  margin-top: 200px;
  margin-left: auto;
  margin-right: auto;
  background-color: rgba(255, 255, 255, 0.8);
  padding: 3%;
  border-color: #000;
  border-style: solid;
  border-top-width: 0;
  border-left-width: 2px;
  border-right-width: 2px;
  border-bottom-width: 2px;
}
#ladies .perfect_set {
  border-color: #956134;
  margin-left: 0;
  margin-right: 0;
  margin-top: 0;
}
.perfect_set::before,
.perfect_set::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0;
  height: 2px;
  background-color: #000;
}
#ladies .perfect_set::before,
#ladies .perfect_set::after {
  background-color: #956134;
}
.perfect_set::before {
  left: 0;
}
.perfect_set::after {
  margin-left: 2px;
}
.perfect_ttl {
  position: absolute;
  z-index: 2;
}
#ladies .perfect_ttl {
  color: #956134;
}
.perfect_ttl h2 {
  font-size: 75px;
}
#mens .perfect_ttl h2 {
  display: flex;
  align-items: flex-end;
}
.perfect_ttl .value img {
  position: absolute;
}
.perfect_item {
  margin-top: 1.5rem;
}
.perfect_set ul {
  list-style: none;
  padding-left: 0;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  font-weight: bold;
  margin-top: 20px;
  margin-bottom: 0;
}
#ladies .perfect_set ul {
  justify-content: center;
  gap: 5px;
  margin-bottom: 1rem;
}
#mens .perfect_set ul li:nth-child(1),
#mens .perfect_set ul li:nth-child(6) {
  color: #003c6b;
}
#ladies #perfect .price {
  color: #956134;
  font-weight: bold;
  justify-content: center;
  display: flex;
  align-items: baseline;
}
#suit_set .price {
  @media (min-width: 992px) {
    display: flex;
  }
  @media (max-width: 991px) and (min-width: 768px) {
    width: 50% !important;
    left: 50%;
    top: calc(100% + 70px);
  }
  @media (max-width: 991px) {
    font-size: 1.375rem;
    position: absolute;
    z-index: 1;
  }
  @media (max-width: 767px) {
    bottom: 0;
  }
}

#mens .perfect_set ul li:nth-child(1),
#ladies .price {
  width: 100%;
}
#ladies .price .set {
  @media (max-width: 991px) {
    font-size: 1.625rem;
  }
}
.perfect_set ul li:nth-child(1) .price .underline,
#ladies .price .underline {
  color: #231815;
  font-size: 36px;
  text-decoration: underline;
  text-underline-offset: 8px;
  text-decoration-thickness: 1px;
  margin-left: 5px;
  margin-right: 5px;
}
.perfect_set ul li:nth-child(1) .price .tax,
#ladies .price .tax {
  font-size: 14px;
}
.perfect_set ul li:nth-child(2),
.perfect_set ul li:nth-child(3),
.perfect_set ul li:nth-child(4),
.perfect_set ul li:nth-child(5) {
  color: #fff;
  font-size: 17px;
  background-color: #003c6b;
  padding: 2px;
  text-align: center;
  border-radius: 15px;
}

#ladies .perfect_set ul li {
  color: #fff;
  font-size: 17px;
  background-color: #ec6d68;
  padding: 2px;
  text-align: center;
  border-radius: 15px;
  @media (max-width: 767px) {
    font-size: 0.875rem;
  }
}
#ladies .perfect_set.perfect_set_2item ul li {
  min-width: 140px;
  @media (max-width: 1199px) {
    max-width: 250px;
  }
  @media (max-width: 399px) {
    width: 200px;
    max-width: 200px;
  }
}
#ladies .perfect_set.perfect_set_2item .perfect_item .row div {
  max-width: 206px;
  @media (max-width: 991px) {
    max-width: 285px;
  }
}
#ladies .perfect_set.perfect_set_4item ul li {
  width: calc(25% - (15px / 4));
  @media (max-width: 767px) {
    width: calc(50% - 2.5px);
  }
}
.setnum {
  font-size: 26px;
  display: inline-block;
  margin-left: 10px;
  @media (max-width: 767px) {
    font-size: 16px;
  }
}
#ladies .perfect_set.perfect_set_4item .perfect_item .row div {
  max-width: 137px;
  @media (max-width: 991px) {
    max-width: 285px;
  }
}
@media (min-width: 1200px) {
  #mens .perfect_set::after {
    left: 46%;
    width: 54%;
  }
  #ladies .perfect_set::after {
    right: 0px;
    width: calc(100% - 355px);
  }
  #mens .perfect_set ul li:nth-child(2),
  #mens .perfect_set ul li:nth-child(3),
  #mens .perfect_set ul li:nth-child(4),
  #mens .perfect_set ul li:nth-child(5) {
    max-width: 190px;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .perfect_set::after {
    left: 50%;
    width: 50%;
  }
  #mens .perfect_set ul li:nth-child(2),
  #mens .perfect_set ul li:nth-child(3),
  #mens .perfect_set ul li:nth-child(4),
  #mens .perfect_set ul li:nth-child(5) {
    max-width: 170px;
  }
}
@media (min-width: 992px) {
  .perfect_ttl {
    top: -60px;
  }
  #ladies .perfect_ttl {
    top: -45px;
  }
  .perfect_ttl h2 {
    font-size: 75px;
  }
  #ladies .perfect_ttl h2 {
    font-size: 55px;
    display: flex;
    align-items: baseline;
  }
  #ladies .perfect_ttl h2 .font_scale {
    letter-spacing: -1px;
  }
  .perfect_ttl h2 img {
    width: 138px;
    height: 38px;
    margin-left: 20px;
  }
  #ladies .perfect_ttl h2 img {
    width: 102px;
    height: auto;
    aspect-ratio: 206 / 51;
    margin-left: 10px;
  }
  #mens .perfect_set ul li:nth-child(1),
  #mens .perfect_set ul li:nth-child(6),
  #ladies .price {
    font-size: 24px;
  }
  #mens .perfect_set ul li:nth-child(6) span,
  #ladies .price .set {
    font-size: 28px;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .perfect_set::after {
    left: 50%;
    width: 50%;
  }
  .perfect_ttl {
    top: -40px;
  }
  .perfect_ttl h2 {
    font-size: 52px;
  }
  .perfect_ttl h2 img {
    width: 100px;
    height: 28px;
    margin-left: 10px;
  }
  #mens .perfect_set ul li:nth-child(2),
  #mens .perfect_set ul li:nth-child(3),
  #mens .perfect_set ul li:nth-child(4),
  #mens .perfect_set ul li:nth-child(5) {
    max-width: 117px;
  }
}
@media (min-width: 768px) {
  .perfect_set::before {
    width: 20px;
  }
  .perfect_ttl {
    left: 30px;
  }
  .perfect_ttl .value img {
    width: 126px;
    height: 126px;
    top: -50px;
    right: -170px;
  }
  #ladies .perfect_ttl .value img {
    width: 116px;
    height: auto;
    aspect-ratio: 1 / 1;
    top: -25px;
    right: auto;
    left: 330px;
  }
  #mens .perfect_set ul li:nth-child(2),
  #mens .perfect_set ul li:nth-child(3),
  #mens .perfect_set ul li:nth-child(4),
  #mens .perfect_set ul li:nth-child(5) {
    width: 20%;
    margin-right: 5px;
  }
}
@media (max-width: 991px) {
  #mens .perfect_set ul li:nth-child(1),
  #mens .perfect_set ul li:nth-child(6),
  #ladies .price {
    font-size: 22px;
  }
  #mens .perfect_set ul li:nth-child(6) span,
  #ladies .price .set {
    font-size: 26px;
  }
}
@media (max-width: 767px) {
  .perfect_set::before {
    width: 8%;
  }
  .perfect_set::after {
    right: 0;
    width: 8%;
  }
  .perfect_ttl {
    top: -25px;
    left: 0;
    width: 100%;
  }
  .perfect_ttl h2 {
    font-size: 40px;
  }
  #mens .perfect_ttl h2 {
    justify-content: center;
  }
  #ladies .perfect_ttl h2 {
    padding-left: 40px;
  }
  .perfect_ttl h2 img {
    width: 88px;
    height: 22px;
    margin-left: 5px;
  }
  #ladies .perfect_ttl h2 img {
    width: 70px;
    height: auto;
    margin-left: 5px;
  }
  .perfect_ttl .value img {
    width: 90px;
    height: 90px;
    top: -95px;
    left: 50%;
    transform: translateX(-50%);
  }
  #ladies .perfect_ttl .value img {
    width: 90px;
    height: 90px;
    top: -25px;
    left: 280px;
    transform: translateX(0);
  }
  .perfect_set ul {
    justify-content: center;
  }
  .perfect_set ul li:nth-child(1) {
    text-align: center;
  }
  #mens .perfect_set ul li:nth-child(2),
  #mens .perfect_set ul li:nth-child(3),
  #mens .perfect_set ul li:nth-child(4),
  #mens .perfect_set ul li:nth-child(5) {
    width: 48%;
    margin: 0 1% 5px;
  }
  .perfect_set ul li:nth-child(6) {
    margin-top: 10px;
  }
}
@media (max-width: 575px) {
  #mens .perfect_set ul li:nth-child(1),
  #mens .perfect_set ul li:nth-child(6),
  #ladies .price {
    font-size: 18px;
  }
  .perfect_set ul li:nth-child(1) .price .underline,
  #ladies .price .underline {
    font-size: 30px;
  }
}
@media (max-width: 399px) {
  #ladies .perfect_ttl .value img {
    width: 90px;
    height: 90px;
    top: -65px;
    left: 180px;
    transform: translateX(0);
  }
}

/*好印象ポイント*/
.good_bg {
  position: relative;
}
.good_impression {
  position: relative;
}
.good_impression::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: -80px;
  background-repeat: no-repeat;
  background-size: contain;
  @media (max-width:991px){
    top: 0;
  }
}
#mens .good_impression::after {
  background-image: url("../img/mens/good_man.webp");
  aspect-ratio: 1954 / 5000;
}
#ladies .good_impression::after {
  background-image: url("../img/ladies/good_ladies.webp");
  top: -5px;
  aspect-ratio: 840 / 1854;
}
.good_impression h2 {
  font-weight: bold;
  margin-bottom: 1.5rem;
}
.point {
  display: flex;
  align-items: flex-start;
}
.point > img {
  margin-left: 1rem;
}
.point .point_txt {
  flex: 1;
}
.point .point_txt ~ img {
  aspect-ratio: 244 / 329;
}
.point .point_txt p {
  font-weight: bold;
  line-height: 1.2;
  margin-bottom: 0;
}
@media (min-width: 1200px) {
  #mens .good_impression::after {
    width: 396px;
    left: -240px;
  }
  #ladies .good_impression::after {
    width: 420px;
    left: -270px;
  }
  .point > img {
    width: 120px;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .good_impression::after {
    width: 330px;
    left: -200px;
  }
  #ladies .good_impression::after {
    width: 360px;
    left: -220px;
  }
  .point > img {
    width: 100px;
  }
}
@media (min-width: 992px) {
  .good_impression {
    padding: 8% 10%;
  }
  .good_impression h2 {
    font-size: 38px;
  }
  .point .point_txt p {
    font-size: 22px;
  }
  .point .point_txt {
    width: 60%;
  }
  .point .point_txt h3 {
    margin-bottom: 1rem;
  }
  .good_bg {
    margin-bottom: 150px;
  }
}
@media (min-width: 992px) and (max-width: 1399px) {
  .good_impression {
    padding: 8% 1% 8% 10%;
  }
}
@media (min-width: 768px) and (max-width: 1199px) {
  .point .point_txt p {
    font-size: 18px;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .point .point_txt p {
    font-size: 18px;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .good_impression {
    padding: 6% 0 6% 10%;
  }
  .good_impression::after {
    width: 300px;
    left: -210px;
  }
  #ladies .good_impression::after {
    left: -220px;
  }
  .good_impression h2 {
    font-size: 30px;
  }
  .point {
    flex-direction: column;
    position: relative;
  }
  .point .point_txt {
    width: 100%;
  }
  .point .point_txt h3 {
    margin-bottom: 219px;
  }
  .point > img {
    width: 150px;
  }
  .point .point_txt ~ img {
    position: absolute;
    top: 63px;
    margin-left: 0;
  }
}
@media (min-width: 768px) {
  .good_bg {
    margin-top: 150px;
    background: linear-gradient(
      to right,
      rgba(0, 0, 0, 0) 0%,
      rgba(0, 0, 0, 0) 50%,
      #e8e2d4 50%,
      #e8e2d4 100%
    );
  }
  #ladies .good_bg {
    margin-bottom: 0px;
  }
  .good_bg::before {
    content: "";
    display: inline-block;
    position: absolute;
    top: 0;
    right: 0;
    width: 87px;
    height: 95%;
    background-image: url("../img/mens/good_impression_bg.webp");
    background-size: contain;
    background-position: right top;
    background-repeat: no-repeat;
    mix-blend-mode: multiply;
    opacity: 0.7;
    z-index: 1;
  }
  .good_impression {
    width: 90%;
    max-width: 1060px;
    background-color: #e8e2d4;
    margin-left: auto;
    margin-right: auto;
  }
  .point {
    margin-top: 40px;
  }
}
@media (max-width: 767px) {
  .point > img {
    width: 40%;
    max-width: 90px;
  }
}
@media (max-width: 767px) {
  .good_wrap {
    position: relative;
    width: 85%;
    background-color: #e8e2d4;
    margin-bottom: 100px;
    margin-left: auto;
    padding: 90px 20px 90px 60px;
    margin-right: calc(50% - 50vw);
  }
  .good_wrap::before {
    content: "";
    display: inline-block;
    position: absolute;
    top: 0;
    right: 5px;
    width: 100%;
    height: 100%;
    background-image: url("../img/mens/good_impression_bg.webp");
    background-size: auto 94%;
    background-repeat: no-repeat;
    background-position: top right;
    mix-blend-mode: multiply;
    opacity: 0.7;
  }
  .good_impression {
    margin-top: 80px;
  }
  .good_impression::after {
    left: -20px;
    width: 180px;
    height: 462px;
  }
  #ladies .good_impression::after {
    left: -8%;
    width: 51%;
    height: auto;
    aspect-ratio: 194 / 471;
    max-width: 204px;
  }
  .good_sp_txt {
    position: relative;
    z-index: 1;
    margin-left: auto;
  }
  .good_sp_txt h2 {
    font-size: 1.875rem;
    line-height: 1.5;
  }
  .good_sp_txt p {
    font-size: 0.875rem;
    margin-bottom: 0;
    line-height: 1.8;
  }
  .point {
    max-width: 300px;
    margin-top: 40px;
    margin-left: auto;
    margin-right: auto;
  }
  .point .point_txt h3 {
    max-width: 190px;
  }
  .point .point_txt p {
    font-size: 1rem;
    line-height: 1.8;
  }
}
@media (max-width: 575px) {
  .good_sp_txt h2 {
    font-size: 5.5vw;
  }
}

/*スーツのキホン*/
#mens #basics {
  position: relative;
  z-index: 1;
}
#mens #basics::before {
  content: "";
  display: inline-block;
  position: absolute;
  max-width: 623px;
  aspect-ratio: 623 / 318;
  background-image: url("../img/mens/basics_bg.webp");
  background-size: contain;
  mix-blend-mode: multiply;
}
#mens #basics h2 {
  font-weight: bold;
  margin-bottom: 1.5rem;
}
#mens #basics h2 .underline {
  display: block;
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-thickness: 3px;
}
#mens #basics ul {
  list-style: none;
  padding-left: 0;
}
#mens #basics ul li {
  position: relative;
  font-weight: bold;
  text-decoration: underline;
  text-underline-offset: 5px;
}
#mens #basics ul li::before {
  content: url("../img/mens/basics_list.webp");
  margin-right: 5px;
}
#mens #basics ul li:not(:last-child) {
  margin-bottom: 5px;
}
#mens #basics .suit_photo img {
  margin-left: auto;
  margin-right: 0;
  display: block;
}
#mens #basics .btn_flex {
  justify-content: flex-start;
}
@media (min-width: 1400px) {
  #mens #basics::before {
    left: 30%;
    transform: translateX(-30%);
  }
  #mens #basics .suit_photo {
    right: calc(50% - 800px);
  }
}
@media (min-width: 768px) and (max-width: 1399px) {
  #mens #basics::before {
    left: 10%;
    transform: translateX(-10%);
  }
  #mens #basics .suit_photo {
    right: -94px;
  }
}
@media (min-width: 1200px) {
  #mens #basics .suit_photo {
    top: -154px;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  #mens #basics .suit_photo {
    width: 56.6666%;
    top: -12.83333vw;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  #mens #basics .suit_photo {
    width: 48%;
    top: 0vw;
  }
}
@media (min-width: 768px) {
  #mens #basics {
    background: linear-gradient(#e1e5eb 0%, #dcdfe3 50%, #c0c2c6 100%);
    height: 700px;
  }
  #mens #basics::before {
    bottom: -1px;
    width: 55%;
  }
  #mens #basics .suit_photo {
    position: absolute;
    z-index: 0;
    max-width: 680px;
  }
  #mens #basics h2 {
    font-size: 36px;
  }
  #mens #basics h2 .underline {
    font-size: 50px;
  }
  #mens #basics ul li {
    font-size: 1.125rem;
  }
}
.ruby_wrap {
  position: relative;
  display: inline-block;
}
.ruby_wrap .ruby_text {
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(50%);
  font-size: 0.5em;
  line-height: 1;
  @media (min-width: 768px) {
    transform: translateX(-50%) translateY(25%);
  }
}
@media (max-width: 767px) {
  #mens #basics {
    text-align: center;
    background: linear-gradient(
      #e1e5eb 0%,
      #dcdfe3 25%,
      #c0c2c6 62%,
      rgba(0, 0, 0, 0) 62%,
      rgba(0, 0, 0, 0) 100%
    );
  }
  #mens #basics .suit_photo {
    position: relative;
    z-index: 0;
    max-width: 400px;
    margin-top: 50px;
    margin-left: auto;
    margin-right: auto;
  }
  #mens #basics::before {
    left: 50%;
    top: 52%;
    transform: translateX(-50%) translateY(-52%);
    width: 92%;
    max-width: 400px;
  }
  #mens #basics h2 {
    font-size: 26px;
    /* line-height: 1.2; */
  }
  /* @supports (-webkit-touch-callout: none) {
    #mens #basics h2 ruby {
      ruby-position: over; 
    }
  
    #mens #basics h2 rt {
      position: relative;
      top: -1em; 
      height: 10px;
    }
  } */
  #mens #basics h2 .underline {
    font-size: 40px;
    line-height: 1.325;
  }
  #mens #basics ul {
    display: inline-block;
    text-align: left;
  }
  #mens #basics ul li {
    font-size: 1.125rem;
    text-indent: -14px;
    padding-left: 14px;
  }
  #mens #basics ul li:not(:last-child) {
    margin-bottom: 0.75rem;
  }
}
@media (max-width: 575px) {
  #mens #basics ul li {
    font-size: 3.5vw;
    text-indent: -14px;
    padding-left: 14px;
  }
}

body#ladies #basics {
  background-image: url(../img/ladies/basic_bg_pc.webp);
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
  width: 100%;
  position: relative;
  z-index: 2;
  @media (min-width: 992px) {
    height: 860px;
  }
  @media (max-width: 991px) {
    background-image: url(../img/ladies/basic_bg_sp.webp);
    height: 530px;
    padding-top: 106px;
  }
}
body#ladies #basics_text {
  aspect-ratio: 793 / 458;
  width: 334px;
  position: relative;
  @media (max-width: 991px) {
    width: 199px;
  }
}
body#ladies #basics_text::before,
body#ladies #basics_text::after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: right bottom;
  background-size: contain;
  object-fit: contain;
  object-position: right bottom;
  width: 100%;
  height: 100%;
  position: absolute;
  bottom: 0;
  right: 0;
}
body#ladies #basics_text::before {
  background-image: url(../img/ladies/kv_text_bg.webp);
}
body#ladies #basics_text::after {
  background-image: url(../img/ladies/kv_text.webp);
  mix-blend-mode: multiply;
}
body#ladies #basics_title {
  font-size: 1.6875rem;
  color: #3e3a39;
  font-weight: 700;
  letter-spacing: 0px;
  margin-top: 2.3125rem;
  @media (max-width: 991px) {
    font-size: 1.4rem;
    margin-bottom: 2rem;
    line-height: 1.5;
  }
}
body#ladies #basics_title span {
  font-size: 3.125rem;
  display: block;
  transform: scaleX(0.885555555);
  transform-origin: top left;
  @media (max-width: 991px) {
    font-size: 1.7rem;
  }
}
body#ladies #basics_index {
  margin-top: 1rem;
  margin-bottom: 2.4375rem;
  @media (max-width: 991px) {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
  }
  @media (max-width: 767px) {
    width: 100%;
    text-align: center;
  }
}
body#ladies .basics_index_list {
  list-style: none;
  padding-left: 0;
  width: 404px;
  margin-bottom: 0;
  @media (max-width: 991px) {
    width: auto;
    display: inline-block;
  }
}
body#ladies .basics_index_list_item {
  text-align: left;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.666666666;
  padding: 0.5rem 0 0.5rem 0;
  letter-spacing: -0.74px;
  text-decoration: none;
  transition: color 0.3s;
  position: relative;
  display: flex;
  align-items: center;
  @media (min-width: 992px) {
    text-decoration: underline;
    text-underline-offset: 5px;
  }
  @media (max-width: 991px) {
    padding-bottom: 0;
    text-decoration: underline;
    text-underline-offset: 5px;
  }
  @media (max-width: 767px) {
    font-size: 1.125rem;
  }
  @media (max-width: 575px) {
    font-size: 4vw;
  }
}
body#ladies .basics_index_list_item {
  color: #3e3a39;
}
.basics_index_list_item::before {
  content: "";
  background-image: url("../img/ladies/basics_list.webp");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  display: inline-block;
  width: 10px;
  height: 1em;
  margin-right: 5px;
}
body#ladies .basics_index_list_item:hover {
  color: #0098bc;
}
body#ladies #basics .btn_link {
  margin-left: 0;
}

/*スーツスタイル*/
#suit_style {
  position: relative;
  background-image: url("../img/mens/perfect_bg.webp");
  background-size: cover;
  background-position: bottom center;
}
body#mens #suit_style {
  padding-bottom: 0;
}
body#ladies #suit_style {
  background-position: bottom center;
  @media (min-width: 768px) {
    padding-bottom: 200px;
  }
  @media (max-width: 991px) {
    padding-top: 330px;
  }
  @media (max-width: 767px) {
    padding-top: 260px;
    padding-bottom: 630px;
  }
  @media (max-width: 575px) {
    padding-bottom: 128.5%;
  }
}
#suit_style::before {
  content: "";
  display: inline-block;
  position: absolute;
  left: calc(50% - 526px);
  bottom: 100px;
  width: 81.142857%;
  max-width: 1137px;
  aspect-ratio: 1137 / 649;
  background-image: url("../img/mens/suit_style_bg.webp");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: right bottom 100px;
  z-index: 0;
}
#ladies #suit_style::before {
  content: "";
  display: inline-block;
  position: absolute;
  right: 50%;
  transform: translateX(209px);
  bottom: 39.19%;
  width: 81.142857%;
  max-width: 1137px;
  aspect-ratio: 1137 / 649;
  background-image: url("../img/mens/suit_style_bg.webp");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: right bottom;
  z-index: 0;
  @media (max-width: 1400px) {
    right: 35.0714%;
    transform: translateX(0);
  }
  @media (max-width: 767px) {
    right: -17%;
    bottom: 0;
    width: 206.25%;
  }
}
@media (max-width: 1400px) {
  #suit_style::before {
    left: 12.42857143%;
  }
  #ladies #suit_style::before {
    right: 35.0714%;
    transform: translateX(0);
  }
}
@media (max-width: 767px) {
  #suit_style::before {
    left: -31.25%;
    bottom: 0;
    width: 192.25%;
  }
  #ladies #suit_style::before {
    right: -17%;
    bottom: 0;
    width: 206.25%;
  }
}
#suit_style .container {
  position: relative;
  z-index: 1;
}
#ladies #style_sect01 {
  position: relative;
}
#suit_style .style01 {
  position: relative;
}
/*#suit_style .style01 .item01::after{
  content: '';
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  mix-blend-mode: multiply;
}*/
#style_sect02 {
  position: relative;
}
#suit_style .style02 {
  position: relative;
}
#suit_style .style02 .item01 {
  position: absolute;
  aspect-ratio: 303 / 303;
}
#suit_style .style02 .item02 {
  position: absolute;
  aspect-ratio: 22 / 27;
}
#suit_style .style03 > img {
  position: relative;
  z-index: 2;
}
#suit_style .man02 {
  position: relative;
}
#suit_style .style04 {
  position: relative;
}
#suit_style .style04 .item03 {
  position: absolute;
  aspect-ratio: 475 / 476;
}
@media (min-width: 992px) {
  #suit_style .style04 {
    top: -80px;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  #suit_style .style04 {
    top: -60px;
  }
}
@media (min-width: 768px) {
  #ladies #style_sect01 {
    aspect-ratio: 1320 / 488;
  }
  #mens #suit_style .style_ttl {
    position: relative;
    z-index: 1;
    left: -5%;
    width: 75%;
    max-width: 720px;
  }
  #ladies #suit_style .style_ttl {
    position: absolute;
    z-index: 1;
    top: 24.18%;
    left: auto;
    right: -0.833333%;
    width: 46.06%;
  }
  #suit_style .style01 {
    top: -10%;
  }
  #ladies #suit_style .style01 {
    position: relative;
    width: 68.18%;
    top: 0;
    left: 1.6666666%;
  }
  #ladies .style02 {
    position: absolute;
    width: 40.606%;
    right: 8.7121212%;
    bottom: 0;
  }
  #suit_style .style02 .item01 {
    width: 68%;
    top: -45%;
    left: -16%;
  }
  #suit_style .style02 .item02 {
    width: 69.5454545%;
    top: -9%;
    left: -53%;
  }
  #style_sect02 {
    margin-top: 100px;
  }
  #ladies #style_sect02 {
    position: relative;
    aspect-ratio: 1320 / 688;
    margin-top: 9.015%;
  }
  #mens #suit_style .style03 {
    max-width: 235px;
    width: 78.3333%;
  }
  #suit_style .style03 .man01 {
    position: absolute;
    right: 5%;
    top: -290px;
    width: 21.222%;
  }
  #ladies #suit_style .ladies01 {
    position: absolute;
    left: 28%;
    top: -13.3823%;
    width: 15.90909%;
  }
  #suit_style .man02 {
    bottom: -70px;
  }
  #suit_style .style04 .item03 {
    width: 110%;
    top: -42%;
    right: -65%;
  }
  #ladies #style_sect03 {
    position: relative;
    aspect-ratio: 1320 / 597;
    margin-top: 3.863636%;
  }
  #ladies #suit_style .style03 {
    position: relative;
    width: 32.651515%;
    top: 0;
    left: 9.92424%;
  }
  #ladies #suit_style .item01 {
    position: absolute;
    width: 21.212121%;
    top: -29.14572864%;
    left: 0;
    z-index: 5;
  }
  #ladies #suit_style .item02 {
    position: absolute;
    width: 32.848484%;
    top: -3.8526%;
    right: 0;
    z-index: 5;
  }
  #ladies #suit_style .ladies02 {
    position: absolute;
    right: 12.5%;
    top: 61.3065%;
    width: 28.10606061%;
  }
}
@media (max-width: 767px) {
  #mens #suit_style {
    padding-top: 0 !important;
  }
  #suit_style .style_ttl {
    width: 94%;
    max-width: 500px;
    margin: 0 auto;
    display: block;
  }
  #ladies #suit_style .style_ttl {
    margin-bottom: 28px;
  }
  #ladies #style_sect02 {
    position: relative;
    aspect-ratio: 400 / 292;
    margin-top: 54px;
  }
  #ladies #suit_style .ladies01 {
    position: absolute;
    left: 1.5%;
    top: 20.767%;
    width: 28.75%;
  }
  #ladies .style02 {
    position: absolute;
    width: 57.5%;
    right: 0;
    bottom: 20px;
  }
  #suit_style .style02 .item01 {
    width: 60%;
    top: -80%;
    left: 0;
  }
  #suit_style .style02 .item02 {
    width: 64.1304%;
    top: -48%;
    right: -3%;
  }
  #style_sect02 {
    margin-top: -60px;
  }
  #suit_style .style03 .man01 {
    width: 70%;
    margin: 0 auto 10px;
  }
  #suit_style .man02 {
    width: 80%;
    margin: 0 auto;
    bottom: -30px;
  }
  #ladies #style_sect03 {
    position: relative;
    aspect-ratio: 400 / 326;
    margin-top: 24%;
  }
  #ladies #suit_style .style03 {
    position: relative;
    width: 58.75%;
    top: 0;
    left: 10%;
  }
  #ladies #suit_style .item01 {
    position: absolute;
    width: 31.75%;
    top: -18.71165644%;
    right: 10%;
    z-index: 5;
  }
  #ladies #suit_style .item02 {
    position: absolute;
    width: 50.25%;
    top: 85.58282209%;
    right: 5.25%;
    z-index: 5;
  }
  #ladies #suit_style .ladies02 {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 136.8%;
    width: 80%;
  }
  #suit_style .style04 {
    margin-top: 30px;
  }
  #suit_style .style04 .item03 {
    width: 95%;
    top: -50%;
    left: -50%;
  }
}
