html { font-size: 2.6vw; }
body{font-size: 1.4rem;
line-height: 2.2;
}

.gd,
.gd2,
.gd3{width: 100%; }
.gd_s{width: 33rem; 
  margin-left: auto; margin-right: auto;
}
.gd2_s{width: 29rem; 
  margin-left: auto; margin-right: auto;
}
.pc{display:none !important}
.sp{display:block}

h2.bgw {
font-size: 3rem;
letter-spacing:-0.05em;
}

.sw-img .image{display:none;}

.container{overflow-x: clip;}

/*loading*/
.loading-pattern .loading-text{
margin-bottom: calc(2em + 7rem);
}
.loading-pattern .loading-text2 {
    position:absolute;
bottom: 7rem;
}
/*header*/

.site-header {
    padding: 2rem;
}
.site-title svg {
    width: 12rem;
    height: auto;
    display: block;
}
.site-title span {
    font-size: 1.1rem;
}

/* site-menu */


.site-menu .btn-entry.fix {
    right: 4.5rem;
    height: 3rem;
    line-height: 1;
}
.site-menu .btn-entry.fix .box-a a {
    font-size: 1.4rem;
    padding: .8rem 1.5rem;
    height: 3.5rem;
}
.btn-entry .box-a a:after {
    width: 1.9rem;
    height: 1.2rem;
}
.btn-entry.fix .box-a a:after {
    width: 1.3rem;
    height: .9rem;
    margin-left: .8em;
}
.nav-overlay-menu-inner{padding: 6rem 3rem 3rem; }
.nav-overlay-menu li a {
font-size: 1.8rem;
padding-left: .6em;
}
.nav-overlay-menu li span+span:before{
padding: 0 
}
.site-menu .nav-overlay-menu-li li:not(.nav-our-community) span+span {
margin-top: 0;
}
.site-menu .nav-overlay-inner .btn-entry a {
width:16rem;
}
.site-menu .blc-btn {
justify-content: space-between;
margin-top: 6rem;
gap: 0;
}
.nav-overlay-img {margin-top: 6rem;}
.nav-overlay-img img {
width: 100%;
}

/* hamburger */

#nav-toggle {
    width: 3.5rem;
    height: 3.5rem;
}

/*image-index*/

.image-index span{
    font-size:1.2rem;
    padding: .8rem 1.4rem 1rem ;
}
.image-index span.t1{
    top: 0; left:1.4rem;
    padding: 1.4rem 1rem 1.2rem;
}
.image-index span.t2{
    font-size:4rem;
}
.image-index span.t3{
    padding-bottom: 1rem;
}

/*home*/

.home .section1 .blc-news .blc-fullmovie{display:inline-block;}
.home .section1 .blc-news .blc-news-link{
margin-top: 1rem;
}

.home .section1 .blc-news .blc-news-link .box-news{
    width: 30.5rem;
}

.home #philosophy .image1 {margin-top: 5rem; text-align:right}
.home #philosophy .image1 img{width: 28rem; height: auto;}

.home #philosophy .image2 {margin-top: 3rem;}
.home #philosophy .image2 img{width: 30rem; height: auto;}

.home #episode .btn{text-align:right}

.home #episode .episode-index{margin-top: 7rem;}

.home #vision .text2{margin-top: 3rem;}

.home #job-categories .btn {text-align: right}
.home #job-categories .swiper {
    overflow: visible;
}
.home #job-categories .swiper .swiper-slide {
    width: calc(100% - 4rem);
    padding: 0 1rem;
}
.home #work-place .text2{margin-top: 3rem;}
.home #work-place .image2{margin-top: 5rem; width: 25.5rem;margin-left: 10.5rem;}
.home #work-place h4 span:last-child{margin-left: 2em}

.home #our-business .inner .text .btn{position:absolute;
bottom: 4rem; left: 0;
}
.home #our-business .inner .text {
height: calc(100% - 14rem);
}
.home #entry .btn {
    margin-top: 4rem;
text-align:center;
}
.home #entry {
padding-bottom: 8rem;
}

/*page-title*/

.page-title {
	padding-bottom:5rem;
}
.page-title p.fo3 {
    margin-bottom: 0;
}
.page-title h1 {
    font-size: 3.5rem;
    letter-spacing:-0.05em;
}

