.page p, .page span, .page a, .page h2, .page h3 {
  line-height: 1.5;
}
.page a {
  display: block;
  -webkit-transition: all 0.3s ease-in 0s;
  transition: all 0.3s ease-in 0s;
}
.page a:hover {
  opacity: 0.6;
}
.page img {
  max-width: 100%;
  height: auto;
}
.page div, .page span, .page applet, .page object, .page iframe,
.page h1, .page h2, .page h3, .page h4, .page h5, .page h6, .page p,
.page blockquote, .page pre, .page a, .page abbr, .page acronym, .page address,
.page big, .page cite, .page code, .page del, .page dfn, .page em, .page img, .page ins, .page kbd, .page q, .page s, .page samp, .page small, .page strike, .page strong, .page sub, .page sup, .page tt, .page var, .page b, .page u, .page i, .page center,
.page dl, .page dt, .page dd, .page ol, .page ul, .page li,
.page fieldset, .page form, .page label, .page legend,
.page table, .page caption, .page tbody, .page tfoot, .page thead, .page tr, .page th, .page td,
.page article, .page aside, .page canvas, .page details, .page embed, .page figure, .page figcaption, .page footer, .page header, .page hgroup,
.page menu, .page nav, .page output, .page ruby, .page section, .page summary, .page time, .page mark, .page audio, .page video, .page picture {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.page article, .page aside, .page details, .page figcaption, .page figure, .page footer, .page header, .page hgroup, .page menu, .page nav, .page section, .page summary, .page picture {
  display: block;
}
.page *, .page *:before, .page *:after {
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}
.page button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

.l-wrap {
  overflow: initial;
}

@media screen and (min-width: 769px) {
  .view--pc {
    display: block;
  }
  .view--sp {
    display: none !important;
  }
}
@media screen and (max-width: 768px) {
  .view--pc {
    display: none !important;
  }
  .view--sp {
    display: block;
  }
}
.page .kv {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.page .kv__parts {
  position: absolute;
  opacity: 0;
  -webkit-animation: kvFadeIn 1.5s ease forwards;
          animation: kvFadeIn 1.5s ease forwards;
}
.page .kv__parts--01 {
  top: 10%;
  left: 10%;
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
  width: 75.4%;
}
.page .kv__parts--02 {
  bottom: 0;
  right: 0;
  -webkit-animation-delay: 0.6s;
          animation-delay: 0.6s;
  width: 100%;
}
.page .kv__parts--03 {
  top: 34%;
  left: 42%;
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
  width: 3.5%;
}
.page .kv__parts--04 {
  bottom: 0;
  right: 17%;
  -webkit-animation-delay: 1.4s;
          animation-delay: 1.4s;
  width: 17.8%;
}
.page .kv__parts--05 {
  bottom: 26%;
  left: 46%;
  -webkit-animation-delay: 1.8s;
          animation-delay: 1.8s;
  width: 4.8%;
}
.page .kv__parts--06 {
  bottom: 26%;
  right: 32%;
  -webkit-animation-delay: 2.2s;
          animation-delay: 2.2s;
  width: 6.3%;
}
.page .kv__parts--07 {
  bottom: 25%;
  right: 42%;
  -webkit-animation-delay: 2.6s;
          animation-delay: 2.6s;
  width: 4.3%;
}
@-webkit-keyframes kvFadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes kvFadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.page .tab {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 19.5px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  z-index: 100;
}
@media screen and (max-width: 768px) {
  .page .tab {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.page .tab a {
  width: 436px;
}
@media screen and (max-width: 768px) {
  .page .tab a {
    width: 83.3vw;
  }
}
.page .kv-background {
  position: absolute;
  top: 580px;
}
@media screen and (max-width: 768px) {
  .page .kv-background {
    top: 130vw;
  }
}
.page .auto-image {
  width: 100%;
  overflow: hidden;
  background-image: url("/ec/img/usr/pg/campaign/freshers/26aw/hakiei.png");
  background-size: cover;
  background-repeat: no-repeat;
  height: auto;
  padding: 194px 0 127.5px;
  position: relative;
  z-index: 100;
  margin-top: 58px;
}
@media screen and (max-width: 768px) {
  .page .auto-image {
    background-image: url("/ec/img/usr/pg/campaign/freshers/26aw/hiakei-sp.png");
    background-size: contain;
    padding: 19.8vw 0 21.3vw;
    margin-top: 13.8vw;
  }
}
.page .auto-image__track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 4867px;
  will-change: transform;
  -webkit-animation: none;
          animation: none;
}
@media screen and (max-width: 768px) {
  .page .auto-image__track {
    width: 646.4vw;
  }
}
.page .auto-image__track img {
  display: block;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  max-width: none;
  height: auto;
}
.page .auto-image__track img:nth-child(1) { width: 38.0111%; }
.page .auto-image__track img:nth-child(2) { width: 35.6482%; }
.page .auto-image__track img:nth-child(3) { width: 26.3407%; }

.page .auto-image.is-start .auto-image__track {
  -webkit-animation: scrollImage 30s linear infinite;
          animation: scrollImage 30s linear infinite;
}
@-webkit-keyframes scrollImage {
  from {
    -webkit-transform: translateX(193px);
            transform: translateX(193px);
  }
  to {
    -webkit-transform: translateX(-90%);
            transform: translateX(-90%);
  }
}
@keyframes scrollImage {
  from {
    -webkit-transform: translateX(193px);
            transform: translateX(193px);
  }
  to {
    -webkit-transform: translateX(-90%);
            transform: translateX(-90%);
  }
}
.page .background-bottom {
  position: absolute;
  top: 1685px;
}
.page .unmei {
  margin: 80px 0;
  position: relative;
  background-image: url("/ec/img/usr/pg/campaign/freshers/26aw/unmei-suit-sakura.png");
  background-repeat: no-repeat;
  background-size: cover;
  padding-bottom: 150px;
  height: auto;
  width: 100%;
  position: relative;
}
@media screen and (max-width: 768px) {
  .page .unmei {
    margin: 13vw auto 16.7vw;
    background-image: none;
    padding-bottom: unset;
  }
}
.page .unmei-title {
  max-width: 498px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .page .unmei-title {
    max-width: 70.3vw;
  }
}
.page .unmei .image-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 1200px;
  height: 800px;
  margin: 0 auto;
  overflow: hidden;
  margin-top: 66px;
}
@media screen and (max-width: 768px) {
  .page .unmei .image-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 7.3vw;
    width: 89.6vw;
    height: auto;
    margin-top: 7.3vw;
  }
}
.page .unmei .image-fixed {
  width: 50%;
  height: 800px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .page .unmei .image-fixed {
    width: 100%;
    height: auto;
  }
}
.page .unmei .image-fixed img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.page .unmei .image-scroll-wrap {
  position: relative;
  width: 50%;
  height: 800px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  background-color: #FBDAC8;
}
@media screen and (max-width: 768px) {
  .page .unmei .image-scroll-wrap {
    width: 100%;
    height: 119.4vw;
  }
}
.page .unmei .image-scroll {
  width: 100%;
  height: 100%;
  overflow-y: scroll;
  overflow-x: hidden;
  scrollbar-width: none;
}
.page .unmei .image-scroll::-webkit-scrollbar {
  display: none;
}
.page .unmei .image-scroll img {
  display: block;
  width: 100%;
  height: auto;
}
.page .unmei .scroll-button {
  position: absolute;
  left: 50%;
  bottom: 30px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  cursor: pointer;
  z-index: 10;
  opacity: 1;
  visibility: visible;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 768px) {
  .page .unmei .scroll-button {
    bottom: 3.4vw;
  }
}
.page .unmei .scroll-button img {
  max-width: 96px;
}
@media screen and (max-width: 768px) {
  .page .unmei .scroll-button img {
    max-width: 25.5vw;
  }
}
.page .omatome {
  width: 100%;
  background: url("/ec/img/usr/pg/campaign/freshers/26aw/haikei-omatome.png");
  background-repeat: no-repeat;
  background-size: cover;
  padding: 100px 0;
  position: relative;
}
@media screen and (max-width: 768px) {
  .page .omatome {
    background: url("/ec/img/usr/pg/campaign/freshers/26aw/haikei-omatome-sp.png");
    padding: 16.7vw 0 0;
    background-size: cover;
  }
}
.page .omatome-top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
}
@media screen and (max-width: 768px) {
  .page .omatome-top {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 5.9vw;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.page .omatome-top-ladies {
  max-width: 198px;
  height: 240px;
}
@media screen and (max-width: 768px) {
  .page .omatome-top-ladies {
    max-width: 29vw;
    height: 35.2vw;
  }
}
.page .omatome-top-mens {
  max-width: 231px;
  height: 240px;
}
@media screen and (max-width: 768px) {
  .page .omatome-top-mens {
    max-width: 33.9vw;
    height: 35.8vw;
  }
}
.page .omatome-top-title {
  max-width: 611px;
}
@media screen and (max-width: 768px) {
  .page .omatome-top-title {
    max-width: 89.6vw;
  }
}
@media screen and (max-width: 768px) {
  .page .omatome-top-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 5.2vw;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.page .omatome-set {
  max-width: 62.5%;
  display: block;
  margin: 64px auto 0;
}
@media screen and (max-width: 768px) {
  .page .omatome-set {
    max-width: 89.6vw;
    margin-top: 8.3vw;
  }
}
.page .omatome-bottom {
  position: absolute;
  max-width: 11%;
  display: block;
  bottom: 0;
  left: 3%;
}
.page .choice {
  margin: 128px auto;
  max-width: 1200px;
}
@media screen and (max-width: 768px) {
  .page .choice {
    margin: 16.7vw auto;
    max-width: 89.6vw;
  }
}
.page .choice-title {
  max-width: 485px;
  margin: 0 auto;
  display: block;
}
@media screen and (max-width: 768px) {
  .page .choice-title {
    max-width: 89.6vw;
  }
}
.page .choice-flex {
  margin-top: 32px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 768px) {
  .page .choice-flex {
    margin-top: 4.2vw;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 4.2vw;
  }
}
.page .choice-item {
  display: grid;
  grid-template-columns: 268px 1fr;
  grid-template-rows: 1fr auto auto auto 1fr;
  width: 590px;
  max-width: 100%;
  height: 500px;
  padding: 20px;
  background: linear-gradient(90deg, transparent 14px, #fff 14px, #fff 16px, transparent 16px) 0 0/30px 30px, linear-gradient(transparent 14px, #fff 14px, #fff 16px, transparent 16px) 0 0/30px 30px, #ebf5ec;
  font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", "YuGothic", "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", "sans-serif";
}
@media screen and (max-width: 768px) {
  .page .choice-item {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr auto auto 1fr auto;
    width: 89.6vw;
    height: auto;
    padding: 4.2vw;
    background-size: 7.8vw 7.8vw, 7.8vw 7.8vw, auto;
  }
}
.page .choice-item-photo {
  position: relative;
  grid-column: 1;
  grid-row: 1/6;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .page .choice-item-photo {
    grid-row: 1/5;
    height: 77.1vw;
  }
}
.page .choice-item-photo img {
  position: absolute;
  max-width: none;
}
.page .choice-item-name, .page .choice-item-list, .page .choice-item-price {
  grid-column: 2;
  margin-right: 20px;
}
@media screen and (max-width: 768px) {
  .page .choice-item-name, .page .choice-item-list, .page .choice-item-price {
    margin-right: 0;
  }
}
.page .choice-item-name {
  grid-row: 2;
  margin-bottom: 16px;
}
@media screen and (max-width: 768px) {
  .page .choice-item-name {
    margin-bottom: 4.2vw;
  }
}
.page .choice-item-name img {
  display: block;
}
.page .choice-item-name p {
  margin: 8px 0 0;
  color: #a48b78;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .page .choice-item-name p {
    margin-top: 2.1vw;
    font-size: 3.8vw;
  }
}
.page .choice-item-name p span {
  font-size: 14px;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .page .choice-item-name p span {
    font-size: 2.9vw;
  }
}
.page .choice-item-list {
  grid-row: 3;
  margin-bottom: 16px;
  padding: 18px;
  background-color: #fff;
  color: #5c3f28;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .page .choice-item-list {
    margin-bottom: 0;
    padding: 3.1vw;
  }
}
.page .choice-item-list ul {
  margin: 0;
  padding: 0 0 12px;
  list-style: none;
  column-count: 2;
  column-gap: 0;
}
@media screen and (max-width: 768px) {
  .page .choice-item-list ul {
    padding-bottom: 2.1vw;
    column-count: 1;
  }
}
.page .choice-item-list li {
  font-size: 14px;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .page .choice-item-list li {
    font-size: 2.9vw;
    line-height: 1.4;
  }
}
.page .choice-item-list a {
  display: inline-block;
  color: inherit;
  line-height: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.page .choice-item-total {
  margin: 2px 0 0;
  padding-top: 4px;
  border-top: 1px solid #5c3f28;
  font-size: 14px;
  line-height: 1.6;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .page .choice-item-total {
    font-size: 2.9vw;
  }
}
.page .choice-item-total span {
  line-height: inherit;
  vertical-align: baseline;
}
@media screen and (max-width: 768px) {
  .page .choice-item-total span {
    display: block;
  }
}
.page .choice-item-price {
  grid-row: 4;
  background-color: #fff;
  color: #e2536b;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .page .choice-item-price {
    grid-column: 1/3;
    grid-row: 5;
    margin-top: 3.1vw;
  }
}
.page .choice-item-price-head {
  margin: 0;
  padding: 6px 10px;
  background-color: #e2536b;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.1;
}
@media screen and (max-width: 768px) {
  .page .choice-item-price-head {
    padding: 1.6vw 2.6vw;
    font-size: 3.1vw;
  }
}
.page .choice-item-price-body {
  padding: 6px 10px 10px;
}
@media screen and (max-width: 768px) {
  .page .choice-item-price-body {
    padding: 1.6vw 2.6vw 2.6vw;
  }
}
.page .choice-item-price-count {
  margin: 0 0 -6px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.1;
}
@media screen and (max-width: 768px) {
  .page .choice-item-price-count {
    margin-bottom: 0;
    font-size: 3.1vw;
  }
}
.page .choice-item-price-count span {
  font-size: 18px;
  line-height: 1.1;
  vertical-align: baseline;
}
@media screen and (max-width: 768px) {
  .page .choice-item-price-count span {
    font-size: 4.7vw;
  }
}
.page .choice-item-price-total {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .page .choice-item-price-total {
    font-size: 3.6vw;
  }
}
.page .choice-item-price-total span {
  font-size: 30px;
  line-height: 1.6;
  vertical-align: baseline;
}
@media screen and (max-width: 768px) {
  .page .choice-item-price-total span {
    font-size: 6.8vw;
  }
}
.page .choice-item-price-off {
  margin: 4px 0 0;
  padding: 4px 10px;
  border: 0.84px solid #e2536b;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.1;
}
@media screen and (max-width: 768px) {
  .page .choice-item-price-off {
    margin-top: 1vw;
    padding: 1vw 2.6vw;
    font-size: 3.6vw;
  }
}
.page .choice-item-note{
  position: absolute;
  bottom: 15px;
  right: 15px;
}
@media screen and (max-width: 768px) {
  .page .choice-item-note{
    bottom: 2.6vw;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    width: max-content;
    right: unset;
  }
}
.page .choice-item-note-text{
  font-size: 11px;
  color: red;
}
@media screen and (max-width: 768px) {
  .page .choice-item-note-text{
    font-size: 2.8vw;
  }
}
.page .choice-item--01 .choice-item-photo img {
  top: 15px;
  left: 64px;
  width: 145px;
}
@media screen and (max-width: 768px) {
  .page .choice-item--01 .choice-item-photo img {
    top: 2.8vw;
    left: 9.2vw;
    width: 23.7vw;
  }
}
.page .choice-item--01 .choice-item-name img {
  width: 115px;
}
@media screen and (max-width: 768px) {
  .page .choice-item--01 .choice-item-name img {
    width: 20.4vw;
  }
}
.page .choice-item--02{
  position: relative;
}
@media screen and (max-width: 768px) {
  .page .choice-item--02{
    padding-bottom: 8.2vw;
  }  
}
.page .choice-item--02 .choice-item-photo img {
  top: 12px;
  left: 64px;
  width: 133px;
}
@media screen and (max-width: 768px) {
  .page .choice-item--02 .choice-item-photo img {
    top: 2.4vw;
    left: 6.9vw;
    width: 21.6vw;
  }
}
.page .choice-item--02 .choice-item-name img {
  width: 105px;
}
@media screen and (max-width: 768px) {
  .page .choice-item--02 .choice-item-name img {
    width: 22vw;
  }
}
.page .choice-item--03 .choice-item-photo img {
  top: 7px;
  left: 73px;
  width: 154px;
}
@media screen and (max-width: 768px) {
  .page .choice-item--03 .choice-item-photo img {
    top: 2vw;
    left: 7.7vw;
    width: 25.4vw;
  }
}
.page .choice-item--03 .choice-item-name img {
  width: 87px;
}
@media screen and (max-width: 768px) {
  .page .choice-item--03 .choice-item-name img {
    width: 18.2vw;
  }
}
.page .choice-item--04 .choice-item-photo img {
  top: 0;
  left: 46px;
  width: 160px;
}
@media screen and (max-width: 768px) {
  .page .choice-item--04 .choice-item-photo img {
    left: 5.2vw;
    width: 27.6vw;
  }
}
.page .choice-item--04 .choice-item-name img {
  width: 113px;
}
@media screen and (max-width: 768px) {
  .page .choice-item--04 .choice-item-name img {
    width: 23.6vw;
  }
}
.page .profile {
  margin: 128px auto 0;
  max-width: 1200px;
}
@media screen and (max-width: 768px) {
  .page .profile {
    margin: 16.7vw auto 0;
    max-width: 89.6vw;
  }
}
.page .profile-top {
  max-width: 686px;
  display: block;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .page .profile-top {
    max-width: 89.6vw;
  }
}
.page .profile-bangumi {
  max-width: 800px;
  margin: 67px auto 0;
  display: block;
}
@media screen and (max-width: 768px) {
  .page .profile-bangumi {
    max-width: 89.6vw;
    margin-top: 10.4vw;
  }
}
.page .profile-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 40px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 67px;
}
@media screen and (max-width: 768px) {
  .page .profile-flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 6.3vw;
    margin-top: 10.4vw;
  }
}
.page .profile-flex img {
  max-width: 496px;
}
@media screen and (max-width: 768px) {
  .page .profile-flex img {
    max-width: 89.6vw;
  }
}
.page .info {
  margin-top: 128px;
}
@media screen and (max-width: 768px) {
  .page .info {
    margin-top: 16.7vw;
  }
}
.page .info .styling-top {
  font-size: 18px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .page .info .styling-top {
    font-size: 4.7vw;
    font-weight: bold;
  }
}
.page .info .styling-title {
  font-size: 24px;
  text-align: center;
  font-weight: bold;
  line-height: 1.4;
  margin-top: 16px;
}
@media screen and (max-width: 768px) {
  .page .info .styling-title {
    font-size: 6.3vw;
    margin-top: 4.2vw;
  }
}
.page .info .styling img {
  max-width: 900px;
  display: block;
  margin: 32px auto 0;
}
@media screen and (max-width: 768px) {
  .page .info .styling img {
    max-width: 89.6vw;
    margin-top: 8.3vw;
  }
}
.page .info .styling .btn-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 27px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 32px;
}
@media screen and (max-width: 768px) {
  .page .info .styling .btn-flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 7vw;
    margin-top: 8.3vw;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.page .info .styling .btn-flex a {
  width: 344px;
  border: #000 solid 1px;
  padding: 25px 0;
  font-size: 16px;
  text-align: center;
  font-weight: bold;
  position: relative;
}
@media screen and (max-width: 768px) {
  .page .info .styling .btn-flex a {
    width: 89.6vw;
    padding: 6.5vw 0;
    font-size: 4.2vw;
  }
}
.page .info .styling .btn-flex a::after {
  content: "";
  background: url("/ec/img/usr/pg/campaign/freshers/26aw/arrow.png");
  background-size: cover;
  background-repeat: no-repeat;
  width: 28px;
  height: 7px;
  display: inline-block;
  position: absolute;
  top: 43%;
  right: 26px;
}
@media screen and (max-width: 768px) {
  .page .info .styling .btn-flex a::after {
    width: 7.3vw;
    height: 1.8vw;
    right: 6.8vw;
  }
}
.page .info .coupon {
  margin-top: 80px;
}
@media screen and (max-width: 768px) {
  .page .info .coupon {
    margin-top: 10.4vw;
  }
}
.page .info .coupon .coupon-title {
  font-size: 18px;
  text-align: center;
  margin-bottom: 4px;
}
@media screen and (max-width: 768px) {
  .page .info .coupon .coupon-title {
    font-size: 3.6vw;
  }
}
.page .info .coupon a {
  max-width: 534px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .page .info .coupon a {
    max-width: 89.6vw;
  }
}
.page .info .coupon a img {
  width: 100%;
}
.page .info .order {
  margin-top: 80px;
}
@media screen and (max-width: 768px) {
  .page .info .order {
    margin-top: 10.4vw;
  }
}
.page .info .order-top {
  font-size: 18px;
  line-height: 1.4;
  text-align: center;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .page .info .order-top {
    font-size: 3.6vw;
    line-height: 1.6;
  }
}
.page .info .order-title {
  font-size: 24px;
  text-align: center;
  line-height: 1.4;
  margin-top: 16px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .page .info .order-title {
    font-size: 4.7vw;
    line-height: 1.6;
    margin-top: 0.8vw;
  }
}
.page .info .order a {
  margin: 32px auto 0;
  max-width: 534px;
}
@media screen and (max-width: 768px) {
  .page .info .order a {
    margin-top: 8.3vw;
    max-width: 89.6vw;
  }
}
.page .info .order a img {
  width: 100%;
}

.cm-area{
  max-width: 728px;
  margin: 80px auto 128px;
  display: flex;
  flex-direction: column;
  gap: 32px;
}
.cm-title{
  max-width: 315px;
  margin: 0 auto;
}
.cm-content{
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.cm-content .cm-content-title{
  font-size: 16px;
  line-height: 1.6;
  text-align: center;
}
.cm-content iframe{
  aspect-ratio: 16 / 9;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .cm-area{
    max-width: 89.6vw;
    margin: 16.6vw auto;
    gap: 6.23vw;
  }
  .cm-title{
    max-width: 48.57vw;
  }
  .cm-content{
    gap: 3.11vw;
  }  
  .cm-content .cm-content-title{
    font-size: 4.15vw;
  }  
}

/* ============================================================
   26AW フレッシャーズ index（ハンバーガーメニュー部分のみ）
   参照Figma: index_pc (130:2104) / index_sp (6090:1264)
             menu_side (6639:1271) / menu-sp (6639:3061)
   PC: Figma 1920 / SP: Figma 384（max-width: 767px）
   ============================================================ */

/* ---------- Design Tokens（foundations.css より） ---------- */
:root {
  --color-neutral-white: #FFFFFF;
  --color-neutral-black: #000000;
  --color-neutral-off-black: #333333;

  --font-size-h4: 18px;
  --font-weight-500: 500;
  --font-weight-700: 700;

  /* Figma固有色 */
  --color-menu-bg: #FDEFE8;
  --color-menu-bullet: #E2536B; /* pink_text */
  --color-mens-bg: #E9F2FD;
  --color-mens-text: #056CB8;
  --color-ladies-bg: #FFEFF5;
  --color-ladies-text: #E62D78;
}

@media (max-width: 767px) {
  :root {
    --font-size-h4: 16px;
  }
}

/* ---------- リセット・ページ全体 ---------- */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  color: var(--color-neutral-off-black);
  background: var(--color-neutral-white);
  line-height: 1.6;
}

ul { list-style: none; }

a {
  color: inherit;
  text-decoration: none;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* ---------- PC / SP 出し分け ---------- */
.sp { display: none; }

/* ---------- header / footer（案件の共通ヘッダー・フッターに差し替え） ---------- */
/* ---------- 仮：indexページのデザイン画像 ---------- */
/* 1920px画像を中央基準で表示（SPは幅いっぱい） */
.site-header,
.site-footer,
.index-dummy {
  width: 100%;
  overflow: hidden;
}
.site-header img,
.site-footer img,
.index-dummy img {
  width: 1920px;
  max-width: none;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}

/* ============================================================
   ハンバーガーメニュー（menu_side）
   PC：パネル幅614 / 開くボタン ヘッダー下+27（30, 150）→スクロールで（30, 30）に固定
   SP：パネル幅いっぱい・ヘッダー下から / 開くボタン ヘッダー下+10（10, 74）→（10, 10）
   JSで渡す値：--menu-scroll（スクロール量）/ --menu-header-h（.site-header の高さ）
   ※ヘッダー差し替えで高さが変わっても、ヘッダー下基準の位置を保つ
   ============================================================ */
.is-menu-open,
.is-menu-open body { overflow: hidden; }

/* 開くボタンとメニューの位置を変数にまとめる（閉じるボタンを開くボタンに重ねるため） */
:root {
  --menu-open-top: max(115px, calc(var(--menu-header-h, 155px) + 27px - var(--menu-scroll, 0px)));
  --menu-side-top: max(0px, calc(var(--menu-header-h, 55px) - var(--menu-scroll, 0px)));
}

/* 開く・閉じるボタン共通（Figma: menu_btn 70x70） */
.menu-open-btn,
.menu-side__close {
  display: block;
  width: 70px;
  height: 70px;
  border: 0;
  border-radius: 50%; /* フォーカス枠を円形に */
  background: transparent;
  cursor: pointer;
}
.menu-open-btn img,
.menu-side__close img {
  width: 100%;
  height: 100%;
}
.menu-open-btn:hover,
.menu-side__close:hover { opacity: 0.8; }

.menu-open-btn {
  position: fixed;
  top: var(--menu-open-top);
  left: 30px;
  z-index: 200;
}

.menu-side {
  position: fixed;
  inset: 0;
  z-index: 300;
  visibility: hidden;
  transition: visibility 0.4s;
  top: var(--menu-side-top);
}
.menu-side.is-open { visibility: visible; }

/* オーバーレイ（Figma: rgba(0,0,0,.42)） */
.menu-side__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.42);
  opacity: 0;
  transition: opacity 0.4s ease-out;
}
.menu-side.is-open .menu-side__overlay { opacity: 1; }

