/*color #930008 */


body{
    background-color: #f0f0f0;
    font-family:'dnp-shuei-gothic-gin-std', sans-serif;
    font-size: 1.6rem;
    line-height:2;
    color: #2a201e;
    -webkit-font-smoothing: antialiased;

}

h1,h2,h3,h4,h5{font-weight:600; font-size: 1em; line-height: 1.4}
p{font-weight:500;}
a{text-decoration:none; color: #2a201e}
a{
    transition: opacity .4s ;
}
a:hover{
    opacity: .5;
}
section{position:relative}

h3.red{
    background-color:#930008;
    color: #fff;
    padding: .8em;
    text-align:center;
    margin:.8em 0;
}

/*header*/

.site-header{
    position:fixed;
    top: 0;
    width: 100%;
    z-index: 9100;
    padding: 2.6rem;
    pointer-events: none;
}
.site-header .inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    pointer-events: none;
}
.site-header .site-title,
.site-header .btn-entry,
.site-header #nav-toggle {
    pointer-events: auto;
}
.site-title svg{
width: 20rem; height: auto;
display: block;
}
.site-title svg g{
    transition: fill .4s ease;
}
.site-header.logo-dark .site-title svg g{
    fill: #930008;
}
.site-title span{
color: #fff;
transition: color .4s ease;
font-size: 1.6rem;
line-height:1.1;
font-weight:900;
display: block;
margin-top: .3rem;
margin-left: .3rem;
}
.site-header.logo-dark .site-title span{
    color: #930008;
}

/* site-menu */
.site-menu {
    position: fixed;
    z-index: 9200;
    top: 2rem;
    right: 2rem;
    transition: opacity .3s ease, visibility .3s ease;
}
.site-menu.is-footer-overlap {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}


.site-menu .nav-overlay-inner .btn-entry {
    position: relative;
    top: auto;
    right: auto;
}

.site-menu .nav-overlay-inner .btn-entry a {
    width: 22rem;
}
.site-menu .btn-entry.fix {
    position: absolute;
    z-index: 9200;
    top: 0;
    right: 7rem;
    transition:opacity .4s ease;
}
.site-menu .btn-entry .box-a {
    background-color: #930008;
}
.site-menu .btn-entry .box-a a {
    color: #fff;
}
.site-menu .btn-entry.fix .box-a a {
    font-size: 1.8rem;
    padding: 1.4rem 3rem;
    height: 5rem;
}

.site-menu.is-open .btn-entry.fix {opacity:0; pointer-events:none}

.site-menu .blc-btn{
    margin-top:3em;
    display:flex; gap:2em; align-items:flex-end;
}


/* hamburger */
#nav-toggle {
    background: #fff;
    border: none;
    cursor: pointer;
    display:block;
    /*display: flex;*/
    /*flex-direction: column;*/
    /*gap: .7rem;*/
    position: relative;
    z-index: 9100;
    width: 5rem;
    height: 5rem;
    transition:background .4s ease;
}
.site-menu.is-open #nav-toggle {
}
#nav-toggle span {
    display: block;
    width: 50%;
    height: 2px;
    background: #000;
    transition: transform .4s ease, opacity .4s ease, background .4s ease;
    position: absolute;
    left: 25%;
    transform:translateY(-50%);
}
.site-menu.is-open #nav-toggle span {
    width: 60%;
    left: 20%;
}
#nav-toggle span:nth-child(1) { top: 30%; }
#nav-toggle span:nth-child(2) { top: 50%; }
#nav-toggle span:nth-child(3) { top: 70%; }

.site-menu.is-open #nav-toggle span:nth-child(1) { transform: translateY(1rem) rotate(40deg); }
.site-menu.is-open #nav-toggle span:nth-child(2) { opacity: 0; }
.site-menu.is-open #nav-toggle span:nth-child(3) { transform: translateY(-1rem) rotate(-40deg); }

.logo-dark #nav-toggle span {
    background: #291a18;
}

/* nav overlay */
#nav-overlay {
    position: fixed;
    inset: 0;
    z-index: 9000;
    background: #d5c4b7;
    display: flex;
    flex-direction: column;
    opacity: 0;
    visibility: hidden;
    transition: opacity .4s ease, visibility .4s ease;
}
.site-menu.is-open #nav-overlay {
    opacity: 1;
    visibility: visible;
}

.nav-overlay-menu {
display:flex; align-items:center;
min-height: 100vh;
}
.nav-overlay-inner {
    height: 100%;
    overflow-y: auto;
}
html.nav-open,
html.nav-open body,
html.modal-open,
html.modal-open body {
    overflow: hidden;
}


.nav-overlay-menu li a {
    font-size: 2rem;
    line-height: 1;
    margin-bottom: 1.6em;
    padding-left: 1em;
    border-left: .3rem solid transparent;
    display:flex;
    flex-direction: column;
}
.site-menu .nav-overlay-menu li span+span{
    margin-top: 1rem;
}