/*entry-content*/

.page-section {
    padding-bottom: 5rem;
}
section+section.page-section {
padding: 5rem 0;
}
.page-title h1.sm {
font-size: 3rem;
}
.page-title .lead {
text-align:left;
}
.page-content .section-image{
    height: auto ;
}

/*vision*/

#vision .page-title .text2{text-align:left; margin-top: 4rem; }
#vision .section-image{margin-top: 3rem}
#vision .page-section .img {margin: 5rem 0 3rem;}
#vision .page-section .img img{width: 100%}

/*philosophy*/
#philosophy .message .text-inner {
padding: 9rem 6rem 4rem 4rem;
height: 56rem;
}
#philosophy .message .text-inner .copy {
    font-size: 3rem;
}
#philosophy .message .name {
font-size:1.8rem;
}
#philosophy .page-section.philosophy .image1{margin:5rem 0 4rem}
#philosophy .page-section.philosophy .image1 img {width:100%}
#philosophy .page-section.philosophy .image2 {text-align:right;margin:7rem 0 3rem}
#philosophy .page-section.philosophy .image2 img{width:22.5rem}
#philosophy .interview .text {margin-top: 4rem}
#philosophy .interview h2 {margin-bottom: 2rem}

/*episode*/

#episode .introduction .image img{display:block}
#episode .introduction .text{padding: 5rem 0}

.readmore{
    position:absolute;
    bottom: 3rem; right: 3rem;
    color: #930008;
    display:block;
    line-height:1.6;
    border-bottom: .1rem solid;
    padding-right: 2rem;
}
.readmore:after{
    content:'';
    position:absolute;
    right: 0;
    top: .7rem;
    display:block;
width:1.2rem ; height: .9rem;
background:url(/images/arrow2.svg) no-repeat ;
background-size: cover;
}

/*work-place*/
#work-place .page-section h3{margin-top: 4rem}

/*section-pagelinks*/
#job-categories .section-pagelinks li+li{margin-top: 2rem}
#job-categories .section-pagelinks ul{margin-bottom:3rem;width: 100%;}


#philosophy .section-pagelinks ul li a .mk,
#entry .section-pagelinks ul li a .mk{width:2.8rem; height:2.8rem; }

#philosophy .section-pagelinks ul,
#entry .section-pagelinks ul{
    width: 100%; 
display: flex;
flex-wrap: wrap;
justify-content:center;
gap: 1rem;
}
#entry .section-pagelinks ul{
    margin:7rem auto 2rem;
}
#philosophy .section-pagelinks ul li a ,
#entry .section-pagelinks ul li a {
width: 16rem;
gap: .5rem;
}



/*job-categories*/
#job-categories .page-section h2{font-size: 3.5rem}

#job-categories .page-section .img{width: 25.5rem}
#job-categories .page-section  .image-sp{position:relative; margin-bottom:6rem}

/*faq*/
#faq .page-section {padding-top: 0}
#faq .page-section h2{ 
text-align:center;
}
#faq .blc-faq {
font-size: 1.8rem;
padding-top: 2rem;
}
#faq .page-section .inner {
padding-bottom: 2rem;
}
#faq .blc-faq+.blc-faq {
margin-top: 2rem;
}
#faq .blc-faq .faq-a p:last-child {
font-size: 1.4rem;
}
#faq .blc-faq .m {
width: 2.5rem;
height: 2.5rem;
}
.faq-btn {
width: 3rem;
height: 3rem;
right: 0;
top: 2rem;
}

/*our-business*/
#our-business .section-image{margin-top: 3rem}
#our-business .page-section .img {
margin: 4rem 0 7rem;
}


#our-business .page-section {
padding-bottom: 6rem;
}

/*entry*/

#entry .page-section h2 {
font-size: 1.8rem;
}
#entry .page-section table th, 
#entry .page-section table td {
display:block;
text-align:left;
border: none;
padding: 0 1rem;
}
#entry .page-section table th{
border-top: .1rem solid;
padding-top: 1.5rem;
}
#entry .page-section table td{
padding-bottom: 1.5rem;
}
#entry .page-section table tr:last-child th {
border-bottom: none;
}
#entry .page-section .blc-btn {
gap: 2rem;
}
.btn.btn-entry2 .box-a a {
font-size: 1.8rem;
}
.btn.btn-entry3 .box-a a {
font-size: 1.8rem;
padding: 1.6em 1em;
width: 21rem;
height: 8rem;
}

