@charset "UTF-8";
/**====================================
 * CSS information
 * file name	: style.css
 * author		: libretto works
====================================**/

/*/////////////////////////////////////////////////////////////////////////////


              // Top //
	  

/////////////////////////////////////////////////////////////////////////////*/

/* visual
-------------------------------------------------- */
.visual {
	position: relative;
	width: 100%;
	height: 100vh;
    max-height: 980px;
	box-sizing: border-box;
}
.visual-main {
	width: 100%;
	height: 100%;
	position: relative;
}
.visual-main::before {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background: rgba(30,32,34,0.35);
	z-index: 1;
}
.visual-main::after {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background: #FFFFFF;
	transform-origin: left top;
	z-index: 2;
}
.motion .visual-main::after {
    transition: 0.55s cubic-bezier(0.76, 0.09, 0.215, 1) .2s;
    transform: scaleX(0);
}
.visual-main .thumb {
    width: 100%;
    height: 100vh;
    max-height: 980px;
    transition: none;
}
.add-animation {
    transform-origin: center bottom 20%;
    animation: zoomUp 6s linear 0s normal both;
}
@keyframes zoomUp {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.10);
  }
}
.visual-ttl {
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
	line-height: 1.5;
	color: #FFFFFF;
	position: absolute;
	left: 4.0263%;
	bottom: 5%;
	z-index: 1;
	opacity: 0;
}
.visual-ttl .enttl {
    font-size: 10.8rem;
    font-weight: 700;
    line-height: 1.07;
    letter-spacing: 0;
}
.visual-ttl-inner {
    margin: 0 0 16px -2.2vw;
}
.visual-ttl .txt {
    font-size: 3.0rem;
    font-weight: 700;
    letter-spacing: 0.10em;
    margin-bottom: 8px;
}
.visual-ttl .ttl {
    font-size: 1.4rem;
    letter-spacing: 0.04em;
    margin-left: 2px;
}
.motion .visual-ttl {
	animation: ttlmotion 1.0s cubic-bezier(0.76, 0.09, 0.215, 1) forwards 0.4s;
}
@keyframes ttlmotion {
	0% {
        transform: translateY(60px);
		opacity: 0;
		filter: blur(6px);
	}
	100% {
        transform: translateY(0);
		opacity: 1;
		filter: blur(0);
	}
}
@keyframes visualtxt-motion {
	0% {
		transform: scaleX(0);
	}
	100% {
		transform: scaleX(1);
	}
}

@media screen and (max-width: 1179px) {
    .visual-ttl .enttl {
        font-size: 10.0rem;
    }
	.visual-ttl .txt {
        font-size: 2.6rem;
    }
    .visual-ttl .ttl {
        font-size: 1.2rem;
    }
}
/* scroll
-------------------------------------------------- */
.scroll {
    width: 12px;
	height: 175px;
	position: absolute;
	bottom: 7.8125%;
	right: 2.5622%;
    z-index: 1;
}
.scroll a {
	display: block;
	width: 100%;
	height: 100%;
    color: #FFFFFF;
}
.scroll__bar1,
.scroll__bar2 {
	display: block;
	position: absolute;
	bottom: 0px;
	right: 50%;
	width: 1px;
	height: 100px;
	background: rgba(255,255,255,0.40);
	pointer-events: none;
}
.scroll__bar2 {
	background: rgba(255,255,255,1.00);
	transform: scaleY(0);
	transform-origin: top left;
	animation: scroll-bar 2.5s ease-in-out infinite forwards;
}
.scroll p {
	position: absolute;
	top: 0;
	left: 0;
	font-size: 1.2rem;
    font-weight: 500;
    writing-mode: vertical-rl;
	line-height: 1;
	z-index: 9999;
}

@keyframes scroll-bar {
	0% {
		transform-origin: top left;
		transform: scaleY(0); }
	50% {
		transform-origin: top left;
		transform: scaleY(1); }
	75% {
		transform-origin: bottom left;
		transform: scaleY(1); }
	95% {
		transform-origin: bottom left;
		transform: scaleY(0); }
	100% {
		transform-origin: top left;
		transform: scaleY(0); }
}


/* t-sec-seeker
-------------------------------------------------- */
.t-sec-seeker {
    position: relative;
    padding: 150px 0 40px;
}
.t-sec-seeker::before {
    content: "";
    width: 53.7335%;
    height: calc(100% + 120px);
    background: #ffffff;
    position: absolute;
    right: 0;
    top: 60px;
}
.t-sec-seeker-flex {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    position: relative;
}

.t-sec-seeker-flex .thumb {
    width: 56.0821%;
}
.t-sec-seeker-flex .block {
    width: 34.4391%;
    padding: 55px 0 95px;
}

.t-sec-seeker-flex .btn-wrap {
    margin-top: 30px;
}
.t-sec-seeker .txt-slider {
    padding-left: 7.3206%;
    margin: -45px 0 0;
}

