@charset "utf-8";

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

reset

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

html {
    color: #111;
    background: #fff;
}
body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
code,
form,
fieldset,
legend,
input,
textarea,
p,
blockquote,
th,
td {
    margin: 0;
    padding: 0;
    line-height: 1;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
    font-size: inherit;
    font: 100%;
}
fieldset,
img {
    border: 0;
}
img {
    vertical-align: bottom;
}
address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
    font-style: normal;
}
ol,
ul {
    list-style: none;
}
li {
    list-style-type: none;
}
caption,
th {
    text-align: left;
}
h1,
h2,
h3,
h4,
h5,
h6 {
    font-size: 100%;
}
q:before,
q:after {
    content: '';
}
abbr,
acronym {
    border: 0;
    font-variant: normal;
}
sup {
    vertical-align: text-top;
    font-size: smaller;
}
sub {
    vertical-align: text-bottom;
}
input,
textarea,
select {
    font-family: inherit;
    font-size: inherit;
    *font-size: 100%;
    font-size: 16px;
}
legend {
    color: #333;
}
body {
    font-family: 
        "Noto Sans JP","Hiragino Sans", "Hiragino Kaku Gothic ProN", "Helvetica Neue", "Helvetica",
        "Yu Gothic Medium", "Meiryo", Arial, sans-serif;    
    font-weight: 400;
    text-rendering: optimizeLegibility;
    font-size: 14px;
    letter-spacing: .4pt;
    -webkit-text-size-adjust: 100%;
}
.mincho {
    font-family: 'Noto Serif JP', serif;
}
#container {
    overflow: hidden;
}
input[type=submit] {
    -webkit-appearance: none;
    cursor: pointer;
}
select {
    cursor: pointer;
}
* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    -o-box-sizing: border-box;
}
*:after {
    display: block;
    clear: both;
}
.cf {
    zoom: 1;
}
.cf:after {
    content: "";
}
@media (max-width:768px) {
    img {
        max-width: 100%;
        height: auto;
    }
}

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

common

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

a:link {
    text-decoration: none;
    color: #111
}
a:visited {
    text-decoration: none;
    color: #111
}
a:hover {
    text-decoration: none;
    color: #666;
}
button {
    background: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
}

.main {
    margin-top: 77px;
}
#container {
    width: 100%;
}
.wrapper {
    width: 90%;
    max-width: 1100px;
    margin: 0 auto;
    padding: 50px 0;
}
.low a:hover {
    filter: alpha(opacity=70);
    opacity: 0.70;
}

/* スマホ（〜768px） */
@media screen and (max-width: 768px) {
    .main {
        padding-top: 60px;
        margin-top: 0;
    }
    .wrapper {
        padding: 30px 0;
    }
}

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

出し分け設定

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

/* スマホ（〜768px） */
@media screen and (max-width: 768px) {
    .pc {
        display: none;
    }
    .sp_none {
        display: none;
    }
    .sp {
        display: block;
    }
    /* .u900_only {
        display: block;
    }
    .u900_none {
        display: none;
    } */
    
}

/* タブレット（〜900px） */
@media screen and (max-width: 900px) {
    .u900_only {
        display: block;
    }
    .u900_none {
        display: none;
    }
}
@media screen and (min-width: 769px) and (max-width: 900px) {
    .pc {
        display: block;
    }
    .sp {
        display: none;
    }
    .pc_none {
        display: none;
    }
}

/* PC（901px〜） */
@media screen and (min-width: 901px) {
    .pc {
        display: block;
    }
    .u900_only {
        display:none;
    }
    .sp {
        display: none;
    }
    .pc_none {
        display: none;
    }
}

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

共通：header

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

.header {
    width: 100%;
    height: 77px;
    border-bottom: 2px solid #eee;
    background-color: #fff;
    position: fixed;
    z-index: 9990;
}
.header a:hover {
    filter: alpha(opacity=70);
    opacity: 0.70;
}
.header .logo {
    float: left;
}
.header .logo img {
    margin: 15px 30px;
}
.header .gnavi {
    float: right;
}
.header .gnavi ul li {
    float: left;
    font-weight: bold;
    line-height: 75px;
    height: 75px;
}
.header .gnavi ul li a {
    display: block;
    padding: 0 20px;
}
.header .gnavi ul li.contact span {
    font-size: 0.8em;
    border: 1px solid #fff;
    padding: 1px 4px;
    margin: 0 0 0 5px;
}
.header .gnavi ul li.contact a {
    background: #204e93;
    color: #fff;
    padding: 0 30px;
    font-size: 16px;
}

@media (max-width:1100px) {
    .header .logo img {
        margin: 18px 10px;
        width: 250px;
    }
}
@media (max-width:1000px) {
    .header .gnavi ul li a {
        padding: 0 15px;
    }
}
@media (max-width:900px) {
    .header .gnavi ul li a {
        padding: 0 12px;
        font-size: 12px;
    }
    .header .gnavi ul li.contact a {
        padding: 0 15px;
        font-size: 12px;
    }
}
@media (max-width:800px) {
    .header .logo img {
        margin: 21px 10px;
        width: 220px;
    }
}
@media screen and (max-width: 768px) {
    .header {
        height: 60px;
    }
    .header .logo {
        display: flex;
        align-items: center;
        height: 60px;
    }
    .header .logo img {
        margin: 0 10px;
        width: 70%;
    }
    .header .gnavi {
        float: left;
        width: 100%;
    }
    .header .gnavi ul li {
        float: none;
        line-height: 60px;
        height: 60px;
        width: 100%;
        font-size: 16px;
    }
    .header .gnavi ul li.contact span {
        font-size: 12px;
    }
}

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

トップ：main_visual

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

.main_visual {
    margin-bottom: 30px;
    width: 100%;
    position: relative;
    max-height: 800px;
    overflow: hidden;
}
.main_visual h1 {
    display: block;
    width: 100%;
    height: 100%;
    margin: -50px 0 0 0;
}
.main_visual img {
    width: 100%;
}
.mv_cta {
    position: absolute;
    bottom: 12%;
    left: 8%;
    display: flex;
    gap: 15px;
    width: 650px;
    height: auto;
}
.mv_cta a {
    display: inline-block; 
    width: 50%;
    height: 60px;
    line-height: 57px;
    text-align: center;
    border-radius: 10px;
    font-weight: 700;
    font-size: 18px;
}
.mv_cta a:hover {
    opacity: 0.7;
}
.mv_cta .mv_cta_search {
    background-color: #fff;
    border: 1px solid #204E93;
    color: #204e93;
    position: relative;
    padding: 0 10px 0 0;
}
.mv_cta_search::after {
    position: absolute;
    content: '';
    width: 8px;
    height: 8px;
    border: 0;
    border-bottom: solid 2px #204E93;
    border-right: solid 2px #204E93;
    transform: rotate(45deg);
    position: absolute;
    top: -5px;
    right: 15%;
    bottom: 0;
    margin: auto;
}
.mv_cta_contact {
    background-color: #204e93;
    border: 1px solid #204e93;
    color: #fff !important;
}
.mv_cta_contact span {
    border: 1px solid #fff;
    font-size: 0.8em;
    padding: 2px 5px;
    margin-left: 5px;
}


@media screen and (max-width:1600px) {
    .mv_cta {
        width: 550px;
    }
    .mv_cta_search::after {
        top: 0px;
        right: 9%;
    }
}
@media screen and (max-width:1500px) {
    .main_visual h1 {
        margin: -10px 0 0 0;
    }
}
@media screen and (max-width:1400px) {
    /* .mv_cta a {
        height: 60px;
        line-height: 57px;
        font-size: 18px;
    } */
    .mv_cta_search::after {
        top: -5px;
        right: 10%;
    }
}
@media screen and (max-width:1300px) {
    .mv_cta {
        width: 500px;
    }
}
@media screen and (max-width:1200px) {
    .mv_cta {
        width: 450px;
        bottom: 10%;
    }
    /* .mv_cta a {
        font-size: 16px;
    } */
}
@media screen and (max-width:1100px) {
    .mv_cta {
        width: 430px;
    }
    .mv_cta a {
        font-size: 14px;
    }
}
@media screen and (max-width:900px) {
    .mv_cta {
        width: 390px;
        left: 5%;
        bottom: 7%;
    }
}
@media screen and (max-width: 768px) {
    .main_visual {
        margin-bottom: 20px;
    }
    .main_visual h1 {
        margin: 0 0 0 0;
    }
    .mv_cta {
        bottom: 7%;
        left: 50%;
        transform: translateX(-50%);
        flex-direction: column;
        gap: 30px;
        width: 90%;
    }
    .mv_cta a {
        width: 100%;
        height: 80px;
        line-height: 80px;
        font-size: 20px;
    }
    .mv_cta_search::after {
        top: -3px;
        right: 33%;
    }
    .mv_cta_contact span {
        border-radius: 5px;
    }
}
@media screen and (max-width:650px) {
    .mv_cta_search::after {
        right: 29%;
    }
}
@media screen and (max-width:600px) {
    .main_visual {
        height: 75vh;
    }
}
@media screen and (max-width:550px) {
    .mv_cta_search::after {
        right: 27%;
    }
}
@media screen and (max-width:500px) {
    .mv_cta {
        gap: 10px;
    }
    .mv_cta_search::after {
        right: 24%;
    }
}
@media screen and (max-width:450px) {
    .mv_cta a {
        height: 65px;
        line-height: 62px;
        font-size: 18px;
    }
}
@media screen and (max-width:430px) {
    .main_visual {
        height: 65vh;
    }
}
@media screen and (max-width:400px) {
    .mv_cta a {
        height: 55px;
        line-height: 53px;
    }
    .mv_cta_search::after {
        right: 21%;
    }
}
@media screen and (max-width:375px) {
    .main_visual {
        height: 70vh;
    }
}
@media screen and (max-width:360px) {
    .main_visual {
        height: 55vh;
    }
}

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

トップ：ピックアップ（特集）バナー

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

.banner-carousel-container {
    width: 100%;
    margin: 30px auto;
    padding: 0 10px;
    overflow: hidden;
}
.js-pickup-slider {
    width: 100%;
    height: auto;
    padding-bottom: 30px;
    position: relative;
}
.js-pickup-slider .swiper-slide {
    text-align: center;
    background: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: transform 0.3s ease;
    border: 1px solid #888;
    box-shadow: 0 0 3px #888;
}
.js-pickup-slider .swiper-slide:hover {
    opacity: 0.7;
}
.js-pickup-slider .swiper-slide a {
    display: block;
    width: 100%;
    height: 100%;
    overflow: hidden;
}
.js-pickup-slider .swiper-slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.js-pickup-slider .swiper-pagination {
    bottom: 0 !important;
}

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

トップ：イチオシ新着案件セクション

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

.tab-content {
    display: none;
}
.tab-content.show {
    display: block;
}
.tab-menus{
    text-align:center;
    margin-bottom:20px;
}
.tab-menu{
    font-size:16px;
    font-weight:bold;
    background:#fff;
    color:#204E93;
    display:inline-block;
    cursor:pointer;
    padding:12px 18px;
    margin:0 5px;
    border-radius:8px;
    box-shadow: 0px 2px 10px 0px #c4c4c4;
}
.tab-menu:hover{
    background:#cedef6;
}
.tab-menu.active{
    background:#204E93;
    color:#fff;
    cursor:default;
}

