﻿:root {
  --scrollbar: 15px
}

@media screen and (max-width: 767px) {
  .pc {
    display: none !important
  }
}

@media screen and (min-width: 768px) {
  .pc {
    display: block !important
  }
}

@media screen and (min-width: 768px) {
  .sp {
    display: none !important
  }
}

@media screen and (max-width: 767px) {
  .sp {
    display: block !important
  }
}

.secInnerL {
  box-sizing: border-box;
  margin: 0 auto
}

@media screen and (max-width: 767px) {
  .secInnerL {
    width: calc(100vw - var(--scrollbar) - 2rem)
  }
}

@media screen and (min-width: 768px) {
  .secInnerL {
    width: calc(1000px - var(--scrollbar))
  }
}

.secInnerM {
  box-sizing: border-box;
  margin: 0 auto;
  width: 100%;
  max-width: 1152px
}

.secInnerAbout {
  box-sizing: border-box;
  margin: 0 10vw 0 40vw;
  width: 50vw
}

@media screen and (max-width: 767px) {
  .secInnerAbout {
    margin: 0 auto;
    width: calc(100vw - var(--scrollbar) - 2rem)
  }
}

body.top.index {
  margin: 0;
  max-width: none;
  /* min-width: auto !important; */
  /* width: calc(100vw - var(--scrollbar)) */
}


.brand2024Wrapper {
  min-width: 1000px;
}

@media screen and (max-width: 767px) {
  .brand2024Wrapper {
    min-width: auto;
  }
}
/* @media screen and (min-width: 768px) {
  .contents-area {
    padding-top: 90px
  }
}

@media screen and (max-width: 767px) {
  .contents-area {
    padding-top: 60px
  }
} */
/*
.fade-in {
  opacity: 0;
  transition-duration: 1000ms;
  transition-property: opacity, transform
}

.fade-in-up {
  transform: translate(0, 50px)
}

.fade-in-down {
  transform: translate(0, -50px)
}

.fade-in-left {
  transform: translate(-150px, 0)
}

.fade-in-right {
  transform: translate(50px, 0)
}

.scroll-in {
  opacity: 1;
  transform: translate(0, 0)
} */

.buttonBorder a {
  background: #fff;
  position: relative;
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin: 0 auto;
  max-width: 328px;
  padding: 10px 25px;
  color: #000;
  transition: .3s ease-in-out;
  border: 1px solid #000;
  text-decoration: none;
  font-size: 18px
}

.buttonBorder a::after {
  content: "";
  width: 10px;
  height: 10px;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  transform: rotate(45deg) translateY(-50%);
  position: absolute;
  top: 45%;
  right: 20px;
  transition: .3s ease-in-out
}

.buttonBorder a:hover,
.buttonBorder a:focus {
  opacity: .5
}

.buttonBorder a:visited {
  text-decoration: none;
  color: #000
}

.textLink {
  color: #222 !important;
  text-decoration: underline
}

.textLink:visited {
  color: #222
}

.textLink:hover,
.textLink:focus {
  text-decoration: none
}

.textLink.icoTab::after {
  content: "";
  padding-right: 19px;
  background: url("/profile/ad/images/ico/ico-tab-b.png") no-repeat;
  background-position: center center;
  background-size: 12px
}

@media screen and (min-width: 768px) {
  .mainVisual {
    position: relative
  }
}

@media screen and (min-width: 768px) {
  .mainVisual .icoPageScroll {
    bottom: 3%;
    position: absolute;
    left: 10px;
    width: 23px;
    height: auto
  }
}

@media screen and (max-width: 767px) {
  .mainVisual .icoPageScroll {
    display: none
  }
}

#cboxOverlay {
  background: rgba(0, 0, 0, .8)
}

#cboxContent {
  background-color: rgba(0, 0, 0, 0)
}

@media screen and (max-width: 767px) {
  #cboxContent {
    margin: 25px 20px
  }
}

@media screen and (min-width: 768px) {
  #cboxContent {
    margin: 25px 50px
  }
}

#cboxLoadedContent {
  border: none;
  background-color: #fff;
  scrollbar-width: none;
  -ms-overflow-style: none
}

#cboxLoadedContent::-webkit-scrollbar {
  display: none
}

@media screen and (max-width: 767px) {
  #cboxLoadedContent {
    width: 100% !important
  }
}

#cboxPrevious {
  position: absolute;
  top: 50%;
  left: -43px;
  margin-top: -24px;
  background: url(/profile/ad/images/ico/icon_prev.png) no-repeat;
  background-size: 24px 48px;
  width: 24px;
  height: 48px;
  text-indent: -9999px;
  cursor: pointer
}

@media screen and (max-width: 767px) {
  #cboxPrevious {
    background: url(/profile/ad/images/ico/icon_prev_sp.png) no-repeat;
    background-size: 32px 32px;
    width: 32px;
    height: 32px;
    left: 0
  }
}

#cboxNext {
  position: absolute;
  top: 50%;
  right: -43px;
  margin-top: -24px;
  background: url(/profile/ad/images/ico/icon_next.png) no-repeat;
  background-size: 24px 48px;
  width: 24px;
  height: 48px;
  text-indent: -9999px;
  cursor: pointer
}

@media screen and (max-width: 767px) {
  #cboxNext {
    background: url(/profile/ad/images/ico/icon_next_sp.png) no-repeat;
    background-size: 32px 32px;
    width: 32px;
    height: 32px;
    right: 0
  }
}

#cboxClose {
  position: absolute;
  top: -22px;
  right: -22px;
  display: block;
  background: url(/profile/ad/images/ico/icon_close.png) no-repeat;
  background-size: 42px 42px;
  width: 42px;
  height: 42px;
  text-indent: -9999px;
  cursor: pointer
}

@media screen and (max-width: 767px) {
  #cboxClose {
    background: url(/profile/ad/images/ico/icon_close.png) no-repeat;
    background-size: 32px 32px;
    width: 32px;
    height: 32px;
    right: auto;
    left: 5px
  }
}

.inlineModal {
  box-sizing: border-box;
  display: block;
  overflow: scroll
}

