@charset "UTF-8";
/* CSS Document */

@keyframes txtloop {
0% {
transform: translateX(100%);
}
to {
transform: translateX(-100%);
}
}

@keyframes txtloop2 {
0% {
transform: translateX(0);
}
to {
transform: translateX(-200%);
}
}



@keyframes zoomUp {
0% {
transform: scale(1.1);
}
100% {
transform: scale(1.4); /* æ‹¡å¤§çŽ‡ */
}
}

/*PC*/
@media print, screen and (min-width: 768px) {

/* mv
--------------------------------------------*/
#mv {
position: relative;
width: 100%;
margin: 0 auto;
color: #231815;
z-index: 1;
overflow: hidden;
}

#mv .section_wrap{
width: 100%;
height: 100vh;
height: 100svh;
display: flex;
justify-content:space-between;
align-items: flex-start;
position: relative;
overflow: hidden;
}

#mv .section_wrap::before{
content: "";
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 8vh;
background: #443f3d;
z-index: -1;
}

#mv .section_wrap::after{
content: "";
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 8vh;
background-image: url("../images/com/bg_noise.webp");
background-repeat: repeat;
background-size: 200px 200px;
z-index: 0;
overflow: hidden;
}

#mv .section_wrap .mv_info{
width: 38vw;
height: 100%;
padding:16vw 0vw 0vw 5vw;
box-sizing: border-box;
display: flex;
}

#mv .section_wrap .mv_info .txt_box{
}

#mv .section_wrap .mv_info .ttl_en{
font-size:40px;
font-weight: 700;
line-height: 1.2;
color: #af9b55;
margin: 0 0 60px;
}

#mv .section_wrap .mv_info h1{
font-size: 32px;
line-height: 1.4;
margin: 0 0 60px;
}

#mv .section_wrap .mv_info h1 span{
font-size:55px;
display: block;
}

#mv .section_wrap .mv_info .txt{
font-size: 18px;
font-weight: bold;
}

#mv .section_wrap .mv_main{
width: 40vw;
height: 100%;
padding-top: 12vw;
margin: 0 20px 0 30px;
box-sizing: border-box;
position: relative;
overflow: hidden;
}


#mv .section_wrap .mv_main .swiper2{
overflow: hidden;
}

#mv .section_wrap .mv_slider{
width:18vw;
height: 100%;
position: relative;
z-index: -1;
}

#mv .section_wrap .mv_slider .swiper{
height: 100%;
width:100%;
}

#mv .section_wrap .mv_slider .swiper1{
}

#mv .section_wrap .mv_slider .swiper1 .swiper-slide{
overflow: hidden;
height: 100%;
width:100%;
}

/* スライドの動き等速 */
#mv .section_wrap .mv_slider .swiper-wrapper {
transition-timing-function: linear;
}



/* fv
--------------------------------------------*/
#fv{
position: relative;
margin: 0 auto 180px;
background:#443f3d;
padding-bottom: 5%;
box-sizing: border-box;
}

#fv::after{
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-image: url("../images/com/bg_noise.webp");
background-repeat: repeat;
background-size: 200px 200px;
z-index: 0;
overflow: hidden;
}

#fv .fv_hed{
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
flex-direction: row-reverse;
z-index: 5;
}

#fv .fv_hed .ttl_box{
width:40%;
padding:140px 5% 0 0;
box-sizing: border-box;
}

#fv .fv_hed .ttl_box .sticky{
position: sticky;
top: 120px;
text-align: center;
}

#fv .fv_hed .ttl_box h2{
color: #FFF;
}

#fv .fv_hed .ttl_box h2 span{
font-size:50px;
display: block;
color: #af9b55;
margin-bottom:20px;
line-height: 1.4;
}

#fv .fv_hed .ttl_box .slider2{
margin-top: 100px;
}

#fv .fv_hed .ttl_box .slider2 .slick-slide{
margin: 0 5px;
}

#fv .fv_hed .ttl_box .slider2 .slick-slide img{
border: 1px solid rgba(255,255,255,.8);
}

#fv .fv_hed .contents_box{
width:60%;
padding:140px 0 0;
box-sizing: border-box;
position: relative;
}