@media screen and (max-width: 900px) {
    .tab-menu {
        margin: 0 5px 10px;
    }
}
@media screen and (max-width: 768px) {
    .tab-menu{
        width:10em;
        font-size:14px;
        font-weight:bold;
        padding:10px 18px;
        margin:0 5px 10px;
    }
    .recommend .joblist .joblist_li:nth-child(7),
    .recommend .joblist .joblist_li:nth-child(8) {
        display:none;
    }
}

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

トップ・共通：search

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

.search {
    width: 90%;
    max-width: 1000px;
    margin: 0 auto 40px;
}
.search_box {
    width: 100%;
    box-shadow: 0 0 7px #ddd;
    border-radius: 10px;
}
.top .search_box .ttl {
    display: none;
}
.search_box form .search_inputs.search_job,
.search_box form .search_inputs.search_area {
    float: left;
    width: 25%;
}
.search_box form .search_inputs.search_job select {
    border: none;
    height: 65px;
    width: 100%;
    padding: 10px 15px;
    border-right: 1px solid #ccc;
    border-radius: 10px 0 0 10px;
    font-weight: bold;
}
.search_box form .search_inputs.search_area select {
    border: none;
    height: 65px;
    width: 100%;
    padding: 10px 15px;
    border-right: 1px solid #ccc;
    font-weight: bold;
}
.search_box form .search_inputs.search_keywords {
    float: left;
    width: 30%;
}
.search_box form .search_inputs.search_keywords input {
    border: none;
    height: 65px;
    padding: 10px;
    font-weight: bold;
}
.search_box form .search_inputs.search_button input {
    border: none;
    height: 65px;
    float: left;
    font-weight: bold;
    color: #fff;
    background: #204e93;
    width: 20%;
    border-radius: 0 10px 10px 0;
    display: inline;
}
.keyword_box {
    width: 100%;
    margin: 20px 0;
    text-align: center;
}
.keyword_box .ttl {
    background: url(./img/icon_keyword.svg) 0 50% no-repeat;
    padding-left: 30px;
    color: #111;
    font-weight: bold;
    line-height: 30px;
    height: 30px;
    margin: 0 20px 0 10px;
    display: inline-block;
}
.keyword_box .tag p {
    display: inline-block;
    line-height: 30px;
    height: inherit;
    margin: 0 7px;
}
.keyword_box .tag p a {
    font-weight: bold;
    color: #204e93;
    font-size: 14px;
}
.keyword_box .tag p a:hover {
    text-decoration: underline;
}

@media screen and (max-width:900px) {
    .keyword_box {
        text-align: center;
    }
    .keyword_box .ttl {
        background: url(./img/icon_keyword.svg) 0% 50% no-repeat;
    }
}
@media screen and (max-width: 768px) {
    .search_box form .search_inputs.search_job,
    .search_box form .search_inputs.search_area,
    .search_box form .search_inputs.search_keywords {
        float: none;
        width: 100%;
    }
    .search_box form .search_inputs.search_job select,
    .search_box form .search_inputs.search_area select {
        height: 60px;
        border-radius: 10px 10px 0 0;
        /* color: #111; */
    }
    .search_box form .search_inputs select {
        background: #fff;
    }
    .search_box form .search_inputs.search_keywords input {
        height: 60px;
        width: 100%;
    }
    .search_box form .search_inputs.search_button input {
        height: 60px;
        float: none;
        width: 100%;
        border-radius: 0 0 10px 10px;
    }
    /* .keyword_box .ttl {
        margin: 0 0;
        float: none;
        font-size: 16px;
        text-align: center;
    } */
    /* .keyword_box .ttl::before {
        content: url(./img/icon_keyword.svg);
        vertical-align: middle;
        margin-right: 5px;
    } */
    .keyword_box .tag {
        float: left;
        text-align: center;
    }
    .keyword_box .tag p {
        line-height: 24px;
    }
}

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

トップ：カテゴリ検索（jobkind_area）

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

.jobkind_area {
    width: 90%;
    max-width: 1000px;
    margin: 0 auto 80px;
}
.jobkind_area .jobkind_box,
.jobkind_area .area_box {
    margin-bottom: 40px;
}
.jobkind_area .jobkind_box h3.ttl,
.jobkind_area .area_box h3.ttl {
    display: flex;
    align-items: center;
    font-size: 18px;
    font-weight: bold;
    background: #204E93;
    color: #fff;
    padding: 7px 0;
    text-align: center;
    display: block;
    margin-bottom: 24px;
}
.jobkind_area .jobkind_box .jobkind_wrap,
.jobkind_area .area_box .area_wrap {
    margin-bottom: 15px;
}
.jobkind_area .jobkind_box .jobkind_wrap .jobkind_ttl,
.jobkind_area .area_box .area_wrap .area_ttl {
    width: 100%;
    float: none;
    font-size: 16px;
    font-weight: bold;
    margin: 5px 0;
    padding: 3px 0 12px;
    border-bottom: 1px solid #ddd;
    cursor: pointer;
    position: relative;
}
.jobkind_area .jobkind_box .jobkind_wrap .jobkind_single,
.jobkind_area .area_box .area_wrap .area_single {
    padding: 3px 0 0;
}
.jobkind_area .jobkind_box .jobkind_wrap .jobkind_single a,
.jobkind_area .area_box .area_wrap .area_single a {
    padding: 0 0 12px;
    display: block;
}
.jobkind_area .jobkind_box .jobkind_wrap .jobkind_ttl::after,
.jobkind_area .area_box .area_wrap .area_ttl::after {
    border-right: solid 2px #111;
    border-top: solid 2px #111;
    content: "";
    display: block;
    height: 6px;
    width: 6px;
    position: absolute;
    right: 20px;
    top: 25%;
    transform: rotate(135deg);
    transition: transform .3s ease-in-out, top .3s ease-in-out;
}
.jobkind_area .jobkind_box .jobkind_wrap .jobkind_ttl.open::after,
.jobkind_area .area_box .area_wrap .area_ttl.open::after {
    transform: rotate(-45deg);
    top: 30%;
}
.jobkind_area .jobkind_box .jobkind_wrap .jobkind_single::after,
.jobkind_area .area_box .area_wrap .area_single::after {
    display: none;
}
.jobkind_area .jobkind_box .jobkind_wrap .jobkind_txt,
.jobkind_area .area_box .area_wrap .area_txt {
    width: 100%;
    float: none;
    display: none;
}
.jobkind_area .jobkind_box .jobkind_wrap .jobkind_txt a,
.jobkind_area .area_box .area_wrap .area_txt a {
    font-size: 14px;
    background: #fff;
    padding: 10px 10px;
    margin: 5px 5px 5px 0px;
    border-radius: 3px;
    display: inline-block;
    white-space: nowrap;
    border: 1px solid #9ed3fa;
}
.jobkind_area .jobkind_box .jobkind_wrap .jobkind_txt a.jobkind_all,
.jobkind_area .area_box .area_wrap .area_txt a.jobkind_all {
    background: #EAF6FF;
}
.jobkind_area .jobkind_box .jobkind_wrap .jobkind_txt a:hover,
.jobkind_area .area_box .area_wrap .area_txt a:hover {
    filter: alpha(opacity=70);
    opacity: 0.70;
}

@media screen and (max-width: 768px) {
    .jobkind_area .jobkind_box .jobkind_wrap .jobkind_txt,
    .jobkind_area .area_box .area_wrap .area_txt {
        width: 100%;
        float: none;
    }
}

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

トップ：アバウト

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

.about {
    width: 100%;
    margin: 40px 0 80px;
    padding: 80px 0;
    background: #F2F6FF;
}
.about_wrap {
    margin: 0 auto;
    width: 90%;
    max-width: 650px;
    position: relative;
}
.about .txt {
    font-size: 16px;
    line-height: 1.6;
    text-align: center;
    margin: 0 0 30px;
    font-weight: 600;
}
.about .txt span {
    font-weight: inherit;
    font-size: inherit;
}
.about .txt .underline {
    text-decoration: underline;
}
.about .txt .small {
    font-weight: normal;
    font-size: 0.85em;
}
.about_flex {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    margin-bottom: 40px;
}
.about_flex > div {
    display: flex;
    flex-direction: row;
    width: 49%;
    align-items: center;
    justify-content: space-evenly;
    background: #fff;
    padding: 15px;
    border-radius: 10px;
    box-shadow: 0px 1px 3px 0px #c4c4c4;
}
.about_flex > div > h3 {
    width: 70%;
    line-height: 1.4;
}
.about_flex > div > h3 .bold_black {
    font-weight: 600;
}
.about_flex > div > h3 .bold_blue {
    font-size: 1.2em;
    color: #204E93;
    font-weight: 600;
}
.about_flex > div > img {
    width: 22%;
    height: auto;
}
.about a {
    display: block;
    margin: auto;
    font-size: 16px;
    text-align: center;
    width: 200px;
    border: 1px solid #000;
    background: url(./img/icon_link.svg) 100% 100% no-repeat;
    background-color: #fff;
    padding: 10px 0 12px;
}
.about a:hover {
    border: 1px solid #333;
    filter: alpha(opacity=70);
    -moz-opacity: 0.70;
    opacity: 0.70;
}
.man1 {
    width: 18%;
    position: absolute;
    bottom: -3%;
    left: -25%;
}
.man2 {
    width: 30%;
    position: absolute;
    bottom: -5%;
    right: -35%;
}

@media screen and (max-width: 900px) {
    .man1 {
        width: 15%;
        left: -14%;
    }
    .man2 {
        width: 20%;
        right: -16%;
    }
}
@media screen and (max-width: 768px) {
    .about {
        padding: 0 0 85px;
        background: url(./img/bg_about_sp.webp) 100% 100% no-repeat;
        background-size: contain;
    }
    .about .txt {
        text-align: left;
    }
    .about_flex {
        flex-direction: column;
        width: 65%;
        min-width: 300px;
        margin: 0 auto 50px;
    }
    .about_flex > div {
        width: 100%;
        margin: 10px auto;
        padding: 15px 5px;
    }
    .about_flex > div > h3 {
        width: 60%;
    }
    .man1 {
        width: 35%;
        bottom: -10%;
        left: -5%;
    }
}
/* @media screen and (min-width: 501px) {
    .about {
        padding: 0 0 210px;
    }
} */
@media (max-width:500px) {
    .about_flex {
        width: 100%;
        margin: 0 auto 30px;
    }
    .man1 {
        width: 40%;
        left: -10%;
    }
}

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

トップ：レコメンド

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