.site-menu .nav-overlay-menu li span{
    color: #930008;
}
.home .site-menu .nav-top,
.page-philosophy .site-menu .nav-philosophy,
.page-episode .site-menu .nav-episode,
.page-vision .site-menu .nav-vision,
.page-job-categories .site-menu .nav-job-categories,
.page-work-place .site-menu .nav-work-place,
.page-our-business .site-menu .nav-our-business,
.page-entry .site-menu .nav-entry,
.page-faq .site-menu .nav-faq,
.page-our-community .site-menu .nav-our-community{border-left: .3rem solid #930008}

.nav-overlay-img {
    position:relative;
    flex: 1;
}


.fo1{
    font-family: 'Zen Old Mincho';
}
.fo2{
    font-family: '';
    letter-spacing:.05em;
}
.fo3{
    font-family: 'bodoni-egyptian-pro';
    letter-spacing:.05em;
}

.fo-95{
    display: block;
    width: 105.263%;
    transform: scaleX(.95);
    transform-origin: left;
}
.fo-90{
    display: block;
    width: 111.111%;
    transform: scaleX(.9);
    transform-origin: left;
}
.fo-80{
    display: block;
    width: 125%;
    transform: scaleX(.8);
    transform-origin: left;
}
.fo-95c{
    display: block;
    transform: scaleX(.95);
    transform-origin: center;
}
.fo-90c{
    display: block;
    transform: scaleX(.9);
    transform-origin: center;
}
.fo-80c{
    display: block;
    transform: scaleX(.8);
    transform-origin: center;
}

.btn .box-a{
    display:inline-block;
    background-color:#fff;
border-radius:.6em;
 }
.btn .box-a a{
display:inline-block;
font-size: 1.8rem; line-height:1 ; 
font-weight:600;
padding:.9em 1.1em .9em .8em;
 }
.btn .box-a a.fs{
font-size: 1.6rem;
 }
 .btn .box-a.rd{
    background-color:#930008;
 }
.btn .box-a.rd a{
    color:#fff;
 }
.btn .box-a a.dot:before{
content:'・';
color: #930008;
font-size: 1.4;
 }
.btn .box-a.rd a.dot:before{
color: #fff;
 }
.bgc1{background-color: #930008; color: #fff}
.bgc2{background-color: #EEEEEE}
.bgc3{background-color: #FFFFFF}
.bgc4{background-color: #E5E0DE}

p.lh{line-height:2.6;}

/*loading*/
#loading .fo3 {
    transition: opacity .1s ease;
}
.wf-loading #loading .fo3 {
    opacity: 0;
}
html.is-loading .site-header,
html.is-loading .site-menu,
html.is-loading .site-main > *:not(#loading) {
    visibility: hidden;
}

#loading {
    position: fixed;
    inset: 0;
    z-index: 9999;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.8s ease, visibility 0.8s ease;
    pointer-events: none;
    background-color: #000;
}

#loading.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.loading-pattern {
    display: none;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
}
.loading-pattern.is-active {
    display: flex;
    flex-direction: column;
}
.loading-pattern p{
    color: #fff;
    z-index: 1;
    position:relative;
}
.loading-text {
    writing-mode: vertical-rl;
    font-size: 2.5rem;
    letter-spacing:-0.05em;
    line-height: 1.6;
    white-space:nowrap;
}
.loading-text span+span {
    /*margin-top: 2em;*/
}
.loading-text2 {
    margin-top:2rem;
    text-align:center;
    line-height: 1.4;
}
.loading-text span {
    display: block;
}
.loading-pattern{
    background-size:cover;
    background-position: center;
    background-repeat: no-repeat;
}
.loading-pattern.pattern1 { background-image: url('/images/top/loading1.jpg'); }
.loading-pattern.pattern2 { background-image: url('/images/top/loading2.jpg'); }
.loading-pattern.pattern3 { background-image: url('/images/top/loading3.jpg'); }
.loading-pattern.pattern4 { background-image: url('/images/top/loading4.jpg'); }
.loading-pattern.pattern5 { background-image: url('/images/top/loading5.jpg'); }
.loading-pattern.pattern6 { background-image: url('/images/top/loading6.jpg'); }
.loading-pattern.pattern7 { background-image: url('/images/top/loading7.jpg'); }
.loading-pattern.pattern8 { background-image: url('/images/top/loading8.jpg'); }
.loading-pattern:after{
    content:'';
    display:block;
    position:absolute;
    z-index: 0;
    top: 0; bottom: 0;
    left: 0; right: 0;
    background-color: rgba(0, 0, 0 , .6);
}


/*//home*/

.home .mainimage{
    width: 100%;
    height: 100vh;
    position:fixed;
    z-index: -2;
}
.home .mainimage video{
    width: 100%;
    height: 100%;
    object-fit: cover;
}



.catch {
    display: flex;
    flex-direction: row-reverse;
    align-items:flex-start;
    gap: 1rem;
}

.catch span {
    display: inline-block;
    writing-mode: vertical-rl;
    background-color: #fff;
    padding: .15em .15em ;
    font-size: 3rem;
    line-height: 1;
    font-feature-settings: "vrt2" 1, "vkrn" 1;
    white-space: nowrap;
}
.catch.rd span {
    color: #fff;
    background-color:#930008;
}
.catch span em{
    margin-bottom: -.6em;
    display: inline-block;
}

.catch span:nth-child(2) {
    margin-top: 1.2em;
}

.section2 .catch span {
    background-color: transparent;
    padding: 0 ;
    color: #fff;
    line-height: 1.2;
}
h2.bgw {font-size: 3.8rem;}
.bgw {margin: .6em 0 1em;line-height: 1.1;}
.bgw span{display:inline-block;
    background-color:#fff; padding: 0 .1em 0.07em .1em; 
    /*margin-left:-.3em;*/
    margin-top: .15em;
}
.bgw span em,
.image-index span em{
    margin-right: -.6em;
    display: inline-block;
}

/*home section*/


.home .section1{
    min-height: 100vh;
}

.home .section2{
    padding: 14rem 0;
}

.home .section2 p{
    color: #fff;
    font-size: 1.8rem;
    line-height:3;
    text-align: center;
}

.home .section1 .blc-news{
position:fixed;
bottom: 0; left: 0;
z-index: 8000;
}
.home .section1 .blc-news .blc-fullmovie,
.home .section1 .blc-news .blc-news-link{
background-color: #fff;
line-height:1.2;
}
.home .section1 .blc-news .blc-fullmovie,
.home .section1 .blc-news .blc-news-link .index,
.home .section1 .blc-news .blc-news-link .box-news{
padding: .8rem 1.6rem;
}
.home .section1 .blc-news .blc-news-link .box-news{
    white-space:nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 32rem;
}
.home .section1 .blc-news .blc-news-link{
display:flex;
}
.home .section1 .blc-news .blc-news-link .index{
background-color: #930008;
color: #fff;
}
.home .section1 .blc-news .blc-news-link a{
}

.home .section1 .blc-catch  {
    position:fixed;
    top: 50%; right: 10%;
    transform:translateY(-50%);
}
.home .section1 .catch,
.home .section1 .blc-news {
    opacity: 0;
    transition: opacity .6s ease;
    pointer-events:none;
}
.home .section1.is-active .catch,
.home .section1.is-active .blc-news {
    opacity: 1;
    pointer-events:auto;
}
.home .section1 .fade {
    background-color:#000;
    opacity: 0.7;
    transition: opacity .6s ease;
    position:fixed;
    top: 0; left: 0; bottom: 0; right: 0;
    z-index:-1;
}
.home .section1.is-active .fade {
    opacity: 0;
}

.home .section2 .catch  {
    margin-top: 14rem;
    justify-content: center;
}
.home .section2 .catch span {
    font-size: 4rem;
}
.home #philosophy {padding: 5rem 0 }
.home #episode {padding: 5rem 0 6rem}
.home #vision {padding: 5rem 0 }
.home #job-categories {padding: 5rem 0 }
.home #work-place {padding: 5rem 0 }
.home #entry {padding: 5rem 0 }

.home .section-image.image1 .catch{
position:absolute;
top: -4.5rem;
right: 3rem;
}
.home .section-image.image2 .catch{
position:absolute;
top: -4.5rem;
left: 3rem;
}
.home .section-image{height:64rem }

.home .site-main .btn{margin-top: 5rem}


.home #philosophy h3{font-size: 2.8rem;margin: .6em 0 1em;}


.home #episode h3{font-size: 3rem;}
.home #episode .img{margin-top: 2em}
.home #episode .img img{
    mix-blend-mode: multiply;
    width: 35rem; height: auto;
}

