@charset "UTF-8";

.l-container {
    min-width: 1216px;
}

.l-inner {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 8px;
    padding-right: 8px;
}

.l-container,
.l-inner {
    position: relative;
}

.l-container:after,
.l-inner:after {
    content: " ";
    display: block;
    clear: both;
}

.l-padding._top {
    padding-top: 62px;
}

.l-padding._top._small {
    padding-top: 45px;
}

.l-padding._top._large {
    padding-top: 80px;
}

.l-padding._bottom {
    padding-bottom: 62px;
}

.l-padding._bottom._small {
    padding-bottom: 45px;
}

.l-padding._bottom._large {
    padding-bottom: 80px;
}

.l-padding._bottom2 {
    padding-bottom: 165px;
}

.l-bg_gray {
    background: #F2F2F2;
}

.side-container .c-link1 {
    text-align: right;
}

.side-container .feature_list,
.side-container .lab_list,
.side-container .event_list {
    margin-bottom: 40px;
}

.side-container .feature_item,
.side-container .lab_item,
.side-container .event_item {
    margin-bottom: 25px;
}

.l-content {
    padding-left: 20px;
}

.l-content._large {
    padding-left: 37px;
}

.l-content_center {
    padding-right: 20px;
}



.c-fs1 {
    font-size: 16px;
    line-height: 1.8;
}



.c-bread {
    padding: 25px 0 38px;
}

.c-bread__list {
    font-size: 14px;
    word-break: break-all;
}

.c-bread__list > li {
    display: inline;
}

.c-bread__list > li a {
    color: #1976d2;
}

.c-bread__list > li + li:before {
    content: "\FF1E";
    font-size: 14px;
    /*    content: ">";*/
    -webkit-transform: scale(0.5);
    -ms-transform: scale(0.5);
    transform: scale(0.5);
    display: inline-block;
}

.c-page-hl {
    font-size: 34px;
    font-weight: bold;
    line-height: 1.9;
    padding-left: 37px;
    position: relative;
    margin-bottom: 40px;
}

.c-page-hl:after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 8px;
    border-radius: 8px;
    background: -webkit-gradient(linear, left top, left bottom, from(#48C6EF), to(#6F86D6));
    background: -o-linear-gradient(#48C6EF, #6F86D6);
    background: linear-gradient(#48C6EF, #6F86D6);
}

.c-page-hl._1 {
    padding-left: 37px;
    font-size: 28px;
    margin-bottom: 20px;
}

.c-page-hl._1:after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    height: 40px;
    width: 7px;
    border-radius: 3px;
}



.c-hl1 {
    font-size: 32px;
    text-align: center;
}

.c-hl1 .alp {
    position: relative;
    margin-top: 40px;
    display: block;
    color: #B0BEC5;
    font-size: 24px;
    font-weight: 200;
    letter-spacing: 0.04em;
}

.c-hl1 .alp:before {
    content: '';
    position: absolute;
    top: -20px;
    right: 0;
    left: 0;
    margin: 0 auto;
    display: block;
    width: 80px;
    height: 4px;
    background: -webkit-gradient(linear, left top, right top, from(#6F86D6), to(#48C6EF));
    background: -o-linear-gradient(left, #6F86D6, #48C6EF);
    background: linear-gradient(90deg, #6F86D6, #48C6EF);
    border-radius: 2px;
}

.c-hl1._small {
    position: relative;
    font-size: 24px;
    text-align: left;
    padding: 0 0 5px 10px;
    margin-bottom: 20px;
}

.c-hl1._small:before {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    margin: 0 auto;
    display: block;
    width: 100%;
    height: 2px;
    background: -webkit-gradient(linear, left top, right top, from(#6F86D6), to(#48C6EF));
    background: -o-linear-gradient(left, #6F86D6, #48C6EF);
    background: linear-gradient(90deg, #6F86D6, #48C6EF);
    border-radius: 2px;
}

.c-hl2 {
    text-align: center;
    font-size: 14px;
    position: relative;
    padding-bottom: 25px;
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 50px;
}

.c-hl2:after {
    content: '';
    display: block;
    position: absolute;
    width: 80px;
    height: 4px;
    background: #1976d2;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
}

.c-hl3 {
    font-weight: 700;
    font-size: 18px;
    padding-left: 20px;
    border-left: 4px solid #1976d2;
    margin-bottom: 30px;
}

.c-hl4 {
    text-align: center;
    font-size: 28px;
    font-weight: 700;
}

.c-hl4 .alp {
    display: block;
    font-size: 22px;
    padding-top: 10px;
}

.anchor {
    padding-top: 30px;
    margin-top: -30px;
}

#top_jobs.anchor,
#top_merit.anchor,
#top_rea-po.anchor,
#top_voice.anchor {
    padding-top: 0;
    margin-top: 0;
}

.p-plus {
    margin-top: 50px;
}

.p-plus .l-inner {
    padding-top: 50px;
    padding-bottom: 14px;
}

.p-plus_text1 {
    font-size: 40px;
    font-weight: 700;
    margin-bottom: 40px;
    text-align: center;
}

.p-plus_in {
    position: relative;
    padding-bottom: 40px;
}

.p-plus_text2 {
    font-size: 32px;
    font-weight: 700;
    display: inline-block;
    margin-bottom: 30px;
    text-align: center;
    line-height: 1.3;
    position: relative;
    padding: 0 45px;
}

.p-plus_text2 .big1 {
    font-size: 50px;
}

.p-plus_text2:before,
.p-plus_text2:after {
    content: '';
    display: block;
    position: absolute;
    height: 45px;
    width: 1px;
    background: #fff;
    bottom: 5px;
}

.p-plus_text2:before {
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
    left: 15px;
}

.p-plus_text2:after {
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    right: 15px;
}

.p-plus_image1 img {
    width: 360px;
    position: absolute;
    bottom: 0;
    right: -50px;
}

.p-plus .c-btn_wrap .c-btn1 {
    width: 400px;
    margin: 0 auto;
}



.p-check .p-check_tab:after {
    content: " ";
    display: block;
    clear: both;
}

.p-check .p-check_tab li {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    float: left;
    width: 49%;
    cursor: pointer;
    background: #F2F2F2;
    text-align: center;
    font-size: 20px;
    font-weight: bold;
    border-radius: 4px 4px 0 0;
    padding: 7px 10px;
    -webkit-transition: 0.5s;
    -o-transition: 0.5s;
    transition: 0.5s;
}

.p-check .p-check_tab li:nth-child(1) {
    margin-right: 2%;
}

.p-check .p-check_tab li > span {
    display: inline-block;
    background-size: 32px auto;
    background-repeat: no-repeat;
    background-position: left center;
    padding: 10px 0 10px 40px;
}

.p-check .p-check_tab li:nth-child(1) > span {
    background-image: url(../img/cmn/occupations-icon.png);
}

.p-check .p-check_tab li:nth-child(2) > span {
    background-image: url(../img/cmn/location-icon.png);
}

.p-check .p-check_tab li.current,
.p-check .p-check_tab li:hover {
    background: #1976d2;
    color: #fff;
}

.p-check .p-check_tab li.current:nth-child(1) > span,
.p-check .p-check_tab li:hover:nth-child(1) > span {
    background-image: url(../img/cmn/occupations-icon_h.png);
}

.p-check .p-check_tab li.current:nth-child(2) > span,
.p-check .p-check_tab li:hover:nth-child(2) > span {
    background-image: url(../img/cmn/location-icon_h.png);
}

.p-check label {
    cursor: pointer;
}

.p-check .tabbox {
    border: 2px solid #1976d2;
    padding: 30px 40px 8px;
}

.p-check .p-check_cont + .p-check_cont {
    margin-top: 10px;
}

.p-check .p-check_list01 {
    float: left;
    width: 50%;
}

.p-check .p-check_list01._02 {
    width: 50%;
}

.p-check .p-check_list {
    padding-left: 26px;
}

.p-check .p-check_list:after {
    content: " ";
    display: block;
    clear: both;
}

.p-check .p-check_item {
    display: block;
    float: left;
    width: 320px;
    margin: -4px 0 23px;
}

.p-check .p-check_item .check_ico {
    display: inline-block;
    padding-top: 4px;
    padding-left: 30px;
    position: relative;
    font-size: 16px;
    color: #798288;
    font-weight: 500;
    line-height: 1;
    word-break: break-all;
}

.p-check .p-check_item .check_ico:before {
    content: "";
    display: block;
    position: absolute;
    top: 4px;
    left: 0;
    width: 14px;
    height: 14px;
    border: 2px solid #CFD8DC;
    border-radius: 3px;
}

.p-check .p-check_item .check_ico_span {
    display: block;
    padding-top: 5px;
    line-height: 1.4;
}

.p-check .p-check_item input[type="checkbox"] {
    display: none;
}

.p-check .p-check_item input[type="checkbox"]:checked + .check_ico:before {
    background: #1976d2;
    border: 2px solid #1976d2;
}

.p-check .p-check_item input[type="checkbox"]:checked + .check_ico:after {
    content: "";
    display: block;
    position: absolute;
    top: 6px;
    left: 6px;
    width: 4px;
    height: 10px;
    -webkit-transform: rotate(40deg);
    -ms-transform: rotate(40deg);
    transform: rotate(40deg);
    border-bottom: 2px solid #fff;
    border-right: 2px solid #fff;
}

.p-check .search_btn_wrap {
    text-align: center;
}

.p-check .search_btn {
    cursor: pointer;
    border: none;
    color: #fff;
    border-bottom: 4px solid #C67100;
    background: #FFA000;
    border-radius: 6px;
    font-size: 20px;
    font-weight: 700;
    font-family: inherit;
    width: 320px;
    padding: 15px 10px 15px 34px;
    -webkit-transition: opacity 0.5s;
    -o-transition: opacity 0.5s;
    transition: opacity 0.5s;
    background-image: url(../img/cmn/search-icon.svg);
    background-repeat: no-repeat;
    background-size: 24px auto;
    background-position: 95px;
}

.p-check .search_btn:hover {
    opacity: 0.7;
}

.j_tabwrap .p-check_cont {
    overflow: hidden;
}

.j_tabwrap .tabbox {
    display: none;
}

.j_tabwrap .tabbox:nth-child(1) {
    display: block;
}

.j_tabwrap .tabbox:nth-child(1) .p-check_item {
    width: 100%;
    margin: -4px 0 23px;
}

.j_tabwrap .tabbox:nth-child(3) .p-check_item:nth-child(14) {
    clear: both;
}

.p-service_tx {
    font-size: 24px;
    font-weight: 500;
    text-align: center;
    padding: 40px 0 36px;
}

.p-service_tx2 {
    color: #FFA000;
}

.p-service_box {
    overflow: hidden;
    width: 754px;
    margin: 0 auto;
}

.p-service_boximg {
    float: left;
    width: 120px;
}

.p-service_boxtx {
    float: right;
    width: 578px;
    font-size: 16px;
    line-height: 1.8;
}

.p-search1 {
    background: -webkit-gradient(linear, right top, left top, from(rgba(25, 118, 210, 0.7)), to(#48C6EF));
    background: -o-linear-gradient(right, rgba(25, 118, 210, 0.7), #48C6EF);
    background: linear-gradient(-90deg, rgba(25, 118, 210, 0.7), #48C6EF);
    color: #fff;
}

.p-search1 .l-inner {
    padding-top: 80px;
    padding-bottom: 80px;
}

.p-search1 .p-search_form {
    display: table;
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.p-search1 .p-search_ttl,
.p-search1 p-search_input {
    display: table-cell;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    vertical-align: middle;
}

.p-search1 .p-search_ttl {
    font-weight: 700;
    font-size: 20px;
    padding-left: 20px;
    width: 230px;
}

.p-search1 .search_wrap {
    display: table;
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.p-search1 .search_form,
.p-search1 search_btn {
    display: table-cell;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    vertical-align: middle;
}

.p-search1 .search_form {
    width: 100%;
}

.p-search1 .search_form input {
    border-radius: 6px 0 0 6px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    border: 1px solid #CFD8DC;
    font-family: inherit;
    font-size: 16px;
    padding: 20px 30px;
    height: 64px;
}

.p-search1 :placeholder-shown {
    color: #CFD8DC;
}

.p-search1 ::-webkit-input-placeholder {
    color: #CFD8DC;
}

.p-search1 :-moz-placeholder {
    color: #CFD8DC;
    opacity: 1;
}

.p-search1 ::-moz-placeholder {
    color: #CFD8DC;
    opacity: 1;
}

.p-search1 :-ms-input-placeholder {
    color: #CFD8DC;
}

.p-search1 .search_btn {
    width: 160px;
    margin: 0 auto;
}

.p-search1 .search_btn input {
    border-radius: 0 6px 6px 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-family: inherit;
    font-size: 20px;
    cursor: pointer;
    font-weight: 700;
    color: #fff;
    border: none;
    background: #1976d2;
    width: 100%;
    height: 64px;
    background-image: url(../img/cmn/search-icon.svg);
    background-repeat: no-repeat;
    background-position: 45px center;
    background-size: 24px auto;
    padding: 0 0 0 24px;
    -webkit-transition: opacity 0.5s;
    -o-transition: opacity 0.5s;
    transition: opacity 0.5s;
}

.p-search1 .search_btn input:hover {
    opacity: 0.7;
}

.p-search1 .p-search_word {
    margin-top: 42px;
    text-align: center;
    font-weight: bold;
    font-size: 18px;
    margin-bottom: 16px;
}

.p-search1 .p-search_list {
    text-align: center;
}

.p-search1 .p-search_list a {
    display: inline-block;
    background: #1976d2;
    color: #fff;
    font-size: 12px;
    padding: 7px 10px;
    margin: 6px 3px 0;
    border-radius: 2px;
    -webkit-transition: opacity 0.5s;
    -o-transition: opacity 0.5s;
    transition: opacity 0.5s;
}

.p-search1 .p-search_list a:hover {
    text-decoration: none;
    opacity: 0.7;
}

.p-search1.type_word .l-inner {
    padding-top: 56px;
    padding-bottom: 56px;
}



#privacy_contents {
    padding: 15px 0 130px;
}

#privacy_contents .text_box {
    padding: 0 40px;
    margin-bottom: 25px;
}

#privacy_contents .text_box .hl1 {
    font-weight: 800;
    font-size: 20px;
    margin-bottom: 10px;
}

#privacy_contents .text_box .hl2 {
    font-weight: 800;
}

#privacy_contents .text_box ul,
#privacy_contents .text_box ol ul {
    counter-reset: olc 0;
}

#privacy_contents .text_box ul li,
#privacy_contents .text_box ol ul li {
    text-indent: -1em;
    padding-left: 1em;
}

#privacy_contents .text_box ul li:before,
#privacy_contents .text_box ol ul li:before {
    content: "\30FB";
}

#privacy_contents .text_box ol {
    counter-reset: olc;
}

#privacy_contents .text_box ol li {
    text-indent: -1em;
    padding-left: 1em;
}

#privacy_contents .text_box ol li:before {
    counter-increment: olc;
    content: counter(olc) ".";
    padding-right: 4px;
}



#contact_form {
    padding: 10px 0 80px;
}

#contact_form .form_box {
    border-radius: 6px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background: #fff;
    padding: 40px;
    -webkit-box-shadow: 0px 2px 4px 2px rgba(0, 0, 0, 0.2);
    box-shadow: 0px 2px 4px 2px rgba(0, 0, 0, 0.2);
}

#contact_form .form_box .text1 {
    margin-bottom: 30px;
}

#contact_form .form_box .text2 {
    padding-top: 28px;
    margin-bottom: 32px;
    text-align: center;
}

#contact_form .form_box .text2 a {
    color: #1976d2;
    text-decoration: underline;
}

#contact_form .form_box dl {
    margin-bottom: 23px;
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

#contact_form .form_box dl dt {
    font-weight: 800;
    color: #1976d2;
    font-size: 16px;
    position: relative;
    padding-top: 10px;
}

#contact_form .form_box dl dt .any {
    position: absolute;
    right: 15px;
    top: 8px;
    padding: 2px 0 3px;
    width: 62px;
    text-align: center;
    color: #B0BEC5;
    font-weight: 300;
    border: 1px solid #B0BEC5;
    border-radius: 40px;
}

#contact_form .form_box dl dt .any.required {
    color: #FF1744;
    border-color: #FF1744;
}

#contact_form .form_box dl dd {
    overflow: hidden;
}

#contact_form .form_box dl dd .name_box {
    float: left;
    overflow: hidden;
    width: 45%;
}

#contact_form .form_box dl dd .name_box + .name_box {
    float: right;
}

#contact_form .form_box dl dd .name_box .name {
    text-align: center;
    font-size: 16px;
    float: left;
    width: 10%;
    padding-top: 10px;
}

#contact_form .form_box dl dd .year_box {
    float: left;
    width: 38%;
    margin-right: 3%;
}

#contact_form .form_box dl dd .month_box {
    float: left;
    width: 28%;
    margin-right: 3%;
}

#contact_form .form_box dl dd .day_box {
    float: left;
    width: 28%;
}

#contact_form .form_box dl dd .name_box input[type="text"] {
    float: right;
    width: 84%;
}

#contact_form .form_box dl dd .name_box .wpcf7-not-valid-tip {
    clear: both;
}

#contact_form .form_box dl dd .select_box {
    position: relative;
}

#contact_form .form_box dl dd .select_box select {
    background: #fff;
}

#contact_form .form_box dl dd .select_box select::-ms-expand {
    display: none;
}

#contact_form .form_box dl dd .select_box .hide {
    line-height: 1;
    font-size: 16px;
    position: absolute;
    top: 10px;
    z-index: 5;
    color: #E0E0E0;
    background: #fff;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    pointer-events: none;
    border-radius: 5px;
    padding: 5px 18px;
    margin: 1px;
}

#contact_form .form_box dl dd .select_box:after {
    content: "";
    position: absolute;
    width: 12px;
    height: 12px;
    right: 12px;
    top: 18px;
    z-index: 5;
    background: url(../img/contact/arr01.png) no-repeat center center;
    background-size: 100%;
}

#contact_form .form_box input[type="text"],
#contact_form .form_box input[type="email"],
#contact_form .form_box .submit input,
#contact_form .form_box select,
#contact_form .form_box textarea {
    font-family: "Futura", "Noto Sans JP", "メイリオ", Meiryo, sans-serif;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    font-size: 16px;
    -webkit-appearance: button;
    -moz-appearance: none;
    appearance: none;
    border-radius: 5px;
    border: 1px solid #E0E0E0;
    padding: 10px 18px;
}

#contact_form .form_box input[readonly] {
    border-color: transparent;
}

#contact_form .form_box textarea {
    resize: none;
    height: 200px;
}

#contact_form .form_box :placeholder-shown {
    color: #E0E0E0;
}

#contact_form .form_box ::-webkit-input-placeholder {
    color: #E0E0E0;
}

#contact_form .form_box :-moz-placeholder {
    color: #E0E0E0;
    opacity: 1;
}

#contact_form .form_box ::-moz-placeholder {
    color: #E0E0E0;
    opacity: 1;
}

#contact_form .form_box :-ms-input-placeholder {
    color: #E0E0E0;
}

#contact_form .form_box .submit {
    text-align: center;
}

