@charset "UTF-8";

@media print, screen and (min-width:1200px) {

#kvWrap {
position: relative;
background: url("../img/kv_bg.jpg") no-repeat top center;
background-size: cover;
width: 100vw;
height: 100vh;
}

#kvCopy {
width: 92%;
margin: 0 0 0 auto;
padding: 40px 10px 0 0;
}

#btnApplicationRequirements {
position: absolute;
background-color: #565C54;
font-family: var(--font-primary);
width: 250px;
height: 70px;
font-size: 1.5rem;
font-weight: 600;
color: #fff;
text-align: left;
padding: 0 40px 3px;
cursor: pointer;
border: 0;
 box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
letter-spacing: .15em;
z-index: 5;
top: 125px;
right: 0;
}

#btnApplicationRequirements::after {
position: absolute;
width: 10px;
height: 10px;
content: "";
margin: auto;
border-top: 1px solid #fff;
border-right: 1px solid #fff;
transform: rotate(45deg);
transition: .3s;
right: 30px;
top: 0;
bottom: 0;
}

#btnApplicationRequirements:hover::after {
right: 25px;
}

#wrapIndexTop {
width: 1200px;
font-family: var(--font-mincho);
font-size: 1.8rem;
text-align: left;
margin: 0 auto;
padding: 150px 0 80px;
line-height: 2.5em;
}

#wrapIndexTop h2 {
font-family: var(--font-copperplate);
font-size: 5.5rem;
text-align: center;
margin-bottom: 80px;
line-height: 1.5;
}

#indexTopFlex {
display: flex;
justify-content: space-between;
}

#indexTopTxt {
width: 600px;
}

#indexTopPhoto {
width: 530px;
}

#wrapEntry {
background: url("../img/index_entry_bg.jpg") no-repeat center;
background-size: cover;
width: 100%;
padding: 100px 0;
}

.wrap {
position: relative;
width: 1200px;
text-align: justify;
margin: 0 auto;
}

.indexTitleWh,
.indexTitleBk {
position: relative;
font-size: 2rem;
font-weight: 700;
color: #fff;
text-align: left;
margin-bottom: 40px;
line-height: 3.5em;
}

.indexTitleBk {
color:  var(--txtColor);
}

.indexTitleWh span,
.indexTitleBk span {
font-family: var(--font-copperplate);
font-size: 8rem;
font-weight: 500;
display: block;
margin-top: -10px;
letter-spacing: -.05em;
}

#entryFlex {
display: flex;
justify-content: space-between;
}

.entry {
width: 580px;
}

.entry h3 {
position: relative;
font-size: 1.9rem;
font-weight: 700;
color: #fff;
margin-bottom: 25px;
padding-left: 42px;
letter-spacing: 0;
line-height: 1;
}

.entry h3::before {
position: absolute;
background-color: #fff;
width: 32px;
height: 4px;
content: "";
margin: auto;
left: 0;
top: 3px;
bottom: 0;
}

.btnEntry {
background-color: #fff;
width: 100%;
height: 200px;
font-size: 2.5rem;
font-weight: 500;
color: #3b7b38;
text-align: center;
padding-bottom: 5px;
cursor: pointer;
border: 0px;
line-height: 1.2;
transition: .3s;
}

.btnEntry:hover {
background-color: var(--themeColor);
color: #fff;
}

.btnEntry div {
margin: 0 auto;
padding-bottom: 5px;
display: table;
border-bottom: 3px solid var(--themeColor);
}

.btnEntry:hover div {
border-bottom: 3px solid #fff;
}

#wrapJoinUs {
background: url("../img/index_join_us_bg.jpg") no-repeat center;
background-size: cover;
width: 100%;
padding: 100px 0;
}

.joinUs {
background-color: #fff;
width: 100%;
margin-bottom: 30px;
padding: 20px;
display: flex;
justify-content: space-between;
}

.joinUs:last-child {
margin-bottom: 0;
}

.joinUsPhoto {
width: 380px;
}

.joinUsR {
position: relative;
width: 740px;
display: table;
}

.joinUsR .inner {
position: relative;
display: table-cell;
vertical-align: middle;
top: 10px;
}

.joinUsR h3 {
font-size: 2.5rem;
font-weight: 700;
margin-bottom: 10px;
letter-spacing: .1em;
line-height: 1;
}

.btnJoR {
position: absolute;
right: 30px;
bottom: 30px;
}

.btnBlack {
position: relative;
background: transparent;
font-family: var(--font-primary);
width: 140px;
font-size: 1.5rem;
font-weight: 700;
text-align: left;
color: var(--txtColor);
margin-top: 50px;
cursor: pointer;
border: 0;
letter-spacing: .2em;
}

.btnBlack::before {
position: absolute;
background-color: #000200;
width: 35px;
height: 35px;
content: "";
margin: auto;
border-radius: 35px;
top: 0;
bottom: 0;
right: 0;
transition: .3s;
}

.btnBlack::after {
position: absolute;
width: 12px;
height: 12px;
content: "";
margin: auto;
border-top: 1px solid #fff;
border-right: 1px solid #fff;
transform: rotate(45deg);
top: 0;
bottom: 0;
right: 14px;
transition: .3s;
}

.btnBlack:hover::before {
right: -5px;
}

.btnBlack:hover:after {
right: 9px;
}

.wrapColor {
background: url("../img/common_bg.jpg") no-repeat center;
background-size: cover;
width: 100%;
padding: 100px 0;
}

#ourCharmFlex {
display: flex;
justify-content: space-between;
align-items: center;
}

#ourCharmPhoto {
width: 650px;
}

#ourCharmR {
width: 465px;
font-weight: 600;
color: #fff;
}

#ourCharmR p {
margin-bottom: 0;
}

.btnWrapWh {
position: relative;
background-color: #fff;
font-family: var(--font-primary);
width: 320px;
height: 77px;
font-size: 1.5rem;
font-weight: 700;
text-align: center;
color: var(--txtColor);
margin-top: 50px;
padding-bottom: 20px;
cursor: pointer;
border: 0;
letter-spacing: .15em;
}

.arrowBk {
position: relative;
background: url("../img/btn_arrow_bk.png") no-repeat;
background-size: 35px;
width: 35px;
height: 35px;
display: inline-block;
margin-left: 10px;
transition: .3s;
top: 11px;
right: 0;
}

.btnWrapWh:hover .arrowBk {
right: -5px;
}

.wrapGray {
background-color: #eff0ef;
width: 100%;
padding: 100px 0;
}

.wrapBtnRFlex {
width: 1200px;
margin: 0 auto;
display: flex;
justify-content: space-between;
}

#wrapBtnRFlexInsta {
width: 1200px;
margin: 0 auto;
display: flex;
justify-content: space-between;
}

#wrapAaccelFlex {
width: 1200px;
margin: 0 auto;
display: flex;
justify-content: space-between;
}

#accelL {
width: 600px;
text-align: left;
}

#accelR {
width: 600px;
}

#accelRSp {
display: none;
}

.indexNewsWrap {
position: relative;
width: 100%;
font-size: 1.5rem;
text-align: justify;
border-top: 1px solid #d8ddd8;
transition: .3s;
}

.indexNewsWrap::after {
position: absolute;
width: 10px;
height: 10px;
content: "";
margin: auto;
border-top: 1px solid #000200;
border-right: 1px solid #000200;
transform: rotate(45deg);
top: 0;
bottom: 0;
right: 30px;
transition: .3s;
}

.indexNewsWrap:last-of-type {
border-bottom: 1px solid #d8ddd8;
}

.indexNewsWrap:hover {
background-color: #000200;
}

.indexNewsWrap:hover::after {
border-top: 1px solid #fff;
border-right: 1px solid #fff;
right: 25px;
}