@media screen and (max-width: 767px) {
  .inlineModal {
    height: 100%;
    max-height: calc(85vh - 60px)
  }
}

.inlineModalInner {
  background-color: #fff
}

.inlineModalBox {
  display: flex;
  flex-direction: column;
  padding: 35px 20px 35px 40px
}

@media screen and (max-width: 767px) {
  .inlineModalBox {
    padding: 25px 10px;
    width: 100%
  }
}

@media screen and (min-width: 768px) {
  .inlineModalBox {
    max-height: 85vh
  }
}

.inlineModalBox .column2Box {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 60px
}

.inlineModalBox .column2Box:last-of-type {
  margin-bottom: 0;
  padding-bottom: 20px
}

@media screen and (max-width: 767px) {
  .inlineModalBox .column2Box {
    flex-direction: column
  }
}

@media screen and (max-width: 767px) {
  .inlineModalBox .textBox {
    width: 100%;
    margin-right: 0;
    margin-bottom: 30px
  }
}

@media screen and (min-width: 768px) {
  .inlineModalBox .textBox {
    margin-right: 30px;
    flex: 1
  }
}

.inlineModalBox .imgBox {
  background-color: #e4edf4
}

@media screen and (max-width: 767px) {
  .inlineModalBox .imgBox {
    width: 100%;
    margin-bottom: 30px
  }
}

@media screen and (min-width: 768px) {
  .inlineModalBox .imgBox {
    flex: 1
  }
}

.inlineModalBox .imgBox img {
  width: 100%;
  padding: 10px
}

.inlineModalBox .imgBox img.p0 {
  padding: 0
}

.inlineModalBox .imgBox img+img {
  margin-top: 10px
}

.inlineModalBox .inlineModalH3 {
  font-size: 28px;
  margin: 0 0 30px;
  font-weight: bold
}

.inlineModalBox .inlineModalH4 {
  font-size: 20px;
  font-weight: bold;
  padding-bottom: 5px
}

.inlineModalBox p {
  font-size: 15px;
  line-height: 1.5
}

.inlineModalBox .inlineModalLinkBtn {
  margin-top: 36px;
  width: 100%;
  height: 64px
}

.inlineModalBox .inlineModalLinkBtn a {
  border: 1px solid #999;
  background-color: #f3f5f0;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 15px
}

.inlineModalBox .inlineModalLinkBtn a img {
  width: 30px;
  height: auto;
  margin-right: 20px
}

.inlineModalBox .inlineModalLinkBtn a:hover,
.inlineModalBox .inlineModalLinkBtn a:focus {
  opacity: .8;
  text-decoration: none
}

.imgBlockModal {
  width: 100%
}

@media screen and (max-width: 767px) {
  .imgBlockModal>div {
    padding: 30px 10px 10px
  }
}

@media screen and (min-width: 768px) {
  .imgBlockModal>div {
    padding: 40px 30px 20px
  }
}

.imgBlockModal .imgBlockModalH {
  font-size: 1.375em;
  font-weight: normal;
  line-height: 1.5;
  margin: 0 0 22px;
}

.brand2022Nav {
  -ms-flex-align: center;
  -webkit-box-align: center;
  align-items: center;
  right: -165px;
  top: 330px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 50px;
  position: fixed;
  width: 421px;
  z-index: 100;
  transform: rotate(90deg)
}

@media screen and (max-width: 767px) {
  .brand2022Nav {
    display: none
  }
}

.brand2022Nav .flexbox {
  -ms-flex-align: center;
  -ms-flex-pack: justify;
  -webkit-box-align: center;
  -webkit-box-pack: justify;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-between
}

.nav-global ul {
  list-style: none;
  padding: 0 20px;
  margin: 0;
  border-bottom: 1px solid #000;
  width: 100%
}

.nav-global li {
  box-sizing: border-box;
  padding: 0 15px 5px;
  border-bottom: 3px solid;
  border-color: rgba(0, 0, 0, 0);
  transition: all .5s ease-in-out
}

.nav-global li:last-child {
  margin-right: 0
}

.flexbox a {
  font-size: 13px;
  color: #000;
  text-decoration: none
}

.link-current {
  border-color: #000 !important;
  transition: all .5s ease-in-out
}

.brand2022Header {
  width: calc(100vw - var(--scrollbar));
  margin: 0 !important;
  display: flex;
  flex-direction: row;
  align-items: center;
  border: none;
  justify-content: space-between;
  background-color: #fff;
  position: fixed;
  z-index: 999
}

@media screen and (max-width: 767px) {
  .brand2022Header {
    height: 60px
  }
}

@media screen and (min-width: 768px) {
  .brand2022Header {
    height: 90px
  }
}

@media screen and (min-width: 768px) {
  .brand2022Header.heightMin {
    position: fixed;
    z-index: 999;
    height: 60px
  }

  .brand2022Header.heightMin h1.logo a {
    max-width: 113px;
    width: 100%;
    height: 40px
  }
}

@media screen and (min-width: 768px)and (min-width: 768px) {
  .brand2022Header.heightMin #js-humberger.humberger {
    top: -30px
  }
}

@media screen and (max-width: 767px) {
  .brand2022Header h1.logo {
    padding: 0 !important
  }
}

.brand2022Header h1.logo a {
  padding: 0 !important;
  margin-left: 16px
}

@media screen and (min-width: 768px) {
  .brand2022Header h1.logo a {
    width: 147px;
    height: 76px
  }
}

@media screen and (max-width: 767px) {
  .brand2022Header h1.logo a {
    max-width: 113px;
    width: 100%;
    height: 40px
  }
}

.brand2022Header h1.logo a img {
  width: 146px;
  height: 59px
}

.brand2022Header h1.logo a img[src$=".svg"] {
  width: 100% !important;
  height: 100% !important
}

.brand2022Footer {
  padding: 50px 0;
  width: calc(100vw - var(--scrollbar))
}

@keyframes DownAnime {
  from {
    opacity: 0;
    transform: translateY(-90px)
  }

  to {
    opacity: 1;
    transform: translateY(0)
  }
}

.brand2022SiteNav {
  display: block;
  position: relative
}