#contact_form .form_box .submit .back {
    display: inline-block;
    padding-top: 0;
    padding-bottom: 0;
    font-size: 16px;
    line-height: 55px;
    width: 128px;
    vertical-align: bottom;
}

#contact_form .form_box .submit input {
    -webkit-transition: opacity 0.5s;
    -o-transition: opacity 0.5s;
    transition: opacity 0.5s;
    max-width: 320px;
    cursor: pointer;
    border: none;
    font-weight: 800;
    padding: 14px 15px;
    font-size: 20px;
}

#contact_form .form_box .submit input:not(.confirm) {
    background: #FFA000;
    border-bottom: 4px solid #C67100;
    color: #fff;
}

#contact_form .form_box .submit input.confirm {
    padding-top: 8px;
    padding-bottom: 8px;
    border: 3px solid;
    color: inherit;
}

#contact_form .form_box .submit input:hover {
    text-decoration: none;
    opacity: 0.7;
}

#contact_form._confirm .name_box p:first-child {
    color: rgba(34, 34, 34, 0.5);
}



#contact_complete {
    text-align: center;
    padding: 50px 0 220px;
}

#contact_complete p {
    margin-bottom: 50px;
}

#contact_complete .hl {
    font-size: 20px;
    margin-bottom: 25px;
}

#contact_complete .link {
    color: #1976d2;
    text-decoration: underline;
    font-size: 18px;
}

#contact_complete .logo {
    width: 370px;
    margin: -15px auto 80px;
}



.feature_item a,
.feature_item .feature_body {
    display: block;
    position: relative;
    z-index: 1;
}

.feature_item a img,
.feature_item .feature_body img {
    border-radius: 4px;
    width: 100%;
    z-index: -1;
}

.feature_item._square a img,
.feature_item._square .feature_body img {
    border-radius: 0;
}

.feature_item .feature_title {
    margin-bottom: 15px;
    font-size: 18px;
    font-weight: bold;
}

.feature_item._large .text_tb .text_wrap .text1 {
    font-size: 29px;
}

.feature_item._large .text_tb .text_wrap .text2 {
    font-size: 39px;
}



.event_item {
    box-shadow: 0px 2px 4px 1px rgba(0, 0, 0, 0.15);
    -moz-box-shadow: 0px 2px 4px 1px rgba(0, 0, 0, 0.15);
    -webkit-box-shadow: 0px 2px 4px 1px rgba(0, 0, 0, 0.15);
    border-radius: 0 0 4px 4px;
    position: relative;
    background: #fff;
}

.event_item .image1 {
    position: relative;
    height: 160px;
}

.event_item .image1 img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    font-family: 'object-fit: cover;';
}

.event_item .text_wrap {
    padding: 15px 15px 25px;
}

.event_item .btn_warp {
    overflow: hidden;
    padding-top: 15px;
}

.event_item .c-btn2 {
    float: left;
    max-width: none;
    width: 128px;
    font-size: 16px;
}

.event_item .c-btn1 {
    float: right;
    width: 128px;
    font-size: 16px;
    border-bottom: none;
    padding-top: 11px;
    padding-bottom: 11px;
}

.event_item .ttl {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 10px;
}

.event_item .info1 {
    display: table;
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-bottom: 10px;
}

.event_item .info1 dt,
.event_item .info1 dd {
    display: table-cell;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.event_item .info1 dt {
    font-weight: 700;
    color: #1976d2;
    width: 95px;
}

.event_item .end1 {
    position: absolute;
    width: 100%;
    height: 100%;
    background: rgba(34, 34, 34, 0.5);
    border-radius: 0 0 4px 4px;
    z-index: 2;
}

.event_item .end1 > p {
    display: inline-block;
    color: #fff;
    font-weight: 700;
    padding: 5px 10px;
    position: absolute;
    right: 25px;
    top: 25px;
    background: #222;
}



.lab_item {
    box-shadow: 0px 2px 4px 1px rgba(0, 0, 0, 0.15);
    -moz-box-shadow: 0px 2px 4px 1px rgba(0, 0, 0, 0.15);
    -webkit-box-shadow: 0px 2px 4px 1px rgba(0, 0, 0, 0.15);
    border-radius: 0 0 4px 4px;
    background: #fff;
}

.lab_item .image1 {
    position: relative;
    height: 160px;
}

.lab_item .image1 img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    font-family: 'object-fit: cover;';
}

.lab_item .text_wrap {
    padding: 15px 15px 25px;
}

.lab_item .c-btn2 {
    width: 128px;
    font-size: 16px;
}

.lab_item .cate {
    margin-bottom: 10px;
}

.lab_item .cate > p {
    display: inline-block;
    border-radius: 50px;
    font-size: 12px;
    font-weight: 700;
    color: #1976d2;
    border: 2px solid;
    padding: 5px 10px;
    margin: 0 5px 5px 0;
}

.lab_item .ttl {
    font-weight: 700;
    font-size: 18px;
    margin-bottom: 10px;
}

.lab_item .post_text1 {
    margin-bottom: 20px;
    font-weight: 400;
    line-height: 1.8;
}



.c-proposal {
    text-align: center;
    padding: 75px 0;
}

.c-proposal .hl {
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 37px;
}

.c-proposal .text {
    margin-bottom: 50px;
}

.c-proposal .text p {
    margin-bottom: 30px;
}

.c-proposal .c-btn1 {
    max-width: 320px;
    margin: 0 auto;
}



.p-condition {
    font-size: 16px;
}

.p-condition_item {
    overflow: hidden;
}

.p-condition_item:nth-child(n+2) {
    margin-top: 20px;
}

.p-condition_item._margin_large:nth-child(n+2) {
    margin-top: 30px;
}

.p-condition_title {
    float: left;
    margin-right: 2em;
    font-weight: bold;
}

.p-condition_term {
    overflow: hidden;
}

.p-condition_term > li {
    display: inline-block;
}

.p-condition_term > li:nth-child(n+2):before {
    content: ",";
}

.p-condition_num {
    color: #1976d2;
}



.p-job_content {
    position: relative;
    -webkit-box-shadow: 0px 2px 4px 1px rgba(0, 0, 0, 0.15);
    box-shadow: 0px 2px 4px 1px rgba(0, 0, 0, 0.15);
    border-radius: 4px;
    padding: 20px 20px;
    background: #fff;
    overflow: hidden;
}

.p-job_content:nth-child(n+2) {
    margin-top: 30px;
}

.p-job_content._end:after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(34, 34, 34, 0.5);
}

.p-job_head {
    padding-bottom: 15px;
    border-bottom: 1px solid #F2F2F2;
}

.p-job_title {
    padding: 2px 0 0 40px;
    font-size: 18px;
    font-weight: bold;
    background: url(../img/cmn/works-ico.png) no-repeat left top;
    background-size: 32px;
}

.p-job_list {
    display: table;
    font-size: 16px;
    word-break: break-all;
    overflow: hidden;
}

.p-job_list dt,
.p-job_list dd {
    display: table-cell;
    vertical-align: top;
}

.p-job_list dt {
    padding-right: 1em;
    font-weight: bold;
    color: #1976d2;
    white-space: nowrap;
}

.p-job_item {
    display: table-row;
}

.p-job_item:nth-child(n+2) dt,
.p-job_item:nth-child(n+2) dd {
    padding-top: 15px;
}

.p-job_body {
    margin-top: 20px;
}

.p-job_foot {
    margin-top: 35px;
    text-align: center;
}

.p-job_btn {
    margin: -10px;
}

.p-job_foot._between {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    text-align: left;
}

.p-job_foot._between .c-btn2 {
    min-width: 136px;
}

.p-job_foot._between .p-job_btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.p-job_label {
    display: inline-block;
    color: #fff;
    font-weight: 700;
    padding: 5px 10px;
    position: absolute;
    right: 25px;
    top: 15px;
    background: #222;
    z-index: 5;
}

.p-job .c-btn2 {
    display: inline-block;
    max-width: none;
    margin: 10px;
    padding-left: 18px;
    padding-right: 18px;
    font-size: 16px;
    vertical-align: top;
}



.p-event_content {
    position: relative;
    -webkit-box-shadow: 0px 2px 4px 1px rgba(0, 0, 0, 0.15);
    box-shadow: 0px 2px 4px 1px rgba(0, 0, 0, 0.15);
    border-radius: 4px;
    padding: 20px 20px;
    background: #fff;
    overflow: hidden;
}

.p-event_content:nth-child(n+2) {
    margin-top: 30px;
}

.p-event_content._end:after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(34, 34, 34, 0.5);
}

.p-event_title {
    font-size: 18px;
    font-weight: bold;
    background-size: 32px;
}

.p-event_list {
    display: table;
    font-size: 16px;
    word-break: break-all;
    overflow: hidden;
}

.p-event_list dt,
.p-event_list dd {
    display: table-cell;
    vertical-align: top;
}

.p-event_list dt {
    padding-right: 1em;
    font-weight: bold;
    color: #1976d2;
    white-space: nowrap;
}

.p-event_item {
    display: table-row;
}

.p-event_item:nth-child(n+2) dt,
.p-event_item:nth-child(n+2) dd {
    padding-top: 15px;
}

.p-event_body {
    margin-top: 30px;
}

.p-event_note {
    display: inline-block;
    margin-left: 2em;
    font-size: 12px;
}

.p-event_column {
    overflow: hidden;
    margin-bottom: 20px;
}

.p-event_image {
    position: relative;
    float: left;
    width: 312px;
    height: 160px;
    margin-right: 25px;
}

.p-event_image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    font-family: "object-fit: cover;";
}

.p-event_desc {
    overflow: hidden;
}

.p-event_foot {
    margin-top: 35px;
    text-align: center;
}

.p-event_btn {
    margin: -10px;
}

.p-event_label {
    display: inline-block;
    color: #fff;
    font-weight: 700;
    padding: 5px 10px;
    position: absolute;
    right: 25px;
    top: 15px;
    background: #222;
    z-index: 5;
}

.p-event .c-btn2 {
    display: inline-block;
    width: 128px;
    max-width: none;
    margin: 10px;
    padding-left: 18px;
    padding-right: 18px;
    font-size: 16px;
    vertical-align: top;
}

.p-lab_content {
    position: relative;
    -webkit-box-shadow: 0px 2px 4px 1px rgba(0, 0, 0, 0.15);
    box-shadow: 0px 2px 4px 1px rgba(0, 0, 0, 0.15);
    border-radius: 4px;
    padding: 20px 24px;
    background: #fff;
    overflow: hidden;
}

.p-lab_content:nth-child(n+2) {
    margin-top: 30px;
}

.p-lab_content._end:after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(34, 34, 34, 0.5);
}

.p-lab .c-category_wrapper {
    margin-bottom: 15px;
}

.p-lab_title {
    font-size: 18px;
    font-weight: bold;
    background-size: 32px;
}

.p-lab_list {
    display: table;
    font-size: 16px;
    word-break: break-all;
    overflow: hidden;
}

.p-lab_list dt,
.p-lab_list dd {
    display: table-cell;
    vertical-align: top;
}

.p-lab_list dt {
    padding-right: 2em;
    font-weight: bold;
    color: #1976d2;
    white-space: nowrap;
}

.p-lab_item {
    display: table-row;
}

.p-lab_item:nth-child(n+2) dt,
.p-lab_item:nth-child(n+2) dd {
    padding-top: 15px;
}

.p-lab_body {
    margin-top: 30px;
    overflow: hidden;
}

.p-lab_note {
    display: inline-block;
    margin-left: 2em;
    font-size: 12px;
}

.p-lab_txt {
    font-size: 18px;
    line-height: 1.55556;
}

.p-lab_foot {
    margin-top: 35px;
    text-align: center;
}

.p-lab_btn {
    margin: -10px;
}

.p-lab_image {
    position: relative;
    float: left;
    width: 312px;
    height: 160px;
    margin-right: 30px;
}

.p-lab_image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    font-family: "object-fit: cover;";
}

.p-lab_label {
    display: inline-block;
    color: #fff;
    font-weight: 700;
    padding: 5px 10px;
    position: absolute;
    right: 25px;
    top: 15px;
    background: #222;
    z-index: 5;
}

.p-lab .c-btn2 {
    display: inline-block;
    width: 128px;
    max-width: none;
    margin: 10px;
    padding-left: 18px;
    padding-right: 18px;
    font-size: 16px;
    vertical-align: top;
}

.p-history_content {
    position: relative;
    -webkit-box-shadow: 0px 2px 4px 1px rgba(0, 0, 0, 0.15);
    box-shadow: 0px 2px 4px 1px rgba(0, 0, 0, 0.15);
    border-radius: 4px;
    padding: 20px 20px;
    background: #fff;
    overflow: hidden;
}

.p-history_content:nth-child(n+2) {
    margin-top: 30px;
}

.p-history_content._end:after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(34, 34, 34, 0.5);
}

.p-history_head {
    padding-bottom: 10px;
    border-bottom: 1px solid #F2F2F2;
}

.p-history_title {
    padding: 2px 0 0 40px;
    font-size: 18px;
    font-weight: bold;
    background: url(../img/cmn/works-ico.png) no-repeat left top;
    background-size: 32px;
}

.p-history_list {
    display: table;
    font-size: 16px;
    word-break: break-all;
    overflow: hidden;
}

.p-history_list dt,
.p-history_list dd {
    display: table-cell;
    vertical-align: top;
}

.p-history_list dt {
    padding-right: 2em;
    font-weight: bold;
    color: #1976d2;
    white-space: nowrap;
}

.p-history_item {
    display: table-row;
}

.p-history_item:nth-child(n+2) dt,
.p-history_item:nth-child(n+2) dd {
    padding-top: 15px;
}

.p-history_body {
    margin-top: 20px;
}

.p-history_note {
    display: inline-block;
    margin-left: 2em;
    font-size: 12px;
}

.p-history_foot {
    margin-top: 35px;
    text-align: center;
}

.p-history_btn {
    margin: -10px;
}

.p-history_label {
    display: inline-block;
    color: #fff;
    font-weight: 700;
    padding: 5px 10px;
    position: absolute;
    right: 25px;
    top: 15px;
    background: #222;
    z-index: 5;
}

.p-history .c-btn2 {
    display: inline-block;
    max-width: none;
    margin: 10px;
    padding-left: 18px;
    padding-right: 18px;
    font-size: 16px;
    vertical-align: top;
}

.p-post ul li {
    display: table;
}

.p-post ul li:before {
    content: "\30FB";
    display: table-cell;
}

.p-detail-group1 .l-bg_project {
    padding: 62px 0;
}

.p-detail-group1 .body {
    padding: 40px;
    border-radius: 4px;
    background: #fff;
    -webkit-box-shadow: 0px 2px 4px 2px rgba(0, 0, 0, 0.2);
    box-shadow: 0px 2px 4px 2px rgba(0, 0, 0, 0.2);
}

.p-detail-group1 .title {
    margin-bottom: 35px;
    padding: 2px 0 0 40px;
    font-size: 18px;
    font-weight: bold;
    background: url(../img/cmn/works-ico.png) no-repeat left top;
    background-size: 32px;
}

.p-detail-group1 .btn {
    margin: 0 auto 25px;
    text-align: center;
}

.p-detail-group1 .btn .c-btn1 {
    display: inline-block;
    width: 320px;
    margin: 5px;
}

.p-detail-group1 .btn .c-btn2 {
    display: inline-block;
    max-width: none;
    margin: 5px;
    padding: 15px 18px;
    font-size: 16px;
    vertical-align: top;
}

.p-detail-group1 .map {
    margin-top: 20px;
}

.p-detail-group1 .attention {
    padding-left: 1em;
    text-indent: -1em;
    text-align: center;
}

.p-detail-group1 .accordion {
    padding: 50px 0 0;
}

.p-detail-group1 #top_service {
    margin-top: 0;
}

.p-detail-group1 .comment {
    margin-top: 40px;
    padding: 25px 20px;
    font-size: 16px;
    line-height: 1.75;
    text-align: center;
    background: #F2F2F2;
}

.p-detail-group1 .comment ul {
    text-align: left;
}

.p-detail-group1 .comment ul > li {
    display: table;
}

.p-detail-group1 .comment ul > li:before {
    content: "*";
    display: table-cell;
}

.p-event-header {
    position: relative;
    overflow: hidden;
}

.p-event-header_image {
    position: relative;
    float: right;
    width: 390px;
    height: 200px;
}

.p-event-header_image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    font-family: "object-fit: cover;";
}

.p-event-header_label {
    position: absolute;
    top: 24px;
    right: 24px;
    padding: 3px 23px;
    border: 2px solid;
    border-radius: 100px;
    font-size: 14px;
    font-weight: bold;
    letter-spacing: 0.1em;
    color: #FFA000;
    background: #fff;
    z-index: 1;
}

.p-event-header_info,
.p-event-header_btn {
    float: left;
    clear: both;
    width: 610px;
}

.p-event-header_btn {
    padding-top: 40px;
    margin-bottom: 40px;
}

.p-event-header_btn .c-btn1 {
    width: 320px;
    margin: 0 auto;
}

.p-event-header_list {
    display: table;
    font-size: 16px;
    table-layout: fixed;
    word-break: break-all;
    overflow: hidden;
}

.p-event-header_list dt,
.p-event-header_list dd {
    display: table-cell;
    vertical-align: top;
}

.p-event-header_list dt {
    font-weight: bold;
    color: #1976d2;
    white-space: nowrap;
}

.p-event-header_list dt img {
    margin-right: 6px;
}

.p-event-header_list dd {
    padding-left: 2em;
}

.p-event-header_item {
    display: table-row;
}

.p-feature-foot_title {
    margin-bottom: 30px;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
}

.p-feature-foot_btn {
    max-width: 400px;
    margin: 0 auto;
}



/* pagenavi */

.wp-pagenavi {
    clear: both;
    text-align: center;
}

