@charset "utf-8";

/*////////////////////////////////////////////////////////////
Name : corpotate.css
////////////////////////////////////////////////////////////*/

/*----------------------------------------------------------------------------------------
	Reset
---------------------------------------------------------------------------------------- */
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;font-weight:normal;}
body{line-height:1}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}
nav ul{list-style:none}
blockquote,q{quotes:none}
blockquote:before,blockquote:after,q:before,q:after{content:none}
a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent}
ins{background-color:#ff9;color:#000;text-decoration:none}
mark{background-color:#ff9;color:#000;font-style:italic;font-weight:bold}
del{text-decoration:line-through}
abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}
table{border-collapse:collapse;border-spacing:0}
hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}
input,select{vertical-align:middle}
ol,ul {list-style:none}

/*----------------------------------------------------------------------------------------
	common settting
---------------------------------------------------------------------------------------- */
html {
	font-size:62.5%;
	height:100vh;
}
body {
	background: rgba(255, 250, 241, 1);
	color:#848488;
	line-height:1.4;

	font-family: 'Hiragino Kaku Gothic Pro';
	font-style: normal;
}
a {
	color: #444;
	text-decoration: none;
	border:0;
	outline:none;
}
a:hover {
	filter:alpha(opacity=90);
	-moz-opacity: 0.9;
	opacity: 0.9;
	text-decoration: underline;
}
a:hover img {
	filter:alpha(opacity=80);
	-moz-opacity: 0.8;
	opacity: 0.8;
}
.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}
.clearfix {
  min-height: 1px;
}
* html .clearfix {
  height: 1px;
}
.disabled {
	pointer-events: none;
	opacity: 0.5;
}
.header-application-container .orange-btn {
    font-family: Inter;
    font-size: 16px;
    font-weight: 600;
    line-height: 16px;
    letter-spacing: 0.1em;
    width: 160px;
    height: 48px;
    line-height: 48px;
}
.orange-btn {
    background-color: #F1961C;
    color: #fff;
    width: 280px;
    height: 56px;
    gap: 10px;
    border-radius: 4px;
    opacity: 0px;
    font-family: Inter;
    font-size: 20px;
    font-weight: 600;
    letter-spacing: 0.1em;
    box-shadow: 0px 4px 4px 0px #8C6A4F33;
    display: block;
    margin: 0 auto;
    line-height: 56px;
    text-align: center;
}
.orange-btn > img {
    height: 1em;
    vertical-align: middle;
    margin-left: 10px;
    margin-bottom: 2.8px;
}
.separator {
    width: 100px;
    border: 0;
    height: 4px;
    background:#64B32E;
    margin: 0 auto;
}
/*----------------------------------------------------------------------------------------
	top
---------------------------------------------------------------------------------------- */

.top {
	position: relative;
    margin-bottom: 120px;
}
.top .top-container {
	position: relative;
}
.top-image-container {
	margin-left: 16%;
	width: 84%;
    height: 56.25vw;
    background-image: url('/assets/images/job_top.png');
    background-size: cover; 
    background-position: center; 
    background-repeat: no-repeat;
    border-radius: 0 0 0 60px;
}
.top-image {
	width: 100%;
}
.top-message-container {
	font-family: Inter;
	/* font-size: 20px; */
	font-weight: 700;
	line-height: 28px;
	letter-spacing: 0.1em;
	position: absolute;
    left: 0;
    bottom: 10%;
}
.top-message > span {
	padding: 20px 40px 20px 64px;
    border-radius: 0 10px 10px 0;
    display: inline-block;
}
.message-first {
    /* margin-bottom: 9.6875%; */
    margin-bottom: 20%;
}
.message-first > span {
	color: #fff;
    font-family: Hiragino Kaku Gothic Pro;
    font-size: 3.75vw;
    font-weight: 600;
    line-height: 64px;
    letter-spacing: 0.1em;
    text-align: left;
    background-color: #64B32E;
}
.message-seccond {
	margin-bottom: 1.875%;
}
.message-seccond > span {
    font-family: Hiragino Kaku Gothic Pro;
    font-size: 3.125vw;
    font-weight: 600;
    line-height: 56px;
    letter-spacing: 0.1em;
    text-align: left;
    background-color: #fff;
    color: #5E4A42;
}
.message-third {
}
.message-third > span {
    font-family: Hiragino Kaku Gothic Pro;
    font-size: 3.125vw;
    font-weight: 600;
    line-height: 56px;
    letter-spacing: 0.1em;
    text-align: left;
    background-color: #fff;
    color: #5E4A42;
}

