.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 !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-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.zen-maru {
  font-family: "Zen Maru Gothic", sans-serif;
}

.page {
  overflow: hidden;
  background: #fff;
  font-family: "Zen Old Mincho", serif;
  font-weight: 500;
}
.page .c-btn {
  max-width: 476px;
  display: block;
  margin: 60px auto 0;
  position: relative;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  padding: 23px 0;
  border: 1px solid #333;
  background: #fff;
}
@media screen and (max-width: 768px) {
  .page .c-btn {
    max-width: 77.1vw;
    margin-top: 10.4vw;
    font-size: 3.6vw;
    padding: 4.7vw 0;
  }
}
.page .c-btn:after {
  position: absolute;
  content: "";
  background-image: url(/ec/img/usr/pg/campaign/mothers-day/btn-arrow.png);
  background-size: cover;
  background-repeat: no-repeat;
  width: 9px;
  height: 16px;
  top: 40%;
  right: 22px;
}
@media screen and (max-width: 768px) {
  .page .c-btn:after {
    width: 1.8vw;
    height: 3.1vw;
    right: 5.7vw;
  }
}
.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 .kv-bottom {
  margin: 110px auto 80px;
  text-align: center;
  font-size: 28px;
  font-weight: 600;
  color: #009BBF;
}
@media screen and (max-width: 768px) {
  .page .kv-bottom {
    margin: 13vw auto 10.4vw;
    font-size: 5.7vw;
  }
}
.page .cool-bg {
  background-image: url(/ec/img/usr/pg/c/prestige-technology/cool-bg.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: top;
}
@media screen and (max-width: 768px) {
  .page .cool-bg {
    background-image: url(/ec/img/usr/pg/c/prestige-technology/cool-bg_sp.png);
    background-size: 130vw;
  }
}
.page .tv-cm {
  margin: 0 auto 210px;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  .page .tv-cm {
    margin-bottom: 23.4vw;
  }
}
.page .tv-cm .cm-heading {
  text-align: center;
  font-size: 28px;
  font-weight: 600;
  color: #009BBF;
  margin: 0 auto 32px;
}
@media screen and (max-width: 768px) {
  .page .tv-cm .cm-heading {
    font-size: 5.7vw;
    margin-bottom: 4.2vw;
  }
}
.page .tv-cm iframe {
  max-width: 700px;
  aspect-ratio: 16/9;
  margin: 0 auto;
  display: block;
}
@media screen and (max-width: 768px) {
  .page .tv-cm iframe {
    max-width: 89.8vw;
  }
}
.page .cool-logo {
  position: absolute;
  width: 1200px;
  bottom: -320px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .page .cool-logo {
    width: 100%;
    bottom: -38vw;
  }
}
.page .function {
  margin: 0 auto 120px;
  position: relative;
  z-index: 100;
}
@media screen and (max-width: 768px) {
  .page .function {
    margin-bottom: 26vw;
  }
}
.page .function-heading {
  font-size: 20px;
  font-weight: 500;
  color: #009BBF;
  text-align: center;
  margin: 0 auto 40px;
}
@media screen and (max-width: 768px) {
  .page .function-heading {
    font-size: 4.7vw;
    margin-bottom: 10.4vw;
  }
}
.page .function-list {
  max-width: 740px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 90px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .page .function-list {
    max-width: 89.8vw;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 6.3vw;
  }
}
.page .talent-sec {
  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;
  max-width: 1200px;
  margin: 0 auto 100px;
}
@media screen and (max-width: 768px) {
  .page .talent-sec {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-bottom: 15.6vw;
  }
}
.page .talent-sec .item-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 40px;
}
@media screen and (max-width: 768px) {
  .page .talent-sec .item-list {
    max-width: 89.8vw;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 6.3vw;
  }
}
.page .talent-sec .item-list a {
  max-width: 180px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .page .talent-sec .item-list a {
    max-width: 41.7vw;
  }
}
.page .talent-sec .item-list a .item--name {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 13px;
  margin: 6px auto;
}
@media screen and (max-width: 768px) {
  .page .talent-sec .item-list a .item--name {
    font-size: 3.4vw;
    margin: 1vw auto;
  }
}
.page .talent-sec .item-list a .item--price {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 13px;
}
@media screen and (max-width: 768px) {
  .page .talent-sec .item-list a .item--price {
    font-size: 3.4vw;
  }
}
.page .talent-sec .slick-dots {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
}
.page .talent-sec .slick-dots li {
  width: 10px;
  height: 10px;
  margin: 0;
}
.page .talent-sec .slick-dots li button {
  width: 10px;
  height: 10px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: #d9d9d9;
  font-size: 0;
  line-height: 0;
  cursor: pointer;
}
.page .talent-sec .slick-dots li button::before {
  display: none;
}
.page .talent-sec .slick-dots li.slick-active button {
  background: #0099bd;
}
.page .talent-mv {
  width: 45%;
}
@media screen and (max-width: 768px) {
  .page .talent-mv {
    max-width: 89.8vw;
    width: 100%;
    margin-bottom: 15.6vw;
  }
}
.page .talent-detail {
  width: 45%;
}
@media screen and (max-width: 768px) {
  .page .talent-detail {
    max-width: 89.8vw;
    width: 100%;
    text-align: center;
  }
}
.page .talent-detail-text {
  font-size: 16px;
  line-height: 1.6;
  margin-bottom: 32px;
}
@media screen and (max-width: 768px) {
  .page .talent-detail-text {
    font-size: 3.6vw;
    margin-bottom: 10.4vw;
  }
}
.page .talent-name {
  font-size: 24px;
  font-weight: 600;
  margin-bottom: 16px;
}
@media screen and (max-width: 768px) {
  .page .talent-name {
    font-size: 6.3vw;
    margin-bottom: 4.2vw;
  }
}
.page .talent-name span {
  font-size: 20px;
  font-weight: 600;
  vertical-align: baseline;
}
@media screen and (max-width: 768px) {
  .page .talent-name span {
    font-size: 5.2vw;
  }
}
.page .brand-sec {
  margin: 0 auto 100px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  max-width: 1020px;
  gap: 100px;
}
@media screen and (max-width: 768px) {
  .page .brand-sec {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    max-width: unset;
    margin: 0 auto 15.6vw;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: unset;
  }
}
.page .brand-sec-detail {
  width: 21.8%;
}
@media screen and (max-width: 768px) {
  .page .brand-sec-detail {
    width: 89.8vw;
    margin: 0 auto 10.4vw;
  }
}
.page .brand-sec-detail .text-top {
  text-align: center;
  font-size: 13px;
  margin-bottom: 16px;
}
@media screen and (max-width: 768px) {
  .page .brand-sec-detail .text-top {
    font-size: 3.4vw;
    margin-bottom: 4.2vw;
  }
}
.page .brand-sec-detail .text-bottom {
  font-size: 13px;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .page .brand-sec-detail .text-bottom {
    font-size: 3.4vw;
    text-align: center;
  }
}
.page .brand-sec-detail .brand-img01 {
  max-width: 108px;
  display: block;
  margin: 0 auto 24px;
}
@media screen and (max-width: 768px) {
  .page .brand-sec-detail .brand-img01 {
    max-width: 28.1vw;
    margin-bottom: 6.3vw;
  }
}
.page .brand-sec-detail .brand-img02 {
  max-width: 135px;
  display: block;
  margin: 0 auto 24px;
}
@media screen and (max-width: 768px) {
  .page .brand-sec-detail .brand-img02 {
    max-width: 35.2vw;
    margin-bottom: 6.3vw;
  }
}
.page .brand-sec-detail .brand-text {
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 24px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .page .brand-sec-detail .brand-text {
    font-size: 4.7vw;
    margin-bottom: 6.3vw;
  }
}
.page .brand-sec .item-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 32px;
}
@media screen and (max-width: 768px) {
  .page .brand-sec .item-list {
    overflow-x: scroll;
    gap: 5.2vw;
    padding: 0 5.2vw;
  }
}
.page .brand-sec .item-list a {
  max-width: 150px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .page .brand-sec .item-list a {
    max-width: 39.1vw;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}
.page .brand-sec .item-list a .item--name {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 13px;
  margin: 6px auto;
}
@media screen and (max-width: 768px) {
  .page .brand-sec .item-list a .item--name {
    font-size: 3.4vw;
    margin: 2.3vw auto;
  }
}
.page .brand-sec .item-list a .item--price {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 13px;
}
@media screen and (max-width: 768px) {
  .page .brand-sec .item-list a .item--price {
    font-size: 3.4vw;
  }
}
.page .cast {
  padding: 128px 0;
  background-image: url(/ec/img/usr/pg/c/prestige-technology/cast-bg.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
@media screen and (max-width: 768px) {
  .page .cast {
    padding: 15.6vw 0;
  }
}
.page .cast-heading {
  max-width: 84px;
  display: block;
  margin: 0 auto 50px;
}
@media screen and (max-width: 768px) {
  .page .cast-heading {
    max-width: 21.9vw;
    margin-bottom: 10.4vw;
  }
}
.page .cast-info {
  padding: 50px 0;
  background: #fff;
  max-width: 1200px;
  margin: 0 auto 50px;
}
@media screen and (max-width: 768px) {
  .page .cast-info {
    padding: 7.8vw 0;
    max-width: 89.8vw;
    margin-bottom: 10.4vw;
  }
}
.page .cast-inner {
  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;
  max-width: 980px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .page .cast-inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    max-width: 74.2vw;
  }
}
.page .cast-inner.sec-reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media screen and (max-width: 768px) {
  .page .cast-inner.sec-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.page .cast-inner .cast-mv {
  width: 30%;
}
@media screen and (max-width: 768px) {
  .page .cast-inner .cast-mv {
    width: 45.8vw;
    display: block;
    margin: 0 auto 10.4vw;
  }
}
.page .cast-inner .cast-detail {
  width: 65%;
}
@media screen and (max-width: 768px) {
  .page .cast-inner .cast-detail {
    width: 100%;
  }
}
.page .cast-inner .cast-detail .cast-name01 {
  max-width: 148px;
  margin: 0 auto 25px 0;
}
@media screen and (max-width: 768px) {
  .page .cast-inner .cast-detail .cast-name01 {
    display: block;
    max-width: 32.6vw;
    margin: 0 auto 6.3vw;
  }
}
.page .cast-inner .cast-detail .cast-name02 {
  max-width: 150px;
  margin: 0 auto 25px 0;
}
@media screen and (max-width: 768px) {
  .page .cast-inner .cast-detail .cast-name02 {
    display: block;
    max-width: 32.6vw;
    margin: 0 auto 6.3vw;
  }
}
.page .cast-inner .cast-detail .cast-text {
  font-size: 16px;
}
@media screen and (max-width: 768px) {
  .page .cast-inner .cast-detail .cast-text {
    font-size: 3.6vw;
  }
}
.page .recommend {
  margin: 150px auto;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .page .recommend {
    margin: 26vw auto;
  }
}
.page .recommend-heading {
  font-size: 20px;
  font-weight: 600;
  color: #009BBF;
  margin-bottom: 32px;
}
@media screen and (max-width: 768px) {
  .page .recommend-heading {
    font-size: 5.2vw;
    margin-bottom: 8.3vw;
  }
}
.recommend-sec{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 30px;
}
@media screen and (max-width: 768px) {
  .recommend-sec{
    flex-direction: column;
    gap: 5vw;
  }
}
.page .recommend-bnr {
  max-width: 260px;
  display: block;
}
@media screen and (max-width: 768px) {
  .page .recommend-bnr {
    max-width: 89.6vw;
  }
}
.functional-bnr{
  max-width: 700px;
  margin: 100px auto;
}
@media screen and (max-width: 768px) {
  .functional-bnr{
    max-width: 89.6vw;
    margin: 8vw auto;
  }
}