.recommend {
    width: 100%;
    margin: 0 auto 80px;
}
.top h2.ttl {
    color: #204e93;
    font-size: 30px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 50px;
}
.recommend .recommend_ttl {
    display: block;
    margin: 60px auto 30px !important;
    width: fit-content;
    position: relative;
}
.recommend .recommend_ttl img {
    position: absolute;
    width: 60%;
    top: -45%;
    left: 20%;
}
.blinking {
    animation:blink 1.2s step-end infinite;
}
@keyframes blink {
    0% { opacity: 1; }
    50% { opacity: 0; }
    100% { opacity: 1; }
}
.top h2.ttl span {
    display: inline-block;
    color: #111;
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    margin-top: 20px;
}
.recommend ul li {
    float: left;
    width: 48%;
    margin: 10px 1%;
}
.recommend ul li a:hover {
    opacity:0.8;
}
.recommend ul li .recommend_box {
    box-shadow: 0 0 7px #ddd;
    border-radius: 10px;
    padding: 20px;
    height:120px;
    background:url(./img/bg_arrow_new.svg) 100% 50% no-repeat;
    background-size:30px;
}
.recommend ul li .recommend_box .ttl {
    font-size: 16px;
    font-weight: bold;
    line-height: 1.3;
    margin-bottom: 10px;
    width: 90%;
    height: 2em;
}
.recommend ul li .recommend_box .recommend_wrap {
    float: left;
    width: 90%;
}
.recommend ul li .recommend_box .recommend_wrap .icon {
    margin: 10px 0 15px;
}
.recommend ul li .recommend_box .recommend_wrap .icon .icon_area {
    background: #ceeaff;
    padding: 2px 5px;
}
.recommend ul li .recommend_box .recommend_wrap .icon .icon_job {
    background: #e0caf1;
    padding: 2px 5px;
}
.recommend ul li .recommend_box .recommend_wrap .icon_detail {
    margin: 10px 0;
}
.recommend ul li .recommend_box .recommend_wrap .icon_detail ul li.icon_train {
    float: left;
    width: auto;
    margin: 0 30px 0 0;
    padding-left: 24px;
    background: url(./img/icon_train.svg) 0% 50% no-repeat;
    line-height: 25px;
}
.recommend ul li .recommend_box .recommend_wrap .icon_detail ul li.icon_fee {
    float: left;
    width: auto;
    margin: 0;
    padding-left: 24px;
    background: url(./img/icon_fee.svg) 0% 50% no-repeat;
    line-height: 25px;
}
.recommend ul li .recommend_box .recommend_wrap .icon_tag {
    margin: 10px 0 0;
}
.recommend ul li .recommend_box .recommend_wrap .icon_tag ul li {
    float: left;
    width: auto;
    margin: 0 20px 0 0;
    padding-left: 0;
    line-height: 1.4;
}
.recommend ul li .recommend_box .btn_detail {
    float: right;
    width: 130px;
}
.recommend ul li .recommend_box .btn_detail a {
    background: #292929;
    border-radius: 10px;
    color: #fff;
    font-weight: bold;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100px;
}
.recommend ul li .recommend_box .btn_detail a:hover {
    filter: alpha(opacity=70);
    opacity: 0.70;
}
.recommend .joblist_bg {
    background: #E8F2FD;
    padding: 40px 0;
}
.recommend .joblist {
    width:90%;
    max-width: 1200px;
    margin: 0 auto;
}
.recommend .joblist .joblist_li {
    width: 48%;
    height: 120px;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0px 2px 10px 0px #c4c4c4;
}

@media (max-width:1100px) {
    .recommend ul li .recommend_box .btn_detail {
        width: 100%;
    }
    .recommend ul li .recommend_box .btn_detail a {
        height: 45px;
    }
}
@media screen and (max-width: 768px) {
    .top h2.ttl {
        font-size: 24px;
        margin-bottom: 30px;
    }
    .recommend ul li {
        float: none;
        width: 90%;
        margin: 10px auto;
    }
    .recommend ul li .recommend_box {
        /* background-size: 40px; */
        min-height:120px;
    }
    .recommend ul li .recommend_box .ttl {
        display:block;
        font-size: 14px;
        margin-bottom: 0px;
    }
    .recommend ul li .recommend_box .recommend_wrap {
        width: 350px;
    }
    .recommend ul li .recommend_box .recommend_wrap .icon {
        margin: 10px 0 10px;
        font-size: 12px;
    }
    .recommend ul li .recommend_box .recommend_wrap .icon .icon_area,
    .recommend ul li .recommend_box .recommend_wrap .icon .icon_job {
        padding: 2px 5px;
        display: inline-block;
        margin-bottom: 5px;
    }
    .recommend ul li .recommend_box .btn_detail {
        width: 100%;
        margin: 10px auto;
    }
    .recommend ul li .recommend_box .btn_detail a {
        height: 60px;
    }
    .recommend .joblist .joblist_li {
        width: 100%;
    }
}

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

トップ：特集セクション

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

.feature {
    margin: 0 auto 80px;
    width: 90%;
    max-width: 1200px;
}
.feature .feature_wrap ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 20px 0px;
}
.feature .feature_wrap ul li {
    width: 32%;
    border-radius: 10px;
    border: 3px solid #fff;
    box-shadow: 0 0 7px #ddd;
}
.feature .feature_wrap ul li a {
    font-size: 18px;
    font-weight: bold;
    line-height: 1.8;
    padding: 20px 20px 20px 150px;
    display: block;
}
.feature .feature_wrap ul li span {
    font-size: 14px;
    font-weight: normal;
    background: #d9d9d9;
    padding: 3px 20px;
    border-radius: 50px;
}
.feature .feature_wrap ul li.feature01 a {
    background: url(./img/icon_feature01.webp) 0 50% no-repeat;
    background-size: contain;
    border-radius: 10px;
}
.feature .feature_wrap ul li.feature02 a {
    background: url(./img/icon_feature02.webp) 0 50% no-repeat;
    background-size: contain;
    border-radius: 10px;
}
.feature .feature_wrap ul li.feature03 a {
    background: url(./img/icon_feature03.webp) 0 50% no-repeat;
    background-size: contain;
    border-radius: 10px;
}
.feature .feature_wrap ul li.feature04 a {
    background: url(./img/icon_feature04.webp) 0 50% no-repeat;
    background-size: contain;
    border-radius: 10px;
}
.feature .feature_wrap ul li.feature05 a {
    background: url(./img/icon_feature05.webp) 0 50% no-repeat;
    background-size: contain;
    border-radius: 10px;
}
.feature .feature_wrap ul li.feature06 a {
    background: url(./img/icon_feature06.webp) 0 50% no-repeat;
    background-size: contain;
    border-radius: 10px;
}
.feature .feature_wrap ul li a:hover {
    filter: alpha(opacity=70);
    opacity: 0.70;
}

@media (max-width:1200px) {
    .feature .feature_wrap ul li {
        width: 49%;
    }
}
@media screen and (max-width: 768px) {
    /* .feature {
        width: 100%;
    } */
    .feature .feature_wrap ul li {
        float: none;
        width: 100%;
        margin-right: auto;
        margin-left: auto;
    }
    .feature .feature_wrap ul li a {
        font-size: 16px;
    }
}

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

トップ：流れセクション

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

