/* A (more) Modern CSS Reset */
body > #cac *,
body > #cac *::before,
body > #cac *::after{box-sizing: border-box}
body > #cac  html{-moz-text-size-adjust: none; -webkit-text-size-adjust: none; text-size-adjust: none}
body > #cac body,
body > #cac h1,
body > #cac h2,
body > #cac h3,
body > #cac h4,
body > #cac p,
body > #cac figure,
body > #cac blockquote,
body > #cac dl,
body > #cac dd{margin: 0}
body > #cac ul[role='list'],
body > #cacol[role='list']{list-style: none}
body > #cac body{min-height: 100vh; line-height: 1.5}
body > #cac h1,
body > #cac h2,
body > #cac h3,
body > #cac h4,
body > #cac button,
body > #cac input,
body > #cac label{line-height: 1.1}
body > #cac h1,
body > #cac h2,
body > #cac h3,
body > #cac h4{text-wrap: balance}
body > #cac a:not([class]){text-decoration-skip-ink: auto; color: currentColor}
body > #cac img,
body > #cac picture{max-width: 100%; display: block; vertical-align: bottom;}
body > #cac input,
body > #cac button,
body > #cac textarea,
body > #cac select{font: inherit}
body > #cac textarea:not([rows]){min-height: 10em}
body > #cac :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 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;}
body > .container #kv .images{position: relative; z-index:+1;}
body > .container #kv .link1,
body > .container #kv .link2,
body > .container #kv .item1,
body > .container #kv .item2,
body > .container #kv .title{position: absolute; display: block;}
body > .container #kv .item1{z-index:+2; width: 36.133%; top: 0.857%; left: 2.6%;}
body > .container #kv .link1{z-index:+3; width: 24.933%; top: 28.597%; left: 8.2%;}
body > .container #kv .item2{z-index:+2; width: 35%; top: 38.971%; left: 64.4%;}
body > .container #kv .link2{z-index:+3; width: 24.933%; top: 42.895%; left: 71.4%;}
body > .container #kv .title{z-index:+2; width: 68.533%; top: 72.665%; left: 15.333%;}

body > .container #item1{line-height: 0;}
body > .container #item1 .images{position: relative; z-index:+1;}
body > .container #item1 .title,
body > .container #item1 .txt{z-index:+2; position: absolute; display: block;}
body > .container #item1 .title{width: 88.2%; top: 0%; left: 6.133%;}
body > .container #item1 .txt{width: 95%; top:16.966%; left: 2.5%;}

body > .container #item2{line-height: 0;}
body > .container #item2 .images{position: relative; z-index:+1;}
body > .container #item2 .title,
body > .container #item2 .txt{z-index:+2; position: absolute; display: block;}
body > .container #item2 .title{width: 90.6%; top: 3.950%; left: 3.866%;}
body > .container #item2 .txt{width:93.666%; top:19.444%; left: 2.533%;}

body > .container #message{line-height: 0;}
body > .container #message .images{position: relative; z-index:+1;}
body > .container #message .lead{z-index:+2; position: absolute; display: block; width: 83.8%; top: 11.666%; left: 7.533%;}

body > .container #voice{line-height: 0;}
body > .container #voice .images{position: relative; z-index:+1;}
body > .container #voice .link,
body > .container #voice .item1,
body > .container #voice .item2,
body > .container #voice .title{position: absolute; display: block;}
body > .container #voice .title{z-index:+2; width: 65.2%; top: 1.617%; left: 17.6%;}
body > .container #voice .item1{z-index:+2; width: 63.733%; top: 7.970%; left: 15.933%;}
body > .container #voice .item2{z-index:+2; width: 62.866%; top: 45.088%; left: 15.933%;}
body > .container #voice .link{z-index:+3; width: 62.4%; top: 85.058%; left: 18.533%; z-index:+2;}

body > .container #voice ul{display: flex; flex-wrap: wrap; justify-items: center; position: absolute; z-index: +2; width:47.6%; top: 91.088%; left: 26.133%; padding: 0;}
body > .container #voice li{display: block; list-style: none; margin: 0 13.165% 0 0; padding: 0; width: 24.369%;}
body > .container #voice li:nth-last-child(1){margin: 0;}
body > .container #voice li img{width: 100%;}

@media screen and (min-width: 960px){
    body > .container main#cac{margin-top: 132px;/*margin-top: 120px;*/}
    body > .container main#cac .--sp{display: none!important;}
}

@media screen and (max-width: 959px){
    body > .container main#cac{margin-top: 126px;/*margin-top: 90px;*/}
    body > .container main#cac .--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;}
}