.indexNewsFlex {
width: 100%;
padding: 20px;
display: flex;
justify-content: space-between;
}

.indexNewsL {
width: 250px;
}

.indexNewsWrap:hover .indexNewsL {
color: #fff;
}

.indexNewsL .category {
position: relative;
background-color: #000200;
width: 124px;
height: 25px;
font-size: 1.4rem;
font-weight: 700;
text-align: center;
color: #fff;
margin-left: 20px;
display: inline-block;
border-radius: 5px;
line-height: 23px;
top: -1px;
}

.indexNewsWrap:hover .category {
background-color: #fff;
color: #000200;
}

.indexNewsR {
width: 78%;
margin-left: 20px;
padding-right: 50px;
}

.indexNewsWrap:hover .indexNewsR {
color: #fff;
}

.wrapWhite {
background-color: #fff;
width: 100%;
padding: 100px 0;
}

#instaFlex {
margin-top: 60px;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}

.insta {
width: 275px;
margin-bottom: 30px;
}

/**/

#titleWrap {
position: relative;
background: url("../img/kv_bg.jpg") no-repeat top center;
background-size: cover;
width: 100%;
height: 400px;
}

#contentsTitle {
position: absolute;
width: 1200px;
font-size: 2rem;
font-weight: 700;
text-align: left;
margin: 0 auto;
line-height: 4.5em;
top: 50%;
left: 50%;
transform: translateY(-50%) translateX(-50%);
}

#contentsTitle span {
font-family: var(--font-copperplate);
font-size: 10rem;
font-weight: 500;
display: block;
margin-top: -15px;
letter-spacing: -.05em;
}

#breadcrumb {
position: absolute;
width: 1200px;
font-size: 1.2rem;
text-align: justify;
margin: auto;
left: 0;
right: 0;
bottom: 20px;
}

#pageTitle {
position: relative;
background-color: #fcfcfc;
width: 1200px;
height: 160px;
margin: 0 auto;
margin-bottom: 80px;
}

#pageTitle::after {
position: absolute;
background-color: #fcfcfc;
width: 20000px;
height: 160px;
content: "";
right: -20000px;
top: 0;
}

#pageTitle h2 {
position: relative;
font-size: 3.8rem;
font-weight: 700;
text-align: left;
padding: 43px 0 43px 75px;
letter-spacing: .15em;
}

#pageTitle h2::before {
position: absolute;
background-color: var(--themeColor);
width: 30px;
height: 2px;
content: "";
margin: auto;
left: 0;
top: 10px;
bottom: 0;
}

#pageTitle h2::after {
position: absolute;
background-color: var(--txtColor);
width: 30px;
height: 2px;
content: "";
margin: auto;
left: 30px;
top: 10px;
bottom: 0;
}

.wrapCo {
position: relative;
width: 1200px;
text-align: justify;
margin: 0 auto;
}

.wrapCoWh {
background-color: #fff;
width: 1200px;
text-align: justify;
margin: 0 auto;
margin-bottom: 100px;
padding: 88px;
}

/*アクセルの魅力*/

.chamFlex {
margin-bottom: 100px;
display: flex;
justify-content: space-between;
align-items: center;
}

.chamFlexBottom {
position: relative;
margin-bottom: 210px;
display: flex;
justify-content: space-between;
align-items: flex-end;
}

.chamPhoto {
width: 680px;
}

.chamTxt,
.chamTxt2 {
position: relative;
width: 520px;
padding: 0 80px 0 80px;
}

.chamTxt2 {
padding: 120px 80px 0 80px;
}

.chamTxt h3,
.chamTxt2 h3 {
font-size: 3rem;
font-weight: 600;
margin-bottom: 25px;
line-height: 1.6;
letter-spacing: .15em
}

.chamTxt p,
.chamTxt2 p {
margin-bottom: 0;
}

.chamTxtBg,
.chamTxtBg2 {
position: absolute;
background-color: #fff;
width: 3000px;
height: 500px;
content: "";
z-index: -1;
left: -2300px;
top: 110px;
}

.chamTxtBg2 {
height: 700px;
top: 0px;
}

#chamBottomWrap {
width: 1024px;
margin: 0 auto;
padding: 50px 0 160px;
}

#chamBottomWrap h3 {
font-size: 3rem;
font-weight: 600;
margin-bottom: 25px;
line-height: 1.6;
letter-spacing: .15em
}

#chamBottomBg {
position: absolute;
background-color: #fff;
width: 875px;
height: 100vh;
content: "";
z-index: -1;
right: 0;
top: 0;
}

.wrapColorLightBlue {
background: url("../img/environment_bg.jpg") no-repeat center;
background-size: cover;
width: 100%;
padding: 100px 0;
}

#wakuwakuTitle {
font-size: 3.4rem;
font-weight: 600;
margin-bottom: 40px;
line-height: 1;
}

#wakuwakuSubTitle {
font-size: 2.4rem;
font-weight: 600;
margin-bottom: 80px;
line-height: 1;
}

#wakuwakuFlex {
width: 1200px;
margin: 0 auto;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}

.wakuwaku {
position: relative;
width: 580px;
height: 80px;
font-size: 2.2rem;
font-weight: 600;
margin-bottom: 80px;
line-height: 76px;
border: 1px solid #778078;
letter-spacing: .15em;
}

.wakuwaku:nth-child(3),
.wakuwaku:nth-child(4) {
margin-bottom: 0;
}

.wakuwaku h4 {
position: absolute;
font-size: 1.6rem;
font-weight: 600;
margin: auto;
line-height: 1;
left: 0;
right: 0;
top: -65px;
}

.wakuwaku h4 span {
position: relative;
font-family: var(--font-inter);
font-size: 6rem;
font-weight: 500;
top: 15px;
}

.btnWrapWh440 {
position: relative;
background-color: #fff;
font-family: var(--font-primary);
width: 440px;
height: 77px;
font-size: 1.5rem;
font-weight: 700;
text-align: center;
color: var(--txtColor);
margin-top: 50px;
padding-bottom: 20px;
cursor: pointer;
border: 0;
letter-spacing: .15em;
}

.arrowBk {
position: relative;
background: url("../img/btn_arrow_bk.png") no-repeat;
background-size: 35px;
width: 35px;
height: 35px;
display: inline-block;
margin-left: 10px;
transition: .3s;
top: 11px;
right: 0;
}

.btnWrapWh440:hover .arrowBk {
right: -5px;
}

#companyBtnFlex {
width: 1200px;
margin: 0 auto;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}

.btnCompany {
position: relative;
background: transparent;
width: 580px;
height: 200px;
font-size: 3.2rem;
font-weight: 600;
color: #fff;
margin-bottom: 42px;
padding-bottom: 50px;
cursor: pointer;
border: 1px solid #fff;
letter-spacing: .15em;
}

.btnCompany:nth-child(3),
.btnCompany:nth-child(4) {
margin-bottom: 0;
}

.btnCompany::after {
position: absolute;
width: 20px;
height: 20px;
content: "";
border-top: 1px solid #fff;
border-right: 1px solid #fff;
margin: auto;
transform: rotate(45deg);
left: -15px;
right: 0;
top: 0;
bottom: -60px;
transition: .3s;
}

.btnCompany:hover::after  {
left: -5px;
}

/*研修制度*/

.contentsSubTitle {
font-size: 3rem;
font-weight: 600;
margin-bottom: 32px;
line-height: 1.7;
letter-spacing: .15em;
}

.contentsSubTitle span {
font-family: var(--font-copperplate);
font-size: 1.6rem;
font-weight: 500;
display: block;
letter-spacing: 0;
}

.maBottom {
margin-bottom: 60px;
}

.trainingWrap {
background-color: #fff;
margin: 0 auto;
margin-top: 30px;
padding: 88px;
overflow: hidden;
}