/* t-sec-job
-------------------------------------------------- */
.t-sec-job {
    padding: 0 0 80px 7.3206%;
    position: relative;
}
.job-slider {
    padding: 35px 0 50px;
}
.job-slider .job-block {
    width: 26.5007vw;
    margin-right: 2.9282vw;
}
.job-block a {
    display: block;
}
.job-block .thumb::after {
    padding-top: 66.6666%;
}
.job-block-inner {
    padding: 15px 0 0;
}
.job-block .ttl {
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 10px;
}
.job-block-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    flex-wrap: wrap;
    margin-bottom: 20px;
}
.job-block-head .area {
    color: #ca1723;
    padding-left: 20px;
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="24" height="32" viewBox="0 0 24 32"><path fill-rule="evenodd" fill="rgb(202, 23, 35)" d="M24,12.1C24,5.4,18.6,0,12,0S0,5.4,0,12.1c0,7.7,12,19.9,12,19.9,0,0,12-12.2,12-19.9ZM12,7.5c2.5,0,4.5,2.1,4.5,4.6s-2,4.6-4.5,4.6-4.6-2-4.6-4.6,2-4.6,4.6-4.6Z"/></svg>') no-repeat left center;
    background-size: 12px auto;
    line-height: 1.5;
}
.job-block-head .area .cate-item::after {
    content: ",";
    display: inline-block;
    margin-right: 4px;
}
.job-block-head .area .cate-item:last-child::after {
    display: none;
    margin-right: 0;
}
.job-block-head .date {
    font-size: 1.4rem;
    font-weight: 400;
}
dl.table-info {
	width: 100%;
    border-top: 1px solid #cccccc;
	display: flex;
    justify-content: space-between;
    align-items: stretch;
	flex-wrap: wrap;
    font-size: 1.4rem;
}
dl.table-info dt {
	width: 23.5%;
	border-bottom: 1px solid #cccccc;
	padding: 5px 1em 7px 0;
	box-sizing: border-box;
    position: relative;
    font-weight: 700;
}
dl.table-info dt::after {
    content: "：";
    position: absolute;
    right: 0;
    top: 5px;
}
dl.table-info dd {
	width: 76.5%;
	border-bottom: 1px solid #cccccc;
	padding: 5px 0 7px 0.8em;
	box-sizing: border-box;
}
dl.table-info dd .cate-item::after {
    content: ",";
    display: inline-block;
    margin-right: 4px;
}
dl.table-info dd .cate-item:last-child::after {
    display: none;
    margin-right: 0;
}
.list-keyword {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    margin-top: 12px;
}
.list-keyword li {
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 1.5;
    border: 1px solid #e5e5e5;
    background: #ffffff;
    padding: 1px 8px 2px;
    border-radius: 4px;
    margin: 4px 4px 0 0;
}

/* t-sec-employer
-------------------------------------------------- */
.t-sec-employer {
    padding: 90px 0 0;
    position: relative;
}
.t-sec-employer::before {
    content: "";
    width: 100%;
    height: 68%;
    background: #ffffff;
    position: absolute;
    left: 0;
    top: 0;
}
.employer-list {
    display: flex;
    justify-content: space-between;
    margin-top: 50PX;
}
.employer-list .block {
    width: 32.7615%;
    text-align: center;
}
.employer-list .block a {
    display: block;
    color: #ffffff;
    position: relative;
}
.employer-list .block .thumb::after {
    padding-top: 130%;
}
.employer-list .block .thumb::before {
  content: "";
  width: 100%;
  height: 100%;
  background: rgba(42,44,46,0.70);
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
}
.employer-list .block-ttl {
    width: 100%;
    text-align: center;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-81%);
    z-index: 3;
}
.employer-list .block-ttl .enttl {
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 35px;
}
.employer-list .block-ttl .enttl span {
    display: block;
    font-size: 3.0rem;
}
.employer-list .block-ttl .ttl {
    font-size: 2.6rem;
    font-weight: 700;
    line-height: 1.5;
}
.employer-list .block .arrow {
    left: 50%;
    bottom: 17%;
    transform: translateX(-50%);
    z-index: 3;
}
@media screen and (min-width: 768px) {
    .employer-list .block a:hover {
        opacity: 1;
    }
    .employer-list .block a:hover .arrow {
		border: 1px solid #e40d0d;
        background: #e40d0d url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="12" height="15" viewBox="0 0 12 15"><path fill-rule="evenodd" stroke="rgb(255, 255, 255)" stroke-width="2px" stroke-linecap="round" stroke-linejoin="round" fill="none" d="M2.891,2.035 L8.119,7.003 L2.891,11.971 "/></svg>') no-repeat center center;
        background-size: 12px auto;
	}
}

/* t-sec-about
-------------------------------------------------- */
.t-sec-about {
    padding: 120px 0 0;
}
.t-sec-about-inner {
    position: relative;
    padding-bottom: 55px;
}
.t-sec-about-inner .thumb {
    width: 87.8357%;
    height: 640px;
}
.t-sec-about-inner .txt-slider {
    width: 100%;
    position: absolute;
    left: 0;
    bottom: 0;
}
.t-sec-about-inner .block {
    width: 37.5%;
    padding: 75px 0 0 6%;
    background: #f5f5f5;
    position: absolute;
    right: 0;
    bottom: 0;
    box-sizing: border-box;
    border-top: 4px solid #e40d0d;
}
.t-sec-about-inner .btn {
    margin-top: 30px;
}

/* t-sec-news
-------------------------------------------------- */
.t-sec-news {
    padding: 100px 0 120px;
}
.sec-news {
    padding: 0 0 120px;
}
.sec-news-side {
    width: 260px;
}
.sec-news-side .btn {
    margin-top: 50px;
}
.cate-list-ttl {
	font-size: 1.4rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    padding: 12px 0;
    position: relative;
}
.cate-list-ttl::before {
    content: "";
    width: 100%;
    height: 1px;
    background: #999999;
    position: absolute;
    left: 0;
    top: 0;
}
.cate-list {
    padding: 20px 0 30px;
}
.cate-list li {
    margin-bottom: 8px;
}
.cate-list li a {
    display: inline-block;
    font-size: 1.4rem;
    line-height: 1.5;
    background: #f1f2ed;
    padding: 8px 25px 9px;
    border-radius: 4px;
}
.archive-nav select {
    width: 90%;
    height: 47px;
    font-size: 1.4rem;
    background: #ffffff url(../images/select_wht.gif) right center no-repeat;
	background-size: auto 100%;
}
.sec-news-cont {
    width: calc(90.9090% - 260px);
}
.news-list {
	border-bottom: 1px solid #cccccc;
}
.news-block {
	border-top: 1px solid #cccccc;
    width: 100% !important;
    margin-bottom: 0 !important;
}
.news-block a {
	display: block;
	padding: 30px 0;
	position: relative;
}
.news-block a::before {
	content: "";
	width: 12px;
	height: 12px;
	background: #e40d0d;
	position: absolute;
	right: 20px;
	top: 50%;
	transform:translateY(-50%);
    border-radius: 50%;
    transition: all .2s;
}
.news-block .ttl {
    font-size: 1.8rem;
    line-height: 1.75;
    padding: 2px 0 4px;
}