.wp-pagenavi a,
.wp-pagenavi span {
    text-align: center;
    display: inline-block;
    text-decoration: none;
    padding: 0;
    line-height: 34px;
    margin: 0 4px 15px;
    width: 38px;
    height: 38px;
    border: 2px solid #000;
    -webkit-transition: 0.5s;
    -o-transition: 0.5s;
    transition: 0.5s;
    font-weight: 800;
    border-radius: 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.wp-pagenavi a.previouspostslink,
.wp-pagenavi a.nextpostslink {
    width: 91px;
    position: relative;
}

.wp-pagenavi a.previouspostslink:before,
.wp-pagenavi a.nextpostslink:before {
    content: "";
    position: absolute;
    top: 12px;
    width: 7px;
    height: 12px;
    pointer-events: none;
    -webkit-transition: 0.5s;
    -o-transition: 0.5s;
    transition: 0.5s;
    background-image: url(../img/cmn/arrow_b.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 100% !important;
}

.wp-pagenavi a.previouspostslink {
    padding-left: 0;
}

.wp-pagenavi a.previouspostslink:before {
    left: 15px;
}

.wp-pagenavi a.nextpostslink {
    padding-right: 0;
}

.wp-pagenavi a.nextpostslink:before {
    right: 15px;
    -webkit-transform: rotate(-180deg);
    -ms-transform: rotate(-180deg);
    transform: rotate(-180deg);
}

.wp-pagenavi a:hover,
.wp-pagenavi span.current {
    border-color: #000;
    background: #60C0E9 !important;
    color: #fff;
}



.pager-single {
    position: relative;
    margin: 0 auto;
    max-width: 544px;
}

.pager-single a {
    text-align: center;
    display: block;
    text-decoration: none;
    padding: 13px 5px 1px;
    height: 50px;
    border: 2px solid #000;
    -webkit-transition: 0.5s;
    -o-transition: 0.5s;
    transition: 0.5s;
    font-weight: 800;
    border-radius: 5px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: relative;
}

.pager-single .back {
    width: 43%;
    margin: 0 auto;
}

.pager-single .prev,
.pager-single .next {
    width: 22%;
    position: absolute;
    top: 0;
}

.pager-single .prev a:before,
.pager-single .next a:before {
    content: "";
    position: absolute;
    top: 18px;
    width: 7px;
    height: 12px;
    pointer-events: none;
    -webkit-transition: 0.5s;
    -o-transition: 0.5s;
    transition: 0.5s;
    background-image: url(../img/cmn/arrow_b.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 100% !important;
}

.pager-single .prev {
    left: 0;
}

.pager-single .prev a {
    padding-left: 20px;
}

.pager-single .prev a:before {
    left: 30px;
}

.pager-single .next {
    right: 0;
}

.pager-single .next a {
    padding-right: 20px;
}

.pager-single .next a:before {
    right: 30px;
    -webkit-transform: rotate(-180deg);
    -ms-transform: rotate(-180deg);
    transform: rotate(-180deg);
}



/*single markup style*/

.post_text {
    overflow: hidden;
    margin-bottom: 50px;
}

.post_text p {
    font-size: 16px;
    margin-bottom: 30px;
    line-height: 1.7;
}

.post_text img {
    max-width: 100%;
    height: auto;
}

.post_text img.alignright {
    float: right;
    margin: 0 0 15px 15px;
    display: block;
}

.post_text img.alignleft {
    float: left;
    margin: 0 15px 15px 0;
    display: block;
}

.post_text img.aligncenter {
    display: block;
    margin: 0 auto 15px;
}

.post_text h1 {

    font-size: 28px;
    font-weight: bold;
    line-height: 1.5;
    margin: 0 0 35px;
}

.post_text h2 {
    font-weight: 700;
    font-size: 20px;
    padding-bottom: 10px;
    border-bottom: 3px solid #1976d2;
    margin-bottom: 30px;
}

.post_text h3 {
    padding-bottom: 10px;
    font-size: 18px;
    font-weight: bold;
    border-bottom: 3px solid #1976d2;
    margin: 0 0 20px;
}

.post_text h4 {
    padding-bottom: 10px;
    font-size: 17px;
    font-weight: bold;
    border-bottom: 2px solid #1976d2;
    margin: 0 0 20px;
}

.post_text h5 {
    padding-bottom: 10px;
    font-size: 16px;
    font-weight: bold;
    border-bottom: 2px solid #1976d2;
    margin: 0 0 20px;
}

.post_text h6 {
    padding-bottom: 10px;
    font-size: 16px;
    font-weight: bold;
    border-bottom: 1px solid #1976d2;
    margin: 0 0 20px;
}

.post_text td {
    padding: 10px;
    border: 1px solid;
}

.post_text table {
    margin-bottom: 25px;
}

.post_text ul,
.post_text ol {
    padding-left: 2.0em;
    margin-bottom: 25px;
}

.post_text ul li {
    list-style: outside;
    margin-bottom: 10px;
    line-height: 1.4;
}

.post_text ol li {
    list-style: outside decimal;
    margin-bottom: 10px;
    line-height: 1.4;
}

.post_text a {
    text-decoration: none;
    color: #1976d2;
}

.post_text a:hover {
    text-decoration: underline;
}

.j_acc_panel {
    display: none;
}

/*全画面*/

.g-wrapper {
    overflow: hidden;
}

/*ヘッダー*/

.g-header {
    width: 100%;
    min-width: 1080px;
    background: #fff;
    -webkit-box-shadow: 0px 0px 5px 3px rgba(0, 0, 0, 0.2);
    box-shadow: 0px 0px 5px 3px rgba(0, 0, 0, 0.2);
    position: relative;
    z-index: 15;
}

.g-header .l-inner {
    position: relative;
    padding: 0 10px;
    width: 1100px;
}

.g-header .logo {
    float: left;
    padding: 34px 0 14px 10px;
}

.g-header .logo img {
    width: 185px;
}

.g-header .logo a {
    display: block;
    float: left;
}

.g-header .logo_tx {
    float: left;
    display: block;
    padding-top: 14px;
    padding-left: 15px;
    color: #9E9E9E;
    font-size: 12px;
}

.g-header .g-navi {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    padding-top: 32px;
}

.g-header .g-navi:after {
    content: " ";
    display: block;
    clear: both;
}

.g-header .navi1 {
    float: right;
    margin-right: 28px;
}

.g-header .navi1:after {
    content: " ";
    display: block;
    clear: both;
}

.g-header .navi1 > li {
    float: left;
}

.g-header .navi1 > li + li {
    /* margin-left: 20px; */
}

.g-header .navi1 > li span {
    display: inline-block;
    padding: 0 0 0 25px;
}

.g-header .navi1 > li:nth-child(1) {
    padding-top: 10px;
}

.g-header .navi1 .header-btn_wrap,
.g-header .navi1 .header-btn_wrap a {
    /* width: 160px; */
    width: 145px;
    /* margin-right: 20px; */
}

.g-header .navi1 a {
    width: 150px;
    font-weight: 500;
    -webkit-transition: opacity 0.5s;
    -o-transition: opacity 0.5s;
    transition: opacity 0.5s;
    display: inline-block;
}

.g-header .navi1 a:hover {
    text-decoration: none;
    opacity: 0.7;
}

.g-header .navi2 {
    width: 100%;
    float: left;
    font-weight: 500;
}

.g-header .navi2:after {
    content: " ";
    display: block;
    clear: both;
}

.g-header .navi2 > li {
    float: left;
    width: calc(20% - 1px);
    text-align: center;
    font-weight: 400;
    color: #798288;
    line-height: 1.2;
    margin-bottom: 7px;
}

.g-header .navi2 > li + li {
    border-left: solid 1px #EEEEEE;
}

.g-header .navi2 .navi_acc_cont {
    display: none;
}

.g-header .navi2 a {
    color: #798288;
    display: inline-block;
    position: relative;
    padding-bottom: 5px;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

.g-header .navi2 a:hover {
    text-decoration: none;
    color: #1976d2;
}

.g-header .navi2 a:hover:before {
    opacity: 1;
}

body.page-project .g-header .navi2 li:nth-child(1) a:before,
body.page-event .g-header .navi2 li:nth-child(3) a:before,
body.page-lab .g-header .navi2 li:nth-child(4) a:before,
body.page-flow .g-header .navi2 li:nth-child(6) a:before,
body.page-about .g-header .navi2 li:nth-child(7) a:before {
    opacity: 1;
}

.g-header .navi2 .p-check .l-inner {
    padding: 20px 8px;
}

.g-header .navi2 .p-check .tabbox {
    background: #F2F2F2;
}

.g-header .navi3 {
    margin: 0 28px 35px;
}

.g-header .navi3 a {
    color: #fff;
}

.g-header .navi3 li + li {
    margin-top: 25px;
}

.g-header .navi_btn1 {
    text-align: center;
    color: #fff;
    margin: 0 auto 40px;
    float: none;
    max-width: 400px;
    width: 100%;
    border-radius: 4px;
}

.g-header .navi_btn1 .header-btn_wrap {
    width: 47%;
    padding: 0 10px;
    margin: 0 auto;
    font-size: 18px;
    letter-spacing: 0.2em;
}

.g-header .navi_btn1 .text1 {
    font-size: 14px;
    font-weight: 700;
    display: inline-block;
    margin-bottom: 5px;
    text-align: center;
    line-height: 1.3;
    position: relative;
    padding: 0 25px;
}

.g-header .navi_btn1 .text1 .big1 {
    font-size: 14px;
}

.g-header .navi_btn1 .text1:before,
.g-header .navi_btn1 .text1:after {
    content: '';
    display: block;
    position: absolute;
    height: 20px;
    width: 1px;
    background: #fff;
    bottom: 0;
}

.g-header .navi_btn1 .text1:before {
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
    left: 10px;
}

.g-header .navi_btn1 .text1:after {
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    right: 10px;
}

.g-header .navi_btn2 a {
    position: absolute;
    right: 25px;
    top: 5px;
    color: #798288;
    font-size: 12px;
    display: inline-block;
    background: url(../img/cmn/arrow_r_blue1.svg) right 14px center no-repeat;
    background-size: 4px;
    padding-right: 24px;
    -webkit-transition: opacity 0.5s;
    -o-transition: opacity 0.5s;
    transition: opacity 0.5s;
}

.g-header .navi_btn2 a:hover {
    text-decoration: none;
    opacity: 0.7;
}

.g-header .btn_open {
    margin-top: 12px;
    float: right;
    margin-right: 5px;
}

.g-header .btn_open img {
    width: 33px;
}

.g-header .btn_close {
    color: #1976d2;
    float: right;
    background: url(../img/cmn/menu_open.png) right center no-repeat;
    background-size: 28px auto;
    padding-right: 35px;
    margin: 15px 15px 25px 0;
}

.g-header .navi_tx {
    position: absolute;
    left: 18px;
    top: 5px;
    color: #9E9E9E;
    font-size: 12px;
}

/*フッター*/

.g-footer {
    position: relative;
    background: #F2F2F2;
    font-weight: 500;
}

.g-footer .pagetop {
    display: none;
}

.g-footer .pagetop a {
    display: block;
    height: 44px;
    width: 44px;
    background: url(../img/cmn/pagetop.svg) center center no-repeat #FFA000;
    background-size: 24px auto;
    border-radius: 50%;
    position: absolute;
    right: 15px;
    top: -22px;
    z-index: 2;
}

.g-footer .l-inner {
    padding-top: 41px;
    padding-bottom: 60px;
    width: 1100px;
}

.g-footer .logo {
    margin-bottom: 50px;
    padding-left: 8px;
}

.g-footer .navi_list {
    overflow: hidden;
}

.g-footer .navi_list .fnavi {
    float: left;
    margin: 0 18px;
}

.g-footer .navi_list .fnavi03.fnavi {
    margin-right: 0;
}

.g-footer .navi_list .f_ttl {
    padding-bottom: 10px;
    margin-bottom: 25px;
    color: #1976d2;
    font-weight: 500;
    border-radius: 1px;
    border-bottom: 1px solid;
    -o-border-image: -o-linear-gradient(left, #6F86D6 0%, #48C6EF 100%);
    border-image: -webkit-gradient(linear, left top, right top, from(#6F86D6), to(#48C6EF));
    border-image: linear-gradient(to right, #6F86D6 0%, #48C6EF 100%);
    border-image-slice: 1;
}

.g-footer .fnavi01_list_item,
.g-footer .fnavi02_list_item,
.g-footer .fnavi03_list_item {
    margin-bottom: 20px;
}

.g-footer .fnavi01_list_item a,
.g-footer .fnavi02_list_item a,
.g-footer .fnavi03_list_item a {
    color: #798288;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

.g-footer .fnavi01_list_item a:hover,
.g-footer .fnavi02_list_item a:hover,
.g-footer .fnavi03_list_item a:hover {
    text-decoration: none;
    opacity: 0.8;
}

.g-footer .fnavi02_list_item {
    margin-bottom: 15px;
}

.g-footer .fnavi02_list_item._size a {
    font-size: 12px;
}

.g-footer .fnavi02_list_item._size a span {
    font-size: 14px;
}

.g-footer .fnavi02 {
    overflow: hidden;
}

.g-footer .fnavi02_list {
    float: left;
}

.g-footer .fnavi02_list--mg {
    margin-right: 36px;
    margin-left: 8px;
}

.g-footer .fnavi02_list .fnavi02_tx {
    color: #63A4FF;
    margin-bottom: 16px;
    margin-top: -10px;
}

.g-footer .fnavi02_list .fnavi02_list_item {
    background: url(../img/cmn/arrow_r_blue@2x.png) center left no-repeat;
    background-size: 4px;
    padding-left: 10px;
}

.g-footer .fnavi02_list .fnavi02_list_item span {
    display: inline-block;
    width: 110px;
}

.g-footer .bg_white {
    background: #fff;
    color: #9E9E9E;
    position: relative;
    padding: 14px 0;
}

.g-footer .bg_white .l-inner {
    padding: 0;
}

.g-footer .company {
    position: absolute;
    right: 0;
    font-size: 16px;
}

.g-footer .copyright {
    text-align: center;
    font-size: 16px;
    letter-spacing: 0.06em;
}

/*メイン*/

.g-main {
    position: relative;
    display: block;
}

.g-main:after {
    content: " ";
    display: block;
    clear: both;
}

/*----------------------------------------

news

-----------------------------------------*/

.news-archive .list1 {
    word-break: break-all;
    padding: 0 0 21px;
}

.news-archive .list1 li {
    border-bottom: 1px solid #E0E0E0;
    padding-bottom: 13px;
    margin-bottom: 30px;
}

.news-archive .list1 .day {
    font-weight: 700;
    margin-bottom: 2px;
}

.news-archive .list1 .title a {
    color: #798288;
    -webkit-transition: opacity 0.5s;
    -o-transition: opacity 0.5s;
    transition: opacity 0.5s;
}

.news-archive .list1 .title a:hover {
    text-decoration: none;
    opacity: 0.7;
}

.news-single-title {
    margin-bottom: 30px;
}

.news-single-title .day {
    font-weight: 700;
    padding-left: 10px;
    margin-bottom: 22px;
}

.news-single-title .title {
    font-weight: 700;
    font-size: 28px;
    border-bottom: solid 2px #1976d2;
    padding-bottom: 15px;
}

/*---------------------------------------------------

project

----------------------------------------------------*/

.p-hikokai {
    padding: 20px 0 60px;
}

.p-hikokai._bottom {
    padding: 0 0 60px;
}

.p-hikokai._bottom .p-service_tx {
    padding: 0 0 44px;
}

.q-event-detail .p-event-header {
    margin-top: 53px;
}

.q-event-detail .l-bg_gray {
    margin-top: 53px;
    padding: 62px 0;
}

.q-event-detail #contact_form {
    margin-top: 0;
    padding-top: 0;
}

.q-event-detail #contact_form .form_box dl {
    padding: 0;
}

.q-event-detail #contact_form .form_box dd {
    width: auto;
}

.q-event-detail #contact_form .form_box .select_box {
    width: 144px;
}

.q-event-detail #contact_form .submit {
    margin: 35px -5px -5px;
}

.q-event-detail #contact_form .submit a,
.q-event-detail #contact_form .submit input,
.q-event-detail #contact_form .submit button {
    margin: 5px 15px;
}

.q-event-detail #contact_form .submit a:only-child,
.q-event-detail #contact_form .submit input:only-child,
.q-event-detail #contact_form .submit button:only-child {
    margin-left: auto !important;
    margin-right: auto !important;
}

/*---------------------------------------------------

lab

----------------------------------------------------*/

.q-lab-detail .post_text {
    margin-top: 25px;
}

/*---------------------------------------------------

feature

----------------------------------------------------*/

.q-feature {
    margin-bottom: 48px;
}

.q-feature .feature_item:nth-child(n+2) {
    margin-top: 30px;
}

.q-feature-detail1 .comment_heading {
    margin-bottom: 25px;
    font-size: 18px;
    font-weight: bold;
    line-height: 1.5;
}

.q-feature-detail1 .comment_body {
    overflow: hidden;
}

.q-feature-detail1 .comment_avatar {
    float: left;
    width: 160px;
    margin-right: 30px;
}

.q-feature-detail1 .comment_avatar img {
    width: 100%;
}

.q-feature-detail1 .comment_txt {
    overflow: hidden;
}

.q-feature-detail1 .comment .p-feature-foot {
    margin-top: 40px;
}

.q-feature-detail1 .trend_title {
    margin-bottom: 25px;
    font-size: 18px;
    font-weight: bold;
    line-height: 1.5;
}

.q-feature-detail2 .introduction_heading {
    font-size: 28px;
    font-weight: bold;
    text-align: center;
}

.q-feature-detail2 .other_list {
    overflow: hidden;
    padding-top: 40px;
}

.q-feature-detail2 .other .c-link1 a {
    font-weight: normal;
}

/*---------------------------------------------------

sitemap

----------------------------------------------------*/

#sitemap_contents {
    padding: 20px 0 82px;
}

.sitemap_box {
    border: 4px solid #E8E8E8;
    padding: 40px;
}

#sitemap_contents h3 {
    font-size: 18px;
    font-weight: bold;
    line-height: 1.6;
    padding-left: 25px;
    position: relative;
}

#sitemap_contents h3:after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 6px;
    border-radius: 8px;
    background: -webkit-gradient(linear, left top, left bottom, from(#48C6EF), to(#6F86D6));
    background: -o-linear-gradient(#48C6EF, #6F86D6);
    background: linear-gradient(#48C6EF, #6F86D6);
}



.sitemap_box .list_01_warap,
.sitemap_box .list_02 {
    width: 920px;
    margin: 24px auto 0;
    font-size: 16px;
}

.sitemap_box .list_01_warap {
    overflow: hidden;
}

.sitemap_box .list_01 {
    float: left;
}

.sitemap_box .list_01._02 {
    float: right;
}

.sitemap_box .list_01 li {
    width: 100%;
    margin-bottom: 24px;
}

.sitemap_box .list_02 li {
    float: left;
    width: 32%;
    margin-right: 1%;
    margin-bottom: 24px;
}

.sitemap_box .list_02 li:nth-child(3n) {
    margin-right: 0;
}

.sitemap_box .list_01 a,
.sitemap_box .list_02 a {
    color: #798288;
}

.sitemap_box .list_01:after,
.sitemap_box .list_02:after {
    clear: both;
    content: " ";
    display: block;
}

.sitemap_btm {
    margin: 60px 10px 0;
    font-size: 16px;
}

.sitemap_btm ul li {
    float: left;
    width: 32%;
    margin-right: 1%;
    margin-bottom: 24px;
}

.sitemap_btm ul li:nth-child(3n) {
    margin-right: 0;
}

.sitemap_btm ul li a {
    color: #798288;
    background: url(../img/cmn/arrow_r_blue1.svg) left center no-repeat;
    background-size: 6px auto;
    padding-left: 20px;
}

.sitemap_btm ul:after {
    clear: both;
    content: " ";
    display: block;
}

/*---------------------------------------------------

faq

----------------------------------------------------*/

/*よくある質問*/

#faq {
    padding-top: 10px;
}

#faq .faq_area {
    max-width: 720px;
    margin: 0 auto;
}

#faq .faq_area dl {
    width: 100%;
    background: #fff;
    border-radius: 4px;
    margin: 16px 0 0;
    font-size: 16px;
}

#faq .faq_area dl span {
    font-size: 24px;
    font-weight: bold;
    line-height: 1;
    margin: 0;
    position: absolute;
    left: 24px;
}

#faq .faq_area dl dt {
    color: #222222;
    cursor: pointer;
    background: #F2F2F2;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-radius: 4px 4px 0 0;
    padding: 16px 56px 16px 56px;
    position: relative;
}

#faq .faq_area dl dt span {
    top: 16px;
}