.trainingWrap:last-child {
margin-bottom: 100px;
}

.trainingWrap h3 {
position: relative;
font-size: 3rem;
font-weight: 600;
margin-bottom: 30px;
padding-right: 20px;
display: inline-block;
line-height: 1;
letter-spacing: .1em;
z-index: 0;
}

.trainingWrap h3::before {
position: absolute;
background-color: #eff0ef;
min-width: 600px;
height: 16px;
content: "";
z-index: -1;
right: 0;
bottom: -10px;
}

.trainingWrap  p {
margin-bottom: 0;
}

.btnWrapBk440 {
position: relative;
background-color: var(--txtColor);
font-family: var(--font-primary);
width: 440px;
height: 77px;
font-size: 1.5rem;
font-weight: 700;
text-align: center;
color: #fff;
margin-top: 50px;
padding-bottom: 20px;
cursor: pointer;
border: 0;
letter-spacing: .15em;
}

.arrowWh {
position: relative;
background: url("../img/btn_arrow_wh.png") no-repeat;
background-size: 35px;
width: 35px;
height: 35px;
display: inline-block;
margin-left: 10px;
transition: .3s;
top: 11px;
right: 0;
}

.btnWrapBk440:hover .arrowWh {
right: -5px;
}

/*キャリアパス*/

.contentsSubTitleLine {
font-size: 2.4rem !important;
font-weight: 600;
margin-bottom: 25px;
padding: 2px 0 7px 20px !important;
line-height: 1 !important;
letter-spacing: .15em !important;
border-left: 4px solid var(--themeColor);
}

.contentsSubTitleNoLine {
font-size: 2.4rem;
font-weight: 600;
margin-bottom: 25px;
padding: 2px 0 7px;
line-height: 1;
letter-spacing: .15em;
}

.careerPathWrap {
background-color: #fff;
width: 100%;
font-size: 2rem;
margin-bottom: 50px;
padding: 70px;
line-height: 1;
}

.careerPathWrap:last-child {
margin-bottom: 100px;
}

.careerPathWrap h4 {
font-size: 1.6rem;
font-weight: 700;
margin: 40px 0 20px;
}

.contentsSubSubTitle {
font-size: 2.4rem;
font-weight: 600;
}

#geFlex {
margin: 30px auto;
margin-bottom: 35px;
display: flex;
justify-content: space-between;
}

#geL {
background-color: var(--txtColor);
width: 200px;
font-size: 2.4rem;
font-weight: 700;
color: #fff;
padding: 20px;
letter-spacing: .2em;
line-height: 1.2;
}

#geR {
width: 990px;
font-size: 2rem;
}

.geRWrap {
background-color: #fff;
width: 100%;
margin-bottom: 10px;
padding: 15px 20px;
}

.geRWrap:last-child {
margin-bottom: 0;
}

.geRWrap dt {
float: left;
font-weight: 600;
}

.geRWrap dd {
padding: 0 0 0 170px;
}

.btnR {
text-align: right;
margin: 0 0 0 auto;
}

#careerStoryFlex {
margin: 20px auto;
display: flex;
justify-content: space-between;
}

#careerStoryL {
width: 60px;
margin-top: 30px;
line-height: 1;
}

#careerStoryL h3 {
font-size: 2.4rem;
font-weight: 600;
display: inline-table;
padding-bottom: 10px;
border-bottom: 2px solid var(--txtColor);
}

#careerStoryR {
width: 1112px;
}

.careerStoryWrap {
background: url("../img/career_story_bg.png") no-repeat center;
background-size: cover;
width: 100%;
margin-top: 30px;
padding: 30px;
display: flex;
justify-content: space-between;
}

.careerStoryL {
width: 630px;
font-size: 2rem;
}

.careerStoryL h4 {
font-size: 3.2rem;
font-weight: 600;
margin-bottom: 30px;
letter-spacing: .1em;
line-height: 1;
}

.careerStoryR {
width: 380px;
}

.kakkoFlex {
width: 100%;
height: 100px;
margin-top: 30px;
display: flex;
justify-content: space-between;
}

.kakkoL {
background: url("../img/career_story_kakko_l.png") no-repeat;
background-size: 24px;
width: 24px;
height: 48px;
}

.kakkoTxt {
padding: 25px 0;
}

.kakkoR {
position: relative;
background: url("../img/career_story_kakko_r.png") no-repeat;
background-size: 24px;
width: 24px;
height: 48px;
top: 46px;
}

/*アクセルとは*/

#aboutAccelFlex01 {
margin: 160px auto;
display: flex;
justify-content: space-between;
}

#aboutAccelL01 {
width: 300px;
}

#aboutAccelR01 {
width: 620px;
}

#aboutAccelR01 h4 {
font-size: 2.8rem;
font-weight: 600;
margin-bottom: 30px;
line-height: 1.7;
letter-spacing: .15em;
}

#aboutAccelR01 p {
margin-bottom: 0;
}

#wrapBusinessDetails {
background: url("../img/about_accel_bg.jpg") no-repeat center;
background-size: cover;
width: 100%;
color: #fff;
text-align: justify;
padding: 100px 0;
}

#businessDetailsFlex {
margin-bottom: 64px;
padding-bottom: 64px;
display: flex;
justify-content: space-between;
border-bottom: 1px solid #c9c9c9;
}

#businessDetailsL {
width: 665px;
}

#wrapBusinessDetails h4 {
font-size: 2.8rem;
font-weight: 600;
margin-bottom: 30px;
line-height: 1.7;
letter-spacing: .15em
}

#businessDetailsR {
width: 468px;
}

#wrapBusinessDetails p:last-child {
margin-bottom: 0;
}

#topMessageFlex {
width: 1110px;
margin: 0 auto;
padding: 100px 0;
display: flex;
justify-content: space-between;
align-items: center;
}

#topMessageL {
width: 580px;
}

#topMessageR {
width: 432px;
text-align: justify;
}

#wrapPhilosophyMission {
background: url("../img/about_accel_bg02.jpg") no-repeat center;
background-size: cover;
width: 100%;
color: #fff;
text-align: justify;
padding: 100px 0;
}

.philosophyMissionFlex {
width: 1110px;
margin: 0 auto;
margin-bottom: 100px;
display: flex;
justify-content: space-between;
}

.philosophyMissionFlex:last-child {
margin-bottom: 0;
}

#philosophyMissionR {
position: relative;
background: rgba(255,255,255,.2);
width: 630px;
height: 690px;
font-size: 1.8rem;
font-weight: 600;
padding: 60px;
}

#philosophyMissionR::after {
position: absolute;
background: rgba(255,255,255,.2);
width: 5000px;
height: 690px;
content: "";
top: 0;
right: -5000px;
}

#philosophyMissionR #philosophyTitle {
font-size: 5rem;
margin-bottom: 32px;
line-height: 1.4;
letter-spacing: .15em;
}

#philosophyMissionR #philosophyTitle span {
font-family: var(--font-copperplate);
font-size: 2.8rem;
font-weight: 500;
display: block;
letter-spacing: 0;
}

#philosophyTxt {
font-size: 2.4rem;
margin-bottom: 50px;
padding-bottom: 50px;
line-height: 1.7;
border-bottom: 1px solid #fff;
}

#philosophyMissionR #missionTitle {
font-size: 2.8rem;
margin-bottom: 32px;
line-height: 1.4;
letter-spacing: .15em;
}

#philosophyMissionR #missionTitle span {
font-family: var(--font-copperplate);
font-size: 2rem;
font-weight: 500;
display: block;
letter-spacing: 0;
}

#philosophyMissionR02 {
position: relative;
background-color: #fff;
width: 630px;
height: 355px;
font-size: 1.6rem;
font-weight: 600;
color: var(--txtColor);
padding: 60px;
}

