@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+1p:wght@500;700;900&display=swap');
@import url('https://fonts.cdnfonts.com/css/neue-haas-grotesk-display-pro');

html,body,a,p,ul,li,h1,h2,h3,h4,h5,h6,figure,dl,dt,dd{margin:0;padding:0;}

::-webkit-scrollbar {
 display:none;
}
*{
    box-sizing: border-box;
   font-family: YakuHanJP,"hiragino-kaku-gothic-pron", sans-serif;
    font-weight: 300;
    font-style: normal;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    tap-highlight-color: rgba(0, 0, 0, 0);
    outline: none;
    position: relative;
    z-index: 2;
}

html{
    font-size: 0.521vw;
    overflow-x: hidden;
}
@media screen and (max-width: 1280px){
    html{
    font-size: 6.6648px;
}
}

body{
    overflow-x: hidden;
    color: #393939;
    background: #fff;
}


img{
    width: 100%;
    height: auto;
    pointer-events: none;
    user-select: none;
    display: block;
    font-size: 0;
}

a{
    color: inherit;
    text-decoration: none;
    transition-duration: 0.2s;
}

a.hover{
    opacity: 0.8;
}
li{
    list-style-type: none;
}

h2{
    font-family: 'EB Garamond', serif;
    color: #fff;
    letter-spacing: -0.01em;
    text-shadow: 2px 2px 6px rgba(0,0,0,.1);
    line-height: 0.8;
    font-weight: bold;
}

h2 span{
    font-size: 2.4rem;
    display: block;
    letter-spacing: 0.1em;
    font-family: YakuHanJP,'M PLUS 1p', sans-serif;
    font-weight: 500;
    margin-top: 5rem;
    
}
.sp{
    display: none;
}




@media screen and (max-width: 896px){
    .pc{
        display: none;
    }
    
    .sp{
        display: block;
    }
}

header{
    position: fixed;
    top: 0;
    left: 0;
    padding: 0 5vw;
    width: 100%;
    height: 10rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    z-index: 10;
    transition-duration: 0.2s;
}
header.on,header.on-fix{
    background: rgba(254,253,247,.8);
    
}


header h1{
    width: 43.5rem;
}


header nav ul{
    display: flex;
    align-items: center;
}
header nav li{
    margin-left: 3rem;
}
header nav a{
    color: #fff;
    font-size: 1.4rem;
    font-weight: bold;
    transition-duration: 0.2s;
}

header.on nav a,header.on-fix nav a{
   color: #393939;
}
header nav li:last-child a{
    width: 10rem;
    height: 5rem;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 1000px;
    background: #E50012;
    color: #fff !important;
    
}
header nav a span{
    font-size: 128%;
    font-weight: bold;
}
.top-grid{
  display: grid;
grid-template-columns: repeat(10, 1fr);
grid-gap: 1rem;
}
.hero{
    width: 100%;
    display: flex;
   height: 100svh;
    grid-area: 1 / 1 / 2 / 11;
}



.hero a{
    display: block;
    position: relative;
    width:50%;
    height: 100%;
}

.hero a figure{
    position: relative;
    height: 100%;
}

