@charset "UTF-8";
.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;
  transform: translateZ(0);
}
.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 !important;
  }
  .view--sp {
    display: none !important;
  }
}
@media screen and (max-width: 768px) {
  .view--pc {
    display: none !important;
  }
  .view--sp {
    display: block !important;
  }
}
.pane-main {
  margin: 0 !important;
  padding: 0 !important;
}

.page {
  overflow: hidden;
  background: #f4f4f4;
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ ProN W3", "ヒラギノ角ゴ Pro W3", sans-serif;
}
.page p {
  font-weight: 500;
}
.page .mb-0 {
  margin-bottom: 0 !important;
}
.page {
  /*=============================
   kv
  =============================*/
}
.page .anchor {
  position: fixed;
  bottom: 40px;
  right: 70px;
  width: 200px;
  z-index: 100;
}
@media screen and (max-width: 768px) {
  .page .anchor {
    width: 28.6vw;
    bottom: 16.3vw;
    right: 0.3vw;
  }
}
.page .kv {
  position: relative;
  aspect-ratio: 16/9;
}
@media screen and (max-width: 768px) {
  .page .kv {
    aspect-ratio: 1800/2232;
  }
}
.page .kv .kv__movie {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  height: 100%;
  aspect-ratio: 16/9;
}
@media screen and (max-width: 768px) {
  .page .kv .kv__movie {
    aspect-ratio: 1800/2232;
  }
}
.page .kv .kv__loading {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  aspect-ratio: 16/9;
  background-size: 100% auto;
  background-position: top center;
  background-repeat: no-repeat;
}
.page .kv .kv__loading .kv__loading__anime {
  width: 100%;
  height: calc(100vh - 122px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 768px) {
  .page .kv .kv__loading .kv__loading__anime {
    height: calc(100vh - 64px);
    height: calc(100dvh - 64px);
  }
}
.page .kv .kv__loading .kv__loading__anime .dots {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.page .kv .kv__loading .kv__loading__anime .dots .dot {
  width: 14px;
  height: 14px;
  margin: 0 7px;
  background-color: #fff;
  border-radius: 50%;
  -webkit-animation: dot-pulse 1.5s ease-in-out infinite;
          animation: dot-pulse 1.5s ease-in-out infinite;
}
.page .kv .kv__loading .kv__loading__anime .dots .dot:nth-child(1) {
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
}
.page .kv .kv__loading .kv__loading__anime .dots .dot:nth-child(2) {
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}
.page .kv .kv__loading .kv__loading__anime { /* Fixed delays for simplicity */ }
.page .kv .kv__loading .kv__loading__anime .dots .dot:nth-child(3) {
  -webkit-animation-delay: 0.4s;
          animation-delay: 0.4s;
}
@-webkit-keyframes dot-pulse {
  0%, 100% {
    -webkit-transform: scale(0.7);
            transform: scale(0.7);
    opacity: 0.7;
  }
  50% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}
@keyframes dot-pulse {
  0%, 100% {
    -webkit-transform: scale(0.7);
            transform: scale(0.7);
    opacity: 0.7;
  }
  50% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}
.page .kv video {
  width: 100%;
  height: 100%;
}
.page .kv .js-video-button {
  position: absolute;
  z-index: 100;
  top: 10px;
  left: 10px;
  width: 40px;
  height: 40px;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  background-image: url(/ec/img/usr/pg/c/minna-no-series/2026/no_sound.svg);
}
@media screen and (max-width: 768px) {
  .page .kv .js-video-button {
    width: 3.9vw;
    height: 3.9vw;
  }
}
.page .kv .js-video-button.is-on {
  background-image: url(/ec/img/usr/pg/c/minna-no-series/2026/on_sound.svg);
}
.page .bg-01 {
  background-image: url(/ec/img/usr/pg/campaign/freshers-omatome/bg01_pc.png);
  background-size: cover;
  background-repeat: no-repeat;
  padding: 100px 0 145px;
}
@media screen and (max-width: 768px) {
  .page .bg-01 {
    background-image: none;
    padding: 0 0 13vw;
  }
}
.page .bg-02 {
  background-image: url(/ec/img/usr/pg/campaign/freshers-omatome/bg02_pc.png);
  background-size: cover;
  background-repeat: no-repeat;
  padding: 140px 0 50px;
}
@media screen and (max-width: 768px) {
  .page .bg-02 {
    background-image: none;
    padding: 13vw 0 6.5vw;
  }
}
.page .bg-03 {
  background-image: url(/ec/img/usr/pg/campaign/freshers-omatome/bg03_pc.png);
  background-size: cover;
  background-repeat: no-repeat;
  padding: 140px 0;
}
@media screen and (max-width: 768px) {
  .page .bg-03 {
    background-image: none;
    padding: 13vw 0;
  }
}
@media screen and (max-width: 768px) {
  .page .bg-sp {
    background-image: url(/ec/img/usr/pg/campaign/freshers-omatome/bg_sp.png?2026);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    padding: 13vw 0;
    transform: translateZ(0);
  }
}
.page .omatome {
  max-width: 1200px;
  display: block;
  width: 96%;
  margin: 0 auto 150px;
}
@media screen and (max-width: 768px) {
  .page .omatome {
    width: 100%;
    margin-bottom: 13vw;
  }
}
.page .omatome-fujioka {
  width: 188px;
  display: block;
  margin: 0 auto 50px;
}
@media screen and (max-width: 768px) {
  .page .omatome-fujioka {
    width: 24.5vw;
    margin-bottom: 6.5vw;
  }
}
.page .omatome-heading {
  width: 900px;
  display: block;
  margin: 0 auto 46px;
}
@media screen and (max-width: 768px) {
  .page .omatome-heading {
    display: none;
  }
}
.page .omatome-tab {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 auto 34px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 32px;
}
@media screen and (max-width: 768px) {
  .page .omatome-tab {
    gap: 4.2vw;
    margin-bottom: 5.5vw;
  }
}
.page .omatome-tab .tab-btn {
  width: 300px;
  cursor: pointer;
  font-size: 28px;
  font-weight: bold;
  padding: 13px 0;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .page .omatome-tab .tab-btn {
    width: 38.7vw;
    font-size: 3.6vw;
    padding: 1.8vw 0;
  }
}
.page .omatome-tab .mens-btn {
  border: 3px solid #4A90E2;
  color: #4A90E2;
}
@media screen and (max-width: 768px) {
  .page .omatome-tab .mens-btn {
    border: 0.4vw solid #4A90E2;
  }
}
.page .omatome-tab .mens-btn.active {
  background: #4A90E2;
  color: #fff;
  pointer-events: none;
}
.page .omatome-tab .ladies-btn {
  border: 3px solid #FF69B4;
  color: #FF69B4;
}
@media screen and (max-width: 768px) {
  .page .omatome-tab .ladies-btn {
    border: 0.4vw solid #FF69B4;
  }
}
.page .omatome-tab .ladies-btn.active {
  background: #FF69B4;
  color: #fff;
  pointer-events: none;
}
.page .omatome-img img {
  width: 100%;
}
.page .lineup-heading {
  max-width: 590px;
  display: block;
  margin: 0 auto 100px;
}
@media screen and (max-width: 768px) {
  .page .lineup-heading {
    max-width: 77vw;
    margin-bottom: 12.4vw;
  }
}
.page .lineup-sec {
  max-width: 1200px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  margin: 0 auto 100px;
}
@media screen and (max-width: 768px) {
  .page .lineup-sec {
    max-width: 89.6vw;
    margin-bottom: 6.5vw;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.page .lineup-sec.sec-reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
.page .lineup-sec-heading {
  width: 93%;
  margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
  .page .lineup-sec-heading {
    width: 29.9vw;
    margin-bottom: 3.3vw;
  }
}
.page .lineup-sec-model {
  width: 35.4%;
}
@media screen and (max-width: 768px) {
  .page .lineup-sec-model {
    width: 41.9vw;
  }
}
.page .lineup-sec-info {
  width: 60%;
}
@media screen and (max-width: 768px) {
  .page .lineup-sec-info {
    width: 43.8vw;
  }
}
.page .lineup-sec-info .lineup-sec-text-top {
  font-size: 36px;
  font-weight: bold;
  margin-bottom: 16px;
}
@media screen and (max-width: 768px) {
  .page .lineup-sec-info .lineup-sec-text-top {
    font-size: 4.7vw;
    margin-bottom: 3.3vw;
  }
}
.page .lineup-sec-info .lineup-sec-text-bottom {
  width: 93%;
  font-size: 20px;
  line-height: 1.3;
  margin-bottom: 24px;
}
@media screen and (max-width: 768px) {
  .page .lineup-sec-info .lineup-sec-text-bottom {
    width: 100%;
    font-size: 2.6vw;
    margin-bottom: 3.1vw;
  }
}
.page .lineup-sec-item {
  gap: 20px;
}
@media screen and (max-width: 768px) {
  .page .lineup-sec-item {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 2.6vw;
    overflow-x: scroll;
    padding: 0 3.9vw;
    margin-bottom: 13vw;
  }
}
.page .lineup-sec-item a {
  max-width: 226px;
  width: 100%;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .page .lineup-sec-item a {
    max-width: unset;
    width: 52.1vw;
    margin: 0 2.1vw;
  }
}
.page .lineup-sec-item a img {
  width: 100%;
}
.page .lineup-sec-item a .item--name {
  margin: 8px auto;
  font-size: 13px;
}
@media screen and (max-width: 768px) {
  .page .lineup-sec-item a .item--name {
    margin: 2.1vw auto;
    font-size: 3.4vw;
  }
}
.page .lineup-sec-item a .item--price {
  font-size: 16px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .page .lineup-sec-item a .item--price {
    font-size: 3.6vw;
  }
}
.page .lineup-sec-func {
  width: 460px;
  margin-bottom: 36px;
}
@media screen and (max-width: 768px) {
  .page .lineup-sec-func {
    width: 36.2vw;
    margin-bottom: 0;
  }
}
@media screen and (max-width: 768px) {
  .page .lineup-sec .func02 {
    width: 45.1vw;
    margin-bottom: 0;
  }
}
@media screen and (max-width: 768px) {
  .page .lineup-sec-top {
    display: block;
    max-width: 36.6vw;
    margin: 0 auto 3.9vw;
  }
}
.page .lineup-sec .item-slider {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
}
.page .lineup-sec .item-link {
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 226px;
  margin: 0 8px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .page .lineup-sec .item-link {
    width: 52.1vw;
    margin: 0 2.1vw;
  }
}
.page .lineup-sec .item-img {
  width: 100%;
  height: auto;
  margin-bottom: 16px;
}
.page .lineup-sec .item-name {
  font-size: 13px;
  font-weight: 300;
  margin-bottom: 8px;
}
@media screen and (max-width: 768px) {
  .page .lineup-sec .item-name {
    font-size: 3.4vw;
  }
}
.page .lineup-sec .item-price {
  font-size: 16px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .page .lineup-sec .item-price {
    font-size: 3.6vw;
  }
}
.page .lineup-sec .slick-prev, .page .lineup-sec .slick-next {
  background-size: contain;
  background-repeat: no-repeat;
  width: 40px; /* 矢印ボタンの幅 */
  height: 40px; /* 矢印ボタンの高さ */
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  border: none;
  cursor: pointer;
  z-index: 1;
}
.page .lineup-sec {
  /* 左矢印（戻るボタン） */
}
.page .lineup-sec .slick-prev {
  width: 10px;
  left: -25px;
  background-image: url("/ec/img/usr/pg/campaign/freshers-omatome/left-arrow.png"); /* 左矢印の画像 */
}
.page .lineup-sec {
  /* 右矢印（進むボタン） */
}
.page .lineup-sec .slick-next {
  width: 10px;
  right: -25px;
  background-image: url("/ec/img/usr/pg/campaign/freshers-omatome/right-arrow.png"); /* 右矢印の画像 */
}
.page .discount {
  background: #F5ECEC;
  padding: 100px 0;
}
@media screen and (max-width: 768px) {
  .page .discount {
    padding: 12.4vw 0;
  }
}
.page .discount-img {
  max-width: 970px;
  display: block;
  margin: 0 auto 40px;
}
@media screen and (max-width: 768px) {
  .page .discount-img {
    max-width: 89.6vw;
    margin-bottom: 6.5vw;
  }
}
.page .discount-note {
  max-width: 970px;
  font-size: 20px;
  line-height: 1.5;
  display: block;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .page .discount-note {
    max-width: 89.6vw;
    font-size: 2.6vw;
    margin-bottom: 0;
  }
}
.page .family-heading {
  display: block;
  max-width: 457px;
  margin: 0 auto 100px;
}
@media screen and (max-width: 768px) {
  .page .family-heading {
    max-width: 59.5vw;
    margin-bottom: 6.5vw;
  }
}
.page .family-sec {
  max-width: 970px;
  margin: 0 auto 80px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (max-width: 768px) {
  .page .family-sec {
    max-width: 89.6vw;
    margin: 0 auto 8.5vw;
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.page .family-sec.sec-reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
.page .family-sec-img {
  width: 33.4%;
}
@media screen and (max-width: 768px) {
  .page .family-sec-img {
    width: 42.2vw;
    display: block;
    margin: 0 auto 3.9vw;
  }
}
.page .family-sec-info {
  width: 61.8%;
}
@media screen and (max-width: 768px) {
  .page .family-sec-info {
    width: 100%;
  }
}
.page .family-sec-info .info-top {
  font-size: 34px;
  font-weight: bold;
  margin-bottom: 24px;
}
@media screen and (max-width: 768px) {
  .page .family-sec-info .info-top {
    font-size: 4.4vw;
    margin-bottom: 3.3vw;
    text-align: center;
  }
}
.page .family-sec-info .info-bottom {
  font-size: 20px;
}
@media screen and (max-width: 768px) {
  .page .family-sec-info .info-bottom {
    font-size: 2.6vw;
  }
}
.page .family-bottom {
  max-width: 197px;
  display: block;
  margin: 120px auto 0;
}
@media screen and (max-width: 768px) {
  .page .family-bottom {
    max-width: 25.7vw;
    margin-top: 20.8vw;
  }
}
.page .minna {
  background-image: url(/ec/img/usr/pg/campaign/freshers-omatome/minna_bg_pc.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  padding: 100px 0;
}
@media screen and (max-width: 768px) {
  .page .minna {
    padding: 11.7vw 0 13vw;
  }
}
.page .minna-heading {
  display: block;
  max-width: 476px;
  margin: 0 auto 100px;
}
@media screen and (max-width: 768px) {
  .page .minna-heading {
    max-width: 62vw;
    margin-bottom: 13vw;
  }
}
.page .minna-heading-top {
  font-size: 30px;
  color: #fff;
  margin-bottom: 20px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .page .minna-heading-top {
    font-size: 3.9vw;
    margin-bottom: 2.6vw;
  }
}
.page .minna-sec {
  max-width: 970px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .page .minna-sec {
    max-width: 89.6vw;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.page .minna-sec-info {
  width: 54.4%;
}
@media screen and (max-width: 768px) {
  .page .minna-sec-info {
    width: 43.8vw;
  }
}
.page .minna-sec-model {
  width: 38.1%;
}
@media screen and (max-width: 768px) {
  .page .minna-sec-model {
    width: 41.9vw;
  }
}
.page .minna-sec-obi {
  width: 54.3%;
  font-size: 24px;
  font-weight: bold;
  color: #1D4A8B;
  background: #fff;
  padding: 3px 0;
  margin-bottom: 20px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .page .minna-sec-obi {
    width: 37vw;
    font-size: 3.1vw;
    padding: 0.4vw 0;
    margin-bottom: 2.6vw;
  }
}
.page .minna-sec-heading {
  font-size: 50px;
  font-weight: bold;
  color: #fff;
  line-height: 1.2;
  margin-bottom: 22px;
}
@media screen and (max-width: 768px) {
  .page .minna-sec-heading {
    font-size: 4.4vw;
    margin-bottom: 2.6vw;
  }
}
.page .minna-sec-text {
  color: #fff;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.35;
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .page .minna-sec-text {
    font-size: 2.6vw;
    margin-bottom: 2.6vw;
  }
}
.page .minna-sec-btn {
  width: 322px;
  font-size: 20px;
  color: #1D4A8B;
  background: #fff;
  padding: 16px 0 16px 67px;
  text-align: left;
  position: relative;
}
@media screen and (max-width: 768px) {
  .page .minna-sec-btn {
    width: 41.9vw;
    margin: 0 auto 13vw;
    padding: 2.1vw 0 2.1vw 8.7vw;
    font-size: 2.6vw;
  }
}
.page .minna-sec-btn:after {
  position: absolute;
  content: "";
  background-image: url(/ec/img/usr/pg/campaign/freshers-omatome/btn-arrow.png);
  background-size: contain;
  background-repeat: no-repeat;
  top: 42%;
  right: 68px;
  width: 7px;
  height: 14px;
}
@media screen and (max-width: 768px) {
  .page .minna-sec-btn:after {
    width: 0.9vw;
    height: 1.8vw;
    right: 8.7vw;
  }
}
.page .minna-sec.sec01 {
  margin-bottom: 100px;
}
@media screen and (max-width: 768px) {
  .page .minna-sec.sec01 {
    margin-bottom: 6.5vw;
  }
}
.page .minna-sec.sec01 .minna-sec-func {
  width: 96.6%;
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .page .minna-sec.sec01 .minna-sec-func {
    width: 39.1vw;
    margin-bottom: 0;
  }
}
.page .minna-sec.sec02 {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media screen and (max-width: 768px) {
  .page .minna-sec.sec02 {
    margin-bottom: 6.5vw;
  }
}
.page .minna-sec.sec02 .minna-sec-func {
  width: 59.8%;
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .page .minna-sec.sec02 .minna-sec-func {
    width: 41.1vw;
    margin-bottom: 0;
  }
}
.page .campaign {
  max-width: 1200px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .page .campaign {
    max-width: 88.2vw;
  }
}
.page .campaign-heading {
  max-width: 677px;
  display: block;
  margin: 0 auto 46px;
}
@media screen and (max-width: 768px) {
  .page .campaign-heading {
    max-width: 88.2vw;
    margin-bottom: 4.7vw;
  }
}
.page .campaign-img {
  max-width: 681px;
  display: block;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .page .campaign-img {
    max-width: 88.2vw;
  }
}
.page .tvcm {
  margin: 0 auto 100px;
}
@media screen and (max-width: 768px) {
  .page .tvcm {
    margin: 0 auto 13vw;
  }
}
.page .tvcm-heading {
  max-width: 285px;
  display: block;
  margin: 0 auto 46px;
}
@media screen and (max-width: 768px) {
  .page .tvcm-heading {
    max-width: 37.1vw;
    margin-bottom: 6vw;
  }
}
.page .tvcm .movie {
  max-width: 703px;
  width: 100%;
  aspect-ratio: 16/9;
  display: block;
  margin: 0 auto 40px;
}
@media screen and (max-width: 768px) {
  .page .tvcm .movie {
    max-width: 89.6vw;
    margin-bottom: 6vw;
  }
}