@charset "UTF-8";
/*font-family:'Noto Sans JP',sans-serif;*/
/*font-family:'Noto Serif JP',serif;*/

.pc {display:none !important;}


img {max-width:100%;}

body {
	margin:0;
	padding:0;
	color:#000;
	background-color:#fff;
	font-family:'Noto Sans JP',sans-serif;
	/*font-family:'Hiragino Maru Gothic W4 JIS2004';*/
	-webkit-text-size-adjust:none;
	width:100%;
	min-width:320px;
}

header,hgroup,nav,aside,section,article,figure,footer {
	display:block;
}

a:link,
a:visited {
    color:#000;
	text-decoration:none;
}

a.alpha img,img {
    display: block;     
}
picture img {
    display: block;
}

p,h2,h3,h4,h5,h6,ul,li,dl,dt,dd {
    margin:0;
	padding:0;
	border:none;
	font-size:100%;
	font-style:normal;
	list-style:none;
	line-height:1.6em;
	text-align:left;
	font-family:'Noto Sans JP',sans-serif;
}

div#wrapper {
	margin:0 auto;
	width: 100%;
	position:relative;
}


/*------header-------------------------------------------------------------------------------*/
header#recruit-header {
    height: 64px;
    background-color: rgba(109, 84, 62, 1);
    display: flex;
    align-items: center;
    padding-left: 20px;
}
.header-nav-list {
    display: none !important;
}


.top-text {
    font-size: 12px;
    text-align: center;
    padding-top: 18px;
}


/*------interview---------------------------------------------------------------------------------*/
.interview-title {
    font-size: 24px;
    text-align: center;
    padding-top: 64px;
}
.interview-item {
    width: 90%;
    background-color: rgba(250, 250, 248, 1);
    margin: 0 auto;
    margin-top: 48px;
    border: solid 1px rgba(0, 0, 0, 0.15);
    border-radius: 16px;
    overflow: hidden;
}
.interview-content {
    padding: 24px 24px 0 24px;
}
.staff-name {
    font-family: EB Garamond;
    font-size: 24px;
}
.staff-quote {
    font-family: Work sans-serif;
    font-size: 20px;
    padding-top: 6px;
}
.staff-role {
    font-family: Work sans-serif;
    font-size: 16px;
    font-weight: bold;
    padding-top: 24px;
}
.staff-desc {
    font-family: Work sans-serif;
    font-size: 16px;
}
.interview-more {
    display: flex;
    justify-content: right;
    padding: 24px;
}
.interview-more-button {
    border: solid 1px rgba(0, 0, 0, 0.15);
    border-radius: 100px;
    padding: 8px 20px;
}
.staff-box {
    background-color: #fff;
}
.staff-content {
    padding: 10px 20px;
}
.border-radius16 {
    border-radius: 16px;
}
.staff-content img {
    margin: 0 auto;
}
.staff {
    font-size: 23px;
    font-family: EB Garamond;
    padding-top: 10px;
}
.staff-text {
    padding-top: 10px;
    font-size: 20px;
}
.about-staff {
    font-size: 14px;
}
.question {
    padding-top: 20px;
    font-weight: bold;
    font-size: 20px;
}
.answer {
    font-size: 14px;
}
.ta-center {
    text-align: center;
}