#fv .fv_hed .contents_box .txt_box{
width: 100%;
margin: 0 auto;
position: relative;
z-index: 5;
}

#fv .fv_hed .contents_box .txt_box ul{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
width: 90%;
margin: auto;
}

#fv .fv_hed .contents_box .txt_box ul li{
width: 49.5%;
margin-bottom: 1%;
border: 1px solid rgba(255,255,255,.3);
background: rgba(0,0,0,.5);
overflow: hidden;
position: relative;
}

#fv .fv_hed .contents_box .txt_box ul li .box{
width: 100%;
padding: 15px;
box-sizing: border-box;
margin: 0 auto;
}

#fv .fv_hed .contents_box .txt_box ul li .box h3{
line-height: 1;
border: 1px solid rgba(175,155,85,.3);
letter-spacing:.2rem;
color: #FFF;
margin-bottom:10px;
padding:8px;
box-sizing: border-box;
text-align: center;
}

#fv .fv_hed .contents_box .txt_box ul li .box p{
font-size:30px;
line-height: 1.6;
color:#af9b55;
margin: 0 0 20px;
text-align: center;
}

#fv .fv_hed .contents_box .txt_box ul li .box .img{
overflow: hidden;
vertical-align: bottom;
}

#fv article{
position: absolute;
bottom: -30px;
left: 0;
overflow: hidden;
z-index: 5;
}

#fv .loop_wrap {
display: flex;
width: 100%;
overflow: hidden;
margin: 0 auto 0;
}

#fv .loop_wrap div {
flex: 0 0 auto;
white-space: nowrap;
font-size: 6rem;
font-weight:200;
letter-spacing: -.5rem;
line-height:1;
overflow: hidden;
color:#af9b55;
opacity: .4;
}

#fv .loop_wrap div:nth-child(odd) {
animation: txtloop 70s -35s linear infinite;
}

#fv .loop_wrap div:nth-child(even) {
animation: txtloop2 70s linear infinite;
}





/* philosophy
--------------------------------------------*/
#philosophy{
position: relative;
margin: 0;
}

#philosophy .philosophy_block {
display: flex;
justify-content: flex-end;
}

#philosophy .one {
display: flex;
align-items: center;
width: 100%;
min-height: 100vh;
}

#philosophy .bg {
position: fixed;
top: 0;
left: 0;
right: 0;
width: 100%;
height: 100%;
background-position: center center;
background-size: cover;
background-repeat: no-repeat;
opacity: 0;
transition: all 0.5s ease 0s;
z-index: -1;
}

#philosophy .show .bg {
opacity: 1;
}

#philosophy .bg._01 {
background-image: url("../images/index/bg_philosophy01.jpg");
}

#philosophy .bg._02 {
background-image: url("../images/index/bg_philosophy02.jpg");
}
#philosophy .bg._03 {
background-image: url("../images/index/bg_philosophy03.jpg");
}

#philosophy .onebox {
align-content: center;
background-color:rgba(255,255,255,.95);
border-bottom: 1px dashed #121212;
margin: 0 auto;
min-height:100svh;
padding: 25px;
box-sizing: border-box;
position: relative;
text-align: center;
width: 760px;
z-index: 1;
backdrop-filter: blur(5px);
-webkit-backdrop-filter: blur(5px);
}


#philosophy .onebox .s_ttl{
font-size: 1.6rem;
font-weight: 500;
line-height: 1;
margin: 0 0 40px;
text-align: center;
}

#philosophy .onebox .txt{
text-align: center;
margin: 0 0 60px;
line-height: 2.2;
}

#philosophy .onebox .img{
width: 80%;
margin: auto;
}



/* thought
--------------------------------------------*/
#thought{
position: relative;
margin:0 auto;
}

#thought .section_wrap{
position: relative;
margin:0px auto 0;
overflow: hidden;
}

#thought .section_wrap .block{
margin: 0 auto 120px;
padding: 0 0 0 5%;
box-sizing: border-box;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}

#thought .section_wrap .block .block_l{
position: relative;
width: 45%;
padding: 60px 0;
box-sizing: border-box;
}