.step {
    margin: 0 auto 80px;
    width: 90%;
    max-width: 1200px;
}
.step .step_wrap {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.step .step_wrap .step_box {
    width: 23.5%;
}
.step .step_wrap .step_box:last-child {
    margin-right: 0;
}
.step .step_wrap .step_box .step_title {
    background: #292929;
    box-shadow: 1px 1px 3px #ddd;
    border-radius: 10px;
    padding: 20px;
    margin-bottom: 10px;
    text-align: center;
    color: #fff;
    font-weight: bold;
}
.step .step_wrap .step_box .step_title .num {
    font-size: 16px;
    line-height: 1.4;
}
.step .step_wrap .step_box .step_title .ttl {
    font-size: 16px;
    line-height: 1.4;
    font-weight: bold;
}
.step .step_wrap .step_box .txt {
    font-size: 16px;
    line-height: 1.6;
}

@media (max-width:850px) {
    .step .step_wrap .step_box {
        width: 47.5%;
        margin-bottom: 30px;
    }
}
@media screen and (max-width: 768px) {
    .step {
        margin: 0 auto 30px;
        width: 100%;
    }
    .step .step_wrap .step_box {
        float: none;
        width: 90%;
        margin: 0 auto 40px;
    }
    .step .step_wrap .step_box:last-child {
        margin: 0 auto 20px;
    }
    .step .step_wrap .step_box .step_title {
        padding: 10px 20px;
        display: flex;
        justify-content: space-evenly;
    }
    .step .step_wrap .step_box .step_title .num {
        display: inline;
    }
    .step .step_wrap .step_box .step_title .ttl {
        display: inline;
    }
    .step .step_wrap .step_box .txt {
        line-height: 1.4;
        padding: 0 10px;
    }
}

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

下層：ページヘッダー

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

.low_visual {
    width: 100%;
    height: 250px;
    display: flex;
    align-items: center;
    background: url(./img/bg_ttl_about.png) 85% 100% no-repeat, linear-gradient(150deg, rgba(214, 241, 252, 1) 10%, rgba(221, 221, 238, 1) 90%);
}
.low_visual h1.ttl {
    width: 1200px;
    margin: 0 auto;
    color: #204e93;
    font-size: 30px;
    font-weight: bold;
}
.low_visual h1.ttl span {
    color: #111;
    font-size: 16px;
    font-weight: bold;
}

@media screen and (max-width: 768px) {
    .low_visual {
        height: 200px;
        background: url(./img/bg_ttl_about.png) 102% 100% no-repeat, linear-gradient(150deg, rgba(214, 241, 252, 1) 10%, rgba(221, 221, 238, 1) 90%);
        background-size: 160px, 100%;
    }
    .low_visual h1.ttl {
        width: 100%;
        margin: 0 15px;
        font-size: 26px;
        line-height: 1.2;
    }
}

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

下層：アバウトページ

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

.page-title h1 {
    font-size: 45px;
    font-weight: bold;
    color: #204E93;
    margin-bottom: 25px;
}
.page-title .subtitle {
    font-size: 24px;
}
.about.low {
    width: 100%;
    margin: 0 0 50px;
    padding: 0;
    background: none;
}
.about.low .wrapper {
    background-image: linear-gradient(150deg, rgba(218, 238, 250, 1), rgba(223, 226, 242, 1));
    padding: 50px 70px;
    border-radius: 20px;
    position: relative;
    width: 75%;
    max-width: 1000px;
}
.about.low .wrapper .about_img1 {
    position: absolute;
    width: 15%;
    top: -30%;
    right: 0;
}
.about.low .wrapper .about_img2 {
    position: absolute;
    width: 11%;
    bottom: 2%;
    left: 3%;
}
.about.low .wrapper .textbox {
    width: 100%;
    background: #fff;
    margin: 0 auto;
    padding: 50px;
    border-radius: 15px;
}
.about.low .wrapper .textbox h2 {
    font-size: 20px;
    line-height: 1.8;
    text-align: center;
    color: #205E93;
    font-weight: 700;
    margin-bottom: 30px;
}
.about.low .wrapper .textbox h2 span {
    border-bottom: 2px solid #205E93;
    padding-bottom: 3px;
}
.about.low .wrapper .textbox p {
    font-size: 16px;
    line-height: 1.8;
    text-align: center;
}
.support.low .wrapper h2 {
    font-size: 22px;
    line-height: 1.8;
    text-align: center;
    color: #205E93;
    font-weight: 700;
    margin-bottom: 30px;
}
.support.low .wrapper img {
    display: block;
    width: 35%;
    margin: 0 auto 50px;
}
.support.low .wrapper .conpro-title {
    font-size: 16px;
    font-weight: 700;
    text-align: center;
    margin: 0 0 20px 0;
}
.support.low .wrapper .conpro-text {
    line-height: 2;
    width: 90%;
    margin: 0 auto;
    max-width: 600px;
}
.cta.low {
    padding: 50px 0;
}
.cta.low .wrapper {
    width: 100%;
    background-image: linear-gradient(150deg, rgba(218, 238, 250, 1), rgba(223, 226, 242, 1));
    border-radius: 20px;
    text-align: center;
    color: #fff;
    position: relative;
}
.cta.low .wrapper p {
    font-size: 18px;
    font-weight: 700;
    color: #204E93;
}
.cta.low .wrapper p span {
    font-size: 1.2em;
}
.cta.low .wrapper .cta-btn {
    display: inline-block;
    background: #204E93;
    width: 90%;
    max-width: 500px;
    height: 80px;
    margin: 25px 0 0 0;
    line-height: 80px;
    color: #ffff;
    font-size: 22px;
    font-weight: 500;
    border-radius: 10px;
    cursor: pointer;
    transition: .2s;
}
.cta.low .wrapper .cta-btn:hover {
    transform: translateY(-5px);
}
.cta.low .wrapper .cta-btn img {
    vertical-align: baseline;
    margin: 0 10px;
}
.cta.low .wrapper .cta-btn span {
    font-size: 0.8em;
    border: 1px solid #fff;
    margin: 0 0 0 5px;
    padding: 3px 5px;
    border-radius: 10px;
}
.cta.low .wrapper .cta_img {
    position: absolute;
    width: 12%;
    top: 50%;
    right: 5%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}
.point.low {
    width: 100%;
    padding: 0;
    background: none;
    background-size: initial;
    margin-bottom: 0;
}
.point.low .wrapper h2,
.step.low .wrapper h2 {
    font-size: 40px;
    text-align: center;
    font-weight: 700;
    color: #204E93;
    margin: 0 0 30px 0;
}
.point.low .wrapper .h2_sub,
.step.low .wrapper .h2_sub {
    font-size: 20px;
    text-align: center;
    margin: 0 0 50px 0;  
}
.point.low .wrapper .point-inner {
    position: relative;
}
.point.low .wrapper .point-inner img {
    position: absolute;
    width: 20%;
    bottom: 3%;
    right: -15%;
}
.point.low .wrapper ul {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}
.point.low .wrapper ul li {
    float: none;
    width: 90%;
    max-width: 850px;
    margin-right: 0;
    margin-bottom: 30px;
    border-radius: 3% / 50%;
    box-shadow: 0 0 7px #ddd;
    padding: 45px 20px 50px;
    text-align: center;
    background: #fff;
    display: flex;
    justify-content: center;
}
.point.low .wrapper ul li .ttl {
    width: 23%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: avenir;
    font-size: 20px;
    padding: 10px 0 0 0;
    font-weight: 600;
}
.point.low .wrapper ul li .ttl span {
    font-size: 1.5em;
    margin: 0 0 4px 5px;
    color: #204E93;
}
.point.low .wrapper ul li div {
    text-align: left;
    width: 70%;
}
.point.low .wrapper ul li .txt {
    font-size: 22px;
    font-weight: 600;
    margin: 0 0 20px 0;
    line-height: 1.7;
}
.point.low .wrapper ul li .txt span {
    color: #204E93;
    border-bottom: 2px solid #204e93;
    padding-bottom: 3px;
}
.point.low .wrapper ul li .txt2 {
    font-size: 16px;
    line-height: 1.7;
}
.step.low {
    width: 100%;
    max-width: inherit;
    margin: 0;
    padding: 0;
}
.step.low .step_flex {
    display: flex;
    justify-content: space-between;
}
.step.low .step_flex .step_box {
    width: 22%;
    height: auto;
    position: relative;
}
.step.low .step_flex .step_box:not(:last-child)::after {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    border-left: 15px solid #c5e3fa;
    border-right: 0;
    position: absolute;
    top: 44px;
    right: -30px;
}
.step.low .step_flex .step_box .step_title {
    text-align: center;
}
.step.low .step_flex .step_box .step_title .num {
    font-family: avenir;
    color: #204E93;
    font-weight: 700;
    font-size: 20px;
}
.step.low .step_flex .step_box .step_title .ttl {
    display: block;
    background-color: #333;
    color: #fff;
    padding: 12px 0;
    border-radius: 7px;
    margin: 10px 0 32px 0;
    font-size: 16px;
    font-weight: 700;
}
.step.low .step_flex .step_box img {
    display: block;
    margin: 0 auto;
    height: 80px;
    width: auto;
}
.step.low .step_flex .step_box .txt {
    margin: 24px 0 0 0;
    font-size: 14px;
    line-height: 1.6;
}
.low h2.ttl {
    color: #204e93;
    font-size: 30px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 50px;
}
.low h2.ttl span {
    display: inline-block;
    color: #111;
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    margin-top: 20px;
}
.point {
    width: 100%;
    padding: 80px 0;
    background: url(./img/bg_point_left.png) 0% 0% no-repeat, url(./img/bg_point_right.png) 100% 100% no-repeat;
    background-size: contain, contain;
    margin-bottom: 80px;
}
.point .point_wrap {
    margin: 0 auto;
    width: 1200px;
}
.point .point_wrap ul li {
    float: left;
    width: 32%;
    margin-right: 1%;
    margin-bottom: 15px;
    border-radius: 10px;
    box-shadow: 0 0 7px #ddd;
    padding: 25px 20px 30px;
    text-align: center;
    background: #fff;
}
.point .point_wrap ul li .ttl {
    font-size: 20px;
    font-weight: bold;
    line-height: 1.8;
    margin-bottom: 10px;
}
.point .point_wrap ul li .txt {
    font-size: 18px;
    line-height: 1.4;
    font-weight: bold;
}
.description {
    width: 90%;
    max-width: 700px;
    margin: 0 auto 80px;
    text-align: center;
}
.description_box h3.ttl {
    font-size: 20px;
    font-weight: bold;
    padding: 0 20px;
    margin-bottom: 30px;
    background: #fff;
    position: relative;
    display: inline-block;
    z-index: 999;
}
.description_wrap {
    border: 1px solid #000;
    border-radius: 10px;
    padding: 30px 50px;
    margin-top: -40px;
    position: relative;
}
.description_wrap .txt {
    font-size: 16px;
    line-height: 1.6;
    text-align: left;
}

@media (max-width: 1400px) {
    .point.low .wrapper .point-inner img {
        width: 15%;
        right: -7%;
    }
}
@media (max-width: 1100px) {
    .about.low .wrapper .textbox h2 {
        font-size: 20px;
    }
    .cta.low .wrapper {
        border-radius: 0px;
    }
}
@media (max-width:900px) {
    .step.low .step_flex {
        flex-wrap: wrap;
    }
    .step.low .step_flex .step_box {
        width: 48%;
        margin-bottom: 30px;
    }
    .step.low .step_flex .step_box:not(:last-child)::after {
        content: none;
    }
}
@media (max-width: 800px) {
    .about.low .wrapper .about_img1 {
        width: 15%;
        top: -10%;
    }
    .about.low .wrapper .about_img2 {
        width: 13%;
        bottom: 2%;
        left: 0%;
    }
}
@media screen and (max-width: 768px) {
    .page-title h1 {
        font-size: 24px;
        margin-bottom: 15px;
    }
    .page-title .subtitle {
        font-size: 18px;
    }
    .about {
        padding: 60px 0;
        background: #F2F6FF;
    }
    .about.low {
        margin: 0 0 30px;
    }
    .about.low .wrapper {
        width: 100%;
        padding: 30px 0;
        border-radius: 0px;
    }
    .about.low .wrapper .about_img1 {
        width: 23%;
        top: -5%;
        right: -10px;
    }
    .about.low .wrapper .about_img2 {
        width: 23%;
        bottom: 0%;
        left: -2%;
    }
    .about.low .wrapper .textbox {
        width: 85%;
        padding: 35px 25px;
    }
    .about.low .wrapper .textbox h2 {
        font-size: 16px;
        text-align: left;
        margin-bottom: 10px;
    }
    .about.low .wrapper .textbox h2 span {
        padding-bottom: 1px;
    }
    .about.low .wrapper .textbox p {
        font-size: 14px;
        text-align: left;
    }
    .support.low .wrapper h2 {
        font-size: 16px;
    }
    .support.low .wrapper img {
        width: 72%;
    }
    .support.low .wrapper .conpro-title {
        font-size: 14px;
        margin: 0 0 14px 0;
        line-height: 1.8;
    }
    .support.low .wrapper .conpro-text {
        line-height: 1.8;
        width: 100%;
    }
    .cta.low {
        padding: 30px 0;
    }
    .cta.low .wrapper {
        border-radius: 0px;
    }
    .cta.low .wrapper p {
        font-size: 14px;
        position: relative;
        z-index: 5;
    }
    .cta.low .wrapper .cta-btn {
        height: 60px;
        margin: 10px 0 0 0;
        line-height: 60px;
        font-size: 14px;
        position: relative;
        z-index: 5;
    }
    .cta.low .wrapper .cta-btn img {
        margin: 0 5px;
        width: 15px
    }
    .cta.low .wrapper .cta_img {
        width: 25%;
        top: 50%;
        right: 0%;
        transform: translateY(-50%);
        z-index: 0;
    }
    .point.low .wrapper h2,
    .step.low .wrapper h2 {
        font-size: 28px;
        margin: 0 0 15px 0;
        line-height: 1.4;
    }
    .point.low .wrapper .h2_sub {
        font-size: 18px;
        text-align: center;
        margin: 0 0 30px 0;  
    }
    .point.low .wrapper .point-inner img {
        width: 30%;
        bottom: -9%;
        left: 50%;
        transform: translateX(-50%);
    }
    .point.low .wrapper ul li {
        width: 100%;
        padding: 35px 20px;
        flex-direction: column;
        align-items: center;
    }
    .point.low .wrapper ul li .ttl {
        width: 100%;
    }
    .point.low .wrapper ul li div {
        width: 100%;
    }
    .point.low .wrapper ul li .txt {
        font-size: 16px;
        text-align: center;
        letter-spacing: -0.2px;
    }
    .point.low .wrapper ul li .txt2 {
        font-size: 14px;
    }
    .point.low::after {
        display: none;
    }
    .step.low {
        margin: 50px 0 0 0;
    }
    .step.low .wrapper .h2_sub {
        font-size: 18px;
        text-align: center;
        margin: 0 0 10px 0;  
    }
    .step.low .step_flex {
        flex-direction: column;
    }
    .step.low .step_flex .step_box {
        width: 100%;
        margin: 30px 0 0 0;
    }
    /* .step.low .step_flex .step_box:not(:last-child)::after {
        content: none;
    } */
    .step.low .step_flex .step_box img {
        display: none;
    }
    .low h2.ttl {
        font-size: 24px;
        line-height: 1.4;
        margin-bottom: 30px;
    }
    .point {
        width: 100%;
        padding: 100px 0 0;
        background: url(./img/bg_point_sp_top.png) 0% 0% no-repeat;
        background-size: contain;
        margin-bottom: -120px;
    }
    .point::after {
        content: "";
        display: inline-block;
        width: 100%;
        height: 300px;
        background: url(./img/bg_point_sp_bottom.png) no-repeat;
        background-size: contain;
        margin-top: -50px;
    }
    .point .point_wrap {
        width: 90%;
    }
    .point .point_wrap ul li {
        float: none;
        width: 100%;
    }
    .point .point_wrap ul li .txt {
        font-size: 16px;
    }
    .description {
        margin: 0 auto 50px;
    }
    .description_box h3.ttl {
        font-size: 16px;
        line-height: 2;
        padding: 0 5px;
        margin-bottom: 25px;
        z-index: 99;
        width: 90%;
        letter-spacing: 0;
    }
    .description_wrap {
        padding: 30px 30px 25px;
    }
    .description_wrap .txt {
        font-size: 14px;
        text-align: justify;
    }
}
@media (min-width:600px) {
    .about.low .wrapper .textbox {
        padding: 50px 40px;
    }
    /* .cta.low .wrapper .cta_img {
        width: 15%;
    } */
    /* .point.low .wrapper ul li div {
        width: 80%;
    } */
    /* .step.low {
        margin: 120px 0 0 0;
    } */
    .step.low .step_flex {
        flex-direction: row;
        flex-wrap: wrap;
    }
}
@media (min-width: 501px) {
    .point {
        padding: 180px 0 0;
        margin-bottom: 30px;
    }
}
@media (max-width: 500px) {
    .point {
        margin-bottom: -120px;
    }
}
@media (min-width:390px) {
    .about.low .wrapper .textbox {
        padding: 50px 25px;
    }
}

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

下層・共通：求人一覧・詳細ページ

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

.list_outer,
.detail_outer {
    width: calc(100% - 680px);
    min-width: 900px;
    margin: 30px auto 80px;
}
.list,
.detail {
    /* width: 90%; */
    max-width: 900px;
    margin: 0 auto;
}
.list {
    min-height: 450px;
}
.detail.center {
    width: 90% !important;
    max-width: 900px;
    margin: 35px auto 80px !important;
    line-height: 1.5;
}
.list h1.ttl {
    font-size: 30px;
    font-weight: bold;
    text-align: left;
    margin-bottom: 20px;
}
.list ul li {
    margin: 20px 0;
}
.list ul li .list_box {
    box-shadow: 0 0 7px #ddd;
    border-radius: 10px;
    padding: 20px 20px 10px;
    min-height: 165px;
    position: relative;
}
.list ul li .list_box .ttl {
    font-size: 18px;
    font-weight: bold;
    line-height: 1.2;
    margin-bottom: 10px;
    width: 660px;
}
.list ul li .list_box .list_wrap {
    float: left;
    width: 100%;
    max-width: 660px;
}
.list ul li .list_box .list_wrap .icon {
    margin: 10px 0 15px;
}
.list ul li .list_box .list_wrap .icon .icon_area {
    background: #ceeaff;
    padding: 2px 5px;
}
.list ul li .list_box .list_wrap .icon .icon_job {
    background: #e0caf1;
    padding: 2px 5px;
}
.list ul li .list_box .list_wrap .icon_detail {
    margin: 10px 0;
}
.list ul li .list_box .list_wrap .icon_detail ul li.icon_train {
    float: left;
    width: auto;
    margin: 0 30px 0 0;
    padding-left: 24px;
    background: url(./img/icon_train.svg) 0% 50% no-repeat;
    line-height: 25px;
}
.list ul li .list_box .list_wrap .icon_detail ul li.icon_fee {
    float: left;
    width: auto;
    margin: 0 30px 0 0;
    padding-left: 24px;
    background: url(./img/icon_fee.svg) 0% 50% no-repeat;
    line-height: 25px;
}
.list ul li .list_box .list_wrap .icon_detail ul li.icon_time {
    float: left;
    width: auto;
    margin: 0;
    padding-left: 24px;
    background: url(./img/icon_time.svg) 0% 50% no-repeat;
    line-height: 25px;
}
.list ul li .list_box .list_wrap .icon_tag {
    margin: 10px 0 0;
}
.list ul li .list_box .list_wrap .icon_tag ul li {
    float: left;
    width: auto;
    margin: 0 20px 0 0;
    padding-left: 0;
    line-height: 1.4;
}
.list ul li .list_box .btn {
    float: right;
    width: 100%;
    max-width: 130px;
    margin-bottom: 10px;
    position: absolute;
    top: 20px;
    right: 20px;
}
.list ul li .list_box .btn_detail {
    width: 100%;
    margin-bottom: 5px;
}
.list ul li .list_box .btn_detail a {
    background: #292929;
    border-radius: 10px;
    color: #fff;
    font-weight: bold;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 60px;
}
.list ul li .list_box .btn_detail a:hover,
.list ul li .list_box .btn_contact a:hover {
    filter: alpha(opacity=70);
    opacity: 0.70;
}
.list ul li .list_box .btn_contact {
    width: 100%;
}
.list ul li .list_box .btn_contact a {
    background: #204e93;
    border-radius: 10px;
    color: #fff;
    font-weight: bold;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 60px;
}
.pager {
    margin-bottom: 20px;
}
.pager p {
    float: left;
}
.pager ul.page-numbers {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}
.pager ul.page-numbers li.prev.disable,
.pager ul.page-numbers li.prev.disable span.prev.page-numbers,
.pager ul.page-numbers li {
    float: left;
    margin: 0 3px;
}
.pager ul.page-numbers li span.page-numbers.current {
    float: left;
    margin: 0 3px;
    padding: 3px 5px;
    color: #204e93;
    border: 1px solid #204e93;
    border-radius: 4px;
}
.pager ul.page-numbers li a.page-numbers {
    float: left;
    margin: 0 3px;
}
.pager ul.page-numbers li span.page-numbers.dots,
.pager ul.page-numbers li.next,
.pager ul.page-numbers li.next a.next.page-numbers {
    float: left;
    margin: 0 3px;
}
.detail .detail_box .ttl {
    font-size: 24px;
    font-weight: bold;
    line-height: 1.6;
    margin-top: 20px;
    margin-bottom: 30px;
    width: 100%;
}
.detail .detail_box .detail_wrap {
    width: 100%;
    margin: 0 0 20px 0;
}
.detail .detail_box .detail_wrap .icon {
    margin: 10px 0 15px;
}
.detail .detail_box .detail_wrap .icon .icon_area {
    background: #ceeaff;
    padding: 2px 5px;
}
.detail .detail_box .detail_wrap .icon .icon_job {
    background: #e0caf1;
    padding: 2px 5px;
}
.detail .detail_box .detail_wrap .icon_detail {
    margin: 20px 0 0;
}
.detail .detail_box .detail_wrap .icon_detail ul li.icon_train {
    float: left;
    width: auto;
    margin: 0 30px 0 0;
    padding-left: 24px;
    background: url(./img/icon_train.svg) 0% 50% no-repeat;
    line-height: 25px;
}
.detail .detail_box .detail_wrap .icon_detail ul li.icon_fee {
    float: left;
    width: auto;
    margin: 0 30px 0 0;
    padding-left: 24px;
    background: url(./img/icon_fee.svg) 0% 50% no-repeat;
    line-height: 25px;
}
.detail .detail_box .detail_wrap .icon_detail ul li.icon_time {
    float: left;
    width: auto;
    margin: 0;
    padding-left: 24px;
    background: url(./img/icon_time.svg) 0% 50% no-repeat;
    line-height: 25px;
}
.detail .detail_box .detail_wrap .icon_tag {
    margin: 10px 0 0;
}
.detail .detail_box .detail_wrap .icon_tag ul li {
    float: left;
    width: auto;
    margin: 0 20px 0 0;
    padding-left: 0;
    line-height: 1.4;
}
.detail .detail_box .btn_detail {
    width: 100%;
    margin-bottom: 5px;
}
.detail .detail_box .btn_detail a {
    background: #292929;
    border-radius: 10px;
    color: #fff;
    font-weight: bold;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 60px;
}
.detail .detail_box .btn_detail a:hover,
.detail .detail_box .btn_contact a:hover {
    filter: alpha(opacity=70);
    opacity: 0.70;
}
.detail .detail_box .btn_contact {
    width: 100%;
    margin: 20px 0;
}
.detail .detail_box .btn_contact a {
    background: #204e93;
    border-radius: 10px;
    color: #fff;
    font-size: 18px;
    font-weight: bold;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 60px;
}
.detail_header {
    margin-bottom: 10px;
}
.detail_header #post_date {
    font-size: 12px;
    color: #666;
    float: left;
    line-height: 30px;
}
.detail_header .sns_share_btn {
    float: right;
}
.detail_header .sns_share_btn ul li {
    font-size: 12px;
    float: left;
    line-height: 30px;
    margin-left: 5px;
}
.detail_header .sns_share_btn ul li.url a {
    cursor: pointer;
}
.tab {
    border-bottom: 2px dashed #204e93;
    margin-top: 40px;
    margin-bottom: 20px;
}
.tab ul li {
    float: left;
    font-size: 16px;
    font-weight: bold;
    width: 20%;
    margin-right: 10px;
}
.tab ul li a {
    background: #dddddd;
    line-height: 45px;
    height: 45px;
    text-align: center;
    display: block;
    border-radius: 0 25px 0 0;
    color: #111;
}
.tab ul li a:hover {
    text-decoration: none;
    filter: alpha(opacity=70);
    opacity: 0.70;
}
.tab ul li a.current {
    background: #9ed3fa;
}
.naiyo {
    padding: 10px 0 30px;
}
.naiyo h2 {
    font-size: 18px;
    font-weight: 600;
    color: #204e93;
}
.naiyo .naiyo_box {
    margin-bottom: 30px;
}
.naiyo .naiyo_sub {
    display: flex;
    align-items: baseline;
    border-top: 1px solid #ddd;
    margin: 20px 0 20px 0;
    padding: 20px 0 0 0;
}
.naiyo .naiyo_box .ttl {
    font-size: 18px;
    color: #204e93;
    padding-left: 0;
    margin-bottom: 12px;
    display: flex;
    align-items: center;
}
.naiyo .naiyo_box .ttl img {
    margin: 0px 10px 0 0;
}
.naiyo .naiyo_sub .ttl_sub {
    color: #111;
    font-size: 14px;
    font-weight: 600;
    width: 30%;
}
.naiyo .naiyo_box .txt {
    font-size: 16px;
    line-height: 1.6;
}
.naiyo .naiyo_sub .txt {
    width: 70%;
    font-size: 16px;
    line-height: 1.6;
}

