@charset "UTF-8";

/*=== 共通 ===*/
.contents { overflow: hidden; }
.contents figure {
position: relative;
height: fit-content;
}
.contents img {
width: 100%;
}

.content_bg {
background: url(../img/bg.jpg) repeat-y top center;
background-size: cover;
}
.concept__bg {
background: url(../img/bg02.png) no-repeat bottom center;
background-size: cover;

}
/* .bg03 {
background: linear-gradient(to bottom, transparent 0%, transparent 70%, #fff 100%), url(../img/bg03.jpg);
background-repeat: no-repeat;
background-position: center top;
background-size: cover;
} */


#main_Wrap {
position: relative;
z-index: 0;
}
#main_Wrap .video_box {
display: flex;
position: relative;
width: 100%;
overflow: hidden;
}
#main_Wrap .video_box::after {
content: "";
position: absolute;
top: 0;
left: 0;
display: block;
width: 100%;
height: 100%;
background: rgba(125,125,125,1);
mix-blend-mode: multiply;
z-index: 1;
}
#main_Wrap .video_box video {
width: 100%;
aspect-ratio: 1920 / 1080;
}

#main_Wrap .mv_logo{
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
width: 10.83333333%;
z-index: 2;
}
#main_Wrap .cap_Txt{
z-index: 2;
}





.concept_Area {
position: relative;
padding: 30px 0 120px;
}
.concept_Area .sec_ttl {
max-width: 272px;
margin: 0 auto ;
}
.concept_Area .sec_ttl img {
}
.concept_Area .copy_area {
writing-mode: vertical-rl;
margin: 5em auto ; 
}
.concept_Area .copy_area h3 {
font-size: clamp(20px,2.34vw,28px);
letter-spacing: 0.1em;
line-height: 2;
padding-left: 2em;
}
.concept_Area .copy_area p {
font-size: clamp(14px, 1.36666667vw, 16.4px);
letter-spacing: 0.08em;
line-height: 3;
}
.concept_Area .copy_area p .num{
text-combine-upright: all;
}

/*
.concept_Area .copy_area img[data-aos^=fade][data-aos^=fade] {
    opacity: 1;
    filter: blur(20px);
    transition-delay: 0.8s;
}
.concept_Area .copy_area img[data-aos^=fade][data-aos^=fade].aos-animate {
    filter: blur(0);
}
*/


.concept_Area .concept_logo {
position: absolute;
top: 60%;
left: 50%;
transform: translate(-50%,-50%);
width: 87.36111111%;
max-width: 1258px;
z-index: -1;
}

.sokyu_Area {
margin: -5% auto 0;
}
.sokyu_Area .sec_ttl{
width: 94%;
max-width: 643px;
margin: 0 auto 30px;
}

.sokyu_Area .bg {
background: url(../img/sokyu_bg.jpg) no-repeat top center;
background-size: cover;
padding: 60px 0 50px;
}
.sokyu_Area .teiki_Area {
}
.sokyu_Area .teiki_Area p{

}
.sokyu_Area .teiki_Area {
padding: 0 0 60px;
text-align: center;
font-family: "游明朝 Medium", YuMincho Medium , "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
color:#fff;
}
.sokyu_Area .teiki_Area p {
font-size: clamp(26px,3.5vw,48px);
line-height: 1.4;
letter-spacing: 0.2em;
font-feature-settings: "palt";
}
.sokyu_Area .teiki_Area p span.sup{
font-size: 45%;
}
.sokyu_Area .teiki_Area p span.lett-spe{
letter-spacing: 0.1em;
}
.sokyu_Area .teiki_Area p span.red{
color: #a61c1c;
font-size: 90%;
letter-spacing: 0.10em;
}

.sokyu_Area .point_box {
}
.sokyu_Area .point_box .inner {
max-width: 1000px;
margin: 0 auto;
}
.sokyu_Area figure {
}

.sokyu_Area .cv_btn {
margin: 60px auto 0;
}
.sokyu_Area .conversion_list {

}

.sec_info {
padding: 80px 0 150px;
}
.sec_info .sec_ttl{
max-width: 209px;
margin: 0 auto 80px;
}