#faq .faq_area dl dt:before,
#faq .faq_area dl dt:after {
    display: block;
    width: 16px;
    height: 2px;
    content: "";
    background: #222222;
    position: absolute;
    top: 26px;
    right: 24px;
}

#faq .faq_area dl dt:before {
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s;
}

#faq .faq_area dl dt.active:before {
    visibility: hidden;
    -webkit-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    transform: rotate(0deg);
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s;
}

#faq .faq_area dl dd {
    display: none;
    margin: 0;
    padding: 32px 24px 32px 56px;
    position: relative;
}

#faq .faq_area dl dd span {
    top: 32px;
}

#faq .faq_area dl dd.block {
    display: block;
}

@media screen and (min-width: 751px) {

    .main-container {
        width: 65.2%;
        float: left;
        margin-bottom: 100px;
    }

    .side-container {
        width: 29%;
        float: right;
        margin-bottom: 75px;
    }

    .l-content_center._sp {
        padding-right: 0;
    }

    .c-btn2._long {
        padding: 12px 10px;
        max-width: 320px;
        font-size: 18px;
    }

    #contact_form .complete {
        min-height: 460px;
    }

    #contact_form .form_box dl {
        padding: 0 50px;
        display: table;
        table-layout: fixed;
    }

    #contact_form .form_box dl dt {
        display: table-cell;
        vertical-align: top;
        width: 29%;
    }

    #contact_form .form_box dl dd {
        display: table-cell;
        width: 71%;
    }

    .p-detail-group1 .map .c-btn2 {
        margin-left: 0;
    }

    .p-event-header_list dt {
        width: 128px;
    }

    .p-event-header_item:nth-child(n+2) dt,
    .p-event-header_item:nth-child(n+2) dd {
        padding-top: 20px;
    }

    .wp-pagenavi a.previouspostslink:hover:before,
    .wp-pagenavi a.nextpostslink:hover:before {
        background-image: url(../img/cmn/arrow_w.png);
    }

    .wp-pagenavi a:hover {
        border-color: #1976d2;
        background: #1976d2;
        color: #fff;
    }

    .pager-single a:hover {
        border-color: #1976d2;
        background: #1976d2;
        color: #fff;
    }

    .pager-single .prev a:hover:before,
    .pager-single .next a:hover:before {
        background-image: url(../img/cmn/arrow_w.png);
    }

    .g-header .g-navi {
        display: block !important;
    }

    .q-event-detail #contact_form .form_box dt {
        width: 220px;
    }

    .q-feature-detail2 .other_list > li {
        text-align: center;
        float: left;
        width: 33.333%;
        padding-right: 20px;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }

    .q-feature-detail2 .other_list > li:nth-child(n+4) {
        margin-top: 30px;
    }

}

@media only screen and (min-width: 751px) {

    #top_merit .merit_list_item_box {
        display: block !important;
    }

    #top_rea-po .point_list_item_box {
        display: block !important;
    }

    #top_cu .acc {
        display: block !important;
    }

    #top_voice .voice_list_item_box {
        display: block !important;
    }

    #top_cu .cu_item {
        width: 880px;
    }

    #top_jobs .jobs_item {
        width: 380px;
    }

    #top_flow .flow_list_item {
        width: 260px;
    }

    .top_sec02 .top_sec-hl1 {
        width: 490px;
        margin: 0 auto;
    }

    .top_point .top_sec-hl1 {
        width: 490px;
        margin: 0 auto;
    }

    #top_cu .top_sec-hl1 {
        width: 836px;
        margin: 0 auto;
    }

    #top_con .tel_tx {
        width: 163px;
    }

}

@media screen and (min-width: 1097px) {

    .c-toolbar_btn:hover {
        color: #fff;
        background: #1976d2;
    }

}

@media screen and (max-width: 1096px) {

    .post_text img.alignright,
    .post_text img,
    .post_text img.alignleft {
        float: none;
        margin: 0 auto;
        display: block;
    }

    .post_text img.emoji {
        display: inline !important;
    }

    .post_text table {
        width: 100% !important;
    }

}

@media screen and (max-width: 750px) {

    .l-container {
        min-width: 320px;
    }

    .l-inner {
        width: 100%;
        min-width: 320px;
        box-sizing: border-box;
        overflow: hidden;
        padding-left: 23px;
        padding-right: 23px;
    }

    .l-padding._top {
        padding-top: 45px;
    }

    .l-padding._top._small {
        padding-top: 30px;
    }

    .l-padding._top._large {
        padding-top: 45px;
    }

    .l-padding._bottom {
        padding-bottom: 45px;
    }

    .l-padding._bottom._small {
        padding-bottom: 30px;
    }

    .l-padding._bottom._large {
        padding-bottom: 45px;
    }

    .l-padding._bottom2 {
        padding-bottom: 50px;
    }

    .main-container {
        margin-bottom: 45px;
    }

    .side-container {
        display: none;
    }

    .l-content {
        padding-left: 12px;
    }

    .l-content._large._pc {
        padding-left: 0;
    }

    .l-content_center {
        padding-right: 12px;
    }

    .l-content._right_sp {
        padding-right: 12px;
    }

    .c-fs1 {
        font-size: 14px;
        line-height: 1.6;
    }

    .c-bread {
        padding: 10px 0 13px;
    }

    .c-bread__list > li {
        font-size: 10px;
    }

    .c-bread__list > li + li:before {
        top: 2px;
        position: relative;
    }

    .c-page-hl {
        padding-left: 20px;
        font-size: 20px;
        margin-bottom: 20px;
    }

    .c-page-hl:after {
        height: 100%;
        border-radius: 4px;
    }

    .c-page-hl._1 {
        padding-left: 20px;
        font-size: 20px;
    }

    .c-page-hl._1:after {
        height: 28px;
        width: 7px;
    }

    .c-hl1 {
        font-size: 28px;
    }

    .c-hl1 .alp {
        margin-top: 48px;
    }

    .c-hl1 .alp:before {
        top: -26px;
    }

    .c-hl2 {
        font-size: 19px;
        padding-bottom: 15px;
        margin-bottom: 25px;
    }

    .c-hl2:after {
        width: 40px;
        height: 2px;
    }

    .c-hl3 {
        margin-bottom: 20px;
    }

    .c-hl4 {
        font-size: 19px;
    }

    .c-hl4 .alp {
        padding-top: 7px;
        font-size: 16px;
    }

    .c-btn_wrap--large {
        width: 100%;
    }

    .c-btn_wrap--large span {
        font-size: 14px;
    }

    .c-btn_wrap--large .c-btn1 {
        padding: 22px 5px;
        max-width: 350px;
        margin: 0 auto;
    }

    .c-btn1 {
        border-radius: 5px;
        border-width: 2px;
        font-size: 16px;
    }

    .c-btn1._large {
        font-size: 16px;
        padding: 10px 10px 10px;
    }

    .c-btn2 {
        max-width: 120px;
        font-size: 16px;
        border-width: 2px;
        border-radius: 2px;
    }

    .c-btn2 img {
        margin-right: 5px;
    }

    .c-btn2._long {
        max-width: 210px;
        font-size: 16px;
    }

    .c-btn2._accordion:before,
    .c-btn2._accordion:after {
        right: 10px;
        width: 12px;
    }

    .c-link1 a {
        font-size: 14px;
    }

    .c-link1._arrow1 a {
        padding-right: 15px;
    }

    .c-link1_more_wrap .c-link1 {
        top: 5px;
        right: 0;
    }

    .c-toolbar_btn {
        min-width: 50%;
        font-size: 14px;
        border-width: 2px;
        padding: 8px 10px;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }

    .c-tax {
        display: block;
        margin: 0;
    }

    .c-table {
        border-top: 1px solid #1976d2;
        font-size: 14px;
    }

    .c-table_row {
        border-bottom: 0;
    }

    .c-table {
        border-top: 0;
    }

    .c-table,
    .c-table > tbody,
    .c-table_row,
    .c-table_head,
    .c-table_data {
        display: block;
    }

    .c-table_head,
    .c-table_data {
        padding: 5px 12px;
    }

    .c-table_head {
        font-size: 16px;
        width: auto;
    }

    .c-table_data {
        padding-top: 10px;
        padding-bottom: 10px;
    }

    .anchor {
        padding-top: 76px;
        margin-top: -76px;
    }

    #top_jobs.anchor,
    #top_merit.anchor,
    #top_rea-po.anchor,
    #top_voice.anchor {
        padding-top: 55px;
        margin-top: -55px;
    }

    .p-plus {
    margin-top: 80px;
    }

    .p-plus .l-inner {
        padding-top: 20px;
        padding-bottom: 8px;
        padding-left: 17px;
    }

    .p-plus_text1 {
        font-size: 24px;
        line-height: 1.3;
        max-width: 354px;
        margin: 0 auto 28px;
        text-align: left;
    }

    .p-plus_in {
        max-width: 354px;
        margin: 0 auto;
        padding-bottom: 20px;
    }

    .p-plus_text2 {
        font-size: 14px;
        margin-left: 0;
        padding: 0 20px;
        margin-bottom: 10px;
        z-index: 2;
    }

    .p-plus_text2 .big1 {
        font-size: 14px;
    }

    .p-plus_text2:before,
    .p-plus_text2:after {
        font-size: 14px;
        margin-left: 0;
        height: 20px;
        bottom: 0;
    }

    .p-plus_text2:before {
        left: 10px;
    }

    .p-plus_text2:after {
        right: 10px;
    }

    .p-plus_image1 img {
        width: 188px;
        right: -5px;
    }

    .p-plus .c-btn_wrap .c-btn1 {
        width: 160px;
        margin-left: 4px;
    }

    .p-check .p-check_tab li {
        font-size: 14px;
        padding: 5px 0;
    }

    .p-check .p-check_tab li > span {
        background-size: 16px auto;
        padding: 0 0 0 20px;
        line-height: 1.4;
        font-weight: 500;
    }

    .p-check .tabbox {
        padding: 20px 20px 10px;
    }

    .p-check .p-check_cont + .p-check_cont {
        margin-top: 15px;
    }

    .p-check .p-check_list01 {
        float: left;
        width: 100%;
        padding-top: 5px;
    }

    .p-check .p-check_list01._02 {
        width: 100%;
    }

    .p-check .p-check_list {
        padding-left: 0;
        padding-top: 5px;
    }

    .p-check .p-check_item {
        width: 49%;
        margin-bottom: 16px;
        text-align: left;
    }

    .p-check .p-check_item:nth-child(odd) {
        clear: both;
    }

    .p-check .p-check_item:nth-child(even) {
        float: right;
    }

    .p-check .p-check_item .check_ico:nth-child(even) {
        padding-left: 20px;
        font-size: 11px;
    }

    .p-check .p-check_item .check_ico:before {
        font-size: 13px;
        width: 12px;
        height: 12px;
        top: 0;
    }

    .p-check .p-check_item input[type="checkbox"]:checked + .check_ico:after {
        top: 2px;
        left: 5px;
        width: 3px;
        height: 7px;
    }

    .p-check .search_btn_wrap {
        margin-top: 20px;
    }

    .p-check .search_btn {
        width: 200px;
        font-size: 16px;
        border-radius: 3px;
        border-width: 2px;
        background-size: 20px auto;
        background-position: 45px;
        padding: 10px 10px 10px 30px;
    }

    .j_tabwrap .tabbox:nth-child(1) .p-check_item {
        width: auto;
        float: none;
    }

    .j_tabwrap .tabbox:nth-child(1) .p-check_item:nth-child(odd) {
        clear: none;
    }

    .j_tabwrap .tabbox:nth-child(1) .p-check_item:nth-child(even) {
        float: none;
    }

    .j_tabwrap .tabbox:nth-child(3) .p-check_item {
        width: auto;
        float: none;
    }

    .j_tabwrap .tabbox:nth-child(3) .p-check_item:nth-child(odd) {
        clear: none;
    }

    .j_tabwrap .tabbox:nth-child(3) .p-check_item:nth-child(even) {
        float: none;
    }


    .p-service_tx {
        font-size: 20px;
        padding: 38px 0 20px;
    }

    .p-service_tx--sp {
        padding: 10px 0 30px;
    }

    .p-service_box {
        width: 100%;
    }

    .p-service_boximg {
        width: 160px;
        float: none;
        margin: 0 auto 25px;
    }

    .p-service_boxtx {
        width: 100%;
        float: none;
        font-size: 14px;
        line-height: 2;
    }

    .p-search1 .l-inner {
        padding: 30px 20px;
    }

    .p-search1 .p-search_form {
        display: block;
    }

    .p-search1 .p-search_ttl,
    .p-search1 p-search_input {
        display: block;
    }

    .p-search1 .p-search_ttl {
        font-size: 18px;
        width: auto;
        padding-left: 0;
        text-align: center;
        margin-bottom: 15px;
    }

    .p-search1 .search_form input {
        padding: 10px;
        height: 44px;
    }

    .p-search1 .search_btn {
        width: 80px;
    }

    .p-search1 .search_btn input {
        font-size: 14px;
        background-position: 15px center;
        background-size: 16px auto;
        padding: 0 0 0 15px;
        height: 44px;
    }

    .p-search1 .p-search_word {
        margin-top: 10px;
        margin-bottom: 0;
    }

    .p-search1 .p-search_list a {
        font-size: 10px;
        padding: 4px 8px;
    }

    .p-search1.type_word .l-inner {
        padding-top: 30px;
        padding-bottom: 30px;
    }

    #privacy_contents {
        padding: 10px 0 40px;
    }

    #privacy_contents .text_box {
        padding: 0;
        margin-bottom: 20px;
    }

    #privacy_contents .text_box .hl1 {
        font-size: 18px;
    }

    #contact_form {
        padding: 20px 10px 58px;
    }

    #contact_form .form_box {
        padding: 20px;
    }

    #contact_form .form_box .text1 {
        margin-bottom: 2px;
    }

    #contact_form .form_box .text2 {
        padding-top: 15px;
        margin-bottom: 15px;
        font-size: 14px;
    }

    #contact_form .form_box dl {
        margin-bottom: 7px;
    }

    #contact_form .form_box dl dt {
        margin-bottom: 10px;
    }

    #contact_form .form_box dl dt .any {
        top: 10px;
        right: 0;
        width: 40px;
        font-size: 11px;
    }

    #contact_form .form_box textarea {
        height: 239px;
    }

    #contact_form .form_box .submit .back {
        width: 92px;
        line-height: 44px;
    }

    #contact_form .form_box .submit input {
        padding: 10px 15px;
        font-size: 16px;
        max-width: 220px;
    }

    #contact_complete {
        padding: 25px 0 90px;
    }

    #contact_complete p {
        margin-bottom: 40px;
    }

    #contact_complete .hl {
        font-size: 16px;
        text-align: center;
    }

    #contact_complete .link {
        font-size: 14px;
    }

    #contact_complete .logo {
        padding: 70px 0 25px;
        margin-bottom: 0;
        width: 220px;
    }

    .feature_item .feature_title {
        margin-bottom: 10px;
        font-size: 16px;
    }

    .feature_item._large .text_tb .text_wrap {
        padding-top: 45px;
        padding-bottom: 45px;
    }

    .feature_item._large .text_tb .text_wrap .text1 {
        font-size: 15px;
    }

    .feature_item._large .text_tb .text_wrap .text2 {
        font-size: 20px;
    }

    .event_item .image1 {
        height: 120px;
    }

    .event_item .text_wrap {
        padding: 20px 15px 20px;
    }

    .event_item .btn_warp {
        padding-top: 13px;
    }

    .event_item .c-btn2 {
        width: 48%;
    }

    .event_item .c-btn1 {
        width: 48%;
    }

    .event_item .ttl {
        margin-bottom: 11px;
    }

    .event_item .info1 {
        margin-bottom: 15px;
    }

    .lab_item .image1 {
        height: 120px;
    }

    .lab_item .text_wrap {
        padding: 20px 15px 20px;
    }

    .lab_item .cate {
        margin-bottom: 5px;
    }

    .lab_item .cate > p {
        padding: 2px 15px;
        border-width: 1px;
    }

    .c-proposal {
        padding: 30px 0;
    }

    .c-proposal .hl {
        font-size: 20px;
        margin-bottom: 25px;
    }

    .c-proposal .hl span {
        display: inline-block;
    }

    .c-proposal .text {
        margin-bottom: 0;
        text-align: left;
    }

    .c-proposal .c-btn1 {
        font-size: 16px;
        max-width: 220px;
    }

    .p-condition_item:nth-child(n+2) {
        margin-top: 10px;
    }

    .p-condition_item._margin_large:nth-child(n+2) {
        margin-top: 20px;
    }

    .p-condition_title {
        margin-right: 1em;
    }

    .p-job_list {
        font-size: 14px;
    }

    .p-job_btn {
        margin: -5px;
    }

    .p-job_foot._between {
        display: block;
        text-align: center;
    }

    .p-job_foot._between .p-job_btn {
        display: block;
    }

    .p-job_foot._between .p-job_btn:first-child {
        margin-bottom: 5px;
    }

    .p-job .c-btn2 {
        margin: 5px;
        padding-left: 7px;
        padding-right: 7px;
        font-size: 14px;
    }

    .p-event_title > span {
        display: block;
    }

    .p-event_list {
        font-size: 14px;
    }

    .p-event_body {
        margin-top: 15px;
    }

    .p-event_note {
        display: block;
        margin: 0;
    }

    .p-event_image {
        float: none;
        width: 100%;
        height: 200px;
        margin: 0 auto 15px;
    }

    .p-event_desc {
        margin-top: 20px;
    }

    .p-event_btn {
        margin: -5px;
    }

    .p-event .c-btn2 {
        margin: 5px;
        padding-left: 10px;
        padding-right: 10px;
    }

    .p-lab_title > span {
        display: block;
    }

    .p-lab_list {
        font-size: 14px;
    }

    .p-lab_body {
        margin-top: 15px;
    }

    .p-lab_note {
        display: block;
        margin: 0;
    }

    .p-lab_txt {
        font-size: 14px;
        line-height: 1.67857;
    }

    .p-lab_btn {
        margin: -5px;
    }

    .p-lab_image {
        float: none;
        width: 100%;
        height: 120px;
        margin-bottom: 15px;
    }

    .p-lab .c-btn2 {
        margin: 5px;
        padding-left: 10px;
        padding-right: 10px;
    }

    .p-history_list {
        font-size: 14px;
    }

    .p-history_note {
        display: block;
        margin: 0;
    }

    .p-history_btn {
        margin: -5px;
    }

    .p-history .c-btn2 {
        margin: 5px;
        padding-left: 10px;
        padding-right: 10px;
    }

    .p-detail-group1 .l-bg_project {
        margin-top: 28px;
        padding: 20px 0 58px;
    }

    .p-detail-group1 .body {
        padding: 20px;
    }

    .p-detail-group1 .title {
        margin-bottom: 20px;
    }

    .p-detail-group1 .btn {
        margin-bottom: 15px;
    }

    .p-detail-group1 .btn .c-btn1 {
        width: 200px;
        padding-top: 7px;
        padding-bottom: 7px;
        font-size: 16px;
    }

    .p-detail-group1 .btn .c-btn2 {
        padding-top: 6px;
        padding-bottom: 6px;
        font-size: 16px;
    }

    .p-detail-group1 .attention {
        font-size: 12px;
        text-align: left;
    }

    .p-detail-group1 .accordion {
        padding: 30px 0 10px;
    }

    .p-detail-group1 .accordion .p-check {
        padding: 20px 0;
    }

    .p-detail-group1 .comment {
        margin-top: 15px;
        padding: 15px;
        font-size: 14px;
        text-align: left;
    }

    .p-detail-group1 .comment br {
        display: none;
    }

    .p-event-header_image {
        float: none;
        width: 100%;
        height: 200px;
        margin-top: 20px;
    }

    .p-event-header_label {
        top: 16px;
        right: 16px;
        padding-left: 15px;
        padding-right: 15px;
        border: 1px solid;
    }

    .p-event-header_info,
    .p-event-header_btn {
        float: none;
        width: auto;
    }

    .p-event-header_btn {
        padding-top: 20px;
        margin-bottom: 0;
    }

    .p-event-header_btn .c-btn1 {
        width: 200px;
        font-size: 16px;
    }

    .p-event-header_list {
        font-size: 14px;
    }

    .p-event-header_list,
    .p-event-header_list dt,
    .p-event-header_list dd {
        display: block;
    }

    .p-event-header_list dd {
        padding-left: 30px;
    }

    .p-event-header_item:nth-child(n+2) dt {
        padding-top: 10px;
    }

    .p-feature-foot_title {
        margin-bottom: 10px;
        font-size: 14px;
    }

    .p-feature-foot_btn {
        max-width: 160px;
    }

    .wp-pagenavi a,
    .wp-pagenavi span {
        width: 35px;
        height: 35px;
        border-width: 1px;
        border-radius: 2px;
        padding: 6px 0 1px;
        margin: 0 1px 6px;
    }

    .wp-pagenavi a.previouspostslink,
    .wp-pagenavi a.nextpostslink {
        width: 70px;
    }

    .wp-pagenavi a.previouspostslink:before,
    .wp-pagenavi a.nextpostslink:before {
        top: 12.5px;
        width: 5px;
        height: 10px;
    }

    .wp-pagenavi a.previouspostslink {
        padding-left: 10px;
    }

    .wp-pagenavi a.previouspostslink:before {
        left: 10px;
    }

    .wp-pagenavi a.nextpostslink {
        padding-right: 10px;
    }

    .wp-pagenavi a.nextpostslink:before {
        right: 10px;
    }

    .pager-single a {
        height: 35px;
        border-width: 1px;
        border-radius: 2px;
        padding: 0;
        font-size: 12px;
        line-height: 35px;
        vertical-align: middle;
    }

    .pager-single .back {
        width: 53%;
    }

    .pager-single .prev,
    .pager-single .next {
        width: 20%;
    }

    .pager-single .prev a:before,
    .pager-single .next a:before {
        top: 12.5px;
        width: 5px;
        height: 10px;
    }

    .pager-single .prev a {
        padding-left: 10px;
    }

    .pager-single .prev a:before {
        left: 10px;
    }

    .pager-single .next a {
        padding-right: 10px;
    }

    .pager-single .next a:before {
        right: 10px;
    }

    .post_text {
        margin-bottom: 13px;
    }

    .post_text p {
        font-size: 14px;
        margin-bottom: 20px;
        line-height: 1.6;
    }

    .post_text h1 {
        margin-bottom: 10px;
        font-size: 20px;
        line-height: 1.4;
    }

    .post_text h2 {
        padding: 0 0 10px 5px;
        margin-bottom: 20px;
    }

    .g-header {
        min-width: 320px;
        position: fixed;
    }

    .g-header .l-inner {
        max-width: 100%;
    }


    .g-header .logo {
        padding: 12px 0;
    }

    .g-header .logo img {
        /* width: 176px; */
        width: 140px;
    }

    .g-header .logo_tx {
        padding-top: 10px;
    }

    .g-header .g-navi {
        display: none;
        min-width: 320px;
        position: fixed;
        top: 0;
        left: 0;
        height: 100%;
        width: 100%;
        float: none;
        z-index: 999;
        overflow-x: hidden;
        background: rgba(34, 34, 34, 0.97);
        padding: 0 0 40px;
    }

    .g-header .navi1 {
        clear: both;
        float: none;
        margin: 0 auto 20px;
        max-width: 400px;
        padding: 0 8px;
    }

    .g-header .navi1 > li {
        text-align: center;
        float: none;
        width: 47%;
        display: inline-block;
    }

    .g-header .navi1 > li + li {
        margin-left: 0;
    }

    .g-header .navi1 > li span {
        padding: 10px 10px 10px 30px;
    }

    .g-header .navi1 > li:nth-child(2) {
        float: right;
    }

    .g-header .navi1 .header-btn_wrap,
    .g-header .navi1 .header-btn_wrap a {
        width: 100%;
    }

    .g-header .navi1 a {
        color: #fff;
        text-align: center;
        border-radius: 2px;
    }

    .g-header .navi1 a:hover {
        opacity: 1;
    }

    .g-header .navi2 {
        float: none;
        margin-bottom: 19px;
    }

    .g-header .navi2 > li {
        width: 100%;
        float: none;
        position: relative;
    }

    .g-header .navi2 > li + li {
        margin-left: 0;
        border-left: none;
    }

    .g-header .navi2 .navi_acc_btn {
        border-bottom: 1px solid #3C3C3C;
        display: block;
        color: #fff;
        padding: 10px 28px;
    }

    .g-header .navi2 .navi_acc_btn:before,
    .g-header .navi2 .navi_acc_btn:after {
        display: block;
        width: 12px;
        height: 1px;
        content: "";
        background: #1976d2;
        position: absolute;
        top: 20px;
        right: 28px;
    }

    .g-header .navi2 .navi_acc_btn:before {
        -webkit-transform: rotate(90deg);
        -ms-transform: rotate(90deg);
        transform: rotate(90deg);
        -webkit-transition: .3s;
        -o-transition: .3s;
        transition: .3s;
    }

    .g-header .navi2 .navi_acc_btn.active:before {
        visibility: hidden;
        -webkit-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        transform: rotate(0deg);
        -webkit-transition: .3s;
        -o-transition: .3s;
        transition: .3s;
    }

    .g-header .navi2 a {
        border-bottom: 1px solid #3C3C3C;
        display: block;
        color: #fff;
        padding: 10px 28px;
    }

    .g-header .navi2 a:hover {
        color: #fff;
    }

    .g-header .navi_btn2 {
        margin: 0 15px;
    }

    .g-header .navi_btn2 a {
        position: static;
        display: block;
        color: #fff;
        background: none;
        padding: 10px 5px;
        border: 2px solid;
        border-radius: 3px;
        font-size: 16px;
        font-weight: 700;
        text-align: center;
    }

    .g-header .navi_btn2 a:hover {
        opacity: 1;
    }

    .g-footer {
        padding-bottom: 0;
    }

    .g-footer .pagetop {
        display: block;
    }

    .g-footer .l-inner {
        padding-top: 30px;
        padding-bottom: 30px;
        width: 100%;
    }

    .g-footer .logo {
        margin-bottom: 0;
        text-align: center;
        padding-left: 0;
    }

    .g-footer .logo img {
        width: 220px;
    }

    .g-footer .company {
        position: relative;
        text-align: center;
        font-size: 14px;
    }

    .g-footer .copyright {
        float: none;
        padding-left: 0;
        text-align: center;
        font-size: 14px;
    }

    .g-main {
        padding-top: 54px;
    }

    .top_bg {
        padding: 50px 0;
    }

    .news-archive .list1 {
        padding: 0 0 21px;
    }

    .news-archive .list1 li {
        padding-bottom: 11px;
        margin-bottom: 12px;
    }

    .news-single-title {
        margin-bottom: 20px;
    }

    .news-single-title .day {
        padding-top: 15px;
        margin-bottom: 7px;
    }

    .news-single-title .title {
        font-size: 20px;
    }

    .q-project1 .btn {
        max-width: 240px;
    }

    .q-event-detail .p-event-header {
        margin-top: 28px;
    }

    .q-event-detail .l-bg_gray {
        margin-top: 28px;
        padding: 20px 0 26px;
    }

    .q-event-detail #contact_form {
        margin-bottom: 0;
        padding-bottom: 80px;
        padding-left: 0;
        padding-right: 0;
    }

    .q-event-detail #contact_form .submit a,
    .q-event-detail #contact_form .submit input,
    .q-event-detail #contact_form .submit button {
        margin: 5px 10px;
    }

    .q-lab-detail .post_text {
        margin-top: 10px;
    }

    .q-feature {
        margin-bottom: 20px;
    }

    .q-feature .feature_item:nth-child(n+2) {
        margin-top: 15px;
    }

    .q-feature-detail1 .comment_heading {
        font-size: 16px;
        text-align: center;
    }

    .q-feature-detail1 .comment_avatar {
        float: none;
        width: 180px;
        margin: 0 auto 15px;
    }

    .q-feature-detail1 .comment .p-feature-foot {
        margin-top: 20px;
    }

    .q-feature-detail1 .trend_title {
        font-size: 16px;
        text-align: center;
    }

    .q-feature-detail2 .introduction_heading {
        font-size: 20px;
    }

    .q-feature-detail2 #top_flow .l-inner {
        padding-top: 0;
    }

    .q-feature-detail2 .other .c-link1 a {
        display: block;
        padding-top: 7px;
        padding-bottom: 7px;
        border-bottom: 1px solid rgba(34, 34, 34, 0.1);
        font-size: 16px;
        background-position: right 10px center;
    }

    #sitemap_contents {
        padding: 10px 0 23px;
    }

    #sitemap_contents h4 {
        padding-left: 20px;
        line-height: 1.4;
    }

    .sitemap_box {
        border: 2px solid #E8E8E8;
        padding: 20px;
    }

    .sitemap_box .list_01_warap,
    .sitemap_box .list_02 {
        width: 90%;
        margin: 12px auto 0;
    }

    .sitemap_box .list_01 {
        float: none;
    }

    .sitemap_box .list_01._02 {
        float: none;
    }

    .sitemap_box .list_01 li {
        float: left;
        width: 100%;
        margin-right: 1%;
        margin-bottom: 15px;
    }

    .sitemap_box .list_01 li:nth-child(2n),
    .sitemap_box .list_01 li:nth-child(4n) {
        margin-right: 0;
    }

    .sitemap_box .list_02 li {
        float: left;
        width: 49%;
        margin-right: 1%;
        margin-bottom: 15px;
    }

    .sitemap_box .list_02 li:nth-child(3n) {
        margin-right: 1%;
    }

    .sitemap_box .list_02 li:nth-child(2n) {
        margin-right: 0;
    }

    .sitemap_btm {
        margin: 30px 8px 0;
    }

    .sitemap_btm ul li {
        float: left;
        width: 49%;
        margin-right: 1%;
        margin-bottom: 15px;
    }

    .sitemap_btm ul li:nth-child(2n) {
        margin-right: 0;
    }

    .sitemap_btm ul li:nth-child(2n + 1) {
        clear: both;
    }


    .sitemap_btm ul li:nth-child(3n) {
        margin-right: 1%;
    }

    .sitemap_btm ul li a {
        padding-left: 12px;
        font-size: 14px;
    }

    .sitemap_box .list_01 a,
    .sitemap_box .list_02 a {
        font-size: 14px;
    }

    #faq .faq_area dl {
        font-size: 14px;
    }

    #faq .faq_area dl span {
        font-size: 20px;
    }

    #faq .faq_area dl dd {
        padding: 22px 24px 22px 56px;
    }

    #faq .faq_area dl dd span {
        top: 22px;
    }

}

