@charset "UTF-8";
/**====================================
 * CSS information
 * file name	: style-sp.css
 * author		: libretto works
====================================**/
@media screen and (max-width: 767px) {
	
    /*/////////////////////////////////////////////////////////////////////////////


              // TOP //
	  

	/////////////////////////////////////////////////////////////////////////////*/
    
	/* visual
	-------------------------------------------------- */
    .visual-ttl {
        display: block;
        align-items: flex-start;
        line-height: 1.5;
        color: #FFFFFF;
        left: 5.3333%;
        bottom: 4%;
        z-index: 1;
        opacity: 0;
    }
    .visual-ttl .enttl {
        font-size: 5.6rem;
    }
    .visual-ttl-inner {
        margin: 8px 40px 0 0;
    }
    .visual-ttl .txt {
        font-size: 2.4rem;
        margin-bottom: 0;
    }
    .visual-ttl .ttl {
        font-size: 1.2rem;
        margin: 30px 0 0;
        line-height: 1.6;
    }
    
    /* scroll
	-------------------------------------------------- */
    .scroll {
        width: 10px;
        height: 145px;
        bottom: 4%;
        right: 2.6666%;
    }
    .scroll__bar1,
    .scroll__bar2 {
        height: 80px;
    }
    .scroll p {
        font-size: 1.0rem;
    }
    
    
    /* t-sec-seeker
    -------------------------------------------------- */
    .t-sec-seeker {
        position: relative;
        padding: 60px 0 10px;
    }
    .t-sec-seeker::before {
        width: 75%;
        height: calc(100% + 80px);
        top: 120px;
    }
    .t-sec-seeker-flex {
        display: block;
    }
    .t-sec-seeker-flex .thumb {
        width: 100%;
    }
    .t-sec-seeker-flex .thumb::after {
        padding-top: 66.6666%;
    }
    .t-sec-seeker-flex .block {
        width: 100%;
        padding: 35px 0 0 5.3333vw;
        box-sizing: border-box;
    }
    .t-sec-seeker-flex .btn-wrap {
        margin-top: 25px;
    }
    .t-sec-seeker .txt-slider {
        padding-left: 0;
        margin: -30px 0 0;
    }
    
    /* t-sec-job
    -------------------------------------------------- */
	.t-sec-job {
	    padding: 0 5.3333% 50px;
	}
	.job-slider {
	    padding: 26px 8px 40px;
        margin: 0 0;
	}
    .job-slider .slick-list {
        overflow: visible !important;
    }
    .job-slider .slick-slide {
        height: auto !important;
    }
	.job-slider .job-block {
	    width: auto;
	    margin: 0 12px;
	}
	.job-block-inner {
	    padding: 15px 0 0;
	}
	.job-block .ttl {
	    font-size: 1.7rem;
	    margin-bottom: 10px;
	}
	.job-block-head {
	    margin-bottom: 12px;
	}
	.job-block-head .area {
        font-size: 1.4rem;
	}
	.job-block-head .date {
	    font-size: 1.3rem;
	}
	dl.table-info {
	    width: 100%;
	    font-size: 1.3rem;
	}
	dl.table-info dt {
	    padding: 4px 1em 6px 0;
	}
	dl.table-info dt::after {
	    top: 4px;
	}
	dl.table-info dd {
	    padding: 4px 0 6px 0.8em;
	}
    .t-sec-job .section-inner {
        padding-left: 0;
        padding-right: 0;
    }
    
    /* t-sec-employer
    -------------------------------------------------- */
    .t-sec-employer {
        padding: 50px 0 0;
    }
    .t-sec-employer::before {
        content: "";
        width: 100%;
        height: 68%;
        background: #ffffff;
        position: absolute;
        left: 0;
        top: 0;
    }
    .employer-list {
        display: block;
        margin-top: 25px;
    }
    .employer-list .block {
        width: 100%;
        margin-top: 10px;
    }
    .employer-list .block a {
    }
    .employer-list .block .thumb::after {
        padding-top: 260px;
    }
    .employer-list .block-ttl {
        transform: translateY(-79%);
    }
    .employer-list .block-ttl .enttl {
        font-size: 1.2rem;
        margin-bottom: 10px;
    }
    .employer-list .block-ttl .enttl span {
        font-size: 2.4rem;
    }
    .employer-list .block-ttl .ttl {
        font-size: 2.2rem;
    }
    .employer-list .block .arrow {
        bottom: 12%;
    }
    
    /* t-sec-about
    -------------------------------------------------- */
    .t-sec-about {
        padding: 60px 0 30px;
    }
    .t-sec-about .section-inner {
        padding-right: 0 !important;
    }
    .t-sec-about-inner {
        position: relative;
        padding-bottom: 55px;
    }
    .t-sec-about-inner .thumb {
        width: 100%;
        height: auto;
    }
    .t-sec-about-inner .thumb::after {
        padding-top: 75%;
    }
    .t-sec-about-inner .txt-slider {
        width: 100%;
        position: absolute;
        left: 0;
        bottom: 0;
    }
    .t-sec-about-inner .block {
        width: 94.6667%;
        margin: -35px 0 0 8%;
        padding: 35px 5.3333vw 0 25px;
        position: relative;
        background-color: transparent;
    }
    .t-sec-about-inner .block::before {
        content: "";
        width: 100%;
        height: 36px;
        background: #f5f5f5;
        position: absolute;
        left: 0;
        top: 0;
    }
    .t-sec-about-inner .btn {
        margin-top: 25px;
    }
    
    /* t-sec-news
    -------------------------------------------------- */
    .t-sec-news {
        padding: 40px 0 50px;
        border-top: 1px solid #cccccc;
    }
    .sec-news {
        padding: 0 0 120px;
    }
    .sec-news-side {
        width: 100%;
        padding: 0 0 25px;
    }
    .sec-news-side .btn {
        display: none;
    }
    .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: 100%;
    }
    .news-list {
        margin-bottom: 25px;
    }
    .news-block {
        border-top: 1px solid #cccccc;
    }
    .news-block a {
        padding: 20px 30px 20px 0;
    }
    .news-block a::before {
        width: 10px;
        height: 10px;
        right: 5px;
    }
    .news-block .ttl {
        font-size: 1.6rem;
        padding: 2px 0;
    }
    
	/*/////////////////////////////////////////////////////////////////////////////


              // FOR JOB SEEKERS //
	  

	/////////////////////////////////////////////////////////////////////////////*/
    
    /* cont-fig
    -------------------------------------------------- */
    .cont-fig {
        margin: 0 auto 35px;
    }
    
    /* cont-number
    -------------------------------------------------- */
    .cont-number {
        margin-bottom: 40px;
    }
    .cont-number-ttl {
        width: 80px;
    }
    .cont-number-ttl .enttl {
        font-size: 1.2rem;
        margin-bottom: 2px;
    }
    .cont-number-ttl .ttl {
        font-size: 2.1rem;
    }
    .cont-number-block {
        width: calc(98.7980% - 90px);
        padding-top: 18px;
    }
    .cont-number-block ul li {
        padding: 20px 0;
    }
    .cont-number-block ul li .numb {
        width: 30px;
        font-size: 1.0rem;
        padding-top: 2px;
    }
    .cont-number-block ul li .txt {
        width: calc(100% - 30px);
    }
    
    /* cont-merit
    -------------------------------------------------- */
    .cont-merit {
        display: block;
        border: 4px solid #facfcf;
        padding: 20px 20px 25px;
    }
    .cont-merit._demerit {
        border: 4px solid #cccccc;
    }
    .cont-merit + .cont-merit {
        margin-top: 15px;
    }
    .cont-merit-ttl {
        width: 100%;
        line-height: 1.4;
        padding: 0 0 12px;
    }
    .cont-merit-ttl .enttl {
        font-size: 2.4rem;
    }
    .cont-merit-ttl .ttl {
        font-size: 1.3rem;
    }
    .cont-merit-block {
        width: 100%;
        padding: 15px 0 0 0;
        border-top: 1px solid #e40d0d;
        border-left: none;
    }
    .cont-merit._demerit .cont-merit-block {
        border-top: 1px solid #cccccc;
        border-left: none;
    }
    
    /* cont-flow
    -------------------------------------------------- */
    .gallery-slider {
        margin: 0;
    }
    .gallery-slider .flow-block {
        margin: 0 12px;
    }
    .flow-block-inner {
        padding-top: 35px;
    }
    .flow-block .numb {
        font-size: 1.4rem;
        top: -28px;
    }
    .flow-block .numb span {
        font-size: 5.6rem;
    }
    .flow-block .ttl {
        font-size: 2.0rem;
        margin-bottom: 6px;
    }
    
    /*/////////////////////////////////////////////////////////////////////////////


              // FOR EMPLOYERS //
	  

	/////////////////////////////////////////////////////////////////////////////*/
    
    /* cont-solution
    -------------------------------------------------- */
    .solution-block {
        padding: 30px 20px;
        margin-bottom: 20px;
    }
    .solution-block-head {
        margin-bottom: 35px;
    }
    .solution-block-head .numb {
        width: 40px;
        font-size: 1.3rem;
        line-height: 1.3;
        padding: 10px 0;
    }
    .solution-block-head .numb span {
        font-size: 2.8rem;
    }
    .solution-block-head .ttl {
        font-size: 1.9rem;
        line-height: 1.6;
        width: calc(100% - 55px);
        padding-left: 20px;
    }
    .solution-block-body {
        padding: 38px 20px 25px;
    }
    .solution-block-body .numb {
        width: 70px;
        line-height: 30px;
        padding-bottom: 1px;
        font-size: 1.6rem;
        left: 20px;
        top: -10px;
    }
    .solution-block-body .ttl {
        font-size: 1.9rem;
        margin-bottom: 6px;
    }
    
    /* cont-strength
    -------------------------------------------------- */
    .flex-col2,
    .flex-col3 {
        display: block;
    }
    .flex-col2 li,
    .flex-col3 li {
        width: 100%;
        margin-bottom: 10px;
    }
    .count-block {
        padding: 30px 30px 40px;
    }
    .count-block .numb {
        font-size: 1.3rem;
    }
    .count-block .numb span {
        display: block;
        font-size: 3.4rem;
    }
    .count-block .icon {
        max-width: 120px;
    }
    .count-block dl dd {
        font-size: 1.4rem;
    }
    
    /* count-list
    -------------------------------------------------- */
    .count-list li {
        align-items: flex-start;
        padding: 18px 0;
    }
    .count-list li .numb {
        width: 35px;
        font-size: 1.2rem;
    }
    .count-list li .txt {
        width: calc(100% - 35px);
        font-size: 1.4rem;
    }
    
    /*/////////////////////////////////////////////////////////////////////////////


              // JOB //
	  

	/////////////////////////////////////////////////////////////////////////////*/
    
    /* search-panel
    -------------------------------------------------- */
    .search-panel {
        background: #FFFFFF;
        font-size: 1.4rem;
        margin-bottom: 25px;
    }
    .search-panel .ttl {
        font-size: 1.4rem;
        line-height: 45px;
        padding-bottom: 1px;
        position: relative;
        cursor: pointer;
    }
    .search-panel .ttl::before,
    .search-panel .ttl::after {
        content: "";
        width: 14px;
        height: 2px;
        position: absolute;
        top: 50%;
        right: 20px;
        margin-top: -2px;
        background: #ffffff;
        transform-origin: center center;
        transition: all .2s;
    }
    .search-panel .ttl::after {
        transform: rotate(90deg);
    }
    .search-panel .ttl.active::after {
        transform: rotate(0);
    }
    .search-panel .inner {
        display: none;
    }
	.search-panel input[type="submit"] {	
        height: 48px;
        font-size: 1.4rem;
        padding-bottom: 2px;
        background: #1a1a1a;
    }
    
    /* pagination-count
    -------------------------------------------------- */
    .pagination-count {
        font-size: 1.1rem;
    }
    .pagination-count span {
        font-size: 1.4rem;
    }
    
    /* non-plan-panel
    -------------------------------------------------- */
    .non-plan-panel {
        padding: 40px 15px;
        margin: 20px 0 40px;
    }
    
    /* job-list
    -------------------------------------------------- */
    .job-list-wrap {
        padding: 25px 0 0;
    }
    .job-list-wrap::before {
        width: 40px;
    }
    .job-list-wrap::after {
        width: calc(100% - 45px);
    }
    .job-list-ttl {
        margin-bottom: 20px;
    }
    .job-list-ttl .ttl {
        font-size: 2.3rem;
    }
    .job-list {
        display: block;
    }
    .job-list .job-block {
        width: 100%;
        margin-bottom: 40px;
    }
    
    /* job-list-nav
    -------------------------------------------------- */
    .job-list-nav {
        margin-top: 10px;
    }
    .job-list-nav .wp-pagenavi {
        margin: 30px auto 0;
    }
    
    /* job-detail
    -------------------------------------------------- */
    .job-detail {
        border-top: 3px solid #e40d0d;
        padding: 35px 5.3333vw 40px;
    }
    .job-detail-ttl .ttl {
        font-size: 2.4rem;
        padding-bottom: 12px;
    }
    .job-detail-info {
        font-size: 1.5rem;
        margin: 20px 0 0;
    }
    dl.table-detail {
        margin-top: 20px;
    }
    dl.table-detail dt {
        width: 27%;
        padding: 10px 12px 12px;
        font-size: 1.3rem;
    }
    dl.table-detail dd {
        width: 73%;
        border-bottom: 1px solid #cccccc;
        padding: 10px 12px 12px;
        font-size: 1.3rem;
    }
    .job-detail-form {
        margin: 40px 0 0;
    }
    .form-ttl {
        font-size: 2.3rem;
        padding-bottom: 15px;
        margin-bottom: 20px;
    }
    .form-ttl span {
        border-left: 3px solid #e40d0d;
        padding: 0 0 1px 16px;
    }
    
    /*/////////////////////////////////////////////////////////////////////////////


              // ABOUT //
	  

	/////////////////////////////////////////////////////////////////////////////*/
    
    /* cont-message
    -------------------------------------------------- */
    .cont-message {
        display: block;
    }
    .cont-message .thumb {
        width: 62%;
        margin: 0 auto 25px;
    }
    .cont-message-inner {
        width: 100%;
    }
    .cont-message-inner p {
        font-size: 1.5rem;
    }
    
    /* cont-access
    -------------------------------------------------- */
    .cont-access .map {
        height: 280px;
    }
    .cont-access-inner {
        display: block;
        margin-top: 12px;
    }
    .cont-access-inner .btn {
        margin-top: 10px;
    }
    
    /* link-list
    -------------------------------------------------- */
    .link-list li a {
        font-size: 1.5rem;
        padding: 28px 0 28px 22px;
    }
    .link-list li a span.icon-pdf {
        padding-right: 34px;
        background-size: 16px auto;
    }
    
    /*/////////////////////////////////////////////////////////////////////////////


              // NEWS //
	  

	/////////////////////////////////////////////////////////////////////////////*/
    
    /* archive-nav
    -------------------------------------------------- */
    .archive-nav {
        width: calc(100% + 5.3333vw);
    }
    .archive-nav ul {
        padding: 15px 25px 50px 0;
        display: flex;
        justify-content: flex-start;
        overflow-x: auto;
    }
    .archive-nav li {
        margin: 0 6px 0 0;
        white-space: nowrap;
    }
    .archive-nav li a {
        font-size: 1.2rem;
        line-height: 1.5;
        padding: 6px 15px 8px;
        background: #ffffff;
        border-radius: 4px;
    }
    
    /* wp-pagenavi
    -------------------------------------------------- */
    .wp-pagenavi {
        margin: 40px auto 0;
        font-size: 1.3rem;
    }
    .wp-pagenavi a {
        width: 42px;
        height: 42px;
        margin: 0 6px 6px 0;
        line-height: 42px;
    }
    .wp-pagenavi span.current {
        width: 42px;
        height: 42px;
        margin: 0 6px 6px 0;
        line-height: 42px;
    }
    .wp-pagenavi span.extend {
        line-height: 42px;
        margin: 0 8px 8px 0;
    }
    
	/*/////////////////////////////////////////////////////////////////////////////


              // NEWS DETAIL //
	  

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

	/* entry
    -------------------------------------------------- */
    .entry {
        padding: 0 0 40px;
    }
    .entry blockquote {
        padding: 20px 20px;
        margin: 1.3em 0;
    }
    .entry blockquote h2:first-child,
    .entry blockquote h3:first-child,
    .entry blockquote h4:first-child,
    .entry blockquote h5:first-child {
        margin-top: 10px;
    }
    .entry ul li::before {
        top: 10px;
    }
    .entry p {
        display: block;
        margin: 0.3em 0;
    }
    .entry p + p {
        margin: 0.75em 0 0.5em;
    }
    .entry h2 {
        font-size: 2.4rem;
        margin: 0.4em 0 1em;
        padding-top: 1.35em;
    }
    .entry h3 {
        font-size: 2.2rem;
        padding-left: 20px;
    }
    .entry h4 {
        font-size: 2.0rem;
    }
    .entry h5 {
        font-size: 1.8rem;
    }
    .entry h2:first-child,
    .entry h2:first-child,
    .entry h2:first-child,
    .entry h2:first-child {
        margin-top: 0;
    }
    
    /* sns-link
    -------------------------------------------------- */
    .sns-share {
        padding: 0 0 50px;
    }
    .sns-share .en-ttl {
        padding-right: 55px;
        margin-right: 10px;
        font-size: 1.3rem;
    }
    .sns-share .en-ttl::after {
        width: 40px;
    }
    .sns-share li {
        padding: 4px 10px;
    }
    .sns-share li a {
        width: 24px;
        height: 24px;
    }
    
    /* detail-nav
    -------------------------------------------------- */
    .detail-nav-wrap {
        padding: 40px 0 70px;
    }
    .detail-nav {
        width: 100%;
        margin: 0 auto;
    }
    .detail-nav ul {
        height: 50px;
    }
    .detail-nav ul li.btn-prev a,
    .detail-nav ul li.btn-next a {
        height: 50px;
        line-height: 50px;
    }
    .detail-nav ul li.btn-prev a {
        padding-left: 50px;
    }
    .detail-nav ul li.btn-next a {
        padding-right: 50px;
    }
    .detail-nav ul li.btn-prev a::before,
    .detail-nav ul li.btn-next a::after {
        width: 50px;
        height: 50px;
        background-size: 10px auto;
    }
    .detail-nav .btn a {
        width: 190px;
        padding: 11px 35px 11px 20px;
        font-size: 1.2rem;
    }
    .detail-nav .btn a span {
        padding-bottom: 0;
    }
    .detail-nav .btn a::after {
        top: 11px;
        width: 35px;
    }
    
	/*/////////////////////////////////////////////////////////////////////////////


              // CONTACT //
	  

	/////////////////////////////////////////////////////////////////////////////*/
	
	/* contact-form
	-------------------------------------------------- */
    .contact-form {
        padding: 40px 0;
        margin-bottom: 60px;
    }
	
	/* contact-tel-block
	-------------------------------------------------- */
	.contact-tel-block {
	    padding-bottom: 35px;
	}
	.job-detail-form .contact-tel-block {
	    border-bottom: none;
	    padding-bottom: 30px;
	}
	.contact-tel-block .txt {
	    font-size: 1.4rem;
	    margin-bottom: 10px;
	}
	.contact-tel-block a {
	    display: block;
	}
	.contact-tel-block .tel {
	    font-size: 1.5rem;
	    margin: 5px 0 0;
	}
	.contact-tel-block .tel span {
	    font-size: 3.2rem;
	}
    .contact-tel-block .note {
	    font-size: 1.2rem;
	}
	.job-detail-form .contact-tel-block .tel {
	    font-size: 1.5rem;
	}
	.job-detail-form .contact-tel-block .tel span {
	    font-size: 3.0rem;
	}
	
	/* contact-block
	-------------------------------------------------- */
	.contact-form .contact-block {
        padding: 30px 0 0;
    }
    .contact-block-txt {
	    margin-bottom: 10px;
	}
	.contact-block-txt + dl {
	    border-top: 1px solid #cccccc;
	}
	.contact-block dl {
	    padding: 10px 0 15px;
	}
	.contact-block dl dt {
	    width: 100%;
	    float: none;
	    padding: 15px 0 8px;
        font-size: 1.4rem;
	}
	.contact-block dl dt .note {
	    display: block;
	    font-size: 1.2rem;
	    margin: 15px 0 0;
	}
	.contact-block dl dd {
	    margin: 0;
	}
	.contact-block dl dd .subttl {
	    font-size: 1.4rem;
	    margin-top: 8px;
	}
	
	/* input
	-------------------------------------------------- */
	input[type="text"],
	input[type="password"],
	input[type="email"] {
	    padding: 20px 10px;
	    font-size: 1.4rem;
	}
	input[type="text"].w240 {
	    width: 60%;
	}
	select {
	    width: 100%;
	    padding: 0 10px;
	    font-size: 1.4rem;
	}
	textarea {
	    height: 180px;
	    padding: 20px 15px;
	    font-size: 1.4rem;
	}
	select.w200 {
        width: 120px;
    }
    select.w140 {
        width: 100px;
    }
    
	/* form-btn
	-------------------------------------------------- */
	.form-btn {
	    padding-top: 25px;
	}
	.form-btn ul {
	    display: block;
        padding-top: 10px;
	}
	.form-btn ul li {
		width: 100%;
	    margin: 10px 0;
	}
	input[type="submit"],
	input[type="reset"],
	input[type="button"] {
	    width: 100%;
	    height: 60px;
	    font-size: 1.5rem;
	}
	
	/* form-btm-txt
	-------------------------------------------------- */
	.form-btm-txt {
	    display: block;
	    font-size: 1.2rem;
	    margin-top: 20px;
	}
	
	/* complete-display
	-------------------------------------------------- */
	.complete-display {
        padding: 40px 20px 45px;
        margin-top: 0;
    }
    .complete_ttl {
        font-size: 2.7rem;
        padding-bottom: 12px;
    }
    .complete-display .btn {
        margin-top: 25px;
    }
	
	/*/////////////////////////////////////////////////////////////////////////////


              // Privacy Policy //
	  

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