.brand2022SiteNav a {
  text-decoration: none
}

.brand2022SiteNav a :hover {
  text-decoration: underline
}

.brand2022SiteNav .humberger {
  background-color: rgba(0, 0, 0, 0);
  border: none;
  display: block;
  margin-left: auto;
  z-index: 300;
  cursor: pointer
}

.brand2022SiteNav .humberger:hover {
  opacity: .5
}

.brand2022SiteNav #js-humberger.humberger {
  height: 60px;
  position: absolute;
  width: 60px
}

@media screen and (min-width: 768px) {
  .brand2022SiteNav #js-humberger.humberger {
    right: 0;
    top: -30px
  }
}

@media screen and (max-width: 767px) {
  .brand2022SiteNav #js-humberger.humberger {
    right: -15px;
    top: -30px
  }
}

.brand2022SiteNav #js-humberger.humberger.-active {
  position: fixed
}

@media screen and (min-width: 768px) {
  .brand2022SiteNav #js-humberger.humberger.-active {
    right: 35px;
    top: 15px
  }
}

@media screen and (max-width: 767px) {
  .brand2022SiteNav #js-humberger.humberger.-active {
    right: 20px;
    top: 0
  }
}

.brand2022SiteNav .humberger.-active .humberger__line {
  background-color: rgba(0, 0, 0, 0)
}

.brand2022SiteNav .humberger.-active .humberger__line::before {
  top: 0;
  transform: rotate(20deg)
}

.brand2022SiteNav .humberger.-active .humberger__line::after {
  top: 0;
  transform: rotate(-20deg)
}

.brand2022SiteNav .humberger__line {
  display: block;
  height: 2px;
  position: absolute;
  top: 23px;
  left: 50%;
  transform: translateX(-50%);
  background-color: #000;
  transition: .4s
}

@media screen and (min-width: 768px) {
  .brand2022SiteNav .humberger__line {
    width: 60px
  }
}

@media screen and (max-width: 767px) {
  .brand2022SiteNav .humberger__line {
    width: 45px
  }
}

.brand2022SiteNav .humberger__line:before,
.brand2022SiteNav .humberger__line:after {
  content: "";
  display: block;
  height: 100%;
  position: absolute;
  width: 100%;
  background-color: #000;
  transition: inherit
}

.brand2022SiteNav .humberger__line:before {
  top: -7px
}

.brand2022SiteNav .humberger__line:after {
  top: 7px
}

.brand2022SiteNav .humberger__text {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  text-align: center;
  color: #000;
  font-size: 10px;
  font-weight: 900
}

@media screen and (min-width: 768px) {
  .brand2022SiteNav .humberger__text {
    bottom: 8px
  }
}

@media screen and (max-width: 767px) {
  .brand2022SiteNav .humberger__text {
    bottom: 8px
  }
}

.brand2022SiteNav .header {
  width: 300px
}

.brand2022SiteNav .header__nav-area {
  background-color: rgba(255, 255, 255, .93);
  height: 100vh;
  left: 0;
  overflow-y: scroll;
  position: fixed;
  top: -100%;
  transition: .4s;
  visibility: hidden;
  width: 100%;
  z-index: 200
}

@media screen and (min-width: 768px) {
  .brand2022SiteNav .header__nav-area {
    padding-top: 90px
  }
}

@media screen and (max-width: 767px) {
  .brand2022SiteNav .header__nav-area {
    padding-top: 60px
  }
}

.brand2022SiteNav .header__nav-area.-active {
  top: 0;
  visibility: visible
}

.brand2022SiteNav .global-navigation {
  margin-top: 0;
  margin-bottom: 40px
}

@media screen and (min-width: 768px) {
  .brand2022SiteNav .global-navigation {
    margin-right: 25px;
    margin-left: 25px
  }
}

@media screen and (max-width: 767px) {
  .brand2022SiteNav .global-navigation {
    margin-right: 0;
    margin-left: 0
  }
}

.brand2022SiteNav .global-navigation__title {
  line-height: 1.2;
  margin-top: 0;
  margin-bottom: 40px;
  text-align: center
}

@media screen and (min-width: 768px) {
  .brand2022SiteNav .global-navigation__title {
    font-size: 44px
  }
}

@media screen and (max-width: 767px) {
  .brand2022SiteNav .global-navigation__title {
    font-size: 24px
  }
}

.brand2022SiteNav .global-navigation__list {
  display: flex;
  padding: 0;
  margin: 0 auto
}

@media screen and (min-width: 768px) {
  .brand2022SiteNav .global-navigation__list {
    flex-direction: row;
    justify-content: space-between;
    max-width: 1150px
  }

  .brand2022SiteNav .global-navigation__list>li {
    border-top: 1px solid #000;
    margin: 0;
    width: calc(50% - 25px)
  }
}

@media screen and (max-width: 767px) {
  .brand2022SiteNav .global-navigation__list {
    flex-direction: column
  }
}

.brand2022SiteNav .global-navigation__list>li {
  border-top: 1px solid #000;
  margin: 0
}

@media screen and (max-width: 767px) {
  .brand2022SiteNav .global-navigation__list>li {
    padding: 0 15px 30px;
    width: 100%
  }
}

.brand2022SiteNav .global-navigation__list li {
  list-style: none
}

.brand2022SiteNav .global-navigation__link {
  align-items: center;
  color: #000;
  display: flex;
  justify-content: space-between;
  padding-top: 20px;
  transition: color .4s;
  width: 100%
}

.brand2022SiteNav .global-navigation__link.-active::after {
  transform: translateY(-50%) rotate(-90deg)
}

.brand2022SiteNav .nav-link__title {
  line-height: 1.5;
  position: relative
}

.brand2022SiteNav .nav-link__title::after {
  content: "";
  border: 0;
  border-top: solid 1px #000;
  border-right: solid 1px #000;
  transform: translate(0, -50%) rotate(45deg);
  top: 50%;
  width: 10px;
  height: 10px;
  position: absolute;
  margin-left: 10px
}

.brand2022SiteNav .nav-link__txt {
  color: #000;
  display: flex;
  flex-direction: column
}