#entry .page-section {
padding-bottom: 8rem;
}



/*community*/

#our-community .list li{
    margin-top:6rem;
}
#our-community .message h2 {
font-size: 3rem;
margin-top: 0;
}
#our-community .page-section{
padding-bottom: 8rem;
}
#our-community .message .image {margin-top: 5rem; text-align:right}
#our-community .message .image img{width: 100%; height: auto}


/*footer*/
.blc-footer {
padding: 4rem 0 6rem;
position:relative;
}
.nav-overlay-menu li span,
.blc-footer-recruit li span{width: auto}
.nav-overlay-menu  li a ,
.blc-footer-recruit li a {
flex-direction: row;
justify-content:left;
align-items: flex-end;
}
.nav-overlay-menu ul li.nav-our-community a,
.blc-footer-recruit ul:last-child li:last-child a {
flex-direction: column;
align-items:initial;
}
.blc-footer-recruit li span+span, 
.nav-overlay-menu-li li span+span {
font-size: 1rem;
}
.nav-overlay-menu  li span+span:before,
.blc-footer-recruit li span+span:before{
	content:'/';
	display:inline-block;
	padding: 0 .8rem ;
}
.nav-overlay-menu  ul:last-child li:last-child span+span:before,
.blc-footer-recruit  ul:last-child li:last-child span+span:before{
	display:none;
}
.btn.btn-coporate .box-a a {
font-size: 1.4rem;
}
.nav-overlay-menu .btn.btn-coporate .box-a a,
.blc-footer-other .btn.btn-coporate .box-a a{
font-size: 1rem;
height: 3.6rem; 
}
.blc-footer-other{margin-top: 6rem;}
.blc-footer-other .btn-entry .box-a {
width: 15.4rem;
}
.blc-footer-other ul {
margin-top:4rem;
}


.instagram ,
.instagram a {
width: 3.4rem;
height: 3.4rem;
}
.blc-footer-recruit{padding-left: 1rem}
.btn-entry .box-a a {
font-size: 1.8rem;
padding: 1.8rem 0;
}
.footer-privacypolicy {
position: absolute;
bottom: 6rem;
right: 0;
}

/*modal*/

.modal-panel .w1_sp{
width: 19.5rem;
}
.modal-panel .pr_sp{
margin-left: auto;
}


.modal-inner{
    padding: 0 2rem ;
}
.modal-nav {
    justify-content: flex-start;
    /*scroll-snap-type: x mandatory;*/
    scrollbar-width: none;
    gap: 1.8rem;
}
.modal-nav::-webkit-scrollbar { display: none; }
.modal-nav-item {
    width: calc(100% - 8rem);
    /*scroll-snap-align: start;*/
}

.btn.btn-read-more{margin-top: 4rem;
text-align:right;
}
.btn.btn-read-more  .box-a a{
    font-size:1.4rem;
    position:relative;
    display: flex;
align-items: center;
    padding: 0 4rem 0 1.5rem;
    height: 5rem;
    cursor:pointer;
}
.read-more-content {
    display: none;
}
.read-more-content.is-open {
    display: block;
    animation: fadeIn .4s ease;
}
.btn.btn-read-more  .box-a a:before,
.btn.btn-read-more  .box-a a:after {
  content: "";
  width: 1.5rem;
  height: .2rem;
  background-color: #930008;
  position: absolute;
  top: calc(50% - .1rem);
  right: 1rem;
}

.btn.btn-read-more  .box-a a:after {
  transform: rotate(90deg);
}
.btn-read-more.is-open .box-a a:after {
  transform: rotate(0);
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}


/*movie-modal*/

#movie-modal-close {
border: none;
background: #fff;
cursor: pointer;
display: block;
position: fixed;
top: 2rem;
right: 2rem;
z-index: 1;
width: 3.5rem;
height: 3.5rem;
border-radius: 0;
}