@media screen and (max-width: 374px) {

    .p-plus_image1 img {
        width: 158px;
    }

    .p-check .p-check_tab li {
        font-size: 11px;
    }

    .p-check .p-check_tab li > span {
        background-size: 15px auto;
        padding: 0 0 0 15px;
    }

}


.iphone .slick-list,
.android .slick-list {
    padding-left: 7px !important;
}

.iphone .flow_list .slick-list,
.android .flow_list .slick-list {
    padding-left: 0 !important;
}

.iphone #top_flow .slick-dots,
.android #top_flow .slick-dots {
    margin-left: 0;
}


/*----------------------------------------

新規共通

-----------------------------------------*/

.p-entry {
    background: #2ec3ee;
    position: relative;
}

.p-entry .l-inner {
    background: #2ec3ee;
    position: relative;
    padding: 299px 0 272px;
}

.p-entry .entry_hl {
    position: absolute;
    top: -49px;
    left: 40px;
}

.entry_btn {
    text-align: center;
}

.p-entry .entry_img {
    position: absolute;
    left: calc(50% + 60px);
    bottom: 0;
    pointer-events: none;
    width: 699px;
}

.p-entry .entry_img02 {
    position: absolute;
    left: calc(50% + -610px);
    bottom: 0;
    pointer-events: none;
    width: 263px;
}

@media screen and (max-width: 750px) {

	.p-entry {
		background: transparent;
	}

    .p-entry .l-inner {
        background: transparent;
        padding: 330px 23px 50px;
        overflow: inherit;
    }

    .p-entry .l-inner:before {
    	content: "";
    	position: absolute;
    	top: 0;
    	left: 0;
    	width: 100%;
    	height: 280px;
    	background: #2ec3ee;
    }

    .p-entry .entry_hl {
        width: 215px;
        top: -49px;
        left: calc(50% - 150px);
    }

    .p-entry .entry_img {
        top: -80px;
        left: calc(50% - 60px);
        bottom: auto;
        width: 350px;
    }

    .p-entry .entry_img02 {
        left: calc(50% + -175px);
        bottom: auto;
        top: 122px;
        width: 120px;
    }
}

.cmn_bg:after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: #f6f6f6;
    z-index: -5;
}


/*----------------------------------------

index

-----------------------------------------*/
/*mv*/
#top_mv {
	padding-bottom: 100px;
}

#top_mv .mv_visual {
	position: relative;
    background: #2ec3ee;
    margin-bottom: 80px;
}

#top_mv .mv_visual:after {
	content: "";
	position: absolute;
	bottom: -2px;
	left: 0;
	width: 100%;
	height: 20px;
	background: #ffffff;
}

#top_mv .mv_hl {
	position: relative;
	z-index: 1;
    margin-right: -60px;
}

.top-sec01 .top-sec01_list {
    overflow: hidden;
}

.top-sec01 .top-sec01_list_item {
    width: 590px;
    background: #2ec3ee;
    border-radius: 20px;
    box-sizing: border-box;
    position: relative;
    margin-bottom: 22px;
    min-height: 724px;
}

.top-sec01 .top-sec01_list_item:after {
    position: absolute;
    content: '';
    display: block;
    bottom: -22px;
    background: url(../img/cmn/list_bg.png);
    width: 100%;
    height: 100px;
    left: 0;
    border: solid 4px #22add5;
    box-sizing: border-box;
    border-radius: 20px;
    z-index: -1;
}

.top-sec01 .top-sec01_list_item:nth-child(odd) {
    padding: 33px 51px 20px;
    float: right;
}

.top-sec01 .top-sec01_list_item:nth-child(even) {
    padding: 12px 18px 20px 26px;
    float: left;
}

.top-sec01 .c-btnimg_wrap {
    margin-top: 15px;
    text-align: center;
}

.top_search_form {
    overflow: hidden;
}

.search_btn {
    width: 423px;
    margin: 30px auto 0;
}

.top_search_ttl {
    font-weight: 500;
    letter-spacing: 0.03em;
    float: left;
    font-size: 24px;
    padding-left: 40px;
    background: url(../img/cmn/icn_search@2x.png) no-repeat center left;
    background-size: 32px;
    margin-right: 80px;
    margin: 5px 75px 0 18px;
}

.top_select1 {
    overflow: hidden;
    width: 412px;
    margin: 9px auto;
}

.top_select1 select {
    width: 100%;
    padding-right: 1em;
    cursor: pointer;
    text-indent: 0.01px;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
    border: none;
    outline: none;
    background: transparent;
    background-image: none;
    -webkit-box-shadow: none;
    box-shadow: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 7px 25px;
    font-size: 18px;
    color: #9b9b9b;
    font-weight: bold;
}

.top_select1 select::-ms-expand {
    display: none;
}

.top_select1.cp_sl01 {
    position: relative;
    border-radius: 2px;
    background: #ffffff;
    border-radius: 10px;
}

.top_select1.cp_sl01::before {
    content: '';
    display: block;
    background: url(../img/cmn/btn02_1.png) no-repeat;
    background-size: 31px;
    position: absolute;
    pointer-events: none;
    width: 31px;
    height: 31px;
    right: 10px;
    top: 0;
    bottom: 0;
    margin: auto;
}

.top_select1.cp_sl01 select {
    padding: 7px 25px;
    color: #9E9E9E;
}

.top-search_form {
    display: table;
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.search_form {
    width: 412px;
    margin: 0 auto 16px;
}

.search_form input {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    box-shadow: none;
    border: none;
    border-radius: 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    font-family: inherit;
    padding: 7px 25px;
    font-size: 18px;
    font-weight: bold;
}

:placeholder-shown {
    color: #9b9b9b;
}

::-webkit-input-placeholder {
    color: #9b9b9b;
}

:-moz-placeholder {
    color: #9b9b9b;
    opacity: 1;
}

::-moz-placeholder {
    color: #9b9b9b;
    opacity: 1;
}

:-ms-input-placeholder {
    color: #9b9b9b;
}

.search_btn input:hover {
    opacity: 0.7;
}

#top_service {
    padding: 100px 0 156px;
    position: relative;
}

.p-service .service_box {
    padding-left: 18px;
    padding-right: 640px;
}

.p-service .l-inner {
    position: relative;
}

.p-service .service_hl {
    display: block;
    margin-bottom: 30px;
}

.p-service .service_hl span {
    padding-bottom: 28px;
    display: block;
}

.p-service .service_img {
    position: absolute;
    right: 27px;
    bottom: -35px;
}

.p-service .service_box_tx {
    font-size: 20px;
    font-weight: bold;
    line-height: 2.2;
    letter-spacing: 0.08em;
}

.top_sec02 {
    padding-top: 134px;
}

.top_sec-hl1 {
    margin: 0 auto;
    width: 490px;
}

.service_list {
    overflow: hidden;
    margin-top: 44px;
}

.service_list .service_list_item {
    position: relative;
    width: 290px;
    float: left;
    box-sizing: border-box;
    border: solid 4px #2ec3ee;
    border-radius: 10px;
    margin-right: 13px;
    padding: 18px 2px 26px;
    text-align: center;
    margin-bottom: 14px;
    background: #fff;
}

.service_list .service_list_item:after {
    content: '';
    display: block;
    position: absolute;
    background: url(../img/cmn/btn_bg.png);
    background-size: 6px;
    width: 290px;
    height: 100px;
    bottom: -14px;
    border: solid 4px #2ec3ee;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-radius: 10px;
    left: -4px;
    z-index: -1;
}

.service_list .service_list_item:last-child {
    margin-right: 0;
}

.service_list .service_list_item h3 {
    background: #ffff00;
    border: solid 3px;
    border-radius: 5px;
    font-size: 24px;
    line-height: 1.25;
    font-weight: bold;
    padding: 7px;
    display: block;
    margin-bottom: 5px;
    width: 250px;
    box-sizing: border-box;
    margin: 0 auto 5px;
}

