@charset "UTF-8";

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

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


@keyframes rotation {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
#header {
background: rgba(255, 255, 255, .85);
backdrop-filter: blur(4px);
}

/*PC*/
@media print, screen and (min-width: 768px) {
#hed .hed_img .bg_img{
background-image:url("../images/philosophy/main_img.webp");
}
.img-philosophy{
	height: 40vh;
}
.img-philosophy img{
	object-fit: cover;
height: 600px;
}

article{
overflow: hidden;
position: absolute;
top: -5px;
left: 0;
}
.loop_wrap {
display: flex;
width: 100%;
overflow: hidden;
margin: 0 auto 0;
}

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

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

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

#philosophy{
margin: 0 auto 220px;
}

#philosophy .section_wrap{
}


#philosophy .section_wrap .block{
margin: 0 auto 120px;
}


#philosophy .section_wrap .block .red_ttl{
font-size:3.2em;
font-weight: bold;
margin:0px auto 60px;
letter-spacing: .2rem;
text-align: center;
line-height: 1.4;
}


#philosophy .section_wrap .block .red_ttl span{
display: block;
font-size: 1.2rem;
line-height: 1;
color: #af9b55;
margin: 0 0 20px;
}

#philosophy .section_wrap .block .red_ttl2{
font-size:2em;
font-weight: bold;
margin:0px auto 60px;
letter-spacing: .1rem;
text-align: center;
line-height: 1.6;
}


#philosophy .section_wrap .block .red_txt{
font-size: 1.2rem;
font-weight: 500;
line-height: 2;
text-align: center;
margin: 0 0 60px
}

#philosophy .section_wrap .block .illust_img{
width: 100%;
margin:0 auto;
background: #443f3d;
padding: 40px 20% 60px;
box-sizing: border-box;
position: relative;
}

#philosophy .section_wrap .block .illust_img::before{
content: "";
position: absolute;
bottom: 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;
}


#philosophy .section_wrap .block .slider2{
margin:0 0 0;
position: relative;
}

#philosophy .section_wrap .block .slider2::before{
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 40%;
background: #443f3d;;
background-repeat: repeat;
background-size: 200px 200px;
z-index: 0;
overflow: hidden;
}

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

#philosophy .section_wrap .block .slider2 .slick-slide{
margin: 0 20px;
overflow: hidden;
}


#philosophy .section_wrap .block3{
position: relative;
background:#FFF;
background-size: cover;
margin:0 5% 8rem 0;
padding:9rem 0 6rem;
box-sizing: border-box;
overflow: hidden;
}

#philosophy .section_wrap .block3 .box{
margin:60px 0 0;
padding-left: 5%;
box-sizing: border-box;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
}

#philosophy .section_wrap .block3 .box2{
margin:60px 0 0;
padding-right: 5%;
box-sizing: border-box;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
flex-direction: row-reverse;
align-items: center;
}

#philosophy .section_wrap .block3 .txt_box{
width:46%;
}

#philosophy .section_wrap .block3 .txt_box h2{
font-size:2.8rem;
line-height: 1.4;
font-weight: 500;
margin: 0px auto 60px;
letter-spacing: .2rem;
}

#philosophy .section_wrap .block3 .txt_box h2 span{
position: relative;
display: block;
font-size: 1.2rem;
font-weight: 700;
line-height: 1;
color: #af9b55;
margin: 0 0 20px;
letter-spacing: 0rem;
}

#philosophy .section_wrap .block3 .txt_box .read_txt{
font-size: 1.4rem;
font-weight: 700;
line-height: 1.6;
margin: 0 0 40px;
}

#philosophy .section_wrap .block3 .img{
width: 45%;
position: relative;
}

.img-philosophy{
	overflow: hidden;
}

#philosophy .section_wrap .block3 .box .img .circle {
width:38%;
height:38%;
margin: auto;
position: absolute;
top: 50px;
left: -80px;
}

#philosophy .section_wrap .block3 .box2 .img .circle {
width:38%;
height:38%;
margin: auto;
position: absolute;
top: 50px;
right: -80px;
}


#philosophy .section_wrap .block3 .img .circleText {
overflow: visible;
animation: rotation 18s linear infinite;
}
#philosophy .section_wrap .block3 .circleText__circle {
fill: none;
}
#philosophy .section_wrap .block3 .img .circleText__text {
fill: #c49417;
font-size:.67rem;
letter-spacing: 0.05em;
}