.hero a figure img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
    transition-duration: 0.2s;
}
.hero a:nth-child(1) figure:after{
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(#F3B686, #B15309);
    opacity: 0.5;
    z-index: 2;
}
.hero a:nth-child(2) figure:after{
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(#12918A, #105D59);
    opacity: 0.5;
    z-index: 2;
}
.hero h2{
    position: absolute;
    bottom: 4rem;
    right: 4rem;
    font-size:10rem;
    text-align: right;
    width: 100%;
    line-height: 1.1;
    color: #FEFDF7;
    opacity:0.8;
    
}

.hero h2 span{
    font-size: 2.4rem;
    padding-right:12rem;
    position: relative;
    margin-top: 5rem;
}
.hero p{
    position: absolute;
    top: 0;
}

.more{
    position: relative;
    font-size:1.6rem;
    padding-right:12rem;
    font-family: 'Neue Haas Grotesk Display Pro', sans-serif;
    font-weight: bold;
    color: #fff;
}

.hover-line{
    display: block;
    width: 10rem;
    height: 2px;
    background: #fff;
    position: absolute;
    right: 0;
    top: calc(50% - 1px);
}

.hover-line:after{
    content: "";
    display: block;
    width: 1.6rem;
    height: 1.6rem;
    border-radius: 10rem;
    background: #fff;
    position: absolute;
    top: calc(50% - 0.8rem);
    right: 0;
}

a.hover .hover-line:after,span.hover .hover-line:after{
animation:hover-line 1s ease-in-out infinite}
@keyframes hover-line{0%{right: 100%;opacity: 0}20%{opacity: 1}80%{opacity: 1;}100%{right: calc(0% - 8px);opacity: 0;}
}

.top-item2{
    grid-area: 2 / 1 / 3 / 11; 
}

.rinen{
    padding: 15rem 0;
     background: linear-gradient(100deg,#fff 30%, #cfedeb 100%);
    text-align: center;
    margin-bottom: 1rem;
}

.rinen h2{
   color: #493C33;
    font-size: 5rem;
    margin-bottom: 5rem;
    font-family: "Noto Serif JP", serif;
  font-weight: 700;
    text-shadow: none;
}
.rinen p{
    font-weight: 500;
    font-size: 2.1rem;
    line-height: 2;
    font-family: "Noto Serif JP", serif;
    
   
}
.rinen p strong{
   font-family: "Noto Serif JP", serif;
    font-weight: bold;
    font-weight: 900;
    font-size: 135%;
}

.yakusoku{
    padding: 15rem 0;
     background: linear-gradient(100deg,#fff 30%, #eddbcf 100%);
    text-align: center;
}

.yakusoku h2{
   color: #493C33;
    font-size: 5rem;
    margin-bottom: 5rem;
    line-height: 1;
  font-weight: 700;
    font-family: YakuHanJP,"hiragino-kaku-gothic-pron", sans-serif;
    text-shadow: none;
}

.yakusoku h2 small{
    display: block;
    font-size: 55%;
    margin-top: 0.5em;
    font-weight: 700;
}

.yakusoku ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100rem;
    margin: 0 auto;
}

.yakusoku li{
    width: calc(50% - 1rem);
    font-size: 1.8rem;
    margin-bottom: 2rem;
    background: #fff;
    padding: 3rem 0rem 4rem;
    border-radius: 1.5rem;
    font-size: 1.6rem;
    line-height: 1.4;
    box-shadow: 0 0 1.5rem rgba(146,120,102,.2);
}

.yakusoku h3{
    font-size: 2.4rem;
  font-weight: 600;
    margin-bottom: 2rem;
    color: #E69454;
    font-weight: 700;
}
.yakusoku p{
    
    font-size: 2.1rem;
    line-height: 2;
}


.people{
    background: #000;
    padding: 14rem 0 8rem 5vw;
    grid-area: 3 / 1 / 4 / 11;
}

.people h2{
    font-size: 12rem;
    margin-bottom: 5rem;
    pointer-events: none;
}
.people .people-link{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    z-index: 2;
}

.people .people-link.hover{
    background: rgba(255,255,255,.2);
}
.people-back{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}
.people-back:after{
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background:#493C33;
    opacity: 0.7;
    z-index: 2;
    mix-blend-mode: hard-light;
}
.people-back img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
}

.people-back *{
    width: 100%;
    height: 100%;
}
.swiper-container.people-slider{
    margin-top: 12rem;
    width: 100%;
    padding-right: 5vw;
    
  
}
.swiper-container.people-slider .swiper-slide{
    width: 42rem;
    aspect-ratio: 1 / 1;
    margin-right: 4rem;
   
   
}

.swiper-container.people-slider .swiper-slide-prev a{
    opacity: 0;
    pointer-events: none;
}

.swiper-slide:nth-child(odd) a{
    background: rgba(11,162,154,.27);
    
}
.swiper-slide:nth-child(even) a{
    background: rgba(243,182,134,.27);
    
}
.swiper-slide a{
    width: 100%;
    height: 100%;
    display: block;
    position: relative;
    transition-duration: 0.2s;
     -webkit-backdrop-filter: blur(30px) brightness(115%);
	backdrop-filter: blur(30px) brightness(115%);
    border-radius: 10px;
    overflow: hidden;
    transition-duration: 0.2s;
}
.swiper-slide a.hover{
    transform: translateY(-2rem);
    opacity: 1;
}
.swiper-slide a h3{
    font-family: "fot-tsukuaoldmin-pr6n", sans-serif;
font-weight: 300;
font-style: normal;
    font-size: 3.2rem;
    position: absolute;
    top: 32%;
    right: 5%;
    line-height: 1.56;
    text-shadow: 1px 1px 3px rgba(0,0,0,.16);
    color: #fff;
min-width:20%;
    
}

.swiper-slide a h3 span{
    display: block;
    font-size: 50%;
}

.swiper-slide a h3:after{
    content: "さん";
    font-size: 60%;
    margin-left: 0.5rem;
}
.swiper-slide a img{
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 82%;
    object-fit: contain;
    object-position: left bottom;
    left: 2%;
}

.col2{
    
    aspect-ratio: 16 / 9;
    
}
.col2 h2{
    font-size: 8rem;
    margin-bottom: 5rem;
}

.col2 h2 span{
    margin-top: 7rem;
}
.top-item4{
     background: linear-gradient(to right,#F3B686, #E69454);
   grid-area: 4 / 1 / 5 / 6;
    display: block;
   padding: 4vw 0 0 5vw;
}

.top-item4 figure{
    width: 40%;
    position: absolute;
    bottom: 0;
    right: 5%;
}
.top-item5{
    background-color: #BBBD59; 
   grid-area: 4 / 6 / 5 / 11;
    display: block;
    overflow: hidden;
}

.top-item5 iframe{
    width: 100%;
    height: 100%;
}
.col4{
    background: radial-gradient( #B2A094, #9B8170);
    display: block;
    aspect-ratio: 1 / 0.725;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: column;
    color: #fff;
}

.col4 figure{
    width: 100%;
    height: 30%;
    margin-bottom: 4.2rem;
}

.col4 figure img{
    width: 100%;
    height: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);

}

.col4 h3{
    font-size: 2.4rem;
    font-weight: 500;
}
.top-item6 { grid-area: 5 / 1 / 6 / 3; }
.top-item7 { grid-area: 5 / 3 / 6 / 5; }
.top-item8 { grid-area: 5 / 5 / 6 / 7; }
.top-item9 { grid-area: 5 / 7 / 6 / 9; }
.top-item10 { grid-area: 5 / 9 / 6 / 11; }

.entry{
    text-align:center;
    padding: 12rem 0 0;
    margin-bottom: 8rem;
}

.entry h2,.contactForm h2{
    color: #493C33;
    font-size: 12rem;
    margin-bottom: 8rem;
    text-align:center;
}

.entry ul{
    display: flex;
    padding: 0 2rem;
    justify-content: space-between;
}

.entry li{
    width: calc(50% - 0.5rem);
    padding: 8rem 0 8rem;

}


.entry li:nth-child(1){
    background: linear-gradient(to right,#F3B686, #E69454);
}
.entry li:nth-child(2){
    background: linear-gradient(to right,#12918A, #105D59);
}

.entry li h3{
    font-size: 8rem;
    line-height: 1.15;
    margin-bottom: 4rem;
    color: #fff;
}
.entry li h3 strong{
     font-family: 'EB Garamond', serif;
    opacity: 0.8;
    font-weight: bold;
}
.entry li h3 span{
    display: block;
    font-size: 2.4rem;
    margin-top: 5rem;
}

.entry li a{
    width: 85%;
    display: block;
    margin: 0 auto;
}

.entry li:nth-child(2) a{
    width: 78.5%
}



.under-main{
    width: 100%;
    height: 100vh;
    background-size: cover !important;
}
.under-main:after{
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background:#493C33;
    opacity: 0.5;
    z-index: 2;
    mix-blend-mode: hard-light;
}
.recruiting-page .under-main{
    background: url(../img/recruiting-page.jpg?1);
    background-position: 75%;
}
.people-page .under-main{
    background: url(../img/people-page.jpg);
    background-position: center;
}
.career-page .under-main{
    background: url(../img/career-page.jpg);
    background-position: center;
}
.faq-page .under-main{
    background: url(../img/faq-page.jpg);
    background-position: center;
}
.graduate-page .under-main{
    background: url(../img/graduate-page.jpg);
    background-position: center;
}
.under-main h2{
    position: absolute;
    z-index: 3;
    font-size: 10rem;
    left: 5vw;
    bottom: 0;
    padding-bottom: 10rem;
    font-weight: bold;
}

.under-main h2 i{
    content: "";
    display: block;
    position: absolute;
    width: 2px;
    height: 10rem;
    bottom: 0;
    right: 0;
    overflow: hidden;
    
}

.under-main h2 i:after{
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    animation:scroll-anime 1s ease-in infinite
}
@keyframes scroll-anime{0%{transform:translateY(-100%)}to{transform:translateY(100%)}}
    

.under-intro{
    padding: 16rem 0 20rem;
    background: #927866;
    line-height: 1
}

.under-intro p{
    color: #fff;
    font-size: 2.4rem;
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 2.3;
}

.under-intro span{
    font-size: 20rem;
    font-family: 'EB Garamond', serif;
    position: absolute;
    right: 0;
    bottom: 0;
    line-height: 1.2;
    color: #FEFDF7;
    opacity: 0.08;
    font-weight: bold;
}
.recruiting-01{
    margin-bottom: 28rem;
     color: #0BA29A;
}
.recruiting-02{
    margin-bottom: 16rem;
     color: #F3B686;
}
.recruiting-box-1{
    position: relative;
    margin-bottom: 16rem;
   
    
}

.recruiting-box-1 figure{
    position: absolute;
    top: 0;
    left: 0;
    width: 50%;
    height: 100%;
}

.recruiting-inner figure img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}


.recruiting-box-1 .recruiting-detail{
    max-width: 100rem;
    margin-left: auto;
    margin-right: 5vw;
    padding-top: 4rem;
}

.recruiting-detail .profile{
    width: 100%;
    padding-left: 30rem;
    padding-top: 6rem;
    padding-bottom: 4rem;
    position: relative;
    background: #fff;
    margin-bottom: 4rem;
    
}
.recruiting-detail .profile:before{
    content: "";
    display: block;
    width: 6rem;
    height: 6rem;
    position: absolute;
    top: -1rem;
    left: -1rem;
    border-top: solid 1rem;
    border-left: solid 1rem;
}
.recruiting-detail .profile:after{
    content: "";
    display: block;
    width: 6rem;
    height: 6rem;
    position: absolute;
    bottom: 0;
    right: 0;
    border-bottom: solid 1rem;
    border-right: solid 1rem;
}
.recruiting-detail .profile span{
    display: block;
}
.recruiting-detail .profile .number{
    font-size: 24rem;
    font-family: 'EB Garamond', serif;
    opacity: 0.2;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left:2.7%;
}
.recruiting-detail .profile .title{
    font-size: 2rem;
    margin-bottom: 1.25rem;
}

.recruiting-detail .profile .name{
    font-size: 3rem;
    font-weight: bold;
    margin-bottom: 4rem;
    color: #393939;
}

.recruiting-detail .profile .career{
    font-size: 1.6rem;
    line-height: 1.68;
    color: #393939;
}
.recruiting-detail .txt{
    width: 62rem;
    margin-left: 30rem;
}
.recruiting-detail h4{
    margin-top: 4.5rem;
    font-size: 2rem;
    font-weight: bold;
    line-height: 0.8;
    margin-bottom: 2rem;
}

.recruiting-detail p{
    font-size: 1.6rem;
    line-height: 1.68;
    color: #393939;
}
.recruiting-box-2{
    position: relative;
}
.recruiting-box-2 figure{
    position: absolute;
    top: 8rem;
    right: 5vw;
    width: 71.4rem;
    height: calc(100% - 8rem);
    z-index: 3;
}
.recruiting-box-2 .recruiting-detail{
    width: 111rem;
    margin-left: auto;
    margin-left: 5vw;
}

.recruiting-box-2 h3{
    font-size: 5.6rem;
    font-weight: bold;
    padding: 7.5rem 10rem 6rem;
    background: linear-gradient(to right,#0F7E78, #0BA29A 50%);
    letter-spacing: 0.2rem;
    line-height: 1.68;
    margin-bottom: 8rem;
    color: #fff;
}
.recruiting-02 .recruiting-box-2 h3{
    background: linear-gradient(to right,#E69454, #F3B686 50%);
}
.recruiting-box-2 p{
    width: 76.8rem;
    margin-left: 10rem;
}

.people-list{
    display: grid;
    padding: 16rem 5vw;
   grid-template-columns: repeat(3, 1fr);
    grid-gap: 1rem;
    background: linear-gradient(to right,#bcaea3, #ded7d1);
}

.people-box{
    position: relative;
    display: block;
    border-radius: 1rem;
    aspect-ratio: 1 / 0.7;
    overflow: hidden;
}


.people-box img{
    position: absolute;
    left: 4%;
    bottom: 0;
    width:auto;
    height: 84%;
}

.people-box h4{
    position: absolute;
    top: 34%;
    right: 4%;
    font-family: "fot-tsukuaoldmin-pr6n", sans-serif;
font-weight: 300;
font-style: normal;
    font-size: 4.5rem;
    line-height: 1.4;
min-width:25%;
}
.people-box h5{
    position: absolute;
    left: 4%;
    bottom: 5%;
    font-weight:700;
    font-size: 1.4rem;
    background: rgba(255,255,255,.8);
    padding: 1rem 1.75rem;
    color: #493C33;
    border-radius: 1rem;
}

.people-box h4 span{
    display: block;
    font-size: 2.2rem;
}

.people-box h4:after{
    content: "さん";
    font-size: 60%;
    margin-left: 0.5rem;
}

.people-box.column2{
    grid-column: span 2;
    aspect-ratio: 1 / 0.3475;
}

.people-box.column2 img{
    left: 6.5%;
    height: 91%;
}
.people-box.column2 h4{
    position: absolute;
    top: 34%;
    right:auto;
    left: 50%;
    font-size: 6.5rem;
    line-height: 1.3;
min-width:100%;
}

.people-box.column2 h4 span{
    font-size: 3.2rem;
}

.people-box.column2 h5{
    position: absolute;
    left: 50%;
    bottom: 10%;
    font-weight:700;
    font-size: 1.65rem;
    background: rgba(255,255,255,.5);
    padding: 1.5rem 1.75rem;
    color: #493C33;
    border-radius: 1rem;
    opacity: 1;
}


.people-box.odd{
    background: #F3B686;
}
.people-box.odd h4{
    color: #493C33;
}
.people-box.even{
    background: #0BA29A;
}
.people-box.even h4{
    color: #fff;
}
.people-box .number{
    font-size: 29.2rem;
    font-family: 'EB Garamond', serif;
    opacity: 0.16;
    position: absolute;
    bottom: 0;
   right: 0;
    color: #fff;
    line-height: 0.75;
    font-weight: bold;
}

.interview-head{
    padding: 0rem 0 10rem 0rem;
   display: flex;
    z-index: 3;
    position: relative;
}
.interview-head figure{
   
    width: 50%;
    display: block;
    
}

.interview-head img{
    object-fit: cover;
    width: 100%;
    height: 100%;
    position: absolute;
}

.interview-head-txt{
    width: 50%;
}
.interview-head h2{
    font-size: 6.2rem;
    font-family: YakuHanJP,'M PLUS 1p', sans-serif;
    line-height: 1.48;
    text-shadow: none;
    font-weight: bold;
    padding: 6rem 5rem 12rem 15rem;
}

.message .interview-head h2{
    font-size: 5.8rem;
}
.interview-head .title{
    display: block;
    font-size: 3.2rem;
    font-family: 'EB Garamond', serif;
    color: #fff;
    opacity: 0.6;
    line-height: 0;
    margin-bottom: 10.5rem;
}

.message .interview-head .title{
    font-size: 10rem;
  font-weight: bold;
    opacity: 0.4;
    margin-bottom: 16rem;
}
.message .interview-head .title span{
   margin-top: 0;
    margin-bottom: 7rem;
}
.interview-head .number{
    display: block;
    font-size: 24rem;
    font-family: 'EB Garamond', serif;
    font-weight: bold;
    color: #fff;
    opacity: 0.6;
    transform: translateX(-1%);
    line-height: 0;
    margin-bottom: 12.5rem;
}
.odd .interview-head{
    border-top: solid 14rem #F3B686
}
.odd .interview-head h2 {
    background: #F3B686
}
.even .interview-head{
    border-top: solid 14rem #0BA29A;
}
.even .interview-head h2 {
    background: #0BA29A;
}
.message .interview-head{
    border-top: solid 14rem #927866;
}
.message .interview-head h2{
    background: #927866;
    padding-bottom: 12.5rem;
   
}
.interview-profile{
      padding: 8rem 0 3rem 15rem;
    color: #393939;
    line-height: 1.25;
    
}

.interview-profile .division{
    display: block;
    font-size: 2rem;
}

.interview-profile .name{
    font-size: 5rem;
    display: block;
    font-family: "fot-tsukuaoldmin-pr6n", sans-serif;
font-weight: 300;
font-style: normal;
    margin-bottom: 2.2rem;
}

.interview-profile .name small{
    font-family: "fot-tsukuaoldmin-pr6n", sans-serif;
font-weight: 300;
    font-size: 75%;
}
.interview-profile .career{
    font-size: 1.6rem;
    line-height: 1.625;
}


.message .interview-profile{
    padding: 6.5rem 0 7rem 15rem;
}

.message .interview-profile .division{
    display: block;
    font-size: 2.4rem;
    margin-bottom: 1rem
}
.message .interview-profile .name{
   font-size: 8rem;
    margin-bottom: 0;
}

.message-inner{
   background: linear-gradient(140deg,#E8D2C1, #fff 50%);
    margin-top: -40.5rem;
    padding-top: 45rem;
    padding-bottom: 17rem;
    position: relative;
    margin-bottom: 12rem;
    z-index: 1;
}

.message-inner p{
    font-size: 2.4rem;
    width: 122.8rem;
    margin: 0 auto;
    line-height: 2.3;
}

.message-inner:after{
    content: "Message";
    font-size: 20.3rem;
    font-family: 'EB Garamond', serif;
    font-weight: bold;
    position: absolute;
    right: 0;
    bottom: 0;
    opacity: 0.08;
    color: #493C33;
}
.interview-item{
    display: flex;
    flex-flow: row-reverse;
    margin-bottom: 16rem;
   
}

.interview-item figure{
    width: 50%;
    display: block;
    position: relative;
    min-height: 40rem;
}

.interview-item figure img{
    object-fit: cover;
    width: 100%;
    height: 100%;
    position: absolute;
    object-position: center 25%;
}


.interview-item .txt{
    width: 50%;
    padding-left: 10vw;
    padding-right: 15rem;
}

.interview-item h3{
    font-size: 4.8rem;
    font-weight: bold;
    color: #393939;
    line-height: 1.6;
    margin-bottom: 1.5rem;
    
}

.interview-item h4{
    font-size: 2rem;
    display: flex;
    align-items: center;
    font-weight: bold;
    margin-bottom: 1rem;
    padding-left: 4rem;
    position: relative;
}
.interview-item h4:after{
    content: "";
    display: block;
    width: 2rem;
    height: 2rem;
    background: url(../img/round.svg);
    background-size: 100% 100%;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}

.odd .interview-item h4{
    color: #F3B686;
}
.odd .interview-item h4:after{
    filter: invert(76%) sepia(26%) saturate(734%) hue-rotate(334deg) brightness(101%) contrast(91%);
}
.even .interview-item h4{
    color: #0BA29A;
}
.even .interview-item h4:after{
    filter: invert(67%) sepia(77%) saturate(5349%) hue-rotate(144deg) brightness(90%) contrast(91%);
}
.message .interview-item h4{
    color: #927866;
}
.message .interview-item h4:after{
    filter: invert(54%) sepia(10%) saturate(973%) hue-rotate(342deg) brightness(88%) contrast(89%);
}
.interview-item .txt p{
    font-size: 1.55rem;
    line-height: 2;
     color: #393939;
    letter-spacing: 0.02em;
}
.ls0mm .interview-item .txt p{
    letter-spacing: 0em;
}
.ls1mm .interview-item .txt p{
    letter-spacing: 0.01em;
}
.ls3mm .interview-item .txt p{
    letter-spacing: 0.03em;
}
.ls4mm .interview-item .txt p{
    letter-spacing: 0.04em;
}
.interview-item:nth-child(even):not(.advice){
    flex-flow:row;
}

.interview-item:nth-child(even):not(.advice) figure{
    width: calc(50% - 5vw);
    margin-left: 5vw;
    margin-bottom: 4rem;
}
.odd .interview-item:nth-child(even):not(.advice) figure{
    box-shadow: 4rem 4rem 0 #F3B686;
}
.even .interview-item:nth-child(even):not(.advice) figure{
    box-shadow: 4rem 4rem 0 #0BA29A;
}
.message .interview-item:nth-child(even):not(.advice) figure{
    box-shadow: 4rem 4rem 0 #927866;
}
.interview-item:nth-child(even):not(.advice) .txt{
    padding-left: 15rem;
    padding-right: 10vw;
}

.interview-item:last-child:not(.advice),.interview-item:has(+ .advice){
  margin-bottom: 8rem;
}

.motto{
    background: #927866;
    font-size: 1.6rem;
    color: #fff;
    margin-top: 11rem;
    padding: 4rem;
    line-height: 2;
}

.motto h5{
    font-size: 2rem;
    font-weight: bold;
    margin-bottom: 3rem;
    line-height: 1
}

.gallery{
    display: flex;
    justify-content: center;
    width: 90vw;
    max-width: 120rem;
    margin: 0 auto;
}

.gallery figure{
    max-width: 50%;
    margin: 0 2.5rem;
}
.advice{
    
    padding: 4rem 5vw;
    margin-top: 12rem;
    margin-bottom: 0;
}

.odd .advice{
    background: #F3B686;
}

.even .advice{
    background: #0BA29A;
}
.interview-item.advice{
    flex-flow:row;
}

.interview-item.advice .txt{
    background: rgba(255,255,255,.93);
    padding: 7.4rem 0 11rem;
      padding-left: 15rem;
    padding-right: 5vw;
}

.interview-item.advice h3{
    font-size: 3.2rem;
    line-height: 2;
}

.interview-item.advice h3 span{
    margin-bottom: 1.6rem;
}

.rules{
    padding: 9rem 10vw 4rem;
    background: #ff0;
    margin-top: -2rem;
    position: relative;
    overflow: hidden;
    background: linear-gradient(to right,#fff 30%, #cfedeb 100%);
}

.rules:after{
    content: "RULES";
    position: absolute;
    top: -1.7rem;
    left: 0%;
    font-size: 20.3rem;
    font-family: 'EB Garamond', serif;
    line-height: 0.8;
    color: #FEFDF7;
    opacity: 0.1;
    font-weight: bold;
    color: #0BA29A;
}
.rules ol{
    counter-reset: count 0;
    padding-left: 18.5rem;
}

.rules ol li{
    position: relative;
    font-size: 3.2rem;
    font-weight: bold;
    padding: 5.5rem 0 5.5rem 20.6rem;
    margin-bottom: 1.5rem;
}
.rules ol li:nth-child(2){
    margin-left: 21rem;
}
.rules ol li:nth-child(3){
    margin-left: 41rem;
}
.rules ol li span{
    display: block;
    font-size: 1.6rem;
    margin-top: 1.5rem;
}
.rules ol li:before{
    content: "0"counter(count);
  counter-increment: count 1;
    font-size: 16rem;
    font-family: 'EB Garamond', serif;
    font-weight: bold;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    color: #0BA29A;
    opacity: 0.2;
}
.rules h3{
    font-size: 5rem;
    font-weight: bold;
    line-height: 1;
}

.breaktime{
    display: flex;
    padding: 8.5rem 10vw;
    position: relative;
    background: #0BA29A;
    align-items: center;
}

.breaktime h3{
    position: absolute;
    top: 4rem;
    left: 10rem;
    font-family: 'EB Garamond', serif;
    font-size: 3.2rem;
    line-height: 1;
    color: #fff;
    transform:rotate(-15deg);
    opacity: 0.6;
    
    
}

.breaktime h3 img{
    width: 2.5rem;
    position: absolute;
    bottom: 80%;
    right: 95%;
}

.breaktime h4{
    font-size: 3.2rem;
    width: 34.5%;
    font-weight: bold;
    flex-shrink: 0;
    color: #fff;
}
.breaktime p{
    font-size: 1.6rem;
    line-height: 2;
    color: #fff;
}
.schedule{
    padding: 12rem 0 9rem;
}
.schedule h3{
    text-align:center;
    font-size: 5rem;
    font-weight: bold;
    font-size: 3.2rem;
}

.schedule figure{
    width: 76%;
    margin: 0 auto;
}

.other-people{
    background: #927866;
    padding: 18rem 5vw 16rem;
    position: relative;
}
.other-people:after{
    content: "People";
    position: absolute;
    top: 0%;
    left: 3%;
    font-size: 22.8rem;
    font-family: 'EB Garamond', serif;
    position: absolute;
    right: 0;
    bottom: 0;
    line-height: 0.8;
    color: #FEFDF7;
    opacity: 0.1;
    font-weight: bold;
}

.other-people-head{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 4rem;
}
.other-people h3{
    margin-left: 5vw;
    font-size: 4rem;
    font-weight: bold;
    color: #fff;

}

.other-people-head a{
    display: flex;
    font-size: 1.6rem;
    padding-right: 12rem;
    color: #fff;
    font-weight: bold;
}

.other-people .swiper-container.people-slider{
    margin-top: 0;
    padding-right: 0vw;
}
.other-people ul{
    display: flex;
    justify-content: space-between;
}
.other-people li{
    width: calc(56.9rem + 10vw);
    width: calc(56.9rem + 10vw);
    
}
.other-people li div{
    padding: 0 5vw;
    position: relative;
    display: none;
}

.other-people li.prev .arrow{
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

.other-people li.next .arrow{
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
}
.graduate-inner{
    padding-top: 16rem;
}
.graduate-inner h3,.faq-inner h3{
    text-align:center;
    font-weight: bold;
    font-size: 3.2rem;
    line-height: 0.8;
    margin-bottom: 8rem;
    position: relative;
}
.graduate-inner h3 span,.faq-inner h3 span{
    font-size: 16rem;
    font-weight: bold;
    font-family: 'EB Garamond', serif;
    position: absolute;
    width: 100%;
    top: 0;left: 50%;
    transform: translate(-50%,-73%);
    color: #0BA29A;
    opacity: 0.1;
}

.faq-inner h3 span{
    color: #927866;
}
.job-potition{
    display: flex;
    padding: 0 5vw;
    justify-content: space-between;
    flex-wrap: wrap;
}

.job-potition a{
    display: block;
    width: calc(33.33% - 0.66rem);
    margin-bottom: 1rem;
    font-size: 3.2rem;
    text-align:center;
    font-weight: bold;
    height: 24rem;
    display: flex;
    justify-content: center;
    align-items: center;
   background: linear-gradient(to right,#0ba299, #1c7971);
    color: #fff;
}

.job-potition a:nth-child(even){
    background: linear-gradient(to right,#f3b687, #e59453);
}

.job-list li{
    padding-top: 30rem;
}

.job-list li:nth-child(even) h3 span{
    color: #F3B686;
}
.job-about{
    padding: 7.5rem 0;
    background: #e6f6f5;
    margin-bottom: 4rem;
}
.job-about p{
    font-size: 1.6rem;
    width: 122.9rem;
    margin: 0 auto;
    line-height: 2;
}

.job-list li:nth-child(even) .job-about{
    background: #fef8f3;
}

dl{
    width: 122.9rem;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    font-size: 1.6rem;
    line-height: 2;
    
}

dt{
    width: 24%;
    padding: 4rem;
     border-bottom: solid 1px #0BA29A;
}

dd{
    width: 76%;
    padding: 4rem;
    border-bottom: solid 1px #e3edee;
}

.job-list li:nth-child(even) dt{
    border-bottom: solid 1px #F3B686;
}
.job-list li:nth-child(even) dd{
    border-bottom: solid 1px #fdefe4;
}

.faq-inner{
    padding: 24rem 10vw 16rem;
    background: #f4f0ef;
}
.faq-inner ul{
    background: #fff;
    margin-bottom: 24rem;
    padding: 8rem 15rem;
    border-radius: 1rem;
}

.faq-inner ul:last-child{
    margin-bottom: 0;
}
.faq-inner li{
    border-bottom: solid 1px #ede9e6;
}
.faq-inner li p{
    padding: 4rem 12rem 4rem 12rem;
    font-size: 1.6rem;
    line-height: 2;
}
.faq-inner li p.q{
    position: relative;
    cursor: pointer;
    transition-duration: 0.2s;
}
.faq-inner li p.q.open{
    background: #f4f0ef;
}
.faq-inner li p.q:before{
    content: "Q";
    font-size: 2rem;
    width: 4rem;
    height: 4rem;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 1000px;
    background: #0BA29A;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 4rem;
    color: #fff;
    font-family: 'Neue Haas Grotesk Display Pro', sans-serif;
    font-weight: bold;
    
}


.faq-inner li p.q:after{
    content: "";
    display: block;
    width: 3rem;
    height: 3rem;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 4rem;
    background: url(../img/faq-open.svg);
    background-size: 100% 100%;
    
}
.faq-inner li p.q.open:after{
    content: "";
    display: block;
    width: 3rem;
    height: 3rem;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 4rem;
    background: url(../img/faq-close.svg);
    background-size: 100% 100%;
    
}
.faq-inner li p.a{
   position: relative;
    display: none;
    
}

.faq-inner li p.a:before{
    content: "A";
    font-size: 2rem;
    width: 4rem;
    height: 4rem;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 1000px;
    background: #F3B686;
    position: absolute;
    top: 3.5rem;
    left: 4rem;
    color: #fff;
    font-family: 'Neue Haas Grotesk Display Pro', sans-serif;
    font-weight: bold;
    
}

.carrer-intro{
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 2.4rem;
    line-height: 2.3;
    padding: 16rem 0 8rem;
}

.flow{
    padding: 16rem 0 16rem;
        background: linear-gradient(to right,#fff 30%, #cfedeb 100%);
}

.flow h4{
    font-size: 3.2rem;
    font-weight: bold;
    color: #0BA29A;
    line-height: 0.8;
    margin-bottom: 8rem;
}

.flow li:nth-child(1){
    margin-bottom: 16rem;
}

.flow li{
    position: relative;
    padding: 0 5vw;
}

.flow li aside{
    position: absolute;
    right: 5vw;
    bottom: 0;
    font-size: 1.6rem;
}

.flow li:nth-child(1) aside{
    bottom: auto;
    top: calc(100% + 4rem)
}
.welfare{
    padding: 16rem 0 8rem;
}

.welfare li:nth-child(1){
    margin-bottom: 16rem;
}
.welfare h4{
    text-align:center;
    font-size: 3.2rem;
    font-weight: bold;
    color: #0BA29A;
    line-height: 0.8;
    margin-bottom: 4rem;
}
.career-inner h3{
    font-weight: bold;
    font-size: 5rem;
    line-height: 0.8;
    margin-bottom: 8rem;
    position: relative;
    padding-left: 5vw;
}
.career-inner h3 span{
    font-size: 20.3rem;
    font-weight: bold;
    font-family: 'EB Garamond', serif;
    position: absolute;
    width: 100%;
    left: 0;
    bottom: -1rem;
    color: #0BA29A;
    opacity: 0.1;
}

@media screen and (max-width: 1280px){
    .recruiting-box-1 .recruiting-detail{
        max-width: 50vw;
    }
    .recruiting-detail .txt{
        width: 100%;
        margin-left: 0rem;
        padding-left: 7.5vw;
    }
    .recruiting-box-2 .recruiting-detail{
        width: calc(100vw - 80rem);
    }
    .recruiting-box-2 p{
        width:calc(100% - 25rem);
    }
    .recruiting-box-2 h3{
        font-size: 4.2rem;
    }
    

    
}

@media screen and (max-width: 896px){
    
  
    html{
        font-size: 1.2vw;
    }






header{
    position: fixed;
    top: 0;
    left: 0;
    padding: 0 5vw;
    width: 100%;
    height: 10rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    z-index: 10;
    transition-duration: 0.2s;
}
header.on{
    background: rgba(254,253,247,.8);
    
}

.nav-btn {
    display: block;
    top: 0px;
    right: 0px;
    width: 6rem;
    height:6rem;
    position: relative;
    cursor: pointer;
    z-index: 9999;
}


    .nav-btn span {
        position: absolute;
        right: 0;
        width: 6rem;
        height: 0.6rem;
         background: #000;
        transition-duration: 0.2s;
    }
    
   
    .nav-btn span:nth-of-type(1) {
        top: 1rem;
    }

    .nav-btn.close span:nth-of-type(1) {
        top: calc(50% - 0.6rem);
        transform: rotate(45deg);
    }

    .nav-btn span:nth-of-type(2) {
        top: 50%;
        margin-top: -0.3rem;
    }

    .nav-btn.close span:nth-of-type(2) {
        opacity: 0;
        transform: translateX(-20%);

    }

    .nav-btn span:nth-of-type(3) {
        bottom: 1rem;
    }

    .nav-btn.close span:nth-of-type(3) {
        bottom: calc(50% - 0px);
        transform: translateY(0) rotate(-45deg);
    }
    
    

header h1{
    width: 43.5rem;
    position: relative;
    z-index: 999;
}
    
    header nav {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: #fff;
        display: flex;
        justify-content: center;
        align-items: center;
        transform: translateX(101%);
        transition-duration: 0.5s;
    }

header nav.on{
    transform: translateX(0);
}
header nav ul{
    display: block;
}
header nav li{
    margin-left: 0rem;
    text-align:center;
    margin-bottom: 4rem;
}
header nav a{
    color: #fff;
    font-size: 3.2rem;
    font-weight: bold;
    transition-duration: 0.2s;
    color: #393939;
}

header.on nav a{
   color: #393939;
}
header nav li:last-child a{
    width: 40rem;
    height: 10rem;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 1000px;
    background: #E50012;
    color: #fff !important;
    
}
header nav a span{
    font-size: 128%;
    font-weight: bold;
}
.top-grid{
  display: grid;
grid-template-columns: repeat(2, 1fr); /* 2 columns instead of 4 */
grid-gap: 1rem;
}
.hero{
    width: 100%;
    min-height: 180vw;
   flex-flow: column;
     grid-area: 1 / 1 / 2 / 3;
}



.hero a{
    display: block;
    position: relative;
    width:100%;
    height: 50%;
}

.hero a figure{
    position: relative;
    height: 100%;
}

.hero a figure img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
    transition-duration: 0.2s;
}
    .hero h2{
        font-size: 8rem;
    }

.more{
    position: relative;
    font-size:2.4rem;
    padding-right:12rem;
}

.hover-line{
    display: block;
    width: 10rem;
    height: 2px;
    background: #fff;
    position: absolute;
    right: 0;
    top: calc(50% - 1px);
}

.hover-line:after{
    content: "";
    display: block;
    width: 1.6rem;
    height: 1.6rem;
    border-radius: 10rem;
    background: #fff;
    position: absolute;
    top: calc(50% - 0.8rem);
    right: 0;
}
.top-item2{
    grid-area: 2 / 1 / 3 / 3;
}

.rinen{
    padding: 15rem 0;
     background: linear-gradient(100deg,#fff 30%, #cfedeb 100%);
    text-align: center;
    margin-bottom: 1rem;
}

.rinen h2{
    font-size: 5.5rem;
    margin-bottom: 5rem;
}
.rinen p{
    font-size: 2.8rem;
    line-height: 2;
    
    
   
}


.yakusoku{
    padding: 15rem 0;
     background: linear-gradient(100deg,#fff 30%, #eddbcf 100%);
    text-align: center;
}

.yakusoku h2{
   color: #493C33;
    font-size: 5.5rem;
    margin-bottom: 5rem;
    line-height: 1;

  font-weight: 600;
}

.yakusoku h2 small{
    display: block;
  font-weight: 600;
    font-size: 60%;
    margin-top: 0.5em;
}

.yakusoku ul{
    display: block;
    width: 100%;
    margin: 0 auto;
}

.yakusoku li{
    width: calc(100% - 10vw);
   margin: 0 auto 2rem;
    background: #fff;
    padding: 4rem 0rem 5rem;
    border-radius: 1.5rem;
    font-size: 2.4rem;
    line-height: 1.4;
    box-shadow: 0 0 1.5rem rgba(146,120,102,.2);
}

.yakusoku h3{
    font-size: 3.2rem;
    margin-bottom: 2rem;
}
.yakusoku p{
    
    font-size: 2.1rem;
    line-height: 2;
}


    .people{
        grid-area: 3 / 1 / 4 / 3;
    }
.col2{
    
   
    
}
.col2 h2{
    font-size: 8rem;
    margin-bottom: 5rem;
}

.col2 h2 span{
    margin-top: 7rem;
}
.top-item4{
     background: linear-gradient(to right,#F3B686, #E69454);
  grid-area: 4 / 1 / 5 / 3;
    display: block;
    padding: 8vw 0 0 5vw;
}

.top-item4 figure{
    width: 40%;
    position: absolute;
    bottom: 0;
    right: 5%;
}
.top-item5{
    background-color: #BBBD59; 
  grid-area: 5 / 1 / 6 / 3;
    display: block;
}


.col4{
    background: radial-gradient( #B2A094, #9B8170);
    display: block;
    aspect-ratio: 1 / 0.725;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: column;
    color: #fff;
}

.col4 figure{
    width: 100%;
    height: 30%;
    margin-bottom: 4.2rem;
}

.col4 figure img{
    width: 100%;
    height: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);

}

.col4 h3{
    font-size: 2.8rem;
    font-weight: 500;
}
    .top-item6{
        grid-area: 6 / 1 / 7 / 3;
        aspect-ratio: 1 / 0.3;
    }
.top-item7{
    grid-area: 7 / 1 / 8 / 2;
}
.top-item8{
    grid-area: 7 / 2 / 8 / 3;
}
.top-item9{
    grid-area: 8 / 1 / 9 / 2;
}
.top-item10{
     grid-area: 8 / 2 / 9 / 3;
}

.entry{
    text-align:center;
    padding: 12rem 0 0;
    margin-bottom: 8rem;
}

.entry h2,.contactForm h2{
    color: #493C33;
    font-size: 12rem;
    margin-bottom: 8rem;
    text-align:center;
}

.entry ul{
   flex-flow: column;
}

.entry li{
    width:100%;

}
    .entry li:nth-child(1){
        margin-bottom: 1rem;
    }




.under-main{
    width: 100%;
    height: 50vh;
    background-size: cover !important;
}

    .under-intro{
        padding: 12rem 0 16rem;
    }
.under-intro p{
    width: 90%;
    margin: 0 auto;
}

.under-intro span{
    font-size: 13rem;
   
}
    .recruiting-inner{
        padding-top: 8rem;
    }   
.recruiting-01{
    margin-bottom: 16rem;
     color: #0BA29A;
}
.recruiting-02{
    margin-bottom: 16rem;
     color: #F3B686;
}
.recruiting-box-1{
    position: relative;
    margin-bottom: 12rem;
   
    
}

.recruiting-box-1 figure{
    position: static;
    top: 0;
    left: 0;
    width: 90%;
    height: 100%;
    aspect-ratio: 1 / 1;
}

.recruiting-inner figure img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}


.recruiting-box-1 .recruiting-detail{
    width: 90%;
    max-width: none;
    margin: -8rem auto 0;
    padding: 0;
}

.recruiting-detail .profile{
    width: 100%;
    padding-left: 20rem;
    margin-bottom: 4rem;
    
}

.recruiting-detail .profile .number{
    font-size: 16rem;
}
.recruiting-detail .profile .title{
    font-size: 2.8rem;
   
}

.recruiting-detail .profile .name{
    font-size: 3.2rem;
     margin-bottom: 2rem;
}

.recruiting-detail .profile .career{
    font-size: 2.4rem;
}
.recruiting-detail .txt{
    width: 100%;
    margin-left: 0rem;
    padding-left: 0;
}
.recruiting-detail h4{
    margin-top: 4.5rem;
    font-size: 2.4rem;
}

.recruiting-detail p{
    font-size: 2.4rem;
}
.recruiting-box-2{
    position: relative;
}
.recruiting-box-2 figure{
    position:static;
    width: 90%;
    margin-left: auto;
    height: auto;
    aspect-ratio: 1 / 1;
}
.recruiting-box-2 .recruiting-detail{
    width: 100%;
    margin-left: auto;
    margin-left: 0vw;
}

.recruiting-box-2 h3{
    font-size: 3.6rem;
    width: 90%;
    margin-top: -8rem;
    padding: 4rem;
    display: flex;
    justify-content: center;
}
.recruiting-02 .recruiting-box-2 h3{
    background: linear-gradient(to right,#E69454, #F3B686 50%);
}
.recruiting-box-2 p{
    width: 100%;
    padding: 0 5vw;
    margin-left: 0rem;
}

.people-list{
    grid-template-columns: 1fr 1fr;
}


.people-box h4{
    font-size: 3rem;
}

.people-box h4 span{
    display: block;
    font-size: 1.6rem;
}
    

.people-box.column2 h4{
    left: 45%;
    font-size: 4.3rem;
    line-height: 1.3;
min-width:100%;
}

.people-box.column2 h4 span{
    font-size: 2.1rem;
}

    .people-box.column2 h5{
        font-size: 1.1rem;
        left: 45%;
    }
    .people-box.column2 img{
        left: 3%;
    }
.people-box .number{
    font-size: 18rem;
}

.interview-head{
    padding: 0rem 0 10rem 0rem;
  display: block;
    z-index: 3;
    position: relative;
    border-top: none !important;
}
.interview-head figure{
    width: 100%;
    height: 70vh;
    display: block;
    
}

.interview-head img{
    object-fit: cover;
    width: 100%;
    height: 100%;
    position: absolute;
}

.interview-head-txt{
    width: 100%;
}
.interview-head h2{
    font-size: 6.2rem;
    font-family:YakuHanJP,'M PLUS 1p', sans-serif;
    line-height: 1.48;
    text-shadow: none;
    font-weight: bold;
    padding: 8rem 5vw 8rem 5vw;
}

    .message .interview-head{
        padding: 0;
    }
.message .interview-head h2{
    font-size: 5.6rem;
}
.interview-profile{
      padding: 8rem 0 3rem 0;
   display: flex;
    justify-content: center;
    
}

.interview-profile .division{
    display: block;
    font-size: 2rem;
}

.interview-profile .name{
    font-size: 5rem;
    display: block;
    font-family: "fot-tsukuaoldmin-pr6n", sans-serif;
font-weight: 300;
font-style: normal;
    margin-bottom: 2.2rem;
}


.interview-profile .career{
    font-size: 2.4rem;
    line-height: 1.625;
}


.message .interview-profile{
    padding: 6.5rem 0 7rem 0;
    
}


.message-inner{
   background: linear-gradient(140deg,#E8D2C1, #fff 50%);
    margin-top: -40.5rem;
    padding-top: 45rem;
    padding-bottom: 17rem;
    position: relative;
    margin-bottom: 12rem;
    z-index: 1;
}

.message-inner p{
    font-size: 2.8rem;
    width: 90%;
    margin: 0 auto;
    line-height: 2.3;
}

.message-inner:after{
    content: "Message";
    font-size: 18rem;
    font-family: 'EB Garamond', serif;
    font-weight: bold;
    position: absolute;
    right: 0;
    bottom: 0;
    opacity: 0.08;
    color: #493C33;
}
.interview-item{
    display: block;
    margin-bottom: 16rem;
    padding: 0 5vw;
   
}

.interview-item figure{
    width: 100%;
   aspect-ratio: 1 / 1;
    margin-bottom: 8rem;
}

.interview-item .txt{
    width: 100%;
    padding: 0;
}

.interview-item h3{
    font-size: 5rem;
    font-weight: bold;
    color: #393939;
    line-height: 1.6;
    margin-bottom: 2.5rem;
    
}

.interview-item h4{
    font-size: 3rem;
    display: flex;
    align-items: center;
    font-weight: bold;
    margin-bottom: 1rem;
    padding-left: 6rem;
}

.interview-item h4:after{
    width:3rem;
}

.interview-item .txt p{
    font-size: 2.4rem;
    line-height: 2;
     color: #393939;
}

.gallery{
    display: block;
    width: 75vw;
    margin: 0 auto 0;
}

.gallery figure{
    width: 100%;
    max-width: 100%;
    margin:  0 0 5rem;
}
    .gallery figure:first-child{
        margin-top: -4rem;
    }
    .gallery figure:last-child{
        margin-bottom: 0;
    }
.interview-item:nth-child(even):not(.advice) figure{
    width: 100%;
    margin-left: 0vw;
}
    .odd .interview-item:nth-child(even):not(.advice) figure{
    box-shadow: 2rem 2rem 0 #F3B686;
}
.even .interview-item:nth-child(even):not(.advice) figure{
    box-shadow: 2rem 2rem 0 #0BA29A;
}
.message .interview-item:nth-child(even):not(.advice) figure{
    box-shadow: 2rem 2rem 0 #927866;
}
.interview-item:nth-child(even):not(.advice) .txt{
    padding: 0;
}

.interview-item:nth-child(3){
   margin-bottom: 12rem;
}

.motto{
    background: #927866;
    font-size: 2.4rem;
    color: #fff;
    margin-top: 8rem;
    padding: 6rem;
    line-height: 2;
}

.motto h5{
    font-size: 3rem;
    font-weight: bold;
    margin-bottom: 3rem;
    line-height: 1
}
.advice{
    padding: 4rem 5vw;
    margin-bottom: 0 !important;
}
.interview-item.advice{
    flex-flow:row;
}

.interview-item.advice figure{
    margin-bottom: 0;
}
.interview-item.advice .txt{
    background: rgba(255,255,255,.93);
   padding: 8rem 5vw;
}

.interview-item.advice h3{
    font-size: 3.6rem;
    line-height: 2;
}


.rules{
    padding: 9rem 10vw 4rem;
    background: #ff0;
    margin-top: -2rem;
    position: relative;
    overflow: hidden;
    background: linear-gradient(to right,#fff 30%, #cfedeb 100%);
}

.rules:after{
    content: "RULES";
    position: absolute;
    top: -1.7rem;
    left: 0%;
    font-size: 18rem;
    font-family: 'EB Garamond', serif;
    line-height: 0.8;
    color: #FEFDF7;
    opacity: 0.1;
    font-weight: bold;
    color: #0BA29A;
}
.rules ol{
    counter-reset: count 0;
    padding-left: 0rem;
}

.rules ol li{
    position: relative;
    font-size: 3.2rem;
    font-weight: bold;
    padding: 5.5rem 0 5.5rem 16rem;
    margin-bottom: 1.5rem;
}
.rules ol li:nth-child(2){
    margin-left: 5rem;
}
.rules ol li:nth-child(3){
    margin-left: 10rem;
}
.rules ol li span{
    display: block;
    font-size: 2.4rem;
    margin-top: 1.5rem;
}
.rules ol li:before{
   font-size: 12rem;
}
.rules h3{
    font-size: 5rem;
    font-weight: bold;
    line-height: 1;
}

.breaktime{
    display: block;
    padding: 12rem 10vw;
    position: relative;
    background: #0BA29A;
    align-items: center;
}

.breaktime h3{
   
    top: 8rem;
    
}

.breaktime h4{
    font-size: 3.6rem;
    width: 100%;
   margin-bottom: 2rem;
    text-align:center;
}
    .breaktime p{
        font-size: 2.4rem;
    }
.schedule{
    padding: 12rem 0 9rem;
}
.schedule h3{
    text-align:center;
    font-size: 5rem;
    font-weight: bold;
    font-size: 3.2rem;
}

.schedule figure{
    width: 100%;
    margin: 0 auto;
}

.other-people{
    padding: 12rem 5vw 16rem;
}
.other-people:after{
    font-size: 18rem;
}

.other-people-head{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 4rem;
}

.other-people-head a{
    font-size: 2.8rem;
}


.other-people ul{
    display: flex;
    justify-content: space-between;
}
.other-people li{
    width:calc(50% - 0.5rem);
   
}
    .other-people li div{
         padding: 0;
    position: relative;
    }

.other-people li.prev .arrow{
    position: absolute;
    top: 50%;
    left: -4vw;
    transform: translateY(-50%);
    width: 3vw;
}

.other-people li.next .arrow{
    position: absolute;
    top: 50%;
    right: -4vw;
    transform: translateY(-50%);
    width: 3vw;
}
.graduate-inner{
    padding-top: 16rem;
}
.graduate-inner h3,.faq-inner h3{
    text-align:center;
    font-weight: bold;
    font-size: 3.2rem;
    line-height: 0.8;
    margin-bottom: 8rem;
    position: relative;
}
.graduate-inner h3 span,.faq-inner h3 span{
    font-size: 11rem;
    font-weight: bold;
    font-family: 'EB Garamond', serif;
    position: absolute;
    width: 100%;
    top: 0;left: 50%;
    transform: translate(-50%,-73%);
    color: #0BA29A;
    opacity: 0.1;
}

.faq-inner h3 span{
    color: #927866;
}
.job-potition{
    display: flex;
    padding: 0 5vw;
    justify-content: space-between;
    flex-wrap: wrap;
}

.job-potition a{
    display: block;
    width: calc(33.33% - 0.66rem);
    margin-bottom: 1rem;
    font-size: 3.2rem;
    text-align:center;
    font-weight: bold;
    height: 24rem;
    display: flex;
    justify-content: center;
    align-items: center;
   background: linear-gradient(to right,#0ba299, #1c7971);
    color: #fff;
}

.job-potition a:nth-child(even){
    background: linear-gradient(to right,#f3b687, #e59453);
}

.job-list li{
    padding-top: 20rem;
}

.job-list li:nth-child(even) h3 span{
    color: #F3B686;
}
.job-about{
    padding: 7.5rem 0;
    background: #e6f6f5;
    margin-bottom: 4rem;
}
.job-about p{
    width: 90%;
    margin: 0 auto;
    font-size: 2.4rem;
}

.job-list li:nth-child(even) .job-about{
    background: #fef8f3;
}

dl{
    width: 90%;
    font-size: 2.4rem;
    
}


.faq-inner{
    padding: 16rem 5vw 16rem;
    background: #f4f0ef;
}
.faq-inner ul{
    padding: 4rem 5vw;
    margin-bottom: 16rem;
}


.faq-inner li p{
    padding: 4rem 6rem 4rem 8rem;
    font-size: 2.4rem;
}

.faq-inner li p.q.open{
    background: #f4f0ef;
}
.faq-inner li p.q:before{
    width: 4rem;
    height: 4rem;
    left: 2rem;
    
}


.faq-inner li p.q:after{
    right: 2rem;
    
}
.faq-inner li p.q.open:after{
   right: 2rem;
    
}
.faq-inner li p.a{
   position: relative;
    display: none;
    
}

.faq-inner li p.a:before{
    left: 2rem;
    
}

.carrer-intro{
    font-size: 2.8rem;
    padding: 12rem 0;
    width: 90%;
    margin: 0 auto;
}


.flow h4{
    width: 90%;
    margin: 0 auto 4rem;
}

.flow li:nth-child(1){
    margin-bottom: 16rem;
}

.flow li{
    position: relative;
    padding: 0 0 0 0;
    
}
    .flow li figure{
        padding: 0 5vw;
        overflow-y: scroll;
        margin-bottom: 4rem;
    }
    
    .flow li figure img{
        width: 250vw;
    }
.flow li aside{
    position: static;
    font-size: 2.4rem;
    width: 90%;
    margin: 0 auto;
}

.flow li:nth-child(1) aside{
    bottom: auto;
    top: calc(100% + 4rem)
}


.welfare li:nth-child(1){
    margin-bottom: 16rem;
}
.welfare h4{
    font-size: 3.2rem;
    margin-bottom: 4rem;
}
.career-inner h3{
    font-size: 4rem;
}
.career-inner h3 span{
    font-size: 15rem;
}
}


/*contact*/

.notice{
    margin-bottom: 30px;
}
.contactForm .require
{
	color: #e50012;
	font-weight: bold;
}
.contactForm th, .contactForm td
{
	padding: 1em;

}
.contactForm
{
	width: 700px;
	margin: 0 auto;
    font-size: 14px;
    padding: calc(10rem + 75px) 0 100px
}
.contactForm h2{
    font-size: 80px;
}
.contactForm h2 span{
    font-size: 16px;
}
.contactForm .name
{
	width: 250px;
}
.contactForm table
{
	width: 700px;
	margin-bottom: 1em;
}
.contactForm th
{
	text-align: right;
	font-weight: normal;
	width: 250px;
	vertical-align: top;
}

.wpcf7-spinner{
 display:none !important;
}
.services div
{
	margin-bottom: 1em;
}
.services div li
{
	margin-left: 1em;
}
.contactForm .mail_1, .contactForm .mail_2
{
	width: 250px;
}
.contactForm .tel
{
	width: 170px;
}
.contactForm .zip
{
	width: 100px;
}
.contactForm table
{
	border-collapse: collapse;
}
.contactForm th
{
	text-align: left;
	background: #ddd;
	border-bottom: 1px solid #fff;
}
.contactForm td
{
	border-top: 1px solid #ccc;
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
}
.contactForm .address em
{
    display: inline-block;
	margin: 1em 0;
    width: 100%;
}



.contactForm .address input
{
	width: 250px;
}
.contactForm .subject
{
	width: 350px;
}
.contactForm textarea
{
	width: 350px;
	height: 200px;
}
.contactForm a
{
	text-decoration: underline;
}
.contactForm a:hover
{
	text-decoration: none;
}

input[type="submit"]
{
    -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  outline: none;
    margin: 50px auto 0;
	padding: 10px 0;
	border-radius: 5px;
	background: #ddd;
	display: block;
    width: 130px !important;
	cursor: pointer;
}
.screen-reader-response{
     display: block;
	color: #ff0000;
    text-align:center;
    margin-bottom: 15px;
}
.screen-reader-response ul,.wpcf7-response-output{
    display: none;
}
span.wpcf7-list-item{
    margin: 0 !important;
}
.wpcf7-not-valid-tip
{
    display: block;
	color: #ff0000;
	margin: 0;
}
.ajax-loader{
    display: none !important;
}
div.wpcf7-response-output{
    text-align:center;
}
div.wpcf7-validation-errors, div.wpcf7-acceptance-missing{
    border: 2px solid #ff0000 !important;
}
@media (max-width: 680px)
{
    .contactForm h2{
    font-size: 60px;
}
.contactForm h2 span{
    font-size: 12px;
}
    .notice{
        margin-bottom: 1em;
    }
	.contactForm
	{
		width: 90%;
        padding: calc(10rem + 50px) 0 50px;
	}
	.contactForm table
	{
		width: 100%;
		border: 1px solid #ddd;
	}
	.contactForm th, .contactForm td
	{
		display: block;
		width: 100% !important;
		border: none;
	}
    .screen-reader-response{
        margin-bottom: 0.5em;
    }
	input, textarea
	{
		width: 100% !important;
	}
	input[type="checkbox"]
	{
		width: auto !important;
	}
    
}

