@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP?family=Lato&family=Open+Sans&display=swap');

/*===== SP ====*/
html {
  text-size-adjust: none;
}

body {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  color: #717171;
  background-color: #fff;
  transition: all 0.1s ease-out;
  transition-duration: 0.1s;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 400;
}

dl, dt, dd {
  position: relative;
  margin: 0;
  padding: 0;
}

a {
  color: #000000;
  text-decoration: none;
  border: none;
}

article {
  width: 100%;
overflow:hidden;
}


section {
  width: 100%;
  text-align: center;
}


h1 {
background-color: #BAD2D2;
padding-top: clamp(3em, 24vh, 90px);
padding-bottom : clamp(2em, 12vh, 45px);
text-align: center;
margin:0 auto;
}

h1 img{
width: 34.6vw;
height: auto;
margin:0 auto;
}


main.main01 {
  position: relative;
  width: 100%;
  height:auto;
  max-height: 100vh;
  aspect-ratio: 375/305;
  background: #fff url("../img/main02_sp.jpg") top center no-repeat;
  background-size: cover;
}

main.main01 div.copy{
display: none;
}

main.main01 div.logo{
display: none;
}


main.main01 div.good{
display: none;
}

section{
position: relative;
}



/*=======1======*/

.section01 {
margin: 0 auto;
}

div.lead {

font-size: clamp(12px, 3.5vw, 14px);
line-height: 2;
padding-top: clamp(1em, 12vw, 45px);
padding-bottom: clamp(2em, 24vw, 90px);
margin:0 auto;
text-align: center;
}


.lead h2 {
width: 38.4vw;
height: auto;
margin:0 auto;
padding-bottom: clamp(1em, 12vw, 34px);
}

.lead h2 img{
width: 100%;
height: auto;
margin:0 auto;
}

.cover {
height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, 0);
    object-fit: cover;
    z-index: 1;
    pointer-events: none;
    mix-blend-mode: multiply;
}


div.lineup {
display: flex;
    flex-direction: column;
    align-content: center;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: nowrap;
}

div.lineup h3{
width: 80vw;
height: auto;
margin:0 auto;
padding-bottom: 12vw;
}

div.lineup h3 img{
width: 100%;
height: auto;
}


div.lineup_item {
width: 66.7vw;
margin:0 auto;
text-align: center;
}

div.lineup_item div.item a{
color: #717171;
}


div.lineup_item div.item p{
padding-bottom: 6.7vw;
font-size: clamp(16px, 4.3vw, 18px);
line-height: 2.25;
white-space: nowrap;
    color: #717171;
}

div.lineup_item div.item img{
width: 100%;
height: auto;
}

div.lineup_item div.item{
padding-bottom: 16vw;
}


div.movie {
width: 100%;
max-width: 1000px;
margin:0 auto;
}

div.movie video{
width: 100%;
height: auto;
aspect-ratio: 16/9;
}


/*=======2======*/


.section02 {
padding: 0 8vw;
margin: 0 auto;
}

.section02 h3{
display: block;
text-align: center;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  font-size: 14px;
  padding-top: 186px;
  padding-bottom: 50px;
}

.section02 h3 span{
display: block;
  font-family: "Open Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 20px;
  letter-spacing: 0.07em;
  padding-bottom: 12px;
}

div.flex_box {
display: flex;
    flex-direction: column;
    align-content: flex-start;
    align-items: flex-start;
    justify-content: flex-start;
    flex-wrap: nowrap;
    padding-bottom: 30px;
    position:relative;
}

div.flex_box div.img {
padding-bottom: 40px;
position:relative;
}

div.flex_box div.text {
display: flex;
    flex-direction: column;
    align-content: flex-start;
    align-items: flex-start;
    justify-content: flex-start;
    flex-wrap: nowrap;
    position:relative;
}

div.flex_box.last {
padding-bottom: 0;
}


.section02 div.flex_box div.text div.detail{
display: flex;
    flex-direction: column;
    align-content: flex-start;
    align-items: flex-start;
    justify-content: flex-start;
    flex-wrap: nowrap;
}