@media screen and (min-width: 769px) and (max-width: 1239px) {
    .list_outer, .detail_outer {
        width: 100%;
        min-width: 800px;
        margin: 30px auto;
    }
    .list,
    .detail {
        width: 800px;
        margin: 0 auto;
        padding: 0 30px;
    }
    .list ul li .list_box .ttl {
        font-size: 18px;
        font-weight: bold;
        line-height: 1.2;
        margin-bottom: 10px;
        width: 550px;
    }
    .list ul li .list_box .list_wrap {
        float: left;
        width: 550px;
    }
}
@media screen and (max-width: 768px) {
    .list_outer,
    .detail_outer {
        margin: 0 auto;
        width: initial;
        min-width: initial;
    }
    .list {
        margin: 10px auto 80px;
        width: 90%;
    }
    .detail {
        margin: 10px auto 30px;
        width: 90%;
    }
    .list h1.ttl {
        font-size: 26px;
        line-height: 1.4;
    }
    .list ul li .list_box .ttl {
        width: auto;
    }
    .list ul li .list_box .list_wrap {
        float: none;
    }
    .list ul li .list_box .list_wrap .icon {
        margin: 10px 0 10px;
        font-size: 12px;
    }
    .list ul li .list_box .list_wrap .icon .icon_area {
        display: inline-block;
        margin-bottom: 5px;
    }
    .list ul li .list_box .list_wrap .icon .icon_job {
        display: inline-block;
        margin-bottom: 5px;
    }
    .list ul li .list_box .list_wrap .icon_detail ul li.icon_train,
    .list ul li .list_box .list_wrap .icon_detail ul li.icon_fee,
    .list ul li .list_box .list_wrap .icon_detail ul li.icon_time {
        float: none;
    }
    .list ul li .list_box .btn {
        float: none;
        margin: 15px auto 15px;
        position: initial;
        max-width: initial;
    }
    .list ul li .list_box .btn_detail {
        width: 49%;
        float: left;
    }
    .list ul li .list_box .btn_detail a,
    .list ul li .list_box .btn_contact a {
        font-size: 16px;
    }
    .list ul li .list_box .btn_contact {
        width: 49%;
        float: right;
    }
    .pager p {
        float: none;
    }
    .pager ul.page-numbers {
        /* float: none; */
        margin: 15px 0 0px;
    }
    .pager ul.page-numbers li {
        margin: 0 3.7px;
        font-size: 16px;
    }
    .pager ul.page-numbers li span.page-numbers.current {
        margin: 0;
        padding: 2px 4px;
    }
    .pager ul.page-numbers li a.page-numbers {
        margin: 0;
    }
    .detail .undertitle_tx {
        margin-bottom: 24px;
        line-height: 1.5;
    }
    .detail .detail_box .ttl {
        font-size: 20px;
        line-height: 1.5;
        margin-bottom: 24px;
    }
    .detail .detail_box .detail_wrap .icon {
        margin: 10px 0 10px;
        font-size: 12px;
    }
    .detail .detail_box .detail_wrap .icon .icon_area,
    .detail .detail_box .detail_wrap .icon .icon_job {
        display: inline-block;
        margin-bottom: 5px;
    }
    .detail .detail_box .detail_wrap .icon_detail {
        margin: 10px 0;
    }
    .detail .detail_box .detail_wrap .icon_detail ul li.icon_train,
    .detail .detail_box .detail_wrap .icon_detail ul li.icon_fee,
    .detail .detail_box .detail_wrap .icon_detail ul li.icon_time {
        float: none;
    }
    .detail .detail_box .btn_contact {
        display: block;
        position: relative;
        z-index: 980;
    }
    .detail .detail_box .btn_contact a {
        line-height: 60px;
        width: 100%;
        text-align: center;
        display: block;
    }
    .detail_header {
        margin-bottom: 15px;
    }
    .detail_header #post_date {
        line-height: 1.4;
    }
    .detail .tab {
        padding-top: 100px;
        margin-top: -80px;
    }
    .tab ul li {
        width: 30% !important;
    }
    .sns_share_btn {
        float: right;
        margin: 0 0 12px 0;
    }
    .sns_share_btn ul li {
        font-size: 12px;
        float: left;
        line-height: 30px;
        margin-left: 5px;
    }
    .tab ul li {
        font-size: 14px;
        width: 45%;
        margin-right: 5px;
    }
    .tab ul li a {
        line-height: 40px;
        height: 40px;
        border-radius: 0 15px 0 0;
    }
    .anchor {
        padding-top: 120px;
        margin-top: -120px;
    }
    .naiyo {
        padding: 20px 0 30px;
    }
}

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