#philosophyMissionR02::after {
position: absolute;
background-color: #fff;
width: 5000px;
height: 355px;
content: "";
top: 0;
right: -5000px;
}

#philosophyMissionR02 dl {
position: relative;
}

#philosophyMissionR02 dl::before {
position: absolute;
background: url("../img/about_accel_history.png") no-repeat;
background-size: 8px;
width: 8px;
height: 220px;
content: "";
left: 80px;
top: 14px;
}

#philosophyMissionR02 dt {
float: left;
font-family: var(--font-inter);
margin-bottom: .09em;
padding: 0
}

#philosophyMissionR02 dt span {
font-family: var(--font-primary);
font-size: 1.4rem;
}

#philosophyMissionR02 dd {
margin-bottom: .09em;
padding: 0 0 0 100px;
}

#outline {
width: 100%;
text-align: justify;
}

#outline table {
width: 100%;
margin-bottom: 30px;
}

#outline th,
#outline td {
padding: 10px 20px;
border: 1px solid #d8ddd8
}

#outline th {
background-color: #eff0ef;
width: 270px;
font-weight: 600;
}

/*数字で見るアクセル*/

#aboutNumbersBg {
background: url("../img/about_numbers_bg.jpg") no-repeat center top;
background-size: cover;
width: 100%;
padding-bottom: 120px;
}

.aboutNumbers {
width: 100%;
margin-top: 80px;
}

/*健康経営への取り組み*/

#healthPolicyWrap {
background-color: #fff;
margin: 100px auto;
margin-top: 80px;
padding: 90px 90px 60px;
}

#healthPolicyWrap h3 {
font-size: 2.8rem;
font-weight: 600;
margin-bottom: 40px;
letter-spacing: .15em;
line-height: 1;
}

#healthPolicyWrap h4 {
font-size: 2.4rem;
font-weight: 600;
margin-top: 40px;
margin-bottom: 20px;
letter-spacing: .15em;
line-height: 1;
}

#healthPolicyWrap dl {
margin-bottom: 36px;
}

#healthPolicyWrap dt {
float: left;
}

#healthPolicyWrap dd {
padding: 0 0 0 22px;
}

#wrapCertification {
background: url("../img/index_entry_bg.jpg") no-repeat center;
background-size: cover;
width: 100%;
padding: 100px 0;
}

#certificationWrap {
background-color: #fff;
width: 1200px;
font-size: 1.8rem;
font-weight: 600;
margin: 0 auto;
padding: 60px 60px 30px;
}

#certificationWrap h3 {
font-size: 2.8rem;
margin-bottom: 10px;
}

#certificationWrap h3 span {
padding-bottom: 5px;
border-bottom: 2px solid var(--themeColor);
}

#healthIcon {
width: 290px;
margin: 0 auto;
margin-bottom: 30px;
}

/*福利厚生・制度*/

.employeeBenefitsFlex {
width: 100%;
padding: 60px 0;
display: flex;
justify-content: space-between;
border-bottom: 1px solid #c9c9c9;
}

.employeeBenefitsFlex:last-child {
margin-bottom: 100px;
}

.employeeBenefitsTxt {
width: 790px;
}

.employeeBenefitsTxt p {
margin-bottom: 0;
}

.employeeBenefitsPhoto {
width: 280px;
}

#aboutVoiceWrap {
width: 1024px;
margin: 0 auto;
padding: 60px 0 0;
}

.aboutVoiceFlex {
width: 100%;
margin-bottom: 60px;
display: flex;
justify-content: space-between;
align-items: flex-start;
}

.aboutVoicePhoto {
width: 260px;
}

.aboutVoicePhoto .name {
font-size: 2rem;
font-weight: 600;
margin-top: 20px;
}

.aboutVoicePhoto .name span {
font-size: 1.6rem;
font-weight: 400;
color: #7b7e7b;
display: block;
}

.aboutVoiceTxtR {
position: relative;
background-color: #329f2c;
width: 712px;
color: #fff;
padding: 36px 40px;
border-radius: 30px;
}

.aboutVoiceTxtR::before {
position: absolute;
background-color: #329f2c;
display: block;
content: "";
bottom: 0;
left: -30px;
width: 70px;
height: 70px;
clip-path: polygon(100% 0, 0 100%, 100% 100%);
}

.aboutVoiceTxtL {
position: relative;
background-color: #646464;
width: 712px;
color: #fff;
padding: 36px 40px;
border-radius: 30px;
}

.aboutVoiceTxtL::before {
position: absolute;
background-color: #646464;
display: block;
content: "";
bottom: 0;
right: -30px;
width: 70px;
height: 70px;
clip-path: polygon(0 0, 0% 100%, 100% 100%);
}

/*営業職について*/

.businessContentFlex {
margin: 30px auto;
display: flex;
justify-content: flex-start;
flex-wrap: wrap;
}

.businessContent {
background-color: #fff;
width: 376px;
height: 80px;
margin-right: 36px;
margin-bottom: 25px;
padding: 15px 22px;
display: flex;
justify-content: space-between;
align-items: center;
line-height: 1.5;
}

.businessContent:nth-of-type(3n) {
margin-right: 0;
}

.businessContentIcon {
width: 55px;
}

.businessContentIcon img {
max-height: 45px;
}

.businessContentTxt {
width: 270px;
font-weight: 600;
text-align: center;
}

#jobsScheduleWrap {
background-color: #fff;
width: 100%;
margin-bottom: 100px;
padding: 80px 80px 60px;
}

#jobsScheduleWrap dl {
position: relative;
margin: 40px auto;
}

#jobsScheduleWrap dl::after {
position: absolute;
background-color: var(--themeColor);
width: 2px;
height: 100%;
content: "";
border-radius: 13px;
top: 10px;
left: 142px;
}

#jobsScheduleWrap dt {
position: relative;
float: left;
width: 150px;
font-family: var(--font-inter);
font-size: 2.8rem;
margin-bottom: 60px;
line-height: 1;
}

#jobsScheduleWrap dt::after {
position: absolute;
background-color: var(--themeColor);
width: 13px;
height: 13px;
content: "";
margin: auto;
border-radius: 13px;
top: 0;
bottom: 0;
right: 0;
}

#jobsScheduleWrap dd {
margin-bottom: 60px;
padding: 0 0 0 190px;
}

#jobsScheduleWrap dd h5 {
font-size: 2rem;
font-weight: 600;
margin-bottom: 15px;
line-height: 1.2;
}

#careerModelImg {
margin: 15px auto;
margin-bottom: 30px;
}

#interviewBtnWrap {
background-color: #fff;
text-align: center;
margin: 120px auto;
margin-top: 80px;
padding: 40px;
}

#btnInterview01,
#btnInterview02,
#btnInterview03 {
position: relative;
font-family: var(--font-copperplate);
background: transparent url("../img/jobs_btn_bg01.jpg") no-repeat right;
background-size: 140px;
width: 480px;
height: 140px;
margin: 0 auto;
font-size: 1.6rem;
text-align: left;
color: #3b7b38;
cursor: pointer;
border: 0;
line-height: 1.5;
}

#btnInterview02 {
background: transparent url("../img/jobs_btn_bg02.jpg") no-repeat right;
background-size: 140px;
}

#btnInterview03 {
background: transparent url("../img/jobs_btn_bg03.jpg") no-repeat right;
background-size: 140px;
}

#btnInterview01 span,
#btnInterview02 span,
#btnInterview03 span {
font-family: var(--font-primary);
font-size: 2rem;
font-weight: 600;
display: block;
}

#btnInterview01::before,
#btnInterview02::before,
#btnInterview03::before {
position: absolute;
background-color: var(--themeColor);
width: 35px;
height: 35px;
content: "";
margin: auto;
border-radius: 35px;
top: 0;
bottom: 0;
left: 0;
right: -90px;
transition: .3s;
}