/* パネル（Figma: menu-open 614x1104 / リスト top201） */
.menu-side__panel {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 614px;
  max-width: 100%;
  padding: 0 0 80px;
  overflow-y: auto;
  overscroll-behavior: contain;  
  background: var(--color-menu-bg);
  transform: translateX(-100%);
  transition: transform 0.4s ease-out;
}
.menu-side.is-open .menu-side__panel { transform: none; }

.menu-side__close {
  --menu-close-top: calc(var(--menu-open-top) - var(--menu-side-top));
  position: sticky;     /* パネルをスクロールしても上に残す */
  top: var(--menu-close-top);
  z-index: 1;
  margin: var(--menu-close-top) 0 0 30px;
}

/* 項目リスト（Figma: left89 / gap17 / 行頭ピンクの点） */
.menu-side__list {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 17px;
  margin-left: 89px;
}

.menu-side__item {
  position: relative;
  padding-left: 35px;
  font-size: var(--font-size-h4);
  font-weight: var(--font-weight-500);
  line-height: 1.6;
  white-space: nowrap;
}
.menu-side__item::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 9px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--color-menu-bullet);
  transform: translateY(-50%);
}
.menu-side__item a {
  color: var(--color-neutral-black);
  text-decoration: underline;
  text-underline-position: from-font;
}
.menu-side__item a:hover { opacity: 0.8; }