@media screen and (min-width: 768px) {
	.news-block a:hover::before {
		width: 22px;
        height: 22px;
        right: 15px;
	}
}

/*/////////////////////////////////////////////////////////////////////////////


              // FOR JOB SEEKERS //
	  

/////////////////////////////////////////////////////////////////////////////*/

/* cont-fig
-------------------------------------------------- */
.cont-fig {
    margin: 0 auto 45px;
}
.cont-fig._w580 {
    max-width: 580px;
}

/* cont-number
-------------------------------------------------- */
.cont-number {
    display: flex;
    justify-content: space-between;
    border-top: 1px solid #cccccc;
    margin-bottom: 50px;
}
.cont-number:last-child {
    margin-bottom: 0;
}
.cont-number-ttl {
    width: 160px;
    padding: 40px 0 0;
}
.cont-number-ttl .enttl {
    font-size: 1.4rem;
    color: #e40d0d;
    line-height: 1.5;
    margin-bottom: 5px;
}
.cont-number-ttl .ttl {
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.4;
}
.cont-number-block {
    width: calc(98.7980% - 160px);
    padding-top: 16px;
}
.cont-number-block ul li {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    border-bottom: 1px solid #cccccc;
    padding: 25px 0;
}
.cont-number-block ul li:last-child {
    padding-bottom: 0;
    border-bottom: none;
}
.cont-number-block ul li .numb {
    width: 60px;
    font-size: 1.4rem;
    color: #e40d0d;
    padding-top: 2px;
}
.cont-number-block ul li .txt {
    width: calc(100%  - 60px);
}

/* cont-merit
-------------------------------------------------- */
.cont-merit {
    display: flex;
    justify-content: space-between;
    border: 6px solid #facfcf;
    background: #ffffff;
    padding: 34px 42px;
}
.cont-merit._demerit {
    border: 6px solid #cccccc;
}
.cont-merit + .cont-merit {
    margin-top: 20px;
}
.cont-merit-ttl {
    width: 140px;
    color: #e40d0d;
    line-height: 1.75;
    padding-top: 8px;
}
.cont-merit._demerit .cont-merit-ttl {
    color: #666666;
}
.cont-merit-ttl .enttl {
    font-size: 2.4rem;
    font-weight: 700;
}
.cont-merit-ttl .ttl {
    font-size: 1.4rem;
}
.cont-merit-block {
    width: calc(100%  - 150px);
    padding: 0 0 0 40px;
    border-left: 1px solid #e40d0d;
    box-sizing: border-box;
}
.cont-merit._demerit .cont-merit-block {
    border-left: 1px solid #cccccc;
}

/* cont-flow
-------------------------------------------------- */
.flow-slider,
.gallery-slider {
    margin: 0 -16px;
}
.flow-slider .slick-list,
.gallery-slider .slick-list {
    overflow: visible !important;
}
.flow-slider .slick-track,
.gallery-slider .slick-track {
    display: flex;
}
.flow-slider .slick-slide,
.gallery-slider .slick-slide {
    height: auto !important;
}
.flow-block {
    margin: 0 16px;
    opacity: 0.4;
    transition: all .2s;
}
.flow-block.slick-active {
    opacity: 1;
}
.flow-block .thumb::after {
    padding-top: 75%;
}
.flow-block-inner {
    position: relative;
    padding-top: 40px;
}
.flow-block .numb {
    font-size: 1.8rem;
    line-height: 1;
    color: #e40d0d;
    position: absolute;
    left: 0;
    top: -35px;
}
.flow-block .numb span {
    font-size: 6.6rem;
    font-weight: 700;
}
.flow-block .ttl {
    font-size: 2.2rem;
    line-height: 1.5;
    font-weight: 700;
    margin-bottom: 5px;
}


/*/////////////////////////////////////////////////////////////////////////////


              // FOR EMPLOYERS //
	  

/////////////////////////////////////////////////////////////////////////////*/

/* cont-solution
-------------------------------------------------- */
.solution-block {
    background: #ffffff;
    padding: 30px;
    margin-bottom: 20px;
}
.solution-block:last-child {
    margin-bottom: 0;
}
.solution-block-head {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    margin-bottom: 40px;
}
.solution-block-head .numb {
    width: 82px;
    text-align: center;
    line-height: 1.3;
}
.solution-block-head .numb span {
    display: block;
    font-size: 4.2rem;
    font-weight: 700;
}
.solution-block-head .ttl {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    font-size: 2.2rem;
    font-weight: 700;
    width: calc(100% - 100px);
    border-left: 1px solid #cccccc;
    padding-left: 30px;
    box-sizing: border-box;
}
.solution-block-body {
    border: 1px solid #e40d0d;
    padding: 43px 40px 30px;
    position: relative;
}
.solution-block-body .numb {
    width: 110px;
    background: #e40d0d;
    line-height: 36px;
    padding-bottom: 1px;
    color: #ffffff;
    font-size: 2.0rem;
    font-weight: 700;
    text-align: center;
    position: absolute;
    left: 40px;
    top: -14px;
}
.solution-block-body .ttl {
    font-size: 2.4rem;
    font-weight: 700;
    color: #e40d0d;
    line-height: 1.6;
    margin-bottom: 8px;
}