.service_list .service_list_item p {
    font-weight: bold;
    line-height: 1.5;
    font-size: 16px;
    letter-spacing: 0.15em;
    padding: 0 16px;
}

#top_merit .top_bg {
    padding: 100px 0;
}


#top_merit .merit_list {
    overflow: hidden;
    margin: 40px auto 0;
}

#top_merit .merit_list_ttl {
    top: -23px;
    pointer-events: none;
    position: absolute;
}


#top_merit .merit_list_item {
    margin-top: 23px;
    margin-bottom: 14px;
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 47px 30px 20px;
    width: 380px;
    float: left;
    border-radius: 10px;
    border: solid 4px #2ec3ee;
    background: #fff;
}

#top_merit .merit_list_item:after {
    content: '';
    display: block;
    position: absolute;
    background: url(../img/cmn/btn_bg.png);
    background-size: 6px;
    width: 380px;
    height: 100px;
    bottom: -14px;
    z-index: -1;
    border: solid 4px #2ec3ee;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-radius: 10px;
    left: -4px;
}

#top_merit .merit_list_item:nth-child(2) {
    margin: 23px 30px 10px;
}

#top_merit .merit_list_img {
    width: 312px;
    margin: 0 auto 20px;
}

#top_merit .merit_list_tx {
    line-height: 1.5;
    font-size: 20px;
    font-weight: bold;
    letter-spacing: 0.1em;
    margin: 0 -6px;
}

#top_merit .merit_list_tx span {
    font-size: 16px;
}

#top_jobs .cmn_bg {
    padding: 100px 0;
    position: relative;
}

#top_jobs .slide_list {
    margin-top: 38px;
}

#top_jobs .jobs_item {
    position: relative;
    border: solid 4px;
    box-sizing: border-box;
    border-radius: 10px;
    padding-bottom: 75px;
    margin-bottom: 14px;
}

#top_jobs .jobs_item img {
    border-radius: 5px 5px 0 0;
}

#top_jobs .jobs_item:after {
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    height: 100px;
    background: #2ec3ee;
    border: solid 4px;
    z-index: -1;
    left: -4px;
    border-radius: 10px;
    bottom: -14px;
}

#top_jobs .slick-list {
    overflow: inherit;
}

#top_jobs .jobs_item_box {
    padding: 26px 25px 0;
    position: relative;
}

#top_jobs .jobs_item_tag {
    display: inline-block;
    color: #fff;
    background: #1976d2;
    padding: 0 15px;
    border-radius: 20px;
    line-height: 24px;
    margin-right: 12px;
}

#top_jobs .jobs_item_ttl {
    line-height: 1.25;
    min-height: 70px;
    padding-bottom: 10px;
    color: #00a8d8;
    font-size: 24px;
    letter-spacing: 0.2em;
    font-weight: bold;
}

#top_jobs .jobs_item_tx {
    font-size: 16px;
    font-weight: bold;
    line-height: 1.5;
    letter-spacing: 0.04em;
}

#top_jobs .jobs_item_note {
    position: absolute;
    bottom: 0;
    background: #ffff00;
    line-height: 50px;
    width: 100%;
    color: #000;
    font-size: 16px;
    font-weight: 500;
    text-align: center;
    font-weight: bold;
    letter-spacing: 0.15em;
    border-radius: 0 0 10px 10px;
}

#top_jobs .jobs_item_note02 {
    font-size: 20px;
}

#top_jobs #slick_arrow01 {
    top: 430px;
    position: absolute;
    width: 1080px;
    height: 60px;
    pointer-events: none;
    margin: 0 auto;
    right: 0;
    left: 0;
}

#top_jobs .slick-prev,
#top_jobs .slick-next {
    position: absolute;
    background-size: 60px !important;
    width: 60px;
    height: 60px;
    pointer-events: painted;
    pointer-events: auto;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

#top_jobs .slick-prev:hover,
#top_jobs .slick-next:hover {
    opacity: 0.8;
}

#top_jobs .slick-prev {
    left: calc(50% - 628px);
    background: url(../img/top/btn02_3.png) no-repeat left top;
}

#top_jobs .slick-next {
    left: calc(50% + 568px);
    background: url(../img/top/btn02_2.png) no-repeat left top;
}

#top_jobs .jobs_tx {
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    line-height: 1.5;
    padding-top: 28px;
}

/*スライド共通*/

.top_slide_cmn {
    max-width: 100%;
    margin: 0 auto;
    word-break: break-all;
    padding-bottom: 30px;
}

.top_slide_cmn .slick-list {
    padding: 10px 0;
}

.top_slide_cmn .list_item {
    margin: 0 14px;
    background: #fff;
    border-radius: 12px;
    position: relative;
}

.top_slide_cmn .slick-dots li {
    margin: 0 10px !important;
}

.top_slide_cmn .slick-dots li button::before {
    content: '';
    display: block;
    width: 20px;
    height: 20px;
    border-radius: 10px;
    box-sizing: border-box;
    opacity: 1 !important;
    background: #ffff00 !important;
    border: solid 4px;
}

.top_slide_cmn .slick-dots li.slick-active button::before {
    opacity: 1 !important;
    background: #000 !important;
}

.top_slide_cmn .slick-arrow {
    height: 48px;
    width: 48px;
}

.top_slide_cmn .slick-arrow:before {
    display: none !important;
}

.top_slide_cmn .slick-next {
    background: url(../img/top/btn02_2.png) right center no-repeat !important;
    background-size: 48px auto !important;
    top: 45% !important;
    right: -35px !important;
}

.top_slide_cmn .slick-prev {
    background: url(../img/top/btn02_3.png) right center no-repeat !important;
    background-size: 48px auto !important;
    top: 45% !important;
    left: -35px !important;
}

#top_rea-po .top_bg {
    padding: 100px 0 70px;
    position: relative;
}

#top_rea-po .top_bg:before,
#top_rea-po .top_bg:after {
    content: '';
    display: block;
    width: 160px;
    height: 254px;
    position: absolute;
    background-size: 160px;
    top: 114px;
}

#top_rea-po .top_bg:before {
    background: url(../img/top/pic_14.png);
    left: calc(50% - 520px);
}

#top_rea-po .top_bg:after {
    background: url(../img/top/pic_15.png);
    left: calc(50% + 360px);
}

#top_rea-po .top_sec-hl1 {
    margin-bottom: 45px;
}

#top_rea-po .reason_box {
    text-align: center;
}

#top_rea-po .reason_box_ttl {
    display: inline-block;
    margin-bottom: 15px;
    font-size: 22px;
    font-weight: 500;
    background: linear-gradient(transparent 70%, #ffff00 70%);
    font-weight: bold;
    letter-spacing: 0.08em;
}

#top_rea-po .reason_box_tx {
    padding-bottom: 20px;
    font-weight: bold;
    letter-spacing: 0.09em;
    font-size: 16px;
}

.top_point {
    position: relative;
    padding: 100px 0;
}

.top_point .point_list {
    margin: 40px auto 90px;
}

.top_point .point_list:after {
	content: "";
	display: table;
	clear: both;
}

.top_point .point_list_ttl {
    margin: 0 -48px 20px;
    font-size: 24px;
    position: relative;
}

.top_point .point_list_ttl .number_tx {
    color: rgba(25, 118, 210, 0.7);
    font-size: 14px;
    padding-right: 8px;
}

.top_point .point_list_item {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 380px;
    float: left;
    border-radius: 8px;
    border: solid 4px #2ec3ee;
    position: relative;
    margin-top: 0;
    padding: 18px 20px 40px;
    background: #fff;
    margin-bottom: 14px;
}

.top_point .point_list_item:after {
    content: '';
    display: block;
    position: absolute;
    background: url(../img/cmn/btn_bg.png);
    background-size: 6px;
    width: 100%;
    height: 100px;
    bottom: -14px;
    z-index: -1;
    border: solid 4px #2ec3ee;
    border-radius: 10px;
    left: -4px;
}

.top_point .point_list_item:nth-child(2) {
    margin: 0 30px;
}

.top_point .point_list_img {
    width: 320px;
    margin: 0 auto 30px;
}

.top_point .point_list_tx {
    line-height: 1.5;
    font-size: 16px;
    font-weight: bold;
    padding: 0 20px;
    letter-spacing: 0.05em;
}

#top_cu {
    padding: 100px 0;
    position: relative;
}

#top_cu .slide_list {
    margin: 40px 0 0;
    padding-bottom: 40px;
    overflow: hidden;
}

#top_cu .slick-list {
    overflow: inherit;
}

#top_cu .cu_item {
    border: solid 4px;
}

#top_cu .slick-dots {
    bottom: 0;
}

#top_cu .cu_item {
    margin: 2px 15px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-bottom: 20px;
    position: relative;
}

#top_cu .cu_item:after {
    content: '';
    display: block;
    position: absolute;
    background-size: 6px;
    width: 100%;
    height: 100px;
    bottom: -14px;
    z-index: -1;
    border: solid 4px #000;
    border-radius: 10px;
    left: -4px;
    background: #2ec3ee;
}

#top_cu .cu_item_ttl {
    font-size: 24px;
    font-weight: bold;
    padding: 30px 40px;
    color: #000;
    letter-spacing: 0.14em;
}

#top_cu .cu_item_img {
    position: relative;
    width: 100%;
    height: 326px;
    background-size: cover !important;
}

#top_cu .cu_item_img--01 {
    background: url(../img/top/slide02.png) center;
}

#top_cu .cu_item_img--02 {
    background: url(../img/top/slide03.png) center;
}

#top_cu .cu_item_img--03 {
    background: url(../img/top/slide04.png) center;
}

#top_cu .cu_item_img_box {
    overflow: hidden;
}

#top_cu .tx_box {
    display: block;
    float: left;
    text-align: center;
    width: 50%;
    padding: 20px 0;
    font-weight: bold;
}

#top_cu .tx_box .tx01 {
    font-size: 20px;
}

#top_cu .tx_box .tx02 {
    font-size: 16px;
    display: inline-block;
    padding: 10px 0 0;
}

#top_cu .tx_box .tx02--ore {
    font-size: 16px;
    margin-right: 10px;
    padding: 0;
    background: #ffff00;
    color: #000;
    display: inline-block;
    line-height: 25px;
    width: 100px;
    text-align: center;
}

#top_cu .tx_box .tx02_span {
    font-size: 18px;
}

#top_cu .tx_box .tx03 {
    font-size: 16px;
    display: inline-block;
}

#top_cu .tx_box .tx03 span {
    font-size: 20px;
}

#top_cu .tx_box--l {
    position: relative;
}

#top_cu .tx_box--l:before {
    position: absolute;
    content: '';
    display: block;
    width: 12px;
    height: 18px;
    background: url(../img/top/arrow_r.svg);
    background-size: 12px;
    background-repeat: no-repeat;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 10px;
}

#top_cu .cu_item_img_box {
    position: absolute;
    background-color: rgba(46, 195, 238, 0.8);
    height: 100px;
    width: 100%;
    padding: 0 160px;
    bottom: 0;
    box-sizing: border-box;
}

#top_cu .cu_item_tx {
    font-weight: bold;
    font-size: 16px;
    padding-bottom: 10px;
    line-height: 1.9;
    letter-spacing: 0.1em;
    padding: 28px 38px;
}

#top_cu #slick_arrow02 {
    top: 505px;
    position: absolute;
    width: 100%;
    height: 60px;
    pointer-events: none;
}

#top_cu .slick-prev,
#top_cu .slick-next {
    position: absolute;
    background-size: 60px !important;
    width: 60px;
    height: 60px;
    pointer-events: painted;
    pointer-events: auto;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

#top_cu .slick-prev:hover,
#top_cu .slick-next:hover {
    opacity: 0.8;
}

#top_cu .slick-prev {
    left: calc(50% - 628px);
    background: url(../img/top/btn02_3.png) no-repeat left top;
}

#top_cu .slick-next {
    left: calc(50% + 568px);
    background: url(../img/top/btn02_2.png) no-repeat left top;
}

#top_cu .trigger p {
    text-align: center;
    display: block;
    margin: 10px auto 0;
    font-size: 14px;
    position: relative;
    color: #1976d2;
}

#top_cu .trigger p:after {
    position: absolute;
    content: '';
    display: block;
    background: url(../img/cmn/arrow_b@2x.png);
    background-size: 12px;
    width: 12px;
    height: 7px;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 30px;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

#top_cu .trigger p.close {
    display: none;
    text-align: center;
    margin: 10px auto 0;
    font-size: 14px;
    position: relative;
    color: #1976d2;
}

#top_cu .trigger p.close:after {
    position: absolute;
    content: '';
    display: block;
    background: url(../img/cmn/arrow_b@2x.png);
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg);
    background-size: 12px;
    width: 12px;
    height: 7px;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 30px;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

#top_cu .trigger.active p.close {
    display: block;
}

#top_cu .trigger.active p.open {
    display: none;
}

#top_voice {
    position: relative;
}

#top_voice .top_bg {
    padding: 100px 0;
}

#top_voice .voice_list {
    overflow: hidden;
    margin: 37px 0 92px;
}

#top_voice .voice_list_ttl {
    color: #00a8d8;
    text-align: center;
    font-size: 28px;
    padding-bottom: 12px;
    letter-spacing: -0.03em;
    width: 100%;
    font-weight: bold;
}

#top_voice .voice_list_ttl_box {
    position: relative;
    pointer-events: none;
}

#top_voice .voice_list_item {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 25px 30px;
    width: 380px;
    float: left;
    border-radius: 8px;
    border: solid 4px #2ec3ee;
    background-color: #fff;
    line-height: 1.28;
    position: relative;
    margin-bottom: 14px;
}

#top_voice .voice_list_item:after {
    content: '';
    display: block;
    position: absolute;
    background: url(../img/cmn/btn_bg.png);
    background-size: 6px;
    width: 100%;
    height: 100px;
    bottom: -14px;
    z-index: -1;
    border: solid 4px #2ec3ee;
    border-radius: 10px;
    left: -4px;
}

#top_voice .voice_list_item:nth-child(2) {
    margin: 0 30px;
}

#top_voice .voice_list_img {
    display: inline-block;
    width: 38px;
    margin-left: 16px;
    margin-top: 5px;
}

#top_voice .voice_list_pro {
    font-size: 16px;
    font-weight: bold;
    display: inline-block;
    width: 232px;
    vertical-align: top;
    line-height: 2;
    padding-left: 18px;
    padding-top: 10px;
}

#top_voice .voice_list_pro .n-b {
    font-size: 20px;
    display: block;
    line-height: 1.28;
}

#top_voice .voice_list_tx {
    line-height: 1.5;
    font-size: 16px;
    font-weight: bold;
    letter-spacing: 0.05em;
    padding-top: 16px;
    margin-top: 20px;
    border-top: solid 1px;
}

#top_flow .top_bg {
    padding: 0 0 100px;
}

#top_flow .flow_top {
    position: relative;
    background-color: #2ec3ee;
    padding: 115px 0 100px;
    margin-bottom: 150px;
    position: relative;
}


#top_flow .flow_ttl_box {
    border: solid 4px #000;
    border-radius: 25px;
    width: 1100px;
    margin: 0 auto;
    box-sizing: border-box;
    background: #fff;
    position: relative;
}

#top_flow .flow_ttl_box .flow_ttlimg {
    position: absolute;
    bottom: -1px;
    left: 20px;
}

#anchor_flow.anchor {
    padding-top: 60px;
    margin-top: -60px;
}

#top_flow .flow_top:after {
    position: absolute;
    content: '';
    display: block;
    width: 200px;
    height: 50px;
    background: url(../img/top/flow_toparr.png) no-repeat;
    background-size: 200px;
    left: 0;
    right: 0;
    margin: auto;
    bottom: -50px;
}

#top_flow .flow_top .flow_ttl {
    padding: 10px 0;
    background: #ffff00;
    border-radius: 20px 20px 0 0;
    text-align: center;
}

#top_flow .flow_top .flow_toptx {
    font-size: 16px;
    font-weight: bold;
    line-height: 1.875;
    padding: 22px 15px 15px 100px;
    letter-spacing: 0.05em;
}

#top_flow .flow_list {
    overflow: hidden;
    margin: 40px 0 0;
    padding-bottom: 0;
    pointer-events: none;
}

#top_flow .flow_list_item {
    float: left;
    margin-right: 50px;
    position: relative;
    font-weight: bold;
}

#top_flow .flow_list_step {
    text-align: center;
    color: #2ec3ee;
    font-size: 24px;
    padding-bottom: 24px;
}

#top_flow .flow_list_img {
    width: 260px;
    margin: 0 auto 10px;
}

#top_flow .flow_list_ttl {
    font-size: 24px;
    text-align: center;
    padding-bottom: 10px;
}

#top_flow .flow_list_tx {
    font-size: 16px;
    letter-spacing: 0.1em;
}

#top_flow .slick-dots {
    margin-left: -15px;
}

#top_cam {
    padding-bottom: 100px;
}


#top_txarea {
    position: relative;
    padding: 110px 0 100px;
    background-size: cover;
    text-align: center;
}

#top_txarea .flow_ttl {
    width: 626px;
    margin: 0 auto;
}

#top_txarea .top_txarea_tx {
    font-size: 24px;
    font-weight: bold;
    line-height: 1.5;
    padding: 33px 0 50px;
    letter-spacing: 0.15em;
}

#top_con {
    padding: 100px 0 90px;
    text-align: center;
    position: relative;
}

#top_con.cmn_bg:after {
    background: #2ec3ee;
}

#top_con .tel_btn {
    width: 900px;
    margin: 0 auto 40px;
    box-sizing: border-box;
    background: #fff;
    border: solid 4px;
    border-radius: 20px;
    position: relative;
}

#top_con .tel_btn:after {
    content: '';
    display: block;
    position: absolute;
    background: url(../img/cmn/btn_bg.png);
    background-size: 6px;
    width: 100%;
    height: 100px;
    bottom: -14px;
    z-index: -1;
    border: solid 4px #000;
    border-radius: 20px;
    left: -4px;
}

#top_con .tel_btn a {
    display: block;
    height: 100%;
    width: 100%;
    padding: 24px 34px 20px;
    box-sizing: border-box;
    pointer-events: none;
    overflow: hidden;
}

#top_con .tel_tx {
    float: left;
}

#top_con .tel_number {
    float: left;
    padding: 15px 0 0 17px;
    text-align: left;
}

#top_con .tel_number_note {
    padding-top: 10px;
    font-size: 26px;
    font-weight: bold;
}

#top_con .tel_number_note span {
    font-size: 16px;
    color: #00a8d8;
    padding-left: 16px;
    letter-spacing: 0.06em;
}


#top_con .con_ttl {
    font-size: 24px;
    padding-bottom: 10px;
    font-weight: bold;
    letter-spacing: 0.15em;
}

#top_con .con_tx02 {
    font-size: 16px;
    font-weight: bold;
    letter-spacing: 0.15em;
}