#btnInterview01::after,
#btnInterview02::after,
#btnInterview03::after {
position: absolute;
width: 12px;
height: 12px;
content: "";
margin: auto;
border-top: 1px solid #fff;
border-right: 1px solid #fff;
transform: rotate(45deg);
top: 0;
bottom: 0;
left: 0;
right: -84px;
transition: .3s;
}

#btnInterview01:hover::before,
#btnInterview02:hover::before,
#btnInterview03:hover::before {
right: -95px;
}

#btnInterview01:hover::after,
#btnInterview02:hover::after,
#btnInterview03:hover::after {
right: -89px;
}

/*インタビュー*/

#interviewNavTitle {
font-size: 2.4rem;
font-weight: 600;
text-align: center;
margin-bottom: 30px;
}

#interviewNav ul {
width: 100%;
text-align: center;
margin-bottom: 80px;
display: flex;
justify-content: space-between;
}

#interviewNav ul li a {
background-color: #fff;
width: 376px;
height: 60px;
font-size: 2rem;
font-weight: 600;
display: block;
line-height: 58px;
transition: .3s;
}

#interviewNav ul li a:hover {
background-color: var(--txtColor);
color: #fff;
}

#interviewNav ul li a.active {
background-color: var(--txtColor);
color: #fff;
}

#interviewFlex {
margin-bottom: 100px;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}

.interviewWrap {
position: relative;
width: 420px;
margin-right: 48px;
margin-bottom: 60px;
padding-bottom: 180px;
z-index: 0;
}

.interviewWrap:nth-of-type(2),
.interviewWrap:nth-of-type(6) {
margin-top: 140px;
}

.interviewWrap:nth-of-type(2)::after,
.interviewWrap:nth-of-type(6)::after {
position: absolute;
background-color: #fff;
width: 3000px;
height: 370px;
content: "";
z-index: -1;
top: -60px;
right: -2670px;
}

.interviewWrap:nth-of-type(3),
.interviewWrap:nth-of-type(7) {
margin-top: -80px;
margin-left: 140px;
}

.interviewWrap:nth-of-type(3)::after,
.interviewWrap:nth-of-type(7)::after {
position: absolute;
background-color: #fff;
width: 3000px;
height: 235px;
content: "";
z-index: -1;
top: 410px;
left: -2780px;
}

.interviewWrap:nth-of-type(4),
.interviewWrap:nth-of-type(8) {
margin-top: 60px;
margin-right: 115px;
margin-bottom: 30px;
}

.interviewPhoto {
position: relative;
width: 420px;
height: 472px;
overflow: hidden;
margin-bottom: 30px;
}

.interviewPhoto img {
width: 100%;
height: 472px;
object-fit: cover;
transition: .3s ease-in-out;
}

.interviewWrap:hover .interviewPhoto img {
transform: scale(1.05);
}

.interviewWrap .category {
position: absolute;
background-color: #eff0ef;
width: 170px;
height: 54px;
font-size: 1.5rem;
font-weight: 600;
text-align: center;
border-radius: 0 30px 0 0;
line-height: 52px;
letter-spacing: .15em;
bottom: 0;
}

.interviewWrap:nth-of-type(1) .category,
.interviewWrap:nth-of-type(2) .category,
.interviewWrap:nth-of-type(3) .category,
.interviewWrap:nth-of-type(5) .category,
.interviewWrap:nth-of-type(7) .category {
left: 0;
}

.interviewWrap:nth-of-type(4) .category,
.interviewWrap:nth-of-type(8) .category {
border-radius: 30px 0 0 0;
right: 0;
}

.interviewWrap .interviewTitleCo {
position: absolute;
font-size: 3.2rem;
writing-mode: vertical-rl;
line-height: 1.8em;
z-index: 1;
letter-spacing: .15em;
top: 135px;
white-space: nowrap;
/*text-orientation: upright;*/
}

.interviewWrap .interviewTitleCo span {
background-color: #fff;
padding: 10px 0;
}

.interviewWrap .interviewTitleCo span:last-child {
margin-top: 140px;
}

.interviewWrap:nth-of-type(1) .interviewTitleCo,
.interviewWrap:nth-of-type(5) .interviewTitleCo {
right: -80px
}

.interviewWrap:nth-of-type(2) .interviewTitleCo,
.interviewWrap:nth-of-type(6) .interviewTitleCo {
top: 170px;
right: 30px
}

.interviewWrap:nth-of-type(3) .interviewTitleCo,
.interviewWrap:nth-of-type(7) .interviewTitleCo {
top: -30px;
left: -85px;
}

.interviewWrap:nth-of-type(4) .interviewTitleCo,
.interviewWrap:nth-of-type(8) .interviewTitleCo {
top: 220px;
left: -30px;
}

.interviewWrap .name {
width: 80%;
font-size: 2.4rem;
font-weight: 600;
margin: 0 auto;
letter-spacing: .15em;
line-height: 1.7;
}

.interviewWrap .startDate {
width: 80%;
font-size: 1.6rem;
margin: 0 auto;
}

.interviewWrap:nth-of-type(3) .name,
.interviewWrap:nth-of-type(4) .name,
.interviewWrap:nth-of-type(7) .name,
.interviewWrap:nth-of-type(8) .name {
width: 40%;
display: table;
margin: 0 0 0 auto;
}

.interviewWrap:nth-of-type(3) .startDate,
.interviewWrap:nth-of-type(4) .startDate,
.interviewWrap:nth-of-type(7) .startDate,
.interviewWrap:nth-of-type(8) .startDate {
width: 40%;
display: table;
margin: 0 0 0 auto;
}

/**/

.pageNavi {
margin: 120px auto;
margin-top: -60px;
}

.pageNaviNews {
margin: 0 auto;
margin-top: 60px;
}

.wp-pagenavi {
position: relative;
font-size: 1.4rem;
text-align: center;
margin: 0 auto;
display: flex;
justify-content: center;
line-height: 40px;
}

.wp-pagenavi .pages {
display: none;
}

.wp-pagenavi .page {
margin: 0 3px;
}

.wp-pagenavi .current {
background-color: var(--txtColor);
width: 45px;
height: 45px;
color: #fff;
margin: 0 3px;
display: block;
border: 1px solid var(--txtColor) !important;
}

.wp-pagenavi a,
.wp-pagenavi .extend {
width: 45px;
height: 45px;
display: block;
border: 1px solid var(--txtColor) !important;
}
.wp-pagenavi .first,
.wp-pagenavi .last {
display: none;
}

.wp-pagenavi a:hover {
background-color: var(--txtColor);
color: #fff;
text-decoration: none;
}

.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
position: relative;
font-size: 0;
text-indent: -1000px;
border: 0 !important;
}

.wp-pagenavi a:hover.previouspostslink,
.wp-pagenavi a:hover.nextpostslink {
background-color: #fff;
}

.wp-pagenavi .previouspostslink::after {
position: absolute;
width: 12px;
height: 12px;
content: "";
margin: auto;
border-top: 1px solid var(--txtColor);
border-left: 1px solid var(--txtColor);
transform: rotate(-45deg);
left: 0;
right: 0;
top: 0;
bottom: 0;
}

.wp-pagenavi .nextpostslink::after {
position: absolute;
width: 12px;
height: 12px;
content: "";
margin: auto;
border-top: 1px solid var(--txtColor);
border-right: 1px solid var(--txtColor);
transform: rotate(45deg);
left: 0;
right: 0;
top: 0;
bottom: 0;
}

#titleWrapInterview {
position: absolute;
background: url("../img/interview_bg.jpg") no-repeat top left;
background-size: 50%;
width: 100%;
height: 100%;
z-index: -1;
left: 0;
top: 0;
}