div.flex_box div.text p.sp {
display: block;
text-align: left;
font-size: 14px;
line-height: 1.85;
letter-spacing: -0.03em;
padding-bottom: 40px;
}


.detail,
.price {
width: 65vw;
padding-bottom: 40px;
position: relative;
text-align: left;
    font-size: 14px;
    line-height: 1.85;
    display: block;
    padding-bottom: 20px;
}

.design {
width: 104px;
    padding: 28px 0;
    height: 104px;
    box-sizing: border-box;
    border-radius: 50%;
    background-color: #fff;
    border: 1px solid #707070;
font-family: "Open Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
font-size: 17px;
line-height: 23px;
letter-spacing: 0.07em;
position: absolute;
text-align: center;
top: -5vw;
left: 54vw;
}

.price p {
text-align: left;
font-size: 14px;
line-height: 1.85;
display: block;
  padding-bottom: 20px;
}

.price p.pc {
display: none;
}

.price p.name {
font-family: "Open Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 13px;
  letter-spacing: 0;
  padding-bottom: 10px;
}

.price p.buy {
font-family: "Open Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 13px;
  letter-spacing: 0.1em;
  padding-bottom: 10px;
}

.price p.buy a{
  color: #717171;
text-decoration: none;
  padding-bottom: 4px;
border-bottom: 1px solid #717171;
}


/*=======4======*/


.section04 {
padding: 18.7vw 8vw;
margin: 0 auto;
}

.section04 h3{
display: block;
text-align: center;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  font-size: 14px;
  padding-top: 36px;
  padding-bottom: 36px;
}

.section04 h3 span{
display: block;
  font-family: "Open Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 20px;
  letter-spacing: 0.07em;
  padding-bottom: 12px;
}

.credit {
text-align: center;
font-size: 14px;
line-height: 30px;
padding-top: 50px;
}

.credit a {
display: inline-block;
padding-top: 0;

margin: 0 auto;
  color: #717171;
text-decoration: none;
padding-bottom: 1px;
text-decoration: underline;
}


img.cover.sp {
    position :absolute;
    display: block;
    height: auto;
}

.flex_box img.sp {
    position :absolute;
    display: block;
    height: auto;
}


img.sp01 {
  width: 119vw;
max-width: 119vw;
  top: 0vw;
left: 53vw;
}

img.sp02 {
    width: 83.5vw;
    top: auto;
    bottom: 0;
    left: 59vw;
    max-width: 83.5vw;
}

img.sp03 {
width: 57.6vw;
    max-width: 57.6vw;
    top: 54vw;
    left: 4vw;
}

img.sp04 {
width: 25vw;
    max-width: 25vw;
    top: -33vw;
    left: 73vw;
}

img.sp05 {
width: 58.6vw;
    max-width: 58.6vw;
    top: 21vw;
    left: 80vw;
}



img.sp06 {
width: 120.2vw;
    max-width: 120.2vw;
    top: -7vw;
    left: 49vw;
}

img.sp07 {
width: 56.5vw;
    max-width: 56.5vw;
    top: auto;
bottom: 12px;
    left: 85vw;
}

img.sp08 {
width: 107vw;
    max-width: 107vw;
    top: 115vw;
    left: 25vw;
}

img.sp09 {
width: 50.9vw;
    max-width: 50.9vw;
    top: 15vw;
    left: 84vw;
}

img.sp10 {
width: 63.2vw;
    max-width: 63.2vw;
    top: 53vw;
    left: 87vw;
}


img.sp11 {
width: 15.2vw;
    max-width: 15.2vw;
    top: auto;
    left: auto;
bottom: -1vw;
    right: -19vw;
}

img.sp12 {
width: 50.4vw;
    max-width: 50.4vw;
    top: -32vw;
    left: 79vw;
    z-index: -1;
    mix-blend-mode: normal;
}



/*=======5======*/

.section05 {
padding: 10.6vw 0;
margin: 0 auto;
}

.section05 h3{
text-align: center;
padding-bottom: 10.6vw;
}


.section05 p{
text-align: center;
font-size: 14px;
line-height: 26px;
    padding-bottom: 10.6vw;
}

