@charset "utf-8";

/*------- 共通 -------*/
html, body {
    height:100%;
}

body{
    background-color:#fff;
    line-height:1.8;
    padding:0;
    margin:0;
    font-size:16px;
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic","メイリオ","Meiryo",arial,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
    color:#333;
    letter-spacing: .05em;
    box-sizing: border-box;
}

img{
    margin:0;
    padding: 0;
    border: 0;
    vertical-align: bottom;
}

ul,ol,li,h1,h2,h3,h4,dl,dt,dd,a,form{
    margin: 0;
    padding: 0;
}

p {
    margin:0 0 0 0;
    padding:0 0 0 0;
}

ul li{
    list-style:none;
}

a {
    color:#74b9d7;
}

a:hover {
    text-decoration:none;
}

.alt,.alt_bt{
    display: none;
}

.clear {
    clear: both;
}

table {
    margin:0;
    padding:0;
    border-collapse: collapse;
    border-spacing: 0;
}

.images {
    text-align: center;
    padding: 30px 0;
}

.btn-hover {
    transition: 0.3s;
}

.btn-hover:hover {
    opacity: 0.7;
}

/*------- パンくずリスト -------*/
.pankuzu {
    width: 1000px;
    margin: 0 auto;
    text-align: left;
    font-size: 0.75rem;
    padding-top: 10px;
}

.pankuzu a {
    text-decoration: none;
}

.pankuzu p:before {
    content: "";
    display: inline-block;
    background: url(../images/home_icon.png) no-repeat;
    background-size: contain;
    padding: 7px 20px 7px 0;
    vertical-align: text-top;
}

/*------- 見出し -------*/
h1 {
    font-size: 2.25rem;
    font-weight: normal;
}

.headline {
    /*border-top: 1px solid #434343;
    border-bottom: 1px solid #434343;*/
    background-color: #333;
    color: #d7d7d7;
    font-size: 2rem;
    font-weight: normal;
    padding: 10px 0;
    text-align: center;
}

.pt30 {
    padding-top: 30px;
}

.line-l {
    color: #228fb3;
    font-size: 1.5rem;
    border-left: 6px solid #228fb3;
    padding-left: 15px;
    line-height: 1.5;
}

/*-------------- ヘッダー メニュー --------------*/

/*---- トップページ ----*/
.mainvisual {
    position: relative;
    height: 100vh;
    background: url(../images/mainvisual.jpg) center center no-repeat;
    background-size: cover;
}

.menu {
    -js-display: flex !important;
    display: flex !important;
    justify-content: space-between;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 66px;
    z-index: 1000;
    border-bottom: 1px solid #eee;
    background-color: rgba(255, 255, 255, .65);
}

.floating.mainvisual {
    position: static;
}

.floating .menu {
    display: none;
    position: fixed;
    top: 0;
    background-color: rgba(255, 255, 255, .9);
}

.menu .logo a{
    float: left;
    padding: 10px 0 0 30px;
}

.menu .logo img {
    width: 95%;
}


.menu ul {
    float: right;
}

.menu li {
    float: left;
    position: relative;
    padding: 20px 45px 0 0;
}

.menu li a{
    color: #333;
    text-decoration:none;
}

.menu li a:hover{
    color: #228fb3;
    border-bottom: 2px solid #228fb3;
    padding-bottom: 10px;
}

.menu_second {
    display: none;
    background-color: rgba(0,0,0,0.7)
}

.menu_second li {
    padding: 10px 0 10px 20px;
}

.menu_second li a {
    color: #e4e4e4;
}

.menu_second li a:hover {
    border-bottom: none;
    padding-bottom: 0;
}

.menu li:hover .menu_second{
    display: block;
    position: absolute;
    top: 58px;
    left: -20px;
    right: 20px;
    z-index: 500;
}

.sp_menu,
.sp_mainvisual_top,
.sp_toppage_menu {
    display: none;
}

/*---- トップページ以外共通 ----*/
.menu_add {
    -js-display: flex !important;
    display: flex !important;
    justify-content: space-between;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 66px;
    z-index: 1000;
    border-bottom: 1px solid #eee;
    background-color: rgba(255, 255, 255, .65);
}

.floating.menu_add {
    display: none;
    position: fixed;
    top: 0;
    background-color: rgba(255, 255, 255, .9);
}

.mainVisual-title {
    display: flex;
    align-items: center;
    width: 1000px;
    height: 255px;
    margin: auto;
}

.mainVisual-title img {
    width: 161px;
    height: 34px;
}

/*---- 事業案内 ----*/
.mainvisual_business {
    height: 320px;
    padding-top: 65px;
    background: url(../images/mainvisual_business.png) right center no-repeat, url(../images/mainvisual_bg-diagonal.png) center center repeat;
    background-size: contain, auto;
    box-sizing: border-box;
}