下層：申込フォーム

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

#contact {
    margin-top: 50px;
}
#contact h2.ttl {
    color: #204e93;
    font-size: 20px;
    text-align: center;
    margin: 0px 0 30px 0;
}
#contact form {
    display: flex;
    flex-direction: column;
    gap: 32px;
}
#contact .form-inner {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: baseline;
}
#contact .form-inner.experience {
    align-items: center;
}
#contact .form-inner .title {
    width: 30%;
    display: flex;
    justify-content: space-between;
    font-weight: 700;
}
#contact .form-inner .title .must {
    color: #dd0000;
}
#contact .form-inner .inputarea {
    width: 70%;
    display: flex;
    justify-content: space-between;
    gap: 20px;
}
#contact .form-inner .pastwork {
    flex-direction: column;
    gap: 10px;
}
#contact .form-inner .pastwork p {
    font-size: 12px;
}
#contact .form-inner .inputarea input,
#contact .form-inner .inputarea select {
    font-size: 16px;
    width: 100%;
    height: 50px;
    border: 1px solid #ddd;
    padding: 0 12px;
    border-radius: 6px;
}
#contact .form-inner .inputarea .sei,
#contact .form-inner .inputarea .mei {
    width: 50%;
}
#contact .form-inner.experience .inputarea {
    justify-content: flex-start;
    align-items: center;
    gap: 10px;
}
#contact .form-inner.experience .inputarea input {
    width: 25px;
    height: 25px;
    cursor: pointer;
}
#contact .form-inner.experience .inputarea .ex {
    cursor: pointer;
}
#contact .form-inner.experience .inputarea .ari {
    margin-right: 20px;
}
#contact .form-inner .inputarea textarea {
    font-size: 16px;
    width: 100%;
    border: 1px solid #ddd;
    padding: 12px;
    border-radius: 6px;
    line-height: 1.5;
}
#contact form table {
    width: 100%;
}
#contact form table input,
#contact form table select,
#contact form table textarea {
    font-weight: normal;
    width: 100%;
    height: 50px;
    padding: 10px;
    border: solid 1px #ccc;
    border-radius: 10px;
    vertical-align: middle;
}
#contact form table select.tbBirth {
    width: 30%;
    margin-right: 5%;
    color: #111;
}
#contact form table textarea {
    height: 150px;
    line-height: 1.4;
}
#contact form table .ex_flex {
    display: flex;
    align-items: center;
}
#contact form table input[type="radio"] {
    width: auto;
    transform: scale(2);
    margin-right: 15px;
    vertical-align: middle;
}
#contact form table select {
    color: #111;
    background: #fff;
}
#contact form table tr {
    width: 100%;
    font-size: 16px;
}
#contact form table tr th {
    white-space: nowrap;
    font-weight: bold;
}
#contact form table tr th.name {
    padding: 10px 0 20px;
}
#contact form table tr th span.must {
    color: #ff5b5b;
    margin-left: 10px;
    font-size: 12px;
}
#contact form table tr th span.address {
    margin-left: 0;
    margin-top: 5px;
}
#contact form table tr th span.option {
    color: #888;
    margin-left: 10px;
    font-size: 12px;
}
#contact form table tr th span.cmt {
    font-size: 10px;
    font-weight: normal;
    margin-top: 5px;
}
#contact form table tr td {
    white-space: nowrap;
}
#contact form table tr td.sei span,
#contact form table tr td.mei span {
    font-weight: bold;
    margin-right: 0;
}
#contact form table tr td.mei span {
    margin-left: 15px;
}
#contact form table tr td.input {
    padding-left: 5px;
}
#contact form table tr td.sei,
#contact form table tr td.mei,
#contact form table tr td.input,
#contact form table tr th.name02 {
    padding-bottom: 30px;
}
#contact form table tr td label.ex.ari {
    margin-right: 30px;
    font-size: 18px;
}
#contact form table tr td label.ex.nashi {
    font-size: 18px;
}
#contact form .form_lower tr {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
#contact form .form_lower th {
    width: 30%;
}
#contact form .form_lower td {
    width: 70%;
}
#contact form table .message {
    align-items: flex-start !important;
}
#contact form table .message .name02 {
    padding-top: 20px;
}
#contact form div input[type="checkbox"] {
    width: 20px;
    height: 20px;
    margin-right: 5px;
    vertical-align: middle;
}
#contact form .doui {
    text-align: center;
    font-weight: normal;
    margin: 0;
}
#contact form .doui a {
    text-decoration: underline;
}
#contact form .doui a:hover {
    text-decoration: none;
}
#contact form input.submit {
    background: #204e93;
    border-radius: 10px;
    color: #fff;
    font-size: 18px;
    font-weight: bold;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 60px;
    border: none;
    width: 100%;
    margin: 30px auto 60px;
}
.bnr_contact {
    width: 100%;
    margin-bottom: 40px;
}
.bnr_contact img {
    width: 100%;
}
#contact form input.submit:hover,
.bnr_contact a:hover {
    filter: alpha(opacity=70);
    opacity: 0.70;
}

@media screen and (max-width: 768px) {
    .detail_box #contact {
        margin-top: 30px;
    }
    /* #contact h2.ttl {
        margin: 0;
    } */
    #contact .form-inner {
        flex-direction: column;
    }
    #contact .form-inner .title {
        width: 100%;
        justify-content: flex-start;
        gap: 12px;
    }
    #contact .form-inner .inputarea {
        width: 100%;
        gap: 12px;
    }
    #contact form table {
        table-layout: auto;
    }
    #contact form table input,
    #contact form table select,
    #contact form table textarea {
        padding: 8px;
    }
    #contact form table select.tbBirth {
        width: 31.5%;
        margin-right: 2.75%;
    }
    #contact form table .ex_flex {
        justify-content: center;
    }
    #contact form table tr {
        font-size: 14px;
    }
    #contact form table tr td.sei span,
    #contact form table tr td.mei span {
        margin-right: 5px;
    }
    #contact form table tr td.mei span {
        margin-left: 5px;
    }
    #contact form table tr td.input {
        padding-left: 0;
    }
    #contact form table tr td.sei,
    #contact form table tr td.mei,
    #contact form table tr td.input,
    #contact form table tr th.name02 {
        line-height: 1.3;
    }
    #contact form table tr td.sei,
    #contact form table tr td.mei {
        width: 1%;
    }
    #contact form table tr td label.ex.ari,
    #contact form table tr td label.ex.nashi {
        font-size: 16px;
    }
    #contact form .form_lower th {
        width: 40%;
    }
    #contact form .form_lower td {
        width: 60%;
    }
    #contact form .mail .must,
    #contact form .prefecture .must {
        margin-left: 0 !important;
    }
    #contact form .message {
        flex-direction: column;
    }
    #contact form .message th,
    .message td {
        width: 100% !important;
    }
    #contact form .message .name02 {
        padding-bottom: 10px !important;
    }
    #contact form table textarea {
        height: 150px;
    }
    #contact form input.submit {
        margin: 30px auto;
    }
    #contact form .doui {
        margin: 0 auto;
        font-size: 12px;
    }
    #contact form input.submit {
        margin: 30px auto;
    }
}
@media (min-width: 501px) {
    #contact form table .ex_flex {
        justify-content: flex-start;
    }
}

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

下層：詳細ページ内流れセクション

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

.detail_step {
    margin: 50px auto;
    width: 100%;
}
.detail_step h2.ttl {
    color: #204e93;
    font-size: 20px !important;
    text-align: center;
    margin: 0px 0 30px 0;
}
.detail_step .step_wrap {
    display: flex;
    justify-content: space-between;
}
.detail_step .step_wrap .step_box {
    width: 23%;
}
.detail_step .step_wrap .step_box:last-child {
    margin-right: 0;
}
.detail_step .step_wrap .step_box .step_title {
    background: #292929;
    border-radius: 10px;
    padding: 15px 10px;
    margin-bottom: 10px;
    text-align: center;
    color: #fff;
    font-weight: bold;
}
.detail_step .step_wrap .step_box .step_title .num {
    font-size: 18px;
    line-height: 1.4;
    font-weight: bold;
}
.detail_step .step_wrap .step_box .step_title .ttl {
    font-size: 16px;
    line-height: 1.4;
    margin-bottom: 0;
}
.detail_step .step_wrap .step_box .txt {
    font-size: 16px;
    line-height: 1.4;
}
.detail_step .cf:after {
    display: none;
}