.episode-index ul{
    display:flex;
    flex-direction:row-reverse;
    justify-content: space-between;
    border-right: 1px solid;
}
.episode-index li{
    border-left: 1px solid;
    padding: 6rem 0 1rem;
    writing-mode: vertical-rl;
    position:relative;
    width: 100%;
    display: flex;
    align-items: center;
}
.episode-index li span{
    white-space:nowrap;
}
.episode-index li:after{
    content:'EPISODE';
    position:absolute;
    top: 0;
    left: 50%;
    transform:translateX(-50%);
    writing-mode: horizontal-tb;
    font-size: .8rem;
}
.episode-index li:before{
    content:'1';
    position:absolute;
    top: 1.2rem;
    left: 50%;
    transform:translateX(-50%);
    writing-mode: horizontal-tb;
}
.episode-index .ep2:before{
    content:'2';
}
.episode-index .ep3:before{
    content:'3';
}
.episode-index .ep4:before{
    content:'4';
}
.episode-index .ep5:before{
    content:'5';
}
.episode-index .ep6:before{
    content:'6';
}

.home #vision .text1 .box{display:flex; justify-content:space-between}
.home #vision .text1 .box h3{white-space:nowrap}
.home #vision h3{
    font-size: 5rem;
    margin: 0;
}
.home #vision h3 span{
    margin-top: 0;
}
.home #vision h4{font-size: 3rem;margin: .5em 0 1em 0;}
.home #vision h4 span:last-child{margin-left: 1em}
.home #vision .btn{margin-top: 4rem}
.home #vision .btn {text-align: right}