.sp_mainvisual_business {
    display: none;
}

/*---- 会社案内 ----*/
.mainvisual_corporate {
    height: 320px;
    padding-top: 65px;
    background: url(../images/mainvisual_corporate.png) right center no-repeat, url(../images/mainvisual_bg-diagonal.png) center center repeat;
    background-size: contain, auto;
    box-sizing: border-box;
}

.sp_mainvisual_corporate {
    display: none;
}

/*---- 経営理念 ----*/
.mainvisual_philosophy {
    height: 320px;
    padding-top: 65px;
    background: url(../images/mainvisual_philosophy.png) right center no-repeat, url(../images/mainvisual_bg-diagonal.png) center center repeat;
    background-size: contain, auto;
    box-sizing: border-box;
}

.sp_mainvisual_philosophy {
    display: none;
}

/*---- 実績紹介 ----*/
.mainvisual_works {
    height: 320px;
    padding-top: 65px;
    background: url(../images/mainvisual_works.png) right center no-repeat, url(../images/mainvisual_bg-diagonal.png) center center repeat;
    background-size: contain, auto;
    box-sizing: border-box;
}

.sp_mainvisual_works {
    display: none;
}

/*---- 採用情報 ----*/
.mainvisual_recruit {
    height: 320px;
    padding-top: 65px;
    background: url(../images/mainvisual_recruit.png) right center no-repeat, url(../images/mainvisual_bg-diagonal.png) center center repeat;
    background-size: contain, auto;
    box-sizing: border-box;
}

.sp_mainvisual_recruit {
    display: none;
}

/*---- お問い合わせ ----*/
.mainvisual_contact {
    height: 320px;
    padding-top: 65px;
    background: url(../images/mainvisual_contact.png) right center no-repeat, url(../images/mainvisual_bg-diagonal.png) center center repeat;
    background-size: contain, auto;
    box-sizing: border-box;
}

.sp_mainvisual_contact {
    display: none;
}

/*---- サイトマップ ----*/
.mainvisual_sitemap {
    height: 320px;
    padding-top: 65px;
    background: url(../images/mainvisual_sitemap.png) right center no-repeat, url(../images/mainvisual_bg-diagonal.png) center center repeat;
    background-size: contain, auto;
    box-sizing: border-box;
}

.sp_mainvisual_sitemap {
    display: none;
}

/*-------------- メイン --------------*/

/*---- トップページ ----*/
#main {
    width: 1000px;
    margin: 0 auto;
    padding: 80px 0;
    overflow: hidden;
}

.topics_image-introduction_inner {
    overflow: hidden;
}

.topics, .image-introduction {
    width: 484px;
    margin: 0 auto;
}

.topics {
    float: left;
}

.image-introduction {
    float: right;
}

.topics dl {
    border-bottom: 1px dotted #ddd;
    padding: 30px 15px;
    overflow: hidden;
}

.topics dt {
    float: left;
}

.topics dd {
    padding-left: 100px;
}

.topic_list{
    display: inline-block;
    padding-top: 35px;
}

.topic_list a {
    display: block;
    background-color: #333;
    color: #d7d7d7;
    text-decoration:none;
    padding: 25px 90px;
}

.top_banner {
    text-align: right;
    padding-top: 40px;
}

/*---- 事業案内 ----*/
.business-contents {
    padding-bottom: 90px;
}

.concept {
    padding-bottom: 105px;
}

.concept p {
    padding: 5px 0 15px;
}

.business-area,
.business-process {
    padding-bottom: 120px;
}

.three-facilities {
    padding-top: 45px;
}

.three-facilities h3 {
    margin-bottom: 10px;
}

.three-facilities p {
    padding-top: 15px;
}

/*---- 会社案内 ----*/
.greeting {
    padding-bottom: 105px;
}

.greeting p {
    padding: 5px 0 15px;
}

.corporate-pf {
    padding-bottom: 120px;
}

.corporate-pf table {
    width: 100%;
}

.corporate-pf th, .corporate-pf td {
    border-bottom: 1px dotted #aaa;
    padding: 15px 0;
}

.corporate-pf th {
    text-align: left;
    vertical-align: top;
    font-size: 1.1875rem;
    white-space: nowrap;
}

.corporate-pf td {
    padding-left: 40px;
}

.corporate-pf td .line-l {
    color: #228fb3;
    font-size: 1rem;
    font-weight: bold;
    border-left: 5px solid #228fb3;
    padding: 3px 0 3px 10px;
    line-height: 2.5;
}

.corporate-pf td .office_map a {
    background-color: #228fb3;
    color: #fff;
    text-decoration: none;
    padding: 5px 18px 5px 8px;
    margin-left: 1em;
}