/* cont-strength
-------------------------------------------------- */
.flex-col2,
.flex-col3 {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.flex-col2 li {
    width: 49%;
    box-sizing: border-box;
    margin-bottom: 2%;
}
.flex-col3 li {
    width: 32.4519%;
    box-sizing: border-box;
}
.count-block {
    background: #ffffff;
    text-align: center;
    padding: 30px 22px;
}
.flex-col2 .count-block {
    padding: 30px 30px;
}
.count-block .numb {
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.2;
    color: #e40d0d;
    position: relative;
    padding-bottom: 10px;
}
.count-block .numb::after {
    content: "";
    width: 60px;
    height: 3px;
    background: #e40d0d;
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
}
.count-block .numb span {
    display: block;
    font-size: 3.6rem;
}
.count-block .icon {
    max-width: 146px;
    margin: 15px auto 12px;
}
.count-block dl dt {
    font-size: 2.0rem;
    font-weight: 700;
    line-height: 1.6;
    margin-bottom: 8px;
}
.count-block dl dd {
    font-size: 1.5rem;
    text-align: left;
}

/* count-list
-------------------------------------------------- */
.count-list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.count-list li {
    width: 47.5961%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #cccccc;
    padding: 20px 0;
}
.count-list li:nth-child(-n+2) {
    border-top: 1px solid #cccccc;
}
.count-list li .numb {
    width: 40px;
    font-size: 1.4rem;
    color: #e40d0d;
}
.count-list li .txt {
    width: calc(100% - 45px);
    font-size: 1.8rem;
}

/*/////////////////////////////////////////////////////////////////////////////


              // JOB //
	  

/////////////////////////////////////////////////////////////////////////////*/

/* search-panel
-------------------------------------------------- */
.search-panel {
	background: #FFFFFF;
	font-size: 1.4rem;
	margin-bottom: 20px;
}
.search-panel .ttl {
	background: #a6a6a6;
	text-align: center;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 60px;
	color: #FFFFFF;
}
.search-panel .inner {
	padding: 15px 20px 25px;
	border: 1px solid #e5e5e5;
}
.search-panel .search-txt {
	display: block;
}
.search-panel select,
.search-panel input[type="search"] {
	margin-bottom: 10px;
	font-size: 1.4rem;
    height: 46px;
    background: #ffffff;
    padding: 0 15px;
    margin-top: 4px;
}
.search-panel select {
    background: #ffffff url("../images/slect_wht.gif") right center no-repeat;
}
.search-keyword-list {
	margin-bottom: 20px;
}
.search-keyword-list label {
	display: block;
	margin: 5px 0;
	cursor: pointer;
}
.search-keyword-list label input[type="checkbox"] {
    vertical-align: baseline;
    margin: 0 6px 0 0;
}
.search-panel input[type="submit"] {	
	width: 100%;
	height: 48px;
    font-size: 1.6rem;
    padding-bottom: 2px;
	background: #1a1a1a;
}
.search-clear {
    text-align: center;
    font-size: 1.3rem;
    font-weight: 400;
    padding-top: 4px;
}

/* pagination-count
-------------------------------------------------- */
.pagination-count {
    font-size: 1.3rem;
}
.pagination-count span {
    display: inline-block;
    font-size: 1.6rem;
    margin-right: 2px;
    color: #ca1723;
}

/* non-plan-panel
-------------------------------------------------- */
.non-plan-panel {
    background: #ffffff;
    text-align: center;
    padding: 55px 20px;
    margin: 20px 0 50px;
}

/* job-list
-------------------------------------------------- */
.job-list-wrap {
    position: relative;
    padding: 40px 0 0;
}
.job-list-wrap::before,
.job-list-wrap::after {
    content: "";
    height: 1px;
    position: absolute;
    top: 0;
}
.job-list-wrap::before {
    width: 60px;
    left: 0;
    background: #e40d0d;
}
.job-list-wrap::after {
    width: calc(100% - 65px);
    background: #cccccc;
    right: 0;
}
.job-list-ttl {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 40px;
}
.job-list-ttl .ttl {
    font-size: 2.8rem;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.06em;
}
.job-list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: ;
    align-items: flex-start;
}
.job-list .job-block {
    width: 47.3557%;
    margin-bottom: 50px;
}

/* job-list-nav
-------------------------------------------------- */
.job-list-nav {
    border-top: 1px solid #cccccc;
    margin-top: 20px;
}
.job-list-nav .wp-pagenavi {
	margin: 40px auto 0;
    text-align: right;
}
.job-list-nav .wp-pagenavi a {
	width: 45px;
	height: 45px;
	margin: 0 0 2px 2px;
	line-height: 45px;
	background: #bfbfbf;
    border: 1px solid #bfbfbf;
    color: #ffffff;
	border-radius: 0;
}
.job-list-nav .wp-pagenavi span.current {
	width: 45px;
	height: 45px;
	margin: 0 0 2px 2px;
	line-height: 45px;
	border-radius: 0;
}
.job-list-nav .wp-pagenavi span.extend {
    width: 45px;
	height: 45px;
	margin: 0 0 2px 2px;
	line-height: 45px;
	background: #bfbfbf;
    border: 1px solid #bfbfbf;
    color: #ffffff;
	border-radius: 0;
    text-align: center;
}