.home #work-place h3{
    font-size: 4rem;
    margin: 2rem 0 0;
    letter-spacing:-0.1em
}
.home #work-place h3 span:last-child{margin-left: .8em}
.home #work-place h4{font-size: 2.5rem;margin: .5em 0 5rem 0;}
.home #work-place h4 span:last-child{margin-left: 2em}

.home #job-categories .blc-link{
    margin-top: 4rem;
}
.home #job-categories .text2{
    margin-top: 5rem;
}
.home #job-categories h3 {
font-size: 4rem;
letter-spacing: -0.09em;
}
.home #job-categories h3 span:last-child {
margin-left: 1em;
}
.home #job-categories .blc-link .text {
text-align:center;
margin-top: 2rem;
position:relative;
padding: 0 2.6rem;
}
.home #job-categories .blc-link .text:before,
.home #job-categories .blc-link .text:after {
content:'';
display:block;
background: url(/images/kk1.svg);
background-size: 100% 100%;
width: 2rem; height: 6.5rem;
position:absolute;
left: 3px;
top: 50%;
margin-top: -3.25rem;
}
.home #job-categories .blc-link .text:after {
background-image: url(/images/kk2.svg);
background-size: 100% 100%;
right: 3px; left: auto;
}
.home #job-categories .blc-link .text .fo1 {
font-size: 3rem; line-height: 1.4;
}


.home #our-business .inner{position:relative}
.home #our-business .inner .text {
position:absolute;
left: 3rem; top:12.5rem;
z-index: 10;
color: #fff;
pointer-events:none;
}
.home #our-business .inner .text .btn {
pointer-events:auto;
}
.home #our-business .inner .text h2 {
margin-bottom:1rem;
}
.home #our-business .inner .text h3 {
font-size: 2.5rem;
}

.home #entry h3{font-size: 2.5rem;
    letter-spacing:-0.05em;
}
.home #entry .inner{position:relative}

.home #entry .text{
    padding-bottom: 1rem;
}
.home #entry .entry-type{
    display:flex;
    margin-top:1rem;
}
.home #entry .entry-type p{
    padding-top: .4rem;
    padding-right: 2rem;
}
.home #entry .entry-type li{
    font-size: 1.8rem;
}
.home #entry .btn{margin-top: 6rem}
.home #entry .btn .box-a a{font-size: 2.2rem}

/*site-main*/

.site-main h2.s{font-size: 1.6rem; font-weight:400}

body:not(.home) .site-main {
    opacity: 0;
    animation: site-main-fadein 1s ease .5s forwards;
}
@keyframes site-main-fadein {
    to { opacity: 1; }
}

/*message-scroll*/

.text-scroll {
    overflow-x: auto;
    direction: rtl;
    scrollbar-width: none;
}
.text-scroll::-webkit-scrollbar {
    display: none;
}
#philosophy .text-scroll-track {
    width: 30rem;
    position: absolute;
    right: 2rem;
    bottom: 2rem;
}
#episode-modal .text-scroll-track {
    margin-top: -2rem;
    margin-left: 2rem;
    width: calc(100% - 4rem) ;
}
.text-scroll-track {
    height: .3rem;
    background: #f0f0f0;
    position: relative;
    /*margin-top: -2rem;*/
}
.text-scroll-thumb {
    position: absolute;
    top: 0;
    height: 100%;
    background: #cec2b5;
    transition: right .1s linear;
}
.text-scroll p {
    writing-mode: vertical-rl;
    direction: ltr;
    font-feature-settings: "vrt2" 1, "vkrn" 1;
    line-height: 3;
}
#philosophy .text-scroll p {
    /*white-space:nowrap;*/
}

#episode-modal .text-scroll p {
    padding:10rem 10rem;
}


/*entry-content*/

.entry-content{min-height: 50vh}
.page-section {
    padding-bottom: 10rem;
}
section+section.page-section {
    padding: 10rem 0;
}
.page-section .inner{position:relative}