.corporate-pf td .office_map a:before {
    content: "";
    display: inline-block;
    background: url(../images/access_icon.png) no-repeat;
    background-size: contain;
    padding: 10px 20px 10px 0;
    vertical-align: text-top;
}

.corporate-pf_pt10 {
    padding-bottom: 10px;
}

.history dl {
    border-bottom: 1px dotted #aaa;
    overflow: hidden;
}

.history dt, .history dd {
    float: left;
    padding: 15px 0;
}

.history dt {
    font-weight: bold;
    font-size: 1.1875rem;
    width: 30%;
}

.history dd {
    width: 70%;
}

/*---- アクセス ----*/
.access-inner {
    overflow: hidden;
    border-bottom: 1px dotted #aaa;
    padding-bottom: 30px;
}

.access h3 {
    margin-bottom: 5px;
}

.access p {
    padding-top: 15px;
}

.address {
    float: left;
}

.entrance {
    float: right;
}

/*.address {
    float: right;
    width: 470px;
}*/

/*---- 経営理念 ----*/
.philosophy {
    padding-bottom: 10px;
}

.mission_vision {
    padding-top: 15px;
}

.philosophy dl {
    overflow: hidden;
    padding-top: 15px;
}

.philosophy dt {
    float: left;
    width: 16%;
    font-weight: bold;
}

.philosophy dd {
    float: right;
    width: 84%;
}

/*---- 実績紹介 ----*/
.achievement-category {
    overflow: hidden;
}

.achievement-category li {
    float: left;
    width: 324px;
    padding: 0 14px 14px 0;
    text-align: center;
    position: relative;
}

.achievement-category li span {
    position: absolute;
    bottom: 47px;
    right: 23px;
    border-left: 9px solid #fff;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
}


.achievement-category li:nth-child(3n) {
    padding: 0 0 14px 0;
}

.achievement-category li:nth-child(3n) span {
    right: 9px;
}

.achievement-category-btn {
    display: block;
    background-color: #228fb3;
    color: #fff;
    border: 3px solid #228fb3;
    text-decoration: none;
    font-size: 1.5rem;
    line-height: 1;
    padding: 25px 0;
}

.achievement-active {
    background-color: #fff;
    color: #228fb3;
    border: 3px solid #228fb3;
}

.achievement-category .achievement-active span {
    border-left: 9px solid #228fb3;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
}

.achievement-list h3 {
    margin: 30px 0 20px;
}

/*.achievement-list h4 {
    color: #228fb3;
    padding: 10px 0;
    font-size: 1.25rem;
}*/

.achievement-list .table-scroll {
    overflow: auto;
    width: 100%;
    position: relative;
}

.achievement-list table {
    width: 1000px;
    margin-bottom: 30px;
}

.achievement-list th {
    background-color: #333;
    color: #fff;
    font-size: 1.1875rem;
    padding: 10px 0;
    border-right: 1px dotted #aaa;
}

.achievement-list th:first-child {
    width: 382px;
}

.achievement-list th:nth-child(2) {
    padding: 0 8px;
}

.achievement-list th:last-child {
    border-right: none;
}

.achievement-list td {
    text-align: center;
    font-size: 0.9357rem;
    padding: 10px 0;
    border-bottom: 1px dotted #aaa;
}

.achievement-list td:first-child {
    text-align: left;
    padding-left: 1em;
}

.achievement-list td:nth-child(3) {
    text-align: left;
    padding-left: 1em;
    width: 165px;
}

.achievement-list td:nth-child(4) {
    text-align: left;
}

.achievement-list td:nth-child(5) {
    text-align: right;
    padding-right: 20px;
}

.achievement-list td a {
    text-decoration: none;
}

.achievement-list td a:hover {
    text-decoration: underline;
}

.achievement-list td a:after {
    content: "";
    display: inline-block;
    background: url(../images/expansion_icon.png) no-repeat;
    background-size: contain;
    padding: 7px 18px 8px 0;
    margin-left: 7px;
    vertical-align: text-top;
}

.swipe-icon {
    display: none;
    position: absolute;
    top: 200px;
    left: 50%;
    margin-left: -55px;
    margin-top: -55px;
    width: 120px;
    height: 120px;
    opacity: 0.7;
    background-color: #a5a5a5;
    text-align: center;
}

.swipe-icon img {
    padding-top: 10px;
}

.inline-wrap .image {
    text-align: center;
    padding-bottom: 15px;
}

.inline-wrap p,
.inline-wrap ul {
    color: #fff;
}

#kyoiku_kokuritsu,
#kyoiku_kouritsu,
#kyoiku_minkan,
#jutaku_kantyo,
#jutaku_minkan,
#jutaku_toshisaisei,
#tyosya,
#jimusyo,
#iryo,
#fukushi,
#bunka,
#sports,
#syogyo,
#hotel_syukuhaku,
#saikaihatsu,
#koujou_kankyo_butsuryu,
#koutsu,
#other {
    padding-top: 60px;
    margin-top: -60px;
}