@media screen and (max-width: 750px) {
    /*mv*/

    .top_sec-hl1 {
        width: 60%;
        min-width: 266px;
        max-width: 480px;
    }

    #top_mv {
        padding-bottom: 50px;
    }

    #top_mv .mv_visual {
        margin-bottom: 35px;
    }

    #top_mv .mv_visual:after {
    	height: 14px;
    }

    #top_mv .mv_visual .l-inner {
        overflow: visible;
    }

    #top_mv .mv_hl {
      margin: 0 -23px;
    }

    .top-sec01 .top-sec01_list {
        position: relative;
        padding-left: 40px;
    }

    .top-sec01 .top-sec01_list_tx {
        position: absolute;
        left: 0;
        width: 31px;
    }

    .top-sec01 .top-sec01_list_item {
        min-height: 0;
        width: 100%;
        border-radius: 10px;
        position: relative;
        margin-bottom: 30px;
        padding: 10px 10px 20px;
    }

    .top-sec01 .top-sec01_list_item:after {
        bottom: -15px;
        background: url(../img/cmn/list_bg.png);
        border-radius: 10px;
    }

    .top-sec01 .top-sec01_list_item:nth-child(odd) {
        padding: 10px 10px 20px;
        float: none;
    }

    .top-sec01 .top-sec01_list_item:nth-child(2) {
        padding: 10px 10px 20px;
        float: none;
    }

    .top-sec01 .c-btnimg_wrap {
        margin-top: 15px;
    }

    .search_btn {
        max-width: 423px;
        width: 100%;
        margin: 0 auto;
    }

    .search_btn input {
        width: 100%;
    }

    .top_select1 {
        width: 100%;
        max-width: 423px;
    }

    .top_select1.cp_sl01 {
        border-radius: 5px;
    }

    .search_form {
        width: 100%;
        max-width: 423px;
    }

    .search_form input {
        border-radius: 5px;
        padding: 7px 10px;
    }

    #top_search {
        padding: 25px 0 25px;
    }

    #top_search .top_search_ttl {
        float: none;
        margin: 0 0 22px;
    }

    #top_search .top_select1 {
        width: 48%;
        margin-right: 0;
        margin-bottom: 10px;
    }

    .top_select1.cp_sl01 select {
        padding: 7px 10px;
        color: #9E9E9E;
        font-size: 16px;
    }

    #top_search .top_select1:nth-child(2) {
        float: right;
    }

    #top_search .top_select1.cp_sl01::before {
        background-size: 12px;
        right: 7px;
        width: 12px;
        height: 7px;
    }

    #top_search .top_select1.cp_sl01 select {
        padding: 10px 28px 10px 5px;
    }

    #top_search .top-search_form {
        display: block;
    }

    #top_search .top-search_ttl,
    #top_search top-search_input {
        display: block;
    }

    #top_search .top-search_ttl {
        font-size: 18px;
        width: auto;
        padding-left: 0;
        text-align: center;
        margin-bottom: 15px;
    }

    #top_search .search_form {
        width: 100%;
        float: none;
        margin-bottom: 25px;
    }

    #top_search .search_form input {
        padding: 10px 5px;
        height: 44px;
    }

    #top_search .search_btn {
        float: none;
        width: 90%;
        margin: 0 auto;
    }

    #top_search .search_btn input {
        font-size: 20px;
        background-position: 15px center;
        background-size: 16px auto;
        height: 48px;
    }

    #top_service {
        padding: 50px 0 120px;
    }

    .p-service .service_box {
        padding: 0;
    }

    .p-service .l-inner {
        padding: 0 35px;
        text-align: justify;
    }

    .p-service .service_img {
        position: relative;
        right: auto;
        bottom: auto;
        margin: 30px -15px 0;
    }

    .p-service .service_box_tx {
        font-size: 13px;
        font-weight: bold;
        line-height: 1.7;
    }

    .top_sec02 {
        padding-top: 55px;
    }

    .service_list {
        margin-top: 20px;
        width: 60%;
        min-width: 266px;
        max-width: 320px;
        margin: 20px auto 0;
    }

    .service_list .service_list_item {
        width: 100%;
        margin-bottom: 30px;
        padding: 18px 14px 20px;
    }

    .service_list .service_list_item:after {
        width: calc(100% + 8px);
        left: -4px;
    }

    .service_list .service_list_item h3 {
        font-size: 20px;
        width: 230px;
    }

    .service_list .service_list_item p {
        padding: 10px 0 0;
        font-size: 14px;
        letter-spacing: 0.02em;
    }

    #top_merit .top_bg {
        padding: 50px 0;
    }

    #top_merit .merit_list {
        overflow: hidden;
        margin: 20px auto 0;
        width: 60%;
        min-width: 266px;
        max-width: 320px;
    }

    #top_merit .merit_list_item {
        width: 100%;
    }

    #top_merit .merit_list_ttl {
        margin: 0 auto;
        left: 0;
        right: 0;
        max-width: 320px;
        width: 80%;
    }

    #top_merit .merit_list_item:after {
        width: calc(100% + 8px);
    }

    #top_merit .merit_list_item:nth-child(2) {
        margin: 37px 0 30px;
    }

    #top_merit .merit_list_img {
        max-width: 312px;
        width: 100%;
        margin: 0 auto 10px;
    }

    #top_merit .merit_list_tx {
        font-size: 16px;
        text-align: justify;
        letter-spacing: 0.04em;
    }

    #top_merit .merit_list_tx span {
        font-size: 16px;
    }

    #top_jobs .cmn_bg {
        padding: 50px 0;
    }

    #top_jobs .slide_list {
        margin-top: 30px;
    }

    #top_jobs .slick-list {
        margin: 0 15px;
    }

    #top_jobs .jobs_item img {
        width: 100%;
    }

    #top_jobs .jobs_item_ttl {
        font-size: 20px;
        min-height: 0;
    }

    #top_jobs #slick_arrow01 {
        bottom: auto;
        top: 30%;
        width: 100%;
    }

    #top_jobs .slick-prev {
        left: 0;
    }

    #top_jobs .slick-next {
        left: auto;
        right: 0;
    }

    #top_jobs .jobs_tx {
        font-size: 14px;
        text-align: center;
        padding-top: 20px;
        line-height: 2;
    }

    .top_slide_cmn {
        padding-bottom: 10px;
    }

    .top_slide_cmn .slick-list {
        overflow: visible !important;
    }

    .top_slide_cmn .list_item {
        margin: 0 20px;
        position: relative;
    }

    .top_slide_cmn .jobs_item.list_item {
        border-radius: 20px 20px 12px 12px;
    }

    .top_slide_cmn .slick-dots li {
        margin: 0 4px !important;
    }

    .top_slide_cmn .slick-dots li button::before {
        width: 14px;
        height: 14px;
        border: solid 3px;
    }

    #top_rea-po .top_bg {
        padding: 50px 0 20px;
    }

    #top_rea-po .top_bg:before,
    #top_rea-po .top_bg:after {
        content: '';
        display: none;
    }

    #top_rea-po .top_sec-hl1 {
        margin-bottom: 30px;
    }

    #top_rea-po .reason_box_ttl {
        display: inline;
        font-size: 18px;
    }

    #top_rea-po .reason_box {
        padding-bottom: 0;
    }

    #top_rea-po .reason_box_tx {
        line-height: 1.8;
        font-size: 14px;
    }

    .top_point {
        padding: 50px 0;
    }

    .top_point .point_list {
        margin: 20px auto 40px;
        width: 60%;
        min-width: 266px;
        max-width: 320px;
    }

    .top_point .point_list_ttl {
        text-align: center;
        margin: 0 -41px 20px;
    }

    .top_point .point_list_item {
        width: 100%;
        padding: 18px 20px 20px;
        margin-top: 0;
    }

    .top_point .point_list_item:nth-child(2) {
        margin: 30px 0;
    }

    .top_point .point_list_img {
        max-width: 320px;
        width: 100%;
        margin: 0 auto 20px;
    }

    .top_point .point_list_tx {
        font-size: 14px;
        padding: 0;
    }

    #top_cu {
        padding: 50px 0;
    }

    #top_cu .slide_list {
        margin: 20px 15px 0;
        padding-bottom: 30px;
    }

    #top_cu .cu_item {
        height: auto !important;
    }

    #top_cu .cu_item_ttl {
        font-size: 16px;
        letter-spacing: -0.02em;
        padding: 10px;
    }

    #top_cu .cu_item_img {
        position: relative;
        width: 100%;
        height: 200px;
        background-size: cover !important;
    }

    #top_cu .cu_item_img--01 {
        background: url(../img/top/slide02_spimg01.jpg) center;
    }

    #top_cu .cu_item_img--02 {
        background: url(../img/top/slide02_spimg02.jpg) center;
    }

    #top_cu .cu_item_img--03 {
        background: url(../img/top/slide02_spimg03.jpg) center;
    }

    #top_cu .tx_box .tx01 {
        font-size: 14px;
        display: block;
        letter-spacing: -0.05em;
    }

    #top_cu .tx_box .tx02 {
        font-size: 12px;
        padding: 2px 0;
        display: block;
    }

    #top_cu .tx_box .tx02--ore {
        font-size: 10px;
        margin-top: 10px;
        margin: 2px auto;
        padding: 0;
        line-height: 18px;
        width: 70px;
        display: block;
    }

    #top_cu .tx_box .tx02_span {
        font-size: 14px;
    }

    #top_cu .tx_box .tx03 {
        font-size: 12px;
        display: block;
    }

    #top_cu .tx_box .tx03 span {
        font-size: 14px;
    }

    #top_cu .tx_box {
        padding: 10px 0;
    }

    #top_cu .tx_box--l:before {
        width: 8px;
        height: 18px;
        background-size: 8px;
        right: 5px;
    }

    #top_cu .cu_item_img_box {
        height: 85px;
        padding: 0 10px;
    }

    #top_cu .cu_item_tx {
        font-size: 14px;
        line-height: 1.5;
        padding: 20px;
    }

    #top_cu .cu_item_tx .acc {
        display: none;
    }

    #top_cu #slick_arrow02 {
        top: 340px;
    }

    #top_cu .slick-prev,
    #top_cu .slick-next {
        background-size: 50px !important;
        width: 50px;
        height: 50px;
    }

    #top_jobs .slick-prev,
    #top_jobs .slick-next {
        background-size: 50px !important;
        width: 50px;
        height: 50px;
    }

    #top_cu .slick-prev {
        left: 0;
    }

    #top_cu .slick-next {
        left: auto;
        right: 2px;
    }

    #top_cu .trigger p {
        text-align: center;
        display: block;
        margin: 10px auto 0;
        font-size: 14px;
        position: relative;
        color: #1976d2;
    }

    #top_cu .trigger p:after {
        position: absolute;
        content: '';
        display: block;
        background: url(../img/cmn/arrow_b@2x.png);
        background-size: 12px;
        width: 12px;
        height: 7px;
        top: 0;
        bottom: 0;
        margin: auto;
        right: 30px;
        -webkit-transition: 0.3s;
        -o-transition: 0.3s;
        transition: 0.3s;
    }

    #top_cu .trigger p.close {
        display: none;
        text-align: center;
        margin: 10px auto 0;
        font-size: 14px;
        position: relative;
        color: #1976d2;
    }

    #top_cu .trigger p.close:after {
        position: absolute;
        content: '';
        display: block;
        background: url(../img/cmn/arrow_b@2x.png);
        -webkit-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
        transform: rotate(180deg);
        background-size: 12px;
        width: 12px;
        height: 7px;
        top: 0;
        bottom: 0;
        margin: auto;
        right: 30px;
        -webkit-transition: 0.3s;
        -o-transition: 0.3s;
        transition: 0.3s;
    }

    #top_cu .trigger.active p.close {
        display: block;
    }

    #top_cu .trigger.active p.open {
        display: none;
    }

    #top_voice .top_bg {
        padding: 50px 0 50px;
    }

    #top_voice .voice_list {
        margin: 20px 0 40px;
    }

    #top_voice .voice_list_ttl {
        font-size: 20px;
        letter-spacing: 0;
        padding-bottom: 5px;
    }

    #top_voice .voice_list_ttl_box {
        pointer-events: auto;
    }

    #top_voice .voice_list_ttl_box.active:after {
        -webkit-transform: rotateX(180deg);
        transform: rotateX(180deg);
    }

    #top_voice .voice_list_ttl_box:after {
        position: absolute;
        content: '';
        display: block;
        background: url(../img/cmn/arrow_b@2x.png);
        background-size: 12px;
        width: 12px;
        height: 7px;
        bottom: 55px;
        right: 15px;
        -webkit-transition: 0.3s;
        -o-transition: 0.3s;
        transition: 0.3s;
    }

    #top_voice .voice_list_item:nth-child(2) {
        margin: 25px auto;
    }

    #top_voice .voice_list_item {
        max-width: 320px;
        width: 100%;
        margin: 0 auto 10px;
        padding: 0 0 20px;
        float: none;
    }

    #top_voice .voice_list_ttl_box {
        padding-bottom: 0;
        cursor: pointer;
        padding: 30px 10px 20px;
    }

    #top_voice .voice_list_pro {
        padding-top: 20px;
        font-size: 14px;
        padding-left: 10px;
        width: 160px;
    }

    #top_voice .voice_list_pro .n-b {
        font-size: 16px;
        display: block;
        line-height: 1.28;
    }

    #top_voice .voice_list_item_box {
        display: none;
    }

    #top_voice .voice_list_tx {
        margin: 0 20px;
    }

    #top_flow .top_bg {
        padding: 0 0 50px;
    }

    #top_flow .flow_top {
        box-sizing: border-box;
        padding: 50px 20px;
        margin-bottom: 80px;
    }

    #top_flow .flow_top:after {
        width: 100px;
        height: 50px;
        background-size: 100px;
    }

    #top_flow .flow_ttl_box {
        width: 100%;
    }

    #top_flow .flow_top .flow_ttl {
        padding: 30px 35px 15px;
    }

    #top_flow .flow_top .flow_ttl img {
        max-width: 400px;
        width: 100%;
        margin: 0 auto;
        display: block;
    }

    #anchor_flow.anchor {
        padding-top: 97px;
        margin-top: -97px;
    }

    #top_flow .flow_list.top_slide_cmn .slick-list {
        margin-left: 0;
    }

    #top_flow .flow_list_ttl {
        padding-bottom: 22px;
    }

    #top_flow .flow_list_tx {
        width: 90%;
        margin: 0 auto;
    }

    #top_flow .flow_top .flow_toptx {
        line-height: 1.8;
        text-align: justify;
        padding: 18px;
        letter-spacing: 0;
    }

    #top_flow .flow_list {
        pointer-events: auto;
        margin: 20px auto 0;
        overflow: inherit;
        padding-bottom: 30px;
    }

    #top_flow .slick-dots {
        bottom: 0;
    }

    #top_flow .flow_list_item {
        margin-right: -2px;
    }

    #top_flow .flow_list_item:after {
        display: none;
    }

    #top_flow .flow_list_img {
        width: 240px;
    }

    #top_cam {
        padding-bottom: 45px;
    }

    #top_cam .cam_ttl {
        max-width: 361px;
        width: 100%;
    }

    #top_cam .cam_bg {
        padding: 30px 10px 32px;
        max-width: 360px;
        width: 100%;
        margin-top: 34px;
    }

    #top_cam .top_cam_img02 {
        left: -28px;
    }

    #top_cam .top_cam_img01 {
        right: -25px;
    }

    #top_cam .cam_tx {
        max-width: 246px;
        width: 70%;
        margin: 0 auto;
        display: block;
    }

    #top_txarea {
        padding: 50px 0;
        background-size: cover;
    }

    #top_txarea .flow_ttl {
        width: 100%;
        max-width: 400px;
    }

    #top_txarea .top_txarea_tx {
        font-size: 16px;
        line-height: 2;
        padding-bottom: 44px;
    }

    #top_con {
        padding: 50px 0;
    }

    #top_con .tel_btn {
        width: 100%;
        margin: 0 auto 30px;
    }

    #top_con .tel_btn a {
        padding: 20px;
        pointer-events: auto;
    }

    #top_con .tel_tx {
        float: none;
        width: 50%;
        margin: 0 auto 10px;
    }

    #top_con .tel_number {
        float: none;
        padding: 10px 0 0;
        text-align: center;
    }

    #top_con .tel_number_note {
        padding-top: 10px;
        font-size: 16px;
    }

    #top_con .tel_number_note span {
        display: inline-block;
        font-size: 12px;
        padding: 0 10px;
    }


    #top_con .con_ttl {
        font-size: 18px;
        padding-bottom: 10px;
        font-weight: bold;
        letter-spacing: 0;
    }

    #top_con .con_tx02 {
        font-size: 14px;
    }
}


.page-project #top_service {
    margin-top: 50px;
}

#top_service.mgn {
    margin-top: 0;
}

@media screen and (max-width: 750px) {}

/*20200220追記*/
.pannavi-list span{
position: relative
}
.pannavi-list span:after{
    position: relative;
    content: ',';
}
.pannavi-list span:last-child:after{
    content: '';
}


/* cusstum css*/
.banner-page__main {
    height: 200px;
    width: 100%;
    position: relative;
}
.banner-page__main .img-box {
    width: 100%;
    height: 100%;
}
.banner-page__main .img-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.banner-page__main h2 {
    font-size: 44px;
    color: #fff;
    font-weight: 700;
    position: absolute;
    top: 50%;
    left: 50%;
    webkit-transform: translate(-50%,-50%);
    -khtml-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
}

