/* A (more) Modern CSS Reset */
body > #imo *,
body > #imo *::before,
body > #imo *::after{box-sizing: border-box}
body > #imo  html{-moz-text-size-adjust: none; -webkit-text-size-adjust: none; text-size-adjust: none}
body > #imo body,
body > #imo h1,
body > #imo h2,
body > #imo h3,
body > #imo h4,
body > #imo p,
body > #imo figure,
body > #imo blockquote,
body > #imo dl,
body > #imo dd{margin: 0}
body > #imo ul[role='list'],
body > #imool[role='list']{list-style: none}
body > #imo body{min-height: 100vh; line-height: 1.5}
body > #imo h1,
body > #imo h2,
body > #imo h3,
body > #imo h4,
body > #imo button,
body > #imo input,
body > #imo label{line-height: 1.1}
body > #imo h1,
body > #imo h2,
body > #imo h3,
body > #imo h4{text-wrap: balance}
body > #imo a:not([class]){text-decoration-skip-ink: auto; color: currentColor}
body > #imo img,
body > #imo picture{max-width: 100%; display: block; vertical-align: bottom;}
body > #imo input,
body > #imo button,
body > #imo textarea,
body > #imo select{font: inherit}
body > #imo textarea:not([rows]){min-height: 10em}
body > #imo :target{scroll-margin-block: 5ex}

/* corporateBanner */
footer .corporateBanner{display: none!important;}

/* contents */
body > .container{overflow: hidden;/*overflow-x: hidden;*/ width: 100%; display: block;}
body > .container .inner{width: 100%; margin: 0 auto; max-width: 430px; /*max-width: 700px; max-width: 480px;*/ font-size: 10px; /* font-size:1.0rem;*/}
body > .container .inner img{width: 100%; height: auto;}
body > .container section{position: relative;}

body > .container .in-anime .--ad0,
body > .container .in-anime .--ad1,
body > .container .in-anime .--ad2,
body > .container .in-anime .--ad3,
body > .container .in-anime .--ad4,
body > .container .in-anime .--ad5{opacity: 0;}
body > .container .in-anime.animated .--ad0{animation: fadein 1.2s ease 0.2s 1 forwards;}
body > .container .in-anime.animated .--ad1{animation: fadein 1.2s ease 0.6s 1 forwards;}
body > .container .in-anime.animated .--ad2{animation: fadein 1.2s ease 1.0s 1 forwards;}
body > .container .in-anime.animated .--ad3{animation: fadein 1.2s ease 1.4s 1 forwards;}
body > .container .in-anime.animated .--ad4{animation: fadein 1.2s ease 1.8s 1 forwards;}
body > .container .in-anime.animated .--ad5{animation: fadein 1.2s ease 2.2s 1 forwards;}

body > .container .in-anime .--ab0,
body > .container .in-anime .--ab1,
body > .container .in-anime .--ab2,
body > .container .in-anime .--ab3,
body > .container .in-anime .--ab4,
body > .container .in-anime .--ab5{opacity: 0;}
body > .container .in-anime.animated .--ab0{animation: bounceIn 1s ease 0.2s 1 forwards;}
body > .container .in-anime.animated .--ab1{animation: bounceIn 1s ease 0.6s 1 forwards;}
body > .container .in-anime.animated .--ab2{animation: bounceIn 1s ease 1.0s 1 forwards;}
body > .container .in-anime.animated .--ab3{animation: bounceIn 1s ease 1.4s 1 forwards;}
body > .container .in-anime.animated .--ab4{animation: bounceIn 1s ease 1.8s 1 forwards;}
body > .container .in-anime.animated .--ab5{animation: bounceIn 1s ease 2.2s 1 forwards;}

@keyframes fadein { 0% { opacity: 0;}
  100% { opacity: 1;} }

@keyframes bounceIn-l {
  from, 20%, 40%, 60%, 80%, to {-webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);}
  0% {opacity: 0; -webkit-transform: scale3d(0.3, 0.3, 0.3); transform: scale3d(0.3, 0.3, 0.3);}
  20% {-webkit-transform: scale3d(1.1, 1.1, 1.1); transform: scale3d(1.1, 1.1, 1.1);}
  40% {-webkit-transform: scale3d(0.9, 0.9, 0.9); transform: scale3d(0.9, 0.9, 0.9);}
  60% {opacity: 1; -webkit-transform: scale3d(1.03, 1.03, 1.03); transform: scale3d(1.03, 1.03, 1.03);}
  80% {-webkit-transform: scale3d(0.97, 0.97, 0.97); transform: scale3d(0.97, 0.97, 0.97);}
  to {opacity: 1; -webkit-transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1);}
}

@keyframes bounceIn {
  from, 20%, 40%, to {-webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);}
  0% {opacity: 0; -webkit-transform: scale3d(0.3, 0.3, 0.3); transform: scale3d(0.3, 0.3, 0.3);}
  40% {-webkit-transform: scale3d(1.1, 1.1, 1.1); transform: scale3d(1.1, 1.1, 1.1);}
  to {opacity: 1; -webkit-transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1);}
}

body > .container .--ac {position: absolute; display: block;}
body > .container .--ac .ac-animation-container {position: absolute; top: 0; left: 0; width: 100%; height: 100%;}
body > .container .--ac .ac-row {position: absolute; top: 0; left: 0; width: 100%; height: 100%;}
body > .container .--ac .auto-char {display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: 0; clip-path: var(--clip); -webkit-clip-path: var(--clip);}
body > .container .--ac .auto-char img {display: block; width: 100%; height: auto;}
body > .container .in-anime.animated .--ac .auto-char {animation: autochar 0.8s cubic-bezier(0.215, 0.61, 0.355, 1) var(--d) 1 forwards;}

