@charset "utf-8";
/* fv *************************************************************************/
#index-fv {
  min-width: 1024px;
}
.swiper-slide-active .swiper-slide__item,
.swiper-slide-duplicate-active .swiper-slide__item,
.swiper-slide-prev .swiper-slide__item {
  animation: slide-pan 8s linear 0s normal both;
}
@keyframes slide-pan {
  0% {
    transform: scale(1.1) translateX(0);
  }
  100% {
    transform: scale(1.1) translateX(-3%);
  }
}
@media screen and (max-width: 768px) {
  #index-fv {
    min-width: 100%;
  }
  .swiper-slide__item {
    position: relative;
    width: 100%;
    height: 65vh;
  }
  .swiper-slide__item img {
    position: absolute;
    height: 100%;
    object-fit: cover;
  }
}
/* video */
/* #index-fv {
  padding-top: 56.25%;
  width: 100%;
  position: relative;
}

#index-fv video {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0px;
  left: 0px;
} */
/*  */

/* slider *************************************************************************/
#index-slider {
  margin: 0 0 32px;
  position: relative;
  padding-top: 32px;
  min-width: 1024px;
}
#index-slider .swiper-pagination-bullet-active {
  background: #595757 !important;
}
.lity-image img {
  max-width: 100% !important;
}
@media screen and (max-width: 768px) {
  #index-slider {
    margin: 0 0 24px;
    padding-top: 16px;
    min-width: 100%;
  }
  #index-slider .swiper-pagination-bullets.swiper-pagination-horizontal {
    bottom: 0 !important;
    z-index: 1;
  }
}

/* concept *************************************************************************/
li.index-conceptWrap {
  display: flex;
  row-gap: 24px;
  column-gap: 24px;
}
li:nth-child(even).index-conceptWrap {
  flex-direction: row-reverse;
  margin: 48px 0;
  align-items: center;
}
.index-conceptLeft,
.index-conceptRight {
  width: 50%;
}
#index-concept .h3-styleA {
  text-align: center;
}
#index-concept .h3-styleA .textsize-min {
  vertical-align: middle;
}
.index-conceptRight .h3-styleB {
  text-align: center;
  margin: 0 0 24px;
}
.index-conceptImgBoxWrap {
  display: flex;
  column-gap: 12px;
}
.index-conceptImgBoxWrap div {
  width: 100%;
  background: #f1f1f1;
  min-height: 250px;
}
.index-conceptAward {
  width: 800px;
  max-width: 85%;
  margin: 0 auto;
  padding: 0 90px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  row-gap: 24px;
  column-gap: 24px;
  position: relative;
}
.index-conceptAward img {
  width: auto;
  height: 100px;
}
.index-conceptAward::before,
.index-conceptAward::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 63px;
  height: 100%;
}
.index-conceptAward::before {
  background: url("../img/laurel_l.jpg") no-repeat center;
  background-size: cover;
  left: 0;
}
.index-conceptAward::after {
  background: url("../img/laurel_r.jpg") no-repeat center;
  background-size: cover;
  right: 0;
}
/* img */
#index-conceptImgBox-1 {
  background: url("../img/concept_01.jpg") no-repeat center;
  background-size: cover;
}
#index-conceptImgBoxCnt-1 {
  background: url("../img/concept_02.jpg") no-repeat center;
  background-size: cover;
}
#index-conceptImgBoxCnt-2 {
  background: url("../img/concept_03.jpg") no-repeat center;
  background-size: cover;
}
@media screen and (max-width: 1200px) {
  /* img */
  #index-conceptImgBox-1 {
    background: url("../img/concept_01.jpg") no-repeat top center;
    background-size: contain;
  }
}
@media screen and (max-width: 1024px) {
  /* img */
  #index-conceptImgBox-1 {
    background: url("../img/concept_01.jpg") no-repeat top center;
    background-size: contain;
  }
  #index-conceptImgBoxCnt-1 {
    background: url("../img/concept_02.jpg") no-repeat top center;
    background-size: contain;
  }
  #index-conceptImgBoxCnt-2 {
    background: url("../img/concept_03.jpg") no-repeat top center;
    background-size: contain;
  }
}
@media screen and (max-width: 768px) {
  li.index-conceptWrap {
    row-gap: 16px;
    column-gap: 16px;
    flex-wrap: wrap;
  }
  li:first-child.index-conceptWrap {
    flex-direction: column-reverse;
    margin: 0;
  }
  li:nth-child(even).index-conceptWrap {
    flex-direction: column-reverse;
    margin: 48px 0;
  }
  .index-conceptLeft,
  .index-conceptRight {
    width: 100%;
  }
  #index-concept .h2-styleA {
    text-align: center;
    margin-bottom: 6px;
  }
  #index-concept .h3-styleA {
    margin: 0 0 24px;
    padding: 0 24px;
  }
  .index-conceptText {
    padding: 0 24px;
    box-sizing: border-box;
  }
  .index-conceptRight .h3-styleB {
    text-align: center;
    margin: 0 0 24px;
    padding: 0 24px;
    box-sizing: border-box;
  }
  .index-conceptImgBoxWrap {
    column-gap: 8px;
  }
  .index-conceptImgBoxWrap div {
    min-height: 180px;
  }
  .index-conceptAward {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    row-gap: 16px;
    column-gap: 16px;
    position: relative;
    padding: 0 24px;
    flex-wrap: wrap;
  }
  .index-conceptAward p {
    width: 100%;
  }
  .index-conceptAward img {
    width: 85px;
    height: auto;
    margin: 0 auto;
  }
  .index-conceptAward::before,
  .index-conceptAward::after {
    top: 0;
    transform: translateY(0);
    width: 39px;
    height: 90px;
  }
  .index-conceptAward::before {
    left: calc(50% - 75px);
    transform: translateX(-50%);
  }
  .index-conceptAward::after {
    right: calc(50% - 105px);
    transform: translateX(-50%);
  }

  /* img */
  #index-conceptImgBox-1 {
    background: url("../img/concept_01.jpg") no-repeat center;
    background-size: cover;
    height: 320px;
  }
  #index-conceptImgBoxCnt-1 {
    background: url("../img/concept_02.jpg") no-repeat center;
    background-size: cover;
  }
  #index-conceptImgBoxCnt-2 {
    background: url("../img/concept_03.jpg") no-repeat center;
    background-size: cover;
  }
}

