@charset "utf-8";
/* recruit css */

.intro_txt {
font-size: 1.5rem;
line-height: 200%;
letter-spacing: 0.2em;
display: block;
text-align: center;
margin-bottom: 50px;
}

@media all and (max-width : 767px ){
.intro_txt {
font-size: 1.2rem;
line-height: 180%;
letter-spacing: 0.1em;
margin-bottom: 30px;
}
}

.sec_subtitle {
margin-bottom: 40px;
}
.sec_subtitle dt {
font-size: 2.4rem;
font-weight: 500;
letter-spacing: 0.2em;
line-height: 100%;
margin-bottom: 6px;
padding-left: 35px;
position: relative;
}
.sec_subtitle dt::before {
content: "";
display: inline-block;
background-color: #000;
width: 28px;
height: 1px;
position: absolute;
top: 50%;
left: 0;
}

@media all and (max-width : 1024px ){
.sec_subtitle dt {
font-size: 2.2rem;
}
}

@media all and (max-width : 820px ){
.sec_subtitle dt {
font-size: 2.0rem;
}
.content_txt_box dd {
font-size: 1.4rem;
}
}

.sec_subtitle dd {
font-family: "garamond-premier-pro", serif;
font-weight: 400;
font-size: 1.2rem;
letter-spacing: 0.05em;
color: #999;
margin-left: 36px;
}

@media all and (max-width : 767px ){
.sec_subtitle {
margin-bottom: 20px;
}
.sec_subtitle dt {
font-size: 1.6rem;
padding-left: 25px;
}
.sec_subtitle dt::before {
width: 20px;
}
.sec_subtitle dd {
font-size: 1.0rem;
margin-left: 28px;
}
}

.rinji_txt {
font-size: 1.5rem;
}

@media all and (max-width : 767px ){
.rinji_txt {
font-size: 1.3rem;
}
}

/* アコーディオンメニュー
-------------------------------------------------- */

.accordion_container {
width: 100%;
border: solid 1px #DEDEDE;
margin-bottom: 20px;
}
.accordion_title {
font-size: 1.6rem;
font-weight: 400;
letter-spacing: 0.2em;
color: #111;
padding: 20px 10% 20px 20px;
position: relative;
z-index: +1;
background-image: url(../img/faq/faq_bg.jpg);
background-repeat: repeat-x;
background-position: left top;
cursor: pointer;
transition-duration: 0.2s;
}
.accordion_title:hover {
opacity: 0.8;
}
.icon_wrap {
display: flex;
justify-content: center;
align-items: center;
position: absolute;
top: 50%;
right: 3%;
width: 40px;
height: 40px;
margin-top: -20px;
box-sizing: border-box;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
transform-origin: center center;
transition-duration: 0.2s;
}
.icon {
display: block;
width: 30px;
height: 30px;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
transform-origin: center center;
transition-duration: 0.2s;
position: relative;
}
.accordion_title.open 
.icon_wrap {
-webkit-transform: rotate(-360deg);
transform: rotate(-360deg);
}
.icon:before, 
.icon:after {
display: flex;
content: '';
background-color: #666;
width: 30px;
height: 1px;
position: absolute;
top: 15px;
left: 0;
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
transform-origin: center center;
}
.icon:before {
width: 1px;
height: 30px;
top: 0;
left: 15px;
}
.accordion_title.open 
.icon_wrap .icon:before {
content: none;
}
.accordion_title.open 
.icon_wrap .icon:after {
-webkit-transform: rotate(-45deg);
transform: rotate(-45deg);
}
.accordion_inner {
display: none;
background: #fff;
padding: 0px 40px 50px;
box-sizing: border-box;
}
.ac_inner_wraper {
padding-top: 20px;
}


@media screen and (max-width: 767px) {
.accordion_container {
margin-bottom: 12px;
}
.accordion_inner {
padding: 0px 15px 25px;
}
.ac_inner_wraper {
padding-top: 15px;
}
.accordion_title {
font-size: 1.3rem;
letter-spacing: 0.05em;
padding: 15px 45px 15px 15px;
}
.accordion_title::before {
font-size: 1.5rem;
color: #8E7742;
top: 13px;
left: 8px;
}
.icon_wrap {
right: 1%;
}
.icon {
width: 20px;
height: 20px;
}
.icon:before, 
.icon:after {
width: 20px;
height: 1px;
position: absolute;
top: 10px;
left: 0;
}
.icon:before {
width: 1px;
height: 20px;
top: 0;
left: 10px;
}
.feature_box dl:last-of-type {
padding: 15px 15px 0;
}
}

.recruit_list {
display: flex;
align-items: center;
font-size: 1.5rem;
padding: 20px 10px;
border-bottom: solid 1px #ddd;
}
.recruit_list dt {
width: 20%;
font-weight: 500;
letter-spacing: 0.2em;
}
.recruit_list dd {
width: 80%;
}
.recruit_list:last-of-type {
margin-bottom: 40px;
}

@media all and (max-width : 767px ){
.recruit_list {
display: flex;
align-items: flex-start;
flex-direction: column;
font-size: 1.3rem;
padding: 15px 10px;
}
.recruit_list:first-of-type {
padding-top: 0;
}
.recruit_list dt {
width: 100%;
letter-spacing: 0.1em;
margin-bottom: 8px;
}
.recruit_list dd {
width: 100%;
}
.recruit_list:last-of-type {
margin-bottom: 20px;
}
}