#contentsTitleInterview {
position: relative;
width: 1200px;
font-size: 2rem;
font-weight: 600;
text-align: left;
margin: 0 auto;
padding-left: 50px;
top: 178px;
}

#contentsTitleInterview::before {
position: absolute;
background-color: var(--themeColor);
width: 16px;
height: 2px;
content: "";
margin: auto;
left: 0;
top: 0;
bottom: 0;
}

#contentsTitleInterview::after {
position: absolute;
background-color: var(--txtColor);
width: 16px;
height: 2px;
content: "";
margin: auto;
left: 16px;
top: 0;
bottom: 0;
}

#interviewKv {
position: relative;
width: 60%;
margin: 500px 0 0 auto;
z-index: 0;
}

#wrapInterview {
position: relative;
width: 1024px;
text-align: justify;
margin: 100px auto;
/*margin-top: -48%;*/
padding: 0 0 60px;
z-index: 1;
}

#interviewTitle {
position: absolute;
width: 1024px;
font-size: 5.5rem;
text-align: left;
margin: auto;
padding-top: 50px;
line-height: 1.5;
letter-spacing: .1em;
z-index: 115;
left: 0;
right: 0;
top: 220px;
}

#interviewTitleName {
position: absolute;
width: 1024px;
font-size: 3.6rem;
font-weight: 600;
text-align: left;
margin: auto;
letter-spacing: .15em;
left: 0;
right: 0;
top: 650px;
}

#interviewTitleStartDate {
position: absolute;
width: 1024px;
font-size: 2rem;
text-align: left;
margin: auto;
left: 0;
right: 0;
top: 720px;
}

#wrapInterview h2 {
font-size: 2.4rem;
font-weight: 600;
margin-top: 80px;
margin-bottom: 30px;
letter-spacing: .15em;
}

#interviewPostPhoto {
position: relative;
width: 900px;
margin: 0;
margin-bottom: 200px;
z-index: 0;
}

#interviewPostPhoto::after {
position: absolute;
background-color: #fff;
width: 250px;
height: 195px;
content: "";
z-index: -1;
right: -80px;
bottom: -70px;
}

#careerModelExampleFlex ul {
margin-top: 15px;
margin-bottom: 100px;
display: flex;
justify-content: flex-start;
flex-wrap: wrap;
}

.careerModelExample {
position: relative;
background-color: #fff;
width: 260px;
height: 48px;
font-size: 1.6rem;
font-weight: 600;
text-align: center;margin-right: 40px;
margin-bottom: 20px;
border-radius: 100px;
line-height: 46px;
}

.careerModelExample::after {
position: absolute;
background: url("../img/interview_arrow.png") no-repeat;
background-size: 40px;
width: 40px;
height: 40px;
content: "";
right: -40px;
}

.careerModelExample:last-child::after {
background: none;
}

/*採用情報*/

.wrapRecruit {
background-color: #fff;
width: 1200px;
text-align: justify;
margin: 0 auto;
margin-bottom: 100px;
padding: 88px;
}

.wrapRecruit h3 {
font-size: 2.8rem;
font-weight: 600;
margin-bottom: 30px;
letter-spacing: .15em;
line-height: 1;
}

.wrapRecruit dt {
float: left;
font-weight: 600;
padding: 25px 0;
}

.wrapRecruit dd {
padding: 25px 0 25px 110px;
border-bottom: 1px solid #707070;
}

.recruitFlow {
margin-bottom: 100px;
}

.recruiteFlowFlex {
margin-top: 60px;
display: flex;
justify-content: space-between;
}

.recruiteFlowTxt {
width: 622px;
font-size: 2rem;
font-weight: 600;
letter-spacing: .15em;
}

.recruiteFlowTxt h4 {
font-family: var(--font-inter);
font-size: 4rem;
font-weight: 400;
margin-bottom: 20px;
display: inline-block;
border-bottom: 2px solid var(--txtColor);
line-height: 1.5;
}

.recruiteFlowTxt h4 span {
position: relative;
font-family: var(--font-primary);
font-size: 1.6rem;
font-weight: 600;
top: -2px;
}

.recruiteFlowPhoto {
width: 362px;
}

/**/

#prevNextWrap {
margin-bottom: 120px;
display: flex;
justify-content: space-between;
align-items: center;
}

.btnBackToList {
background-color: #fff;
font-family: var(--font-primary);
width: 170px;
height: 60px;
font-size: 1.4rem;
font-weight: 700;
color: var(--txtColor);
cursor: pointer;
padding-bottom: 3px;
border: 1px solid var(--txtColor);
border-radius: 100px;
transition: .3s;
}

.btnBackToList:hover {
background-color: var(--txtColor);
color: #fff;
}

.btnPrevWrap,
.btnNextWrap {
width: 120px;
}

.btnPrevIWrap,
.btnNextIWrap {
width: 180px;
}

.btnPrev,
.btnNext,
.btnPrevI,
.btnNextI {
position: relative;
background: transparent;
width: 100%;
height: 25px;
font-size: 1.4rem;
font-weight: 700;
text-align: left;
color: var(--txtColor);
padding: 0 10px;
border: none;
cursor: pointer;
}

.btnPrev,
.btnPrevI {
text-align: right;
}

.btnNext:hover::before,
.btnPrev:hover::before,
.btnNextI:hover::before,
.btnPrevI:hover::before {
background-color: #fff;
}

.btnPrev::after,
.btnPrevI::after {
position: absolute;
width: 10px;
height: 10px;
content: "";
margin: auto;
border-top: 1px solid var(--txtColor);
border-left: 1px solid var(--txtColor);
transform: rotate(-45deg);
left: 17px;
top: 0;
bottom: 0;
}

.btnNext::after,
.btnNextI::after {
position: absolute;
width: 10px;
height: 10px;
content: "";
margin: auto;
border-top: 1px solid var(--txtColor);
border-right: 1px solid var(--txtColor);
transform: rotate(45deg);
z-index: 10;
right: 17px;
top: 0;
bottom: 0;
}

.btnNext:hover::after,
.btnNextI:hover::after {
border-top: 1px solid #fff;
border-right: 1px solid #fff;
}

.btnPrev:hover::after,
.btnPrevI:hover::after {
border-top: 1px solid #fff;
border-left: 1px solid #fff;
}

.btnNext .circle,
.btnNextI .circle {
position: absolute;
width: 40px;
height: 40px;
border-radius: 40px;
border: 1px solid var(--txtColor);
margin: auto;
right: 0;
top: 0;
bottom: 0;
transition: .3s;
transform: scale(1);
}

.btnPrev .circle,
.btnPrevI .circle {
position: absolute;
width: 40px;
height: 40px;
border-radius: 40px;
border: 1px solid var(--txtColor);
margin: auto;
left: 0;
top: 0;
bottom: 0;
transition: .3s;
}

.btnPrev:hover .circle,
.btnNext:hover .circle,
.btnPrevI:hover .circle,
.btnNextI:hover .circle {
background-color: var(--txtColor);
}

/*お知らせ*/

#newsNav ul {
margin-bottom: 60px;
text-align: center;
display: flex;
justify-content: center;
}

#newsNav ul li  {
margin: 0 5px;
}

#newsNav ul li a {
width: 180px;
font-size: 2rem;
font-weight: 600;
color: #c9c9c9;
padding-bottom: 10px;
display: block;
border-bottom: 2px solid #c9c9c9;
transition: .3s;
}

#newsNav ul li a:hover {
color: #3b7b38;
border-bottom: 2px solid var(--themeColor);
}

#newsNav ul li a.active {
color: #3b7b38;
border-bottom: 2px solid var(--themeColor);
}

.postWrapDate {
margin-bottom: 60px;
}