/*------appeal---------------------------------------------------------------------------------*/
section#appeal {
    background-color: rgba(248, 248, 245, 1);
    width: auto;
}
.appeal-area {
    padding: 64px 0;
}
.appeal-title {
    font-family: Baskervville;
    font-size: 36px;
    font-weight: 400;
    text-align: center;
}
.caldo-font {
    font-family: Baskervville, serif;
}
.appeal-subtitle {
    font-size: 16px;
    text-align: center;
    padding-top: 12px;
}
.appeal-content {
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding-top: 48px;
}
.appeal-box {
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.appeal-group1,
.appeal-group2 {
    width: 90%;
    margin: 0 auto;
    border: solid 1px rgba(12, 12, 12, 0.15);
    border-radius: 16px;
    overflow: hidden;
}
.ag-box1,
.ag-box2,
.ag-box3 {
    padding-left: 20px;
    padding-right: 20px;
}
.ag-title1,
.ag-title2,
.ag-title3 {
    font-family: "Baskervville";
    font-size: 30px;
    font-weight: 400;
    line-height: 1.2;
    padding-top: 24px;
    padding-bottom: 24px;
}
.ag-text1,
.ag-text2,
.ag-text3 {
    font-size: 16px;
    padding-bottom: 24px;
}
.pc-br {
    display: none;
}


.benefits-area {
    background-color: rgba(167, 138, 110, 1);
    color: #fff;
    display: flex;
    flex-direction: column;
    padding-top: 64px;
    padding-bottom: 64px;
}
.benefits-content {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding-left: 20px;
    padding-right: 20px;
}
.benefits-title {
    font-family: "Baskervville";
    font-size: 36px;
    font-weight: 400;
    line-height: 1.2;
}
.benefits-text {
    font-size: 16px;
    padding-top: 20px;
}
.benefits-text li {
  list-style: none;              
  position: relative;
  padding-left: 20px;           
}
.benefits-text li::before {
  content: '・';                 
  position: absolute;
  left:0;
  top:0;                     
}
.benefits-image {
    padding-top: 48px;
    margin: 0 auto;
}
.rate-image {
    display: flex;
    gap: 32px;
    flex-direction: column;
    padding-left: 20px;
    padding-right: 20px;
}


.internal-system {
    margin: 0 auto;
    padding: 64px 20px;
}
.is-title {
    font-family: Baskervville;
    font-size: 36px;
    font-weight: 400;
    line-height: 1.2;
}
.system-box {
    padding-top: 22px;
    padding-bottom: 48px;
}
.system-title {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.5;
    padding-top: 8px;
}
.sp-br {
    display: block;
}
.system-text {
    font-size: 16px;
    padding-top: 10px;
    padding-bottom: 10px;
}
.sp-text {
    display: inline;
}


.about-lesson {
    margin: 0 auto;
    padding: 64px 20px;
}
.al-text1 {
    font-size: 16px;
    font-weight: bold;
    padding-bottom: 30px;
}
.al-text2 {
    font-size: 16px;
    padding-top: 48px;
}
.al-title {
    font-family: "Baskervville";
    font-size: 36px;
    font-weight: 400;
    line-height: 1.2;
    padding-top: 48px;
    padding-bottom: 48px;
}
.padding-top48 {
    padding-top: 48px;
}


/*------introduction---------------------------------------------------------------------------------*/
.introduction-area {
    background-color: rgba(167, 138, 110, 1);
    color: #fff;
    padding-bottom: 64px;
    padding-left: 20px;
    padding-right: 20px;
}
.introduction-box1 {
    margin: 0 auto;
    padding-top: 64px;
}
.introduction-box2 {
    margin: 0 auto;
    padding-top: 64px;
}
.introduction-title1,
.sp-introduction-title2 {
    font-family: "Baskervville";
    font-size: 36px;
    font-weight: 400;
    line-height: 1.1;
}
.introduction-text1 {
    font-size: 16px;
    padding-top: 20px;
}
.sp-introduction-text2 {
    font-size: 16px;
    padding-top: 20px;
    padding-bottom: 30px;
}
.introduction-title2,
.introduction-text2 {
    display: none;
}
.introduction-content {
    padding-top: 50px;
    padding-bottom: 16px;
    border-bottom: solid 1px rgba(255, 255, 255, 0.2);
    margin-bottom: 45px;
}
.introduction-shift1,
.introduction-shift2 {
    font-family: "Baskervville";
    font-size: 20px;
    line-height: 1.1;
    padding-bottom: 8px;
}


.recruit-title {
    margin: 0 auto;
    font-family: Baskervville;
    font-size: 36px;
    font-weight: 400;
    line-height: 1.2;
    padding-bottom: 50px;
}
.recruit-box{
    display:block;
    background: transparent;
    color: #000;
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
}
.rec-radio{
    position: absolute;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    overflow: hidden;
    white-space: nowrap;
}
.recruit-panel{
    display: none;                
}
.panel-head {
    display:flex;
    flex-direction: column;
    padding-left: 20px;
    padding-right: 20px;
}
.head-num {
    height: 66px;
    display:flex; 
    gap: 100px;
    align-items: center;
}
.panel-box {
    padding-top: 16px;
    padding-bottom: 32px;
}
.tab-num {
    font-family: Shippori Mincho, serif;
    font-size: 20px;
}
.head-logo {
  display: inline-block;           
  transform: rotate(90deg);       
  transform-origin: center center; 
}
.panel-title {
    font-family: Shippori Mincho, serif;
    font-size: 38px;
    font-weight: 400;
    line-height: 1.1;
}
.entry-button {
    display: inline-block; 
    background: rgba(238, 128, 57, 1); 
    color: #fff !important; 
    padding: 10px 54px; 
    border-radius: 28px; 
    font-size: 16px;
    font-weight: 500; 
    margin-top: 20px;
    margin-bottom: 32px;
}
.border-radius8 {
    border-radius: 8px;
}
.recruit-tabs{
    display:block;
}
.recruit-tab{                
    display: flex;
    align-items: center;
    padding: 18px 20px;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
}
.tab-text {
    font-family: Shippori Mincho, serif;
    font-size: 21px;
    letter-spacing: .08em;
    line-height: 1;
}
.padding-left70 {
    padding-left: 70px;
}
.padding-left60 {
    padding-left: 60px;
}
.padding-left25 {
    padding-left: 25px;
}

#rec-tab01:checked ~ .recruit-panels .panel01,
#rec-tab02:checked ~ .recruit-panels .panel02,
#rec-tab03:checked ~ .recruit-panels .panel03,
#rec-tab04:checked ~ .recruit-panels .panel04 {display:block;}

#rec-tab01:checked ~ .recruit-tabs #lab01,
#rec-tab02:checked ~ .recruit-tabs #lab02,
#rec-tab03:checked ~ .recruit-tabs #lab03,
#rec-tab04:checked ~ .recruit-tabs #lab04 {display: none;}


/*------recruitment---------------------------------------------------------------------------------*/
section#recruitment {
    padding-top: 50px;
}
.recruitment-title {
    font-family: "Baskervville";
    font-size: 6.2vw;
    font-weight: bold;
    text-align: center;
}
.recruitment-sub {
    font-size: 4vw;
    font-weight: bold;
    color: #f18101;
    text-align: center;
    margin-top: 10px;
    padding-bottom: 18px;
}
.recruitment-image {
    margin: auto;
}
.recruitment-box {
    margin: 15px auto 0px auto;
    width: 90%;
    background-color: #f7f4f1;
    padding-bottom: 0;
}
.faq-toggle {
    display: none;
}
.box-title {
    font-size: 16px;
    font-weight: bold;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #ccc;
    padding: 15px 16px 15px 8px;
    width: 100%; 
    box-sizing: border-box;
}
.slide-recruit {
    display: none;
    background-color: #f7f4f1;
    padding: 0 8px 20px 8px;
}
.box-orange {
    color: #f18101;
    font-size: 15px;
    padding-top: 20px;
}
.box-text {
    font-size: 15px;
    padding-top: 20px;
}
.text-small {
    font-size: 12px;
}
.faq-toggle:checked + .box-title + .slide-recruit {
    display: block;
}
.icon-minus {
    display: none;
}
.faq-toggle:checked + .box-title .icon-plus {
    display: none;
}
.faq-toggle:checked + .box-title .icon-minus {
    display: inline;
}
.treatment-title {
    font-size: 15px;
    padding-top: 8px;
}
.treatment-text {
    font-size: 15px;
}


