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


.cam_bnr {
    background: url("../img/bnr_autumn.jpg") no-repeat center / cover;
    padding: 2% 0;
}

.sokyu_Area {
margin: 0 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(30px,3.5vw,48px);*/
font-size: clamp(25px,3.5vw,48px);
/*line-height: 1.4;*/
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 .teiki_Area h6{
font-size: clamp(16px,2.16vw,26px);
letter-spacing: 0.08em;
padding-top: 0.5em;
}
.sokyu_Area .point_box {
}
.sokyu_Area .point_box .inner {
width: 96%;
max-width: 1240px;
margin: 0 auto;
}
.sokyu_Area figure {
}

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

}

.sec_info {
padding: 120px 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 .item {
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 .item:last-of-type { margin: 0; }
.info_Wrap .info_List .item h4 {
color:#46626f;
font-size: 1.5em;
margin: 5px 0 10px;
}
.info_Wrap .info_List .item .body p {
color: #46626f;
margin-bottom: 7px;
}
.info_Wrap .info_List .item .body a {
color: #46626f;
border-bottom: 1px solid;
}
.info_Wrap .info_List .item .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%;
color: #a4a4a4;
}

.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) {
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: 150px auto 0px;
}
.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;
}
/*改修（追加要素）*/
.add_block {
}
.add_block .add_content {
}
.add_block .sec_ttl_copy {
text-align: center;
letter-spacing: 0.08em;
padding: 100px 0 60px;
}
.add_block .sec_ttl_copy.bg {
background: url(../img/secttl_bg.png) no-repeat top center;
background-size: cover;
}

.sec_ttl_copy h3 {
display: block;
width: auto;
height: 3.125em;
margin: 0 auto 2.5em;
}
.sec_ttl_copy h3 img{
width: auto;
height: 50px;
margin: 0 auto;
}
.sec_ttl_copy h6 {
color: #46626f;
font-size: clamp(24px,4.2vw,50.4px);
line-height: 1.4;
}
.sec_ttl_copy h5 {
font-size: clamp(32px,5.46vw,65.52px);
 background: linear-gradient(0deg, #b97e00 0%, #dfc44a 35%, #aa8d19 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.design .sec_ttl_copy h5 {
    font-size: clamp(26px, 4.2vw, 50.4px);
    line-height: 1.4;
}

.sec_ttl_copy h6 + h5{
padding-top: 0.4em;
}
.layer_area {
position: relative;
}
.layer_area .layer01 {
background: url(../img/add_bg.jpg) no-repeat top center;
background-size: cover;
position: relative;
padding: 2em 0 0;
}
.layer_area .layer01 .text{
width: 70%;
max-width: 610px;
text-align: left;
font-feature-settings: "palt";
position: absolute;
top: 2em;
left: 7%;
}
.layer_area .layer01 .text h4{
font-size: clamp(17px,2.334vw,28px);
letter-spacing: 0.06em;
line-height: 1.6;
}
.layer_area .layer01 .text h4 span{
color: #ecb501;
font-size: 142%;
}
.layer_area .layer01 .text > span{
font-size: 11px;
line-height: 1.4;
}

.layer_area .layer02 {
background: url(../img/add_bg.jpg) no-repeat top center;
background-size: cover;
margin: -10% auto 0;
padding: 11.5% 0 60px;
}
.layer_area .layer02 .inner{
display: flex;
align-items: center;
gap: 20px 3.22580645%;
max-width: 1240px;
}
.layer_area .layer02 .inner .text{
width: 45.48387097%;
text-align: left;
font-feature-settings: "palt";
}
.layer_area .layer02 .inner .text h4{
color: #46626f;
font-size: clamp(21px,3vw,36px);
letter-spacing: 0.12em;
}
.layer_area .layer02 .inner .text h5{
color: #46626f;
font-size: clamp(18px,2vw,24px);
letter-spacing: 0.12em;
line-height: 1.6;
padding: 1.1em 0;
}
.layer_area .layer02 .inner .text p{
font-size: clamp(16px,1.5vw,18px);
letter-spacing: 0.08em;
line-height: 2;
}
.layer_area .layer02 .inner figure{
max-width: 636px;
}

.add_content_bth {
display: block;
background: url(../img/btn_bg.jpg) no-repeat top center;
background-size: cover;
width: 80%;
max-width: 400px;
margin: 0 auto;
text-align: center;
font-size: clamp(16px,1.5vw,18px);
color: #fff;
padding: 1.1em 0;
margin: 40px auto 0;
transition: all 0.3s ease;
filter: brightness(1) saturate(1);
}
.add_content_bth:hover {
filter: brightness(1.15) saturate(1.3);
transition: all 0.3s ease;
}

.sec01 {
}
[class^="design_sec"] {
display: flex;
flex-wrap: wrap;
align-items: center;
}
[class^="design_sec"] .txt_box {
}
.design_sec01 {
gap: 20px 3.33333333%;
}
.design_sec02 {
gap: 20px 5%;
margin-top: 80px;
}
.design_sec01 .txt_box {
width: 38.33333333%;
}
.design_sec02 .txt_box {
order: 2;
width: 35%;
}
.design_sec01 .txt_box  > figure{
margin-top: 40px;
}

.design_sec01 > figure {
width: 58.33333333%;
}
[class^="design_sec"] .txt_box h4{
color: #46626f;
font-size: clamp(18px,2.16vw,26px);
letter-spacing: 0.12em;
font-feature-settings: "palt";
line-height: 1.6;
}
[class^="design_sec"] .txt_box p{
color: #000;
font-size: clamp(14px,1.34vw,16px);
letter-spacing: 0.08em;
font-feature-settings: "palt";
line-height: 1.8;
}
[class^="design_sec"] .txt_box h4 + p{
padding-top: 2em;
}

.design_sec02 > figure {
order: 1;
width: 60%;
}

.design_bg {
    background: url(../img/bg-LR.png) no-repeat center 30%;
    background-size: contain;
}
/*↑↑改修（追加要素）↑↑*/


/*=========================================================================================================
調整
=========================================================================================================*/
@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: 80px 0 60px;
}