.page-title {
    text-align: center;
    padding: 10rem 0 8rem;
}
.page-title p.fo3 {
    font-size: 2rem;
    letter-spacing: .1em;
    margin-bottom: .5rem;
}
.page-title h1 {
    font-size: 5rem;
}
.page-title h1.sm {
    font-size: 4rem;
}
.page-title .lead {
    margin-top: 4rem;
}
.page-content .section-image{
    height: 48rem ;
}
.bg-fixed {
    background-attachment: fixed;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

img.obf {
    width: 100%; height: 100%;
    object-fit:cover;
}

/*#philosophy*/

#philosophy .message-scroll{
}

#philosophy .message p {
    padding: 10rem 6rem 6rem 6rem;
    margin: 0 auto;
}
#philosophy .message p .copy {
    font-size: 4rem;
    line-height: 1.4;
    margin-top: 5rem;
    height: 55rem;
}
#philosophy .message .name {
writing-mode: horizontal-bt;
margin-top: auto;
display: block;
font-size: 2rem;
}
#philosophy .philosophy .text{
    flex: 1;
}
.sw-img .image .img2 {
    opacity: 0;
}
.sw-img .image.is-switched .img1 {
    opacity: 0;
}
.sw-img .image.is-switched .img2 {
    opacity: 1;
}
.sw-img .image img {
    position: absolute;
    top: 0; left: 0;
    width: 100%;
    height: 100%;
    transition: opacity .6s ease;
}
#philosophy .page-section h2{
    margin-top:.4em;
}

#philosophy .interview .image{
    margin-top:12rem;
    width: 54rem;
    height: 34rem;
}

/*episode*/

#episode.page-content .section-image{height: 64rem }
#episode .episode-list{padding: 0}
#episode .blc-episode{
    position:relative;
    cursor: pointer;
}

#episode .blc-episode .overlay .label .num,
#episode .blc-episode .text2 .label .num{
    font-size: 2.8rem;
    line-height:1;
    margin-left: .9rem;
    display:inline-block;
}
#episode .blc-episode .overlay .label ,
#episode .blc-episode .text2 .label {
    display:flex; align-items:center;
    border-left: .1rem solid;
    border-right: .1rem solid;
    padding: 0 1.6rem;
}
#episode .blc-episode .image{
    position:absolute;
    bottom: 9rem; left: 0;
    width: 100%;
    text-align:center;
    z-index:0;
}
#episode .blc-episode.episode6 .image{
    width: 80%;
}
#episode .blc-episode .image img{
    width:28.7rem;
    mix-blend-mode: multiply;
}
#episode .blc-episode.episode5 .image img{
    width:36rem;
}
#episode .blc-episode .text{
    position:relative;
    z-index:1;
}
#episode .blc-episode .text .label{
    position:absolute;
}
#episode .blc-episode .text h2{
    writing-mode: vertical-rl;
    font-size: 4rem;

}
#episode .blc-episode .text h2+p{
    writing-mode: vertical-rl;
    position:absolute;
    left: -1.6rem; top: 9rem;
    font-size:2rem;
    white-space:nowrap;

}
#episode .blc-episode .text2{
    position:absolute;
    bottom: 5rem; left: 0;
    display:flex;
    justify-content:space-between;
    width: 100%;
    padding: 0 5rem;
}
#episode .blc-episode .overlay{
    position:absolute;
    top: 0; bottom: 0; left: 0; right: 0;
    z-index: 5;
    background-color: rgba(42, 32, 30, .8);
    cursor:pointer;
    opacity:0;
    transition:opacity .3s;
    color: #fff;
    display:flex;align-items:center;
    justify-content:center;
    flex-direction:column;
}
#episode .blc-episode:hover .overlay{
    opacity:1;
}
#episode .blc-episode .overlay .more{
    font-size: 3rem;
    margin-bottom:2rem;
}

/*our-business*/

#our-business .page-section .img img,
#vision .page-section .img img{
   width: 42rem;
}


/*entry*/

#entry .page-section h2{
    background-color:#930008;
    font-size:3rem;
    color: #fff;
    text-align:center;
    padding: 1.3rem 0 1.5rem;
 }
#entry .page-section table{
    margin-top: 4rem;
    border-collapse: separate; 
    border-spacing: 2rem 0;
    width: calc(100% + 4rem);
    margin-left: -2rem;
 }
#entry .page-section table th{
    text-align:center;
    margin-right: 1em;
    white-space:nowrap;
 }
#entry .page-section table th,
#entry .page-section table td{
    border-top: .1rem solid;
    padding: 2rem 1rem;
 }
#entry .page-section table tr:last-child th,
#entry .page-section table tr:last-child td{
    border-bottom: .1rem solid;
 }

