* {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
        font-family: "Noto Sans JP", sans-serif;
        color: #444444;
}
a {
        transition: all 0.5s;
        text-decoration: none;
}
ul {
        list-style: none;	
}
address {
        font-style: normal;
}
.spBr,
.edit-link,
.comments-area,
.entry-meta,
.nav-links,
.cat-links,
.page-header,
.type-post .entry-footer,
.type-page .entry-header {
        display: none;
}
.linkTxt:hover { color: #009ad6; }
.flexBox {
        display: flex;
        justify-content: space-between;
}
:root {
    --theme-col:#aaa;
    --sub-col:#6187e6;
    --back-col:linear-gradient(135deg, #004272, #004272 min(20vw, 60%), #006099);
    --link-col:#aaa;
    --hover-col:#aaa;
    --black-col:#444;
    --font:"Geologica", "Zen Kaku Gothic New", sans-serif;
    --f-ja:"Zen Kaku Gothic New", sans-serif;
    --f-en:"";
    --ease-in: cubic-bezier(.3,0,.7,0);
	--ease-out: cubic-bezier(.3,1,.7,1);
	--ease-inout: cubic-bezier(.7,0,.3,1);
}
.in_bl {
  max-width: 1280px;
  margin: 0 auto;
}
.page_title .en_txt::before {
  content: '';
  display: block;
  min-width: 10px;
  min-height: 10px;
  border-radius: 50%;
  font-size: inherit;
  line-height: inherit;
  position: relative;
  top: -.4em;
  -webkit-transform: translateY(50%);
  transform: translateY(50%);
  margin: 0 10px 0 0;
  width: 10px;
  background: var(--back-col);
}
@media screen and (max-width: 960px) {
.spBr {
        display: block;
}
.pcBr {
        display: none;
}
.flexBox {
        display: block;
	}
}
/*------------------------
        mainTtl
-------------------------*/
.mainTtl {
  display: block;
  max-width: 1280px;
  width: 100%;
  font-size: 45px;
  letter-spacing: 5px;
  position: relative;
  padding: 30px 0 80px;
  margin: 0 auto 25px;
  font-weight: 600;
  display: block;
  color: var(--black-col);
}
.mainTtl .subTtl { 
        position: absolute;
        font-size: 40%;
        letter-spacing: 1px;
        left: 0;
        bottom: -17px;
        -webkit-text-stroke-width: initial;
        font-weight: 900;
 }
.mainTtl .en_txt {
  font-size: 50%;
  text-transform: uppercase;
  padding: 20px 0 0;
  letter-spacing: 1px;
  display: flex;
  align-items: baseline;
  color: #004272;
  font-weight: 600;
}
.mainTtl .en_txt:before {
  content: '';
  display: block;
  min-width: 10px;
  min-height: 10px;
  border-radius: 50%;
  font-size: inherit;
  line-height: inherit;
  position: relative;
  top: -.4em;
  -webkit-transform: translateY(50%);
  transform: translateY(50%);
  margin: 0 10px 0 0;
  width: 10px;
  background: var(--back-col);
}
@media screen and (max-width: 960px) {
.mainTtl {
	    font-size: 40px;
	    letter-spacing: 3px;
	    line-height: 1.2;
	padding: 10px 0 30px;
}
.mainTtl .subTtl {
        font-size: 46%;
        line-height: 1.2;
}
}
/*------------------------
        borderTtl
-------------------------*/
.borderTtl {
        font-size: 120%;
        font-weight: 700;
        padding: 0 0 10px;
        display: inline;
	    background: linear-gradient(#dffaff, #dffaff);
        animation: border_anim 1s linear forwards;
        animation-fill-mode: forwards;
        background-repeat: no-repeat;
        background-position: 0 84%;
}
@keyframes border_anim {
	0%{
        background-size: 0 40%;
	}
	100%{
		background-size: 100% 40%;
	}
}
/*------------------------
        blueTtl
-------------------------*/
.blueTtl {
        font-size: 160%;
        color: #009ad6;
        display: flex;
        align-items: center;	
}
.blueTtl::before {
        content: '';
        display: inline-block;
        background: url(/wp-content/uploads/2022/05/img_jobdivTtl.png);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        margin: 0 20px 0 0;
        width: 50px;
        height: 50px;
}
@media screen and (max-width: 960px) {
.blueTtl { font-size: 150%; align-items: flex-start; }
.blueTtl::before { margin: 0 5px 0 0; }
}
/*------------------------
        moreBtn
-------------------------*/
.moreBtn {
        -webkit-text-fill-color: #fff;
        -webkit-text-stroke-width: 1px;
        font-size: 170%;
        font-weight: 700;
        display: block;
        width: fit-content;
        letter-spacing: 1.5px;
        position: relative;
}
.moreBtn::after {	
        content: '';
        display: block;
        width: 100%;
	    border-bottom: solid 10px;
	    position: absolute;
        bottom: -10px;
        left: 0;
}
.moreBtn:hover::after {
        animation: moveLine 0.7s ease forwards;	
}
@keyframes moveLine {
  0% {
    width:100%;
    left:auto;
    right:0;
  }
  50% {
    width:0;
    left:auto;
    right:0;
  }
  51% {
    width:0%;
    left:0;
    right:auto;
  }
  100% {
    width:100%;
    left:0;
    right:auto;
  }
}
@media screen and (max-width: 960px) {
.moreBtn {
        letter-spacing: 1.5px;
        font-size: 140%;
}
}
/*------------------------
        philoBox
-------------------------*/
.philoBox.txtCont {
        border: solid 1px #00a968;
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-auto-rows: 1fr;
        width: 100%;
        padding: 12px;
}
.philoBox .txtBox { 
        padding: 10px 20px;
}
.philoBox .greenLine {
        font-size: 170%;
        font-weight: 700;
        margin: 0 auto 10px;
        letter-spacing: 1px;
        position: relative;
        padding: 0 0px 4px;
        display: inline;
}
.philoBox .desc {
        line-height: 2.5;
        font-weight: 600;
        padding: 20px 0 0;
}
.philoBox .greenLine.weak { background: linear-gradient(transparent 64%, #b6daa5 0%); }
.philoBox .greenLine.strong { background: linear-gradient(transparent 64%, #00a968 0%); }
.philoBox .vline { border-right: #00a968 dashed 2px; }
.philoBox .hline { border-bottom: #00a968 dashed 2px; }
@media screen and (max-width: 1280px) {
.philoBox .txtBox {
         padding: 15px;
}
.philoBox .greenLine {
        font-size: 130%;
}
}
@media screen and (max-width: 960px) {
.philoBox.txtCont { 
        padding: 7px; 
        grid-template-columns: 1fr;
        margin: 0;
}
.philoBox .desc { 
        line-height: 1.8; 
        font-size: 98%;
        font-weight: 500;
}
.philoBox .vline { border-right: none; }
.philoBox .hline { border-bottom: none; }
.philoBox .txtBox { padding: 10px; }
.philoBox .txtBox:not(.philoBox .txtBox:last-child) { border-bottom: dashed 2px #00a968; }
.philoBox .greenLine { font-size: 125%; }
}
/*------------------------
        listCont
-------------------------*/
.listCont {
        padding: 20px 5px 5px;
        border-bottom: solid 10px;
        font-weight: 600;
        margin: 0 auto;
        max-width: 1080px;
        display: block;
}
.listCont .date {
        font-size: 105%;
        padding: 0 0 10px;
        letter-spacing: 1px;
}
.listCont .new {
        -webkit-text-fill-color: #fff;
        -webkit-text-stroke-width: 1px;
        letter-spacing: 1px;
        padding: 0 0 0 25px;
}
.listCont .ttl {
        overflow: hidden;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 1;
}
.listCont .payment { padding: 0 0 0 30px; }
.jobofferArea .listCont, .category-jobopenings .listCont { border-color: #f7eaed; }
.newsArea .listCont, .category-news .listCont  { border-color: #dffaff; }

.jobofferArea .listCont:hover, .category-jobopenings .listCont:hover { border-color: #f58f98; }
.newsArea .listCont:hover, .category-news .listCont:hover  { border-color: #7bc0eb; }

.category-jobopenings .listCont,
.category-news .listCont { max-width: 1280px; }
/*------------------------
       jobofferInfo
-------------------------*/
.jobofferInfo {
        width: 100%;
        padding: 0 20px;
}
.jobofferInfo .innerBox {
        width: 100%;
        max-width: 1280px;
        margin: 0 auto;
}
.jobofferInfo .tableBox {
        width: 100%;
        border: solid 1px #009ad6;
}
.jobofferInfo .tableCont { grid-template-columns: 1.5fr 5fr; }
.jobofferInfo .tableCont:not(.tableCont:last-child) { border-bottom: solid 1px #009ad6; }

.jobofferInfo .ttl { background: #dffaff; }
.jobofferInfo .blueTtl { padding: 0 0 50px; }
@media screen and (max-width: 960px) {
.jobofferInfo .tableCont {
        grid-template-columns: 1fr;
}	
}
/*------------------------
       supportBox
-------------------------*/
.supportBox {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        gap: 40px;
	    font-size: 110%;
        font-weight: 600;
        background: #dffaff6e;
        padding: 30px;
}
.supportBox li::before {
        content: '';
        display: inline-block;
        width: 15px;
        height: 15px;
        background: #009ad6;
        margin: 0 10px 0 5px;
}
@media screen and (max-width: 960px) {
.supportBox { 
        grid-template-columns: 1fr 1fr;
        gap: 30px 15px;
        padding: 30px 10px;
}
}
@media screen and (max-width: 680px) {
.supportBox { grid-template-columns: 1fr; }
}
/*------------------------
       postpageStyle
-------------------------*/
.postpageStyle {
        width: 100%;
        padding: 0 20px;
}
.postpageStyle .innerBox {
        max-width: 1280px;
        width: 100%;
        margin: 0 auto;
}
/*------------------------
        tableBox
-------------------------*/
.tableBox {
        max-width: 1280px;
        margin: 0 auto;
        font-size: 110%;
}
.tableBox .tableCont {
        display: grid;
}
.tableBox .ttl,
.tableBox .itm {
        padding: 20px;
}
.tableBox .ttl {
        font-weight: 700;
}
@media screen and (max-width: 960px) {
.tableBox { font-size: 100%; }
.tableBox .ttl,
.tableBox .itm {
        padding: 15px 10px;
}        
}
/*------------------------
        imgShadow
-------------------------*/
.imgShadow { 
        box-shadow: 10px 10px #cee8ff; 
        position: relative;
}
.imgShadow[data-emergence="visible"]::after {
        content: '';
        display: block;
        position: absolute;
        animation: backMask 0.9s ease-in-out;
	    height: 100%;
        background: #cee8ff;
        top: 0;
        z-index: 2;
}
@keyframes backMask {
0% { 
        width: 0%;
        left: 0;
 }
49% {
        width: 100%;
        left: 0;
}
50% {
        width: 100%;
        left: auto;
        right: 0;
}
100% {
        width: 0%;
        left: auto;
        right: 0;
}
}
.imgShadow[data-emergence=hidden] .colorIn {
	        opacity: 0;
}
.imgShadow[data-emergence=visible] .colorIn {
	        animation: maskAnime 1s linear;
	        animation-fill-mode: forwards;
	        opacity: 0;
}
@keyframes maskAnime {
0% { opacity: 0;}
100% { opacity: 1; }
}
/*------------------------
        formStyle
-------------------------*/
.formStyle input[type='submit'] {
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	appearance: none !important;
	background: transparent !important;
	border: none !important; 
	border-radius: 0 !important;
	font: inherit;
	outline: none !important;
	cursor: pointer !important;
	color: #444444;
}
.formStyle input { font-family: 'Zen Kaku Gothic Antique', sans-serif !important; }

.formStyle .formBox input:not(.img),
.formStyle .formBox textarea { 
        color: #444444; 
        border: solid #fff 2px !important;
        font-family: 'Zen Kaku Gothic Antique', sans-serif;
}
.formStyle .formBox input:not(.img):focus,
.formStyle .formBox textarea:focus {  
        border: 2px solid #ea8900 !important;
        outline: none;

}
/*.radio:*/
.formStyle {
        width: 100%;
        padding: 0 20px;
}
.formStyle .innerBox {
        width: 100%;
        max-width: 1080px;
        margin: 0 auto;
}
.formStyle .txtBox {
        padding: 0 0 50px;
}
.formStyle .desc {
        font-size: 110%;
        font-weight: 500;
        line-height: 2
}
.formStyle .borderTtl { 
        font-size:  160%;
        margin: 0 0 10px;
        background: linear-gradient(#fef1d8, #fef1d8);
        background-repeat: no-repeat;
        background-position: 0 84%;
        animation: borderAnime 1s linear forwards;
}
@keyframes borderAnime {
	0%{
        background-size: 0 40%;
	}
	100%{
		background-size: 100% 40%;
	}
}
.formStyle .telBtn { 
        font-weight: 600; 
        width: fit-content;
        display: block;
}
.formStyle i {
        font-size: 87%;
        margin: 0 10px 0 0;
        color: #ea8900;
	    transition: all 0.5s;
}
.formStyle .telNum {
        font-size: 260%;
        letter-spacing: 1.5px;
        color: #ea8900;
        transition: all 0.5s;
}
.formStyle .telBtn:hover i,
.formStyle .telBtn:hover .telNum {
        color: #ea8900a8;
}
.formStyle .telBtn small { 
        display: block; 
        text-align: center;
}
.formStyle .formBox {
	    padding: 30px;
	    background: #fef1d8;
	    margin: 25px auto 50px;
        max-width: 1080px;
        border-radius: 5px;
}
.formStyle .itm {
        padding: 0 0 25px;
}
.formStyle .ttl {
        font-weight: 700;
        font-size: 110%;
	    padding: 0 0 10px;
}
.formStyle .must {
        font-size: 75%;
        padding: 2px;
        background: #ef454a;
        color: #fff;
        border-radius: 3px;
        margin-left: 10px;
        vertical-align: baseline;
}
.formStyle .txt {
        padding: 10px;
        height: 50px;
        font-size: 105%;
        width: 100%;
}
.formStyle .mintxt {
        width: 120px;
        padding: 10px;
}
.formStyle textarea {
        width: 100%;
        padding: 10px;
        max-width: 1020px;
	    border: none;
}
.formStyle .radio,
.formStyle .check { 
        width: 18px; 
        height: 18px;
        cursor: pointer;
}
.formStyle label,
.formStyle select { cursor: pointer; }

.formStyle select {
        border: 1px solid #ccc;
        background: #fff;
        font-family: 'Zen Kaku Gothic Antique', sans-serif;
        padding: 5px;
}

.formStyle .flexItm {
        display: flex;
        gap: 20px 15px;
        flex-wrap: wrap;
}
.formStyle .flexItm.ability { gap: 20px 30px; }

.formStyle .privacyBox {
        padding: 0 0 50px;;
        text-align: center;
}
.formStyle .linkBtn {
        display: block;
        margin: 0 auto 30px;
        max-width: 380px;
        width: 100%;
        border: solid 1px #444444;
		padding: 15px 20px;
		background: #fff;
}
.formStyle .linkBtn:hover { 
		text-decoration: underline;
		text-decoration-color: #ea8900;
}
.formStyle .checkBox {
		width: fit-content;
		margin: 0 auto;
}
.formStyle .checkBox span,
.formStyle .checkBox input {
		cursor: pointer;
}
.formStyle .btnBox {
        margin: 0 auto;
        max-width: 300px;
        text-align: center;	
}
.formStyle .btnBox,
.formStyle .btnBox div{
        margin: 0 auto;	
}
.formStyle .btnBox input {
        width: 100%;
	    height: 55px;
}
.formStyle .moreBtn {
	    -webkit-text-stroke-color: #ea8900;	
}
.formStyle .moreBtn::after {
	    border-color: #ea8900;
}
/*---入力画面での制御---*/
.mw_wp_form_input .formStyle .backBox {
        display: none;
}
.mw_wp_form .horizontal-item + .horizontal-item {
        margin-left: 0 !important;
}
/*---確認画面での制御---*/
.mw_wp_form_confirm .formStyle .privacyBox {
        display: none;
}
.mw_wp_form_confirm .formStyle .backBox {
        margin: 0 auto 10px;
        font-weight: 600;
        font-size: 160%;
        width: fit-content;
        transition: all 0.5s;
}
.mw_wp_form_confirm .formStyle .backBtn { transition: all 0.5s; }
.mw_wp_form_confirm .formStyle .backBox:hover .backBtn { color: #ea8900; }

@media screen and (max-width: 960px) {
.formStyle .desc,
.formStyle .ttl { 
	font-size: 100%; 
}
.formStyle .telNum { font-size: 240%; }
.formStyle .formBox { padding: 30px 10px; }
.formStyle .flexItm { gap: 20px 8px; }
}
/*------------------------
        singleStyle
-------------------------*/
.type-post {
        width: 100%;
        padding: 0 20px;
}
.type-post .entry-header {
        max-width: 1280px;
        width: 100%;
        margin: 0 auto;		
}
.type-post .entry-content {
        max-width: 1080px;
        width: 100%;
        margin: 0 auto;	
}
/*------------------------
        arrowStyle
-------------------------*/
.arrowIcon {
        border-bottom: 2px solid;
        border-right: 2px solid;
        display: inline-block;
}
.arrowIcon.rightPos { transform: skew(45deg); }
.arrowIcon.leftPos { transform: skew(-45deg) scale(-1, 1); }
/*-------arrowBtn-------*/
.arrowBtn {
        font-weight: 500;
        font-size: 120%;
        border-bottom: solid 5px #009ad6;
        padding: 20px 20px 15px 10px;
        align-items: center;
}
.arrowBtn .flexBox { align-items: baseline; }
.arrowBtn .arrowIcon {
        border-color: #009ad6;
        width: 65px;
        height: 14px;
}
.arrowBtn:hover .arrowIcon {
        transition: all 0.5s;
        animation: moveArrow 0.7s ease forwards;
}
.arrowBtn .ttl { transition: all 0.5s; }
.arrowBtn:hover .ttl { color: #009ad6; } 
@keyframes moveArrow {
  0% {
    transform: skew(45deg) translateX(0%);
  }
  25% {
    transform: skew(45deg) translateX(30%);
    opacity:0;
  }
  75% {
    transform: skew(45deg) translateX(-30%);
    opacity:0;
  }
  100% { 
    transform: skew(45deg) translateX(0%);
    opacity:1;
  }
}
/*------------------------
        パンくず
-------------------------*/
.fbc-page .fbc-wrap .fbc-items li:first-child { padding: 0 !important; }
.fbc-page .fbc-wrap .fbc-items li { font-weight: 700; }
/*------------------------
        pageNav
-------------------------*/
.wp-pagenavi {
        max-width: 1080px;
        width: 100%;
        margin: 0 auto;
        padding: 90px 0 0;
        display: flex;
        justify-content: center;
        font-weight: 700;
        font-size: 120%;	
}
.wp-pagenavi .larger,
.wp-pagenavi .nextpostslink,
.wp-pagenavi .smaller,
.wp-pagenavi .previouspostslink,
.wp-pagenavi .current {
        width: 40px;
        height: 40px;
        display: grid;
        place-content: center;
}
.wp-pagenavi .larger,
.wp-pagenavi .nextpostslink,
.wp-pagenavi .smaller,
.wp-pagenavi .previouspostslink {
        color: #009ad6;	
}
.wp-pagenavi .current {
        background: #009ad6;
        color: #fff;
}
/*------------------------
       送信完了・404
-------------------------*/
.pageArea {
        width: 100%;
        padding: 0 20px;
}
.pageArea .innerBox {
        max-width: 1280px;
        width: 100%;
        margin: 0 auto;
}
.pageArea .blueTtl {
        padding: 0 0 30px;
}
.pageArea .txtBox {
        max-width: 1080px;
        width: 100%;
        margin: 0 auto;
        border: solid 3px #009ad6;
        display: grid;
        place-content: center;
        padding: 50px 20px 60px;
        background: #dffaff;
}
.errorArea .flexBox {
        align-items: center;
        gap: 30px;	
}
.pageArea .container {
        padding: 0 0 30px;
}
.pageArea i {
	        font-size: 90px;
	        color: #009ad6;
}
.sendArea .container {
        padding: 0 0 30px;
}
.sendArea i {
        display: block;
        margin: 0 auto 30px;
        text-align: center;
}
.pageArea .desc{
        font-size: 120%;
        line-height: 2;
        font-weight: 600;
}
.pageArea .moreBtn {
        -webkit-text-stroke-color: #009ad6;
        margin: auto;
}
.pageArea .moreBtn::after {
        border-color: #009ad6;
}
@media screen and (max-width: 960px) {
.pageArea .txtBox {
        padding: 50px 20px 60px;
}
.pageArea .flexBox {
        flex-direction: column;
}
.pageArea .desc {
        font-size: 105%;	
}
}
/*------------------------
      お問い合わせ
-------------------------*/
.formArea { width: 100%; padding: 0 20px; margin: 0 auto 120px; } 
.formArea .innerBox {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  background: #f4f5f6;
  padding: 40px 50px 70px;
  border-radius: 10px;
}
.formArea .itm {
  padding: 10px 0 20px;
}
.formArea .ttl {
  padding: 0 0 10px;
}
.formArea .mustItm {
  background: #c40000;
  margin: 0 0 0 10px;
  padding: 5px;
  font-size: 70%;
  color: #fff;
  border-radius: 5px;
}
input[type="text"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], input[type="number"], input[type="tel"], input[type="range"], input[type="date"], input[type="month"], input[type="week"], input[type="time"], input[type="datetime"], input[type="datetime-local"], input[type="color"], textarea {
  border: unset !important;
  padding: 15px !important;
  width: 100%;
}
.mwform-radio-field.horizontal-item {
  display: block;
  padding: 0 0 10px 15px;
}
.formArea .redBtn.mainBtn.submitBtn,
.formArea .backBtn{
  -webkit-transform: skew(-15deg);
  transform: skew(-15deg);
  color: #fff;
  border-radius: 0;
  background: var(--back-col);
  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .1);
  box-shadow: 0 5px 10px rgba(0, 0, 0, .1);
  border: unset;
  font-size: 120%;
	transition: all .3s;
	cursor: pointer;
}

.formArea .redBtn.mainBtn.submitBtn:hover,
.formArea .backBtn {
  -webkit-transform: skew(0);
  transform: skew(0);
  color: #fff;
  -webkit-box-shadow: 0 2px 3px rgba(0, 0, 0, .1);
  box-shadow: 0 2px 3px rgba(0, 0, 0, .1);
}
.formArea .btn,
.formArea .btnBox{
  text-align: center;
  padding: 20px 0 10px;
}
@media screen and (max-width:960px) { 
.formArea { padding: 0 10px; margin: 0 auto 80px; } 
.formArea .innerBox { padding: 40px 15px 70px; }
}
.topBtn {
	display: block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	width: 240px;
	margin: 50px auto 0;
	padding: 1rem 4rem;
	font-weight: bold;
	border: 2px solid #006099;
	color: #006099 !important;
	transition: 0.5s;
}
.topBtn:hover {
	color: #fff !important;
	background: var(--back-col) !important;
}