.message-third > span > span {
    font-family: "ta-oonishi", sans-serif;
    font-style: normal;
    font-size: 4.275vw;
    font-weight: 300;
    line-height: 56px;
    letter-spacing: -0.05em;
    text-align: left;
    color: #64B32E;
}

/*----------------------------------------------------------------------------------------
	message
---------------------------------------------------------------------------------------- */

section.message {
    background-color: #fff;
    padding: 64px 0;
}
section.message > .container {
    max-width: 760px;
    width: 60%;
    margin: 0 auto;
}
.message > p {
    text-align: center;
}

section.message > .container .title {
    font-family: Inter;
    font-size: 20px;
    font-weight: 600;
    line-height: 20px;
    letter-spacing: 0.1em;
    text-align: center;
    color: #F1961C;
    margin-bottom: 20px;
}

section.message > .container .sub-title {
    font-family: Inter;
    font-size: 24px;
    font-weight: 600;
    line-height: 32px;
    letter-spacing: 0.1em;
    margin-bottom: 30px;
}

section.message > .container .sub-title > span {
    font-family: Inter;
    font-size: 32px;
    font-weight: 600;
    line-height: 32px;
    letter-spacing: 0.1em;
    text-align: left;
    color: #64B32E;
}

section.message > .container .text {
    font-family: Hiragino Kaku Gothic ProN;
    font-size: 16px;
    font-weight: 300;
    line-height: 22px;
    letter-spacing: 0.05em;
    text-align: center;
    color: #5E4A42;
}
/*----------------------------------------------------------------------------------------
	guid
---------------------------------------------------------------------------------------- */
.guid {
    margin-top: 64px;
}
.guid h2 {
    font-family: Inter;
    font-size: 32px;
    font-weight: 600;
    line-height: 32px;
    letter-spacing: 0.05em;
    text-align: center;
    margin-bottom: 20px;
    color: #5E4A42;
}
.guid .container {
    width: 78.7%;
    max-width: 1008px;
    margin: 0 auto;
}
.guid .container .icons {
    display: flex;
    justify-content: space-between;
    margin: 64px 0;
}
.guid .container .icons .icon-container {
    width: 17.5%;
    max-width: 176px;
}
.guid .container .icons .icon-container > div {
    max-width: 120px;
    width: 70.8%;
    margin: 0 auto;
}
.guid .container .icons .icon-container > div > img {
    width: 100%;
}
.guid .btn-container {
    text-align: center;
}
.guid .icons p {
    font-family: Inter;
    font-size: 20px;
    font-weight: 600;
    line-height: 20px;
    text-align: center;
    margin-top: 20px;
    color: #5E4A42;
}
/*----------------------------------------------------------------------------------------
	job-description
---------------------------------------------------------------------------------------- */
.job-description {
    margin: 80px 0;
}
.job-description .sub-title {
    margin-bottom: 8px;
    font-family: Inter;
    font-size: 16px;
    font-weight: 600;
    line-height: 16px;
    letter-spacing: 0.05em;
    text-align: center;
    color: #5E4A42;
}
.job-description h2 {
    font-family: Inter;
    font-size: 32px;
    font-weight: 600;
    line-height: 32px;
    letter-spacing: 0.05em;
    text-align: center;
    margin-bottom: 20px;
    color: #5E4A42;
}
.job-description .text-container .text {
    margin: 40px 0;
    text-align: center;
    font-family: Inter;
    font-size: 16px;
    font-weight: 400;
    line-height: 16px;
    letter-spacing: 0.1em;
}
.job-description .description-container {
    width: 95.2%;
    max-width: 960px;
    margin: 0 auto;
}
.job-description .description-container .box {
    display: flex;
    justify-content: space-between;
    background-color: #fff;
    padding: 40px;
    box-shadow: 0px 4px 10px 0px #8C6A4F33;
    border-radius: 10px;
}