/*------faqlp---------------------------------------------------------------------------------*/
section#faqlp {
    padding-top: 55px;
    padding-bottom: 160px;
}
.faqlp-title {
    text-align: center;
    font-family: "Baskervville";
    font-size: 36px;
    font-weight: 400;
    padding-bottom: 40px;
}
.faq-box {
	display: flex;
    justify-content: center;
    padding-left: 20px;
    padding-right: 20px;
}
.faq-list {
	width: 350px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.faq-list dl {
	border: solid 1px rgba(12, 12, 12, 0.15);
    border-radius: 16px;
    overflow: hidden;
}
.faq-content {
	display: none;
  }
.faq-title {
	cursor: pointer;
    font-size: 16px;
    font-weight: 700;
    display:flex;
    justify-content: space-between;
    padding: 15px 20px;
}
section#faqlp dl dd.faq-content { 
    font-size: 16px;
    padding: 25px 20px;
    margin-top: -25px;
}
.faq-title.active + .faq-content {
	display: block;
}
.faq-title::after {
    content: ""; 
    display: inline-block;
    width: 32px;
    height: 32px;
    background-image: url("../pic/down-icon.png");
    background-size: contain;
    background-repeat: no-repeat;
}
.faq-title.active::after {
    content: ""; 
    display: inline-block;
    width: 24px;
    height: 24px;
    background-image: url("../pic/close-icon.png");
    background-size: contain;
    background-repeat: no-repeat;
}