@media screen and (max-width: 768px) {
    .detail_step {
        margin: 30px auto 20px;
    }
    .detail_step .step_wrap {
        flex-direction: column;
    }
    .detail_step .step_wrap .step_box {
        float: none;
        width: 100%;
        margin-right: 0;
        margin-bottom: 20px;
    }
    .detail_step .step_wrap .step_box .step_title {
        padding: 10px;
    }
    .detail_step .step_wrap .step_box .step_title .num {
        font-size: 16px;
    }
    .detail_step .step_wrap .step_box .step_title .ttl {
        font-size: 14px;
    }
}

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

下層：サイドメニュー内のサーチ

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

.list_flex {
    display: flex;
    width: 95%;
    max-width: 1200px;
    margin: 0 auto;
    gap: 30px;
    justify-content: center;
}
.side_menu {
    display: block;
    margin-top: 30px;
}
.bottom_menu {
    display: none;
}
.side_menu .search {
    width: 100%;
    max-width: 280px;
    margin: 0;
    padding: 25px 25px 15px;
    background: #ceeaff;
    border-radius: 10px;
}
.side_menu .search_box {
    width: 100%;
    box-shadow: none;
    border-radius: 10px;
}
.side_menu .search_box .ttl {
    background: url(./img/icon_search.svg) 0 50% no-repeat;
    text-align: left;
    padding-left: 30px;
    color: #111;
    font-size: 16px;
    font-weight: bold;
    line-height: 30px;
    height: 30px;
    margin: 0 0 10px;
    float: none;
}
.side_menu .search_box form .search_inputs.search_job {
    width: 100% !important;
}
.side_menu .search_box form .search_inputs.search_job select {
    border: none;
    height: 50px;
    float: none;
    width: 100%;
    padding: 10px;
    border-bottom: 1px solid #ccc;
    border-radius: 10px 10px 0 0;
}
.side_menu .search_box form .search_inputs.search_area {
    width: 100% !important;
}
.side_menu .search_box form .search_inputs.search_area select {
    border: none;
    height: 50px;
    float: none;
    width: 100%;
    padding: 10px;
    border-bottom: 1px solid #ccc;
}
.side_menu .search_box form .search_inputs.search_keywords {
    width: 100%;
}
.side_menu .search_box form .search_inputs.search_keywords input {
    border: none;
    height: 50px;
    float: none;
    width: 100%;
    padding: 10px;
}
.side_menu .search_box form .search_inputs.search_button input {
    border: none;
    height: 50px;
    float: none;
    font-weight: bold;
    color: #fff;
    background: #204e93;
    width: 100%;
    border-radius: 0 0 10px 10px;
}
.side_menu .keyword_box {
    width: 100%;
    margin: 24px 0 0;
    text-align: left;
}
.side_menu .keyword_box .ttl {
    background: url(./img/icon_keyword.svg) 0 50% no-repeat;
    text-align: left;
    padding-left: 30px;
    color: #111;
    font-size: 16px;
    font-weight: bold;
    line-height: 30px;
    height: 30px;
    margin: 0 0 10px;
    float: none;
}
.side_menu .keyword_box .tag p {
    line-height: 26px;
    height: 26px;
}
.contact_cta {
    border: 2px solid #204E93;
    padding: 30px 24px 0;
    text-align: center;
    margin: 32px 0 16px;
}
.contact_cta p.main {
    font-size: 18px;
    line-height: 1.3;
    font-weight: bold;
    margin: 0 0 12px 0;
    color: #204e93;
}
.contact_cta p.sub {
    line-height: 1.3;
}
.contact_cta p.sub span {
    font-weight: bold;
}
.contact_cta a {
    width: 100%;
    display: block;
    background: #204e93;
    height: 40px;
    color: #fff;
    line-height: 38px;
    margin: 16px 0;
    border-radius: 8px;
    cursor: pointer;
    font-weight: bold;
}
.contact_cta a span {
    font-size: 0.8em;
    border: 1px solid #fff;
    padding: 1px 2px 3px 4px;
    margin: 0px 6px 0px 0;
    font-weight: normal;
}
.contact_cta img {
    width: 100%;
}
.line_cta {
    border: 2px solid #07C657;
    padding: 0px 0px 24px;
    text-align: center;
}
.line_cta p.title {
    display: inline-block;
    height: 40px;
    background-color: #07C657;
    width: 100%;
    line-height: 37px;
    font-weight: bold;
    color: #fff;
    font-size: 16px;
    cursor: pointer;
}
.line_cta p.main {
    font-weight: bold;
    margin: 20px 0 20px 0;
    line-height: 1.3;
}
.line_cta a {
    display: block;
}
.line_cta a img {
    width: 80%;
    margin: 10px 0 0 0;
}
.web3jobs {
    margin: 16px 0 0 0;
}
.web3jobs a {
    display: block;
}
.web3jobs a img {
    width: 100%;
}
.contact_cta a:hover,
.line_cta a:hover,
.web3jobs a:hover {
    opacity: 0.7;
}
.search select,
#contact form p select {
    -webkit-appearance: none;
    appearance: none;
}
.search select::-ms-expand,
#contact form p select::-ms-expand {
    display: none;
}
.search_job,
.search_area {
    position: relative;
    width: 100%;
}
.search_job::before,
.search_area::before {
    border-right: solid 2px #111;
    border-top: solid 2px #111;
    content: "";
    display: block;
    height: 8px;
    position: absolute;
    right: 15px;
    top: 25px;
    transform: rotate(135deg);
    width: 8px;
}
.side_menu .search_job::before,
.side_menu .search_area::before {
    top: 18px !important;
}

@media screen and (max-width:1239px) {
    .side_menu {
        display: none;
    }
}
@media screen and (max-width: 768px) {
    .bottom_menu {
        display: block;
        width: 100%;
        background: #ceeaff;
        padding: 30px 0;
    }
    .bottom_menu .search_box {
        width: 100%;
        border-radius: 10px;
        box-shadow: none;
    }
    .bottom_menu .search_box .ttl {
        background: url(./img/icon_search.svg) 35% 50% no-repeat;
        text-align: center;
        padding-left: 30px;
        color: #111;
        font-size: 16px;
        font-weight: bold;
        line-height: 30px;
        height: 30px;
        margin: 0 0 10px;
        float: none;
    }
    .bottom_menu .search_box form .search_inputs.search_job {
        width: 100% !important;
    }
    .bottom_menu .search_box form .search_inputs.search_job select {
        border: none;
        height: 60px;
        float: none;
        width: 100%;
        padding: 10px;
        border-bottom: 1px solid #ccc;
        border-radius: 10px 10px 0 0;
        color: #111;
    }
    .bottom_menu .search_box form .search_inputs.search_area {
        width: 100% !important;
    }
    .bottom_menu .search_box form .search_inputs.search_area select {
        border: none;
        height: 60px;
        float: none;
        width: 100%;
        padding: 10px;
        border-bottom: 1px solid #ccc;
        color: #111;
    }
    .bottom_menu .search_box form .search_inputs.search_keywords {
        width: 100%;
    }
    .bottom_menu .search_box form .search_inputs.search_keywords input {
        border: none;
        height: 60px;
        float: none;
        width: 100%;
        padding: 10px;
    }
    .bottom_menu .search_box form .search_inputs.search_button input {
        border: none;
        height: 60px;
        float: none;
        font-weight: bold;
        color: #fff;
        background: #204e93;
        width: 100%;
        border-radius: 0 0 10px 10px;
    }
    .bottom_menu .keyword_box {
        width: 100%;
        margin: 24px 0 0;
    }
    .bottom_menu .keyword_box .ttl {
        text-align: center;
        color: #111;
        font-size: 16px;
        font-weight: bold;
        line-height: 30px;
        height: 30px;
        margin: 0 0 10px;
        float: none;
    }
    .bottom_menu .keyword_box .tag {
        float: none;
        margin: 0 auto;
    }
    .bottom_menu .keyword_box .tag p {
        display: inline-block;
        line-height: 30px;
        height: 30px;
        margin: 0 7px;
    }
    .bottom_menu .keyword_box .tag p a:hover {
        text-decoration: underline;
    }
    .other_banner {
        width: 90%;
        margin: 0 auto 40px;
    }
    .contact_cta p.main,
    .line_cta p.main {
        padding: 0;
    }
    .search_job::before,
    .search_area::before {
        top: 21px;
    }
}

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

下層：breadcrumb

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

#breadcrumb {
    padding: 20px 30px;
}
#breadcrumb ul.inner li {
    float: left;
}
#breadcrumb ul.inner li:after {
    content: ">";
    float: right;
    margin: 0 5px;
}
#breadcrumb ul.inner li a:hover {
    text-decoration: underline;
}
#breadcrumb ul.inner li.last:after {
    content: "";
}

@media screen and (max-width: 768px) {
    #breadcrumb {
        padding: 20px 5%;
    }
    #breadcrumb ul.inner li {
        line-height: 1.2;
    }
}

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

下層：FAQ・規約ページ

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

.faq,
.kiyaku {
    width: 90%;
    max-width: 1000px;
    margin: 50px auto 80px;
}
.accordion {
    width: 100%;
    margin-bottom: 15px;
}
.accordion_ttl {
    cursor: pointer;
    font-size: 16px;
    font-weight: bold;
    padding: 17px 70px;
    background: #fff;
    box-shadow: 0 0 7px #ddd;
    border-radius: 5px;
    background: url(./img/icon_q.svg) 25px 50% no-repeat;
    position: relative;
}
.accordion_ttl::after {
    border-right: solid 2px #111;
    border-top: solid 2px #111;
    content: "";
    display: block;
    height: 8px;
    position: absolute;
    right: 25px;
    top: 33%;
    transform: rotate(135deg);
    transition: transform .3s ease-in-out, top .3s ease-in-out;
    width: 8px;
}
.accordion_ttl.open::after {
    top: 40%;
    transform: rotate(-45deg);
}
.accordion_txt {
    display: none;
    padding: 20px 0;
}
.accordion_txt p {
    font-size: 16px;
    line-height: 1.8;
    padding: 0 70px;
    background: url(./img/icon_a.svg) 25px 3px no-repeat;
}
.kiyaku_box {
    width: 100%;
    margin-bottom: 50px;
}
.kiyaku_ttl {
    font-size: 18px;
    color: #204e93;
    border-left: solid 6px #204e93;
    padding-left: 12px;
    margin-bottom: 12px;
    font-weight: bold;
    line-height: 1.2;
}
.kiyaku_txt {
    margin-bottom: 0 0 20px;
}
.kiyaku_txt p {
    font-size: 16px;
    line-height: 1.8;
    padding: 0;
}

@media screen and (max-width: 768px) {
    .faq .tab {
        padding-top: 100px;
        margin-top: -80px;
    }
    #riyou {
        margin-top: -140px;
    }
    .kiyaku {
        margin-top: 20px;
    }
    .accordion_ttl {
        font-size: 14px;
        line-height: 1.4;
        padding: 17px 45px 17px 55px;
        background: url(./img/icon_q.svg) 20px 50% no-repeat;
    }
    .accordion_txt p {
        font-size: 14px;
        padding: 0 10px 0 55px;
        background: url(./img/icon_a.svg) 20px 0 no-repeat;
        text-align: justify;
    }
    .kiyaku_box {
        margin-bottom: 40px;
    }
    .kiyaku_ttl {
        font-size: 16px;
    }
    .kiyaku_txt p {
        font-size: 14px;
    }
}

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