.job-description .description-container .box:first-of-type {
    margin-bottom: 40px;
}

.job-description .description-container .box .image-container {
    width: 40%;
}
.job-description .description-container .box .image-container img {
    width: 100%;
}
.job-description .description-container .box .description {
    width: 50%;
    margin: 16px 12px 8px 0;
}
.job-description .description-container .box .description .title {
    font-family: Inter;
    font-size: 24px;
    font-weight: 600;
    line-height: 24px;
    text-align: left;
    padding-left: 10px;
    border-left: solid 4px #64B32E;
    margin-bottom: 32px;
    color: #5E4A42;

}
.job-description .description-container .box .description p {
    font-family: Inter;
    font-size: 14px;
    font-weight: 400;
    line-height: 16px;
    text-align: left;
    color: #5E4A42;
}
.job-description .description-container .box .description .text {
    margin: 32px 0;
    width: 86%;
}
.job-description .description-container .box .description div {
    margin-bottom: 16px;
    display: flex;
    justify-content: left;
    align-items: center;
}
.job-description .description-container .box .description .tag {
    padding: 8px 0;
    background-color: #64B32E;
    color: #fff;
    border-radius: 4px;
    margin-right: 5px;
    width: 80px;
    text-align: center;
    font-family: Inter;
    font-size: 16px;
    font-weight: 600;
    line-height: 16px;
}
.job-description .description-container .box .description .example {
    font-family: Inter;
    font-size: 14px;
    font-weight: 400;
    line-height: 16px;
    text-align: left;
    color: #5E4A42;
}
/*----------------------------------------------------------------------------------------
	strengthened-areas
---------------------------------------------------------------------------------------- */
.strengthened-areas {
    background-image: url('/assets/images/job-openiungs-bg2.png');
    background-size: cover;
    width: 100%;
    padding: 60px 20px;
}
.strengthened-areas .container {
    max-width: 1000px;
    margin: 0 auto;
}
.strengthened-areas .lead {
    font-family: Inter;
    font-size: 20px;
    font-weight: 600;
    line-height: 28px;
    letter-spacing: 0.1em;
    text-align: center;
    margin-bottom: 40px;
    color: #5E4A42;
}
.strengthened-areas .btn-container {
    text-align: center;
}
/*----------------------------------------------------------------------------------------
	area-card-list（採用強化地域カード。.guid / .strengthened-areas 共通）
---------------------------------------------------------------------------------------- */
.area-card-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px;
}
.area-card {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 220px;
    height: 168px;
    padding: 20px 16px;
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0px 4px 4px 0px #8C6A4F33;
}
.area-card-name {
    font-family: Hiragino Kaku Gothic Pro;
    font-size: 16px;
    font-weight: bold;
    color: #5E4A42;
    text-align: center;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    min-height: calc(1.3em * 2);
}
.area-card-wage {
    font-family: Inter;
    font-size: 14px;
    font-weight: 600;
    color: #64B32E;
}
.area-card-link {
    font-family: Inter;
    font-size: 13px;
    font-weight: 600;
    color: #F1961C;
    margin-top: 4px;
}
.area-card--search {
    border-style: dashed;
    background-color: transparent;
    box-shadow: none;
}
.area-card--search .area-card-link {
    margin-top: 0;
    color: #8C8480;
}
.area-card--extra {
    display: none;
}
.area-card-list-wrap.is-expanded .area-card--extra {
    display: flex;
}
.show-more-container {
    width: 100%;
    text-align: center;
    margin-top: 24px;
}
.show-more-btn {
    font-family: Inter;
    font-size: 14px;
    font-weight: 600;
    color: #F1961C;
    background-color: #fff;
    border: 1px solid #F1961C;
    border-radius: 999px;
    padding: 10px 32px;
    cursor: pointer;
}
.show-more-btn:hover {
    background-color: #F1961C;
    color: #fff;
}
/*----------------------------------------------------------------------------------------
	flow
---------------------------------------------------------------------------------------- */
.flow {
    padding: 64px 136px 64px 136px;
    background-color: #fff;
}
.flow h2 {
    font-family: Inter;
    font-size: 32px;
    font-weight: 600;
    line-height: 32px;
    letter-spacing: 0.05em;
    text-align: center;
    margin-bottom: 20px;
}
.flow .separator {
    margin-bottom: 64px;
}
.flow .container {
    max-width: 1040px;
    margin: 0 auto;
}
.flow .container > div {
    display: flex;
    justify-content: space-between;
}
.flow .container div .box {
    width: 32%;
}
.flow .container div .box a {
    color: #64B32E;
    cursor: pointer;
}
.flow .container div .box .image-container {
    margin-bottom: 24px;
}
.flow .container div .box .image-container img {
    width: 100%;
}
.flow .container div .box .title {
    color: #5E4A42;
    font-family: Inter;
    font-size: 24px;
    font-weight: 600;
    line-height: 24px;
    text-align: center;
    margin-bottom: 16px;
}
.flow .container div .box .title > span {
    color: #64B32E;
    font-family: Inter;
    font-size: 20px;
    font-weight: 600;
    line-height: 20px;
    text-align: center;
    margin-right: 3px;
}
.flow .container div .box .text{
    font-family: Inter;
    font-size: 14px;
    font-weight: 400;
    line-height: 24px;
    text-align: justified;
    color: #5E4A42;
}
/*----------------------------------------------------------------------------------------
	opinions
---------------------------------------------------------------------------------------- */
.opinions {
    padding-top: 80px;
}
.opinions .sub-title {
    text-align: center;
    margin-bottom: 8px;
    font-family: Inter;
    font-size: 16px;
    font-weight: 600;
    line-height: 16px;
    letter-spacing: 0.05em;
    text-align: center;
    margin-top: 40px;
}
.opinions h2 {
    font-family: Inter;
    font-size: 32px;
    font-weight: 600;
    line-height: 32px;
    letter-spacing: 0.05em;
    text-align: center;
    margin-bottom: 20px;
}
.swiper {
    margin-top: 64px;
}
.swiper-slide {
    max-width: 960px;
    width: 75%;
    height: 460px !important;
    border-radius: 20px;
}
.swiper-slide > div {
    display: flex;
    justify-content: space-around;
    width: 100%;
    height: 420px;
    background-color: #fff;
    border-radius: 20px;
    box-shadow: 0px 4px 10px 0px #8C6A4F33;
}
.swiper-slide .left-container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    max-width: 400px;
    width: 42%;
}
.swiper-slide .left-container .pc-address {
    display: block;
    font-family: Inter;
    font-size: 16px;
    font-weight: 400;
    line-height: 16px;
    letter-spacing: 0.05em;
    text-align: center;    
}
.swiper-slide .right-container .sp-address {
    display: none;
}
.swiper-slide .left-container .image-container {
    margin-bottom: 13.5px;
}
.swiper-slide .right-container {
    max-width: 424px;
    width: 45%;
    display: flex;
    align-items: center;
}
.swiper-slide .right-container > p {
    font-family: Inter;
    font-size: 14px;
    font-weight: 400;
    line-height: 22px;
    letter-spacing: 0.05em;
    color: #5E4A42;
}
.swiper-button-next {
    width: 80px !important;
    height: 80px !important;
    background-color: #64B32E;
    border-radius: 50%;
}
.swiper-button-prev {
    width: 80px !important;
    height: 80px !important;
    background-color: #64B32E;
    border-radius: 50%;
}
.swiper-button-next:after {
    content: '' !important;
    display: block !important;
    background-image: url(/assets/images/triangle-next.png) !important;
    background-size: cover !important;
    position: absolute !important;
    top: 50% !important;
    left: 55% !important;
    transform: translate(-50%, -50%) !important;
    width: 35px !important;
    height: 40px !important;
}
.swiper-button-prev:after {
    content: '' !important;
    display: block !important;
    background-image: url(/assets/images/triangle-prev.png) !important;
    background-size: cover !important;
    position: absolute !important;
    top: 50% !important;
    left: 45% !important;
    transform: translate(-50%, -50%) !important;
    width: 35px !important;
    height: 40px !important;
}
.swiper-pagination-bullet-active {
    background-color: #64B32E !important;
}
.block-baloon, .block-baloon-top, .block-baloon-right, .block-baloon-bottom, .block-baloon-left	{
	display: table;
	padding: 1em;
	margin-bottom: 1em;
	position: relative;
	background-color: #fff;
	border: 1px solid #5E4A4280;
	border-radius: 0.5em;
    color: #64B32E;
}
.block-baloon:before, .block-baloon:after, .block-baloon-top:before, .block-baloon-top:after, .block-baloon-right:before, .block-baloon-right:after, .block-baloon-bottom:before, .block-baloon-bottom:after, .block-baloon-left:before, .block-baloon-left:after	{
	content: '';
	position: absolute;
}
.block-baloon-bottom {
	margin-bottom: 2.5em;
    box-shadow: 0px 4px 4px 0px #8C6A4F1A;
}
.block-baloon-bottom > p {
    text-align: center;
}
.block-baloon-bottom:before, .block-baloon-bottom:after	{
	left: 50%;
	transform: translateX(-50%);
	bottom: -1.5em;
	border-top: 1.5em solid #5E4A4280;
	border-right: 10px solid transparent;
	border-left: 10px solid transparent;
}
.block-baloon-bottom:after	{
	bottom: calc( 4px - 1.65em );
	border-top: solid 1.5em #fff;
}
/*----------------------------------------------------------------------------------------
	day-flow
---------------------------------------------------------------------------------------- */
.day-flow {
    margin: 68px 0;
}
.day-flow .container {
    max-width: 980px;
    margin: 0 auto;
    padding: 0 2vw ;
}
.day-flow .container > h2 {
    font-family: Inter;
    font-size: 32px;
    font-weight: 600;
    line-height: 32px;
    text-align: left;
    border-left: solid 4px #64B32E;
    padding-left: 16px;
    margin-bottom: 64px;
    color: #5E4A42;
}
.day-flow .container .card-container {
}
.day-flow .container .card-container .card {
    display: flex;
    margin-bottom: 64px;
}
.day-flow .container .card-container .card .text-contaier {
    max-width: 520px;
    width: 54.4%;
    display: flex;
    align-items: center;
}
.day-flow .container .card-container .card .image-container {
    max-width: 440px;
    width: 45.6%;
}
.day-flow .container .card-container .card .image-container .schedule-text {
    text-align: center;
    font-family: Inter;
    font-size: 20px;
    font-weight: 600;
    line-height: 20px;
    text-align: center;
    color: #5E4A42;
    margin-bottom: 5px;
}
.day-flow .container .card-container .card .image-container img {
    width: 100%;
}
.day-flow .container .card-container .card .text-contaier .pattern-wrap {
    margin-bottom: 16px;
}
.day-flow .container .card-container .card .text-contaier .pattern {
    font-family: Inter;
    font-size: 16px;
    font-weight: 600;
    line-height: 16px;
    color: #64B32E;
}
.day-flow .container .card-container .card .text-contaier .title {
    font-family: Inter;
    font-size: 24px;
    font-weight: 600;
    line-height: 24px;
    color: #5E4A42;
    margin-bottom: 32px;
}
.day-flow .container .card-container .card .text-contaier .list {
    font-family: Inter;
    font-size: 16px;
    font-weight: 600;
    line-height: 16px;
    color: #5E4A42;
    margin-bottom: 8px;
}
.day-flow .container .card-container .card .text-contaier .list:last-of-type {
    margin-bottom: 32px;
}
.day-flow .container .card-container .card .text-contaier .salary-wrap {
    margin-bottom: 8px;
}
.day-flow .container .card-container .card .text-contaier .salary-label {
    padding: 10px 16px 10px 16px;
    background-color: #64B32E;
    color: #fff;
    font-family: Inter;
    font-size: 14px;
    font-weight: 600;
    line-height: 14px;
    letter-spacing: -0.02em;
    border-radius: 5px;
}
.day-flow .container .card-container .card .text-contaier .formula {
    font-family: Inter;
    font-size: 20px;
    font-weight: 600;
    line-height: 32px;
    color: #5E4A42;
    margin-bottom: 8px;
}
.day-flow .container .card-container .card .text-contaier .formula span {
    font-family: Inter;
    font-size: 32px;
    font-weight: 700;
    line-height: 32px;
    color: #F1961C;
}
.day-flow .container .card-container .card .text-contaier .formula + p {
    font-family: Inter;
    font-size: 14px;
    font-weight: 400;
    line-height: 14px;
    color: #5E4A42;
}
/*----------------------------------------------------------------------------------------
	our
---------------------------------------------------------------------------------------- */
.our {
    background-color: #fff;
    padding: 64px 0;
}
.our .sub-title {
    text-align: center;
    margin-bottom: 8px;
    font-family: Inter;
    font-size: 16px;
    font-weight: 600;
    line-height: 16px;
    letter-spacing: 0.05em;
    text-align: center;
}
.our h2 {
    font-family: Inter;
    font-size: 32px;
    font-weight: 600;
    line-height: 32px;
    letter-spacing: 0.05em;
    text-align: center;
    margin-bottom: 20px;
}
.our .container {
    display: flex;
    justify-content: end;
    margin-top: 64px;
}
.our .container > div {
    max-width: 1120px;
    width: 87.5%;
    display: flex;
    justify-content: space-between;
}
@media screen and (min-width: 1280px) {
    .our .container > div {
        width: 1120px !important;
        margin: 0 auto;
        padding-left: 160px;
    }
    .our .container .image-container img {
        border-radius: 0 20px 20px 0;
    }
}
.our .container .text-container {
    max-width: 480px;
    width: 42.8%;
    margin-right: 10px;
}
.our .container .image-container {
    max-width: 640px;
    width: 57.2%;
}
.our .container .image-container img {
    width: 100%;
}
.our .container .text-container .label p {
    background-color: #64B32E;
    color: #fff;
    font-family: Inter;
    font-size: 20px;
    font-weight: 600;
    line-height: 20px;
    letter-spacing: 0.05em;
    text-align: left;    
    padding: 12px 20px;
    border-radius: 5px;
    display: inline-block;
}
.our .container .text-container .label > div:first-of-type {
    margin-bottom: 8px;
}
.our .container .text-container > p {
    font-family: Inter;
    font-size: 14px;
    font-weight: 400;
    line-height: 22px;
    letter-spacing: 0.05em;
    margin-top: 32px;
}
/*----------------------------------------------------------------------------------------
	questiuon
---------------------------------------------------------------------------------------- */
.question {
    margin: 80px 0;
}
.question h2 {
    margin-top: 40px;
    font-family: Inter;
    font-size: 32px;
    font-weight: 600;
    line-height: 32px;
    letter-spacing: 0.05em;
    text-align: center;
    margin-bottom: 20px;
}
.question > div {
    margin-bottom: 64px;
}
.question .container {
    max-width: 960px;
    width: 75%;
    margin: 0 auto;
}
.qa-1 {
    width:  100%;
    margin-bottom: 24px;
    border: 1px solid #d6dde3;
    border-radius: 5px;
    background-color: #fff;
    box-shadow: 0px 4px 10px 0px #8C6A4F33;

}