.btn.btn-entry2 {text-align:center; margin-top: 7rem}
.btn.btn-entry2 .box-a a{
font-size: 2rem; line-height:1;
white-space:nowrap;
display:flex; align-items: center;
padding: .9em 1.4em;
}
.btn.btn-entry2 .box-a a:after{
    display:block;
content:'';
width:2rem ; height: 1.5rem;
background:url(/images/arrow.svg) no-repeat ;
background-size: cover;
transform:rotate(-45deg);
margin-left: .3em;
}

#entry .page-section .blc-btn{ margin-top: 7rem;}
#entry .page-section .blc-btn{
display:flex; flex-wrap: wrap;
justify-content:center; gap:3.5rem;

}
.btn.btn-entry3 .box-a{
background-color: #fff;
padding:.8rem;
}
.btn.btn-entry3 .box-a a{
font-size: 2rem; line-height:1;
white-space:nowrap;
display:flex; align-items: center;
justify-content:space-between;
padding: 1.6em 1.4em;
width: 24.4rem;
color: #930008;
background-color: #fff;
border: .2rem solid #930008;
}
.btn.btn-entry3 .box-a a:after{
    display:block;
content:'';
width:2rem ; height: 1.5rem;
background:url(/images/arrow2.svg) no-repeat ;
background-size: cover;
transform:rotate(-45deg);
margin-left: .3em;
}


/*job-categories*/
#job-categories .page-section{padding-top: 6rem}
.page-section .title {border-bottom: .1rem solid; text-align:center;
padding-bottom: 2.5rem; margin-bottom: 3rem;
}
.page-section .title h2 {font-size: 6rem;}
#job-categories .page-section .title p {font-size: 2rem;}
#job-categories .page-section .btn {margin-top:3em; text-align:right}
#job-categories .page-section .img {margin-top:4em}
#job-categories .page-section .img img{max-width:100%; display:block}

/*work-place*/

#work-place .page-section .title h2 {font-size: 2.5rem;}


#work-place .page-section .inner2{margin-top: 9rem}
#work-place .page-section .inner2 li {
background-color:#FFFFFF;
margin-top: 4rem;
}
#work-place .page-section .inner2 li h3{
    font-size: 2rem;
display:inline-block;
background-color:#930008;
padding: .7rem 2rem;
color: #fff;
}
#work-place .page-section .inner2 li p{
padding: 2.6rem;
}

/*faq*/


#faq .page-section h2 span{ 
display:inline-block;
    background-color:#930008; font-weight:500; color: #fff;
    font-size:2rem;
    padding: .4rem 1rem;
    margin-bottom:3rem;
 }
 #faq .page-section .inner{
    padding-bottom: 3rem;
    border-bottom: .1rem solid;
 }
#faq .blc-faq+.blc-faq{margin-top: 3rem}
#faq .blc-faq{font-size: 2rem; 
    padding-top: 3rem;
    border-top: .1rem solid;
    position:relative;
}
#faq .blc-faq .faq-q,
#faq .blc-faq .faq-a{position:relative; padding-left: 4rem; padding-right: 6rem}
#faq .blc-faq .faq-q{cursor:pointer;
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
line-height:1.6;
}
#faq .blc-faq .faq-a{display:none; margin-top: 2rem}
#faq .blc-faq .faq-a p:last-child{font-size: 1.6rem;}
#faq .blc-faq .m {
    line-height:1.2;
    position:absolute;
    top:.2rem;
    left: 0;
    background-color: #fff;
    color: #930008;
    display:flex;
    align-items:flex-start; justify-content:center;
    width: 3rem; height: 3rem;
 }
 #faq .blc-faq .faq-q .m {
    top:.2rem;
 }
 #faq .blc-faq .faq-a .m {
    background-color: #930008;
    color: #fff;
 }
.faq-btn {
  width: 3.6rem;
  height: 3.6rem;
  position: absolute;
  right: 1rem;
  top: 3rem;
}

.faq-btn:before,
.faq-btn:after {
  content: "";
  width: 70%;
  height: 0.3rem;
  background-color: #930008;
  position: absolute;
  top: calc(50% - .15rem);
  left: 15%;
  transition: transform 0.3s;
}

.faq-btn:after {
  transform: rotate(90deg);
}
.blc-faq.open .faq-btn:after {
transform: rotate(0);
}

/*our-community*/

#our-community .list .inner{
border-top: .1rem solid;
}

#our-community .list li span{
    border-bottom: .1rem solid;
    font-size: 2rem;
}
#our-community .list li img{
    width: 100%
}
#our-community .message h2{
    font-size:4rem;
    margin-bottom:1.5em;
}

/*section-pagelinks*/
.section-pagelinks{margin-bottom:6rem}
.section-pagelinks ul li a{display:flex; align-items: center; gap: 1.6rem;
color: #930008;
    background-color:#fff; border-radius:1rem;
    font-size:3rem; line-height: 1.2;
     padding: 1rem

}
.section-pagelinks ul li a .image{width:9rem; height:9rem;}
.section-pagelinks ul li a .text{flex:1; }
.section-pagelinks ul li a .mk{width:3.5rem; height:3.5rem; 
background-color:#930008; border-radius:50%;
display:flex; align-items: center; justify-content: center;
}
.section-pagelinks ul li a .mk:after {
display: block;
content: '';
width: 1.7rem;
height: 1.2rem;
background: url(/images/arrow.svg) no-repeat;
background-size: cover;
transform:rotate(90deg);
}
/*image-index*/