/* information */
.info_Wrap {
margin: 0 auto 0;
max-width: 800px;
width:94%;
}
.info_Wrap h3 {
text-align: center;
font-size: 20px;
letter-spacing: 0.07em;
color: #111;
font-family: 'Cinzel', serif;
font-style: normal;
font-weight: 400;
padding-bottom: 10px;
border-bottom: 1px solid #646053;
margin-bottom: 35px;
}
.info_Wrap .info_List{
border-top: 1px solid #000;
padding-top: 35px;
}
.info_Wrap .info_List .unit {
font-family: "a-otf-ryumin-pr6n", serif;
margin: 0 0 35px;
letter-spacing: 0.04em;
font-size: 13px;
line-height: 1.5;
border-bottom: 1px solid #646053;
padding-bottom: 35px;
}
.info_Wrap .info_List .unit:last-of-type { margin: 0; }
.info_Wrap .info_List .unit h4 {
color:#46626f;
font-size: 1.5em;
margin: 5px 0 10px;
}
.info_Wrap .info_List .unit .body p {
color: #46626f;
margin-bottom: 7px;
}
.info_Wrap .info_List .unit .body a {
color: #46626f;
border-bottom: 1px solid;
}
.info_Wrap .info_List .unit .body a:hover {
border-bottom: none;
}

.content_Area {
}
.content_Area .sec_ttl {
width: 94%;
max-width: 912px;
margin: 0 auto;
}
.sec_copy {
width: 94%;
text-align: center;
color: #46626f;
font-size: clamp(15px,1.5vw,18px);
line-height: 1.6;
letter-spacing: 0.04em;
margin: 0 auto;
}
.sec_ttl + .sec_copy {
margin: 30px auto 40px;
}
.sec_copy + .sec_ttl{
margin: 0 auto 30px;
}

.content_Area ul {
position: relative;
display: flex;
flex-wrap: wrap;
width: 100%;
height: 0;
padding: 28.26388889% 0;
}
.content_Area li {
position: absolute;
width: 50%;
transition: 0.3s;
}
.content_Area li a{
position: relative;
overflow: hidden;
display: block;
width: 100%;
height: 0;
padding: 32.225% 0;
}
.content_Area li .cap_Txt{
bottom: 26%;
}

.content_Area li:nth-child(1) {
top: 0;
left: 0;
z-index: 4;
}
.content_Area li a::before{
content: "";
position: absolute;
display: block;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 0;
}

.content_Area li:nth-child(1) a::before{
background: url(../img/content_list01_hover.png) no-repeat top center;
background-size: cover;
}

.content_Area li:nth-child(2) {
top: 0;
right: 0;
z-index: 3;
}
.content_Area li:nth-child(2) a::before{
background: url(../img/content_list02_hover.png) no-repeat top center;
background-size: cover;
}


.content_Area li:nth-child(3) {
top: 42.9%;
left: 0;
z-index: 2;
}
.content_Area li:nth-child(3) a::before{
background: url(../img/content_list03_hover.png) no-repeat top center;
background-size: cover;
}

.content_Area li:nth-child(4) {
pointer-events: none;
top: 42.9%;
right: 0;
z-index: 1;
}
.content_Area li:nth-child(4) a::before{
background: url(../img/content_list04_hover.png) no-repeat top center;
background-size: cover;
}
.content_Area li:nth-child(4) a::after{
content: "COMING SOON";
color: #fff;
position: absolute;
top: 40%;
left: 50%;
transform: translate(-50%,-50%);
font-size: clamp(10px,1.5vw,14px);
letter-spacing: 0.2em;
}



.content_Area li:hover {
width: 70%;
z-index: 5;
}

.content_Area li a img{
position: absolute;
top: 0;
left: 0;
opacity: 1;
transition: 0.3s;
}
.content_Area li:hover a img{
opacity: 0;
}
.content_Area li:nth-child(4) a img{
filter: saturate(0.1) brightness(0.3);
}

.content_Area a {
}

@keyframes infinity-scroll-left {
from {
transform: translateX(0);
}
to {
transform: translateX(-100%);
}
}
.scroll-infinity{
margin: 200px auto 80px;
}

.scroll-infinity .sec_ttl {
width: 94%;
max-width: 842px;
margin: 0 auto;
}

.scroll-infinity__wrap {
display: flex;
overflow: hidden;
}
.scroll-infinity__list {
display: flex;
list-style: none;
padding: 0;
gap: 0 30px;
}
.scroll-infinity__list + .scroll-infinity__list{
margin-left: 30px;
}