#thought .section_wrap .block .block_r{
position: relative;
width: 50%;
box-sizing: border-box;
background: #443f3d;
padding: 30px 20px;
}

#thought .section_wrap .block .block_r::before{
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-image: url("../images/com/bg_noise.webp");
background-repeat: repeat;
background-size: 200px 200px;
z-index: 0;
overflow: hidden;
}

#thought .section_wrap .block .block_r .ph_list{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
width: 96%;
margin: 40px 0 0 auto;
}

#thought .section_wrap .block .block_r .ph_list li{
width: 31.33%;
}

#thought .section_wrap .block .block_r .ph_list li img{
border:1px solid rgba(255,255,255,.6);
overflow: hidden;
}

#thought .section_wrap h2{
font-size:22px;
display: block;
line-height: 1.2;
margin: 0 0 80px;
color: #121212;
}

#thought .section_wrap h2 span{
position: relative;
display: block;
font-size: 42px;
font-weight: 700;
line-height: 1.2;
margin-bottom:20px;
}

#thought .section_wrap h3{
font-size:50px;
display: block;
line-height: 1.6;
margin: 0 0 80px;
color: #121212;
}


#thought .section_wrap .read_txt{
margin: 0 auto 40px;
}


#thought article{
position: absolute;
bottom: -40px;
left: 0;
overflow: hidden;
z-index: 5;
}

#thought .loop_wrap {
display: flex;
width: 100%;
overflow: hidden;
margin: 0 auto 0;
}

#thought .loop_wrap div {
flex: 0 0 auto;
white-space: nowrap;
font-size: 10rem;
font-weight:200;
letter-spacing: -.5rem;
line-height:1;
overflow: hidden;
color:#af9b55;
opacity: .4;
}

#thought .loop_wrap div:nth-child(odd) {
animation: txtloop 70s -35s linear infinite;
}

#thought .loop_wrap div:nth-child(even) {
animation: txtloop2 70s linear infinite;
}



/*feature
--------------------------------------------*/
#feature{
position: relative;
width: 100%;
margin: 0 auto 160px;
overflow: hidden;
box-sizing: border-box;
background:#121212;
padding:120px 0 80px;
}

#feature .section_wrap{
position: relative;
}

#feature .section_wrap .txt_box{
width: 60%;
margin: 0 auto 40px;
}


#feature .section_wrap h2{
font-size:22px;
display: block;
line-height: 1.2;
margin: 0 0 80px;
color: #FFFFFF;
}

#feature .section_wrap h2 span{
position: relative;
display: block;
font-size: 42px;
font-weight: 700;
line-height: 1.2;
margin-bottom:20px;
}

#feature .section_wrap h3{
font-size:50px;
display: block;
line-height: 1.6;
margin: 0 0 80px;
color: #FFFFFF;
}

#feature .section_wrap .read_txt{
font-size: 1rem;
line-height: 2;
margin: 0 auto 40px;
}

#feature article{
overflow: hidden;
position: relative;
margin-bottom: -50px;
}

#feature .loop_wrap {
display: flex;
width: 100%;
overflow: hidden;
margin: 0 auto 0;
}

#feature .loop_wrap div {
flex: 0 0 auto;
white-space: nowrap;
font-size:10rem;
font-weight:300;
line-height:1;
overflow: hidden;
color: #af9b55;
opacity: .4;
}

#feature .loop_wrap div:nth-child(odd) {
animation: txtloop 70s -35s linear infinite;
}

#feature .loop_wrap div:nth-child(even) {
animation: txtloop2 70s linear infinite;
}

#feature .fe_list{
width: 100%;
margin: 20px auto 60px;
position: relative;
border-top:1px solid rgba(175,155,85,.3);
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}

#feature .fe_list li{
width: 33.333%;
padding: 40px;
box-sizing: border-box;
border-right:1px solid rgba(175,155,85,.3); 
border-bottom:1px solid rgba(175,155,85,.3); 
}

#feature .fe_list li:nth-child(3){
margin-right: none;
}

#feature .fe_list li h3{
font-size: 30px;
line-height: 1;
text-align: center;
margin: 0 0 20px;
color: #af9b55;
}

