@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;
}




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

h1 {
background-color: #FFF8DD;
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: 1920/1080;
  background: #fff url("../img/main01.jpg") top center no-repeat;
  background-size: cover;
}

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

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





/*=======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: 52.26vw;
height: auto;
margin:0 auto;
padding-bottom: clamp(1em, 12vw, 34px);
}

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: 18.7vw 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-bottom: 36px;
}

.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: 60px;
}

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

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;
}

.detail,
.price {
width: 65vw;
padding-bottom: 40px;
}

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


.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;
}



/*=======3======*/
.section03 {
padding: 18.7vw 8vw 0 8vw;
margin: 0 auto;
background-color: #FFF8DD;
}

.section03 h3{
display: flex;
flex-direction: column;
    align-content: flex-start;
    align-items: flex-start;
    justify-content: flex-start;
    flex-wrap: nowrap;
}

h3 .circle {
font-family: "Open Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 22px;
  line-height: 32px;
  letter-spacing: 0.07em;
  color: #746B6B;
  width: 195px;
  height: 195px;
  padding: 65.5px 0;
  text-align: center;
  background-color: #fff;
  border-radius: 50%;
  margin:0 auto;
  box-sizing: border-box;
}

h3 .text {
font-size: 21px;
line-height: 36px;
text-align: center;
margin:0 auto;
padding: 38px 0;
}


.section03 div.lineup {
width: 63.2vw;
margin:0 auto;
display: flex;
flex-direction: column;
    align-content: flex-start;
    align-items: flex-start;
    justify-content: flex-start;
    flex-wrap: nowrap;
}

.section03 div.lineup h4{
font-size: 18px;
line-height: 24px;
text-align: center;
padding-top: 40px;
padding-bottom: 15px;
}

.section03 div.lineup p{
text-align: left;
font-size: 14px;
line-height: 26px;
padding-bottom: 52px;
}



/*=======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-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;
}

.credit a {
display: block;
padding-top: 20px;
margin: 0 auto;
  color: #717171;
text-decoration: none;
padding-bottom: 1px;
text-decoration: underline;
}



/*=======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;
}

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

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

.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;
}

.sp {
  display: block;
}

.pc {
  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: 10vh;
right: 10vw;
width: 31.5vw;
max-width: 606px;
}

main.main01 div.logo {
position: absolute;
display: block;
bottom: 5vh;
left: 2.4vw;
width: 27vw;
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 {
width: 100%;
max-width: 1200px;
border-top: 1px solid #717171;
padding: 120px 0;
margin: 0 auto;
}


.section02 h3{
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-content: flex-start;
        align-items: flex-start;
        justify-content: space-around;
        flex-wrap: nowrap;
        padding-bottom: 220px;
        flex-direction: row;
}


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

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

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

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



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

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

}


/*=======3======*/
.section03 {
    padding: 100px 0;
    padding-left: calc(50% - 470px);
    padding-right: calc(50% - 470px);
    margin: 0 auto;
    background-color: #FFF8DD;
}

.section03 h3 {
    display: flex;
    flex-direction: row;
    align-content: flex-start;
    align-items: center;
    flex-wrap: nowrap;
    justify-content: space-between;
padding-bottom: 40px;
}

h3 .text {
width: calc(100% - 240px);
text-align: left;
font-size: 30px;
}

.section03 div.lineup {
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    align-content: flex-start;
    align-items: flex-start;
justify-content: space-around;
    flex-wrap: nowrap;
}

.section03 div.lineup .item{
width: 38.82%;
}

.section03 div.lineup h4{
font-size: 20px;
line-height: 24px;
text-align: left;
padding-top: 50px;
padding-bottom: 15px;
}



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

.section04 {
width: 100%;
max-width: 1200px;
padding: 120px 0;
margin: 0 auto;
}

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

.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;
}



div.flex_box.last {
        padding-bottom: 10px;
}

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


.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;
}

.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;
}


  .sp {
    display: none;
  }
  .pc {
    display: block;
  }
}


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


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

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

    .section03 div.lineup {
        width: 100%;
        margin: 0 auto;
        display: flex;
        flex-direction: row;
        align-content: flex-start;
        align-items: flex-start;
        justify-content: space-between;
        flex-wrap: nowrap;
    }


  .sp {
    display: none;
  }
  .pc {
    display: block;
  }
}




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

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

{
    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);
  }
}