html {
  font-size: 0.78125vw;
}

/*@media (max-width: 1800px) {
  html {
    font-size: 10px;
  }
}
@media (max-width: 1280px) {
  html {
    font-size: 0.78125vw;
  }
}
@media (max-width: 960px) {
  html {
    font-size: 7.5px;
  }
}*/

.gd{width: 110rem; 
  /*max-width:128rem;*/
  margin-left: auto; margin-right: auto;
}
.gd2{width: 100%; 
  /*max-width: 128rem;*/
  margin-left: auto; margin-right: auto;
}
.gd3{width: 80rem; 
  /*max-width: 128rem;*/
  margin-left: auto; margin-right: auto;
}

.sp{display:none!important}
.pc{display:block}

/*.container{min-width: 960px;}*/
.home .section1{
/*min-width: 960px;*/
position: relative;
}

.btn-entry a{
    will-change: opacity;
}

.btn .box-a a{
font-size: 2rem;
 }

/*loading*/


.loading-text {
    font-size: 2.8rem;
    
}


/*nav*/
.nav-overlay-menu-inner{padding: 6rem 8rem; width:100%; }

.nav-overlay-menu-li{display: flex; gap: 4em }
.nav-overlay-img img {
    width: 42rem;
    position:absolute;
    bottom: 0; right: 0;
}


#nav-toggle,
.site-menu .btn-entry.fix{
    transform:scale(.8);
    transform-origin:right top;
}
.site-menu .btn-entry.fix {
right: 5.5rem;
}


.site-header{
padding: 2.6rem;
}
/*home*/

.catch span {
    padding: .15em .15em ;
    font-size: 4.2rem;
}
.home .section-image.image1 .catch{
top: -7rem;
right: 9rem;
}
.home .section-image.image2 .catch{
top: -7rem;
left: 9rem;
}
.home #philosophy {padding: 8rem 0 }
.home #episode {padding: 8rem 0 12rem}
.home #vision {padding: 8rem 0 }
.home #job-categories {padding: 8rem 0 }
.home #work-place {padding: 8rem 0 }
.home #entry {padding: 8rem 0 }

.home .section1 .blc-news{
display:flex;
bottom: 2rem; left: 2rem;
}
.home .section1 .blc-news .blc-news-link{
margin-left: 1rem;
}
.home .section2 p{
    /*font-size: 2.5rem;*/
}
.home .section2 .catch span {
    font-size: 4rem;
}
.home #philosophy .inner{display:flex;  gap:8.5rem}
.home #philosophy h3 {
font-size: 3.8rem;
}
.home #philosophy .inner .text{flex: 1}
.home #philosophy .image1 img{width: 52rem; height: 78rem;
}
.home #philosophy .image2{
    margin-top: 9rem;
}
.home #philosophy .image2 img{width: 49.5rem; height: auto; 
}

.home #episode h3{font-size: 3.8rem;}

.home #episode .inner{display:flex; justify-content:space-between;}
.home #episode .episode-introduction{width:45rem;}
.home #episode .episode-index{width:57rem;}
.home #episode .img {text-align:right}


.episode-index li span{
    font-size: 2rem;
}
.episode-index li {
padding: 7.5rem 0 1rem;
}

.episode-index li:after{
    font-size: 1.2rem;

}
.episode-index li:before{
    font-size: 2rem;
    top: 1.4rem;
}

.home #vision .text1,
.home #vision .text2{margin-left:77rem; width: 42rem;}
.home #vision .text1 .box{gap: 3rem; justify-content:flex-start}
.home #vision h3{
    font-size: 7rem;
}
.home #vision .image{
    width:69rem; height: 46rem; 
    position:absolute; top:0;
}


.home #work-place .image{width:57rem; height: 100%; max-height: 76rem; position:absolute; top:0;}

.home #work-place .inner{position:relative}
.home #work-place .text1{margin-left:65rem; position:relative}
.home #work-place .text2{margin-left:65rem; width: 56rem;}
.home #work-place .blc-btn{margin-left:65rem; display:flex; justify-content:space-between;}
.home #work-place .blc-btn .image2 img{width:36rem; height: 24rem; margin-top:5rem; display:block}
.home #work-place h3{
    font-size: 5rem;
}
.home #work-place h4{font-size: 3rem;}

.home #job-categories .blc-link ul{
  display:flex;
  justify-content:space-between;
}

.home #job-categories .blc-link ul li{
  width:34rem;
}
.home #job-categories .text2{
  display:flex; 
  justify-content:space-between;
  align-items: flex-end;
}
.home #job-categories h3 {
font-size: 5rem;
}
.home #job-categories .text2 h3,
.home #job-categories .text2 p,
.home #job-categories .text2 .btn{
  margin:0;
  white-space:nowrap;
}
.home #job-categories .text2{
    margin-top: 7rem;
}