#feature .fe_list li h3 span{
font-size:12px;
line-height: 1;
margin-bottom: 10px;
display: block;
opacity: .4;
}

#feature .fe_list li p{
color: #FFF;
height: 11vh;
margin: 0 0 30px;
}

#feature .parallax img{
}



/* area
--------------------------------------------*/
#area{
position: relative;
margin:0 auto 140px;
}

#area .section_wrap{
position: relative;
background: url("../images/index/bg_area.jpg") center center no-repeat;
background-size: cover;
margin:0 5% 0 0;
padding: 5% 0 5%;
box-sizing: border-box;
overflow: hidden;
}

#area .section_wrap h2{
font-size:22px;
display: block;
line-height: 1.2;
margin: 0 0 80px;
color: #FFFFFF;
}

#area .section_wrap h2 span{
position: relative;
display: block;
font-size: 42px;
font-weight: 700;
line-height: 1.2;
}

#area .section_wrap h3{
font-size:50px;
display: block;
line-height: 1.6;
margin: 0 0 80px;
color: #FFFFFF;
}

#area .section_wrap h2 span{
position: relative;
display: block;
font-size: 42px;
font-weight: 700;
line-height: 1.2;
margin-bottom:20px;
color: #FFF;
}


#area .section_wrap .read_txt{
color: #FFF;
font-weight: 500;
text-shadow: 0px 0px 4px rgba(0, 0, 0, 0.4);
}


#area .section_wrap .block{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
flex-direction: row-reverse;
}

#area .section_wrap .block .txt_box{
width: 55%;
margin: 0 0 60px auto;
padding-right: 4rem;
box-sizing: border-box;
}

#area .slider4{
margin-bottom:15px;
}

#area .slider5{
margin-bottom: 0;
}

#area .slider4 .slick-list,
#area .slider5 .slick-list{
overflow:inherit;
}

#area .slider4 .slick-slide,
#area .slider5 .slick-slide{
margin: 0 10px;
position: relative;
}

#area .slider4 .slick-slide img,
#area .slider5 .slick-slide img{
border: 1px solid #fff;
}


/* recruit
--------------------------------------------*/
#recruit{
position: relative;
overflow: hidden;
background: url("../images/index/recruit_bg.jpg") center center no-repeat;
background-size: cover;
width: 100%;
padding: 80px 0 40px;
box-sizing: border-box;
overflow: hidden;
}

#recruit::before{
content: "";
position: absolute;
top: 0;
right: 0;
width: 100%;
height: 100%;
background-image: linear-gradient(30deg, rgba(0, 0, 0,.6), rgba(0, 0, 0, 0));
}


#recruit .section_wrap{
width: 90%;
margin: 0 auto;
position: relative;
}

#recruit .section_wrap .txt_box{
width: 80%;
margin: 0 0 60px;
}


#recruit .section_wrap h2{
font-size:22px;
display: block;
line-height: 1.2;
margin: 0 0 80px;
color: #FFFFFF;
}

#recruit .section_wrap h2 span{
position: relative;
display: block;
font-size: 42px;
font-weight: 700;
line-height: 1.2;
}

#recruit .section_wrap h3{
font-size:50px;
display: block;
line-height: 1.6;
margin: 0 0 80px;
color: #FFFFFF;
}

#recruit .section_wrap .read_txt{
color: #FFF;
font-weight: 500;
margin-bottom: 60px;
}

#recruit .button{
margin: 0 auto 0 0;
}

/* news
--------------------------------------------*/
#news{
width:calc(100% - 12rem);
position: relative;
margin:0 auto 120px;
}

#news .section_wrap{
position: relative;
margin:0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
background:rgba(74,80,95,.8);
padding: 3rem 2rem;
box-sizing: border-box;
}

#news .section_wrap h2{
font-size:2.2rem;
line-height: 1.4;
font-weight: 600;
margin: 0 0 20px;
letter-spacing: .2rem;
color: #FFF;
}

#news .section_wrap h2 span{
position: relative;
display: block;
font-size: 1.2rem;
font-weight: 700;
letter-spacing: -.05rem;
opacity: .6;
}

