.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 !important;
  }
}
.pane-main {
  margin-bottom: 0 !important;
}

.wrapper > .pane-main {
  padding-bottom: 0 !important;
}

.page {
  overflow: hidden;
  background: #fff;
  font-weight: 500;
}
.page .more-btn {
  display: block;
  max-width: 476px;
  padding: 16px 0;
  font-size: 16px;
  background-color: #fff;
  border: 1px solid #000;
  text-align: center;
  position: relative;
  margin: 80px auto 0;
}
@media screen and (max-width: 768px) {
  .page .more-btn {
    max-width: 89.6vw;
    padding: 5.5vw 0;
    font-size: 4.2vw;
    margin-top: 8.3vw;
  }
}
.page .more-btn:after {
  content: "";
  background-image: url(/ec/img/usr/pg/campaign/winter-seijinshiki/btn-arrow.png);
  background-size: cover;
  background-repeat: no-repeat;
  width: 9px;
  height: 16px;
  position: absolute;
  right: 22px;
  top: 36%;
}
@media screen and (max-width: 768px) {
  .page .more-btn:after {
    width: 2.2vw;
    height: 3.9vw;
    right: 6.3vw;
    top: 40%;
  }
}
.page {
  /*=============================
  	kv
  =============================*/
}
.page .kv h1 {
  min-width: 1200px;
  position: relative;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  text-align: center;
}
@media screen and (max-width: 768px) {
  .page .kv h1 {
    min-width: 100%;
  }
}
.page .kv h1 img {
  margin: auto;
}
.page .tab {
  margin-top: 80px;
}
@media screen and (max-width: 768px) {
  .page .tab {
    margin-top: 13.3vw;
  }
}
.page .tab-title {
  max-width: 447px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .page .tab-title {
    max-width: 89.6vw;
  }
}
.page .tab-title p {
  text-align: center;
  font-size: 18px;
  color: #00498F;
  position: relative;
}
@media screen and (max-width: 768px) {
  .page .tab-title p {
    font-size: 3.1vw;
  }
}
.page .tab-title p::before, .page .tab-title p::after {
  content: "";
  border-top: #00498F 1px solid;
  width: 55.5px;
  position: absolute;
  top: 50%;
}
@media screen and (max-width: 768px) {
  .page .tab-title p::before, .page .tab-title p::after {
    width: 13.5vw;
  }
}
.page .tab-title p::before {
  left: 0;
}
.page .tab-title p::after {
  right: 0;
}
.page .tab-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 32px;
  gap: 40px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 768px) {
  .page .tab-flex {
    margin-top: 6.3vw;
    gap: 4.2vw;
  }
}
.page .tab-flex a {
  max-width: 400px;
}
@media screen and (max-width: 768px) {
  .page .tab-flex a {
    max-width: 42.7vw;
  }
}
.page .tab-flex img {
  max-width: 400px;
}
@media screen and (max-width: 768px) {
  .page .tab-flex img {
    max-width: 42.7vw;
  }
}
.page .tokuten {
  max-width: 1200px;
  margin: 100px auto;
  background-color: #B9D4EE;
}
@media screen and (max-width: 768px) {
  .page .tokuten {
    max-width: 100%;
    margin: 13vw auto;
  }
}
.page .tokuten-seijin {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 1120px;
  padding: 48px;
  background-color: #fff;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 34px;
  margin: 40px auto 0;
  -webkit-box-shadow: 2px 3px 6px rgba(0, 0, 0, 0.1);
          box-shadow: 2px 3px 6px rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 768px) {
  .page .tokuten-seijin {
    display: block;
    width: 89.6vw;
    padding: 5.2vw;
    margin-top: 5.2vw;
  }
}
.page .tokuten-seijin img {
  max-width: 570px;
}
@media screen and (max-width: 768px) {
  .page .tokuten-seijin img {
    max-width: 79.2vw;
  }
}
.page .tokuten-seijin-text {
  width: 100%;
}
.page .tokuten-gakuwari {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 1120px;
  background-color: #fff;
  padding: 48px;
  gap: 32px;
  margin: 32px auto 0;
  -webkit-box-shadow: 2px 3px 6px rgba(0, 0, 0, 0.1);
          box-shadow: 2px 3px 6px rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 768px) {
  .page .tokuten-gakuwari {
    display: block;
    width: 89.6vw;
    padding: 5.2vw;
    margin-top: 4.2vw;
  }
}
.page .tokuten-gakuwari img {
  max-width: 570px;
}
@media screen and (max-width: 768px) {
  .page .tokuten-gakuwari img {
    max-width: 79.2vw;
  }
}
.page .tokuten-gakuwari-text {
  width: 100%;
}
.page .tokuten-gakuwari a {
  font-size: 16px;
  margin-top: 27.54px;
  text-decoration: underline;
}
@media screen and (max-width: 768px) {
  .page .tokuten-gakuwari a {
    font-size: 4.2vw;
    margin-top: 4.6vw;
  }
}
.page .tokuten-gakuwari a::after {
  content: "";
  background-image: url("/ec/img/usr/pg/campaign/winter-seijinshiki/vector.png");
  background-repeat: no-repeat;
  background-size: cover;
  display: inline-block;
  width: 22px;
  height: 22px;
  vertical-align: bottom;
  margin-left: 12px;
}
@media screen and (max-width: 768px) {
  .page .tokuten-gakuwari a::after {
    width: 5.7vw;
    height: 5.7vw;
  }
}
.page .tokuten-omatome {
  max-width: 1120px;
  display: block;
  margin: 32px auto 0;
}
@media screen and (max-width: 768px) {
  .page .tokuten-omatome {
    max-width: 89.6vw;
    margin-top: 4.2vw;
  }
}
.page .tokuten-family {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 1120px;
  background-color: #fff;
  padding: 48px;
  gap: 32px;
  margin: 32px auto 0;
  -webkit-box-shadow: 2px 3px 6px rgba(0, 0, 0, 0.1);
          box-shadow: 2px 3px 6px rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 768px) {
  .page .tokuten-family {
    display: block;
    width: 89.6vw;
    padding: 5.2vw;
    margin-top: 4.2vw;
  }
}
.page .tokuten-family img {
  max-width: 570px;
}
@media screen and (max-width: 768px) {
  .page .tokuten-family img {
    max-width: 79.2vw;
  }
}
.page .tokuten-notes {
  font-size: 16px;
  text-align: center;
  padding: 40px 0;
}
@media screen and (max-width: 768px) {
  .page .tokuten-notes {
    font-size: 3.6vw;
    padding: 5.2vw;
    text-align: left;
  }
}
.page .coupon-title {
  font-size: 20px;
  border-bottom: #00498F 1px solid;
  padding-bottom: 10px;
  color: #00498F;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .page .coupon-title {
    font-size: 4.7vw;
    padding-bottom: 1.3vw;
    margin-top: 4.2vw;
  }
}
.page .coupon-title span {
  font-size: 13px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .page .coupon-title span {
    font-size: 3.1vw;
  }
}
.page .coupon-notes {
  font-size: 13px;
  margin-top: 24px;
}
@media screen and (max-width: 768px) {
  .page .coupon-notes {
    font-size: 3.4vw;
    margin-top: 4.2vw;
  }
}
.page .tenpo {
  background: #E7EEF7;
  padding: 100px 0;
}
@media screen and (max-width: 768px) {
  .page .tenpo {
    padding: 20.8vw 0;
  }
}
.page .tenpo-heading {
  text-align: center;
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 16px;
}
@media screen and (max-width: 768px) {
  .page .tenpo-heading {
    font-size: 5.7vw;
    max-width: 89.6vw;
    margin: 0 auto 4.2vw;
  }
}
.page .tenpo-heading span {
  color: #3E88BD;
  vertical-align: baseline;
  font-weight: bold;
}
.page .tenpo-text {
  text-align: center;
  font-size: 16px;
  line-height: 1.5;
  margin-bottom: 48px;
}
@media screen and (max-width: 768px) {
  .page .tenpo-text {
    font-size: 3.6vw;
    max-width: 89.6vw;
    margin: 0 auto 12.5vw;
  }
}
.page .tenpo-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 1200px;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .page .tenpo-flex {
    max-width: 89.6vw;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 10.4vw;
  }
}
.page .tenpo-item {
  width: 29.5%;
}
@media screen and (max-width: 768px) {
  .page .tenpo-item {
    width: 100%;
  }
}
.page .tenpo-item .text-top {
  font-size: 20px;
  font-weight: bold;
  color: #3E88BD;
  margin: 24px auto;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .page .tenpo-item .text-top {
    font-size: 4.7vw;
    margin: 3.1vw auto;
  }
}
.page .tenpo-item .text-bottom {
  font-size: 16px;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .page .tenpo-item .text-bottom {
    font-size: 3.6vw;
  }
}
.page .tenpo-btn {
  width: 320px;
  padding: 18px 0;
  font-size: 16px;
  color: #fff;
  font-weight: bold;
  text-align: center;
  background: #3E88BD;
  display: block;
  margin: 60px auto 0;
  border-radius: 5px;
}
@media screen and (max-width: 768px) {
  .page .tenpo-btn {
    width: 83.3vw;
    padding: 4.7vw;
    font-size: 4.2vw;
    margin-top: 15.6vw;
    border-radius: 1.3vw;
  }
}
.page .nav {
  margin-top: 157px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .page .nav {
    font-size: 3.6vw;
    margin-top: 13vw;
  }
}
.page .nav-top {
  text-align: center;
  font-size: 16px;
}
@media screen and (max-width: 768px) {
  .page .nav-top {
    font-size: 3.6vw;
  }
}
.page .nav-top img {
  max-width: 243px;
  display: block;
  margin: 0 auto;
  margin-bottom: 17px;
}
@media screen and (max-width: 768px) {
  .page .nav-top img {
    max-width: 63.3vw;
    margin-bottom: 0;
  }
}
.page .nav-top-text {
  margin-bottom: 35px;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .page .nav-top-text {
    margin-bottom: 5.2vw;
    line-height: 1.8;
  }
}
.page .nav-bg {
  background-image: url(/ec/img/usr/pg/campaign/winter-seijinshiki/kv_bottom_bg_pc.png);
  background-size: cover;
  background-repeat: no-repeat;
  width: 100%;
  height: 422px;
  position: absolute;
  top: -20px;
}
@media screen and (max-width: 768px) {
  .page .nav-bg {
    background-image: url(/ec/img/usr/pg/campaign/winter-seijinshiki/kv_bottom_bg_sp.png);
    width: 100%;
    height: 53.4vw;
    top: 14.8vw;
  }
}
.page .anchor {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 18px;
  max-width: 1200px;
  margin: 37px auto 0;
  position: relative;
  z-index: 999;
}
@media screen and (max-width: 768px) {
  .page .anchor {
    gap: 2.6vw;
    max-width: 89.6vw;
    margin-top: 9.9vw;
  }
}
.page .anchor-btn {
  width: 23.8%;
  text-align: center;
  padding: 14px 0;
  border: 1px solid #D4D4D4;
  font-size: 18px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .page .anchor-btn {
    width: 48.5%;
    font-size: 4.2vw;
    padding: 4.2vw 0 8.3vw;
  }
}
.page .anchor-btn::after {
  content: "";
  background-image: url(/ec/img/usr/pg/campaign/winter-seijinshiki/anchor-arrow.png);
  background-size: cover;
  background-repeat: no-repeat;
  width: 16px;
  height: 9px;
  position: absolute;
  right: 36px;
  top: 47%;
}
@media screen and (max-width: 768px) {
  .page .anchor-btn::after {
    width: 3.1vw;
    height: 1.6vw;
    top: unset;
    bottom: 20%;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }
}
.page .suit {
  padding: 50px 0 0;
  margin: 50px auto;
}
@media screen and (max-width: 768px) {
  .page .suit {
    padding: 6.5vw 0 0;
    margin: 6.5vw auto;
    max-width: 89.6vw;
  }
}
.page .suit-heading {
  max-width: 96px;
  margin: 0 auto 24px;
}
@media screen and (max-width: 768px) {
  .page .suit-heading {
    max-width: 25vw;
    margin-bottom: 6.3vw;
  }
}
.page .suit-text {
  font-size: 16px;
  line-height: 1.5;
  text-align: center;
  margin: 0 auto 64px;
}
@media screen and (max-width: 768px) {
  .page .suit-text {
    font-size: 3.6vw;
    margin-bottom: 10.4vw;
  }
}
.page .suit-func {
  max-width: 447px;
  margin: 0 auto 64px;
}
@media screen and (max-width: 768px) {
  .page .suit-func {
    max-width: 89.6vw;
    margin-bottom: 10.4vw;
  }
}
.page .suit-flex {
  max-width: 1200px;
  margin: 0 auto;
  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 .suit-flex {
    max-width: 89.6vw;
    margin: 10.4vw auto 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 7.8vw;
  }
}
.page .suit-sec {
  width: 31.7%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 86px;
}
@media screen and (max-width: 768px) {
  .page .suit-sec {
    width: 100%;
    gap: 7.8vw;
  }
}
.page .suit-sec-item a {
  margin-top: 0;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .page .suit-sec-item a {
    margin-top: 0;
  }
}
.page .suit-sec-item a img {
  margin-bottom: 32px;
}
@media screen and (max-width: 768px) {
  .page .suit-sec-item a img {
    margin-bottom: 4.2vw;
  }
}
.page .suit-sec-item a p {
  font-size: 14px;
}
@media screen and (max-width: 768px) {
  .page .suit-sec-item a p {
    font-size: 3.6vw;
  }
}
.page .suit-sec-item a p:last-child {
  font-size: 16px;
  font-weight: bold;
  margin-top: 16px;
}
@media screen and (max-width: 768px) {
  .page .suit-sec-item a p:last-child {
    font-size: 4.2vw;
    margin-top: 4.2vw;
  }
}
@media screen and (max-width: 768px) {
  .page .suit-sec-item .item-small {
    max-width: 65.1vw;
    display: block;
    margin: 0 auto 4.2vw;
  }
}
.page .suit-sec-nav {
  background-color: #E7EEF7;
  padding: 16px 20px;
  font-size: 13px;
  border-left: #3E88BD solid 1px;
  margin-top: 32px;
}
@media screen and (max-width: 768px) {
  .page .suit-sec-nav {
    padding: 4.2vw 5.2vw;
    font-size: 3.4vw;
  }
}
.page .suit-btn {
  margin: 64px auto 0;
}
@media screen and (max-width: 768px) {
  .page .suit-btn {
    margin-top: 10.4vw;
  }
}
.page .blue-btn {
  width: 320px;
  background-color: #3E88BD;
  font-size: 16px;
  color: #fff;
  font-weight: bold;
  text-align: center;
  padding: 18px 0;
  border-radius: 6px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .page .blue-btn {
    width: 83.3vw;
    font-size: 4.2vw;
    padding: 4.7vw 0;
    border-radius: 1.6vw;
  }
}
.page .vest {
  padding: 50px 0 0;
  margin: 50px auto;
}
@media screen and (max-width: 768px) {
  .page .vest {
    padding: 6.5vw 0 0;
    margin: 6.5vw auto;
  }
}
.page .vest-heading {
  max-width: 112px;
  margin: 0 auto;
  display: block;
}
@media screen and (max-width: 768px) {
  .page .vest-heading {
    max-width: 29.2vw;
  }
}
.page .vest-text {
  font-size: 16px;
  text-align: center;
  margin-top: 24px;
}
@media screen and (max-width: 768px) {
  .page .vest-text {
    font-size: 3.6vw;
    margin-top: 6.3vw;
    padding: 0 5.2vw;
  }
}
.page .vest-flex {
  max-width: 980px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 64px auto 0;
}
@media screen and (max-width: 768px) {
  .page .vest-flex {
    max-width: 100%;
    margin-top: 10.4vw;
    overflow-x: scroll;
    padding: 0 5.2vw;
    gap: 5.2vw;
  }
}
.page .vest-sec {
  width: 21.7%;
}
@media screen and (max-width: 768px) {
  .page .vest-sec {
    width: 55.4%;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}
.page .vest-sec a {
  text-align: center;
}
.page .vest-sec a p {
  font-size: 14px;
  margin-top: 8px;
}
@media screen and (max-width: 768px) {
  .page .vest-sec a p {
    font-size: 3.6vw;
    margin-top: 2.1vw;
  }
}
.page .vest-sec a p:last-child {
  font-size: 16px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .page .vest-sec a p:last-child {
    font-size: 4.2vw;
  }
}
.page .vest-btn {
  margin-top: 64px;
}
@media screen and (max-width: 768px) {
  .page .vest-btn {
    margin-top: 10.4vw;
  }
}
.page .coat {
  padding: 50px 0 0;
  margin: 50px auto;
}
@media screen and (max-width: 768px) {
  .page .coat {
    padding: 6.5vw 0 0;
    margin: 6.5vw auto;
  }
}
.page .coat-heading {
  max-width: 112px;
  margin: 0 auto;
  display: block;
}
@media screen and (max-width: 768px) {
  .page .coat-heading {
    max-width: 29.2vw;
  }
}
.page .coat-text {
  font-size: 16px;
  text-align: center;
  margin-top: 24px;
}
@media screen and (max-width: 768px) {
  .page .coat-text {
    font-size: 3.6vw;
    margin-top: 6.3vw;
    padding: 0 5.2vw;
  }
}
.page .coat-flex {
  max-width: 980px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 64px auto 0;
}
@media screen and (max-width: 768px) {
  .page .coat-flex {
    max-width: 100%;
    margin-top: 10.4vw;
    overflow-x: scroll;
    padding: 0 5.2vw;
    gap: 5.2vw;
  }
}
.page .coat-sec {
  width: 21.7%;
}
@media screen and (max-width: 768px) {
  .page .coat-sec {
    width: 55.4%;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}
.page .coat-sec a {
  text-align: center;
}
.page .coat-sec a p {
  font-size: 14px;
  margin-top: 8px;
}
@media screen and (max-width: 768px) {
  .page .coat-sec a p {
    font-size: 3.6vw;
    margin-top: 2.1vw;
  }
}
.page .coat-sec a p:last-child {
  font-size: 16px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .page .coat-sec a p:last-child {
    font-size: 4.2vw;
  }
}
.page .coat-btn {
  margin-top: 64px;
}
@media screen and (max-width: 768px) {
  .page .coat-btn {
    margin-top: 10.4vw;
  }
}
.page .shirt {
  padding: 50px 0 0;
  margin: 50px auto;
}
@media screen and (max-width: 768px) {
  .page .shirt {
    padding: 6.5vw 0 0;
    margin: 6.5vw auto;
  }
}
.page .shirt-heading {
  max-width: 112px;
  margin: 0 auto;
  display: block;
}
@media screen and (max-width: 768px) {
  .page .shirt-heading {
    max-width: 27.3vw;
  }
}
.page .shirt-text {
  font-size: 16px;
  text-align: center;
  margin-top: 24px;
}
@media screen and (max-width: 768px) {
  .page .shirt-text {
    font-size: 3.6vw;
    margin-top: 6.3vw;
    padding: 0 5.2vw;
  }
}
.page .shirt-flex {
  max-width: 980px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 64px auto 0;
}
@media screen and (max-width: 768px) {
  .page .shirt-flex {
    max-width: 100%;
    margin-top: 10.4vw;
    overflow-x: scroll;
    padding: 0 5.2vw;
    gap: 5.2vw;
  }
}
.page .shirt-sec {
  width: 21.7%;
}
@media screen and (max-width: 768px) {
  .page .shirt-sec {
    width: 55.4%;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}
.page .shirt-sec a {
  text-align: center;
}
.page .shirt-sec a p {
  font-size: 14px;
  margin-top: 8px;
}
@media screen and (max-width: 768px) {
  .page .shirt-sec a p {
    font-size: 3.6vw;
    margin-top: 2.1vw;
  }
}
.page .shirt-sec a p:last-child {
  font-size: 16px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .page .shirt-sec a p:last-child {
    font-size: 4.2vw;
  }
}
.page .shirt-btn {
  margin-top: 64px;
}
@media screen and (max-width: 768px) {
  .page .shirt-btn {
    margin-top: 10.4vw;
  }
}
.page .tie {
  padding: 50px 0 0;
  margin: 50px auto;
}
@media screen and (max-width: 768px) {
  .page .tie {
    padding: 6.5vw 0 0;
    margin: 6.5vw auto;
  }
}
.page .tie-heading {
  max-width: 112px;
  margin: 0 auto;
  display: block;
}
@media screen and (max-width: 768px) {
  .page .tie-heading {
    max-width: 14.6vw;
  }
}
.page .tie-text {
  font-size: 16px;
  text-align: center;
  margin-top: 24px;
}
@media screen and (max-width: 768px) {
  .page .tie-text {
    font-size: 3.6vw;
    margin-top: 6.3vw;
    padding: 0 5.2vw;
  }
}
.page .tie-flex {
  max-width: 980px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 64px auto 0;
}
@media screen and (max-width: 768px) {
  .page .tie-flex {
    max-width: 100%;
    margin-top: 10.4vw;
    overflow-x: scroll;
    padding: 0 5.2vw;
    gap: 5.2vw;
  }
}
.page .tie-sec {
  width: 21.7%;
}
@media screen and (max-width: 768px) {
  .page .tie-sec {
    width: 55.4%;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}
.page .tie-sec a {
  text-align: center;
}
.page .tie-sec a p {
  font-size: 14px;
  margin-top: 8px;
}
@media screen and (max-width: 768px) {
  .page .tie-sec a p {
    font-size: 3.6vw;
    margin-top: 2.1vw;
  }
}
.page .tie-sec a p:last-child {
  font-size: 16px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .page .tie-sec a p:last-child {
    font-size: 4.2vw;
  }
}
.page .tie-point {
  max-width: 446px;
  margin: 64px auto 0;
}
@media screen and (max-width: 768px) {
  .page .tie-point {
    max-width: 89.6vw;
    margin-top: 10.4vw;
  }
}
.page .tie-point-title {
  font-size: 16px;
  text-align: center;
  color: #3E88BD;
}
@media screen and (max-width: 768px) {
  .page .tie-point-title {
    font-size: 3.6vw;
  }
}
.page .tie-point-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 38px;
  margin-top: 32px;
}
@media screen and (max-width: 768px) {
  .page .tie-point-flex {
    gap: 4.7vw;
    margin-top: 5.2vw;
  }
}
.page .tie-point-flex img {
  max-width: 187px;
}
@media screen and (max-width: 768px) {
  .page .tie-point-flex img {
    max-width: 41.1vw;
  }
}
.page .tie-point-flex p {
  font-size: 13px;
}
@media screen and (max-width: 768px) {
  .page .tie-point-flex p {
    font-size: 3.4vw;
  }
}
.page .tie-btn {
  margin-top: 64px;
}
@media screen and (max-width: 768px) {
  .page .tie-btn {
    margin-top: 10.4vw;
  }
}
.page .shoes-belt {
  padding: 50px 0 0;
  margin: 50px auto;
}
@media screen and (max-width: 768px) {
  .page .shoes-belt {
    padding: 6.5vw 0 0;
    margin: 6.5vw auto;
  }
}
.page .shoes-belt-heading {
  max-width: 254px;
  display: block;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .page .shoes-belt-heading {
    max-width: 66.1vw;
  }
}
.page .shoes-belt-text {
  font-size: 16px;
  text-align: center;
  margin-top: 24px;
}
@media screen and (max-width: 768px) {
  .page .shoes-belt-text {
    font-size: 3.6vw;
    margin-top: 6.3vw;
    padding: 0 5.2vw;
  }
}
.page .shoes-belt-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 87.5px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 64px;
}
@media screen and (max-width: 768px) {
  .page .shoes-belt-flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
    margin-top: 10.4vw;
  }
}
.page .shoes-belt-flex .shoes-sec {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  max-width: 446px;
}
@media screen and (max-width: 768px) {
  .page .shoes-belt-flex .shoes-sec {
    max-width: 100%;
    padding: 0 5.2vw;
    overflow-x: scroll;
    gap: 5.2vw;
  }
}
.page .shoes-belt-flex .shoes-sec a {
  width: 47.6%;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .page .shoes-belt-flex .shoes-sec a {
    width: 55.4%;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}
.page .shoes-belt-flex .shoes-sec a p {
  font-size: 14px;
  margin-top: 8px;
}
@media screen and (max-width: 768px) {
  .page .shoes-belt-flex .shoes-sec a p {
    font-size: 3.6vw;
    margin-top: 2.1vw;
  }
}
.page .shoes-belt-flex .shoes-sec a p:last-child {
  font-size: 16px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .page .shoes-belt-flex .shoes-sec a p:last-child {
    font-size: 4.2vw;
  }
}
.page .shoes-belt-flex .belt-sec {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  max-width: 446px;
}
@media screen and (max-width: 768px) {
  .page .shoes-belt-flex .belt-sec {
    max-width: 100%;
    padding: 0 5.2vw;
    overflow-x: scroll;
    gap: 5.2vw;
    margin-top: 10.4vw;
  }
}
.page .shoes-belt-flex .belt-sec a {
  width: 47.6%;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .page .shoes-belt-flex .belt-sec a {
    width: 55.4%;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}
.page .shoes-belt-flex .belt-sec a p {
  font-size: 14px;
  margin-top: 8px;
}
@media screen and (max-width: 768px) {
  .page .shoes-belt-flex .belt-sec a p {
    font-size: 3.6vw;
    margin-top: 2.1vw;
  }
}
.page .shoes-belt-flex .belt-sec a p:last-child {
  font-size: 16px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .page .shoes-belt-flex .belt-sec a p:last-child {
    font-size: 4.2vw;
  }
}
.page .shoes-belt-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 664px;
  margin: 64px auto 0;
  gap: 24px;
}
@media screen and (max-width: 768px) {
  .page .shoes-belt-btn {
    display: block;
    max-width: 83.3vw;
    margin-top: 10.4vw;
    gap: 0;
  }
}
.page .inner {
  padding: 50px 0 0;
  margin: 50px auto;
}
@media screen and (max-width: 768px) {
  .page .inner {
    padding: 6.5vw 0 0;
    margin: 6.5vw auto;
  }
}
.page .inner-heading {
  max-width: 115px;
  display: block;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .page .inner-heading {
    max-width: 29.7vw;
  }
}
.page .inner-text {
  font-size: 16px;
  text-align: center;
  margin-top: 24px;
}
@media screen and (max-width: 768px) {
  .page .inner-text {
    font-size: 3.6vw;
    margin-top: 6.3vw;
    padding: 0 5.2vw;
  }
}
.page .inner-flex {
  max-width: 980px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 64px auto 0;
}
@media screen and (max-width: 768px) {
  .page .inner-flex {
    max-width: 100%;
    gap: 5.2vw;
    margin-top: 10.4vw;
    padding: 0 5.2vw;
    overflow-x: scroll;
  }
}
.page .inner-sec {
  width: 21.7%;
}
@media screen and (max-width: 768px) {
  .page .inner-sec {
    width: 55.4%;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}
.page .inner-sec a {
  text-align: center;
}
.page .inner-sec a p {
  font-size: 14px;
  margin-top: 8px;
}
@media screen and (max-width: 768px) {
  .page .inner-sec a p {
    font-size: 3.6vw;
    margin-top: 2.1vw;
  }
}
.page .inner-sec a p:last-child {
  font-size: 16px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .page .inner-sec a p:last-child {
    font-size: 4.2vw;
  }
}
.page .inner-btn {
  margin-top: 64px;
}
@media screen and (max-width: 768px) {
  .page .inner-btn {
    margin-top: 10.4vw;
  }
}
.page .accessories {
  padding: 50px 0 0;
  margin: 50px auto;
}
@media screen and (max-width: 768px) {
  .page .accessories {
    padding: 6.5vw 0 0;
    margin: 6.5vw auto;
  }
}
.page .accessories-heading {
  max-width: 448px;
  display: block;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .page .accessories-heading {
    max-width: 63vw;
  }
}
.page .accessories-text {
  font-size: 16px;
  text-align: center;
  margin-top: 24px;
}
@media screen and (max-width: 768px) {
  .page .accessories-text {
    font-size: 3.6vw;
    margin-top: 6.3vw;
    padding: 0 5.2vw;
  }
}
.page .accessories-flex {
  max-width: 980px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 64px auto 0;
}
@media screen and (max-width: 768px) {
  .page .accessories-flex {
    max-width: 100%;
    gap: 5.2vw;
    margin-top: 10.4vw;
    padding: 0 5.2vw;
    overflow-x: scroll;
  }
}
.page .accessories-sec {
  width: 21.7%;
}
@media screen and (max-width: 768px) {
  .page .accessories-sec {
    width: 55.4%;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}
.page .accessories-sec a {
  text-align: center;
}
.page .accessories-sec a p {
  font-size: 14px;
  margin-top: 8px;
}
@media screen and (max-width: 768px) {
  .page .accessories-sec a p {
    font-size: 3.6vw;
    margin-top: 2.1vw;
  }
}
.page .accessories-sec a p:last-child {
  font-size: 16px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .page .accessories-sec a p:last-child {
    font-size: 4.2vw;
  }
}
.page .accessories-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 664px;
  margin: 64px auto 0;
  gap: 24px;
}
@media screen and (max-width: 768px) {
  .page .accessories-btn {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    max-width: 83.3vw;
    margin-top: 10.4vw;
    gap: 4.2vw;
  }
}
.page .winteritem {
  padding: 50px 0 0;
  margin: 50px auto;
}
@media screen and (max-width: 768px) {
  .page .winteritem {
    padding: 6.5vw 0 0;
    margin: 6.5vw auto;
  }
}
.page .winteritem-heading {
  max-width: 276px;
  margin: 0 auto;
  display: block;
}
@media screen and (max-width: 768px) {
  .page .winteritem-heading {
    max-width: 71.4vw;
  }
}
.page .winteritem-text {
  font-size: 16px;
  text-align: center;
  margin-top: 24px;
}
@media screen and (max-width: 768px) {
  .page .winteritem-text {
    font-size: 3.6vw;
    margin-top: 6.3vw;
    padding: 0 5.2vw;
  }
}
.page .winteritem-flex {
  max-width: 980px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 64px auto 0;
}
@media screen and (max-width: 768px) {
  .page .winteritem-flex {
    max-width: 100%;
    margin-top: 10.4vw;
    overflow-x: scroll;
    padding: 0 5.2vw;
    gap: 5.2vw;
  }
}
.page .winteritem-sec {
  width: 21.7%;
}
@media screen and (max-width: 768px) {
  .page .winteritem-sec {
    width: 55.4%;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}
.page .winteritem-sec a {
  text-align: center;
}
.page .winteritem-sec a p {
  font-size: 14px;
  margin-top: 8px;
}
@media screen and (max-width: 768px) {
  .page .winteritem-sec a p {
    font-size: 3.6vw;
    margin-top: 2.1vw;
  }
}
.page .winteritem-sec a p:last-child {
  font-size: 16px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .page .winteritem-sec a p:last-child {
    font-size: 4.2vw;
  }
}
.page .winteritem-btn {
  margin-top: 64px;
}
@media screen and (max-width: 768px) {
  .page .winteritem-btn {
    margin-top: 10.4vw;
  }
}
.page .coordinate {
  padding: 100px 0;
  margin: 100px auto;
  background-color: #E7EEF7;
}
@media screen and (max-width: 768px) {
  .page .coordinate {
    padding: 15.6vw 0;
    margin: 6.5vw auto;
  }
}
.page .coordinate-heading {
  max-width: 288px;
  display: block;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .page .coordinate-heading {
    max-width: 68.8vw;
  }
}
.page .coordinate-text {
  font-size: 16px;
  text-align: center;
  margin-top: 24px;
}
@media screen and (max-width: 768px) {
  .page .coordinate-text {
    font-size: 3.6vw;
    margin-top: 6.3vw;
    padding: 0 5.2vw;
  }
}
.page .coordinate-flex {
  max-width: 1200px;
  margin: 64px auto 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .page .coordinate-flex {
    max-width: 89.6vw;
    margin-top: 16.7vw;
    gap: 5.2vw;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.page .coordinate-sec {
  width: 23.2%;
}
@media screen and (max-width: 768px) {
  .page .coordinate-sec {
    width: 47%;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}
.page .coordinate-sec p {
  margin-top: 24px;
  font-size: 14px;
}
@media screen and (max-width: 768px) {
  .page .coordinate-sec p {
    margin-top: 4.2vw;
    font-size: 3.4vw;
  }
}
.page .coordinate-sec p:last-child {
  margin-top: 16px;
  font-size: 18px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .page .coordinate-sec p:last-child {
    margin-top: 2.1vw;
    font-size: 4.2vw;
  }
}
.page .topic {
  margin: 100px 0;
}
@media screen and (max-width: 768px) {
  .page .topic {
    margin: 13vw 0;
  }
}
.page .topic-heading img {
  max-width: 80px;
  display: block;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .page .topic-heading img {
    max-width: 20.8vw;
  }
}
.page .topic-heading p {
  font-size: 24px;
  font-weight: bold;
  text-align: center;
  margin-top: 10px;
}
@media screen and (max-width: 768px) {
  .page .topic-heading p {
    font-size: 5.7vw;
    margin-top: 4.6vw;
  }
}
.page .topic-text p {
  font-size: 16px;
  margin-top: 16px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .page .topic-text p {
    font-size: 3.6vw;
    margin-top: 4.2vw;
    padding: 0 5.2vw;
  }
}
.page .topic-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 680px;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 60px auto 0;
}
@media screen and (max-width: 768px) {
  .page .topic-flex {
    max-width: 83.3vw;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 10.4vw;
    margin-top: 15.6vw;
  }
}
.page .topic-sec {
  width: 47%;
}
@media screen and (max-width: 768px) {
  .page .topic-sec {
    width: 100%;
  }
}
.page .topic-sec p {
  font-size: 16px;
  margin-top: 16px;
}
@media screen and (max-width: 768px) {
  .page .topic-sec p {
    font-size: 4.2vw;
    margin-top: 4.2vw;
  }
}
.page .topic-bnr {
  max-width: 640px;
  margin: 100px auto 0;
}
@media screen and (max-width: 768px) {
  .page .topic-bnr {
    max-width: 89.6vw;
    margin-top: 13vw;
  }
}
.page .topic-bnr p {
  font-size: 18px;
  font-weight: bold;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .page .topic-bnr p {
    font-size: 4.2vw;
  }
}
.page .topic-bnr a {
  margin-top: 24px;
}
@media screen and (max-width: 768px) {
  .page .topic-bnr a {
    margin-top: 6.3vw;
  }
}
.page .welcome {
  background-color: #E7EEF7;
  padding: 100px 0;
  margin: 0 auto 100px;
  max-width: 1200px;
}
@media screen and (max-width: 768px) {
  .page .welcome {
    padding: 15.6vw 0;
    margin-bottom: 13vw;
    max-width: 89.6vw;
  }
}
.page .welcome-heading img {
  max-width: 119px;
  display: block;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .page .welcome-heading img {
    max-width: 31vw;
  }
}
.page .welcome-heading p {
  font-size: 24px;
  text-align: center;
  margin-top: 10px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .page .welcome-heading p {
    font-size: 5.7vw;
    margin-top: 4.6vw;
  }
}
.page .welcome-text {
  font-size: 16px;
  text-align: center;
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  .page .welcome-text {
    font-size: 4.2vw;
    margin-top: 10.4vw;
    padding: 0 4.9vw;
  }
}
.page .welcome-btn {
  margin-top: 64px;
}
@media screen and (max-width: 768px) {
  .page .welcome-btn {
    margin-top: 10.4vw;
  }
}