.home #our-business .inner .text {
left: 8rem; top: 50%;
transform: translateY(-50%);
}
.home #our-business .inner .text h3 {
font-size: 3rem;
}

.home #entry .inner{min-height:76rem}

.home #entry h3{font-size: 3.8rem;
}
.home #entry .image1{width: 57rem; height: 76rem;
position:absolute;
top: 0; right: -9rem;
}
.home #entry .text{
padding-top: 2rem;
}
/*.home #entry .btn .box-a a{font-size: 3rem}*/

/*entry-content*/

.page-title p.fo3 {
    font-size: 2rem;
}

/*philosophy*/

#philosophy .text-scroll-track {
    width: 30rem;
}
#philosophy .philosophy .inner{
    display: flex;
    align-items: flex-start;
    flex-direction:row-reverse;
    gap: 21rem;
}

#philosophy .philosophy .image{
    position: sticky;
    top: 14rem;
    width: 39rem;
    height: 64rem;
}
#philosophy .philosophy .sw-img .image img{
    top: 12rem;
    width: 39rem;
    height: 52rem;
}
#philosophy .interview {padding-bottom: 16rem}

#philosophy .interview .text{
    margin-top:0;
flex: 1;
}
#philosophy .page-section h2 {
margin-top: 0;
}
#philosophy .interview .inner{
    display:flex;
}
#philosophy .interview .label{
position: sticky;
top: 14rem;
width: 30rem;
height: 30rem;
}
#philosophy .page-section .label span{
font-size: 3rem;
}

/*episode*/

#episode .introduction .inner{
  display:flex; 
  height: 80rem;
}

#episode .introduction .text{
flex: 1;
display:flex; align-items: center;
padding-left: 8rem;
}

#episode .introduction .text p{
line-height:3.6;
text-align:center;
}

#episode .introduction .image{
  width: 50%;
}

#episode .episode-list .inner{
    display:flex;flex-wrap: wrap;
    flex-direction:row-reverse;
}

#episode .blc-episode{
    width: calc(100% / 3);
    height: 65rem;
}
#episode .blc-episode .text h2{
    font-size:3rem;
}
#episode .blc-episode .text h2+p{
    line-height: 2.3;
}
#episode .blc-episode .text .label{
    font-size:2rem;
}

#episode .blc-episode .text h2+p{
    width: 23rem;
    left: -2rem;
}

/*job-categories*/

.page-section .title {
padding-bottom: 5rem; margin-bottom: 8rem;
}
#job-categories .page-section .title p {font-size: 2rem;}

#job-categories .page-section .inner{
    display: flex;
    align-items: flex-start;
    flex-direction:row-reverse;
    gap: 8rem;
}
#job-categories .page-section .text{
    flex: 1;
}
#job-categories .page-section h3 {font-size: 4rem;margin-top: 0;}

#job-categories .page-section .image{
    position: sticky;
    top: 16rem;
    width: 60rem;
    height: 45rem;
}

/*work-place*/
#work-place .page-section .title {
padding-bottom: 4rem; 
}
#work-place .page-section .inner {
display: flex;
align-items: flex-start;
gap: 7rem;
}
#work-place .page-section .inner2{margin-top: 9rem}

#work-place .page-section:nth-child(2n-1) .inner {
    flex-direction:row-reverse;
}
#work-place .page-section .title h2 {font-size: 4rem;}
#work-place .page-section .text h3 {font-size: 3.9rem;}
#work-place .page-section .text{
    flex: 1;
}
#work-place .page-section .image{
    width: 60rem;
    height: 45rem;
}
#work-place .page-section#env1 .inner2 ul{
display: flex;
gap: 4rem;
}
#work-place .page-section#env1 .inner2 li{
margin-top: 0;
}
#work-place .page-section#env2 .inner2 li{
display: flex;
align-items:flex-start;
gap: 4rem;
}
#work-place .page-section .inner2 li h3{
margin-top: 4rem;
width: 20rem;
}
#work-place .page-section#env2 .inner2 li h3{
margin-top: 3rem;
width: 16rem;
}
#work-place .page-section#env2 .inner2 li p{
flex: 1; 
}
#work-place .page-section .inner2 li p{
padding-top: 4rem;
padding-bottom: 4rem;
}

#work-place .page-section .inner2 li .image{
width: 11rem;
height:9rem;
}
#work-place .page-section#env2 .inner2 li .image{
width: 15rem;
top: 10rem; 
left: 1rem; right: auto;
}

/*our-business*/