@keyframes autochar {
  0% {opacity: 0; transform: translateY(12px) scale(0.96);}
  100% {opacity: 1; transform: translateY(0) scale(1);}
}

/*body > .container .images .--sr{opacity: 1; transform: translateY(15px) translateX(25px) rotate(-5deg); transform-origin: bottom center;}
body > .container .in-anime.animated .--sr{animation: spoonRotateIn 1.2s cubic-bezier(0.215, 0.61, 0.355, 1) 2.1s 1 forwards;}

@keyframes spoonRotateIn {
  0% {opacity: 1; transform: translateY(25px) translateX(15px) rotate(-5deg);}
  50% {transform: translateY(-2px) rotate(2deg);}
  100% {opacity: 1;transform: translateY(0) translateY(0) rotate(0deg);}
}*/

body > .container .images .--sr,
body > .container .images .--sr2 { opacity: 1; transform: translateY(20px) translateX(30px) rotate(-7deg); transform-origin: bottom center; }
body > .container .in-anime.animated .--sr { animation: spoonRotateIn 4s cubic-bezier(0.25, 1, 0.5, 1) 2s 1 forwards; }
body > .container .in-anime.animated .--sr2 { animation: spoonRotateIn 4s cubic-bezier(0.25, 1, 0.5, 1) 1s 1 forwards; }
@keyframes spoonRotateIn { 
  0% { transform: translateY(20px) translateX(30px) rotate(-7deg); } 
  60% { transform: translateY(-2px) translateX(4px) rotate(1deg); } 
  80% { transform: translateY(0.5px) translateX(-0.5px) rotate(-0.2deg); } 
  100% { transform: translateY(0) translateX(0) rotate(0deg); }
}





body > .container main a{transition: all 0.3s ease;}
body > .container main a:hover{opacity: 0.7;}

body > .container #star1,
body > .container #star2,
body > .container #star3,
body > .container #star4,
body > .container #star5{position: absolute; z-index:0; width: 100%; height: 100%; top :0; left :0;}

body > .container main.bg{background: url(../images/main_bg.webp) 50% 0% / cover repeat-y fixed; overflow:hidden;}
body > .container main .inner{box-shadow: 10px 0px 10px -0px rgba(0, 0, 0, .3), -10px 0px 10px -0px rgba(0, 0, 0, .3);}
body > .container #kv{line-height: 0; overflow: hidden;}
body > .container #kv .images{position: relative; z-index:+1;}
body > .container #kv .link,
body > .container #kv .catch1,
body > .container #kv .catch2,
body > .container #kv .lead,
body > .container #kv .spoon,
body > .container #kv .title{position: absolute; display: block;}
body > .container #kv .catch1{z-index:+2; width: 58.133%; top: 1.195%; left: 4.266%;}
body > .container #kv .catch2{z-index:+2; width: 77.466%; top: 27.952%; left:17.733%;}
body > .container #kv .link{z-index:+3; width: 27%; top: 2.092%; left: 68.933%;}
body > .container #kv .lead{z-index:+2; width: 83.466%; top: 87.369%; left: 8.266%;}
body > .container #kv .spoon{z-index:+1; width: 78.133%; top: 2.615%; left: 21.866%;}
body > .container #kv .title{z-index:+2; width: 78.533%; top: 58.856%; left: 16.933%;}

body > .container #item{line-height: 0;}
body > .container #item .images{position: relative; z-index:+1;}
body > .container #item .catch1,
body > .container #item .catch2,
body > .container #item .txt1,
body > .container #item .txt2{z-index:+2; position: absolute; display: block;}
body > .container #item .catch1{width: 36.066%; top: 6.090%; left: 7.266%;}
body > .container #item .catch2{width: 28.266%; top: 67.354%; left: 39.8%;}
body > .container #item .txt1{width: 72.666%; top: 11.638%; left: 6.266%;}
body > .container #item .txt2{width: 59.333%; top: 55.380%; left: 33.6%;}

body > .container #message{line-height: 0;}
body > .container #message .images{position: relative; z-index:+1;}
body > .container #message .link,
body > .container #message .lead{position: absolute; display: block;}
body > .container #message .lead{z-index:+2; width: 84.333%; top: 11.359%; left: 7.533%;}
body > .container #message .link{z-index:+3; width: 72.8%; top: 79.356%; left: 14.533%; z-index:+2;}

body > .container #message ul{display: flex; flex-wrap: wrap; justify-items: center; position: absolute; z-index: +2; width:47.6%; top: 87.509%; left: 26.133%; padding: 0;}
body > .container #message li{display: block; list-style: none; margin: 0 13.165% 0 0; padding: 0; width: 24.369%;}
body > .container #message li:nth-last-child(1){margin: 0;}
body > .container #message li img{width: 100%;}

@media screen and (min-width: 960px){
    body > .container main#imo{margin-top: 132px;/*margin-top: 120px;*/}
    body > .container main#imo .--sp{display: none!important;}
}

@media screen and (max-width: 959px){
    body > .container main#imo{margin-top: 126px;/*margin-top: 90px;*/}
    body > .container main#imo .--pc{display: none!important;}
    body > .container main a{opacity: 1;}
}

@media screen and (max-width: 768px){
  body > .container .inner{max-width: 768px;}
  body > .container main .bg{background: none;}
  body > .container main .inner{box-shadow: none;}
}