@media screen and (min-width: 768px) {
  .brand2022SiteNav .global-navigation__link .nav-link__title {
    font-size: 30px
  }
}

@media screen and (max-width: 767px) {
  .brand2022SiteNav .global-navigation__link .nav-link__title {
    font-size: 22px
  }
}

@media screen and (min-width: 768px) {
  .brand2022SiteNav .sub__link .nav-link__title {
    font-size: 21px
  }
}

@media screen and (max-width: 767px) {
  .brand2022SiteNav .sub__link .nav-link__title {
    font-size: 17px
  }
}

.brand2022SiteNav .nav-link__sub {
  font-size: 12px
}

.brand2022SiteNav .accordion__list {
  padding-left: 40px
}

.brand2022SiteNav .accordion__list li {
  font-size: .75rem
}

.brand2022SiteNav .accordion__list li {
  margin-top: 20px
}

.brand2022SiteNav #js-in-menu-close-buttom {
  border: 1px solid #000;
  display: flex;
  margin: 40px auto 0;
  height: 40px;
  width: 120px;
  align-items: center;
  justify-content: center
}

.brand2022SiteNav #js-in-menu-close-buttom span {
  font-size: 12px
}

.topSecH2 {
  margin: 0
}

.topSecH2 p {
  position: absolute;
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(0px 0px 99.9% 99.9%);
  clip-path: inset(0px 0px 99.9% 99.9%);
  overflow: hidden;
  height: 1px;
  width: 1px;
  padding: 0;
  border: 0
}

@media screen and (max-width: 767px) {
  .topSecH2 {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 50px 0;
    width: calc(100vw - var(--scrollbar))
  }

  .topSecH2 img {
    width: 70vw;
    height: auto
  }
}

.secH2 {
  margin: 0 0 50px;
  text-align: center;
  display: flex;
  flex-direction: column
}

.secH2 .secH2Main {
  font-size: 84px;
  line-height: 1
}

@media screen and (max-width: 767px) {
  .secH2 {
    margin: 0 0 32px;
  }

  .secH2 .secH2Main {
    font-size: 40px;
    text-align: center
  }
}

.secH2 .secH2Sub {
  font-size: 20px;
  font-weight: bold
}

@media screen and (max-width: 767px) {
  .secH2 .secH2Sub {
    text-align: center;
    font-size: 16px
  }
}

.secH3 {
  font-size: 36px;
  font-weight: normal
}

@media screen and (max-width: 767px) {
  .secH3 {
    font-size: 24px
  }
}

@media screen and (max-width: 767px) {
  .mainVisual {
    width: calc(100vw - var(--scrollbar));
    height: auto
  }
}

@media screen and (min-width: 768px) {
  .mainVisual {
    /* width: calc(100vw - var(--scrollbar)); */
    height: auto
  }
}

@media screen and (min-width: 1350px) {
  .mainVisual {
    width: 100%;
    /* height: calc(100vh - 90px) */
  }
}

@media screen and (max-width: 767px) {
  .mainVisualImg {
    width: 100%;
    height: auto
  }
}

@media screen and (min-width: 768px) {
  .mainVisualImg {
    width: 100%;
    height: auto
  }
}

@media screen and (min-width: 1350px) {
  .mainVisualImg {
    object-fit: cover;
    width: 100%;
    height: 100%
  }
}

.secVisual {
  margin: 0;
  background-color: #adc9d8
}

@media screen and (max-width: 767px) {
  .secVisual {
    width: calc(100vw - var(--scrollbar));
    height: auto
  }
}

@media screen and (min-width: 768px) {
  .secVisual {
    width: calc(100vw - var(--scrollbar));
    height: 34.72vw
  }
}

@media screen and (max-width: 767px) {
  .secVisualImg {
    width: 100%;
    height: auto
  }
}

@media screen and (min-width: 768px) {
  .secVisualImg {
    object-fit: contain;
    width: calc(100vw - var(--scrollbar));
    height: 34.72vw
  }
}

@media screen and (max-width: 767px) {
  .secAbout .secVisual {
    width: calc(100vw - var(--scrollbar));
    height: auto
  }
}

@media screen and (min-width: 768px) {
  .secAbout .secVisual {
    width: 30vw;
    height: 60px
  }
}

@media screen and (max-width: 767px) {
  .secAbout .secVisualImg {
    width: 100%;
    height: auto
  }
}

@media screen and (min-width: 768px) {
  .secAbout .secVisualImg {
    object-fit: cover;
    width: 30vw;
    height: 52.08vw
  }
}

.secMessage {
  line-height: 2
}

@media screen and (max-width: 767px) {
  .secMessage {
    font-size: 16px
  }
}

@media screen and (min-width: 768px) {
  .secMessage {
    font-size: 21px
  }
}

.secWrapper {
  /* width: calc(100vw - var(--scrollbar)) */
}

@media screen and (max-width: 767px) {
  .secWrapper {
    padding: 30px 0 60px;
    width: calc(100vw - var(--scrollbar))
  }
}

@media screen and (min-width: 768px) {
  .secWrapper {
    padding: 100px 0 120px;
  }
}

.secWrapperBgImgA {
  /* background: url("/profile/ad/images/bg_a.jpg") center top/calc(100vw - var(--scrollbar)) auto no-repeat */
  background: url("/profile/ad/images/bg_a.jpg") center top/contain no-repeat;
}

.secWrapperBgImgB {
  background: url("/profile/ad/images/bg_b.jpg") center top/calc(100vw - var(--scrollbar)) auto no-repeat;
  background-size: cover
}

.secWrapperBrand {
  background: #e4edf4;
  padding-bottom: 80px !important
}

.movieBoxWrapper {
  margin: 50px auto
}

.movieBox {
  width: fit-content;
  position: relative;
  margin: 0 auto
}

@media screen and (min-width: 768px) {

  .movieBox a:hover .moviePlayIco,
  .movieBox a:focus .moviePlayIco {
    width: 7.5vw
  }
}