.list-category {
    background: #1D2E41;
    padding: 28px 0;
}
.list-category ul {
    display: flex;
    justify-content: center;
    align-items: center;
}
.list-category ul li {
    width: 100%;
}
.list-category ul li a {
    display: block;
    padding: 0 1rem;
    font-size: 18px;
    color: #fff;
    font-weight: 700;
    text-align: center;
}
.list-post * {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
.list-post .items {
    margin-bottom: 30px;
    display: flex;
    flex-wrap: wrap;
    border: 3px solid #000000;
    border-radius: 10px;
    padding: 15px;
    position: relative;
    background: #fff;
}
.list-post .items::after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background: #60C0E9;
    border: 3px solid #000000;
    border-radius: 10px;
    position: absolute;
    left: -3px;
    bottom: -10px;
    z-index: -1;
}
.list-post .thumb-box {
    width: 30%;
}
.list-post .thumb-box figure {
    display: block;
    border-radius: 10px;
    overflow: hidden;
    height: 0;
    padding-top: 100%;
    position: relative;
}
.list-post .thumb-box a {
    display: block;
    width: 100%;
    height: 100%;
}
.list-post .thumb-box figure img {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.list-post .text-box {
    width: 70%;
    padding-left: 20px;
}
.list-post .text-box p {
    font-size: 16px;
}
.list-post .cat-box {
    margin-bottom: 10px;
}
.list-post .cat-box span {
    display: inline-block;
    background: #FEFE00;
    padding: 0 15px;
    font-size: 14px;
    line-height: 25px;
    color: #000;
    font-weight: 700;
}
.cat-box span {
    display: inline-block;
    background: #FEFE00;
    padding: 0 15px;
    font-size: 14px;
    line-height: 25px;
    color: #000;
    font-weight: 700;
}
.list-post h3 {
    font-size: 20px;
    line-height: 34px;
    color: #2F94BF;
    margin-bottom: 15px;
}
.list-post h3 a {
    color: #2F94BF;
}
.blog-sidebar .main-box {
    border: 3px solid #000000;
    border-radius: 10px;
    margin-bottom: 30px;
    position: relative;
    background: #fff;
}
.blog-sidebar .main-box::after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background: #60C0E9;
    border: 3px solid #000000;
    border-radius: 10px;
    position: absolute;
    left: -3px;
    bottom: -10px;
    z-index: -1;
}
.blog-sidebar .main-box h3 {
    background: #000;
    text-align: center;
    font-size: 18px;
    color: #fff;
    font-weight: 700;
    padding: 18px 10px;
}
.blog-sidebar .media_image-2 {
    border: none;
    border-radius: 0;
}
.blog-sidebar .media_image-2::after {
    display: none;
}
.blog-sidebar .media_image-2 img {
    width: 100%;
    height: auto;
}
.blog-sidebar ul {
    padding: 0 22px;
    counter-reset: section;
}
.blog-sidebar ul li {
    display: flex;
    align-items: center;
    padding: 22px 0;
    border-bottom: 1px dashed #000000;
}
.blog-sidebar ul li:last-child {
    border-bottom: none;
}
.blog-sidebar ul li .thumb-box {
    max-width: 105px;
    min-width: 105px;
    height: 101px;
    border-radius: 5px;
    overflow: hidden;
    position: relative;
}
.blog-sidebar .wpp-2 ul li .thumb-box::after {
    counter-increment: section;
    content: counter(section);
    position: absolute;
    top: 7px;
    left: 7px;
    width: 23px;
    height: 23px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    background: #FFCE00;
    border-radius: 50%;
    font-size: 14px;
    color: #fff;
}
.blog-sidebar .wpp-2 ul li:nth-child(4) .thumb-box::after,
.blog-sidebar .wpp-2 ul li:nth-child(5) .thumb-box::after {
    background: #898989;
}
.blog-sidebar ul li .thumb-box a {
    display: block;
    width: 100%;
    height: 100%;
}
.blog-sidebar ul li .thumb-box img {
    width: 100%;
    height: 100%;
    margin: 0;
    object-fit: cover;
}
.wpp-post-title {
    padding-left: 15px;
    display: block;
    font-size: 16px;
    color: #2F94BF;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.blog-sidebar ul li .text-box {
    padding-left: 15px;
}
.blog-sidebar ul li .text-box span {
    display: block;
    font-size: 14px;
}
.blog-sidebar ul li .text-box a {
    display: block;
    font-size: 16px;
    color: #2F94BF;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.title {
    font-size: 24px;
    line-height: 1.2;
    color: #000;
    padding-bottom: 10px;
    border-bottom: 3px solid #000;
    margin-bottom: 30px;
}
.single-tips-box .cat-box {
    margin-bottom: 20px;
}
.single-tips-box h1 {
    font-size: 32px;
    line-height: 48px;
    font-weight: 700;
    color: #2F94BF;
    margin-bottom: 22px;
}
.single-tips-box h2 {
    padding: 25px;
    font-size: 24px;
    line-height: 41px;
    border: 3px solid #000;
    position: relative;
    background: #fff;
    border-radius: 10px;
    margin-bottom: 55px;
}
.single-tips-box h3 {
    margin-bottom: 35px;
    font-size: 24px;
    line-height: 1.2;
    padding-bottom: 10px;
    border-bottom: 3px solid #000;
}
.single-tips-box h2::after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background: #60C0E9;
    border: 3px solid #000000;
    border-radius: 10px;
    position: absolute;
    left: -3px;
    bottom: -10px;
    z-index: -1;
}
.single-tips-box .thumb-box {
    margin-bottom: 25px;
}
.single-tips-box .thumb-box img {
    width: 100%;
    height: auto;
}
.sp {
    display: none;
}
@media screen and (max-width: 750px) {
    .sp {
        display: block;
    }
    .pc {
        display: none;
    }
    .p-0 {
        padding: 0 !important;
    }
    .list-category .l-inner {
        padding: 0;
    }
    .banner-page {
        margin-top: 17%;
    }
    .news.banner-page{
        margin-top: 0%;
    }
    .banner-page__main {
        height: 315px;
    }
    .banner-page__main h2 {
        font-size: 40px;
        width: 100%;
        text-align: center;
        line-height: 49px;
        top: 25%;
    }
    .list-category ul li {
        width: auto;
    }
    .list-category ul li a {
        font-size: 15px;
        padding: 0 15px;
    }
    .list-post .items {
        padding: 10px;
    }
    .list-post .thumb-box {
        width: 108px;
        height: 99px;
    }
    .list-post .text-box {
        width: calc(100% - 108px);
        padding-left: 5px;
    }
    .list-post .thumb-box figure {
        padding-top: 92%;
    }
    .list-post .cat-box {
        margin-bottom: 5px;
    }
    .list-post .cat-box span {
        font-size: 12px;
        line-height: 22px;
        padding: 0 12px;
    }
    .list-post h3 {
        font-size: 16px;
        line-height: 27px;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
    .list-post p {
        display: none;
    }
    .wp-pagenavi a, .wp-pagenavi span {
        border-radius: 10px;
        line-height: 23px;
    }
    .side-container-blog {
        display: block;
    }
    .pager-single * {
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-bo
    }
    .pager-single {
        display: flex;
        flex-wrap: wrap;
    }
    .pager-single .back {
        width: 100%;
        margin-bottom: 10px;
    }
    .pager-single .prev, .pager-single .next {
        position: relative;
        top: 0;
        left: 0;
        width: 50%;
        display: inline-block;
    }
    .pager-single .prev {
        padding-right: 3px;
    }
    .pager-single .next {
        padding-left: 3px;
    }
    .pager-single a {
        height: 52px;
        line-height: 52px;
        font-size: 14px;
        border-radius: 10px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-width: 3px;
    }
    .pager-single .prev a:before, .pager-single .next a:before {
        position: relative;
        top: 0;
        left: 0;
    }
    .pager-single .prev a:before {
        margin-right: 12px;
    }
    .pager-single .next a:before {
        order: 2;
        margin-left: 10px;
    }
}
@media screen and (min-width: 751px) {

.p-check .p-check_tab li{
    width: 100%;
}

.list-width{
    width: 20%!important;
}

.list-width30{
           width: 25%!important;
}
.search-h3{
    font-size: 24px;
    font-weight: bold;
    text-align:left;
    color: #1976d2;
border-bottom: 2px solid #1976d2;
padding-bottom: 5px;
margin-bottom:20px;
}
}
@media screen and (max-width: 750px) {
    .p-check .p-check_tab li{
        width: 100%;
    }
    .search-h3{
    font-size: 24px;
    font-weight: bold;
    text-align:left;
    color: #1976d2;
border-bottom: 2px solid #1976d2;
padding-bottom: 5px;
margin-bottom:20px;
}
.list-width{
   width: 33%!important;
}

.list-width30{
             width: 50%!important;
}
}

/* 20210719_バナー広告追記　＆　20210901修正 */


.ad_m_lp_banner_back{
	width: 100%;
	padding: 100px 0 50px 0;
	margin-bottom: 50px;
	position: relative;
}

.h2_pickup{
	position: absolute;
	top:15px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	text-align: center;
	font-size:2.5em;
	font-weight: bold;
}

.h2_pickup img{
	width: 300px;
}

.ad_m_lp_banner{
	width: 1200px;
	margin-left: auto;
	margin-right: auto;
}

.ad_m_lp_banner .pc_pickup ul{
	display: flex;
	justify-content: space-between;
}

.ad_m_lp_banner .pc_pickup li{
	width: 31.5%;
}

.ad_m_lp_banner .pc_pickup img{
	width: 100%;
}

.sp_pickup {
	display: none;
}

.sp_pickup .slick-dots{
	bottom: -35px!important;
}

.sp_pickup .slick-dots li {
    margin: 0 10px !important;
}

.sp_pickup .slick-dots li button::before {
    content: '';
    display: block;
    width: 20px;
    height: 20px;
    border-radius: 10px;
    box-sizing: border-box;
    opacity: 1 !important;
    background: #ffff00 !important;
    border: solid 4px;
}

.sp_pickup .slick-dots li.slick-active button::before {
    opacity: 1 !important;
    background: #000 !important;
}

.sp_pickup  img{
	width: 100%;
}

.sp_pickup li{
width: 40%;
padding-left:10px;
}

.sp_pickup  .slick-list {
	padding: 0 15% 0 0!important;
}



@media screen and (max-width: 1200px) {

.ad_m_lp_banner{
	width: 90%;
}
}


@media screen and (max-width: 768px) {

.sp_pickup {
	display: block;
}
.pc_pickup {
	display: none;
}

.ad_m_lp_banner{
	width: 100%;
	margin-right:0;
}

.ad_m_lp_banner_back {
    margin-bottom: 10px;
}

}



/* バナー広告*/


#tensyoku_lp_1 .pc_mv img,.sp_mv img{
	width: 100%;
}

#tensyoku_lp_1 .job_top{
	text-align: center;
	padding: 100px 0 50px 0;
}

#tensyoku_lp_1 .job_top h2{
	font-size: 3em;
	font-weight: bold;
}

#tensyoku_lp_1 .ruby{
	font-size:1.2em;
}

#tensyoku_lp_1 .job_list{
	width: 1000px;
	margin: 0 auto;
	position: relative;
}

#tensyoku_lp_1 .blur_btn_n{
	position: absolute;
	width: 100%;
    top: 65%;
    left: 65%;
    transform: translate(-65%, -65%);
    -webkit-transform: translate(-65%, -65%);
    -ms-transform: translate(-65%, -65%);
	text-align: center;
}

#tensyoku_lp_1 .blur_title{
	font-weight: bold;
	font-size: 2.2em;
	margin-bottom: 20px;
	  letter-spacing : 4px;                /* 文字間 */
  text-shadow    : 
       2px  2px 1px #ffffff,
      -2px  2px 1px #ffffff,
       2px -2px 1px #ffffff,
      -2px -2px 1px #ffffff,
       2px  0px 1px #ffffff,
       0px  2px 1px #ffffff,
      -2px  0px 1px #ffffff,
       0px -2px 1px #ffffff; 
}




#tensyoku_lp_1 .job_list a{
	color: #000;
}

#tensyoku_lp_1 .job_list ul{
	display: flex;
	flex-wrap:wrap;
	justify-content: space-between;
}

#tensyoku_lp_1 .job_list li{
	width:  23%;
	margin-bottom: 30px;
}

#tensyoku_lp_1 .job_list img{

    object-fit: cover;
}

	
.job_list ul li:nth-of-type(5),.job_list ul li:nth-of-type(6),.job_list ul li:nth-of-type(7),.job_list ul li:nth-of-type(8),.job_list ul li:nth-of-type(9),.job_list ul li:nth-of-type(10),.job_list ul li:nth-of-type(11),.job_list ul li:nth-of-type(12){
		filter: blur(8px);
	}

#tensyoku_lp_1 .job_text i{
	padding-right: 5px;
}

#tensyoku_lp_1 .job_text p:nth-of-type(1){
	font-weight: bold;
}


#tensyoku_lp_1 .job_footer{
	padding-top:50px;
	text-align: center;
}


#tensyoku_lp_1 .plusem_link a{
	color: #000;
}

#tensyoku_lp_1 .plusem_link{
	margin-bottom: 50px;
}

#tensyoku_lp_1 .copyright_job{
	margin-bottom: 50px;
	font-size: 1.2em;
}

.pro_soudan_btn{
	margin: 50px auto;
	text-align: center;
}

.undi_area{
	width: 1000px;
	margin: 0 auto;
	display: flex;
	padding-top: 30px;
}

.undi_area_img{
	width: 35%;
}

.undi_area_text{
	width: 65%;
	margin-left: 5%;
	position: relative;
}

.undi_area_text_p{
	font-weight: bold;
		font-size:1.4em;
}

.undi_area_img2{
	margin-bottom: 5%;
}

.undi_area_img2 img{
	width: 100%;
}

.undi_mongon{
	padding-top: 10px;
	text-align: center;
}


.undi_area_text2{
		  position: absolute;
  top: 50%;
		    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	}


#top_flow .flow_list_item_2 {
    position: relative;
    font-weight: bold;
}

    #top_flow .flow_list_item_2 {
		        width: 260px;
    }

#top_flow .flow_list_2{
	display: flex;
	justify-content: space-around;
}

.top_flow_sub{
	padding-top: 100px;
}

	#top_flow .flow_list_img_2,#top_flow .flow_list_img_3,#top_flow .flow_list_img_4 {
	position: relative;
    width: 260px;
	height: 260px;
		z-index: 100;
	margin-bottom: 30px;
}

	#top_flow .flow_list_img_2 img,#top_flow .flow_list_img_3 img,#top_flow .flow_list_img_4 img {
		position: absolute;
width: 80%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}
	
	#top_flow .flow_list_img_2::after,#top_flow .flow_list_img_3::after,#top_flow .flow_list_img_4::after{
		position: absolute;
		content: '';
		width: 260px;
		height: 260px;
		border-radius: 100%;
		top:0;
		right: 0;
		z-index: -999;
	}

	#top_flow .flow_list_img_2::after{
		background-color: #000;
	}

	#top_flow .flow_list_img_3::after{
	background-color: #A01414;
	}

	#top_flow .flow_list_img_4::after{
	background-color: #faee00;
	}

#top_flow .flow_list_img_5 img{
		width: 260px;
		height: 260px;
		border-radius: 100%;
		object-fit: cover;
}

#top_con .tel_btn_2 {
    width: 900px;
    margin: 0 auto 40px;
    box-sizing: border-box;
    position: relative;
}

#top_con .tel_btn_2 img{
    width: 100%;
}

#top_con.cmn_bg_2{
	color:#fff;
}

#top_flow .flow_list_step_2 {
    text-align: center;
    font-size: 24px;
    padding-bottom: 24px;
}

.color_b{
	color: #000;
}

.color_r{
	color: #a01414;
}

.color_g{
	color: #6edcbe;
}


.backg_b{
	background-color: #000;
}

.backg_r{
	background-color: #A01414;
}

.backg_r2{
	background-color: #3c1414;
}

.backg_g{
	background-color: #6edcbe;
}


	.undi_area_sp{
		width: 90%;
		display: flex;
		flex-wrap:wrap;
		justify-content: space-between;
		margin: 0 auto;
	}
	
	.undi_area_sp img{
		width: 80%;
	}
	.undi_area_img_sp{
		width: 100%;
		margin-bottom:50px;
		text-align: center;
	}

.undi_area_text_sp{
	width: 43%;
	text-align: center;
}

.undi_area_text2_sp{
		width: 55%;
	}
	
.undi_area_text2_sp{
	position: relative;
}

.undi_area_text3_sp{
	position: absolute;
	  top: 30%;
		    transform: translateY(-30%);
    -webkit-transform: translateY(-30%);
    -ms-transform: translateY(-30%);
}
.img-box_1i {
  position: relative;
}

.img-box_1i .active {
  position: absolute;
  left: 50%;
  top: 50%;
			    transform: translate(-50%,-50%);
    -webkit-transform: translates(-50%,-50%);
    -ms-transform: translate(-50%,-50%);
  opacity: 0;
  transition: 0.5s;
}

.img-box_1i:hover .active {
  opacity: 1;
}

	.sp_380_title{
		display: none;
	}
	
	.pc_380_title{
		display: block;
	}


@media screen and (max-width: 1038px) {
#tensyoku_lp_1 .job_list{
	width: 92%;

}
	
	.undi_area{
	width: 90%;
}



#top_con .tel_btn_2 {
    width: 90%;
}
	
	.undi_area_img2{
		width: 100%;
	}
	
	.undi_mongon{
	font-size:0.8em;
}


}


@media screen and (min-width: 767px) {
#tensyoku_lp_1 .sp_mv,.sp_image,.tel-sp{
		display: none;
	}
	
}

@media screen and (max-width: 768px) {
#tensyoku_lp_1 .pc_mv,.pc_image{
		display: none;
	}
	
#tensyoku_lp_1 .job_list li{
	width:  48%;
}
	.job_list ul li:nth-of-type(7),.job_list ul li:nth-of-type(8),.job_list ul li:nth-of-type(9),.job_list ul li:nth-of-type(10),.job_list ul li:nth-of-type(11),.job_list ul li:nth-of-type(12){
		display: none;
	}
	
#tensyoku_lp_1 .blur_title{
	font-size: 1.3em;
}
	
#tensyoku_lp_1 .blur_btn_n{
    top: 87%;
    left: 87%;
    transform: translate(-87%, -87%);
    -webkit-transform: translate(-87%, -87%);
    -ms-transform: translate(-87%, -87%);
}

	.undi_area_img2{
	margin-top: 0;
}
	
	
	.tel-pc{
		display: none;
	}
	
	.tel-sp{
		display: block;
	}
	
		#top_flow .flow_list_img_2,#top_flow .flow_list_img_3,#top_flow .flow_list_img_4,#top_flow .flow_list_img_5 img{
			margin-left: auto;
			margin-right: auto;
    width: 240px;
	height: 240px;
}
	
		#top_flow .flow_list_img_2::after,#top_flow .flow_list_img_3::after,#top_flow .flow_list_img_4::after{
		width: 240px;
		height: 240px;
	}
	
	
	.pro_btn_h{
		width: 90%;
		margin-right: auto;
		margin-left:auto;
}
	#tensyoku_lp_1 .copyright_job {
		font-size:1em;
	}
.undi_area_text_p{
		font-size:1.1em;
}
}

@media screen and (max-width: 500px) {
			.undi_area_img{
		position: relative;
	}
	.undi_area_img img{
		  position: absolute;
  top: 50%;
		    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	}
	
	.undi_area_text2{
		  position: relative;
	}
#tensyoku_lp_1 .job_list li{
	width:  100%;
}
	
#tensyoku_lp_1 .job_footer img{
	width: 90%;
}
	
		.job_list ul li:nth-of-type(5){
		display: none;
	}
	
#tensyoku_lp_1 .blur_btn_n{
    top: 92%;
    left: 92%;
    transform: translate(-92%, -92%);
    -webkit-transform: translate(-92%, -92%);
    -ms-transform: translate(-92%, -92%);
}
		#tensyoku_lp_1 .copyright_job {
		font-size:0.8em;
	}
			.undi_area_text2_sp .u-nb{
		display: inline;
	}
	.undi_area_text_p{
		font-size:0.9em;
}
	
		.undi_mongon{
	font-size:0.6em;
}
	
	.sp_380_title{
		display: block;
	}
	
	.pc_380_title{
		display: none;
	}
}
/* 20211104--recaptcha追加 */

.grecaptcha-badge { visibility: hidden; }

/* recaptchaここまで */

/* 20220311 */

.btn_02_tsuika{
    margin-left: 20px;
    margin-right: 10px;
}

.btn_area_header{
    display: none;
    position: absolute;
    z-index: 30;
    width: 275px;
    top: 7px;
    right: 60px;
    }

    .btn_area_header ul{
        display: flex;
    }
    .btn_area_header li{
        width: 50%;
    }

@media screen and (max-width: 750px) {

.btn_area_header{
display: block;
}
.tsuika_sp{
display: none!important;
}

.g-header .navi1 {
    display: flex;
    justify-content: center;
}

}

@media screen and (max-width: 480px) {

    .btn_area_header {
        width: 175px;
        top: 16px;
        right: 60px;
    }
    .btn_02_tsuika {
        margin-left: 20px;
        margin-right: 4px;
    }

    }
    