#vision .page-section .inner,
#our-business .page-section .inner{
  display:flex; justify-content:space-between; gap:7rem;
}
#vision .page-section .image,
#our-business .page-section .image{
  text-align:right;
  width: 42rem;
}
#our-business .page-section .image{
}
#vision .page-section .text,
#our-business .page-section .text{
  flex:1;
}
#our-business .page-section .image .btn{
  margin-top: 8rem;
}
#vision .page-section .img img,
#our-business .page-section .img img{
   width: 100%;
}
/*vision*/

#vision .page-title{
  display:flex;
  margin:5rem auto;
  justify-content:center;
  gap:9.2rem;
  text-align:left;

}
#vision .page-title .text2{
  width:55rem;
}

/*our community*/
#our-community .message .inner{position:relative;}
#our-community .message .image{position:absolute; right: 0; top: 0}
#our-community .message .image img{width: 26rem; height: auto}

#our-community .list ul{
display:flex; gap:5%;
flex-wrap: wrap;
}
#our-community .list li{
    width: 30%;
    margin-top:6rem;
}

#our-community .list li span{
    font-size: 2rem;
}

/*faq*/
#faq .page-section{padding-top: 0}


/*entry*/

#entry .page-section {
padding: 14rem 0;
}


/*section-pagelinks*/

.section-pagelinks ul{display:flex; gap:3rem; width:64rem; margin:12rem auto 0;}
.section-pagelinks ul li{flex:1; }
.section-pagelinks ul li a {
    font-size:2rem;
gap: 1.6rem;
padding: 1rem 1.8rem;
}
.section-pagelinks ul li a .image+.text {
font-size: 3rem;
}

#philosophy .section-pagelinks ul{margin:0 auto 10rem; width: 76rem}
#job-categories .section-pagelinks ul{gap:5rem; width:100%}
#job-categories .section-pagelinks ul li a {
padding: 1rem;
}
#philosophy .section-pagelinks ul li a {
padding: 1.6rem 1.8rem;
font-size:1.2rem;
}
#philosophy .section-pagelinks ul li a span{
font-size:1.2rem;
}
#philosophy .section-pagelinks ul li a span em{
font-size:2rem;
}


/*footer*/
.blc-footer {display:flex;
justify-content:space-between;
}

.blc-footer-other {position:relative; 
display:flex;
flex-direction:column; justify-content:space-between;
 }
.blc-footer-other ul{margin-left: 0 ; 

}
.blc-footer-recruit .inner{
  display:flex;
  align-items:flex-start;
  margin-right:6%;
    gap: 9rem;
}

/*modal*/
#stay-modal-reopen {
    bottom: 3rem;
    right: 3rem;
    width: 9.4rem;
    height: 6rem
}
#stay-modal-reopen span {
    /*font-size: 2rem;*/
}

.modal-title {
    width: 75rem;
    margin: 0 auto;
    padding: 8rem 0 6rem;
}
.modal-nav {
    gap: 3rem;
    width: 75rem;
    margin: 9rem auto;
}
.modal-nav-item {
    width: 23rem; height: 10rem;
}
.modal-nav-item .image {
width: 8rem;
height: 8rem;
}

.modal-nav-item .title {
    font-size: 1.6rem;
}
.modal-nav-item .num {
    font-size: 2rem;
}
.modal-nav-item .year {
    font-size: 1.2rem;
}
.modal-panel .profile {
margin-top: 4rem;
}
.modal-panel .index{
    font-size: 3rem;
    padding-bottom:2.5rem;
    margin-bottom: 7rem;
}

.modal-panel .profile p{
    font-size: 2rem;
}
.modal-panel .profile h3{
    font-size: 4rem;
}

.modal-panel .profile p.bgw {
font-size: 1.6rem;
}



.modal-panel .w1{
width: 30rem;
}
.modal-panel .w2{
width: 37.5rem;
}
.modal-panel .pr{
margin-left: auto;
}
.modal-inner .catch span {
font-size: 3rem;
}

.modal-inner .btn-pageup{
padding: 2rem;
}
.modal-nav-track {
    width: 25rem;
    margin: -6rem 8rem 6rem auto;
}

.modal-contents {
    width: 90rem;
    height: 84vh;
    margin: 8vh auto;
}
.modal-inner {
    width: 100%;
    height: 84vh;
    margin: 8vh auto;
}
.modal-inner h2 {
    font-size:6rem;
}

.modal-inner .lead {
   width: 75rem;
   margin:0 auto;
}

.modal-panel-wrap {
    width: 50rem;
    margin: 0 auto;
}

.modal-panel#secret2 .catch{
justify-content: right;
margin-top: -9rem;
}


/*episode-modal*/
.episode-modal-inner {
    margin: calc(50vh - 32rem) auto;
}
.episode-modal-inner,
#episode-modal .text-scroll,
#episode-modal .text-scroll .text{
    height: 64rem;
}