/*------profile-------------------------------------------------------------------------------*/
section#profile {
    background-color: rgba(245, 245, 245, 1);
    display: flex;
    justify-content: center;
    padding-left: 20px;
    padding-right: 20px;
}
.profile-area {
    padding-bottom: 64px;
}
.profile-title {
    font-family: Inter;
    font-size: 33px;
    font-weight: 400;
    text-align: center;
    padding-top: 112px;
    padding-bottom: 60px;
}
.profile-content1 {
    display: flex;
    gap: 88px;
    font-size: 16px;
    padding: 20px 0;
    border-top: solid 2px rgba(0, 0, 0, 0.2);
    border-bottom: solid 2px rgba(0, 0, 0, 0.2);
}
.profile-content2 {
    display: flex;
    gap: 88px;
    align-items: center;
    font-size: 16px;
    padding: 20px 0;
}
.profile-content3 {
    display: flex;
    gap: 72px;
    font-size: 16px;
    padding: 20px 0;
    border-top: solid 2px rgba(0, 0, 0, 0.2);
    border-bottom: solid 2px rgba(0, 0, 0, 0.2);
}
.profile-content4 {
    display: flex;
    gap: 88px;
    align-items: center;
    font-size: 16px;
    padding: 6px 0;
}
.profile-content5 {
    display: flex;
    gap: 42px;
    font-size: 16px;
    padding: 15px 0;
    align-items: center;
    border-top: solid 2px rgba(0, 0, 0, 0.2);
    border-bottom: solid 2px rgba(0, 0, 0, 0.2);
}
.profile-content6 {
    display: flex;
    flex-direction: column;
    gap: 32px;
    font-size: 16px;
    padding-top: 32px;
    padding-bottom: 20px;
}
.profile-content7 {
    display: flex;
    flex-direction: column;
    gap: 32px;
    font-size: 16px;
    padding-top: 32px;
    padding-bottom: 40px;
    border-top: solid 2px rgba(0, 0, 0, 0.2);
    border-bottom: solid 2px rgba(0, 0, 0, 0.2);
}
.font-bold {
    font-weight: bold;
}
.ws-nowrap {
    white-space: nowrap;
}
.text-blue {
    color: rgba(1, 82, 120, 1);
}


/*------footer-------------------------------------------------------------------------------*/
.recruit-footer {
    padding-top: 48px;
    padding-bottom: 48px;
    background-color: rgba(245, 245, 245, 1);
}
.footer-box {
    display: flex;
    flex-direction: column;
    gap: 48px;
}
.footer-logo {
    width: 133px;
    margin: auto;
}
.footer-sns {
    display: flex;
    justify-content: center;
    gap: 24px;
    align-items: center;
}
.policy-area {
    display: flex;
    flex-direction: column-reverse;
    gap: 32px;
    justify-content: center;
    font-size: 14px;
    padding-top: 80px;
}
.footer-policy {
    text-align: center;
    text-decoration: underline;
}
.footer-copyright {
    text-align: center;
}