.image-index{
    position:absolute;
    right: 0; top: -2.5rem;
}
.home .block-business .image-index{
top: 0;
}
.image-index span{
    display:inline-block;
    background-color: #930008;
    color: #fff;
    font-size:2rem;
    line-height:1;
    padding: 1.2rem 1.8rem 1.5rem ;
}
.image-index span.t1{
    position:absolute;
    top: 0; left: 2rem;
    transform:translateX(-100%);
    padding: 2.2rem 2rem;
}
.image-index span.t2{
    font-size:6rem;
    font-weight:900;
}
#vision .image-index span.t2{
    font-weight:500;
}
.image-index span.t3{
    padding-bottom: 1.8rem;
    transform:translateY(-1rem);
}

/*modal*/

#stay-modal {
    position: fixed;
    inset: 0;
    z-index: 9500;
    background: rgba(42, 32, 30, 0.8);
    overflow: hidden;
    overscroll-behavior: none;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .4s ease, visibility .4s ease;
}
#stay-modal.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}
#stay-modal-close {
    border: none;
    background: #fff;
    cursor: pointer;
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
    width: 5rem;
    height: 5rem;
    border-radius:0;
}
#stay-modal-close span {
    display: block;
    width: 60%;
    height: 2px;
    background: #000;
    transition: transform .4s ease, opacity .4s ease, background .4s ease;
    position: absolute;
    left: 20%;
    transform:translateY(-50%);
}

#stay-modal-close  span:nth-child(1) { transform: rotate(40deg); }
#stay-modal-close  span:nth-child(2) { transform: rotate(-40deg);}



#stay-modal-reopen {
    position: fixed;
    bottom: 0;
    right: 0;
    border-top-left-radius: 1.4rem;
    z-index: 8400;
    display: block;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .3s ease, visibility .3s ease;
    cursor: pointer;
    border: none;
    background: #930008;
    color: #fff;
    padding: 1.5rem 2rem;
    text-align: left;
    font-weight:900;
    font-size:2rem;
    line-height:1.2;
}
#stay-modal-reopen.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}
#stay-modal-reopen.is-footer-overlap {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}
.modal-contents {
    width: 90rem;
    height: 84vh;
    background-color:#930008;
    color:#fff;
    margin: 8vh auto;
    position:relative;
}
.modal-inner {
    width: 100%;
    height: 84vh;
    background-color:#930008;
    color:#fff;
    display: flex;
    flex-direction: column;
    margin: 8vh auto;
    position:relative;
    overflow-y: auto;
    overscroll-behavior: contain;
}
.modal-inner h2 {
    font-size:6rem;
}
.modal-inner .title {
    text-align:center;
    padding: 7rem 0 6rem;
}
.modal-inner .lead {
   width: 60rem;
   margin:0 auto;
}
.modal-inner .catch {
justify-content: center;
padding: 10rem 0;
}
.modal-nav {
    display: flex;
    gap: 1rem;
    padding: 2rem;
}
.modal-nav-item {
    color: #fff;
    opacity: 0.5;
    text-decoration: none;
}
.modal-nav-item.is-active {
    opacity: 1;
}
.modal-panel-wrap {
    position: relative;
    flex: 1;
    width: 50rem;
    margin: 5rem auto 0;
}
.modal-panel {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    opacity: 0;
    transform: translateX(4rem);
    transition: opacity .4s ease, transform .4s ease;
    pointer-events: none;
}
.modal-panel.is-active {
    position: relative;
    opacity: 1;
    transform: translateX(0);
    pointer-events: auto;
}
.modal-panel.is-leaving {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    opacity: 0;
    transform: translateX(-4rem);
    pointer-events: none;
}
.modal-panel .index{
    font-size: 3rem;
    border-bottom:.1rem solid #A8333A;
    text-align:center;
    padding-bottom:2.5rem;
    margin-bottom: 7rem;
}
.modal-panel .image img{
    max-width: 100%;
}
.modal-panel .profile{
    font-size: 2rem;
    line-height:1.4;
    margin-top: 2rem;
}
.modal-panel h3{
    font-size: 4rem;
}