@media screen and (max-width: 767px) {
  .movieBoxWrapper {
    margin: 32px auto
  }

  .movieBox a:hover .moviePlayIco,
  .movieBox a:focus .moviePlayIco {
    width: 60px
  }
}

.movieBox a:hover .movieThumbImg,
.movieBox a:focus .movieThumbImg {
  opacity: 1
}

.movieTitle {
  font-size: 22px;
  margin-top: 5px;
  text-align: left
}

@media screen and (max-width: 767px) {
  .movieTitle {
    font-size: 16px
  }
}

.moviePlayIco {
  transition: all .5s ease;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%)
}

@media screen and (min-width: 768px) {
  .moviePlayIco {
    width: 5.7vw
  }
}

@media screen and (max-width: 767px) {
  .moviePlayIco {
    width: 48px
  }
}

.movieBox850 .movieThumbImg {
  width: 59.02vw
}

@media screen and (max-width: 767px) {
  .movieBox850 .movieThumbImg {
    width: 100%;
    height: auto
  }
}

.movieBox700 .movieThumbImg {
  width: 48.61vw
}

@media screen and (max-width: 767px) {
  .movieBox700 .movieThumbImg {
    width: 100%;
    height: auto
  }
}

.movieThumbCover {
  background-color: #000
}

.movieThumbImg {
  width: 100%;
  height: auto;
  opacity: .8
}

.movieThumbAreaBox {
  margin: 50px 0 0
}

.movieThumbAreaBox .movieThumbAreaList {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex
}

@media screen and (min-width: 768px) {
  .movieThumbAreaBox .movieThumbAreaList {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between
  }
}

@media screen and (max-width: 767px) {
  .movieThumbAreaBox .movieThumbAreaList {
    flex-direction: column;
    justify-content: space-between
  }
}

.movieThumbAreaBox .movieThumbAreaList li {
  margin: 0
}

@media screen and (min-width: 768px) {
  .movieThumbAreaBox .movieThumbAreaList li {
    width: calc(50% - 20px)
  }
}

@media screen and (max-width: 767px) {
  .movieThumbAreaBox .movieThumbAreaList li {
    margin-bottom: 35px;
    width: 100%
  }

  .movieThumbAreaBox .movieThumbAreaList li:last-of-type {
    margin-bottom: 0
  }
}

.movieThumbAreaBox .movieThumbAreaList li a {
  display: block;
  overflow: hidden;
  width: 100%;
  height: auto;
  position: relative;
  background-color: #000
}

.movieThumbAreaBox .movieThumbAreaList li a:hover .movieThumbImg,
.movieThumbAreaBox .movieThumbAreaList li a:focus .movieThumbImg {
  opacity: 1
}

.movieThumbAreaBox .movieThumbAreaList li .movieThumbImg {
  width: 100%;
  display: block;
  transform: scale(1);
  transition: .2s all linear;
  opacity: .8
}

@media screen and (min-width: 768px) {
  .innovatorBannerBox {
    margin: 100px auto 50px;
    max-width: 860px
  }
}

@media screen and (max-width: 767px) {
  .innovatorBannerBox {
    margin: 60px 0 28px;
    padding: 0 16px;
  }

  .innovatorBannerBox + .txtBox {
    padding: 0 25px;
  }
}

.innovatorBannerBox .moreLinkWrapper {
  display: flex
}

@media screen and (min-width: 768px) {
  .innovatorBannerBox .moreLinkWrapper {
    flex-direction: row
  }
}

@media screen and (max-width: 767px) {
  .innovatorBannerBox .moreLinkWrapper {
    flex-direction: column
  }
}

@media screen and (min-width: 768px) {
  .innovatorBannerBox .innovatorBannerBoxImg {
    width: 260px;
    height: auto
  }
}

@media screen and (max-width: 767px) {
  .innovatorBannerBox .innovatorBannerBoxImg {
    flex-direction: column
  }
}

.innovatorBannerBox .innovatorBannerBoxTxt {
  background: url("/profile/ad/images/bg_innovator.jpg") center top/calc(100vw - var(--scrollbar)) auto no-repeat;
  color: #fff
}

@media screen and (min-width: 768px) {
  .innovatorBannerBox .innovatorBannerBoxTxt {
    flex: 1;
    padding: 40px 100px 40px 40px
  }
}

@media screen and (max-width: 767px) {
  .innovatorBannerBox .innovatorBannerBoxTxt {
    padding: 12px 12px 58px
  }
}

.innovatorBannerBox .innovatorBannerBoxTxt .innovatorBannerBoxTxtTtl {
  font-size: 26px;
  text-shadow: 0px 2px 0px #000;
  margin-bottom: 0
}

.innovatorBannerBox .innovatorBannerBoxTxt .innovatorBannerBoxTxtDetail {
  margin-top: 0
}

.innovatorBannerBox a.moreLinkWrapper:hover {
  text-decoration: none
}

@media screen and (max-width: 767px) {
  .innovatorBannerBox .innovatorBannerBoxTxt .innovatorBannerBoxTxtTtl {
    font-size: 1.375rem;
  }

  .innovatorBannerBox .innovatorBannerBoxTxt .innovatorBannerBoxTxtDetail {
    font-size: .875rem;
    line-height: 1.5;
    margin-top: 6px;
  }
}

@media screen and (min-width: 768px) {
  .innovatorBannerBox+.txtBox .secMessage {
    text-align: center
  }
}

.strengthArea {
  margin-top: 50px;
  background: url("/profile/ad/images/pc/strength_bg.jpg") left top/calc(100% - 50px) auto no-repeat;
  min-width: 1000px;
}


@media screen and (max-width: 767px) {
  .strengthArea {
    background: url("/profile/ad/images/sp/strength_bg.jpg") center top/calc(100% - 50px) auto no-repeat;
    min-width: auto;
  }
}

.strengthArea ol {
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: row;
  list-style: none
}

@media screen and (max-width: 767px) {
  .strengthArea ol {
    flex-direction: column
  }
}

@media screen and (max-width: 767px) {
  .strengthBox {
    width: 100%;
    border-bottom: 1px solid #fff
  }

  .strengthBox:last-of-type {
    border-top: 1px solid #fff
  }
}