/* メンズ／レディースボタン（Figma: M_btn 349x73 / left102 / gap22） */
.menu-side__btns {
  display: flex;
  flex-direction: column;
  gap: 22px;
  margin: 71px 0 0 102px;
}

.menu-side__btn {
  display: block;
  width: 349px;
  height: 73px;
  padding: 10px;
  border: 1px solid var(--color-neutral-black);
  background: var(--color-neutral-white);
}
.menu-side__btn:hover { opacity: 0.8; }

.menu-side__btn-inner {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding-right: 27px; /* 文字を矢印分左寄せ（Figma実測） */
  font-size: 18px;
  font-weight: var(--font-weight-700);
  line-height: 1.6;
  white-space: nowrap;
}
.menu-side__btn-inner::after { /* 矢印（Figma: パス7） */
  content: "";
  position: absolute;
  top: 50%;
  right: 22px;
  width: 26.88px;
  height: 7.27px;
  background: url("/ec/img/usr/pg/campaign/freshers/26aw/arrow_menu.svg") no-repeat center / 100% 100%;
  transform: translateY(-50%);
}

.menu-side__btn.-mens .menu-side__btn-inner {
  background: var(--color-mens-bg);
  color: var(--color-mens-text);
}
.menu-side__btn.-ladies .menu-side__btn-inner {
  background: var(--color-ladies-bg);
  color: var(--color-ladies-text);
}