.section05 p a{
  color: #717171;
  text-decoration: none;
}

.section05 .bnr{
padding-top: 15px;
padding-bottom: 100px;
}

.section05 .bnr img{
width: 100%;
height: auto;
}

.section05 a.item {
margin: 40px auto;
border: 1px solid #717171;
display: block;
text-align: center;
width: 80vw;
padding: 23.5px 0;
color: #717171;
font-size: 14px;
line-height: 26px;
}





footer {
  width: 100%;
  padding: 80px 0 130px 0;
  text-align: center;
  background-color: #fff;
}


footer a.link_official {
  display: block;
  width: 156px;
  margin: 0 auto 30px auto;

}


footer a.link_insta {
  display: block;
  width: 82px;
  margin: 0 auto 90px auto;

}

footer a.link_crosset {
  display: block;
  width: 104px;
  margin: 32px auto;
}

footer a img {
  width: 100%;
  height: auto;
}

footer a.link_crosset img {
  aspect-ratio: 128/32;
}

footer small {
  font-family: "Open Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
font-size: 8px;
  color: #717171;
}




.youtube {
  width: 100%;
  aspect-ratio: 16 / 9;
  margin: 0;
  padding: 0;
}
.youtube iframe {
  width: 100%;
  height: 100%;
}


.sp {
  display: block;
}

.pc {
  display: none;
}


img.tablet {
    display: none;
}


/*================================== SP ======================================*/

@media screen and (max-width: 480px) {}


/*==================================tablet_PC======================================*/