/* line up *************************************************************************/
#index-lineup {
  background: #000000;
  color: #fff;
  padding-top: 0;
  box-sizing: border-box;
  overflow-x: hidden;
  min-width: 1024px;
  margin-top: 48px;
}
#index-lineup h2.h2-styleA {
  color: #3e3a39;
  font-size: 5.6rem;
  position: relative;
  background: #000;
  z-index: 2;
}
#index-lineup h2.h2-styleA::after {
  content: "";
  position: absolute;
  background: url("../img/lineup_image.jpg") no-repeat center left;
  background-size: cover;
  z-index: 1;
  width: 100%;
  height: 100%;
  left: 415px;
}
#index-lineup h3.h3-styleB {
  text-align: center;
  margin: 48px 0;
}
.index-lineupWrap {
  display: flex;
}
.index-lineupWrap li {
  width: calc(100% / 3);
  box-sizing: border-box;
  padding-bottom: 32px;
}
.index-lineupWrap li h4 {
  text-align: center;
}
.index-lineupWrap li h4 img {
  display: inline-block;
  height: 47px;
  width: auto;
}
.index-lineupWrap li img {
  height: auto;
  width: 100%;
  margin: 0 auto;
}
.index-lineupScene {
  margin: 24px 0;
}
.index-lineupScene .h5-styleA {
  text-align: center;
}
span.index-lineupSceneLabel {
  display: block;
  position: relative;
}
span.index-lineupSceneLabel > span {
  background: #000;
  font-size: 0.8rem;
  position: relative;
  z-index: 1;
  padding: 0 12px;
}
span.index-lineupSceneLabel::after {
  content: "";
  position: absolute;
  width: 40%;
  height: 1px;
  background: #fff;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.index-lineupWrap hr {
  margin: 0 48px;
}
.index-lineupDesc dl {
  border-top: solid 1px #717071;
  border-left: solid 1px #717071;
  border-right: solid 1px #717071;
  display: flex;
  flex-wrap: wrap;
}
.index-lineupDesc dl dt,
.index-lineupDesc dl dd {
  padding: 6px;
  box-sizing: border-box;
  margin: 0;
  border-bottom: solid 1px #717071;
}
.index-lineupDesc dl dt {
  width: 125px;
  border-right: solid 1px #717071;
  background: #3e3a39;
}
.index-lineupDesc dl dd {
  width: calc(100% - 125px);
}
@media screen and (max-width: 768px) {
  #index-lineup {
    min-width: 100%;
    margin-top: 0;
  }
  #index-lineup .inBox {
    padding: 0 24px;
  }
  #index-lineup h2.h2-styleA {
    font-size: 3.2rem;
  }
  #index-lineup h2.h2-styleA::after {
    left: 235px;
  }
  #index-lineup h3.h3-styleB {
    margin: 32px 0;
  }
  #index-lineup h3.h3-styleB .subTitle {
    display: inline-block;
    margin-top: 12px;
    font-size: 1rem;
  }
  .index-lineupWrap {
    display: flex;
    flex-wrap: wrap;
  }
  .index-lineupWrap li {
    width: 100%;
    padding-bottom: 24px;
  }
  .index-lineupWrap li h4 img {
    height: 36px;
    width: auto;
  }
  .index-lineupWrap li img {
    height: 85px;
    width: auto;
    margin: 0 auto;
  }
  .index-lineupScene {
    margin: 24px 0;
  }
  .index-lineupScene .h5-styleA {
    text-align: center;
  }
  span.index-lineupSceneLabel {
    display: block;
    position: relative;
  }
  span.index-lineupSceneLabel > span {
    background: #000;
    font-size: 0.8rem;
    position: relative;
    z-index: 1;
    padding: 0 12px;
  }
  span.index-lineupSceneLabel::after {
    content: "";
    position: absolute;
    width: 30%;
    height: 1px;
    background: #fff;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .index-lineupWrap hr {
    margin: 24px 0;
    width: 100%;
  }
  .index-lineupDesc dl {
    border-top: solid 1px #717071;
    border-left: solid 1px #717071;
    border-right: solid 1px #717071;
    display: flex;
    flex-wrap: wrap;
  }
  .index-lineupDesc dl dt,
  .index-lineupDesc dl dd {
    padding: 6px;
    box-sizing: border-box;
    margin: 0;
    border-bottom: solid 1px #717071;
  }
  .index-lineupDesc dl dt {
    width: 125px;
    border-right: solid 1px #717071;
    background: #3e3a39;
  }
  .index-lineupDesc dl dd {
    width: calc(100% - 125px);
  }
}
@media screen and (max-width: 475px) {
  .index-lineupDesc dl dt,
  .index-lineupDesc dl dd {
    padding: 6px;
    font-size: 0.75rem;
  }
  .index-lineupDesc dl dt {
    width: 100px;
  }
  .index-lineupDesc dl dd {
    width: calc(100% - 100px);
  }
}
@media screen and (max-width: 350px) {
  span.index-lineupSceneLabel::after {
    width: 50%;
  }
}
@media screen and (max-width: 320px) {
  .index-lineupDesc dl dt,
  .index-lineupDesc dl dd {
    padding: 3px;
    font-size: 0.6rem;
  }
  .index-lineupDesc dl dt {
    width: 75px;
  }
  .index-lineupDesc dl dd {
    width: calc(100% - 75px);
  }
}
/* cta *************************************************************************/
#index-cta {
  padding: 32px 0;
}
.index-ctaCnt {
  background: #e61051;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  row-gap: 0;
  column-gap: 24px;
  padding: 24px;
  box-sizing: border-box;
}
.index-ctaCnt a {
  width: 200px;
}
.index-ctaCnt p {
  margin: 0;
}
@media screen and (max-width: 768px) {
  #index-cta {
    padding: 24px 0;
    margin: 0 auto;
  }
  #index-cta .inBox {
    padding: 0 24px;
  }
  .index-ctaCnt {
    flex-wrap: wrap;
    row-gap: 12px;
    column-gap: 0;
    padding: 16px;
  }
  .index-ctaCnt a {
    width: 240px;
    max-width: 95%;
    margin: 0 auto;
  }
  .index-ctaCnt p {
    text-align: center;
    width: 100%;
    margin: 0 auto;
    font-size: 1.1rem;
  }
}
@media screen and (max-width: 350px) {
  .index-ctaCnt p {
    font-size: 0.9rem;
  }
}
/* about us *************************************************************************/
#index-about {
  background: #ebebeb;
  min-width: 1024px;
  margin-bottom: 0;
}
#index-about .h2-styleA {
  margin-bottom: -5px;
}
.index-aboutImg {
  position: relative;
}
.index-aboutImgCnt {
  position: absolute;
  top: 7%;
  left: 50%;
  width: 450px;
  transform: translateX(-50%);
  text-align: center;
}
.index-aboutImgCnt p {
  font-size: 1rem;
  font-weight: bold;
}
.index-aboutImgCnt img {
  width: 78%;
  margin: 32px auto 0;
}
.index-aboutCnt {
  width: 870px;
  max-width: 87%;
  margin: 0 auto;
}
.index-aboutCnt h3.h3-styleB {
  margin: 32px auto 16px;
  text-align: center;
}
.index-aboutCntWrap {
  display: flex;
  row-gap: 0;
  column-gap: 24px;
}
.index-aboutCntWrap p {
  margin: 0;
  width: 50%;
}
.index-aboutLink {
  margin: 48px auto 0;
  width: 200px;
}
.index-aboutLink a img {
  width: 100px;
  margin: 0 auto;
}
.index-aboutLink a span {
  display: block;
  margin-top: 8px;
  font-family: "Montserrat", sans-serif;
  text-align: center;
  color: #000;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  #index-about {
    background: #ebebeb;
    min-width: 100%;
    margin-bottom: 0;
  }
  #index-about .h2-styleA {
    margin-bottom: 0;
    text-align: center;
    color: #b1b1b2;
  }
  .index-aboutImgCnt {
    position: static;
    top: 0;
    left: 0;
    width: 100%;
    transform: translateX(0);
    text-align: center;
    padding: 0 24px;
    box-sizing: border-box;
  }
  .index-aboutImgCnt p {
    font-size: 1rem;
    font-weight: bold;
  }
  .index-aboutImgCnt img {
    width: 60%;
    margin: 24px auto;
  }
  .index-aboutCnt {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 24px;
    box-sizing: border-box;
  }
  .index-aboutCnt h3.h3-styleB {
    margin: 32px auto 16px;
    text-align: center;
  }
  .index-aboutCntWrap {
    display: flex;
    row-gap: 0;
    column-gap: 0;
  }
  .index-aboutCntWrap p {
    margin: 0;
    width: 100%;
  }
  .index-aboutLink {
    margin: 24px auto;
    width: 100%;
  }
  .index-aboutLink a img {
    width: 75px;
    margin: 0 auto;
  }
  .index-aboutLink a span {
    display: block;
    margin-top: 8px;
    font-family: "Montserrat", sans-serif;
    text-align: center;
    color: #000;
    font-weight: bold;
    font-size: 0.8rem;
  }
}
@media screen and (max-width: 350px) {
  .index-aboutImgCnt p {
    font-size: 0.9rem;
  }
}
/* ctas *************************************************************************/
#index-ctas {
  background: #000;
  min-width: 1024px;
  margin: 0;
}
.index-ctasWrap {
  display: flex;
  row-gap: 0;
  column-gap: 32px;
}
.index-ctasBox {
  width: 50%;
}
.index-ctasBox a {
  display: block;
  box-sizing: border-box;
  padding: 24px 16px;
}
.index-ctasBox p {
  margin: 0 0 16px;
  text-align: center;
  font-size: 0.95rem;
  color: #fff;
  font-weight: bold;
}
.index-ctasBox img {
  width: 70px;
  margin: 0 auto;
}
.index-ctasDl a {
  background: #e61051;
}
.index-ctasMail a {
  background: #618eb6;
}
@media screen and (max-width: 768px) {
  #index-ctas {
    background: #000;
    min-width: 100%;
    margin: 0;
  }
  #index-ctas .inBox {
    padding: 0 24px;
  }
  .index-ctasWrap {
    display: flex;
    flex-wrap: wrap;
    row-gap: 24px;
    column-gap: 16px;
  }
  .index-ctasBox {
    width: 100%;
  }
  .index-ctasBox a {
    display: block;
    box-sizing: border-box;
    padding: 16px;
  }
  .index-ctasBox p {
    margin: 0 0 12px;
    font-size: 1.1rem;
    font-weight: normal;
  }
  .index-ctasBox img {
    width: 50px;
  }
}
@media screen and (max-width: 350px) {
  .index-ctasBox p {
    font-size: 0.9rem;
  }
}
/* ig *************************************************************************/
#index-ig {
  background: #ebebeb;
  min-width: 1024px;
  margin: 0;
}
.index-igLink {
  margin: 32px auto;
  width: 500px;
  max-width: 80%;
}
.index-igLink a img {
  width: 50px;
  margin: 0 auto;
}
.index-igLink a span {
  display: block;
  margin-top: 14px;
  font-family: "Montserrat", sans-serif;
  text-align: center;
  color: #000;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  #index-ig {
    min-width: 100%;
  }
  #index-ig .inBox {
    padding: 0 24px;
  }
  .index-igLink {
    margin: 24px auto;
    width: 100%;
    max-width: 100%;
  }
  .index-igLink a img {
    width: 50px;
    margin: 0 auto;
  }
  .index-igLink a span {
    display: block;
    margin-top: 16px;
    font-family: "Montserrat", sans-serif;
    text-align: center;
    color: #000;
    font-weight: bold;
  }
}
@media screen and (max-width: 350px) {
  .index-igLink a span {
    font-size: 0.8rem;
  }
}
/* sales *************************************************************************/
#index-sales {
  background: #ebebeb;
  min-width: 1024px;
  margin: 0;
  padding-bottom: 64px;
}
.index-salesCnt {
  width: 100%;
  border-top: solid 1px #00000050;
  border-bottom: solid 1px #00000050;
  padding-top: 48px;
  padding-bottom: 48px;
}
.index-salesInCnt {
  width: 870px;
  max-width: 87%;
  margin: 0 auto;
}
.index-salesInCnt .h2-styleB {
  text-align: center;
  margin: 0 0 24px;
}
.index-salesWrap {
  display: flex;
  row-gap: 0;
  column-gap: 24px;
}
.index-salesLeft,
.index-salesRight {
  width: 50%;
}
.index-salesRight p {
  margin: 0;
}
.index-salesRight .btn-designA {
  margin-top: 16px;
}
@media screen and (max-width: 768px) {
  #index-sales {
    background: #ebebeb;
    min-width: 100%;
    margin: 0;
    padding-bottom: 48px;
  }
  #index-sales .inBox {
    padding: 0 24px;
  }
  .index-salesCnt {
    width: 100%;
    border-top: solid 1px #00000050;
    border-bottom: solid 1px #00000050;
    padding-top: 32px;
    padding-bottom: 32px;
  }
  .index-salesInCnt {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
  }
  .index-salesInCnt .h2-styleB {
    text-align: center;
    margin: 0 0 16px;
  }
  .index-salesWrap {
    display: flex;
    flex-wrap: wrap;
    row-gap: 0;
    column-gap: 24px;
    row-gap: 24px;
  }
  .index-salesLeft,
  .index-salesRight {
    width: 100%;
  }
  .index-salesLeft img {
    width: 300px;
    max-width: 100%;
    margin: 0 auto;
  }
  .index-salesRight .btn-designA {
    width: 300px;
    max-width: 100%;
    margin: 24px auto 0;
  }
}