/* job-detail
-------------------------------------------------- */
.job-detail {
    background: #ffffff;
    border-top: 4px solid #e40d0d;
    padding: 55px 60px 60px;
}
.job-detail-ttl .ttl {
    font-size: 3.4rem;
    line-height: 1.5;
    font-weight: 700;
    padding-bottom: 15px;
}
.job-detail-info {
    font-size: 1.8rem;
    margin: 20px 0 0;
}
dl.table-detail {
	width: 100%;
    border-top: 1px solid #cccccc;
	display: flex;
    justify-content: space-between;
    align-items: stretch;
	flex-wrap: wrap;
    margin-top: 30px;
}
dl.table-detail dt {
	width: 23.5%;
	border-bottom: 1px solid #cccccc;
    background: #f5f5f5;
	padding: 13px 20px 15px;
	box-sizing: border-box;
    position: relative;
    font-weight: 700;
}
dl.table-detail dd {
	width: 76.5%;
	border-bottom: 1px solid #cccccc;
	padding: 13px 20px 15px;
	box-sizing: border-box;
}
dl.table-detail dd .cate-item::after {
    content: ",";
    display: inline-block;
    margin-right: 4px;
}
dl.table-detail dd .cate-item:last-child::after {
    display: none;
    margin-right: 0;
}

.job-detail-form {
    margin: 70px 0 0;
}
.form-ttl {
    font-size: 2.8rem;
    font-weight: 700;
    padding-bottom: 20px;
    border-bottom: 1px solid #cccccc;
    margin-bottom: 20px;
}
.form-ttl span {
    display: block;
    line-height: 1.3;
    border-left: 4px solid #e40d0d;
    padding: 0 0 1px 24px;
}

/*/////////////////////////////////////////////////////////////////////////////


              // ABOUT //
	  

/////////////////////////////////////////////////////////////////////////////*/

/* cont-message
-------------------------------------------------- */
.cont-message {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.cont-message .thumb {
    width: 42%;
}
.cont-message .thumb::after {
    padding-top: 124%;
}
.cont-message-inner {
    width: 50%;
}
.cont-message-inner p {
    font-size: 1.7rem;
    margin-bottom: 0.7em;
}
.cont-message-inner p.name {
    font-weight: 700;
    margin: 1em 0 0;
}

/* cont-access
-------------------------------------------------- */
.cont-access .map {
    width: 100%;
    height: 400px;
}
.map iframe {
    width: 100%;
    height: 100%;
}
.cont-access-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 20px;
}

/* link-list
-------------------------------------------------- */
.link-list {
    display: flex;
    justify-content: space-between;
}
.link-list li {
    width: 48.0769%;
    border-bottom: 1px solid #cccccc;
}
.link-list li:nth-child(-n+2) {
    border-top: 1px solid #cccccc;
}
.link-list li a {
    display: block;
    font-size: 1.8rem;
    line-height: 1.5;
    position: relative;
    padding: 26px 0 26px 26px;
}
.link-list li a::before {
    content: "";
    width: 10px;
    height: 10px;
    background: #e40d0d;
    border-radius: 50%;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}
.link-list li a span.icon-pdf {
    display: inline-block;
    padding-right: 40px;
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="60" height="75" viewBox="0 0 60 75"><path fill-rule="evenodd" fill="rgb(228, 13, 13)" d="M47.630,74.987 L12.372,74.987 C5.550,74.987 0.001,69.345 0.001,62.409 L0.001,23.528 L0.001,21.599 L1.343,20.235 L19.890,1.376 L21.231,0.012 L23.130,0.012 L47.630,0.012 C54.450,0.012 59.999,5.654 59.999,12.591 L59.999,62.409 C59.999,69.345 54.450,74.987 47.630,74.987 ZM55.419,12.591 C55.419,8.216 51.932,4.669 47.630,4.669 L23.130,4.669 L23.130,16.928 C23.130,20.575 20.222,23.528 16.638,23.528 L4.581,23.528 L4.581,62.409 C4.581,66.784 8.068,70.331 12.372,70.331 L47.630,70.331 C51.932,70.331 55.419,66.784 55.419,62.409 L55.419,12.591 ZM48.410,38.658 L42.712,38.658 C42.617,38.658 42.571,38.707 42.571,38.802 L42.571,42.241 C42.571,42.337 42.617,42.385 42.712,42.385 L47.253,42.385 C48.269,42.385 48.859,43.009 48.859,43.898 C48.859,44.789 48.269,45.414 47.253,45.414 L42.712,45.414 C42.617,45.414 42.571,45.462 42.571,45.557 L42.571,50.221 C42.571,51.351 41.837,52.097 40.845,52.097 C39.829,52.097 39.095,51.351 39.095,50.221 L39.095,37.168 C39.095,36.231 39.664,35.606 40.609,35.606 L48.410,35.606 C49.379,35.606 50.019,36.255 50.019,37.145 C50.019,38.009 49.380,38.658 48.410,38.658 ZM29.092,51.953 L25.285,51.953 C24.339,51.953 23.773,51.351 23.773,50.413 L23.773,37.168 C23.773,36.231 24.340,35.606 25.285,35.606 L29.092,35.606 C32.519,35.606 34.649,36.712 35.499,39.380 C35.806,40.318 35.973,41.447 35.973,43.778 C35.973,46.111 35.806,47.240 35.499,48.178 C34.649,50.847 32.519,51.953 29.092,51.953 ZM32.167,40.605 C31.763,39.308 30.606,38.755 28.997,38.755 L27.390,38.755 C27.295,38.755 27.247,38.802 27.247,38.899 L27.247,48.659 C27.247,48.755 27.295,48.803 27.390,48.803 L28.997,48.803 C30.606,48.803 31.763,48.250 32.167,46.953 C32.332,46.399 32.449,45.437 32.449,43.780 C32.449,42.120 32.332,41.160 32.167,40.605 ZM15.472,46.111 L12.611,46.111 C12.516,46.111 12.467,46.160 12.467,46.255 L12.467,50.221 C12.467,51.351 11.735,52.097 10.741,52.097 C9.725,52.097 8.994,51.351 8.994,50.221 L8.994,37.168 C8.994,36.231 9.560,35.606 10.506,35.606 L15.472,35.606 C18.994,35.606 21.075,37.745 21.075,40.870 C21.075,43.947 18.970,46.111 15.472,46.111 ZM15.258,38.658 L12.611,38.658 C12.516,38.658 12.467,38.707 12.467,38.802 L12.467,42.914 C12.467,43.009 12.516,43.057 12.611,43.057 L15.258,43.057 C16.724,43.057 17.599,42.192 17.599,40.870 C17.599,39.548 16.724,38.658 15.258,38.658 Z"/></svg>') no-repeat right center;
    background-size: 20px auto;
}