#modal_inline-works_kyoiku_hokkaido p,
#modal_inline-works_kyoiku_tokyokomaba p,
#modal_inline-works_kyoiku_tohoku3_g1 p,
#modal_inline-works_kyoiku_tohoku3_g2 p,
#modal_inline-works_kyoiku_tohoku4_g1 p,
#modal_inline-works_kyoiku_tohoku4_g2 p,
#modal_inline-works_kyoiku_kyusyu_g1 p,
#modal_inline-works_kyoiku_kyusyu_g2 p,
#modal_inline-works_kyoiku_kyusyu_g3 p,
#modal_inline-works_kyoiku_kyusyu2_g1 p,
#modal_inline-works_kyoiku_kyusyu2_g2 p,
#modal_inline-works_kyoiku_kyusyu2_g3 p {
    width: 800px;
    margin: 0 auto;
}

#modal_inline-works_kyoiku_tokyoika p, #modal_inline-works_kyoiku_tokyoika ul {
    width: 750px;
    margin: 0 auto;
}

#modal_inline-works_kyoiku_tohoku_g1 p,
#modal_inline-works_kyoiku_tohoku_g2 p,
#modal_inline-works_kyoiku_oosaka_g1 p,
#modal_inline-works_kyoiku_oosaka_g2 p,
#modal_inline-works_kyoiku_niigata_g1 p,
#modal_inline-works_kyoiku_niigata_g2 p {
    width: 700px;
    margin: 0 auto;
}


#modal_inline-works_iryoshisetsu_hirosaki ul li {
    list-style-type: disc;
    margin-left: 2em;
}

#modal_inline-works_bunka_chiba p {
    width: 600px;
    margin: 0 auto;
}

#modal_inline-works_iryoshisetsu_tohoku2 p,
#modal_inline-works_bunka_tokyo p {
    width: 490px;
    margin: 0 auto;
}

#modal_inline-works_iryoshisetsu_akita p,
#modal_inline-works_iryoshisetsu_akita ul,
#modal_inline-works_iryoshisetsu_kobe p {
    width: 470px;
    margin: 0 auto;
}

#modal_inline-works_kyoiku_tokyoika ul li,
#modal_inline-works_iryoshisetsu_akita ul li {
    margin-left: 1em;
}

/*---- 採用情報 ----*/
.employee-word {
    padding-bottom: 95px;
}

.bg-border {
    background: url(../images/recruit-index_bg-diagonal.png) center center repeat;
    border: 3px solid #228fb3;
    padding: 40px 50px 0;
}

.employee-word-inner {
    margin-bottom: 25px;
}

.employee-word-inner p {
    padding: 15px 0 40px;
}

.employee-word-inner-top {
    overflow: hidden;
}

.jobcategory_service {
    float: left;
}

.jobcategory_service p {
    padding: 20px 0 45px;
}

.employee-image {
    float: right;
}

.employee-image p {
    padding-top: 0;
}

.recruitment-tab {
    display: flex;
    align-items: flex-end;
}

.tab_label {
    width: 500px;
    height: 25px;
    background-color: #eee;
    color: #333;
    font-weight: bold;
    font-size: 1.25rem;
    line-height: 1.5;
    cursor: pointer;
    padding: 20px 0;
    vertical-align: bottom;
}

.tab_label.active {
    width: 500px;
    height: 40px;
    background-color: #228fb3;
    color: #fff;
    font-weight: bold;
    font-size: 1.25rem;
    line-height: 1.8;
    cursor: pointer;
    padding: 20px 0;
}

.tab_panel {
    display:none;
}

.tab_panel.active {
    display:block;
}

.application_requirements {
    text-align: center;
}

.application_requirements h3 {
    margin-bottom: 20px;
    text-align: left;
}

.application_requirements table {
    width: 100%;
    text-align: left;
}

.application_requirements th, .application_requirements td {
    border-bottom: 1px dotted #aaa;
    padding: 15px 0;
}

.application_requirements th {
    text-align: left;
    vertical-align: top;
    font-size: 1.1875rem;
    white-space: nowrap;
    width: 34%;
}

/*.application_requirements td {
    padding-left: 70px;
}*/

.application_requirements td span {
    color: #228fb3;
    padding-right: 3px;
}


.application_requirements td .bold {
    color: #228fb3;
    font-size: 1.1875rem;
    font-weight: bold;
}

.application_requirements td li {
    padding-left: 1em;
}

.application_requirements td li:before {
    position: relative;
    top: -2px;
    left: -13px;
    display: inline-block;
    width: 8px;
    height: 8px;
    content: '';
    border-radius: 100%;
    background: #228fb3;
}