#news .section_wrap .news_wrap{
width: 80%;
margin: 0 0 0 auto;
}

#news .section_wrap .news_wrap dl{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
line-height: 1;
margin: 0 0 10px;
background: #FFF;
padding: 15px;
box-sizing:border-box;
}

#news .section_wrap .news_wrap dl:last-child{
margin-bottom: 0;
}

#news .section_wrap .news_wrap dl dt{
position: relative;
width:12%;
font-weight: 500;
}

#news .section_wrap dl dd{
position: relative;
width: 88%;
}


#news .section_wrap .news_wrap .button{
margin: 30px 0 0 auto;
border: 1px solid #FFF;
}

#news .section_wrap .news_wrap .button a{
font-size:12px;
color:#FFF;
text-decoration:none;
line-height:50px;
transition:all .5s ease;
z-index:2;
position:relative;
}
#news .section_wrap .news_wrap .button .eff{
width:100%;
height:50px;
border:0px solid #FFF;
position:absolute;
transition:all .5s ease;
z-index:1;
box-sizing:border-box;
}
#news .section_wrap .news_wrap .button:hover .eff{
border:70px solid #FFF;
}
#news .section_wrap .news_wrap .button:hover a{
color:#54c2af;
}

}
/*sp*/
@media only screen and (max-width: 767px) {
a#logo use {
	fill: #ffffff !important;
}
.menu__line {
background: #fff;
}
.menuWrap p {
color: #fff;
}
.menuWrap p.active {
color: #333;
}


/* mv
--------------------------------------------*/
#mv {
position: relative;
width: 100%;
margin: 0 auto;
color: #231815;
z-index: 1;
overflow: hidden;
padding: 100px 0 0;
box-sizing: border-box;
display: flex;
justify-content: flex-start;
align-items: flex-start
}

#mv .section_wrap{
width: 100%;
overflow: hidden;
}

#mv .section_wrap::before{
content: "";
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 220px;
background: #443f3d;
z-index: -1;
}

#mv .section_wrap::after{
content: "";
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 220px;
background-image: url("../images/com/bg_noise.webp");
background-repeat: repeat;
background-size: 200px 200px;
z-index: 0;
overflow: hidden;
}

#mv .section_wrap .mv_info{
width: 90%;
margin: 0 auto 20px;
position: relative;
z-index: 5;
}

#mv .section_wrap .mv_info .txt_box{
margin-bottom: 30px;
}

#mv .section_wrap .mv_info .ttl_en{
font-size: 16px;
font-weight: 700;
line-height: 1.2;
color: #af9b55;
margin: 0 0 20px;
}

#mv .section_wrap .mv_info h1{
font-size: 18px;
line-height: 1.4;
margin: 0 0 30px;
}

#mv .section_wrap .mv_info h1 span{
font-size: 30px;
display: block;
}

#mv .section_wrap .mv_info .txt{
font-weight: bold;
}

#mv .section_wrap .mv_main{
width: 70%;
margin: 0 auto 20px;
box-sizing: border-box;
position: relative;
overflow: hidden;
z-index: 5;
}


#mv .section_wrap .mv_main .swiper2{
}

#mv .section_wrap .mv_slider{
width:100%;
position: relative;
margin: auto;
}

#mv .section_wrap .mv_slider .swiper{
width:100%;
}

#mv .section_wrap .mv_slider .swiper1{
}

#mv .section_wrap .mv_slider .swiper1 .swiper-slide{
overflow: hidden;
margin: 0 5px;
}

/* スライドの動き等速 */
#mv .section_wrap .mv_slider .swiper-wrapper {
transition-timing-function: linear;
}



/* fv
--------------------------------------------*/
#fv{
position: relative;
margin: 0 auto 60px;
background:#443f3d;
padding: 60px 0;
box-sizing: border-box;
}

#fv::after{
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-image: url("../images/com/bg_noise.webp");
background-repeat: repeat;
background-size: 200px 200px;
z-index: 0;
overflow: hidden;
}

#fv .fv_hed{
width: 100%;
z-index: 5;
}

#fv .fv_hed .ttl_box{
width:90%;
margin: 0 auto 20px;
}

