@charset "utf-8";

/*--------------------------------------------
	 BASE
--------------------------------------------*/
@media screen and (max-width: 767px) {
    .for_pc {
        display: none;
    }

    body {
        min-width: 100% !important;
        font-size: 14px;
        overflow-x: hidden;
        line-height: 1.7;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
    }

    a {
        -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    }

    /*--------------------------------------------
	GLOBAL CSS
--------------------------------------------*/
    img {
        max-width: 100%;
    }

    /*--------------------------------------------
	HEADER
--------------------------------------------*/
    header {
        min-width: 100%;
    }

    header .header_inner {
        display: none;
    }

    /*--------------------------------------------
	SP HAMBURGER NAVIGATION
--------------------------------------------*/
    .drawer--top .drawer-hamburger,
    .drawer--top.drawer-open .drawer-hamburger {
        background: transparent;
    }

    .drawer-hamburger:hover {
        background: transparent;
    }

    .drawer-hamburger-icon,
    .drawer-hamburger-icon:before,
    .drawer-hamburger-icon:after {
        background-color: #004dd3;
    }

    .drawer-nav {
        background: #fff;
    }

    .drawer-menu {
        padding: 40px 20px;
    }

    .drawer-menu-item {
        padding: 15px;
        position: relative;
        border-bottom: dashed 1px #004dd3;
    }

    .drawer-menu-item:hover {
        text-decoration: none;
        color: #333;
    }

    .drawer-menu .drawer-menu-item:after {
        content: "";
        background: url(../Image/common/ico_arrow.png) no-repeat;
        position: absolute;
        right: 15px;
        top: 50%;
        transform: translateY(-50%);
        width: 7px;
        height: 14px;
        background-size: contain;
    }

    .drawer-menu li {
        margin-bottom: 0;
        border-bottom: none;
    }

    .drawer-menu li a {
        color: #333;
        font-size: 15px;
        padding: 15px;
    }

    .drawer-dropdown>.drawer-menu-item:after {
        width: 16px;
        height: 2px;
        background: #004dd3;
        right: 11px;
    }

    .drawer-dropdown>.drawer-menu-item:before {
        content: "";
        position: absolute;
        right: 18px;
        top: 50%;
        transform: translateY(-50%);
        width: 2px;
        height: 16px;
        background: #004dd3;
    }

    .drawer-dropdown.open>.drawer-menu-item:after {
        background: #fff;
    }

    .drawer-dropdown.open>.drawer-menu-item:before {
        display: none;
    }

    .drawer-dropdown.open>.drawer-menu-item {
        background: #004dd3;
        color: #fff;
    }

    .drawer-dropdown>.drawer-dropdown-menu .drawer-menu-item {
        border-bottom: solid 1px #e2e2e2;
        padding: 15px 25px;
    }

    .drawer-dropdown>.drawer-dropdown-menu .drawer-menu-item:after {
        right: 25px;
    }

    .drawer-dropdown>.drawer-dropdown-menu li:last-child .drawer-menu-item {
        border-bottom: dashed 1px #004dd3;
    }

    /*--------------------------------------------
	FOOTER
--------------------------------------------*/
    #top footer {
        background-color: #fff;
    }

    footer {
        padding: 0 10px;
    }

    footer .footer_inner {
        display: block;
        padding: 20px 0 10px;
    }

    footer .name {
        text-align: center;
    }

    footer .footer_logo {
        text-align: center;
        margin-top: 10px;
    }

    footer .footer_logo img {
        width: 130px;
    }

    footer .footer_inner .tel_box {
        display: flex;
        justify-content: space-around;
        margin-top: 10px;
    }

    footer .footer_inner .tel {
        margin-right: 0;
        font-size: 14px;
        margin-top: 5px;
        text-align: center;
    }

    footer .footer_inner .address {
        margin-top: 10px;
        text-align: center;
        font-size: 14px;
    }

    footer .copyright {
        margin-top: 12px;
        text-align: center;
        margin-right: -15px;
        margin-left: -15px;
        line-height: 1;
    }

    .totop {
        width: 45px;
        height: 45px;
        right: 10px;
        bottom: 20px;
    }

    .totop:before {
        line-height: 45px;
        font-size: 16px;
    }

    /*--------------------------------------------
	レイアウト
--------------------------------------------*/
    .flex_container {
        flex-direction: column;
    }

    .container {
        padding: 50px 10px;
    }

    .btn {
        margin-top: 35px;
        text-align: center;
    }

    .btn a {
        display: block;
    }

    .btn_primary {
        max-width: 270px;
        padding: 15px;
        margin: auto;
    }

    .ttl_01 {
        font-size: 22px;
        margin-bottom: 30px;
    }

    .ttl_01 span {
        margin-top: 10px;
        font-weight: normal;
    }

    .ttl_02 {
        font-size: 22px;
    }

    .ttl_02:after {
        height: 2px;
    }

    .ttl_03 {
        font-size: 20px;
        margin-bottom: 20px;
    }

    .ttl_03 span:after {
        margin-top: 5px;
    }

    .ttl_heart:before {
        width: 15px;
        height: 13px;
    }

    /*--------------------------------------------
	TOP PAGE
--------------------------------------------*/
    #top .mv_inner {
        padding: 30% 20px 0;
        top: 0;
    }

    #top .mv_left {
        width: 100%;
        padding-left: 0;
    }

    #top .mv_logo {
        width: 60%;
        min-width: 250px;
    }

    #top .mv_left .txt {
        font-size: 13px;
        margin-top: 15px;
    }

    #top .mv_right {
        width: 100%;
        padding-left: 0;
        padding-top: 10%;
    }

    #top .mv_right .main_ttl {
        font-size: 16px;
        font-weight: normal;
    }

    #top .business_list li {
        margin-right: 0;
        margin-bottom: 30px;
        border-width: 2px;
    }

    #top .business_list.column02 li {
        width: 100%;
    }

    #top .business_list.column02 li:nth-child(n + 3) {
        margin-top: 0;
    }

    /* #top .business_list li a {
        padding: 20px 16px;
        display: flex;
        align-items: center;
    } */
    #top .business_list li .img_box {
        width: 35%;
        margin-bottom: 0;
        display: none;
    }

    #top .business_list .business_ttl span {
        font-size: 14px;
    }

    #top .business_list li .txt_box {
        width: 100%;
        padding-left: 10px;
    }

    #top .business_list li .img_box img {
        max-height: 150px;
    }

    #top .business_list:nth-of-type(1) .txt_box {
        padding: 0;
    }

    #top .business_list:nth-of-type(2) {
        margin-top: 0;
    }

    #top .business_list:nth-of-type(2) .list_in {
        padding: 20px 15px;
    }

    #top .business_list:nth-of-type(2) .img_box {
        width: 35%;
    }

    #top .business_list:nth-of-type(2) .txt_box {
        width: 100%;
        padding-left: 0;
    }

    #top .business_list .business_ttl {
        font-size: 18px;
        /*font-weight: normal;*/
    }

    #top .voice_boxIn {
        background-position: center;
        margin-top: 0;
    }

    #top .voice_box .ttl_01 {
        width: 100%;
        background-position: right 15px bottom 15px;
        background-color: rgba(255, 255, 255, 0.3);
        background-size: 30px;
        padding: 20px;
    }

    #top .news_list li {
        width: 100%;
        border-right: none;
    }

    #top .news_list li .news_listIn {
        padding: 20px 0;
        align-items: center;
    }

    #top .news_list .img_box {
        width: 35%;
    }

    #top .news_list .txt_box {
        width: 65%;
        padding-left: 10px;
    }

    #top .news_list .cate {
        font-size: 11px;
        padding: 4px 4px;
        line-height: 1;
    }

    #top .news_list .news_ttl {
        font-size: 15px;
        margin-top: 10px;
        font-weight: normal;
    }

    #top .news_list .news_txt {
        display: none;
    }

    #top .news_list li:nth-last-child(-n + 2) {
        border-bottom: solid 1px #e2e2e2;
    }

    #top .news_list li:last-child {
        border-bottom: none;
    }

    .access_tab .tab_map .info {
        width: 100%;
        padding: 15px 20px;
    }

    .access_tab .tab_map .info .map_ttl {
        font-size: 16px;
    }

    .access_tab .tab_map .info .ttl_en {
        margin-top: 5px;
        font-size: 13px;
    }

    .access_tab .tab_map .info .address {
        margin-top: 15px;
        height: 69px;
    }

    .access_tab .map {
        width: 100%;
    }

    .access_tab .map iframe {
        height: 200px;
        width: 100%;
    }

    .access_tab .tab_map {
        border-width: 2px;
    }

    .access_tab .tab_area label {
        border-width: 2px;
    }

    #top .recruit .txt_box,
    #top .recruit .img_box {
        width: 100%;
    }

    @media only screen and (max-width: 320px) {}

    @media (max-width: 768px) {
        #top .business_list .list_in {
            grid-template-columns: 1fr;
        }

        #top .business_list li .img_box {
            width: auto;
            margin-bottom: 0;
            display: block;
        }
    }

    /*--------------------------------------------
	下層共通
--------------------------------------------*/
    .under .logo_ttl {
        width: 33%;
        padding-left: 0.8rem;
        padding-top: 10px;
        transition: 0.4s ease-in-out;
    }

    .under .logo_ttl img {
        min-width: 120px;
        transition: 0.4s ease-in-out;
    }

    .under header.fixed .logo_ttl {
        padding-top: 10px;
        padding-bottom: 10px;
    }

    .under header.fixed .logo_ttl img {
        min-width: 100px;
    }

    .under .mainimage {
        margin-top: 60px;
    }

    .under .page_ttl {
        padding: 30px 4%;
    }

    .under .page_ttl .main {
        font-size: 24px;
    }

    .under .page_ttl .sub {
        font-size: 12px;
        padding-left: 4px;
    }

    .under #contents {
        padding: 0 4%;
    }

    .under #main-cts {
        margin-left: -4%;
        margin-right: -4%;
    }

    .under .inner_box {
        padding: 20px 10px;
    }

    /*--------------------------------------------
	ビジョン			about
--------------------------------------------*/
    #about .vision_wrap .ttl_box {
        font-size: 16px;
        padding: 10px;
    }

    #about .vision_wrap .txt_box {
        text-align: left;
    }

    #about .vision_wrap .ttl_box:after {
        width: 30px;
        height: 30px;
        right: -12px;
    }

    #about .vision_wrap .ttl_box.hl:after {
        left: -12px;
        bottom: -10px;
    }

    /*--------------------------------------------
	利用者様の声			voice
--------------------------------------------*/
    .voice_list li {
        width: 100%;
        margin-top: 30px;
        border-width: 1px;
        display: block;
        padding: 15px;
    }

    .voice_list li:first-child {
        margin-top: 0;
    }

    .voice_list .txt_box {
        width: 100%;
        padding: 0;
    }

    .voice_list .img_box {
        width: 100%;
        margin-top: 20px;
    }

    .voice_list p {
        padding: 0;
    }

    .voice_list .voice_ttl {
        font-size: 16px;
        padding-left: 8px;
        border-width: 3px;
    }

    .voice_box .ttl {
        font-size: 18px;
    }

    #voice .tab_area label {
        width: 47%;
        margin: 3px;
        padding: 5px 0;
    }

    /*--------------------------------------------
	会社概要			company
--------------------------------------------*/
    .table_history th {
        padding: 10px;
        width: 80px;
    }

    .table_history td {
        padding: 10px 5px 10px 20px;
    }

    .table_history th:after {
        top: 12px;
    }

    .table_primary {
        max-width: 100%;
    }

    .table_primary th,
    .table_primary td {
        display: block;
    }

    .table_primary th {
        border-top: solid 1px #004dd3;
        padding: 10px;
        width: 100%;
    }

    .table_primary td {
        padding: 20px 10px;
        border-bottom: none;
    }

    .place ul li span {
        font-size: 15px;
    }

    /*--------------------------------------------
	事業内容
--------------------------------------------*/
    .business .top_img img {
        border-radius: 5px;
    }

    .business .business_ttl {
        font-size: 20px;
    }

    .business .business_ttl span:after {
        margin-top: 5px;
    }

    .business .business_cap {
        width: 94%;
        padding: 15px;
        top: -20px;
    }

    .business .business_cap .cap_ttl {
        font-size: 18px;
        margin-bottom: 10px;
    }

    .business .business_content .content_list li {
        width: 100%;
        padding: 0;
        margin-top: 30px;
    }

    .business .business_content .content_list li:first-child {
        margin-top: 0;
    }

    .business .business_content .content_list {
        padding: 0;
        margin-top: 30px;
    }

    .business .business_box {
        margin-top: 50px;
    }

    .business .business_content .content_list .ttl {
        padding: 5px 30px;
        font-size: 16px;
    }

    .business .business_content .content_list .ttl:before {
        height: 30px;
        top: -7px;
    }

    .business .ttl_box .ttl_02 {
        margin-bottom: 5px;
    }

    .business .ttl_box {
        display: block;
    }

    .business .access_badge {
        margin-left: 0;
        margin-bottom: 5px;
    }

    .business .access_badge .item {
        padding: 3px;
        font-size: 12px;
        width: 95px;
        margin: 0 2px;
    }

    .business .business_imgs .img_box {
        width: 49%;
        margin-right: 0;
    }

    .business .business_imgs .img_box:nth-child(n + 3) {
        margin-top: 10px;
    }

    .business .business_imgs .img_box:nth-child(odd) {
        margin-right: 2%;
    }

    #job_kids .business .business_imgs .img_box:nth-child(3) {
        margin-right: 2%;
    }

    #job_kids .feature_list {
        padding: 0;
        margin-top: 30px;
    }

    #job_kids .feature_list li {
        width: 100%;
        margin-bottom: 0;
        margin-top: 30px;
        padding: 15px;
    }

    #job_kids .feature_list li:first-child {
        margin-top: 0;
    }

    #job_kids .feature_list li:before {
        width: 35px;
        height: 35px;
    }

    #job_kids .feature_list .ttl {
        font-size: 16px;
        margin-bottom: 5px;
    }

    #job_kids .business_imgs {
        width: 100%;
    }

    #job_kids .business .business_imgs .img_box:nth-child(n + 3) {
        margin-top: 10px;
    }

    #job_kids .business .business_imgs .img_box:nth-child(n + 4) {
        margin-top: 10px;
    }

    #job_training .ttl_heart {
        font-size: 16px;
        padding-left: 22px;
        margin-top: 10px;
    }

    #job_training .j_training_imgs {
        margin-top: 30px;
    }

    #job_training .j_training_imgs .wrap .img_box {
        margin-right: 0;
        width: 49%;
    }

    #job_training .j_training_imgs .wrap .img_box:nth-child(odd) {
        margin-right: 2%;
    }

    #job_training .j_training_imgs .wrap .img_box:nth-child(n + 3) {
        margin-top: 20px;
    }

    #job_training .j_training_imgs .wrap .img_box:nth-child(n + 4) {
        margin-top: 20px;
    }

    #job_training .ttl_heart:first-child {
        margin-top: 0;
    }

    #job_training .content_list {
        width: 100%;
    }

    #job_training .j_training_imgs .wrap .img_box span {
        bottom: 0;
        top: inherit;
        font-size: 12px;
    }

    #job_training .j_training_imgs .wrap .img_box .img_txt {
        font-size: 12px;
        margin-top: 5px;
    }

    #job_stage .msg_box .ttl {
        font-size: 18px;
    }

    #job_stage .msg_box {
        padding: 10px;
        border-width: 2px;
    }

    #j_club .sche_box {
        padding: 0;
    }

    #j_club .sche_box img {
        display: block;
        margin-top: 10px;
    }

    #j_club .sche_box img:first-child {
        margin-top: 10px;
    }

    #j_club .sche_box .txt {
        width: 100%;
        font-size: 16px;
        border: none;
    }

    #j_club .msg_box {
        border-bottom-width: 2px;
        padding: 10px;
    }

    #j_club .msg_box .ttl {
        font-size: 18px;
    }

    .business .business_content .business_imgs {
        padding: 0;
    }

    .business .business_content .business_imgs .col_4 {
        width: 50%;
    }

    .business .business_content .business_imgs li {
        padding: 4px;
    }

    /*--------------------------------------------
	施設情報             access
--------------------------------------------*/
    .mfp-bg {
        position: fixed !important;
    }

    #access .anchor li {
        width: 48%;
    }

    #access .anchor li a {
        padding: 5px 0;
    }

    #access .anchor li:nth-child(n + 3) {
        margin-top: 10px;
    }

    #access .access_sec {
        padding-top: 50px;
    }

    #access .access_sec .info_box {
        width: 100%;
        padding: 20px 10px;
    }

    #access .access_sec .map_box {
        width: 100%;
    }

    #access .access_sec .map_box iframe {
        width: 100%;
    }

    #access .access_sec table th,
    #access .access_sec table td {
        display: block;
        width: 100%;
        padding: 15px;
    }

    #access .access_sec table th {
        border-top: solid 1px #004dd3;
    }

    #access .access_sec .hyouka_box table th {
        width: 100%;
    }

    #access .hyouka_box {
        padding: 20px 10px;
    }

    #access .access_sec .hyouka_box table td {
        padding-top: 15px;
    }

    #access .access_sec table td {
        width: 95%;
        margin: 0 auto 20px;
    }

    #access .service_list li {
        width: 49%;
    }

    .access_cat {
        font-size: 13px;
        margin-top: 10px;
    }

    #access .img_box {
        margin-top: 30px;
    }

    #access .img_box .box_2 {
        width: 100%;
    }

    #access .img_box .box_2:nth-child(1) {
        padding: 0;
    }

    #access .img_box .box_2:nth-child(2) {
        padding: 0;
        margin-top: 10px;
    }

    /*--------------------------------------------
	ブログ             news
--------------------------------------------*/
    #news main,
    #news aside {
        width: 100%;
    }

    #news aside {
        margin-top: 50px;
        padding: 0;
    }

    #news main {
        padding: 0;
    }

    #news .news_list .img_box {
        width: 35%;
    }

    #news .news_list .txt_box {
        width: 35%;
    }

    #news .news_list .txt_box {
        width: 65%;
        padding-left: 10px;
    }

    #news .news_list .news_txt {
        display: none;
    }

    #news .news_list .news_ttl {
        font-size: 15px;
        margin-top: 10px;
        font-weight: normal;
    }

    #news .news_list .cate {
        font-size: 12px;
        padding: 5px;
        line-height: 1;
    }

    .news_single .ttl {
        font-size: 18px;
    }

    .news_single .single_txt {
        padding: 0;
    }

    #news .news_single .txt_box {
        padding-left: 0;
    }

    /*--------------------------------------------
	プライバシーポリシー       privacy
--------------------------------------------*/

    #privacy .privacy_list .ttl {
        font-size: 16px;
    }

    /*--------------------------------------------
	サイトマップ       sitemap
--------------------------------------------*/
    .sitemap_list li {
        width: 100%;
        padding: 20px 10px;
        border-bottom: solid 1px #dadada;
    }

    .sitemap_list li .list_item {
        font-size: 16px;
    }

    .sitemap_list .list_sub {
        display: block;
    }

    .sitemap_list .list_sub ul {
        margin-left: 0;
        margin-top: 20px;
    }

    .sitemap_list .list_sub ul span {
        display: inline-block;
        margin-left: 10px;
    }

    .sitemap_list .list_sub>.list_item span {
        margin-left: 10px;
    }

    .sitemap_list .list_sub li .list_item {
        font-size: 14px;
    }

    /*404*/
    #not-found #sec_01 {
        padding: 40px 0;
    }

    .p_access {}

    .p_access__section {
        margin-bottom: 4rem;
    }

    .p_access__section:last-of-type {
        margin-bottom: 8rem;
    }

    .p_access__section_flexBox {
        display: flex;
        gap: 40px;
        flex-direction: column;
    }

    #headoffice .p_access__content {
        width: 100%;
    }

    .p_access__content {
        width: 100%;
    }

    .p_access__content_title p {
        padding-bottom: 15px;
        padding-top: 5px;
    }

    .p_access__content_slick .slick-arrow::before {
        opacity: 1;
    }

    .p_access__content_slick .slick-next {
        right: 7px;
        z-index: 1;
    }

    .p_access__content_slick .slick-prev {
        left: 0;
        z-index: 1;
    }

    .p_access__content_slick .slick-next::before,
    .p_access__content_slick .slick-prev::before {
        content: "";
        width: 25px;
        height: 25px;
        border-top: solid 1px #ffa132;
        border-right: solid 1px #ffa132;
        display: block;
        border-radius: 3px;
    }

    .p_access__content_textList {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        gap: 15px;
        padding: 25px;
        background-color: #fff;
        box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.1);
    }

    .p_access__content_textList_item p {
        padding: 0 6px;
        padding-bottom: 15px;
        border-bottom: solid 1px #dadada;
        font-size: 0.9em;
    }

    .service__item p {
        font-weight: 500;
    }

    .service__item p span {
        font-size: 0.8em;
    }

    .service__item p::before {
        content: "■";
        font-size: 1em;
        line-height: 1;
        display: inline-block;
        margin-right: 5px;
    }

    .p_access__section_evaluationList {
        padding-top: 0;
    }

    .p_access__section_exp {
        text-align: left;
    }

    .evaluationList__item {
        flex-direction: column;
        gap: 15px;
        padding: 15px 0;
    }

    .evaluationList__facilityName {
        width: 100%;
    }

    .evaluationList__btn {
        gap: 12px;
        width: 100%;
    }

    .evaluationList__btn a {
        font-size: 12px;
    }

    .evaluationList__btn_questionnaire,
    .evaluationList__btn_announcement {
        width: 100%;
    }
}