.info_Wrap {

}

.info_Wrap .info_List .item {
margin: 0 0 25px;
font-size: 14px;
}
.info_Wrap .info_List .item 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 .teiki_Area p {
line-height: 1.4;
}

.cam_bnr {
    background: none;
    padding: 0;
}

.cam_bnr .inner {
    width: 100%;
    max-width: none;
    margin: 0;
}



.sokyu_Area .teiki_Area p.u-gap {
    margin-top: -8px;
}
.sokyu_Area .bg {
padding: 30px 0 40px;
}
.sokyu_Area .cv_btn {
margin: 40px auto 0;
}

.content_Area {
margin: 0 auto 40px;
}

.content_Area ul {
position: relative;
height: 0;
padding: 145.60% 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:24.02196294%;
right:0;
z-index: 3;
}
.content_Area li:nth-child(3) {
top:48.04392588%;
left:0;
z-index: 2;
}
.content_Area li:nth-child(4) {
top:72.06588881%;
right:0;
z-index: 1;
}

.content_Area li a img {
    position: unset;
}
.content_Area li:hover a img{
opacity: unset;
}
.content_Area li:hover {
    width: 100%;
}
.content_Area li a {
    height: unset;
    padding: unset;
    overflow: unset;
    z-index: 0;
}
.content_Area li a::before {
    content: unset;
}
.content_Area li:nth-child(4) a::after {
    top: 43%;
    font-size: clamp(14px, 1.5vw, 14px);
}

.content_Area li .cap_Txt {
    bottom: 17%;
    color: #a4a4a4;
    left: unset;
    right: 5px;
}

.content_Area li .sp_con_txt {
position: absolute;
top: 53%;
left: 50%;
transform: translate(-50%,-50%);
width: 100%;
max-width: 600px;
pointer-events: none;
}


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

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

.service_area ul {
flex-direction: column;
}
.sec_ttl_copy h3 {
    display: block;
    width: auto;
    height: auto;
    margin: 0 auto 1.5em;
}
.service_area ul li {
width: 100%;
}
.add_block .sec_ttl_copy {
    padding: 80px 0 30px;
}
.layer_area .layer01 {
    padding: 9em 0 0;
}
.layer_area .layer01 .text {
    width: 94%;
    left: 3%;
}
.layer_area .layer02 {
    margin: -10% auto 0;
    padding: 15% 0 30px;
}
.layer_area .layer02 .inner {
    flex-wrap: wrap;
}
.layer_area .layer02 .inner .text {
    width: 100%;
    order: 1;
}
.layer_area .layer02 .inner figure {
    max-width: 100%;
    order: 2;
}
.sec_ttl_copy h3 img{
width: auto;
height: 30px;
}
.design .sec_ttl_copy h3 img{
width: auto;
height: 76px;
margin: 0 auto;
}
.add_content_bth {
    margin: 30px auto 0;
}
[class^="design_sec"] .txt_box h4 + p {
    padding-top: 1em;
}
.design_sec01 .txt_box {
    width: 100%;
    order: 2;
}
.design_sec01 .txt_box > figure {
    margin-top: 20px;
}
.design_sec01 > figure {
    width: 100%;
    order: 1;
}

.design_sec02 {
    margin-top: 30px;
}
.design_sec02 > figure {
    order: 2;
    width: 100%;
}
.design_sec02 .txt_box {
    order: 1;
    width: 100%;
}

}



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

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

}