#fv .fv_hed .ttl_box h2{
color: #FFF;
letter-spacing: .1rem;
}

#fv .fv_hed .ttl_box h2 span{
font-size:26px;
display: block;
color: #af9b55;
line-height: 1.4;
}

#fv .fv_hed .ttl_box .slider2{
margin-top: 30px;
}

#fv .fv_hed .ttl_box .slider2 .slick-slide{
margin: 0 5px;
}

#fv .fv_hed .ttl_box .slider2 .slick-slide img{
border: 1px solid rgba(255,255,255,.8);
}

#fv .fv_hed .contents_box{
width:100%;
box-sizing: border-box;
position: relative;
}


#fv .fv_hed .contents_box .txt_box{
width: 100%;
margin: 0 auto;
position: relative;
z-index: 5;
}

#fv .fv_hed .contents_box .txt_box ul{
width: 100%;
margin: auto;
}

#fv .fv_hed .contents_box .txt_box ul li{
width:100%;
margin-bottom: 1%;
border-top: 1px solid rgba(255,255,255,.3);
border-bottom: 1px solid rgba(255,255,255,.3);
background: rgba(0,0,0,.5);
overflow: hidden;
position: relative;
}

#fv .fv_hed .contents_box .txt_box ul li .box{
width: 100%;
padding: 30px;
box-sizing: border-box;
margin: 0 auto;
}

#fv .fv_hed .contents_box .txt_box ul li .box h3{
line-height: 1;
border: 1px solid rgba(175,155,85,.3);
letter-spacing:.2rem;
color: #FFF;
margin-bottom:10px;
padding:8px;
box-sizing: border-box;
text-align: center;
}

#fv .fv_hed .contents_box .txt_box ul li .box p{
font-size: 20px;
line-height: 1.6;
color:#af9b55;
margin: 0 0 20px;
text-align: center;
}

#fv .fv_hed .contents_box .txt_box ul li .box .img{
width: 80%;
margin: auto;
overflow: hidden;
}

#fv article{
position: absolute;
bottom: -20px;
left: 0;
overflow: hidden;
z-index: 5;
}

#fv .loop_wrap {
display: flex;
width: 100%;
overflow: hidden;
margin: 0 auto 0;
}

#fv .loop_wrap div {
flex: 0 0 auto;
white-space: nowrap;
font-size: 3rem;
font-weight:200;
letter-spacing: -.1rem;
line-height:1;
overflow: hidden;
color:#af9b55;
opacity: .4;
}

#fv .loop_wrap div:nth-child(odd) {
animation: txtloop 70s -35s linear infinite;
}

#fv .loop_wrap div:nth-child(even) {
animation: txtloop2 70s linear infinite;
}



/* thought
--------------------------------------------*/
#thought{
position: relative;
margin:0 auto;
}

#thought .section_wrap{
position: relative;
margin:0 auto 0;
overflow: hidden;
}

#thought .section_wrap .block{
margin: 0 auto 60px;
}

#thought .section_wrap .block .block_l{
position: relative;
width: 90%;
margin: 0 auto 20px;
}

#thought .section_wrap .block .block_r{
position: relative;
width: 100%;
box-sizing: border-box;
background: #443f3d;
padding:50px 5%;
}

#thought .section_wrap .block .block_r::before{
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-image: url("../images/com/bg_noise.webp");
background-repeat: repeat;
background-size: 200px 200px;
z-index: 0;
overflow: hidden;
}

#thought .section_wrap .block .block_r .ph_list{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
width: 100%;
margin: 40px 0 0 auto;
}

#thought .section_wrap .block .block_r .ph_list li{
width:31.33%;
}

#thought .section_wrap .block .block_r .ph_list li img{
border:1px solid rgba(255,255,255,.6);
overflow: hidden;
}


#thought .section_wrap h2{
display: block;
font-size: 12px;
line-height: 1.4;
margin: 0 0 30px;
color: #121212;
}

#thought .section_wrap h2 span{
position: relative;
display: block;
font-size:18px;
font-weight: 700;
margin-bottom:10px;
line-height: 1.2;
letter-spacing: 0;
}

