/*
Theme Name: template
Theme URI: http://www.sample.com/
Author: user
Author URI: http://www.sample.com/
Description: テンプレ
Version: 1.0
License: user
License URI: user
Text Domain: テンプレ

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.
*/

@charset "utf-8";
/****************************** 全体共通 ******************************/

html {
    font-size: 16px;
    color: #333;
}

html * {
    box-sizing: border-box;
}

body {
    font-family: "游ゴシック体", "游ゴシック", "Yu Gothic", "ヒラギノ丸ゴ ProN W4", "Hiragino Maru Gothic ProN", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
}

body, #wrap {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

h2 span {
    font-size: 1rem;
}

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

ul {
    list-style: none;
    padding: 0;
}

a, a:hover {
    color: #333;
    transition: .3s;
}

a:hover {
    opacity: .6;
    text-decoration: none;
}

table th {
    width: 25%;
    padding: 15px;
}

table td {
    width: 75%;
    padding: 15px;
}

/* @media screen and (max-width: 767px) {
    table, tbody, table tr, table th, table td {
        display: block;
        width: 100%;
        text-align: center;
    }
} */

.row {
    margin-right: 0px;
    margin-left: 0px;
}

.pc {
    display: block;
}

.sp {
    display: none;
}

@media screen and (max-width: 767px) {
    .pc {
        display: none;
    }

    .sp {
        display: block;
    }
}

.container {
    max-width: 1000px;
}

.required {
    color: #f00;
}

/****************************** header ******************************/
header {
    background: #00689b;
}

.header_content {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.header_menu {
    height: 100%;
}

.header_content h1 {
    flex: 1.5;
}

.header_menu {
    flex: 1;
}

.header_content h1 {
    margin: 15px 0;
    display: flex;
    align-items: center;
}

header h1 {
    font-size: initial;
}

header h1 a {
    font-size: 20px;
    font-weight: bold;
    color: #fff;
}

header h1 a:hover{
    color: #fff;
}

@media screen and (max-width: 767px) {
    .header_sp {
        display: flex;
    }

    header h1 {
        margin: 15px 0;
    }

    header h1 a {
        margin-left: 20px;
    }
}

.navi {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0px;
}

.navi li a {
    color: #fff;
}

/*************navi sp ************/

@media screen and (max-width: 1024px) {
    .header_main {
        height: 100%;
        padding: 10px;
        display: flex;
        justify-content: space-around;
        align-items: center;
    }

    .header_main div {
        flex: 1;
    }

    .title_logo {
        margin-left: 20px;
    }

    .nav_menu {
        margin-right: 46px;
        text-align: center;
    }

    .button {
        width: 45px;
        position: fixed;
        z-index: 3;
        top: 30px;
        right: 42px;
        padding: 5px;
        border: none;
        border-radius: 10px;
        background-color: transparent;
        cursor: pointer;
    }

    .button span {
        display: block;
        width: 100%;
        height: 3px;
        background-color: #fff;
        margin-top: 6px;
        transition: .4s;
    }

    .button p {
        color: #fff;
        margin-top: 5px;
        margin-bottom: 0;
        font-size: 1.1rem;
    }

    .button span:last-child {
        margin-bottom: 6px;
    }

    .button span.active:nth-child(1) {
        transform: translatey(9px) rotate(45deg);
    }

    .button span.active:nth-child(2) {
        opacity: 0;
    }

    .button span.active:nth-child(3) {
        transform: translatey(-9px) rotate(-45deg);
    }
}

@media screen and (max-width: 767px) {
    .header_main {
        display: inline-block;
        background-color: transparent;
        width: 1px;
        height: 1px;
        padding: 0;
    }

    .button {
        top: -2px;
        width: 40px;
        right: 10px;
    }

    .button p {
        font-size: 0.5rem;
    }
}

@media screen and (max-width: 767px) {
    .navi {
        width: 220px;
        display: flex;
        align-items: stretch;
        position: fixed;
        z-index: 9999;
        top: 0;
        bottom: 0;
        right: 0;
        margin-right: -300px;
        background: #f1f1f1;
    }
}

@media screen and (max-width: 767px) {
    .menu {
        padding: 0;
        margin: 0;
        width: 100%;
        display: flex;
        flex-direction: column;
    }

    .menu li {
        list-style: none;
        width: 100%;
        display: flex;
        align-items: center;
    }

    .navi li a {
        display: block;
        text-decoration: none;
        font-size: 14px;
        color: #00689b;
        font-weight: bold;
        letter-spacing: 0.15rem;
        padding: 20px 0;
        transition: .3s;
        width: 100%;
        border-bottom: 1px solid;
        margin: 0 20px;

    }
}

@media screen and (max-width: 320px) {
    .menu a {
        padding-bottom: 0px;
    }
}

@media screen and (max-width: 767px) {
    .logo {
        margin-top: 20px;
        text-align: left;
    }

    .logo img {
        width: 75%;
    }

    .home {
        margin-top: 0px;
        margin-bottom: 0px;
    }
}

/****************************** header_second ******************************/

.header {
    background-color: #fff;
}

.header.active {
    background-color: #fff;
}

@media screen and (max-width: 768px) {
    #main-nav {
        background-color: #fff;
    }
}

#main-nav {
    display: flex !important;
    justify-content: space-around;
}

#main-nav ul {
    left: 0%;
}

.navbar-nav li a:hover {
    color: #ff9200 !important;
    text-decoration: underline;
}