.postWrapDate .category {
position: relative;
background-color: #000200;
width: 124px;
height: 25px;
font-size: 1.4rem;
font-weight: 700;
text-align: center;
color: #fff;
margin-left: 20px;
display: inline-block;
border-radius: 5px;
line-height: 23px;
top: -1px;
}

.postWrap {
width: 824px;
margin: 0 auto;
}

.postWrap h1 {
font-size: 2.4rem;
font-weight: 600;
margin-bottom: 35px;
line-height: 1.6;
}

.postWrap p:last-child {
margin-bottom: 80px;
}

/*よくある質問*/

.faqQ {
background-color: #eff0ef;
padding: 20px 30px;
}

.faqQ dt {
float: left;
font-family: var(--font-inter);
font-size: 3.4rem;
font-weight: 500;
line-height: 1.5;
}

.faqQ dd {
font-size: 2.4rem;
font-weight: 600;
padding: 6px 0 6px 50px;
line-height: 1.5;
}

.faqA {
margin-bottom: 68px;
}

.faqA:last-of-type {
margin-bottom: 0;
}

.faqA p {
margin-bottom: 0;
}

.faqA dt {
float: left;
font-family: var(--font-inter);
font-size: 3.4rem;
font-weight: 500;
color: #3b7b38;
padding: 24px 0 24px 30px;
line-height: 1.5;
}

.faqA dd {
font-size: 1.6rem;
padding: 30px 30px 30px 82px;
border-bottom: 1px solid #d8ddd8;
line-height: 2;
}

/**/

#entryTitle {
font-size: 4rem;
font-weight: 700;
color: #fff;
margin-bottom: 60px;
line-height: 1;
}

#btnEntryFlex {
width: 1200px;
margin: 0 auto;
margin-bottom: 40px;
display: flex;
justify-content: space-between;
}

#btnEntryLaNew,
#btnEntryLaMid {
position: relative;
font-family: var(--font-copperplate);
width: 580px;
height: 200px;
font-size: 1.6rem;
color: #3b7b38;
padding-bottom: 15px;
cursor: pointer;
border: 0;
}

#btnEntryLaNew span,
#btnEntryLaMid span {
font-family: var(--font-primary);
font-size: 4.2rem;
font-weight: 700;
display: block;
}

#btnEntryLaMid {
color: var(--txtColor);
}

#btnEntryLaNew::before,
#btnEntryLaMid::before {
position: absolute;
background-color: var(--themeColor);
width: 35px;
height: 35px;
content: "";
margin: auto;
border-radius: 35px;
top: 0;
bottom: 0;
right: 30px;
transition: .3s;
}

#btnEntryLaMid::before {
background-color: var(--txtColor);
}

#btnEntryLaNew::after,
#btnEntryLaMid::after {
position: absolute;
width: 12px;
height: 12px;
content: "";
margin: auto;
border-top: 1px solid #fff;
border-right: 1px solid #fff;
transform: rotate(45deg);
top: 0;
bottom: 0;
right: 44px;
transition: .3s;
}

#btnEntryLaNew:hover::before,
#btnEntryLaMid:hover::before {
right: 25px;
}

#btnEntryLaNew:hover::after,
#btnEntryLaMid:hover::after {
right: 39px;
}

/*フォーム*/

.formWrap p {
margin-bottom: 0;
}

#formRequired {
font-size: 1.4rem;
margin-bottom: 30px;
}

.formInput dt {
float: left;
padding: 12px 0;
}

.formInput dd {
padding: 12px 0 12px 310px;
}

.formInput .pa {
margin-top: 11px;
}

.wpcf7-date {
background-color: #fff;
font-family: var(--font-primary);
width: 320px;
height: 48px;
font-size: 1.6rem;
margin-left: 10px;
padding: 0 15px;
display: inline-block;
margin-bottom: 10px;
border: 1px solid #d8ddd8;
border-radius: 5px;
}

.formWrap .inputS {
background-color: #fff;
font-family: var(--font-primary);
width: 320px;
height: 48px;
font-size: 1.6rem;
padding: 0 15px;
border: 1px solid #d8ddd8;
border-radius: 5px;
transition: .3s;
}

.formWrap .inputSs {
background-color: #fff;
font-family: var(--font-primary);
width: 80px;
height: 48px;
font-size: 1.6rem;
margin: 0 10px;
padding: 0 15px;
display: inline-block;
border: 1px solid #d8ddd8;
border-radius: 5px;
transition: .3s;
}

.formWrap .inputW {
background-color: #fff;
font-family: var(--font-primary);
width: 100%;
height: 48px;
font-size: 1.6rem;
padding: 0 15px;
border: 1px solid #d8ddd8;
border-radius: 5px;
transition: .3s;
}

.formWrap .inputS:hover,
.formWrap .inputSs:hover,
.formWrap .inputW:hover {
background-color: #fff;
border: 1px solid var(--txtColor);
}

.formWrap textarea {
background-color: #fff;
font-family: var(--font-primary);
width: 100%;
height: 230px;
font-size: 1.6rem;
color: var(--txtColor);
padding: 15px;
border: 1px solid #d8ddd8;
border-radius: 5px;
transition: .3s;
}

.formWrap textarea:hover {
background-color: #fff;
border: 1px solid var(--txtColor);
}

.formNote {
font-size: 1.4rem;
color: #c9c9c9;
margin-top: 5px;
}

.formSelectW {
position: relative;
width: 100%;
}

.formSelectS {
position: relative;
width: 320px;
}

.formSelectW select,
.formSelectS select {
position: relative;
background-color: #fff;
font-family: var(--font-primary);
width: 100%;
height: 48px;
font-size: 1.6rem;
color: var(--txtColor);
padding: 0 15px;
border: 1px solid #d8ddd8;
border-radius: 5px;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
}

.formSelectS select {
width: 320px;
}

.formSelectW select:hover,
.formSelectS select:hover {
background-color: #fff;
border: 1px solid var(--txtColor);
}

.formSelectW::after,
.formSelectS::after {
position: absolute;
width: 10px;
height: 10px;
content: "";
border-right: 1px solid var(--txtColor);
border-bottom: 1px solid var(--txtColor);
margin: auto;
transform: rotate(45deg);
z-index: 1;
top: -8px;
bottom: 0;
right: 20px;
}

.formWrap input[type="radio"] {
opacity: 0;
visibility: hidden;
position: absolute;
}

.formWrap .wpcf7-list-item {
display: inline-block;
}

.formR .wpcf7-list-item.first {
margin-left: 0;
}

.formWrap .radioWrap span.wpcf7-list-item-label {
position: relative;
display: flex;
align-items: center;
cursor: pointer;
margin-left: -15px;
margin-right: 20px;
}

.formWrap .radioWrap span.wpcf7-list-item-label::before {
display: block;
content: "";
border-radius: 50%;
border: 1px solid #d8ddd8;
width: 18px;
height: 18px;
margin-right: 5px;
margin-top: 3px;
}

.formWrap .radioWrap span.wpcf7-list-item-label::after {
position: absolute;
content: "";
border-radius: 50%;
width: 8px;
height: 8px;
background-color: #fff;
left: 5px;
top: 50%;
transform: translateY(-50%);
display: none;
margin-top: 1.5px;
}

.formWrap .radioWrap input[type="radio"]:checked + span.wpcf7-list-item-label::after {
display: block;
}

.formWrap .radioWrap input[type="radio"]:checked + span.wpcf7-list-item-label::before {
display: block;
background-color: var(--txtColor);
}

.checkWrap .wpcf7-list-item {
display: inline-block;
}

.checkWrap .wpcf7-list-item label {
position: relative;
display: flex;
align-items: center;
gap: 0 .3em;
cursor: pointer;
left: -12px;
}