.scroll-infinity__list--left {
animation: infinity-scroll-left 80s infinite linear 0.5s both;
}
.scroll-infinity__item {
position: relative;
width: 300px;
}
.scroll-infinity__wrap:hover .scroll-infinity__list--left{
animation-play-state: paused;
}

.scroll-infinity__list li a .over{
position: absolute;
top: 0;
left: 0;
opacity: 0;
transition: 0.5s;
}
.scroll-infinity__list li:hover a .over{
opacity: 1;
}




.bnr_area {
max-width: 1000px;
width: 94%;
margin: 100px auto 50px;
}
.bnr_area.upper {
margin: 50px auto;
}

.bnr_area div {
width: 100%;
max-width: 1000px;
margin: 0 auto 0;
pointer-events: all;
}
.bnr_area div:not(:first-of-type) {
margin: 40px auto 0;
}

.bnr_area .bnr_help_b {
max-width: 800px;
width: 100%;
}

.bnr_area a {
transition: .3s;
}
.bnr_area a:hover {
opacity: .5;
}

/*サービス*/
.service_area {
margin: 50px auto 0;
}
.service_area ul {
display: flex;
justify-content: space-between;
max-width: 1000px;
width:100%;
margin: 0 auto;
gap:20px 2.9%;
}
.service_area ul li {
/* width: calc((100% - 6%) / 3);*/
}
.service_area ul li a {
transition: .3s;
}
.service_area ul li a:hover {
transition: .3s;
opacity: .5;
}

/*=========================================================================================================
調整
=========================================================================================================*/
@media screen and (min-width: 768px) and (max-width: 1200px) {
.content_banner .cat_section {
padding: 3% 0;
}

}

/*=========================================================================================================
tab
=========================================================================================================*/
@media screen and (min-width: 768px) and (max-width: 1024px) {

/*=== 共通 ===*/


}

/*=========================================================================================================
sp
=========================================================================================================*/
@media screen and (max-width: 767px) {

/*=== 共通 ===*/

/*=== 個別 ===*/
#main_Wrap .video_box {
height: 0;
padding: 50% 0;
}
#main_Wrap .video_box video {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translateX(-50%) translateY(-50%);
        min-height: 100%;
        width: 180%;
        aspect-ratio: unset;
}
#main_Wrap .mv_logo {
    width: 24%;
}

.sec_info {
padding: 40px 0 60px;
}

.info_Wrap {

}

.info_Wrap .info_List .unit {
margin: 0 0 25px;
font-size: 14px;
}
.info_Wrap .info_List .unit h4 {
margin-bottom: 4px 0 7px;
}
.concept_Area {
position: relative;
padding: 30px 0 60px;
}
.concept_Area .sec_ttl {
width: 45%;
}

.concept_Area .copy_area h3 {
padding-left: 0;
padding-bottom: 1.5em;
}
.concept_Area .copy_area p {
letter-spacing: 0.08em;
line-height: 2;
}

.concept_Area .copy_area {
width: fit-content;
writing-mode: unset;
margin: 2em auto;
}

.sec_info .sec_ttl {
width: 30%;
margin: 0 auto 40px;
}
.sokyu_Area .teiki_Area {
padding: 0 0 30px;
}
.sokyu_Area .bg {
padding: 30px 0 40px;
}
.sokyu_Area .cv_btn {
margin: 40px auto 0;
}

.content_Area {
margin: 0 auto 70px;
}

.content_Area ul {
padding: 97% 0;
}

.content_Area li {
position: absolute;
width: 100%;
}

.content_Area li:nth-child(1) {
top: 0;
left: 0;
z-index: 4;
}
.content_Area li:nth-child(2) {
top: 25%;
right: 0;
z-index: 3;
}
.content_Area li:nth-child(3) {
top: 50%;
left: 0;
z-index: 2;
}
.content_Area li:nth-child(4) {
top: 75%;
right: 0;
z-index: 1;
}

.content_Area li:hover a img{
opacity: unset;
}
.content_Area li:hover {
    width: 100%;
}



.scroll-infinity {
margin: 120px auto 0px;
}

.notes {
color: #333;
}
.bnr_area {
margin: 50px auto 0;
}
/*サービス
.service_area {
margin: 40px auto 0;
}

.service_area ul {
flex-direction: column;
}

.service_area ul li {
width: 100%;
}
}

/*=========================================================================================================
sp 調整
=========================================================================================================*/
@media screen and (max-width: 360px) {

.teiki_Area p {
font-size: 24px;
}

}