.application_requirements td li:nth-child(4) {
    padding-left: 1.5em;
}

.application_requirements td li:nth-child(4):before {
    display: none;
}


.application_requirements td .office_map a {
    background-color: #228fb3;
    color: #fff;
    text-decoration: none;
    padding: 5px 8px;
    line-height: 2.5;
}

.application_requirements td .office_map a:before {
    content: "";
    display: inline-block;
    background: url(../images/access_icon.png) no-repeat;
    background-size: contain;
    padding: 10px 20px 10px 0;
    vertical-align: text-top;
}

.application_requirements_pt10 {
    padding-bottom: 10px;
}

.application_requirements .blue-down-arrow {
    display: inline-block;
    border-top: 12px solid #085a94;
    border-right: 12px solid transparent;
    border-left: 12px solid transparent;
    margin: 10px 0 5px 23px;
}

.application_requirements .blue-down-arrow_carrier {
    margin: 10px 0 5px 7px;
}

.application_confirmation {
    display: inline-block;
    padding: 50px 0;
}

.application_confirmation a {
    display: block;
    background-color: #333;
    color: #d7d7d7;
    text-decoration:none;
    padding: 25px 55px;
}

/*---- 応募方法 ----*/
.application_method p {
    padding: 25px 0 10px;
}

.application_method h4 {
    padding: 10px 0;
    font-weight: normal;
}

.application_method li {
    padding-left: 1.3em;
}

.application_method li:before {
    position: relative;
    top: -2px;
    left: -16px;
    display: inline-block;
    width: 8px;
    height: 8px;
    content: '';
    border-radius: 100%;
    background: #228fb3;
}

.application_method .remarks {
    padding: 10px 0 0;
}

.application_method span {
    color: #228fb3;
}

.new-graduates {
    padding-bottom: 50px;
}

.carrier {
    padding-bottom: 120px;
}

.destination p {
    padding: 20px 0 40px;
}

.destination dl {
    padding: 20px 0 40px;
    overflow: hidden;
}

.destination dt {
    float: left;
    width: 10%;
    font-weight: bold;
}

.destination dd {
    float: right;
    width: 90%;
}

.unknown p {
    padding: 20px 0 10px;
}

.unknown dl {
    padding: 10px 0 10px;
}

.mail-form {
    display: inline-block;
    padding: 20px 0 80px;
}

.mail-form a {
    display: block;
    background-color: #333;
    color: #d7d7d7;
    text-decoration:none;
    padding: 25px 40px;
}

/*---- お問い合わせ ----*/
.contact-form {
    width: 100%;
    padding-bottom: 120px;
    text-align: center;
}

.contact-form span {
    color: #cc3333;
}

.form-list {
    overflow: hidden;
    border-bottom: 1px dotted #aaa;
    padding: 20px 20px 20px 0;
    text-align: left;
}

.contact-form .form_l {
    float: left;
    width: 30%;
}

.contact-form .form_r {
    float: right;
    width: 70%;
}

.contact-form .form_r input,
.contact-form .form_r textarea {
    border: 1px solid #ddd;
}

.contact-form .form_r .name-text,
.contact-form .form_r .mail-text {
    width: 700px;
    padding: 10px 0;
}

.contact-form .form_r .tel-text {
    width: 199px;
    padding: 10px 0;
}

.contact-form .form_r textarea {
    resize: none;
    width: 700px;
    height: 300px;
}

.contact-form .form-btn {
    background-color: #333;
    color: #d7d7d7;
    text-decoration:none;
    font-size: 1rem;
    padding: 20px 60px;
    margin-top: 30px;
    cursor: pointer;
    border: none;
}


.other-contact {
    padding-bottom: 170px;
    text-align: center;
}

.tel_fax_mail {
    background-color: #f6f6f6;
    font-size: 1.125rem;
    font-weight: bold;
    line-height: 1.7;
    padding: 20px 0;
}

.tel_fax_mail span {
    color: #228fb3;
    font-size: 1.875rem;
}

.contact_thanks {
    text-align: center;
}

/*---- サイトマップ ----*/
.sitemaps {
    overflow: hidden;
    letter-spacing: -.3em;
}

.sitemaps h2 {
    letter-spacing: 0;
}

.sitemap-inner {
    width: 1000px;
    display: flex;
    flex-wrap:wrap;
}

.sitemap {
    width: 310px;
    vertical-align:top;
    letter-spacing: 0;
    padding: 0 35px 50px 0;
}

.sitemap:nth-child(3n) {
    padding: 0 0 50px 0;
}

.sitemap img {
    padding-top: 10px;
}

.sitemap p {
    padding: 10px 0 0;
}

.sitemap a {
    text-decoration: none;
    padding-left: 10px;
}

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