@media screen and (max-width: 768px) {
    .navbar-nav {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    .navbar-nav a {
        padding-left: 5px !important;
        padding-right: 5px !important;
    }
}

.navi_content {
    list-style: none;
}

.navi_content p {
    color: #fff;
}

.navi_content a {
    display: block;
    text-align: center;
    color: #fff;
    font-size: 14px;
    text-decoration: none;
}

.navi_content:hover {
    cursor: pointer;
}

.navi_content:hover a {
    color: #fff;
}

.navi_content ul {
    display: none;
    position: absolute;
    z-index: 2;
}

.navi_content li a {
    background: #ee86a7;
}

.navi_content ul li a {
    border-top: 1px solid #eee;
    width: 100%;
    padding-left: 5px;
    padding-right: 5px;
    line-height: 2.8;
}

@media screen and (max-width: 768px) {
    .navi_content {
        margin-bottom: 15px;
    }

    .navi_content span, .navi_content a {
        display: flex;
        justify-content: center;
        align-items: center;
    }
}

nav.globalMenuSp {
    position: fixed;
    z-index: 9001;
    top: 0;
    left: 0;
    height: 100vh;
    background: rgba(0, 0, 0, 0.8);
    text-align: center;
    opacity: 0;
    transition: opacity 0.5s, transform 0s 0.5s;
    transform: scale(0);
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

nav.globalMenuSp ul {
    margin: 0 auto 20px;
    padding: 0;
    width: 100%;
}

nav.globalMenuSp ul li {
    font-size: 1.1em;
    list-style-type: none;
    padding: 0;
    width: 100%;
}

nav.globalMenuSp ul li a {
    /*display: block;*/
    color: #fff;
    padding: 12px 0;
    font-size: 1.1rem;
}

/* このクラスを、jQueryで付与・削除する */

nav.globalMenuSp.active {
    //transform: translateY(0%);
    opacity: 1;
    transform: scale(1);
    transition: opacity 0.5s;
}

.navToggle {
    display: block;
    position: fixed;
    right: 13px;
    top: 10px;
    width: 42px;
    height: 51px;
    cursor: pointer;
    z-index: 10001;
    background: #fff;
    text-align: center;
}

.navToggle span {
    display: block;
    position: absolute;
    width: 30px;
    border-bottom: solid 3px #555;
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out;
    left: 6px;
}

.navToggle span:nth-child(1) {
    top: 9px;
}

.navToggle span:nth-child(2) {
    top: 18px;
}

.navToggle span:nth-child(3) {
    top: 27px;
}

.navToggle span:nth-child(4) {
    border: none;
    color: #555;
    font-size: 9px;
    font-weight: bold;
    top: 34px;
}

/* 最初のspanをマイナス45度に */

.navToggle.active span:nth-child(1) {
    top: 18px;
    left: 6px;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

/* 2番目と3番目のspanを45度に */

.navToggle.active span:nth-child(2), .navToggle.active span:nth-child(3) {
    top: 18px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
}

.title_link_area {
    display: flex;
    justify-content: space-around;
    align-items: center;
    border-bottom: 1px solid #edebda;
}

@media screen and (max-width: 767px) {
    .title_link_area {
        display: block;
    }
}

.title_link_area p, .navbar-brand {
    flex: 1;
}

.title_link_area p {
    color: #121212;
    font-size: 1.1rem;
}

.navbar-brand {
    border-bottom: none;
}

.navbar-brand img {
    width: 50%;
    margin: 0 auto;
}

.navbar-inverse {
    background-color: #fff;
    border-color: #fff;
}

.navbar-inverse .navbar-nav>li>a {
    color: #333;
}

/****************************** top ******************************/

/*** main_visual ***/

/*** パーツ共通 ***/

/* section {
    margin-bottom: 25px;
    padding-top: 25px;
    padding-bottom: 25px;
} */

section a {
    padding: 15px;
    background-color: #00689b;
    color: #fff;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

section a:hover {
    background-color: #333;
    color: #fff;
    opacity: 1;
}

.section_content {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

@media screen and (max-width: 767px) {
    .section_content {
        display: block;
    }
}

.content_1, .content_2 {
    flex: 1;
}

.content_2 img {
    width: 100%;
}

@media screen and (max-width: 767px) {
    .content_1 {
        margin-bottom: 25px;
    }
}

/****************************** information　パーツ ******************************/

/***** コンテンツ背景色CSS -入れ替えるコンテンツのコメントを外して使う- *****/

.info_content_1 {
    background-color: #aaa;
}

/***** コンテンツ入れ替えCSS -入れ替えるコンテンツのコメントを外して使う- *****/

/*
.info_content_1 .content_1 {
    order: 2;
    text-align: right;
}

.info_content_1 .content_2 {
    order: 1;
}
*/

.info_content_1 .info_lists_link {
    margin-top: 25px;
}

.info_content_2 .notice_content {
    margin-bottom: 15px;
    border-bottom: 1px solid #333;
}

.info_content_2 .content_1 {
    margin-right: 10px;
}

.info_content_2 .content_2 {
    margin-left: 10px;
}

.info_content_2 .section_content_2 {
    margin-top: 30px;
}

.info_content_3 {
    background: linear-gradient(180deg, #bbb 0%, #bbb 47%, #fff 47%, #fff 100%);
}

@media screen and (max-width: 767px) {
    .info_content_3 {
        background: linear-gradient(180deg, #bbb 0%, #bbb 55%, #fff 55%, #fff 100%);
    }
}

.info_content_3 h2 {
    margin-bottom: 0px;
}

.info_content_3 .article_title {
    background-color: #ddd;
    padding: 10px;
}

.info_content_3 .article_title p {
    margin-bottom: 0px;
}

.info_content_3 article a {
    background-color: transparent;
    color: #333;
    padding: 0px;
}

.info_content_3 article a:hover {
    background-color: transparent;
    color: #333;
}

@media screen and (max-width: 767px) {
    .info_content_3 article {
        margin-top: 30px;
    }
}

.info_content_3 .section_content, .info_content_3 .section_content_2 {
    margin-top: 30px;
}

.info_content_4 td a {
    background-color: transparent;
    color: #333;
}

.info_content_4 td a:hover {
    background-color: transparent;
    color: #333;
}

.info_content_4 .information_list {
    text-align: right;
}

@media screen and (max-width: 767px) {
    .info_content_4 .information_list {
        margin-top: 25px;
        text-align: center;
    }
}

/****************************** campany　パーツ ******************************/

.info_lists_link {
    margin-top: 25px;
}

.campany_content_1 {
    /* background-color: #aaa; */
}

/***** コンテンツ入れ替えCSS -入れ替えるコンテンツのコメントを外して使う- *****/

/*
.campany_content_1 .content_1 {
    order: 2;
    text-align: right;
}

.campany_content_1 .content_2 {
    order: 1;
}
*/

.campany_content_2 .section_content {
    background-color: #aaa;
    align-items: center;
}

.campany_content_2 .content_1 {
    flex: 1;
    padding: 20px;
}

.campany_content_2 .content_2 {
    flex: 2;
}

.campany_content_3 {
    /* background-color: #aaa; */
}

.campany_content_3 .section_content {
    align-items: center;
}

/***** コンテンツ入れ替えCSS -入れ替えるコンテンツのコメントを外して使う- *****/

/*
.campany_content_3 .content_1 {
    order: 2;
    text-align: right;
}

.campany_content_3 .content_2 {
    order: 1;
}
*/


.campany_content_4 .campany_content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 50px 0 0;
}

.campany_content_4 + .campany_content_4 .campany_content{
    flex-direction: row-reverse;
    padding: 50px 0 50px;
}

@media screen and (max-width: 767px) {
    .campany_content_4 .campany_content {
        flex-direction: column-reverse;
    }
    .campany_content_4 + .campany_content_4 .campany_content{
        flex-direction: column-reverse;
    }
}

.campany_content_4 .campany_content .content_text {
    flex: 1;
    background-color: #fff;
    padding: 20px 20px 40px;
    position: relative;
    z-index: 2;
    border: 1px solid #333;
    text-align: left;
}

@media screen and (max-width: 767px) {
    .campany_content_4 .campany_content .content_text {
        width: 90%;
        margin-top: -10px;
    }
}

.campany_content_4 .campany_content .content_text h2 {
    margin-top: 5px;
}

.campany_content_4 .campany_content .content_text .to_detail {
    margin-top: 35px !important;
}

.campany_content_4 .campany_content .content_text .to_detail a span {
    margin-left: 15px;
}

.campany_content_4 .campany_content .content_img {
    position: relative;
    flex: 2;
    margin-left: -92px;
}

.campany_content_4 + .campany_content_4 .campany_content .content_img{
    margin-left: 0;
    margin-right: -92px;
}

@media screen and (max-width: 767px) {
    .campany_content_4 .campany_content .content_img {
        margin-left: 0px;
    }
}

/****************************** business パーツ ******************************/

/*
.business_content_1 {
    background-color: #aaa;
}
*/

/***** コンテンツ入れ替えCSS -入れ替えるコンテンツのコメントを外して使う- *****/

/*
.business_content_1 .content_1 {
    order: 2;
    text-align: right;
}

.business_content_1 .content_2 {
    order: 1;
}
*/

.business_content_1 .business_lists_link {
    margin-top: 25px;
}

.business_content_2 {
    background-color: #00689b;
    height: 366px;
}

.business_content_2 .section_content, .business_content_2 .content_1 {
    height: 100%;
}

.business_content_2 .content_1 {
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    align-items: center;
}

.business_content_2 h2 {
    color: #fff;
}

.business_content_2 .read_more, .business_content_2 .read_more a {
    display: flex;
    justify-content: center;
    align-items: center;
}

.business_content_2 .read_more {
    margin-top: 10px;
    margin-bottom: 20px;
}

.business_content_2 .read_more a {
    position: relative;
    z-index: 2;
    width: 150px;
    height: 150px;
    color: #fff;
    border: 1px solid #fff;
    border-radius: 9999px;
    background-color: transparent;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.business_content_2 .read_more a:hover {
    width: 170px;
    height: 170px;
    margin: -10px;
}

.business_content_3 {
    position: relative;
    height: 935px;
}

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

@media screen and (max-width: 767px) {
    .business_content_3 {
        height: 1460px;
        margin-bottom: 45px;
    }
}

@media screen and (max-width: 375px) {
    .business_content_3 {
        height: 1370px;
    }
}

@media screen and (max-width: 320px) {
    .business_content_3 {
        height: 1220px;
    }
}

.business_content_3 .business_lists_link {
    margin-top: 25px;
}

@media screen and (max-width: 767px) {
    .business_content_3 .business_content_3_image {
        display: none;
    }
}

.business_content_3 .container {
    position: absolute;
    z-index: 2;
    top: 25px;
    left: 0;
    right: 0;
    margin: auto;
}

@media screen and (max-width: 767px) {
    .business_content_3 .container {
        position: relative;
        top: 0px;
    }
}

.business_content_3 .business_content_3_details {
    margin-top: 25px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

@media screen and (max-width: 767px) {
    .business_content_3 .business_content_3_details {
        display: block;
    }
}

.business_content_3 .content_1 {
    margin-right: 15px;
}

.business_content_3 .content_2 {
    margin-left: 15px;
}

@media screen and (max-width: 767px) {
    .business_content_3 .content_1 {
        margin-right: 0px;
    }

    .business_content_3 .content_2 {
        margin-left: 0px;
    }
}

.business_content_3 .content_1 img {
    width: 100%;
}

.business_content_4 {
    background-repeat: repeat;
}

@media screen and (max-width: 767px) {
    .business_content_4 {
        background-image: none;
        padding-top: 0px;
        padding-bottom: 0px;
    }

    .business_content_4 .container {
        background-repeat: repeat;
        margin-top: -20px;
    }
}

.business_content_4 .business_content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 25px;
}

@media screen and (max-width: 767px) {
    .business_content_4 .business_content {
        display: block;
        padding: 0px;
    }
}

.business_content_4 .business_content .content_text {
    flex: 1;
    height: 260px;
    background-color: #fff;
    padding: 20px;
    position: relative;
    z-index: 2;
    opacity: 0.8;
    border: 1px solid #333;
    text-align: right;
}

@media screen and (max-width: 768px) {
    .business_content_4 .business_content .content_text {
        padding: 5px;
    }
}

@media screen and (max-width: 767px) {
    .business_content_4 .business_content .content_text {
        height: 300px;
        padding: 20px;
    }
}

@media screen and (max-width: 767px) {
    .business_content_4 .business_content .content_text {
        height: 315px;
        padding: 20px;
    }
}

.business_content_4 .business_content .content_text .to_detail {
    margin-top: 35px !important;
}

.business_content_4 .business_content .content_text .to_detail a span {
    margin-left: 15px;
}

.business_content_4 .business_content .content_img {
    position: relative;
    flex: 2;
    margin-right: -92px;
}

@media screen and (max-width: 767px) {
    .business_content_4 .business_content .content_img {
        margin-right: 0px;
    }
}

/****************************** contact　パーツ ******************************/

.contact_content_1 {
    /* background-color: #aaa; */
}

/***** コンテンツ入れ替えCSS -入れ替えるコンテンツのコメントを外して使う- *****/

.contact_content_1 .content_1 {
    /* order: 2; */
    margin-right: 10px;
}

.contact_content_1 .content_2 {
    /* order: 1; */
    margin-left: 10px;
}

@media screen and (max-width: 767px) {
    .contact_content_1 .content_1 {
        margin-right: 0px;
    }

    .contact_content_1 .content_2 {
        margin-left: 0px;
    }
}

.contact_content_1 .section_content {
    align-items: center;
}

.contact_content_1 .content_1, .contact_content_1 .content_2 {
    flex: 1;
    padding: 20px 20px 40px;
    text-align: center;
    border: 1px solid #333;
}

.contact_content_1 .content_1 a, .contact_content_1 .content_2 a {
    background-color: #fff;
    color: #333;
    border: 1px solid #333;
    -webkit-transition: all 30s ease;
    -moz-transition: all 30s ease;
    -o-transition: all 30s ease;
    transition: all 30s ease;
}

.contact_content_1 .content_1 a:hover, .contact_content_1 .content_2 a:hover {
    border-radius: 9999px;
}

.contact_content_2 h2 {
    margin-bottom: 20px;
    font-size: 1.8rem;
}

@media screen and (max-width: 1024px) {
    .contact_content_2 h2 {
        font-size: 1.7rem;
    }
}

@media screen and (max-width: 768px) {
    .contact_content_2 h2 {
        font-size: 1.28rem;
    }
}

@media screen and (max-width: 375px) {
    .contact_content_2 h2 {
        font-size: 1.26rem;
    }
}

@media screen and (max-width: 320px) {
    .contact_content_2 h2 {
        font-size: 1rem;
    }
}

.contact_content_2 .content_1, .contact_content_2 .content_2 {
    text-align: center;
    border: 1px solid #333;
}

.contact_content_2 .content_1 {
    padding: 29px 20px;
}

.contact_content_2 .content_2 {
    padding: 14px 20px;
}

.contact_content_2 .content_1 a, .contact_content_2 .content_2 a {
    width: 100%;
    background-color: #fff;
    color: #333;
    border: none;
}

/***** コンテンツ入れ替えCSS -入れ替えるコンテンツのコメントを外して使う- *****/

.contact_content_2 .content_1 {
    /* order: 2; */
    margin-right: 10px;
}

.contact_content_2 .content_2 {
    /* order: 1; */
    margin-left: 10px;
}

@media screen and (max-width: 767px) {
    .contact_content_2 .content_1 {
        margin-right: 0px;
    }

    .contact_content_2 .content_2 {
        margin-left: 0px;
    }
}

.contact_content_3 {
    background: #f1f1f1;
    padding: 20px 0 50px;
}

.contact_content_3 h2 {
    margin-bottom: 20px;
}

.contact_content_3 .content_1, .contact_content_3 .content_2 {
    text-align: center;
}

.contact_content_3 .content_1 a, .contact_content_3 .content_2 a {
    display: block;
    width: 100%;
    background-color: #00689b;
    color: #fff;
    border: none;
    /* border: 1px solid #333; */
}

.contact_content_3 .content_1 a:hover, .contact_content_3 .content_2 a:hover {
    background-color: #333;
    /* color: #fff; */
    /* opacity: 1; */
    /* border: 1px solid #00689b; */
}

/***** コンテンツ入れ替えCSS -入れ替えるコンテンツのコメントを外して使う- *****/

.contact_content_3 .content_1 {
    /* order: 2; */
    margin-right: 10px;
}

.contact_content_3 .content_2 {
    /* order: 1; */
    margin-left: 10px;
}

@media screen and (max-width: 767px) {
    .contact_content_3 .content_1 {
        margin-right: 0px;
    }

    .contact_content_3 .content_2 {
        margin-left: 0px;
    }
}

.contact_content_4 h2 a {
    margin-bottom: 20px;
    font-size: 1.8rem;
}

@media screen and (max-width: 1024px) {
    .contact_content_4 h2 a {
        font-size: 1.7rem;
    }
}

@media screen and (max-width: 768px) {
    .contact_content_4 h2 a {
        font-size: 1.28rem;
    }
}

@media screen and (max-width: 375px) {
    .contact_content_4 h2 a {
        font-size: 1.2rem;
    }
}

@media screen and (max-width: 320px) {
    .contact_content_4 h2 a {
        font-size: 0.9rem;
    }
}

.contact_content_4 .section_content {
    display: block;
    width: 60%;
    margin: 0 auto;
}

@media screen and (max-width: 767px) {
    .contact_content_4 .section_content {
        width: 100%;
    }
}

.contact_content_4 .content_1 {
    text-align: center;
    border: 1px solid #333;
}

.contact_content_4 .content_1 {
    padding: 0px 20px 20px;
}

.contact_content_4 .content_1 a {
    background-color: #fff;
    color: #333;
    border: none;
}

/****************************** recruit パーツ ******************************/

.recruit_content_2 h2 {
    margin-bottom: 20px;
}

.recruit_content_2_img {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.recruit_content_2_text {
    margin-top: 20px;
    margin-bottom: 20px;
}

.recruit_content_2 .section_content {
    display: flex;
    justify-content: center;
    align-items: center;
}

.recruit_content_2 .section_content a {
    padding: 10px 30px;
}

.recruit_content_3 .content_wrap {
    border: 1px solid #333;
    padding: 15px;
}

@media screen and (max-width: 767px) {
    .recruit_content_3 h2 {
        margin-top: 10px;
    }
}

.recruit_content_3 h2 a {
    margin-bottom: 20px;
    font-size: 1.8rem;
}

@media screen and (max-width: 1024px) {
    .recruit_content_3 h2 a {
        font-size: 1.7rem;
    }
}

@media screen and (max-width: 768px) {
    .recruit_content_3 h2 a {
        font-size: 1.28rem;
    }
}

@media screen and (max-width: 375px) {
    .recruit_content_3 h2 a {
        font-size: 1.2rem;
    }
}

@media screen and (max-width: 320px) {
    .recruit_content_3 h2 a {
        font-size: 0.9rem;
    }
}

.recruit_content_3 .section_content {
    display: block;
    width: 60%;
    margin: 0 auto 20px;
}

@media screen and (max-width: 767px) {
    .recruit_content_3 .section_content {
        width: 100%;
    }
}

.recruit_content_3 .content_1 {
    text-align: center;
    background-color: #333;
    color: #fff;
}

.recruit_content_3 .content_1 {
    padding: 5px 20px 20px;
}

@media screen and (max-width: 767px) {
    .recruit_content_3 .content_1 {
        padding: 20px;
    }
}

@media screen and (max-width: 767px) {
    .recruit_content_4 h2 {
        margin-top: 10px;
    }
}

.recruit_content_4 a {
    margin-bottom: 20px;
    font-size: 1.8rem;
}

@media screen and (max-width: 1024px) {
    .recruit_content_4 a {
        font-size: 1.7rem;
    }
}

@media screen and (max-width: 768px) {
    .recruit_content_4 a {
        font-size: 1.28rem;
    }
}

@media screen and (max-width: 375px) {
    .recruit_content_4 a {
        font-size: 1.2rem;
    }
}

@media screen and (max-width: 320px) {
    .recruit_content_4 a {
        font-size: 0.9rem;
    }
}

.recruit_content_4 .section_content {
    display: block;
    width: 60%;
    margin: 0 auto;
}

@media screen and (max-width: 767px) {
    .recruit_content_4 .section_content {
        width: 100%;
    }
}

.recruit_content_4 .content_1 {
    text-align: center;
    background-color: #333;
    color: #fff;
}

.recruit_content_4 .content_1 {
    padding: 5px 20px 20px;
}

@media screen and (max-width: 767px) {
    .recruit_content_4 .content_1 {
        padding: 10px 20px 20px;
    }
}

/****************************** 下層ページ共通 ******************************/

.page {
    margin-bottom: 50px;
}

.page_main_visual_area {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding: 50px 0;
    margin-bottom: 50px;
}

@media screen and (max-width: 767px) {
    .page_main_visual_area {
        margin-bottom: 30px;
    }
}

.page_main_visual_area h2, .page_main_visual_area p {
    color: #333;
    font-weight: bold;
    text-shadow: 0px 0px 5px #ddd;
}

/* page_main_visual_3 */

.pattern_3 {
    background-color: #aaa;
}

.pattern_3 .main_content_title h2 {
    color: #fff;
    text-shadow: none;
}

.pattern_3 .main_content_title {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.pattern_3 .main_content_title:before, .pattern_3 .main_content_title:after {
    content: "";
    flex-grow: 1;
    height: 1px;
    background: #fff;
    display: block;
}

/* page_main_visual_4,page_main_visual_7共通 */

.pattern_4, .pattern_7 {
    padding-top: 50px;
    padding-bottom: 50px;
}

/****************************** information　下層ページ ******************************/
.information_area a {
    background-color: #fff;
    color: #333;
    text-decoration: none;
}

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

.list_content_thumbnail img {
    width: 100%;
}

/****************************** campany　下層ページ ******************************/

/****************************** business　下層ページ ******************************/

.business_img {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.business_img a {
    background-color: #fff;
}

.business_img a img:hover {
    transition: all 0.25s linear;
    filter: brightness(70%);
}

.business .box_content {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

@media screen and (max-width: 767px) {
    .business .box_content {
        display: block;
    }
}

.business .box_img, .business .box_text {
    flex: 1;
    padding: 5px;
}

/***** コンテンツ入れ替えCSS -入れ替えるコンテンツのコメントを外して使う- *****/

/*
.business_section_2 .box_img {
    order: 1;
}

.business_section_2 .box_text {
    order: 2;
    text-align: right;
}
*/
.business_section_1 {
    padding-bottom: 20px;
}

.business_section_1 h3 {
    line-height: 1.7;
}

.business_section_2 table,
.business_section_2 tbody,
.business_section_2 tr {
    width: 100%;
}

.business_section_2 th {
    background: #f1f1f1;
    border: 1px solid #ddd;
}

.business_section_2 td {
    border: 1px solid #ddd;
}

.business_section_3 .box_img {
    order: 1;
}

.business_section_3 .box_text {
    order: 2;
    text-align: right;
}

/***** コンテンツ入れ替えCSS -入れ替えるコンテンツのコメントを外して使う- *****/

/*
.business_section_4 .box_img {
    order: 1;
}

.business_section_4 .box_text {
    order: 2;
    text-align: right;
}
*/

/***** greeting *****/

.greeting .container {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

@media screen and (max-width: 767px) {
    .greeting .container {
        display: block;
    }
}

.greeting_text, .greeting_img {
    flex: 1;
}

.about_us h3, .staff_info h3, .access h3 {
    position: relative;
    text-align: center;
    margin-bottom: 60px;
}

.about_us h3:before, .staff_info h3:before, .access h3:before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    width: 40%;
    height: 4px;
    border-top: 4px solid #ddd;
}

.about_us h3:after, .staff_info h3:after, .access h3:after {
    content: '';
    position: absolute;
    top: 50%;
    right: 0;
    width: 40%;
    height: 4px;
    border-top: 4px solid #ddd;
}

@media screen and (max-width: 767px) {
    .about_us h3:before, .staff_info h3:before, .access h3:before {
        width: 30%;
    }

    .about_us h3:after, .staff_info h3:after, .access h3:after {
        width: 30%;
    }
}

@media screen and (max-width: 320px) {
    .about_us h3:before, .staff_info h3:before, .access h3:before {
        width: 23%;
    }

    .about_us h3:after, .staff_info h3:after, .access h3:after {
        width: 23%;
    }
}

/****************************** recruit　下層ページ ******************************/

.recruit {
    margin-bottom: 25px;
}

.recruit .discription {
    margin-top: -25px;
    padding-top: 25px;
    padding-bottom: 25px;
}

/****************************** contact ******************************/

/****************************** contact,recruit共通 ******************************/

.confirm_check, .submit_btn_area {
    margin-top: 25px;
}

/****************************** attention ******************************/

.attention h3 {
    border-bottom: 2px solid #ddd;
    line-height: 1.7;
}

/****************************** privacy-policy ******************************/

.privacy-policy h3 {
    border-bottom: 2px solid #ddd;
    line-height: 1.7;
}

/****************************** footer ******************************/

#pagetop {
    position: fixed;
    right: -15px;
    bottom: 70px;
    cursor: pointer;
    z-index: 3;
}

#pagetop img {
    width: 50%;
}

footer {
    margin-top: auto;
    padding: 20px 0 0;
    background: #404040;
    color: #fff;
}

.footer_logo {
    margin-bottom: 16.35px;
}

.footer_logo p {
    font-size: 26px;
    font-weight: bold;
    margin-bottom: 30px;
    padding-bottom: 10px;
    border-bottom: 1px solid;
}

@media screen and (max-width: 767px) {
    .footer_logo p {
        font-size: 20px;
        margin-bottom: 0;
        border-bottom: none;
    }
}

.footer_links ul {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

footer a,
footer a:hover {
    color: #fff;
}

.footer_second .footer_logo {
    text-align: left;
}

.footer_info {
    margin: 20px 0 10px;
}

@media screen and (max-width: 767px) {
    .footer_info {
        margin: 0 0 10px;
    }
}

/****************************** footer-second ******************************/

@media screen and (max-width: 767px) {
    .footer_second .footer_logo {
        text-align: center;
    }
}

/****************************** 追加したcss ******************************/
#wpadminbar {
    display: none;
}

.main_visual {
    height: 100vh;
}

.main_visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media only screen and (max-width: 768px) {
    .main_visual {
        height: 60vh;
    }
    .main_visual img {
        object-position: 43% 50%;
    }
}

/* お問い合わせ */

.page.contact .contact_area {
    border: 1px solid #989898;
    padding: 30px 50px;
}

@media screen and (max-width: 768px) {
    .page.contact .contact_area {
        padding: 15px 25px;
    }
}

.page.contact .contact_area .form_area {
    margin-top: 25px;
}

@media screen and (max-width: 768px) {
    .page.contact .contact_area .form_area {
        margin-top: 10px;
    }
}

.page.contact .contact_area .form_area p {
    margin: 0;
}

.page.contact .contact_area .form_area table {
    width: 100%;
}

.page.contact .contact_area .form_area tr {
    display: block;
    margin-bottom: 40px;
}

.page.contact .contact_area .form_area tr:last-child {
    margin-bottom: 60px;
}

@media screen and (max-width: 768px) {
    .page.contact .contact_area .form_area tr:last-child {
        margin-bottom: 45px;
    }
}

.page.contact .contact_area .form_area tr th {
    width: 100%;
    font-size: 16px;
    font-weight: normal;
    padding: 0;
    text-align: left;
}

@media screen and (max-width: 768px) {
    .page.contact .contact_area .form_area tr th {
        display: block;
        width: 100%;
    }
}

@media screen and (max-width: 767px) {
    .page.contact .contact_area .form_area tr th {
        padding-top: 0;
    }
}

.page.contact .contact_area .form_area tr th .df {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-right: 50px;
}

@media screen and (max-width: 768px) {
    .page.contact .contact_area .form_area tr th .df {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        margin-right: 0;
        margin-bottom: 10px;
    }
}

.page.contact .contact_area .form_area tr th .df p {
    line-height: 2;
}

@media screen and (max-width: 375px) {
    .page.contact .contact_area .form_area tr th .df p {
        font-size: 3.85vw;
    }
}

.page.contact .contact_area .form_area tr td {
    padding: 0;
}

@media screen and (max-width: 768px) {
    .page.contact .contact_area .form_area tr td {
        display: block;
        width: 100%;
    }
}

.page.contact .contact_area .form_area tr td ::-webkit-input-placeholder {
    color: #b2b2b2;
}

.page.contact .contact_area .form_area tr td :-ms-input-placeholder {
    color: #b2b2b2;
}

.page.contact .contact_area .form_area tr td ::-ms-input-placeholder {
    color: #b2b2b2;
}

.page.contact .contact_area .form_area tr td ::placeholder {
    color: #b2b2b2;
}

.page.contact .contact_area .form_area tr td .form_control {
    /* font-family: "Noto Sans JP", sans-serif; */
    width: 500px;
    border: 1px solid #b2b2b2;
    padding: 17px;
    font-size: 16px;
    line-height: 1.5;
}

@media screen and (max-width: 768px) {
    .page.contact .contact_area .form_area tr td .form_control {
        width: 100%;
    }
}

.page.contact .contact_area .form_area tr td textarea {
    min-width: 500px;
    max-width: 500px;
    min-height: 260px;
}

@media screen and (max-width: 768px) {
    .page.contact .contact_area .form_area tr td textarea {
        min-width: 100%;
        max-width: 100%;
        min-height: 400px;
    }
}

.page.contact .contact_area .form_area .check_privacy {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 30px;
}

@media screen and (max-width: 767px) {
    .page.contact .contact_area .form_area .check_privacy {
        display: block;
        margin-bottom: 40px;
    }
}

.page.contact .contact_area .form_area .check_privacy .df {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.page.contact .contact_area .form_area .check_privacy .df .check_title {
    font-size: 16px;
    margin-right: 20px;
    line-height: 1.3;
    font-weight: 500;
}

@media screen and (max-width: 767px) {
    .page.contact .contact_area .form_area .check_privacy .df .check_title {
        margin-right: 0;
    }
}

@media screen and (max-width: 375px) {
    .page.contact .contact_area .form_area .check_privacy .df .check_title {
        font-size: 3.85vw;
    }
}

.page.contact .contact_area .form_area .check_privacy .check_box {
    margin-left: 55px;
    font-size: 16px;
    line-height: 1.3;
    font-weight: 400;
}

@media screen and (max-width: 767px) {
    .page.contact .contact_area .form_area .check_privacy .check_box {
        margin-left: 0;
        margin-top: 15px;
    }
}

@media screen and (max-width: 375px) {
    .page.contact .contact_area .form_area .check_privacy .check_box {
        font-size: 3.85vw;
    }
}

.page.contact .contact_area .form_area .check_privacy .check_box .contact_acceptance {
    vertical-align: middle;
}

.page.contact .contact_area .form_area .check_privacy .check_box .wpcf7-list-item {
    margin: 0;
}

.page.contact .contact_area .form_area .check_privacy .check_box .wpcf7-list-item label {
    cursor: pointer;
}

.page.contact .contact_area .form_area .check_privacy .check_box .wpcf7-list-item label input[type="checkbox"] {
    width: 19px;
    height: 19px;
    vertical-align: sub;
}

.page.contact .contact_area .form_area .check_privacy .check_box .wpcf7-list-item .wpcf7-list-item-label {
    font-weight: normal;
}

.page.contact .contact_area .form_area .attention {
    margin-bottom: 50px;
}

.page.contact .contact_area .form_area .attention p {
    line-height: 1.7;
}

@media screen and (max-width: 375px) {
    .page.contact .contact_area .form_area .attention p {
        font-size: 3.3vw;
    }
}

.page.contact .contact_area .form_area .quiz {
    margin-bottom: 50px;
}

.page.contact .contact_area .form_area .quiz label {
    font-weight: 400;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

@media screen and (max-width: 768px) {
    .page.contact .contact_area .form_area .quiz label {
        display: block;
    }
}

@media screen and (max-width: 768px) {
    .page.contact .contact_area .form_area .quiz label span {
        display: block;
        margin-bottom: 15px;
    }
}

@media screen and (max-width: 375px) {
    .page.contact .contact_area .form_area .quiz label span {
        font-size: 3.3vw;
    }
}

.page.contact .contact_area .form_area .quiz label input {
    font-family: "Noto Sans JP", sans-serif;
    width: 100px;
    border: 1px solid #b2b2b2;
    padding: 5px 10px;
    font-size: 14px;
    line-height: 1.5;
}

@media screen and (max-width: 375px) {
    .page.contact .contact_area .form_area .quiz label input {
        font-size: 3.3vw;
    }
}

.page.contact .contact_area .form_area .confirm input {
    background: #00689b;
    width: 350px;
    padding: 20px 0;
    border: none;
    color: #fff;
    font-size: 22px;
    line-height: 1;
    font-weight: 500;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}

@media screen and (max-width: 767px) {
    .page.contact .contact_area .form_area .confirm input {
        width: 100%;
    }
}

@media screen and (max-width: 375px) {
    .page.contact .contact_area .form_area .confirm input {
        font-size: 5.3vw;
    }
}

.page.contact .contact_area .form_area .confirm input:hover {
    background: #555;
}

.page.contact .contact_area .form_area .confirm input:disabled {
    background: #989898;
}

.page.contact .contact_area .form_area .confirm .submit_button {
    width: 350px;
    margin: 0 auto;
    position: relative;
}

@media screen and (max-width: 767px) {
    .page.contact .contact_area .form_area .confirm .submit_button {
        width: 100%;
    }
}

.page.contact .contact_area .form_area .confirm .submit_button::after {
    position: absolute;
    content: "";
    background-image: url(images/arrow_right_white.svg);
    background-repeat: no-repeat;
    width: 9px;
    height: 15px;
    top: 25px;
    right: 20px;
}

@media screen and (max-width: 767px) {
    .page.contact .contact_area .form_area .confirm .submit_button::after {
        top: 23px;
    }
}

.page.contact .contact_area .form_area .confirm .submit_button_prev {
    width: 250px;
    margin-bottom: 10px;
}

.page.contact .contact_area .form_area .confirm .submit_button_prev::after {
    right: auto;
    left: 20px;
    -webkit-transform: scale(-1, 1);
    transform: scale(-1, 1);
}

.page.contact .contact_area .form_area .confirm .submit_button_prev input {
    background: #777;
    width: 250px;
    padding-left: 20px;
}

.page.contact .contact_area .form_area .attention_2 {
    margin-top: 15px;
}

@media screen and (max-width: 767px) {
    .page.contact .contact_area .form_area .attention_2 {
        font-size: 10px;
        margin: -5px;
    }
}

@media screen and (max-width: 375px) {
    .page.contact .contact_area .form_area .attention_2 {
        font-size: 2.4vw;
        margin: -10px;
    }
}


.page.contact .contact_area .hissu {
    font-size: 12px;
    font-weight: bold;
    color: #fff;
    background: #c13540;
    padding: 2px 6px;
    vertical-align: top;
}

@media screen and (max-width: 768px) {
    .page.contact .contact_area .hissu {
        margin-left: 20px;
        vertical-align: baseline;
    }
}

@media screen and (max-width: 375px) {
    .page.contact .contact_area .hissu {
        font-size: 2.9vw;
    }
}



.recruit_table {
    border-collapse: collapse;
}
.recruit_table th, .recruit_table td {
    border: 1px solid #ddd;
}
.title-underline {
    border-bottom: 2px solid #00689b;
}

.mt-10 {
    margin-top: 10px!important;
}
.mt-20 {
    margin-top: 20px!important;
}
.mt-30 {
    margin-top: 30px!important;
}
.mt-40 {
    margin-top: 40px!important;
}
.mt-50 {
    margin-top: 50px!important;
}
.mb-10 {
    margin-bottom: 10px!important;
}
.mb-20 {
    margin-bottom: 20px!important;
}
.mb-30 {
    margin-bottom: 30px!important;
}
.mb-40 {
    margin-bottom: 40px!important;
}
.mb-50 {
    margin-bottom: 50px!important;
}


.business-content__text {
    margin-top: 30px;
}

.service {
    margin-top: 50px;
}
.service-list {
    margin-top: 30px;
    list-style: circle;
    list-style-position: inside;
}
.service-list li:not(:first-of-type) {
    margin-top: .8em;
}

.feature {
    margin-top: 50px;
}

.feature-item {
    margin-top: 30px;
}

.feature-item__title {
    font-size: 18px;
    font-weight: bold;
}
.feature-item__title ._num {
    display: inline-block;
    padding: 3px 10px;
    margin-right: .5em;
    background: #00689b;
    color: #fff;
}
@media only screen and (max-width: 768px) {
    .feature-item__title ._num {
        margin-bottom: 10px;
    }
}

.price {
    margin-top: 50px;
}
.price-list {
    padding: 20px;
    background: #ebebeb;
    margin-top: 30px;
    font-size: 20px;
}
.price-list li:not(:first-of-type) {
    margin-top: .5em;
}


.price-table {
    border-collapse: collapse;
}
.price-table thead th {
    background: #00689b;
    color: #fff;
    text-align: center;
    min-width: 150px;
}
.price-table tbody th {
    background: #ebebeb;
}
.price-table th,
.price-table td {
    border: 1px solid #bbb;
}

/* @media only screen and (max-width: 768px) {
    .price-table, 
    .price-table tbody, 
    .price-table tr, 
    .price-table th, 
    .price-table td {
        display: table-cell;
    }
} */