/*/////////////////////////////////////////////////////////////////////////////


              // NEWS //
	  

/////////////////////////////////////////////////////////////////////////////*/

/* archive-nav
-------------------------------------------------- */
.archive-nav li {
	margin: 16px 0;
}
.archive-nav li a {
	display: block;
	position: relative;
	line-height: 1.6;
}

/* wp-pagenavi
-------------------------------------------------- */
.wp-pagenavi {
	margin: 60px auto 0;
    font-family: "Montserrat", sans-serif;
    font-weight: 500;
    font-size: 1.4rem;
}
.wp-pagenavi a {
	display: inline-block;
	width: 55px;
	height: 55px;
	margin: 0 10px 10px 0;
	line-height: 55px;
	background: #ffffff;
    border: 1px solid #cccccc;
	text-align: center;
	text-decoration: none;
	border-radius: 50%;
}
.wp-pagenavi span.current {
	display:inline-block;
	color: #ffffff;
	width: 55px;
	height: 55px;
	margin: 0 10px 10px 0;
	line-height: 55px;
	background: #e40d0d;
    border: 1px solid #e40d0d;
	text-align: center;
	text-decoration: none;
	border-radius: 50%;
}
.wp-pagenavi span.extend {
    display:inline-block;
	line-height: 55px;
    margin: 0 10px 10px 0;
}

/*/////////////////////////////////////////////////////////////////////////////


              // NEWS DETAIL //
	  

/////////////////////////////////////////////////////////////////////////////*/

/* sec-news-detail
-------------------------------------------------- */
.sec-news-detail {
    padding-bottom: 120px;
}

/* entry
-------------------------------------------------- */
.entry {
	word-wrap: break-word;
    padding: 0 0 60px;
}
.entry-thumb {
    margin-bottom: 40px;
}
.entry a {
	text-decoration: underline;
}
.entry img {
	width: auto;
	height: auto;
	vertical-align: middle;
}
.entry strong { font-weight: 700; }
.entry em { font-style: italic; }
.entry blockquote {
    background: #ffffff;
	padding: 30px 50px;
	margin: 2em 0;
}
.entry blockquote h2:first-child,
.entry blockquote h3:first-child,
.entry blockquote h4:first-child,
.entry blockquote h5:first-child {
	margin-top: 5px;
}
.entry blockquote h2:first-child {
    margin-bottom: 0.2em;
}
.entry blockquote h2 {
    padding-top: 0;
}
.entry blockquote h2::before,
.entry blockquote h2::after {
    display: none;
}
.entry ul,
.entry ol {
    margin: 0.5em 0 1em;
}
.entry ul li {
    position: relative;
    padding-left: 1.2em;
}
.entry ul li::before {
    content: "";
    width: 8px;
    height: 8px;
    background: #333333;
    position: absolute;
    left: 0;
    top: 13px;
    border-radius: 50%;
}
.entry ol {
	list-style-type: decimal;
	list-style-position: inside;
}
.entry ol li {
	text-indent: -1em;
	padding-left: 1em;
}
.entry p {
    display: block;
    margin: 0.5em 0;
}
.entry p + p {
    margin: 1em 0 0.5em;
}
.entry h2 {
	font-size: 3.2rem;
    margin: 0.85em 0 1.5em;
    padding-top: 45px;
    font-weight: 700;
    line-height: 1.75;
    position: relative;
}
.entry h2::before,
.entry h2::after {
    content: "";
    height: 1px;
    position: absolute;
    top: 0;
}
.entry h2::before {
    width: 60px;
    left: 0;
    background: #e40d0d;
}
.entry h2::after {
    width: calc(100% - 65px);
    background: #cccccc;
    right: 0;
}
.entry h3 {
	font-size: 2.4rem;
    font-weight: 700;
	margin: 1em 0 0.8em;
    padding-bottom: 15px;
    padding-left: 22px;
    position: relative;
    border-bottom: 1px solid #d9d9d9;
    line-height: 1.75;
}
.entry h3::before {
    content: "";
    width: 4px;
    height: calc(100% - 25px);
    background: #e40d0d;
    position: absolute;
    left: 0;
    top: 6px;
}
.entry h4 {
	font-size: 2.1rem;
    font-weight: 700;
    margin: 1em 0 0.35em;
}
.entry h5 {
	font-size: 1.8rem;
    font-weight: 700;
    margin: 1em 0 0;
}
.entry h2:first-child,
.entry h3:first-child,
.entry h4:first-child,
.entry h5:first-child {
    margin-top: 0;
}

.entry .aligncenter {
    display: block;
    margin: 0 auto;
}
.entry .alignright { float: right; }
.entry .alignleft { float: left; }
.entry img {
    height: auto;
	width: inherit;
    max-width: 100%;
}
.gallery-item img {
    border: none !important;
    box-sizing: border-box;
    padding: 0 3%;
}
.entry .youtube {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}
.youtube iframe{
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}
.entry iframe {
	max-width: 100%;
}

/* sns-share
-------------------------------------------------- */
.sns-share {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding: 0 0 100px;
}
.sns-share .en-ttl {
    position: relative;
    padding-right: 100px;
    margin-right: 20px;
}
.sns-share .en-ttl::after {
    content: "";
    width: 80px;
    height: 1px;
    background: #999999;
    position: absolute;
    right: 0;
    top: 50%;
}
.sns-share ul {
    display: flex;
    justify-content: center;
    align-items: center;
}
.sns-share li {
    padding: 4px 12px;
}
.sns-share li a {
    display: block;
    width: 26px;
	height: 26px;
}
.sns-share li a svg {
	display: block;
	width: auto;
	height: 100%;
}