.sitemap p:before {
    content: "";
    display: inline-block;
    background: url(../images/sitemap_allow.png) no-repeat;
    background-size: contain;
    padding: 5px 10px 5px 0;
    margin-left: 5px;
}


/*------------ ページトップ -------------*/
.page-top {
    position: fixed;
    bottom: 30px;
    right: 30px;
}

.page-top img {
    width: 80%;
    height: 80%;
}


/*-------------- フッター --------------*/
#footer {
    background-color: #333;
    color: #d7d7d7;
}

.footer-inner {
    overflow: hidden;
    width: 1000px;
    margin: 0 auto;
}

.footer-inner p {
    float: right;
    padding: 27px 0;
    font-size: 80%;
}

.footer-inner .footer_sitemap {
    float: left;
}

.footer-inner .footer_sitemap a {
    text-decoration: none;
    color: #d7d7d7;
}

.footer-inner .footer_sitemap a:hover {
    color: #aaa;
}

/*▽▽▽▽▽▽▽▽▽▽ レスポンシブ ▽▽▽▽▽▽▽▽▽*/

/* 幅が1023px以下のとき */
@media screen and (max-width: 1023px) {
#wrapper {
    overflow: hidden;
}

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

/*-------------- ヘッダー・メニュー --------------*/
.mainvisual {
    position: relative;
    height: 0;
    padding-top: 73.4%;
    background: url(../images/mainvisual.jpg) top no-repeat;
    background-size: contain;
}

.mainVisual-title {
    width: 98%;
}

.menu li:hover .menu_second{
    left: -13px;
    right: 13px;
}

.menu .menu_second li {
    padding: 14px;
}

.menu .menu_second li:first-child {
    padding-bottom: 5px;
}

/*------- パンくずリスト -------*/
.pankuzu {
    width: 98%;
}

/*-------------- メイン --------------*/

/*---- トップページ ----*/
.menu .logo a {
    padding: 10px 0 0 10px;
}

.menu li {
    padding: 20px 30px 0 0;
}

#main {
    width: 98%;
    padding: 50px 0;
}

.topics, .image-introduction {
    width: 100%;
    float: none;
}

.image-introduction p {
    text-align: center;
}

#main .topic_list {
    padding-bottom: 80px;
}

.topic_list a {
    padding: 25px 60px;
}

.top_banner {
    text-align: center;
}

/*---- トップページ以外共通 ----*/
.business-information p,
.greeting p,
.access-inner,
.philosophy p,
.mission_vision,
.achievement-list,
.new-graduates,
.carrier,
.destination-inner,
.contact-form-inner,
.sitemap-inner {
    width: 97%;
    margin: 0 auto;
}

/*---- 事業内容 ----*/
.three-facilities h3 {
    margin-left: 13px;
}

/*---- 会社案内 ----*/
.corporate-pf table {
    width: 98%;
    margin: 0 auto;
}

.corporate-pf td {
    padding-left: 70px;
}

.corporate-pf td .office_map a {
    margin-left: 0;
    line-height: 2.5;
}

/*---- アクセス ----*/
.entrance {
    width: 50%;
}

.address {
    width: 47%;
}

/*---- 経営理念 ----*/
.philosophy dt {
    width: 21%;
}

.philosophy dd {
    width: 78%;
}

/*---- 実績紹介 ----*/
.achievement-category li {
    width: 32%;
}

.achievement-category .textlong {
    font-size: 1.2rem;
    padding: 28px 0;
}

/*---- 採用情報 ----*/
.bg-border {
    padding: 40px 40px 0;
}

.recruitment_new-graduates a, .recruitment_carrier a {
    width: 50%;
}

/*---- 応募方法 ----*/
.destination dt {
    width: 14%;
}

.destination dd {
    width: 86%;
}

/*---- お問い合わせ ----*/
.contact-form .form_r .name-text,
.contact-form .form_r .mail-text,
.contact-form .form_r textarea {
    width: 100%;
}

.contact-form .form_r .tel-text {
    width: 27%;
}

/*---- サイトマップ ----*/
.sitemap {
    width: 30%;
}

/*------------ ページトップ -------------*/
.page-top {
    bottom: 20px;
    right: 10px;
}

/*-------------- フッター --------------*/
.footer-inner {
    width: 98%;
}
}

