.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;
}

.wrapper > .pane-main {
  padding-bottom: 0 !important;
}

.page {
  overflow: hidden;
  background: #fff;
  font-family: "Zen Old Mincho", serif;
  font-weight: 500;
}
.page .item--name {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 13px;
  margin: 6px auto;
}
@media screen and (max-width: 768px) {
  .page .item--name {
    font-size: 3.4vw;
    margin: 1vw auto;
  }
}
.page .item--price {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 13px;
}
@media screen and (max-width: 768px) {
  .page .item--price {
    font-size: 3.4vw;
  }
}
.page .item--img {
  margin-bottom: 6px;
}
.page .more-btn {
  display: block;
  max-width: 346px;
  padding: 16px 0;
  font-size: 16px;
  background-color: #fff;
  border: 1px solid #000;
  text-align: center;
  position: relative;
  margin: 16px auto 0;
}
@media screen and (max-width: 768px) {
  .page .more-btn {
    max-width: 74vw;
    padding: 3.6vw 0;
    font-size: 3.6vw;
    margin-top: 6.3vw;
  }
}
.page .more-btn:after {
  content: "";
  background-image: url(/ec/img/usr/pg/campaign/formal-summer/26ss/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: 1.8vw;
    height: 3.1vw;
    right: 6.3vw;
    top: 38%;
  }
}
.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 .tv-cm {
  margin: 0 auto 54px;
  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 .function {
  max-width: 700px;
  margin: 0 auto 100px;
}
@media screen and (max-width: 768px) {
  .page .function {
    max-width: 89.6vw;
    margin-bottom: 13vw;
  }
}
.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: 100%;
    padding: 0 4.7vw;
    gap: 4.7vw;
    overflow-x: scroll;
  }
}
.page .talent-sec .item-list a {
  max-width: 150px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .page .talent-sec .item-list a {
    max-width: 41.7vw;
    width: 100%;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}
.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-mv {
  width: 45%;
}
@media screen and (max-width: 768px) {
  .page .talent-mv {
    max-width: 89.8vw;
    width: 100%;
    margin-bottom: 10.4vw;
  }
}
.page .talent-detail {
  width: 45%;
}
@media screen and (max-width: 768px) {
  .page .talent-detail {
    max-width: 100%;
    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 {
    display: block;
    max-width: 89.8vw;
    font-size: 3.6vw;
    margin: 0 auto 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 .formal-heading {
  max-width: 558px;
  margin: 0 auto 60px;
}
@media screen and (max-width: 768px) {
  .page .formal-heading {
    max-width: 89vw;
    margin-bottom: 15.6vw;
  }
}
.page .formal-style-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 1200px;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 0 auto 120px;
}
@media screen and (max-width: 768px) {
  .page .formal-style-list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    margin-bottom: 0;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    max-width: 100%;
    gap: 15.6vw;
  }
}
.page .formal-style-sec {
  width: 44.1%;
}
@media screen and (max-width: 768px) {
  .page .formal-style-sec {
    width: 100%;
  }
}
.page .formal-style-sec.sec-first {
  margin-top: 220px;
}
@media screen and (max-width: 768px) {
  .page .formal-style-sec.sec-first {
    margin-top: 0;
  }
}
.page .formal-style-sec-mv {
  max-width: 387px;
  display: block;
  margin: 0 auto 100px;
}
@media screen and (max-width: 768px) {
  .page .formal-style-sec-mv {
    max-width: 89.8vw;
    margin-bottom: 10.4vw;
  }
}
.page .formal-style-sec-text {
  font-size: 16px;
  margin-bottom: 32px;
}
@media screen and (max-width: 768px) {
  .page .formal-style-sec-text {
    max-width: 89.8vw;
    font-size: 3.6vw;
    display: block;
    margin: 0 auto 10.4vw;
  }
}
.page .formal-style-sec .item-list {
  max-width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 38px;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (max-width: 768px) {
  .page .formal-style-sec .item-list {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    overflow-x: scroll;
    gap: 5.2vw;
    padding: 0 5.2vw;
  }
}
.page .formal-style-sec .item-list a {
  max-width: 150px;
  width: 100%;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .page .formal-style-sec .item-list a {
    max-width: 39.1vw;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}
.page .formal-style-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 .formal-style-sec .item-list a .item--name {
    font-size: 3.4vw;
    margin: 1vw auto;
  }
}
.page .formal-style-sec .item-list a .item--price {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 13px;
}
@media screen and (max-width: 768px) {
  .page .formal-style-sec .item-list a .item--price {
    font-size: 3.4vw;
  }
}
.page .coordinate {
  background: #fff;
  margin: 100px auto 130px;
}
@media screen and (max-width: 768px) {
  .page .coordinate {
    margin: 26vw auto;
  }
}
.page .coordinate_top {
  margin: 0 auto 110px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .page .coordinate_top {
    margin-bottom: 10.4vw;
  }
}
.page .coordinate_heading {
  font-size: 28px;
  font-weight: bold;
  color: #009BBF;
  margin-bottom: 16px;
}
@media screen and (max-width: 768px) {
  .page .coordinate_heading {
    font-size: 5.7vw;
    margin-bottom: 4.2vw;
  }
}
.page .coordinate_heading_bottom {
  font-size: 18px;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .page .coordinate_heading_bottom {
    font-size: 3.6vw;
    margin: 0 auto;
  }
}
.page .coordinate .item_area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  max-width: 1200px;
  row-gap: 80px;
  -webkit-column-gap: 80px;
     -moz-column-gap: 80px;
          column-gap: 80px;
  margin: 0 auto;
  position: relative;
}
@media screen and (max-width: 768px) {
  .page .coordinate .item_area {
    gap: 10.4vw;
    max-width: 89.8vw;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.page .coordinate .item_area .item_sec {
  background: #F3FBFF;
  padding: 60px 84px;
  width: 46.6%;
  position: relative;
}
@media screen and (max-width: 768px) {
  .page .coordinate .item_area .item_sec {
    width: 100%;
    padding: 10.4vw 0;
  }
}
.page .coordinate .item_area .item_sec_heading-top {
  text-align: center;
  color: #009BBF;
  font-size: 40px;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .page .coordinate .item_area .item_sec_heading-top {
    font-size: 7.8vw;
  }
}
.page .coordinate .item_area .item_sec_heading-bottom {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 24px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .page .coordinate .item_area .item_sec_heading-bottom {
    font-size: 3.6vw;
    margin-bottom: 6.3vw;
  }
}
.page .coordinate .item_area .item_sec .item_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 auto 40px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .page .coordinate .item_area .item_sec .item_list {
    margin-bottom: 10.4vw;
    overflow-x: scroll;
    gap: 4.2vw;
    padding: 0 4.7vw;
  }
}
.page .coordinate .item_area .item_sec .item_list li {
  max-width: 185px;
  margin: 0 11px;
}
@media screen and (max-width: 768px) {
  .page .coordinate .item_area .item_sec .item_list li {
    max-width: 36.5vw;
    width: 100%;
    margin: 0;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}
.page .coordinate .item_area .item_sec .item_list .slider-arrow {
  position: absolute;
  width: 30px;
  height: 30px;
  top: 40%;
  z-index: 10;
  cursor: pointer;
}
.page .coordinate .item_area .item_sec .item_list .slider-prev-arrow {
  left: -35px;
}
.page .coordinate .item_area .item_sec .item_list .slider-next-arrow {
  right: -35px;
}
.page .cast {
  padding: 128px 0;
  background-image: url(/ec/img/usr/pg/campaign/formal-summer/26ss/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;
  -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 {
    -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: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}
@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;
  }
}
.formal-line-top{
  max-width: 1200px;
  margin: 0 auto 80px;
}
.formal-line-bottom{
  max-width: 1200px;
  margin: 80px auto 0;
}
@media screen and (max-width: 768px) {
  .formal-line-top{
    max-width: 89vw;
    margin: 0 auto 8vw;
  }
  .formal-line-bottom{
    max-width: 89vw;
    margin: 8vw auto 0;
  }  
}
.coordinate-logo{
  width: 88px;
  position: absolute;
  top: 0;
  left: 24px;
  z-index: 10;
}
@media screen and (max-width: 768px) {
  .coordinate-logo{
    width: 17.5vw;
    position: absolute;
    top: 0;
    left: 3.1vw;
  }  
}