/* detail-nav
-------------------------------------------------- */
.detail-nav-wrap {
    border-top: 1px solid #cccccc;
    padding: 70px 0 140px;
}
.detail-nav {
    width: 840px;
    margin: 0 auto;
	box-sizing: border-box;
}
.detail-nav ul {
	width: 100%;
	height: 60px;
	position: relative;
	margin: 0 auto;
}
.detail-nav ul li.btn-prev,
.detail-nav ul li.btn-next {
	position: absolute;
	top: 0;
}
.detail-nav ul li.btn-prev {
	left: 0;
}
.detail-nav ul li.btn-next {
    right: 0;
}
.detail-nav ul li.btn-prev a,
.detail-nav ul li.btn-next a {
	display: inline-block;
	font-size: 1.6rem;
    height: 60px;
	position: relative;
	transition: .2s;
	line-height: 60px;
}
.detail-nav ul li.btn-prev a {
	padding-left: 80px;
}
.detail-nav ul li.btn-next a {
	padding-right: 80px;
}
.detail-nav ul li.btn-prev a::before,
.detail-nav ul li.btn-next a::after {
	content: "";
	width: 60px;
	height: 60px;
	box-sizing: border-box;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	transition: .2s;
    border: 1px solid #999999;
    background-color: #ffffff;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 12px auto;
}
.detail-nav ul li.btn-prev a::before {
	left: 0;
    background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="12" height="15" viewBox="0 0 12 15"><path fill-rule="evenodd" stroke="rgb(26, 26, 26)" stroke-width="2px" stroke-linecap="round" stroke-linejoin="round" fill="none" d="M8.109,11.965 L2.881,6.997 L8.109,2.029 "/></svg>');
}
.detail-nav ul li.btn-next a::after {
	right: 0;
	background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="12" height="15" viewBox="0 0 12 15"><path fill-rule="evenodd" stroke="rgb(26, 26, 26)" stroke-width="2px" stroke-linecap="round" stroke-linejoin="round" fill="none" d="M2.891,2.035 L8.119,7.003 L2.891,11.971 "/></svg>');
}

/* hover */
@media screen and (min-width: 768px) {
    .detail-nav ul li a:hover {
        opacity: 1;
    }
}

/*/////////////////////////////////////////////////////////////////////////////


              // CONTACT //
	  

/////////////////////////////////////////////////////////////////////////////*/

/* contact-form
-------------------------------------------------- */
.contact-form {
	background: #ffffff;
    padding: 80px 0;
    margin-bottom: 120px;
}

/* contact-tel-block
-------------------------------------------------- */
.contact-tel-block {
	margin: 0 auto;
    padding-bottom: 40px;
    border-bottom: 1px solid #cccccc;
}
.job-detail-form .contact-tel-block {
    border-bottom: none;
    padding-bottom: 35px;
}
.contact-tel-block .txt {
	font-size: 1.8rem;
    margin-bottom: 15px;
}
.contact-tel-block a {
	display: block;
}
.contact-tel-block .tel {
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.2;
	margin: 5px 0 0;
    color: #e40d0d;
}
.contact-tel-block .tel span {
	font-size: 4.8rem;
}
.job-detail-form .contact-tel-block .tel {
	font-size: 2.0rem;
}
.job-detail-form .contact-tel-block .tel span {
	font-size: 4.0rem;
}

/* contact-block
-------------------------------------------------- */
.contact-block {
	margin: 0 auto;
}
.contact-form .contact-block {
	padding: 60px 20px 40px;
}
.contact-block-txt {
	margin-bottom: 15px;
}
.contact-block-txt.note {
	color: #4c4c4c;
}
.contact-block-txt + dl {
	border-top: 1px solid #cccccc;
}
.contact-block dl {
	padding: 15px 0;
	position: relative;
	border-bottom: 1px solid #cccccc;
}
.contact-block dl:after {
	height: 0;
	visibility: hidden;
	content: ".";
	display: block;
	clear: both;
}
.contact-block dl dt {
	width: 32%;
	float: left;
	padding: 24px 0 0;
	line-height: 1;
}
.contact-block dl dt .note {
	display: block;
	font-size: 1.4rem;
	margin: 20px 0 0;
}
.contact-block dl dd {
	margin: 0 0 0 32%;
}
.contact-block dl dd .subttl {
	font-size: 1.4rem;
	margin-top: 5px;
}
.contact-block dl dd.txt-inr {
	border-bottom: 1px solid #d9d9d9;
	padding-bottom: 15px;
	margin-bottom: 10px;
}
.contact-block dl .note {
	font-size: 1.2rem !important;
	line-height: 1.75 !important;
	margin-bottom: 10px;
}
.red {
	color: #cb1212;
}

/* input
-------------------------------------------------- */
input[type="text"],
input[type="number"],
input[type="password"],
input[type="email"],
input[type="search"] {
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	box-sizing: border-box;
	border: none;
	background: #f5f5f5;
    border: 1px solid #cccccc;
	padding: 20px 20px;
	width: 100%;
	border-radius: 0;
	line-height: 1;
	margin: 7px 0;
	height: 55px;
	vertical-align: central;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.6rem;
    font-weight: 500;
    border-radius: 4px;
}
input[type="text"].w240 {
	width: 240px;
}
input[type="number"].w200 {
	width: 200px;
}
select {
	box-sizing: border-box;
	position: relative;
	margin: 7px 0;
	width: 100%;
	height: 55px;
	background: #f5f5f5 url(../images/select.gif) right center no-repeat;
    border: 1px solid #cccccc;
	background-size: auto 55px;
	border-radius: 4px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	text-overflow: "";
	padding: 0 20px;
	cursor: pointer;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.6rem;
    font-weight: 500;
    color: #1a1a1a;
}
select.w200 {
	width: 200px;
}
select.w140 {
	width: 140px;
}
textarea {
	box-sizing: border-box;
	width: 100%;
	height: 200px;
	padding: 25px 20px;
	border: none;
	-moz-appearance: none;
	-webkit-appearance: none;
	line-height: 1.5;
	background: #f5f5f5;
    border: 1px solid #cccccc;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.6rem;
    font-weight: 500;
	margin: 7px 0;
    border-radius: 4px;
}
::placeholder {
  color: #a6a6a6;
}