@media screen and (min-width: 768px) {

body {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  color: #717171;
  background-color: #fff;
  transition: all 0.1s ease-out;
  transition-duration: 0.1s;
  font-size: clamp(11px, 0.8vw, 14px);
  line-height: 1.85;
}


h1 {
background-color: transparent;
margin:0;
padding:0;
}


  main.main01 {
    position: relative;
    width: 100%;
  height:auto;
  max-height: 100vh;
  aspect-ratio: 1920/1080;
    background: #fff url("../img/main01.jpg") center center no-repeat;
    background-size: cover;
  }


main.main01 div.copy {
position: absolute;
display: block;
top: 9.16vw;
left: 4.61vw;
width: 23.07vw;
max-width: 606px;
}

main.main01 div.good {
position: absolute;
display: block;
bottom: 1.82vw;
right: 4.47vw;
width: 29.16vw;
max-width: 360px;
}

main.main01 div.logo {
position: absolute;
display: block;
bottom: 2.44vw;
left: 4.61vw;
width: 29.16vw;
max-width: 560px;
height: auto;
}

main.main01 img {
margin: 0;
width: 100%;
height: auto;
}





/*=======1======*/


.section01 {
width: 100%;
max-width: 1000px;
margin: 0 auto;
}

div.lead {
        font-size: clamp(18px, 1.14vw, 22px);
        line-height: 2.18;
padding-top: clamp(3em, 19.4vh, 210px);
padding-bottom: clamp(3em, 19.4vh, 210px);
}




div.lineup {
display: flex;
flex-direction: column-reverse;
}


div.lineup_item {
width: 100%;
        max-width: 770px;
        margin: 0 auto;
        text-align: center;
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        align-content: flex-start;
        flex-wrap: nowrap;
        flex-direction: row;
padding-top: 200px;
}


div.lineup_item div.item{
padding-bottom: 120px;
}


div.lineup_item div.item{
width: 42.8%;
}

div.lineup_item div.item a{
color: #717171;
}

div.lineup_item div.item p {
    padding-bottom: 42px;
    font-size: 21px;
    line-height: 2.25;
    white-space: nowrap;
    color: #717171;
}

div.lineup_item div.item p span{
  font-family: "Open Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 16px;
  letter-spacing: 0.07em;
}




/*=======2======*/

.section02 {
padding: 0 0 123px 0;
padding-left: calc(50% - 600px);
padding-right: calc(50% - 600px);
margin: 0 auto;
}


.section02 h3{
padding-top:0;
display: block;
text-align: left;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  font-size: 26px;
  padding-bottom: 120px;
}

.section02 h3 span{
display: block;
  font-family: "Open Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 40px;
  letter-spacing: 0.07em;
  padding-bottom: 0;
}

div.flex_box {
        display: flex;
        align-items: flex-end;
        justify-content: space-between;
        flex-wrap: nowrap;
        padding-bottom: 250px;
        flex-direction: row;
        position:relative;
}


div.flex_box.right {
flex-direction: row-reverse;
}

div.flex_box div.img{
width: 32.3%;
}

div.flex_box div.text{
width: 23.2%;
padding-right: 2.8%;
display: flex;
        flex-direction: column-reverse;
        align-content: flex-start;
        align-items: flex-start;
        justify-content: flex-start;
        flex-wrap: nowrap;
position: relative;
}


.section02 div.flex_box div.text div.detail{
display: flex;
    flex-direction: column;
    align-content: flex-start;
    align-items: flex-start;
    justify-content: flex-start;
    flex-wrap: nowrap;
}

.section02 div.flex_box div.text p.pc {
    display: block;
}

.section02 div.flex_box div.text p.sp {
    display: none;
}


div.flex_box.right  div.text{
padding-right: 0;
padding-left:  2.8%;
}


.detail,
.price {
position: relative;
width: 100%;
padding-bottom: 40px;
}

.price p.pc {
    display: block;
}


div.flex_box div.text p.sp {
    display: none;
}


.detail {
padding-top: 20px;
    font-size: 14px;
    line-height: 1.85;
}

.detail p{
padding-top: 0.8em;
}

.detail p.pc {
display: block;
}

.design {
display: block;
        width: 106px;
        padding: 31px 0;
        height: 106px;
        box-sizing: border-box;
        border-radius: 50%;
        background-color: #fff;
        border: 1px solid #707070;
        font-family: "Open Sans", sans-serif;
        font-optical-sizing: auto;
        font-weight: 400;
        font-style: normal;
        font-size: 17px;
        line-height: 22px;
        letter-spacing: 0.07em;
        position: absolute;
        text-align: center;
        top: -40px;
        left: auto;
        right: 0;
}


.price p.name {
  font-size: 15px;
}

.price p.buy {
  font-size: 14px;

}


/*=======4======*/

.section04 {
padding: 0 0 180px 0;
        padding-left: calc(50% - 600px);
        padding-right: calc(50% - 600px);
        margin: 0 auto;
}

.section04 h3{
display: block;
text-align: left;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  font-size: 26px;
  padding-top: 0;
  padding-bottom: 140px;
}

.section04 h3 span{
display: block;
  font-family: "Open Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 40px;
  letter-spacing: 0.07em;
  padding-bottom: 0;
}




.section04 div.flex_box {
        display: flex;
        align-items: flex-end;
        justify-content: space-between;
        flex-wrap: nowrap;
        padding-bottom: 250px;
        flex-direction: row;
    }

    .section04 div.flex_box.right {
        display: flex;
        align-items: flex-end;
        justify-content: space-between;
        flex-wrap: nowrap;
        padding-bottom: 220px;
        flex-direction: row-reverse;
    }


.section04 div.flex_box.last {
display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: nowrap;
    padding-bottom: 0;
    flex-direction: row;
    }


div.flex_box.last {
        padding-bottom: 10px;
align-items: flex-start;
}

.credit {
text-align: left;
font-size: 14px;
width: 100%;
max-width: 1200px;
margin: 0 auto;
position:absolute;
padding: 0 20px 13vmax;
bottom:0;
}


.credit:before {
  content: '';
  position: absolute;
  left: 50%;
  bottom: 0; /*下線の上下位置調整*/
  display: inline-block;
  width: 177px; /*下線の幅*/
  height: 1px; /*下線の太さ*/
  -moz-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translate(-50%); /*位置調整*/
  background-color: #717171; /*下線の色*/
}




/*=======5======*/

.section05 {
padding: 150px 0;
max-width: 886px;
margin: 0 auto;
}

.section05 h3{
font-size: 39px;
text-align: center;
padding-bottom: 66px;
}

.section05 p{
text-align: center;
font-size: 18px;
line-height: 40px;
    padding-bottom: 50px;
}

.section05 .bnr{
padding-top: 50px;
padding-bottom: 200px;
}

.section05 .bnr img{
width: 100%;
height: auto;
}

.section05 a.item {
margin: 70px auto;
border: 1px solid #717171;
display: block;
text-align: center;
width: 320px;
padding: 30px 0;
color: #717171;
font-size: 16px;
line-height: 26px;
}






  footer {
    width: 100%;
    padding: 20px 0 115px 0;
    text-align: center;
    background-color: #fff;
    font-size: 10px;
    line-height: 1;
  }

footer a.link_official {
  display: block;
  width: 215px;
  margin: 0 auto 35px auto;

}

  footer a.link_insta {
    display: block;
    width: 112px;
  margin: 0 auto 145px auto;
  }
  footer a.link_crosset {
    display: block;
    width: 128px;
    margin: 46px auto 46px auto;
  }

footer small {
font-size: 10px;
  color: #717171;
}


section h3 {
padding-left:1em;
}


.section05 h3 {
padding-left:0;
}

  .sp {
    display: none;
  }

img.cover.sp {
    display: none;
}

img.tablet {
    position :absolute;
    display: block;
    height: auto;
}

img.tablet01 {
  width: 50.6vw;
  top: 33vw;
  left: -6vw;
}

img.tablet02 {
  width: 71vw;
  top: 19vw;
  left: 114vw;
}

img.tablet03 {
  width: 10.9vw;
  top: -22vw;
  left: 10vw;
}

img.tablet04 {
  width: 73.25vw;
  top: -13vw;
  left: 107.5vw;
}

img.tablet05 {
  width: 61.3vw;
  top: 41vw;
  left: -13vw;
}

img.tablet06 {
  width: 45.3vw;
  top: 41vw;
  left: 113vw;
}

img.tablet07 {
  width: 50.5vw;
  top: -18vw;
  left: -5vw;
}



img.pc {
    display: none;
  }

.bnr img.pc {
    display: block;
  }


}