#thought .section_wrap h3{
font-size:20px;
display: block;
line-height: 1.6;
margin: 0 0 30px;
color: #121212;
}


#thought .section_wrap .read_txt{
line-height:1.8;
margin: 0 auto 40px;
}


#thought article{
position: absolute;
bottom: -20px;
left: 0;
overflow: hidden;
z-index: 5;
}

#thought .loop_wrap {
display: flex;
width: 100%;
overflow: hidden;
margin: 0 auto 0;
}

#thought .loop_wrap div {
flex: 0 0 auto;
white-space: nowrap;
font-size: 5rem;
font-weight:200;
letter-spacing: -.5rem;
line-height:1;
overflow: hidden;
color:#af9b55;
opacity: .4;
}

#thought .loop_wrap div:nth-child(odd) {
animation: txtloop 70s -35s linear infinite;
}

#thought .loop_wrap div:nth-child(even) {
animation: txtloop2 70s linear infinite;
}



/*feature
--------------------------------------------*/
#feature{
position: relative;
width: 100%;
margin: 0 auto;
overflow: hidden;
box-sizing: border-box;
background:#121212;
padding:60px 0;
}

#feature .section_wrap{
position: relative;
}

#feature .section_wrap .txt_box{
width: 90%;
margin: 0 auto 30px;
}


#feature .section_wrap h2{
display: block;
font-size: 12px;
line-height: 1.4;
margin: 0 0 30px;
color: #FFFFFF;
}

#feature .section_wrap h2 span{
position: relative;
display: block;
font-size:18px;
font-weight: 700;
margin-bottom:10px;
line-height: 1.2;
letter-spacing: 0;
}

#feature .section_wrap h3{
font-size:20px;
display: block;
line-height: 1.6;
margin: 0 0 30px;
color: #FFFFFF;
}

#feature .section_wrap .read_txt{
margin: 0 auto 40px;
}

#feature article{
overflow: hidden;
position: relative;
margin-top:-10px;
}

#feature .loop_wrap {
display: flex;
width: 100%;
overflow: hidden;
margin: 0 auto 0;
}

#feature .loop_wrap div {
flex: 0 0 auto;
white-space: nowrap;
font-size:5rem;
font-weight:300;
line-height:1;
overflow: hidden;
color: #af9b55;
opacity: .4;
}

#feature .loop_wrap div:nth-child(odd) {
animation: txtloop 70s -35s linear infinite;
}

#feature .loop_wrap div:nth-child(even) {
animation: txtloop2 70s linear infinite;
}

#feature .fe_list{
width: 100%;
margin: 0 auto 30px;
position: relative;
border-top:1px solid rgba(175,155,85,.3);
}

#feature .fe_list li{
width: 100%;
padding: 30px;
box-sizing: border-box;
border-bottom:1px solid rgba(175,155,85,.3); 
}

#feature .fe_list li h3{
font-size: 1.2rem;
line-height: 1;
text-align: center;
margin: 0 0 20px;
color: #af9b55;
}

#feature .fe_list li h3 span{
font-size: .8rem;
line-height: 1;
margin-bottom: 10px;
display: block;
opacity: .4;
letter-spacing: -.02rem;
}

#feature .fe_list li p{
color: #FFF;
margin: 0 0 30px;
}

#feature .parallax img{
}



/* area
--------------------------------------------*/
#area{
position: relative;
background: url("../images/index/bg_area_sp.jpg") top right no-repeat;
background-size: cover;
padding:60px 5%;
box-sizing: border-box;
margin:0 auto;
overflow: hidden;
}

#area::before{
content: "";
position: absolute;
top: 0;
right: 0;
width: 100%;
height: 100%;
background:rgba(0,0,0,.75);
}

#area .section_wrap{
position: relative;
z-index: 5;
}

#area .section_wrap h2{
display: block;
font-size: 12px;
line-height: 1.4;
margin: 0 0 30px;
color: #FFFFFF;
}

#area .section_wrap h2 span{
position: relative;
display: block;
font-size:18px;
font-weight: 700;
margin-bottom:10px;
line-height: 1.2;
letter-spacing: 0;
}