/* radio, checkbox
-------------------------------------------------- */
.radio_text,
.checkbox_text {
	padding: 10px 0;
	font-size: 1.6rem;
}
.wpcf7-radio,
.wpcf7-checkbox {
}
.radio_text span.wpcf7-list-item,
.checkbox_text span.wpcf7-list-item {
	display: block;
	margin: 0;
	width: 100%;
}
.radio_text .wpcf7-list-item-label,
.checkbox_text .wpcf7-list-item-label {
	cursor: pointer;
	position: relative;
	margin: 0;
	box-sizing: border-box;
	display: block;
	width: 100%;
	padding: 5px 0 5px 35px;
}
.radio_text .wpcf7-list-item-label::before,
.checkbox_text .wpcf7-list-item-label::before {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	z-index: 1;
	background-color: #FFFFFF;
}
.radio_text .wpcf7-list-item-label::before,
.checkbox_text .wpcf7-list-item-label::before{
	width: 26px;
	height: 26px;
	border-radius : 50%;
	margin-top: -13px;
	border: 1px solid #cccccc;
	box-sizing: border-box;
}
.radio_text .wpcf7-list-item-label::after,
.checkbox_text .wpcf7-list-item-label::after {
	content: '';
	position: absolute;
	top: 50%;
	z-index : 3;
	opacity: 0;
}
.radio_text .wpcf7-list-item-label::after,
.checkbox_text .wpcf7-list-item-label::after{
	width: 14px;
	height: 14px;
	border-radius: 50%;
	left: 6px;
	margin-top: -7px;
	background-color: #292b2e;
}
.radio_text label input[type="radio"],
.checkbox_text label input[type="checkbox"] {
	display: none;
}
.radio_text label input[type="radio"]:checked + .wpcf7-list-item-label::before,
.checkbox_text label input[type="checkbox"]:checked + .wpcf7-list-item-label::before {
	background-color: #FFFFFF;
}
.radio_text label input[type="radio"]:checked + .wpcf7-list-item-label::after,
.checkbox_text label input[type="checkbox"]:checked + .wpcf7-list-item-label::after {
	opacity: 1;
}

/* form-btn
-------------------------------------------------- */
.form-btn {
	padding-top: 45px;
	position: relative;
	box-sizing: border-box;
    text-align: center;
}
.form-btn ul {
	display: flex;
	justify-content: center;
    padding-top: 30px;
}
.form-btn ul li {
	margin: 0 5px;
}
input[type="submit"],
input[type="reset"],
input[type="button"] {	
    display: block;
	width: 460px;
	height: 80px;
	padding: 0;
	margin: 0 0 10px;
	border: none;
	-moz-appearance: none;
	-webkit-appearance: none;
	color: #FFFFFF;
	cursor: pointer;
    background: #e40d0d url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="12" height="15" viewBox="0 0 12 15"><path fill-rule="evenodd" stroke="rgb(255, 255, 255)" stroke-width="2px" stroke-linecap="round" stroke-linejoin="round" fill="none" d="M2.891,2.035 L8.119,7.003 L2.891,11.971 "/></svg>') no-repeat center right 30px;
    background-size: 10px auto;
	font-family: 'Noto Sans JP', sans-serif;
	transition: all .2s;
	font-size: 1.8rem;
    font-weight: 500;
	border-radius: 4px;
}
input[type="button"] {
	opacity: 0.4;
     background: #4aa2df;
}
input[type="submit"][disabled] {
	background: #999999;
	cursor: not-allowed;
}
@media screen and (min-width: 768px) {
	input[type="submit"]:hover,
	input[type="button"]:hover,
	input[type="reset"]:hover {
		opacity: 0.7;
	}
	input[type="submit"][disabled]:hover {
		opacity: 1;
	}
}

/* form-btm-txt
-------------------------------------------------- */
.form-btm-txt {
	display: flex;
	justify-content: center;
	font-size: 1.3rem;
	line-height: 1.75;
	margin-top: 50px;
}

/* wpcf7-response-output
-------------------------------------------------- */
.wpcf7 form .wpcf7-response-output {
	text-align: center;
	margin: 0 0 2em;
	padding: 0.5em 1em;
	line-height: 1.5;
}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {
	color: #dc3232;
    background-color: #fcf7f7;
	border-color: #dc3232 !important;
}
.wpcf7 .wpcf7-not-valid-tip {
    font-size: 0.8235em !important;
    font-weight: 500 !important;
}

/* complete-display
-------------------------------------------------- */
.complete-display {
    border: 1px solid #999999;
    text-align: center;
    padding: 55px 20px;
    margin-top: -30px;
}
.complete_ttl {
	font-size: 3.6rem;
	padding-bottom: 12px;
}
.complete-display .btn {
	margin-top: 30px;
}

/* grecaptcha-badge
-------------------------------------------------- */
.grecaptcha-badge {
	visibility: hidden;
}


/*/////////////////////////////////////////////////////////////////////////////


              // Privacy Policy //
	  

/////////////////////////////////////////////////////////////////////////////*/
.privacy-contact {
	padding-top: 20px;
}
.privacy-contact dt {
	font-size: 1.8rem;
	margin-bottom: 5px;
}