/*==================================PC======================================*/


@media screen and (min-width: 1200px) {


section h3 {
padding-left:0;
}

div.flex_box {
        display: flex;
        align-items: flex-end;
        justify-content: space-between;
        flex-wrap: nowrap;
        padding-bottom: 250px;
        flex-direction: row;
}

    .detail {
        padding-top: 150px;
        font-size: 14px;
        line-height: 1.85;
    }


.design {
display: block;
width: 136px;
    padding: 40px 0;
    height: 136px;
    box-sizing: border-box;
    border-radius: 50%;
    background-color: #fff;
    border: 1px solid #707070;
font-family: "Open Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
font-size: 19px;
line-height: 27px;
letter-spacing: 0.07em;
position: absolute;
text-align: center;
top: 75px;
left: 55%;
        right: auto;
}

    .section04 div.flex_box {
        display: flex;
        align-items: flex-end;
        justify-content: space-between;
        flex-wrap: nowrap;
        padding-bottom: 250px;
        flex-direction: row;
    }


.credit {
text-align: left;
font-size: 14px;
width: 100%;
max-width: 1200px;
margin: 0 auto;
position:absolute;
padding: 0 20px 200px;
bottom:0;
}

  .sp {
    display: none;
  }

img.cover.sp {
    display: none;
}

img.tablet {
    display: none;
}
  .pc {
    display: block;
  }

img.pc {
    display: block;
}
}




/*==================================ANIME======================================*/

.lead,.lineup_item,.movie,.img,.detail,h3,.section03 .lineup,.bnr,.name,.buy,.main01,.section05 p

{
    opacity: 0;
}

.fade_on {
  animation: zoomIn 0.8s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
}


.main01 {
animation: fadeIn 0.8s cubic-bezier(0.25, 1, 0.5, 1) 0.5s forwards;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}



@keyframes zoomIn {
  0% {
     opacity: 0;
     transform: translateY(40px);
  }
  100% {
     opacity: 1;
     transform: translateY(0);
  }
}