@media (prefers-reduced-motion: reduce) {
  .menu-side,
  .menu-side__overlay,
  .menu-side__panel { transition: none; }
}
/* ============================================================
   SP（〜767px）
   ============================================================ */
@media (max-width: 767px) {

  /* PC / SP 出し分け */
  .pc { display: none; }
  .sp { display: block; }
  :root {
    --menu-open-top: max(85px, calc(var(--menu-header-h, 31.2vw) + 10px - var(--menu-scroll, 0px)));
    --menu-side-top: max(-6px, calc(var(--menu-header-h, 8.1vw) - var(--menu-scroll, 0px)));
  }
  .site-header img,
  .site-footer img,
  .index-dummy img {
    width: 100%;
    left: 0;
    transform: none;
  }

  /* 開くボタン（Figma: 60x60 / left10 top74） */
  .menu-open-btn {
    top: var(--menu-open-top);
    left: 10px;
    width: 15.6vw;
    height: auto;
  }

  /* オーバーレイなし・ヘッダー下（スクロール時は画面上端）から表示 */
  .menu-side { top: var(--menu-side-top); }
  .menu-side__overlay { display: none; }

  .menu-side__panel {
    width: 100%;
    padding: 0 0 60px;
  }

  .menu-side__close {
    top: var(--menu-close-top);
    left: 10px;
    width: 15.6vw;
    height: auto;
  }

  /* 項目リスト（Figma: left57 / gap16） */
  .menu-side__list {
    gap: 4.16vw;
    margin-left: 14.8vw;
  }
  .menu-side__item { padding-left: 32px; }
  .menu-side__item::before {
    width: 5px;
    height: 5px;
  }
  .menu-side__item a{ font-size: 4.16vw; }
  /* メンズ／レディースボタン（Figma: 252x52.7 / left66 / gap10.5） */
  .menu-side__btns {
    gap: 10.5px;
    margin: 11.2vw 0 0 17.2vw;
  }
  .menu-side__btn {
    width: 65.6vw;
    height: 13.7vw;
    padding: 1.9vw;
    border-width: 0.72px;
  }
  .menu-side__btn-inner {
    padding-right: 4.9vw;
    font-size: 3.4vw;
  }
  .menu-side__btn-inner::after {
    right: 16px;
    width: 19.41px;
    height: 5.25px;
  }
}