#area .section_wrap h3{
font-size:20px;
display: block;
line-height: 1.6;
margin: 0 0 30px;
color: #FFFFFF;
}

#area .section_wrap .read_txt{
color: #FFF;
font-weight: 500;
text-shadow: 0px 0px 4px rgba(0, 0, 0, 0.4);
margin-bottom: 40px;
}


#area .section_wrap .block{

}

#area .section_wrap .block .txt_box{
width: 100%;
margin: 0 auto 30px;
}

#area .slider4{
margin-bottom:15px;
}

#area .slider5{
margin-bottom: 0;
}

#area .slider4 .slick-list,
#area .slider5 .slick-list{
overflow:inherit;
}

#area .slider4 .slick-slide,
#area .slider5 .slick-slide{
margin: 0 5px;
position: relative;
}

#area .slider4 .slick-slide img,
#area .slider5 .slick-slide img{
border: 1px solid #fff;
}


/* recruit
--------------------------------------------*/
#recruit{
position: relative;
overflow: hidden;
background: url("../images/index/recruit_bg_sp.jpg") center center no-repeat;
background-size: cover;
width: 100%;
padding: 60px 0;
box-sizing: border-box;
}

#recruit::before{
content: "";
position: absolute;
top: 0;
right: 0;
width: 100%;
height: 100%;
background:rgba(0,0,0,.6);
}


#recruit .section_wrap{
width: 90%;
margin: 0 auto;
position: relative;
}

#recruit .section_wrap .txt_box{
width: 100%;
margin: 0;
}

#recruit .section_wrap h2{
display: block;
font-size: 12px;
line-height: 1.4;
margin: 0 0 30px;
color: #FFFFFF;
}

#recruit .section_wrap h2 span{
position: relative;
display: block;
font-size:18px;
font-weight: 700;
margin-bottom:10px;
line-height: 1.2;
letter-spacing: 0;
}

#recruit .section_wrap h3{
font-size:20px;
display: block;
line-height: 1.6;
margin: 0 0 30px;
color: #FFFFFF;
}
#recruit .section_wrap .read_txt{
color: #FFF;
font-weight: 500;
margin-bottom: 30px;
}

#recruit .button{
margin: 0 auto 0 0;
}

/* news
--------------------------------------------*/
#news{
width:calc(100% - 12rem);
position: relative;
margin:0 auto 120px;
}

#news .section_wrap{
position: relative;
margin:0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
background:rgba(74,80,95,.8);
padding: 3rem 2rem;
box-sizing: border-box;
}

#news .section_wrap h2{
font-size:2.2rem;
line-height: 1.4;
font-weight: 600;
margin: 0 0 20px;
letter-spacing: .2rem;
color: #FFF;
}

#news .section_wrap h2 span{
position: relative;
display: block;
font-size: 1.2rem;
font-weight: 700;
letter-spacing: -.05rem;
opacity: .6;
}

#news .section_wrap .news_wrap{
width: 80%;
margin: 0 0 0 auto;
}

#news .section_wrap .news_wrap dl{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
line-height: 1;
margin: 0 0 10px;
background: #FFF;
padding: 15px;
box-sizing:border-box;
}

#news .section_wrap .news_wrap dl:last-child{
margin-bottom: 0;
}

#news .section_wrap .news_wrap dl dt{
position: relative;
width:12%;
font-weight: 500;
}

#news .section_wrap dl dd{
position: relative;
width: 88%;
}


#news .section_wrap .news_wrap .button{
margin: 30px 0 0 auto;
border: 1px solid #FFF;
}

#news .section_wrap .news_wrap .button a{
font-size:12px;
color:#FFF;
text-decoration:none;
line-height:50px;
transition:all .5s ease;
z-index:2;
position:relative;
}
#news .section_wrap .news_wrap .button .eff{
width:100%;
height:50px;
border:0px solid #FFF;
position:absolute;
transition:all .5s ease;
z-index:1;
box-sizing:border-box;
}
#news .section_wrap .news_wrap .button:hover .eff{
border:70px solid #FFF;
}
#news .section_wrap .news_wrap .button:hover a{
color:#54c2af;
}

}