@media screen and (min-width: 768px) {
  .strengthBox {
    border-left: 1px solid #fff;
    width: 33.3333%;
  }

  .strengthBox:last-of-type {
    border-right: 1px solid #fff
  }
}

.strengthBox a {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  padding: 30px 40px 85px;
  opacity: 1;
  transition: .2s all linear
}

.strengthBox a:hover,
.strengthBox a:focus {
  text-decoration: none;
  background: rgba(255, 255, 255, .2)
}

@media screen and (max-width: 767px) {
  .strengthBox a {
    padding: 20px 15px 60px
  }
}

.strengthBox p {
  color: #fff;
  text-shadow: 0px 1px 0px #000;
  margin: 0 0 15px;
  font-size: 15px;
  line-height: 1.4
}

.strengthBox p:last-of-type {
  margin-bottom: 0
}

.strengthBox img {
  width: 185px;
  height: auto;
  margin: 0 0 15px;
  max-width: 300px;
}

@media screen and (max-width: 767px) {
  .strengthBox img {
    width: 33.4vw
  }
}

.strengthBox .strengthH3 {
  margin: 0 0 15px;
  color: #fff;
  text-shadow: 0px 1px 0px #000;
  font-size: 26px;
  font-weight: normal;
  line-height: 1.5
}

@media screen and (max-width: 767px) {
  .strengthBox .strengthH3 {
    font-size: 22px
  }
}

.moreLinkWrapper .moreLinkLoupe::after {
  background: #fff url("/profile/ad/images/ico/ico-loupe-b.png") center 18px/15px 15px no-repeat
}

.moreLinkWrapper .moreLinkTab::after {
  background: #fff url("/profile/ad/images/ico/ico-tab-b.png") center 18px/12px 11px no-repeat
}

.moreLinkWrapper .moreLinkArrow::after {
  background: #fff url("/profile/ad/images/ico/ico-arrow-b.png") center 18px/9px 14px no-repeat
}

.moreLinkWrapper:hover .moreLinkLoupe::after,
.moreLinkWrapper:focus .moreLinkLoupe::after {
  background: #005eb8 url("/profile/ad/images/ico/ico-loupe-w.png") center 18px/15px 15px no-repeat
}

.moreLinkWrapper:hover .moreLinkTab::after,
.moreLinkWrapper:focus .moreLinkTab::after {
  background: #005eb8 url("/profile/ad/images/ico/ico-tab-w.png") center 18px/12px 11px no-repeat
}

.moreLinkWrapper:hover .moreLinkArrow::after,
.moreLinkWrapper:focus .moreLinkArrow::after {
  background: #005eb8 url("/profile/ad/images/ico/ico-arrow-w.png") center 18px/9px 14px no-repeat
}

.moreLinkWrapper .moreLinkLoupe,
.moreLinkWrapper .moreLinkTab,
.moreLinkWrapper .moreLinkArrow {
  position: relative
}

.moreLinkWrapper .moreLinkLoupe::after,
.moreLinkWrapper .moreLinkTab::after,
.moreLinkWrapper .moreLinkArrow::after {
  position: absolute;
  visibility: visible;
  opacity: 1;
  transition: .2s all linear;
  width: 70px;
  height: 70px;
  right: 0;
  bottom: 0;
  color: #000;
  text-align: center;
  font-size: 12px;
  content: "MORE";
  padding-top: 35px
}

@media screen and (max-width: 767px) {

  .moreLinkWrapper .moreLinkLoupe::after,
  .moreLinkWrapper .moreLinkTab::after,
  .moreLinkWrapper .moreLinkArrow::after {
    background-position: center 10px;
    padding-top: 25px;
    width: 50px;
    height: 50px
  }
}

.moreLinkWrapper:hover .moreLinkLoupe::after,
.moreLinkWrapper:hover .moreLinkTab::after,
.moreLinkWrapper:hover .moreLinkArrow::after,
.moreLinkWrapper:focus .moreLinkLoupe::after,
.moreLinkWrapper:focus .moreLinkTab::after,
.moreLinkWrapper:focus .moreLinkArrow::after {
  color: #fff
}

@media screen and (max-width: 767px) {

  .moreLinkWrapper:hover .moreLinkLoupe::after,
  .moreLinkWrapper:hover .moreLinkTab::after,
  .moreLinkWrapper:hover .moreLinkArrow::after,
  .moreLinkWrapper:focus .moreLinkLoupe::after,
  .moreLinkWrapper:focus .moreLinkTab::after,
  .moreLinkWrapper:focus .moreLinkArrow::after {
    background-position: center 10px;
    padding-top: 25px
  }
}

@media screen and (min-width: 768px) {
  .secWrapperBrand .libraryBox1Column>.moreLinkWrapper {
    margin-bottom: 50px
  }
}

@media screen and (max-width: 767px) {
  .secWrapperBrand .libraryBox1Column>.moreLinkWrapper {
    margin-bottom: 35px
  }
}

.secWrapperBrand .libraryBox1Column>.moreLinkWrapper:last-of-type {
  margin-bottom: 0
}

.secWrapperCm .movieBoxWrapper {
  display: flex
}