.qa-1 summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 1em 2em 1em 3em;
    color: #5E4A42;
    cursor: pointer;
    font-family: Inter;
    font-size: 20px;
    font-weight: 600;
    line-height: 24px;
    text-align: left;
}
.qa-1 summary::before,
.qa-1 p::before {
    position: absolute;
    left: 1em;
    font-weight: 600;
    font-size: 1.3em;
}

.qa-1 summary::before {
    color:  #64B32E;
    content: "Q";
}

.qa-1 summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 7px;
    height: 7px;
    margin-left: 10px;
    border-bottom: 3px solid #333333b3;
    border-right: 3px solid #333333b3;
    content: '';
    transition: transform .5s;
}

.qa-1[open] summary::after {
    transform: rotate(225deg);
}

.qa-1 p {
    position: relative;
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: 1em 4em 1em 3.7em;
    color: #333;
    transition: transform .5s, opacity .5s;
    font-family: Inter;
    font-size: 16px;
    font-weight: 300;
    line-height: 20px;
    text-align: left;
    background-color: #F2FAED;
}

.qa-1[open] p {
    transform: none;
    opacity: 1;
}

.qa-1 p::before {
    color: #ff8d8d;
    line-height: 1.2;
    content: "A";
    left: 1.3em;
}

/*----------------------------------------------------------------------------------------
	recruitment
---------------------------------------------------------------------------------------- */
.recruitment {
    background-image: url('/assets/images/recruitment.png');
    background-size: cover;
    width: 100%;
    height: 280px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.recruitment .container {
    height: 152px;
}
.recruitment .container p {
    font-family: Inter;
    font-size: 20px;
    font-weight: 600;
    line-height: 28px;
    letter-spacing: 0.1em;
    text-align: center;
    margin-bottom: 40px;
    color: #5E4A42;
}
.recruitment .container .btn-container {
    text-align: center;
}
/*----------------------------------------------------------------------------------------
	footer
---------------------------------------------------------------------------------------- */
footer {
	margin-top:80px;
}
footer .footerTop {
	background-color:#fbfbfb;
	border-top:1px solid #dee2e6;
	padding:30px 0;
}
footer .footerBottom {
	border-top:1px solid #dee2e6;
	background-color:#f2f2f2;
	padding:20px 0;
}
footer .inner {
	padding:0 20px;
}
footer .footerNav {
	letter-spacing: -.4em;
	font-size:1.3rem;
}
footer .footerNav > div {
	display:inline-block;
	vertical-align: middle;
	letter-spacing: normal;
	margin-right:12px;
	padding-right:12px;
	border-right:1px solid #ddd;
}
footer .footerNav > div:last-child {
	border-right:0;
}
footer .footerCopyright {
	margin-top:12px;
}
footer .footerCopyright p {
	color:#999;
	font-size:1rem;
}
footer .footerSocial {
	text-align:center;
}
footer .footerSocial dt {
	font-size:1.8rem;
	font-weight:bold;
}
footer .footerSocial dd {
	text-align:center;
	letter-spacing:-.4em;
	margin-top:20px;
}
footer .footerSocial dd > div {
	display:inline-block;
	width:60px;
	margin:0 5px;
	letter-spacing: normal;
}
footer .footerSocial dd > div img {
	width:100%;
	height:auto;
}
/*----------------------------------------------------------------------------------------
	area-card-list（採用強化地域・検索結果カード共通）
---------------------------------------------------------------------------------------- */
.area-card-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px;
}
.area-card {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 220px;
    height: 168px;
    padding: 20px 16px;
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0px 4px 4px 0px #8C6A4F33;
}
.area-card-name {
    font-family: Hiragino Kaku Gothic Pro;
    font-size: 16px;
    font-weight: bold;
    color: #5E4A42;
    text-align: center;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    min-height: calc(1.3em * 2);
}
.area-card-wage {
    font-family: Inter;
    font-size: 14px;
    font-weight: 600;
    color: #64B32E;
}
.area-card-link {
    font-family: Inter;
    font-size: 13px;
    font-weight: 600;
    color: #F1961C;
    margin-top: 4px;
}
/*----------------------------------------------------------------------------------------
	job-search
---------------------------------------------------------------------------------------- */
.breadcrumb {
    margin-top: 80px;
    padding: 16px 20px 0;
    font-size: 13px;
    color: #8C8480;
}
.breadcrumb a {
    color: #F1961C;
    font-weight: 600;
    text-decoration: none;
}
.breadcrumb a:hover {
    text-decoration: underline;
}
.breadcrumb-current {
    color: #5E4A42;
    font-weight: 600;
}
.breadcrumb-sep {
    margin: 0 6px;
    color: #E8DFD6;
}
.job-search {
    margin-top: 24px;
    padding: 60px 20px;
}
.job-search .container {
    max-width: 1000px;
    margin: 0 auto;
}
.job-search-title {
    font-family: Inter;
    font-size: 28px;
    font-weight: 600;
    text-align: center;
    color: #5E4A42;
    margin-bottom: 32px;
}
.job-search-form {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 16px;
    background-color: #F1ECE6;
    border-radius: 10px;
    padding: 20px 20px 32px;
    margin-bottom: 24px;
}
.job-search-field {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 180px;
}
.job-search-field label {
    font-family: Inter;
    font-size: 13px;
    font-weight: 600;
    color: #8C8480;
}
.job-search-field select {
    padding: 10px 12px;
    border-radius: 6px;
    border: 1px solid #E8DFD6;
    background-color: #fff;
    color: #5E4A42;
    font-size: 14px;
}
.job-search-field select:disabled {
    opacity: .5;
}
.job-search-field-hint {
    position: absolute;
    top: 100%;
    left: 0;
    margin-top: 4px;
    font-size: 12px;
    color: #8C8480;
    white-space: nowrap;
}
.job-search-reset {
    font-family: Inter;
    font-size: 14px;
    font-weight: 600;
    color: #F1961C;
    background-color: #fff;
    border: 1px solid #F1961C;
    border-radius: 999px;
    padding: 10px 24px;
    text-decoration: none;
    white-space: nowrap;
}
.job-search-reset:hover {
    background-color: #F1961C;
    color: #fff;
}
.job-search-meta {
    font-family: Inter;
    font-size: 14px;
    color: #5E4A42;
    margin-bottom: 16px;
}
.job-search-meta .num {
    font-weight: 700;
    font-size: 18px;
}
.job-search-empty {
    border: 1px dashed #E8DFD6;
    border-radius: 10px;
    padding: 40px 20px;
    text-align: center;
    color: #8C8480;
    font-size: 14px;
}
.show-more-container {
    width: 100%;
    text-align: center;
    margin-top: 24px;
}
.show-more-btn {
    font-family: Inter;
    font-size: 14px;
    font-weight: 600;
    color: #F1961C;
    background-color: #fff;
    border: 1px solid #F1961C;
    border-radius: 999px;
    padding: 10px 32px;
    cursor: pointer;
}
.show-more-btn:hover {
    background-color: #F1961C;
    color: #fff;
}
.show-more-btn:disabled {
    opacity: .5;
    cursor: not-allowed;
}