/* 幅が767px以下のとき */
@media screen and (max-width: 767px) {
/*-------------- ヘッダー --------------*/
.mainVisual-title {
    display: none;
}

.mainvisual {
    background: none;
    height: 100%;
    padding-top: 66px;
}

.mainvisual_business,
.mainvisual_corporate,
.mainvisual_philosophy,
.mainvisual_works,
.mainvisual_recruit,
.mainvisual_contact,
.mainvisual_sitemap {
    background: none;
    height: 100%;
}

.sp_mainvisual_top {
    display: block;
}

.sp_mainvisual_business,
.sp_mainvisual_corporate,
.sp_mainvisual_philosophy,
.sp_mainvisual_works,
.sp_mainvisual_recruit,
.sp_mainvisual_contact,
.sp_mainvisual_sitemap {
    display: block;
    padding-top: 1px;
    position: relative;
}

.sp_mainvisual_business p,
.sp_mainvisual_corporate p,
.sp_mainvisual_philosophy p,
.sp_mainvisual_works p,
.sp_mainvisual_recruit p,
.sp_mainvisual_contact p,
.sp_mainvisual_sitemap p {
    font-size: 1.5rem;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 100;
}

.sp_mainvisual_business:before,
.sp_mainvisual_corporate:before,
.sp_mainvisual_philosophy:before,
.sp_mainvisual_works:before,
.sp_mainvisual_recruit:before,
.sp_mainvisual_contact:before,
.sp_mainvisual_sitemap:before {
    content: "";
    display: block;
    background-color: rgba(255, 255, 255, .5);
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
}

/*------------  メニュー --------------*/
.menu, .menu_add {
    border-bottom: none;
}

.menu {
    top: 0;
}

.mobile-head {
    background: #fff;
    width: 100%;
    z-index: 1000;
    border-bottom: 1px solid #eee;
    position: relative;
}

.mobile-head-top {
    width: 100%;
    z-index: 1000;
    position: relative;
}

.floating .mobile-head-top {
    background: #fff;
    border-bottom: 1px solid #eee;
}

.navbar {
    position: absolute;
    top: 15px;
    right: 15px;
    background-color: #228fb3;
    border-radius: 5px;
    padding: 5px;
}

.navbar-icon {
    width: 30px;
    height: 26px;
    cursor: pointer;
}

.navbar-icon span {
    width: 70%;
    height: 3px;
    display: block;
    position: absolute;
    left: 6px;
    background-color: #fff;
    transition: 0.3s;
    text-align: center;
}

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

.navbar-icon span:nth-child(2) {
    top: 16px;
}

.navbar-icon span:nth-child(3) {
    top: 23px;
}

.navbar.active span:nth-child(1) {
    top: 15px;
    transform: rotate(45deg)
}

.navbar.active span:nth-child(2) {
    width: 0;
    left: 50%;
}

.navbar.active span:nth-child(3) {
    top: 15px;
    transform: rotate(-45deg)
}

.sp_menu {
    display: block;
}

.sp_menu-nav {
    position: absolute;
    top: -1000px;
    left: 0;
    background-color: #fff;
    border-bottom: 1px solid #eee;
    width: 100%;
    padding: 0 0 5px;
    -webkit-transition: .4s ease-in-out;
    -moz-transition: .4s ease-in-out;
    transition: .4s ease-in-out;
    z-index: -1;
}

.sp_menu.active .sp_menu-nav {
    -moz-transform: translateY(1066px);
    -webkit-transform: translateY(1066px);
    transform: translateY(1066px);
}

.sp_menu-nav ul, .sp_menu-nav li {
    float: none;
}

.sp_menu li {
    padding: 10px 0 0 30px;
}

.sp_menu li:last-child {
    padding-bottom: 10px;
}

.sp_menu ul ul li:last-child{
    padding-bottom: 0;
}

.sp_toppage_menu {
    display: block;
    overflow: hidden;
    padding-top: 30px;
    width: 98%;
    margin: 0 auto;
}

.sp_toppage_menu ul {
    display:-webkit-box;
    display:-ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.sp_toppage_menu li {
    width: 30%;
    padding: 0 5px 5px 0;
}

.sp_toppage_menu li:nth-child(3n) {
    padding-right: 0;
}

.sp_toppage_menu li a {
    display: block;
    background-color: #228fb3;
    color: #fff;
    text-decoration: none;
    padding: 10px 0;
    text-align: center;
    font-size: 0.875rem;
}

/*-------------- メイン --------------*/

/*---- トップページ ----*/
.menu .logo a {
    padding: 14px 0 0 10px;
}

.menu .logo img {
    width: 75%;
}

.menu .pc_menu-nav {
    display: none;
}

.topics dl {
    padding: 30px 10px;
    text-align: left;
}

/*---- トップページ以外共通 ----*/
.business-information p,
.greeting p,
.access-inner,
.philosophy p,
.mission_vision,
.achievement-list,
.achievement-category,
.new-graduates,
.carrier,
.destination-inner,
.contact-form-inner,
.sitemap-inner {
    width: 95%;
    margin: 0 auto;
}

/*---- 事業内容 ----*/
.three-facilities h3 {
    margin-left: 13px;
    font-size: 1.3rem;
    padding-left: 10px;
}

.business-process {
    padding-bottom: 90px;
}

/*---- 会社案内 ----*/
.corporate-pf table {
    width: 95%;
    margin: 0 auto;
}

.corporate-pf th {
    display: block;
    border: none;
}

.corporate-pf td {
    display: block;
    padding-left: 0;
    padding-top: 0;
}

/*---- アクセス ----*/
.entrance, .address {
    float: none;
    width: 100%;
}

.address {
    padding: 20px 0;
}

/*---- 経営理念 ----*/
.philosophy dt, .philosophy dd {
    float: none;
    width: 100%;
}

.philosophy dt {
    text-align: center;
    padding-bottom: 5px;
}

/*---- 実績紹介 ----*/
.achievement-category li {
    width: 49%;
    padding: 0 5px 5px 0;
}

.achievement-category li:nth-child(3n) {
    padding: 0 5px 5px 0;
}

.achievement-category li:nth-child(2n) {
    padding: 0 0 5px 0;
}

.achievement-category li span {
    position: absolute;
    bottom: 26px;
    right: 13px;
}

.achievement-category li:nth-child(3n) span {
    right: 13px;
}

.achievement-category li:nth-child(2n) span {
    right: 7px;
}

.achievement-category a {
    font-size: 1rem;
    padding: 15px 0;
}

.achievement-category .textlong {
    font-size: 0.8125rem;
    padding: 16px 0 17px;
}

.swipe-icon {
    display: block;
}

.table-scroll:hover .swipe-icon {
    display: none;
}

.achievement-list h4, .achievement-list .table-scroll {
    display: none;
}

.achievement-list h4, .achievement-list .table-scroll {
    display: none;
}

.is-active h4, .is-active .table-scroll {
    display: block;
}

#modal_inline-works_kyoiku_hokkaido p,
#modal_inline-works_kyoiku_tohoku_g1 p,
#modal_inline-works_kyoiku_tohoku_g2 p,
#modal_inline-works_kyoiku_tokyokomaba p,
#modal_inline-works_kyoiku_tohoku3_g1 p,
#modal_inline-works_kyoiku_tohoku3_g2 p,
#modal_inline-works_kyoiku_tohoku4_g1 p,
#modal_inline-works_kyoiku_tohoku4_g2 p,
#modal_inline-works_kyoiku_oosaka_g1 p,
#modal_inline-works_kyoiku_oosaka_g2 p,
#modal_inline-works_kyoiku_niigata_g1 p,
#modal_inline-works_kyoiku_niigata_g2 p,
#modal_inline-works_kyoiku_kyusyu_g1 p,
#modal_inline-works_kyoiku_kyusyu_g2 p,
#modal_inline-works_kyoiku_kyusyu_g3 p,
#modal_inline-works_kyoiku_kyusyu2_g1 p,
#modal_inline-works_kyoiku_kyusyu2_g2 p,
#modal_inline-works_kyoiku_kyusyu2_g3 p,
#modal_inline-works_iryoshisetsu_tohoku2 p,
#modal_inline-works_iryoshisetsu_akita p,
#modal_inline-works_iryoshisetsu_akita ul,
#modal_inline-works_iryoshisetsu_kobe p,
#modal_inline-works_bunka_tokyo p,
#modal_inline-works_bunka_chiba p {
    width: 100%;
}

/*---- 採用情報 ----*/
.jobcategory_service p {
    padding: 20px 0 35px;
}

.bg-border {
    padding: 20px 20px 0;
}

.application_requirements th {
    display: block;
    border: none;
}

.application_requirements td {
    display: block;
    padding-left: 0;
    padding-top: 0;
}

/*---- 応募方法 ----*/
.destination {
    text-align: center;
}

.destination-inner {
    text-align: left;
}

.destination dt {
    width: 30%;
}

.destination dd {
    width: 70%;
}

/*---- お問い合わせ ----*/
.contact-form .form_l, .contact-form .form_r {
    float: none;
    width: 100%;
}

.contact-form .form_l h3 {
    padding-bottom: 10px;
}

.contact-form .form_r .tel-text {
    width: 24%;
}

.other-contact h2 {
    font-size: 1.7rem;
}

/*---- サイトマップ ----*/
.sitemap {
    width: 100%;
    text-align: center;
    padding: 0 0 50px 0;
}

.sitemap h3, .sitemap p {
    text-align: left;
    margin-left: 20px;
}

/*------------ ページトップ -------------*/
.page-top {
    right: -10px;
}

.page-top img {
    width: 70%;
    height: 70%;
}

/*-------------- フッター --------------*/
.footer-inner p, .footer-inner .footer_sitemap {
    float: none;
    text-align: center;
}

.footer-inner .footer_sitemap {
    padding-bottom: 10px;
}
}