@media screen and (min-width: 768px) {
  .secWrapperCm .movieBoxWrapper {
    align-items: flex-start;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}

@media screen and (max-width: 767px) {
  .secWrapperCm .movieBoxWrapper {
    flex-direction: column;
    justify-content: space-between;
    margin-bottom: 39px
  }
}

.secWrapperCm .movieBoxWrapper:last-of-type {
  margin-bottom: 0
}

@media screen and (min-width: 768px) {

  .secWrapperCm .movieBoxWrapper .movieBox {
    max-width: 400px;
    width: 100%;
  }

  .secWrapperCm .movieBoxWrapper .movieTxt {
    max-width: calc(100% - 400px);
    padding-left: 25px;
    width: 100%;
  }
}

@media screen and (max-width: 767px) {

  .secWrapperCm .movieBoxWrapper .movieBox,
  .secWrapperCm .movieBoxWrapper .movieTxt {
    margin-bottom: 35px;
    width: 100%
  }

  .secWrapperCm .movieBoxWrapper .movieBox:last-of-type,
  .secWrapperCm .movieBoxWrapper .movieTxt:last-of-type {
    margin-bottom: 0
  }
}

.secWrapperCm .movieBoxWrapper .movieBox {
  margin: 0
}

@media screen and (min-width: 768px) {
  .secWrapperCm .movieBoxWrapper .movieBox {
    margin-bottom: 0
  }
}

@media screen and (max-width: 767px) {
  .secWrapperCm .movieBoxWrapper .movieBox {
    margin-bottom: 7px
  }
}

@media screen and (min-width: 768px) {
  .secWrapperCm .movieBoxWrapper .movieTxt {
    margin-bottom: 0
  }
}

@media screen and (max-width: 767px) {
  .secWrapperCm .movieBoxWrapper .movieTxt {
    margin-bottom: 0
  }
}

.secWrapperCm .movieBoxWrapper .movieTxt p {
  font-size: 21px
}

.secWrapperCm .movieBoxWrapper .movieTxt .movieTitle {
  font-weight: bold
}

@media screen and (min-width: 768px) {
  .secWrapperCm .movieBoxWrapper .movieTxt .movieTitle {
    font-size: 26px;
    line-height: 1.6;
    margin-bottom: 11px
  }
}

@media screen and (max-width: 767px) {
  .secWrapperCm .movieBoxWrapper .movieTxt p {
    font-size: 1rem;
  }

  .secWrapperCm .movieBoxWrapper .movieTxt .movieTitle {
    font-size: 22px;
    line-height: 1.5;
    margin-bottom: 10px
  }
}

.secWrapperCm .movieBoxWrapper .movieTxt .movieTitle+p {
  margin-top: 0
}

.brand2022Header {
  padding-right: 20px
}

.brand2022Header .topLink .buttonBorder a {
  width: 184px;
  height: 30px;
  padding: 5px 25px 5px 10px;
  font-size: 14px
}

.brand2022Header .topLink .buttonBorder a::after {
  width: 5px;
  height: 5px;
  transform: rotate(45deg) translateY(-50%);
  right: 10px;
  transition: .3s ease-in-out
}

.brand2022Footer {
  width: calc(100vw - var(--scrollbar))
}

.libraryTopLinkListBox {
  background-color: #fff
}

.libraryTopLinkListBox .linkList {
  display: flex;
  flex-direction: row;
  padding: 0;
  margin: 0
}

@media screen and (max-width: 767px) {
  .libraryTopLinkListBox .linkList {
    flex-direction: column
  }
}

.libraryTopLinkListBox .linkList li {
  border: 1px solid #000;
  width: 33.3333333333%;
  margin: 0;
  padding: 0;
  position: relative;
  text-indent: 0
}

@media screen and (max-width: 767px) {
  .libraryTopLinkListBox .linkList li {
    width: 100%
  }
}

.libraryTopLinkListBox .linkList li::after {
  position: absolute;
  content: "";
  width: 15px;
  height: 11px;
  right: 10px;
  top: 40%;
  background: url("/profile/ad/images/ico/ico-link-b.png") no-repeat;
  background-position: center center;
  background-size: 10px
}

@media screen and (max-width: 767px) {
  .libraryTopLinkListBox .linkList li:not(:first-child) {
    border-top: hidden
  }
}

@media screen and (min-width: 768px) {
  .libraryTopLinkListBox .linkList li:not(:first-child) {
    border-left: hidden
  }
}

.libraryTopLinkListBox .linkList li a {
  color: #000;
  text-align: center;
  display: block;
  padding: 10px 30px 10px 20px
}

.libraryTopLinkListBox .linkList li a.icoLink::before {
  content: none;
  background: none
}

@media screen and (max-width: 767px) {
  .secWrapper.secWrapperLibraryTop {
    padding: 30px 0
  }
}

@media screen and (min-width: 768px) {
  .secWrapper.secWrapperLibraryTop {
    padding: 30px 0 50px
  }
}

.secLibrary:nth-of-type(odd) .secWrapperBrand {
  background-color: #f0f7fb
}

.libraryArea {
  width: 100%;
  position: relative;
  margin: 0 auto 100px
}

.libraryArea:last-of-type {
  margin-bottom: 0
}

.libraryArea a:hover .libraryThumbImg,
.libraryArea a:focus .libraryThumbImg {
  opacity: .8
}

.libraryArea a:hover,
.libraryArea a:focus {
  text-decoration: none
}

.libraryBox1Column {
  width: 849px;
  height: auto;
  margin: 0 auto
}

@media screen and (max-width: 767px) {
  .libraryBox1Column {
    width: 100%
  }
}

.libraryBox2Column li {
  width: calc(50% - 20px)
}

@media screen and (max-width: 767px) {
  .libraryBox2Column li:first-of-type {
    margin-top: 0
  }
}

@media screen and (min-width: 768px) {
  .libraryBox2Column li:nth-of-type(-n+2) {
    margin-top: 0
  }
}

.libraryBox3Column li {
  width: calc(33.3333333333% - 20px)
}

@media screen and (max-width: 767px) {
  .libraryBox3Column li:first-of-type {
    margin-top: 0
  }
}

@media screen and (min-width: 768px) {
  .libraryBox3Column li:nth-of-type(-n+3) {
    margin-top: 0
  }
}

@media screen and (min-width: 768px) {
  .libraryBox3Column::after {
    content: "";
    display: block;
    width: calc(33.3333333333% - 20px)
  }
}

.libraryBox2Column,
.libraryBox3Column {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  list-style: none;
  margin: 0;
  padding: 0;
  flex-wrap: wrap
}

.libraryBox2Column li,
.libraryBox3Column li {
  margin-top: 50px
}

@media screen and (max-width: 767px) {

  .libraryBox2Column li,
  .libraryBox3Column li {
    width: 100%
  }
}

@media screen and (max-width: 767px) {
  .libraryBox2ColumnSp li {
    width: calc(50% - 20px)
  }

  .libraryBox2ColumnSp li .libraryTextHeadTitle {
    font-size: 12px
  }

  .libraryBox2ColumnSp li .libraryTextTitle {
    font-size: 15px
  }

  .libraryBox2ColumnSp li:nth-of-type(-n+2) {
    margin-top: 0
  }
}

.libraryTextBox {
  margin: 5px 0 0;
  color: #000
}

.libraryTextBox:visited {
  color: #000
}

.libraryTextBox .libraryTextHeadTitle {
  display: block;
  font-size: 15px;
  font-weight: normal;
  margin-bottom: 0
}

.libraryTextBox .libraryTextTitle {
  display: block;
  font-weight: normal;
  line-height: 1.5;
  margin: 0
}

.libraryTextBox .libraryTextCaption {
  line-height: 1.5;
  color: #595959;
  font-size: 12px;
  margin: 0
}

.libraryTextBox .libraryTextCaption:not(first-of-type) {
  margin-top: 5px
}

.libraryBox1Column .libraryTextTitle {
  font-size: 28px
}

@media screen and (max-width: 767px) {
  .libraryBox1Column .libraryTextTitle {
    font-size: 22px
  }
}

.libraryBox2Column .libraryTextTitle {
  font-size: 26px;
  font-weight: normal;
}

@media screen and (max-width: 767px) {
  .libraryBox2Column .libraryTextTitle {
    font-size: 22px
  }
}

.libraryBox3Column .libraryTextTitle {
  font-size: 22px;
  font-weight: normal;
}

.libraryThumbImg {
  width: 100%;
  height: auto
}

.profile.ad.library.interview .brand2022SiteNav .humberger {
  color: #222;
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, メイリオ, arial, helvetica, sans-serif !important
}

.profile.ad.library.interview .brand2022SiteNav .header__nav-area.-active {
  font-size: 100%;
  font-size: 16px
}

.profile.ad.library.interview .brand2022SiteNav .header__nav-area.-active p,
.profile.ad.library.interview .brand2022SiteNav .header__nav-area.-active li {
  color: #222;
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, メイリオ, arial, helvetica, sans-serif !important;
  line-height: 1.8;
  font-feature-settings: normal
}

.profile.ad.library.interview .brand2022SiteNav .header__nav-area.-active .global-navigation__title {
  line-height: 1.2
}

.profile.ad.library.interview .itv_col.is-bnr.addLink {
  background-color: rgba(0, 0, 0, 0)
}

.profile.ad.library.interview .itv_col.is-bnr.addLink::before,
.profile.ad.library.interview .itv_col.is-bnr.addLink::after {
  border: none
}

.profile.ad.library.interview .itv_col.is-bnr.addLink p {
  width: 100%;
  text-align: right
}

.profile.ad.library.interview .itv_col.is-bnr.addLink a {
  color: #2f5b7d
}

.profile.ad.library.interview .itv_col.is-bnr.addLink a:focus,
.profile.ad.library.interview .itv_col.is-bnr.addLink a:hover {
  text-decoration: underline
}

/* 2024.11 add */
/* Slogan */
.secWrapperSlogan {
  padding: 60px 0 0;
}

.brandSlogan {
  font-size: 1.3125rem;
  text-align: center;
}

.brandSloganImg {
  margin-top: 59px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .secWrapperSlogan {
    padding: 35px 0 0;
  }

  .brandSlogan {
    font-size: 1rem;
    text-align: left;
    margin: 0 auto;
    max-width: 400px;
  }

  .brandSloganImg {
    margin-top: 44px;
  }

  .brandSloganImg .imgBox {
    margin-top: 0;
  }
}


/* CM */
.movieBoxWrapper.-main {
  flex-direction: column;
  margin-bottom: 100px;
}

.movieBoxWrapper.-main .movieBox,
.movieBoxWrapper.-main .movieTxt {
  margin: 0 auto;
  max-width: 720px;
  padding: 0;
  width: 100%;
}

.movieBoxWrapper.-main .movieTxt .movieTitle {
  margin: 10px 0 8px;
}

.movieBoxWrapper.-sub {
  border: 1px solid #000;
  padding: 25px;
}

.movieBoxWrapper.-sub .movieBox {
  max-width: 180px;
}

.movieBoxWrapper.-sub .movieTxt {
  max-width: calc(100% - 180px);
}

.movieBoxWrapper.-sub .movieTxt .movieTitle {
  font-size: 1.3125rem;
}

.movieBoxWrapper.-sub .movieTxt .movieTitle + p {
  font-size: .9375rem;
}

.movieBoxWrapper.-sub .moviePlayIco {
  width: 30px;
}

.secWrapperCm {
  padding: 100px 0 120px;
}

@media screen and (max-width: 767px) {
  .movieBoxWrapper.-main {
    margin-bottom: 40px;
  }

  .movieBoxWrapper.-main .movieTxt .movieTitle {
    line-height: 1.5;
    margin: 5px 0 8px;
  }

  .movieBoxWrapper.-main .movieTxt .movieTitle + p {
    font-size: 1rem;
  }

  .movieBoxWrapper.-sub {
    padding: 20px 10px;
  }

  .movieBoxWrapper.-sub .movieBox {
    margin: 0 auto;
  }

  .movieBoxWrapper.-sub .movieTxt {
    margin-top: 21px;
    max-width: 100%;
  }

  .movieBoxWrapper.-sub .movieTxt .movieTitle {
    font-size: 1.0625rem;
    line-height: 1.6;
    margin-bottom: 9px;
  }

  .movieBoxWrapper.-sub .movieTxt .movieTitle + p {
    font-size: .875rem;
    line-height: 1.5;
  }

  .secWrapperCm {
    padding-bottom: 80px;
  }

  .secWrapperInnovation {
    padding-bottom: 70px;
  }
}

@media screen and (min-width: 768px) {
  .movieBoxWrapper.-sub .movieBox a:hover .moviePlayIco,
  .movieBoxWrapper.-sub .movieBox a:focus .moviePlayIco {
    width: 40px
  }
}

/* library */
.secWrapperYoutube {
  padding: 100px 0 !important;
}

@media screen and (max-width: 767px) {
  .secWrapperYoutube {
    padding: 30px 0 !important;
  }
}