下層：サンクスページ

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

.thanks h2.ttl {
    font-size: 24px !important;
    color: #111 !important;
    text-align: center;
}
.thanks p.txt {
    font-size: 16px !important;
    text-align: center;
    margin-bottom: 40px;
}
.thanks p.cmt {
    font-size: 14px !important;
    text-align: center;
    line-height: 1.5;
}
.thanks p.cmt strong {
    font-weight: bold;
}
.thanks p.bg {
    font-size: 14px !important;
    text-align: left;
    line-height: 1.5;
    background: #eee;
    width: 100%;
    max-width: 500px;
    margin: 30px auto;
    padding: 30px 60px;
}
.thanks .cmt span {
    font-size: 0.9em;
}
.thanks .mail_link {
    color: #5367CF;
    font-weight: bold;
}
.thanks .mail_link:hover {
    text-decoration: underline;
}

@media screen and (max-width: 768px) {
    .thanks p.txt {
        line-height: 1.5;
    }
    .thanks p.cmt {
        text-align: left;
        line-height: 1.4;
    }
    .thanks p.cmt strong {
        font-weight: bold;
        display: block;
        text-align: center;
    }
    .thanks p.bg {
        line-height: 1.4;
        max-width: 500px;
        padding: 20px;
    }
}
@media (min-width: 501px) {
    .thanks p.cmt {
        text-align: center;
    }
    .thanks p.bg {
        padding: 20px 60px;
    }
}

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

下層：案件用エラーページ

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

#close-job h1 {
    font-size: 30px;
    line-height: 1.6;
    font-weight: 700;
    margin: 0 0 40px 0;
}
#close-job h1 span {
    color: #204E93;
}
#close-job .close-job-flex {
    display: flex;
    align-items: flex-end;
}
#close-job .closetext {
    line-height: 1.6    ;
}
#close-job .ccintro {
    font-size: 20px;
    line-height: 1.6;
    margin: 24px 0 50px;
}
#close-job .close-job-text {
    width: 60%;
}
#close-job .searchbtn {
    display: block;
    width: 400px;
    height: 70px;
    line-height: 70px;
    background: #fff;
    border: 2px solid #204E93;
    border-radius: 50px;
    text-align: center;
    font-size: 20px;
    color: #204E93;
    font-weight: 700;
    position: relative;
}
#close-job .searchbtn:hover {
    opacity: 0.7;
}
#close-job a.searchbtn::after {
    content: '';
    background-image: url(https://freelance.confidence-pro.jp/test/wp-content/themes/gensen_tcd050/img/close-job-btnicon.svg);
    width: 50px;
    height: 50px;
    position: absolute;
    top: 50%;
    right: 12px;
    transform: translateY(-50%);
}
#close-job .close-job-img {
    width: 40%;
}
#close-job .close-job-img img {
    width: 100%;
}

@media screen and (max-width:834px) {
    #close-job .close-job-flex {
        flex-direction: column;
        align-items: center;
    }
    #close-job .close-job-text {
        width: 100%;
    }
    #close-job .searchbtn {
        width: 100%;
    }
    #close-job .close-job-img {
        width: 68%;
    }
}
@media screen and (max-width: 768px) {
    #close-job h1 {
        font-size: 20px;
        margin: 0 0 24px 0;
    }
    #close-job .closetext {
        font-size: 12px;
    }
    #close-job .ccintro {
        font-size: 16px;
        margin: 24px 0 30px;
    }
}

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

下層：404ページ

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

.notfound {
    width: 90%;
    max-width: 900px;
    margin: 120px auto 150px;
    text-align: center;
}
.notfound_box {
    width: 100%;
    margin-bottom: 25px;
}
.notfound_ttl {
    font-size: 24px !important;
    color: #111;
    margin-bottom: 40px;
    font-weight: bold;
    line-height: 1.2;
}
.notfound_txt {
    margin-bottom: 0 0 20px;
}
.notfound_txt p {
    font-size: 16px;
    line-height: 1.8;
    padding: 0;
}
.faq a,
.kiyaku a,
.notfound a {
    color: #5367CF;
    font-weight: bold;
}
.faq a:hover,
.kiyaku a:hover,
.notfound a:hover {
    filter: alpha(opacity=70);
    opacity: 0.70;
    text-decoration: underline;
}
.no_post {
    margin-bottom: 450px;
}

@media screen and (max-width: 768px) {
    .notfound {
        margin: 70px auto 100px;
    }
    .notfound_ttl {
        line-height: 1.2;
    }
    .notfound_txt p {
        font-size: 14px;
    }
}

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

パーツ：bottom_bnr

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

.bottom_bnr {
    margin: 0 0 80px;
    text-align: center;
}
@media screen and (max-width:850px) {
    .bottom_bnr img {
        width: 700px;
    }
}
@media screen and (max-width: 768px) {
    .bottom_bnr {
        margin: 0 auto 40px;
        width: 90%;
    }
    .bottom_bnr img {
        width: 100%;
    }
}

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

パーツ：nav_menu

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

@media screen and (max-width: 768px) {
    .nav_menu {
        position: fixed;
        z-index: 2;
        top: 0;
        left: 0;
        background: #fff;
        color: #000;
        width: 100%;
        height: 101vh;
        transform: translateX(200%);
        transition: all .6s;
        border-top: 1px solid #ccc;
        box-shadow: 0 5px 5px 0 rgba(0, 0, 0, 0.3)
    }
    .nav_menu ul {
        background: #fff;
        width: 100%;
        margin: 20px 0 0;
        padding: 0
    }
    .nav_menu ul li {
        font-size: 1.1em;
        list-style-type: none;
        padding: 0;
        width: 100%;
    }
    .nav_menu ul li:last-child {
        padding-bottom: 0;
        border-bottom: 0
    }
    .nav_menu.active {
        transform: translateX(15%)
    }
    .nav_menu.active img {
        height: 40px;
        margin-top: 10px;
        margin-left: 10px;
    }
    .toggle_menu {
        display: block;
        position: fixed;
        right: 0;
        top: 0;
        width: 60px;
        height: 60px;
        cursor: pointer;
        z-index: 3;
        background: #204e93;
    }
    .toggle_menu span {
        display: block;
        position: absolute;
        width: 35px;
        border-bottom: solid 3px #fff;
        -webkit-transition: .35s ease-in-out;
        -moz-transition: .35s ease-in-out;
        transition: .35s ease-in-out;
        left: 13px
    }
    .toggle_menu span:nth-child(1) {
        top: 16px
    }
    .toggle_menu span:nth-child(2) {
        top: 29px
    }
    .toggle_menu span:nth-child(3) {
        top: 42px
    }
    .toggle_menu.active span:nth-child(1) {
        top: 29px;
        left: 13px;
        -webkit-transform: rotate(-45deg);
        -moz-transform: rotate(-45deg);
        transform: rotate(-45deg)
    }
    .toggle_menu.active span:nth-child(2),
    .toggle_menu.active span:nth-child(3) {
        top: 29px;
        -webkit-transform: rotate(45deg);
        -moz-transform: rotate(45deg);
        transform: rotate(45deg)
    }
}

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

パーツ：floating

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

.floating {
    position: fixed;
    bottom: 0;
    background-color: rgba(221, 221, 221, 0.7);
    width: 100%;
    height: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: 0.3s;
}
.floating a {
    background: #204e93;
    border-radius: 10px;
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 90%;
    max-width: 500px;
    height: 80%;
}
.floating a:hover {
    filter: alpha(opacity=80);
    opacity: 0.80;
}

@media screen and (max-width: 768px) {
    .floating {
        height: 70px;
    }
}

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

共通：footer

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

footer {
    background-color: #000;
}
.l-footer-inner2 {
    width: 94%;
    max-width: 1120px;
    margin: 0 auto;
    padding: 50px 0;
    font-size: 14px;
}
.l-footer-sitemap2 {
    display: flex;
    justify-content: space-between;
}
.l-footer-sitemap2-main {
    display: flex;
}
.l-footer-sitemap2-main .main-left {
    margin-right: 50px;
}
.l-footer-sitemap2-main .main-left img {
    width: 250px;
}
.l-footer-sitemap2-main .main-left .l-footer-sitemap__link li {
    font-size: 16px;
    border-bottom: 1px solid #fff;
    padding-bottom: 10px;
    margin-bottom: 20px;
    width: 250px;
}
.l-footer-sitemap2-main .main-right .l-footer-sitemap__link li {
    font-size: 16px;
    border-bottom: 1px solid #fff;
    padding-bottom: 10px;
    margin-bottom: 16px;
    width: 250px;
}
.l-footer-sitemap2-main .l-footer-sitemap__link2 li {
    display: block;
    margin: 12px 0;
    color: #ddd;
}
.l-footer-sitemap2-sub {
    position: relative;
}
.l-footer-sitemap2-sub .l-footer-sitemap__link {
    position: absolute;
    right: 0;
    bottom: 0px;
    text-align: right;
}
.l-footer-sitemap2-sub .l-footer-sitemap__link li {
    margin: 10px 0 0;
}
.l-footer-sitemap2-sub .l-footer-sitemap__link li img {
    width: 12px;
    height: auto;
    margin-left: 5px;
}
.l-footer-relatedservices {
    margin: 50px 0;
}
.l-footer-relatedservices p {
    font-size: 16px;
    color: #fff;
    border-bottom: 1px solid #fff;
    padding-bottom: 10px;
    margin-bottom: 16px;
}
.l-footer-relatedservices li {
    display: block;
    margin: 12px 0;
    line-height: 1.6;
}
.l-footer-sitemap2-main li a,
.l-footer-sitemap2-sub .l-footer-sitemap__link li a,
.l-footer-relatedservices li a {
    color: #fff;
}
.l-footer-sitemap2-main li:hover,
.l-footer-sitemap2-sub .l-footer-sitemap__link li:hover,
.l-footer-relatedservices li:hover {
    opacity: 0.7;
}
.l-footer-copy2 p {
    text-align: center;
    font-size: 11px;
    color: #fff;
}

@media screen and (max-width: 900px) {
    .footer-logo {
        margin-bottom: 32px;
    }
    .l-footer-sitemap2 {
        flex-direction: column;
    }
    .l-footer-sitemap2-main .main-left {
        margin-right: 0;
        width: 100%;
    }
    .l-footer-sitemap2-main .main-left .l-footer-sitemap__link li {
        width: 100%;
    }
    .l-footer-sitemap2-main .l-footer-sitemap__link2 li {
        font-size: 14px !important;
        border-bottom: none !important;
        margin: 12px 0 !important;
    }
    .footer-linebanner {
        width: 100%;
        max-width: 400px;
        display: block;
        margin: 0 auto;
    }
    .l-footer-sitemap2-sub .l-footer-sitemap__link {
        position: initial;
        text-align: left;
        margin-top: 30px;
    }
}
@media screen and (max-width: 768px) {
    .l-footer-sitemap2-sub .l-footer-sitemap__link li {
        margin: 8px 0;
    }
}