/*footer*/
.blc-footer {padding: 6rem 0; font-weight:600}
.blc-footer .index{color: #D2828A}
.blc-footer-recruit li {margin-bottom: 1.4em}
.blc-footer-recruit  a{color: #fff;
}
.blc-footer-recruit li a{
display:flex;flex-direction:column;
line-height: 1.6;
}
.btn-entry .box-a{
background-color:#fff;
border-radius:4rem;
display:inline-block;
}
.btn-entry .box-a a{
    display:flex;
    justify-content:center;
    align-items:center;
padding: 2.4rem 0 ;
color: #930008;
line-height:0;
font-size:2.4rem;
font-weight:500
}
.btn-entry .box-a a:after{
    display:block;
content:'';
width:2.4rem ; height: 1.7rem;
background:url(/images/arrow.svg) no-repeat ;
background-size: cover;
margin-left: .8em;
}
.blc-footer .btn-entry .box-a a:after{
background-image:url(/images/arrow2.svg) ;
}
.blc-footer-recruit li span,
.nav-overlay-menu-li li span{
  white-space:nowrap;
  display:inline-block;
  font-weight:900;
}
.blc-footer-recruit li span+span,
.nav-overlay-menu-li li span+span{
  font-size: 1.2rem;
  color: #C98084;
  font-weight:600;
}
.footer-privacypolicy {margin-top: 2em}
.footer-privacypolicy a {
  font-size: 1.2rem;
  color: #C98084;
}
.blc-footer-other .btn-entry .box-a{ width:100% }
.blc-footer-other ul{display:flex;gap:1.6rem;align-items:flex-start}

.blc-footer-other .btn{margin-top: 0}
.btn.btn-coporate .box-a {
background-color: #fff;
}
.btn.btn-coporate .box-a a{
font-size: 1.6rem;
line-height:1;
height: 5rem; white-space:nowrap;
display:flex; align-items: center;
padding: 0 1.2em;
color: #26201e;
}
.nav-overlay-menu .btn.btn-coporate .box-a a,
.blc-footer-other .btn.btn-coporate .box-a a{
font-size: 1.2rem;
height: 4rem; 
}
.btn.btn-coporate .box-a a:after{
    display:block;
content:'';
width:1.875rem ; height: 1.25rem;
background:url(/images/arrow2.svg) no-repeat ;
background-size: cover;
transform:rotate(-45deg);
margin-left: .3em;
}
.nav-overlay-menu .btn.btn-coporate .box-a a:after,
.blc-footer-other .btn.btn-coporate .box-a a:after{
width:1.5rem ; height: 1rem;
}
.instagram{width: 4rem; height:4rem; border-radius:50%; background-color:#fff; 
 }
.instagram a{
    width: 4rem; height:4rem; 
    display:flex;
    justify-content:center;align-items:center;
 }
.instagram img{width: 50%; height:50%; }
.copyright{color:#930008; padding:1.2em 0; text-align:center; font-size: 1.4rem; }

/*swiper*/
.swiper .swiper-pagination {
    position: absolute;
    right: 3rem;
    bottom: 4rem;
    left: auto;
    width: auto;
    display: flex;
    gap: .6rem;
    align-items: center;
}
.swiper .swiper-pagination-bullet {
    position:relative;
    width: 1.7rem;
    height: 1.7rem;
    background: transparent;
    opacity: 1;
    border-radius: 50%;
    cursor: pointer;
    transition: opacity .3s ease, transform .3s ease;
}
.swiper .swiper-pagination-bullet-active {
    border:.2rem solid #fff;
}
.swiper .swiper-pagination-bullet:before {
content:'';
    width: 1rem;
    height: 1rem;
    background: #fff;
    border-radius: 50%;
    display:block;
    position:absolute;
    top: 50%; left:50%;
    transform:translate(-50%, -50%);
}

/*episode-modal*/
#episode-modal {
    position: fixed;
    inset: 0;
    z-index: 9600;
    background: rgba(42, 32, 30, 0.8);
    overflow: hidden;
    overscroll-behavior: none;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .4s ease, visibility .4s ease;
}
#episode-modal.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}
#episode-modal-close {
    position: absolute;
    top: 2rem;
    right: 2rem;
    z-index: 1;
    border: none;
    background: transparent;
    cursor: pointer;
    width: 4rem;
    height: 4rem;
}
#episode-modal-close span {
    display: block;
    width: 60%;
    height: 2px;
    background: #000;
    position: absolute;
    top: 50%;
    left: 20%;
}
#episode-modal-close span:nth-child(1) { transform: rotate(40deg); }
#episode-modal-close span:nth-child(2) { transform: rotate(-40deg); }
.episode-modal-inner {
    width: 90%;
    height: 64rem;
    margin: calc(50vh - 32rem) auto;
    position: relative;
    overflow: hidden;
    background: #fff;
}
.episode-modal-panel {
    display: none;
    width: 100%;
    height: 100%;
}
.episode-modal-panel.is-active {
    display: block;
}
.episode-modal-panel .text-scroll {
    height: 100%;
    overflow-x: auto;
    overscroll-behavior: contain;
    direction: rtl;
}