#philosophy .section_wrap .block3 .img .img_box{
padding-top: 160px;
box-sizing: border-box;
}

}
/*sp*/
@media only screen and (max-width: 767px) {
#hed .hed_img .bg_img{
background-image:url("../images/philosophy/main_img_s.webp");
}

article{
overflow: hidden;
position: absolute;
top: -5px;
left: 0;
}
.loop_wrap {
display: flex;
width: 100%;
overflow: hidden;
margin: 0 auto 0;
}

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

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

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

#philosophy{
margin: 0 auto 60px;
}

#philosophy .section_wrap{
}


#philosophy .section_wrap .block{
width: 100%;
margin: 0 auto 60px;
}


#philosophy .section_wrap .block .red_ttl{
width: 90%;
font-size:1.4rem;
font-weight: bold;
margin:0px auto 30px;
letter-spacing: .1rem;
text-align: center;
line-height: 1.4;
}


#philosophy .section_wrap .block .red_ttl span{
display: block;
font-size: .6rem;
line-height: 1;
color: #af9b55;
margin: 0 0 10px;
letter-spacing: 0rem;
}

#philosophy .section_wrap .block .red_ttl2{
width: 90%;
font-size:1.2em;
font-weight: bold;
margin:0px auto 30px;
letter-spacing: .1rem;
text-align: center;
line-height: 1.6;
}


#philosophy .section_wrap .block .red_txt{
width: 90%;
font-size: .9rem;
font-weight: 500;
line-height: 1.8;
margin: 0 auto 60px
}

#philosophy .section_wrap .block .illust_img{
width: 100%;
margin:0 auto;
background: #443f3d;
padding: 30px 10px 20px;
box-sizing: border-box;
position: relative;
}

#philosophy .section_wrap .block .illust_img::before{
content: "";
position: absolute;
bottom: 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;
}


#philosophy .section_wrap .block .slider2{
margin:0 0 0;
position: relative;
}

#philosophy .section_wrap .block .slider2::before{
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 40%;
background: #443f3d;;
background-repeat: repeat;
background-size: 200px 200px;
z-index: 0;
overflow: hidden;
}

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

#philosophy .section_wrap .block .slider2 .slick-slide{
margin: 0 5px;
overflow: hidden;
}


#philosophy .section_wrap .block3{
width: 100%;
position: relative;
background:#FFF;
background-size: cover;
margin:0 auto;
padding:20px;
box-sizing: border-box;
overflow: hidden;
}

#philosophy .section_wrap .block3 .box{
margin:60px 0 60px;
box-sizing: border-box;
}

#philosophy .section_wrap .block3 .box2{
margin:60px 0 60px;
}

#philosophy .section_wrap .block3 .txt_box{
width:100%;
margin: 0 0 30px;
}

#philosophy .section_wrap .block3 .txt_box h2{
font-size:1.2rem;
line-height: 1.4;
font-weight: 500;
margin: 0px auto 30px;
letter-spacing: .1rem;
}

#philosophy .section_wrap .block3 .txt_box h2 span{
position: relative;
display: block;
font-size: .5rem;
font-weight: 700;
line-height: 1;
color: #af9b55;
margin: 0 0 10px;
letter-spacing: 0rem;
}

#philosophy .section_wrap .block3 .txt_box .read_txt{
font-size: 1rem;
font-weight: 700;
line-height: 1.6;
margin: 0 0 10px;
}

#philosophy .section_wrap .block3 .img{
width: 100%;
position: relative;
}

#philosophy .section_wrap .block3 .box .img .circle {
width: 30%;
height: 30%;
margin: auto;
position: absolute;
top: 0;
left: -40px;
}

#philosophy .section_wrap .block3 .box2 .img .circle {
width: 30%;
height: 30%;
margin: auto;
position: absolute;
top: 0;
right: -40px;
}


#philosophy .section_wrap .block3 .img .circleText {
overflow: visible;
animation: rotation 18s linear infinite;
}
#philosophy .section_wrap .block3 .circleText__circle {
fill: none;
}
#philosophy .section_wrap .block3 .img .circleText__text {
fill: #c49417;
font-size:.67rem;
letter-spacing: 0.05em;
}

#philosophy .section_wrap .block3 .img .img_box{
padding-top: 50px;
box-sizing: border-box;
}



}