.checkWrap input[type="checkbox"] {
margin: 0;
padding: 0;
background: none;
border-radius: 0;
outline: none;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
display: flex;
flex-wrap: wrap;
gap: .5em 2em;
border: none;
}

.checkWrap .wpcf7-list-item {
display: inline-block;
}

.checkWrap .wpcf7-list-item label {
position: relative;
display: flex;
align-items: center;
gap: 0 .3em;
cursor: pointer;
left: -12px;
}

.checkWrap .wpcf7-list-item label::before,
.checkWrap .wpcf7-list-item label:has(:checked)::after {
content: '';
}

.checkWrap .wpcf7-list-item label::before {
position: relative;
background-color: #fff;
width: 20px;
height: 20px;
border-radius: 3px;
border: 1px solid #d8ddd8;
top: 1px;
}

.checkWrap .wpcf7-list-item label:has(:checked)::before {
background-color: var(--txtColor);
}

.checkWrap .wpcf7-list-item label:has(:checked)::after {
position: absolute;
top: 6px;
left: 6px;
transform: rotate(45deg);
width: 8px;
height: 12px;
border: solid #fff;
border-width: 0 2px 2px 0;
}

.wpcf7-validates-as-date {
position: relative;
margin: 0;
}

#agreementStatement {
width: 100%;
height: 200px;
font-size: 1.3rem;
padding: 20px;
overflow-y: scroll;
border-radius: 3px;
border: 1px solid #d8ddd8;
line-height: 1.6;
}

#agreementStatement p {
margin-bottom: 20px !important;
}

.submitWrap {
position: relative;
width: 100%;
text-align: center;
margin: 100px auto;
margin-top: -50px;
}

.wpcf7-submitWrap {
position: relative;
width: 520px;
margin: 100px auto;
margin-top: -50px;
}

.wpcf7-submit {
background-color: var(--txtColor);
font-family: var(--font-primary);
width: 520px;
height: 78px;
font-size: 1.6rem;
font-weight: 600;
color: #fff;
padding-bottom: 5px;
cursor: pointer;
transition: .3s;
border: 1px solid var(--txtColor);
}

/*
.wpcf7-submitWrap::before {
position: absolute;
background-color: #fff;
width: 35px;
height: 35px;
content: "";
margin: auto;
border-radius: 35px;
top: 0;
bottom: 0;
right: 20px;
transition: .3s;
}

.wpcf7-submitWrap::after {
position: absolute;
width: 12px;
height: 12px;
content: "";
margin: auto;
border-top: 1px solid var(--txtColor);
border-right: 1px solid var(--txtColor);
transform: rotate(45deg);
top: 0;
bottom: 0;
right: 34px;
transition: .3s;
}

.wpcf7-submitWrap:hover::before {
right: 15px;
}

.wpcf7-submitWrap:hover:after {
right: 29px;
}
*/

/*保護者の皆様へ*/

.dearTitle {
font-size: 2.4rem;
font-weight: 600;
margin-bottom: 15px;
letter-spacing: .15em;
}

#btnDearWrap {
width: 1200px;
margin: 0 auto;
display: flex;
justify-content: space-between;
margin-bottom: 100px;
}

.btnDear {
position: relative;
background-color: #fff;
width: 580px;
height: 200px;font-size: 2rem;
font-weight: 600;
color: #3b7b38;
padding-bottom: 15px;
cursor: pointer;
border: 0;
}

.arrowGe {
position: relative;
background: url("../img/btn_arrow_ge.png") no-repeat;
background-size: 35px;
width: 35px;
height: 35px;
display: inline-block;
margin-left: 10px;
transition: .3s;
top: 11px;
right: 0;
}

.btnDear:hover .arrowGe {
right: -5px;
}

/*プライバシーポリシー*/

.privacy h2 {
font-size: 2rem;
font-weight: 600;
margin-top: 50px;
margin-bottom: 30px;
padding-bottom: 10px;
border-bottom: 1px solid #7b7e7b;
letter-spacing: .15em;
}

.privacy ol.wp-block-list li {
position: relative;
list-style-type: none;
margin-left: 26px; 
}

.privacy ol.wp-block-list li:before {
position: absolute;
right: calc(100% + 0.5rem);  /* 0.5remは連番とテキストとの余白 */
content: "(" counter(list-item) ")";
}

.antisocial ol {
margin-bottom: 30px;
}

.antisocial ol.wp-block-list li {
position: relative;
font-size: 2rem;
font-weight: 700;
list-style-type: decimal;
margin-left: 22px; 
margin-bottom: 7px;
line-height: 1.5;
letter-spacing: .025em;
}

.antisocial ol.wp-block-list li:before {
display: none !important;
}

.privacy ul.wp-block-list li {
position: relative;
list-style-type: disc;
margin-left: 20px; 
}

/**/

footer {
position: relative;
background: url("../img/footer_bg.jpg") no-repeat center;
background-size: cover;
width: 100%;
color: #fff;
margin: 0 auto;
padding: 120px 0 80px;
}

footer a {
color: #fff !important;
}

#footerWrap {
width: 1200px;
margin: 0 auto;
display: flex;
justify-content: space-between;
}

#footerL {
position: relative;
width: 190px;
}

#logoRecruitWh {
position: relative;
width: 80px;
margin: 0 auto;
}

#footerR {
width: 1010px;
margin-bottom: 30px;
padding-left: 30px;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}

.footerNavWrap {
width: 215px;
text-align: left;
margin-left: 30px;
}

.footerNav h4 {
margin-bottom: 10px;
padding-bottom: 5px;
border-bottom: 1px solid #7b7b7b;
}

.footerNav h4 a {
transition: .3s;
}

.footerNav h4 a:hover {
opacity: .6;
}

.footerNav ul {
font-size: 1.3rem;
margin-bottom: 30px;
line-height: 28px;
}

.footerNav ul li a {
transition: .3s;
}

.footerNav ul li a:hover {
opacity: .6;
}

#policyWrap {
width: 100%;
font-size: 1.4rem;
text-align: left;
margin-top: 50px;
margin-left: 50px;
display: flex;
justify-content: flex-start;
flex-wrap: wrap;
line-height: 1.5;
}

#policyWrap li {
margin-top: 10px;
padding: 0 20px;
border-right: 1px solid #7b7b7b;
}

#policyWrap li:nth-of-type(3),
#policyWrap li:nth-of-type(4) {
border-right: 0;
}

#policyWrap li a {
transition: .3s;
}

#policyWrap li a:hover {
opacity: .6;
}

#footerBottomNav {
display: none;
}

.snsWrap {
font-size: 2.4rem;
display: flex;
justify-content: center;
}

.snsWrap i {
margin: 0 3px;
}

#copyRight {
position: relative;
width: 1200px;
font-size: 1.2rem;
margin: 0 auto;
margin-top: 30px;
padding-top: 20px;
border-top: 1px solid #7b7b7b;
}

#pagetop {
position: fixed;
background-color: var(--txtColor);
width: 50px;
height: 50px;
border-radius: 50px;
bottom: -50px;
right: 20px;
transition: .3s;
z-index: 500;
}

#pagetop:hover {
background-color: #fff;
}

#pagetop::after {
position: absolute;
width: 14px;
height: 14px;
content: "";
margin: auto;
border-top: 1px solid #fff;
border-right: 1px solid #fff;
transform: rotate(-45deg);
left: 0;
right: 0;
top: 0;
bottom: 0;
}

#pagetop:hover::after {
border-top: 1px solid var(--txtColor);
border-right: 1px solid var(--txtColor);
}

.alignright {
float: right;
margin: 0 0 50px 50px;
}

.alignleft {
float: left;
margin: 0 50px 50px 0;
}

.aligncenter {
display: block;
margin: 0 auto;
}

}