@charset "UTF-8";
/* 共通 ============================================================= */
/* 施設一覧 */
@media screen and (max-width: 767px) {
  .contents-facilities h2 {
    font-size: 2.4rem;
    font-weight: bold;
    color: #ff6600;
    text-align: center;
    letter-spacing: 0.3rem;
    margin-bottom: 10px;
  }
  .contents-facilities ul li {
    width: 100%;
    margin-bottom: 45px;
  }
  .contents-facilities ul li .inner h3 {
    font-size: 2rem;
    color: #08b04f;
    font-weight: bold;
    line-height: 2.4rem;
    margin: 15px 0;
  }
  .contents-facilities ul li .inner h3 span {
    color: #5ebb4b;
    font-size: 1.6rem;
  }
  .contents-facilities ul li .inner .intro {
    margin-bottom: 10px;
  }
  .contents-facilities ul li .inner a {
    display: block;
    width: 300px;
    margin: 0 auto;
  }
  .contents-facilities ul li figure {
    width: 100%;
    height: 200px;
    margin: 0;
    background-size: cover;
  }
  .contents-facilities ul li figure.noguchi {
    background-image: url(../img/facilities/facilities_photo_001.jpg);
  }
  .contents-facilities ul li figure.negishi {
    background-image: url(../img/facilities/facilities_photo_002.jpg);
  }
  .contents-facilities ul li figure.nobayashi {
    background-image: url(../img/facilities/facilities_photo_003.jpg);
  }
  .contents-facilities ul li figure.takagi {
    background-image: url(../img/facilities/facilities_photo_004.jpg);
  }
  .contents-facilities ul li figure.miyamoto {
    background-image: url(../img/facilities/facilities_photo_005.jpg);
  }
  .contents-facilities ul li figure.idumi {
    background-image: url(../img/facilities/facilities_photo_006.jpg);
  }
  .contents-facilities ul li figure.miaki {
    background-image: url(../img/facilities/facilities_photo_007.jpg);
  }
}
@media screen and (min-width: 768px) {
  .contents-facilities {
    padding: 0;
  }
  .contents-facilities h2 {
    font-family: "Mplus 1p", "Medium";
    font-size: 30px;
    color: #ff6600;
    text-align: center;
    letter-spacing: 0.4rem;
    margin-bottom: 30px;
  }
  .contents-facilities ul li {
    background-image: url(../img/facilities/facilities_bg_001.jpg);
    width: auto;
    height: 380px;
    overflow: hidden;
    position: relative;
    border-bottom: 5px solid #fff;
  }
  .contents-facilities ul li:nth-child(even) {
    background-image: url(../img/facilities/facilities_bg_002.jpg);
  }
  .contents-facilities ul li .inner {
    height: auto;
    position: relative;
  }
  .contents-facilities ul li .inner h3 {
    color: #08b04f;
    font-size: 3rem;
    line-height: 3rem;
    margin: 25px auto 25px auto;
  }
  .contents-facilities ul li .inner h3 span {
    color: #5ebb4b;
    font-size: 2rem;
  }
  .contents-facilities ul li .inner .intro {
    width: 430px;
    line-height: 2.8rem;
  }
  .contents-facilities ul li .inner a {
    margin: 20px 0 0 0;
  }
  .contents-facilities ul li figure {
    position: absolute;
    margin: auto;
    width: 1100px;
    height: 1100px;
    border-radius: 50%;
    overflow: hidden;
    top: 0;
    bottom: 0;
    left: 0;
    right: -1035px;
    background-repeat: no-repeat;
    background-position: left center;
  }
  .contents-facilities ul li figure.noguchi {
    background-image: url(../img/facilities/facilities_photo_001.jpg);
  }
  .contents-facilities ul li figure.negishi {
    background-image: url(../img/facilities/facilities_photo_002.jpg);
  }
  .contents-facilities ul li figure.nobayashi {
    background-image: url(../img/facilities/facilities_photo_003.jpg);
  }
  .contents-facilities ul li figure.takagi {
    background-image: url(../img/facilities/facilities_photo_004.jpg);
  }
  .contents-facilities ul li figure.miyamoto {
    background-image: url(../img/facilities/facilities_photo_005.jpg);
  }
  .contents-facilities ul li figure.idumi {
    background-image: url(../img/facilities/facilities_photo_006.jpg);
  }
  .contents-facilities ul li figure.miaki {
    background-image: url(../img/facilities/facilities_photo_007.jpg);
  }
}
/*=============================================================
TOP
============================================================= */
@media screen and (max-width: 767px) {
  #top .mainvisual {
    background-image: url(../img/top/mainvisual_005.jpg);
    width: 100%;
    height: 230px;
    background-size: cover;
    background-position: center bottom;
    position: relative;
  }
  #top .mainvisual img {
    max-width: 100%;
    width: auto;
    height: auto;
  }
  #top .mainvisual .catch {
    color: #fff;
    font-size: 23px;
    font-weight: normal;
    text-align: center;
    position: relative;
    top: 91px;
  }
  #top .mainvisual .frame {
    display: none;
  }
  #top .mainvisual .line_bottom {
    position: absolute;
    bottom: 0;
  }
  #top .contents .lead {
    margin: 20px 15px 0 15px;
    width: auto;
  }
  #top .contents section.top-menu {
    margin-top: 30px;
  }
  #top .contents section.top-menu ul {
    margin: 0 15px;
  }
  #top .contents section.top-menu ul li {
    text-align: center;
    margin-bottom: 30px;
  }
  #top .contents section.top-menu ul li h2 {
    margin-bottom: 5px;
  }
  #top .contents section.top-menu ul li h3 {
    font-size: 2rem;
    font-weight: bold;
    line-height: 2.4rem;
    margin: 5px 0 15px 0;
  }
  #top .contents section.top-menu ul li h3 span {
    font-size: 1.6rem;
    font-weight: normal;
  }
}
@media screen and (min-width: 768px) {
  #top .mainvisual {
    background-image: url(../img/top/mainvisual_005.jpg);
    background-size: cover;
    background-position: center bottom;
    width: 100%;
    height: 550px;
    overflow: hidden;
    position: relative;
    margin: -17px 0 0 0;
    border-bottom: none;
  }
  #top .mainvisual img {
    max-width: 100%;
  }
  #top .mainvisual .catch {
    color: #fff;
    font-size: 40px;
    font-weight: bold;
    text-align: center;
    position: relative;
    top: 250px;
  }
  #top .mainvisual .frame {
    background-image: url(../img/top/mainvisual_frame.png);
    background-position: center;
    background-size: 100% 25px;
    position: absolute;
    width: 100%;
    height: 25px;
    bottom: 0px;
  }
  #top .contents {
    background-color: #fff;
    margin: -25px 0 0 0;
    padding: 60px 0 0 0;
  }
  #top .contents .lead {
    text-align: center;
    margin: 0 0 50px 0;
    font-size: 1.7rem;
    line-height: 3.2rem;
  }
  #top .contents .top-menu {
    margin-bottom: 20px;
  }
  #top .contents .top-menu ul {
    width: 1000px;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  #top .contents .top-menu ul li {
    display: inline-block;
    text-align: center;
  }
  #top .contents .top-menu ul li h2 {
    margin-bottom: 10px;
  }
  #top .contents .top-menu ul li h3 {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    font-size: 2rem;
    font-weight: bold;
    margin: 15px auto;
    height: 60px;
    line-height: 2.4rem;
    vertical-align: middle;
  }
  #top .contents .top-menu ul li h3 span {
    font-size: 1.6rem;
    font-weight: normal;
  }
  #top .contents .top-menu ul li h3.recruit {
    padding: 19px 0 0 0;
  }
  #top .contents .top-menu ul li img.photo {
    display: block;
  }
}
/* sub page ============================================================= */
@media screen and (max-width: 767px) {
  h2 {
    font-size: 2.4rem;
    font-weight: bold;
    color: #ff6600;
    text-align: center;
    letter-spacing: 0.3rem;
    margin-bottom: 10px;
  }

  .mainvisual img {
    display: block;
  }
  .mainvisual.subpage {
    width: 100%;
    height: 150px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
  }
  .mainvisual.subpage.facilities-index {
    background-image: url(../img/facilities/index-mainvisual.jpg);
  }

  .page-ttl {
    background-image: url(../img/common/bg_h1.png);
    position: relative;
  }
  .page-ttl.subpage {
    margin-bottom: 30px;
    padding: 20px 0;
  }
  .page-ttl.subpage h1 {
    text-align: center;
    font-size: 2.6rem;
    font-weight: bold;
    margin: 0 auto;
    letter-spacing: 0.5rem;
    text-shadow: 2px 2px 0px #e5d1ac;
  }
  .page-ttl.subpage p.lead {
    text-align: left;
    margin-top: 20px;
  }

  ul.notice {
    width: auto;
  }
  ul.notice li {
    list-style-type: disc;
    list-style-position: outside;
    line-height: 2rem;
    margin: 0 0 5px 2rem;
  }
}
@media screen and (min-width: 768px) {
  h2 {
    color: #ff6600;
    font-size: 28px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 30px;
  }

  .mainvisual {
    border-bottom: 5px solid #fcd48f;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    overflow: hidden;
    position: relative;
    margin: -17px 0 0 0;
    /*min-width: 1200px;*/
  }
  .mainvisual img {
    width: 100%;
    height: auto;
    display: block;
  }
  .mainvisual.subpage {
    width: 100%;
    height: 300px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
  }

  .page-ttl {
    background-image: url(../img/common/bg_h1.png);
    position: relative;
    padding: 40px 0;
  }
  .page-ttl.subpage {
    margin-bottom: 50px;
  }
  .page-ttl.subpage h1 {
    text-align: center;
    font-size: 4rem;
    font-weight: bold;
    margin: 0 auto 40px auto;
    letter-spacing: 0.5rem;
    text-shadow: 2px 2px 0px #e5d1ac;
  }
  .page-ttl.subpage p.lead {
    text-align: center;
  }

  section {
    padding: 0 0 80px 0;
  }
  section.bg-white {
    background-color: #fff;
  }

  ul.notice {
    width: 1000px;
  }
  ul.notice li {
    font-size: 1.4rem;
    list-style-type: disc;
    list-style-position: outside;
    line-height: 2rem;
    margin: 0 0 5px 2rem;
  }
}
/*=============================================================
facilities
============================================================= */
#facilities .mainvisual.facilities-index {
  background-image: url(../img/facilities/index-mainvisual.jpg);
}
#facilities .mainvisual.noguchi {
  background-image: url(../img/facilities/noguchi/mainvisual.jpg);
}
#facilities .mainvisual.negishi {
  background-image: url(../img/facilities/negishi/nobayashi_mainvisual.jpg);
}
#facilities .mainvisual.nobayashi {
  background-image: url(../img/facilities/nobayashi/nobayashi_mainvisual.jpg);
}
#facilities .mainvisual.takagi {
  background-image: url(../img/facilities/takagi/takagi_mainvisual.jpg);
}
#facilities .mainvisual.miyamoto {
  background-image: url(../img/facilities/miyamoto/miyamoto_mainvisual.jpg);
}
#facilities .mainvisual.idumi {
  background-image: url(../img/facilities/idumi/idumi_mainvisual.jpg);
}
#facilities .mainvisual.miaki {
  background-image: url(../img/facilities/miaki/miaki_mainvisual.jpg);
}

@media screen and (max-width: 767px) {
  #facilities .page-ttl {
    padding: 20px 0;
  }
  #facilities .page-ttl h1 {
    width: 320px;
    margin: 0 auto 10px auto;
  }
  #facilities .page-ttl h1.noguchi img {
    width: 198px;
    height: auto;
  }
  #facilities .page-ttl .availability {
    background-image: url(../img/facilities/facilities_availability.png);
    background-size: 300px 54px;
    background-repeat: no-repeat;
    width: 300px;
    height: 54px;
    margin: 0 auto;
    position: relative;
  }
  #facilities .page-ttl .availability p {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 145px;
    height: 45px;
    font-size: 2rem;
    font-weight: bold;
    text-align: center;
    position: absolute;
    top: 4px;
    right: 6px;
    padding-top: 10px;
  }
  #facilities .contents {
    /* index */
  }
  #facilities .contents .facilities-index-about {
    padding: 20px 0;
    text-align: center;
  }
  #facilities .contents .facilities-index-about ul {
    width: auto;
    margin: 0 10px;
  }
  #facilities .contents .facilities-index-about ul li {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    display: inline-block;
    width: 100%;
    background-color: #fff;
    border-radius: 10px;
    overflow: hidden;
    padding: 20px;
    text-align: left;
    margin: 0 0 20px 0;
  }
  #facilities .contents .facilities-index-about ul li p {
    line-height: 2.8rem;
  }
  #facilities .contents .introduce .lead {
    margin: 20px auto;
  }
  #facilities .contents .introduce ul li {
    margin-bottom: 20px;
  }
  #facilities .contents .introduce ul li div {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 150px;
    height: 150px;
    border-radius: 50%;
    margin: 0 auto 15px auto;
    text-align: center;
    display: block;
  }
  #facilities .contents .introduce ul li div.point_01 {
    background-color: #00af4c;
  }
  #facilities .contents .introduce ul li div.point_02 {
    background-color: #009edb;
  }
  #facilities .contents .introduce ul li div.point_03 {
    background-color: #ffb831;
  }
  #facilities .contents .introduce ul li div img {
    width: auto;
    height: 70px;
    margin-top: 38px;
  }
  #facilities .contents section {
    /* 施設の内観 */
  }
  #facilities .contents section.inside .slider {
    width: 100%;
  }
  #facilities .contents section.inside .slider .slick-list {
    width: 100%;
  }
  #facilities .contents section.inside .slider .slick-list .slick-slide {
    width: 300px;
    padding: 0 5px;
    text-align: center;
  }
  #facilities .contents section.inside .slider .slick-list .slick-slide img {
    width: 100%;
    height: auto;
  }
  #facilities .contents section.inside .slider .slick-list .slick-slide p.caption {
    text-align: center;
    margin-top: 10px;
  }
  #facilities .contents section.inside .cad {
    background-color: #fff;
    width: auto;
    margin: 0 15px 50px 15px;
    padding: 30px 0;
    text-align: center;
    -webkit-box-shadow: 2px 2px 0px 0px #cac6ba;
            box-shadow: 2px 2px 0px 0px #cac6ba;
  }
  #facilities .contents section dl.table_01 dt {
    background-color: #feda8a;
    padding: 5px 10px;
  }
  #facilities .contents section dl.table_01 dd {
    margin: 0 0 5px 0;
    padding: 5px;
    background-color: #fdf9f0;
  }
  #facilities .contents section dl.table_01 dd .ggmap {
    margin-top: 15px;
    width: 100%;
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 30px;
    height: 0;
    overflow: hidden;
  }
  #facilities .contents section dl.table_01 dd .ggmap iframe,
#facilities .contents section dl.table_01 dd .ggmap object,
#facilities .contents section dl.table_01 dd .ggmap embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  #facilities .contents section dl.table_01 dd table {
    width: 100%;
  }
  #facilities .contents section dl.table_01 dd table th {
    font-weight: normal;
    width: 49%;
    text-align: left;
  }
  #facilities .contents section dl.table_01 dd table td {
    width: 49%;
    text-align: right;
  }
  #facilities .contents section dl.table_02 {
    width: 100%;
  }
  #facilities .contents section dl.table_02 dt {
    display: none;
  }
  #facilities .contents section dl.table_02 dd {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    /*float: left;*/
    margin: 0;
    padding: 5px;
    background-color: #fdf9f0;
  }
  #facilities .contents section dl.table_02 dd.ttl {
    background-color: #feda8a;
    width: 100%;
    float: none;
    padding: 5px 10px;
    font-weight: bold;
  }
  #facilities .contents section.facilities-contact {
    width: auto;
    margin: 0 10px;
  }
  #facilities .contents section.facilities-contact h2 {
    font-size: 1.6rem;
  }
  #facilities .contents section.facilities-contact img {
    max-width: 100%;
    height: auto;
  }
  #facilities .contents section.facilities-contact .contact {
    margin-bottom: 30px;
  }
  #facilities .contents section.facilities-contact .contact li a {
    width: 300px;
    height: 71px;
    display: block;
    margin: 0 auto;
    background-size: 300px auto;
    text-indent: -9999px;
  }
  #facilities .contents section.facilities-contact .contact li.tel a {
    background-image: url(../img/common/sp_footer_btn_tel.png);
  }
  #facilities .contents section.facilities-contact .contact li.contact a {
    background-image: url(../img/common/sp_footer_btn_contact.png);
  }
  #facilities .contents section.facilities-contact .contact li:first-child {
    margin-bottom: 10px;
  }
  #facilities .contents section.facilities-contact ul {
    width: 100%;
  }
  #facilities .contents section.facilities-contact ul li {
    margin-bottom: 15px;
  }
  #facilities .contents section.facilities-contact ul li img {
    display: inline-block;
    width: 120px;
    height: auto;
    margin: 0 10px 0 0;
    vertical-align: middle;
  }
  #facilities .contents section.facilities-contact ul li p {
    display: inline-block;
    vertical-align: middle;
    color: #000;
  }
  #facilities.idumi .page-ttl {
    padding: 10px 0;
  }
  #facilities.idumi .page-ttl .inner h1 img {
    width: 179px;
    height: auto;
  }
  #facilities.idumi .contents section.activity {
    background-color: #fff;
    margin-bottom: 30px;
    padding: 15px 0;
  }
  #facilities.idumi .contents section.activity .inner .activity-box {
    margin-bottom: 30px;
  }
  #facilities.idumi .contents section.activity .inner .activity-box .text {
    margin-bottom: 10px;
  }
  #facilities.idumi .contents section.activity .inner .activity-box .text h3 {
    color: #08b04f;
    font-size: 1.8rem;
    font-weight: bold;
    margin-bottom: 10px;
  }
}
@media screen and (min-width: 768px) {
  #facilities .mainvisual {
    height: 580px;
  }
  #facilities .mainvisual.facilities-index {
    height: 300px;
  }
  #facilities .page-ttl .availability {
    background-image: url(../img/facilities/facilities_availability.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 440px;
    height: 80px;
    position: absolute;
    right: 0;
    top: 3px;
  }
  #facilities .page-ttl .availability p {
    display: block;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 215px;
    height: 65px;
    text-align: center;
    vertical-align: middle;
    font-size: 30px;
    font-weight: bold;
    position: absolute;
    padding: 17px 0 0 0;
    top: 7px;
    right: 9px;
  }
  #facilities .contents {
    /* index */
  }
  #facilities .contents .facilities-index-about {
    padding: 0 0 50px 0;
    text-align: center;
  }
  #facilities .contents .facilities-index-about ul {
    width: 1000px;
    margin: 0 auto 30px auto;
  }
  #facilities .contents .facilities-index-about ul li {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    display: inline-block;
    width: 480px;
    height: 370px;
    background-color: #fff;
    border-radius: 10px;
    overflow: hidden;
    padding: 25px;
    text-align: left;
  }
  #facilities .contents .facilities-index-about ul li:first-child {
    margin: 0 35px 0 0;
  }
  #facilities .contents .facilities-index-about ul li p {
    line-height: 2.8rem;
  }
  #facilities .contents .introduce {
    margin-bottom: 60px;
  }
  #facilities .contents .introduce .lead {
    text-align: center;
    margin: 50px 0;
    font-size: 1.7rem;
    line-height: 3.2rem;
  }
  #facilities .contents .introduce ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  #facilities .contents .introduce ul li {
    width: 300px;
    border-radius: 10px;
    overflow: hidden;
    background-color: #fff;
    -webkit-box-shadow: 2px 2px 0px 0px #cac6ba;
            box-shadow: 2px 2px 0px 0px #cac6ba;
  }
  #facilities .contents .introduce ul li div {
    width: 300px;
    height: 160px;
    vertical-align: middle;
    display: table-cell;
    text-align: center;
  }
  #facilities .contents .introduce ul li div.point_01 {
    background-color: #00af4c;
  }
  #facilities .contents .introduce ul li div.point_02 {
    background-color: #009edb;
  }
  #facilities .contents .introduce ul li div.point_03 {
    background-color: #ffb831;
  }
  #facilities .contents .introduce ul li p {
    padding: 25px;
  }
  #facilities .contents section {
    /* 施設の内観 */
  }
  #facilities .contents section.inside .slider div {
    text-align: center;
    padding: 0 10px;
  }
  #facilities .contents section.inside .slider div p {
    text-align: center;
    margin-top: 10px;
  }
  #facilities .contents section.inside .cad {
    background-color: #fff;
    width: 900px;
    margin: 0 auto;
    padding: 30px 0;
    text-align: center;
    -webkit-box-shadow: 2px 2px 0px 0px #cac6ba;
            box-shadow: 2px 2px 0px 0px #cac6ba;
  }
  #facilities .contents section.outline {
    padding: 80px 0;
  }
  #facilities .contents section dl.table_01 {
    background-color: #feda8a;
  }
  #facilities .contents section dl.table_01 dt {
    float: left;
    font-size: 18px;
    font-weight: bold;
    width: 300px;
    padding: 15px 0;
    text-align: center;
    border-top: 3px solid #fff;
  }
  #facilities .contents section dl.table_01 dd {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    float: left;
    font-size: 16px;
    background-color: #fdf9f0;
    margin: 0;
    padding: 17px 20px;
    width: 700px;
    border-top: 3px solid #fff;
    min-height: 60px;
  }
  #facilities .contents section dl.table_01 dd table {
    width: 400px;
  }
  #facilities .contents section dl.table_01 dd table th {
    font-weight: normal;
    text-align: left;
  }
  #facilities .contents section dl.table_01 dd table td {
    text-align: right;
  }
  #facilities .contents section dl.table_02 {
    width: 100%;
  }
  #facilities .contents section dl.table_02 dt {
    display: inline-block;
    width: 32.8%;
    background-color: #feda8a;
    text-align: center;
    font-size: 18px;
    font-weight: bold;
    margin: 0 0 3px 0;
    padding: 15px 0;
  }
  #facilities .contents section dl.table_02 dd {
    display: inline-block;
    width: 32.8%;
    background-color: #fdf9f0;
    font-size: 16px;
    text-align: center;
    margin: 0 0 3px 0;
    padding: 17px 0;
  }
  #facilities .contents section dl.table_02 dd.ttl {
    font-weight: bold;
  }
  #facilities .contents .facilities-contact {
    text-align: center;
    padding: 80px 0;
  }
  #facilities .contents .facilities-contact .contact {
    width: 600px;
    margin: 0 auto;
  }
  #facilities .contents .facilities-contact .contact li {
    display: block;
  }
  #facilities .contents .facilities-contact .contact li:first-child {
    margin-bottom: 10px;
  }
  #facilities .contents .facilities-contact .contact li a {
    width: 574px;
    height: 52px;
    display: block;
    text-indent: -9999px;
  }
  #facilities .contents .facilities-contact .contact li a:hover {
    opacity: 0.8;
  }
  #facilities .contents .facilities-contact .contact li.tel a {
    background-image: url(../img/common/footer_btn_tel.png);
  }
  #facilities .contents .facilities-contact .contact li.contact a {
    background-image: url(../img/common/footer_btn_contact.png);
  }
  #facilities .contents .facilities-contact ul.facilities-others {
    width: 1000px;
    margin: 50px auto 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  #facilities .contents .facilities-contact ul.facilities-others li {
    width: 130px;
  }
  #facilities .contents .facilities-contact ul.facilities-others li a img {
    width: 100%;
    height: auto;
    margin-bottom: 10px;
  }
  #facilities .contents .facilities-contact ul.facilities-others li a p {
    color: #000;
    font-size: 13px;
    line-height: 1.5;
  }
  #facilities.idumi .page-ttl .inner h1 {
    padding: 18px 0;
  }
  #facilities.idumi .contents section.activity .inner {
    background-color: #fff;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    border-radius: 10px;
    overflow: hidden;
    padding: 50px 50px 0 50px;
  }
  #facilities.idumi .contents section.activity .inner .activity-box {
    margin-bottom: 50px;
  }
  #facilities.idumi .contents section.activity .inner .activity-box .text {
    width: 460px;
  }
  #facilities.idumi .contents section.activity .inner .activity-box .text h3 {
    color: #08b04f;
    font-size: 2rem;
    border-bottom: 2px solid #08b04f;
    margin: 20px 0;
    padding-bottom: 10px;
  }
}
/*=============================================================
flow
============================================================= */
#flow .mainvisual.subpage.flow {
  background-image: url(../img/flow/flow-mainvisual.jpg);
}

@media screen and (max-width: 767px) {
  #flow .contents ul.flow li {
    background-color: #fff;
    border-radius: 10px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    margin-bottom: 20px;
    padding: 25px 15px;
    -webkit-box-shadow: 2px 3px 3px 0px rgba(0, 0, 0, 0.2);
            box-shadow: 2px 3px 3px 0px rgba(0, 0, 0, 0.2);
  }
  #flow .contents ul.flow li h2 {
    color: #0fb152;
    font-size: 2rem;
    line-height: 2.8rem;
    text-align: center;
  }
  #flow .contents ul.flow li h2 span {
    font-size: 3rem;
    background-color: #0fb152;
    color: #fff;
    display: block;
    text-align: center;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    margin: 0 auto 15px auto;
    line-height: 5rem;
  }
}
@media screen and (min-width: 768px) {
  #flow .contents ul.flow li {
    background-color: #fff;
    border-radius: 10px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    margin-bottom: 20px;
    padding: 25px;
    -webkit-box-shadow: 2px 3px 3px 0px rgba(0, 0, 0, 0.2);
            box-shadow: 2px 3px 3px 0px rgba(0, 0, 0, 0.2);
  }
  #flow .contents ul.flow li h2 {
    color: #0fb152;
    font-size: 24px;
    line-height: 5rem;
    text-align: left;
  }
  #flow .contents ul.flow li h2 span {
    background-color: #0fb152;
    color: #fff;
    display: inline-block;
    text-align: center;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    margin: 0 15px 0 0;
  }
}
/*=============================================================
timeline 1日の流れ
============================================================= */
#timeline .mainvisual.subpage.flow {
  background-image: url(../img/timeline/timeline_mainvisual_001.jpg);
}

@media screen and (max-width: 767px) {
  #timeline .contents {
    padding-bottom: 50px;
  }
  #timeline .contents section {
    background-color: #fff;
    border-radius: 10px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    -webkit-box-shadow: 2px 3px 3px 0px rgba(0, 0, 0, 0.2);
            box-shadow: 2px 3px 3px 0px rgba(0, 0, 0, 0.2);
    overflow: hidden;
    padding: 0;
  }
  #timeline .contents section h2 {
    background-image: url(../img/timeline/timeline_himg_bg_001.png);
    color: #fff;
    font-size: 1.8rem;
    text-shadow: 0px 2px 2px #d2983d;
    text-align: center;
    padding: 15px 0;
  }
  #timeline .contents section ul {
    margin: 0 10px;
  }
  #timeline .contents section ul li {
    margin-bottom: 20px;
  }
  #timeline .contents section ul li img.left {
    float: none;
  }
  #timeline .contents section ul li .text-box {
    margin-top: 15px;
  }
  #timeline .contents section ul li .text-box h3 {
    color: #0fb152;
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 15px;
  }
  #timeline .contents section ul li .text-box.right {
    float: none;
  }
  #timeline .contents section ul li .text-box dl.time_table dt {
    float: left;
    line-height: 1.3;
    margin: 0;
    padding: 0;
  }
  #timeline .contents section ul li .text-box dl.time_table dd {
    margin: 0 0 0 50px;
    line-height: 1.3;
    padding: 0;
  }
  #timeline .contents img.carimg {
    display: block;
    width: 219px;
    height: auto;
    margin: 20px auto;
  }
}
@media screen and (min-width: 768px) {
  #timeline .contents section {
    background-color: #fff;
    border-radius: 10px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    -webkit-box-shadow: 2px 3px 3px 0px rgba(0, 0, 0, 0.2);
            box-shadow: 2px 3px 3px 0px rgba(0, 0, 0, 0.2);
    overflow: hidden;
    margin-bottom: 50px;
    padding: 0;
  }
  #timeline .contents section h2 {
    background-image: url(../img/timeline/timeline_himg_bg_001.png);
    color: #fff;
    font-size: 24px;
    text-shadow: 0px 2px 2px #d2983d;
    text-align: center;
    padding: 15px 0;
  }
  #timeline .contents section ul {
    width: 900px;
    margin: 40px auto 40px auto;
  }
  #timeline .contents section ul li {
    margin-bottom: 30px;
  }
  #timeline .contents section ul li .text-box {
    margin-top: 25px;
    width: 460px;
  }
  #timeline .contents section ul li .text-box h3 {
    color: #0fb152;
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 15px;
  }
  #timeline .contents section ul li .text-box dl.time_table dt {
    float: left;
    font-size: 17px;
    padding: 0;
    line-height: 1.5;
  }
  #timeline .contents section ul li .text-box dl.time_table dd {
    margin: 0 0 10px 60px;
    font-size: 17px;
    padding: 0;
    line-height: 1.5;
  }
  #timeline .contents img.carimg {
    display: block;
    width: 360px;
    height: auto;
    margin: 30px auto;
  }
}
/*=============================================================
company 会社情報
============================================================= */
#company .mainvisual.subpage.flow {
  background-image: url(../img/company/company_mainvisual_001.jpg);
}

@media screen and (max-width: 767px) {
  #company .contents section {
    padding-bottom: 50px;
  }
  #company .contents section img.signature {
    float: right;
    width: 134px;
    height: auto;
    margin-top: 30px;
  }
  #company .contents section dl.outline {
    border-top: 1px solid #000;
  }
  #company .contents section dl.outline dt {
    font-weight: bold;
    padding: 10px 0 5px 0;
  }
  #company .contents section dl.outline dd {
    margin: 0;
    padding: 0 0 10px 0;
    border-bottom: 1px solid #000;
  }
}
@media screen and (min-width: 768px) {
  #company .page-ttl.subpage .inner h1 {
    margin: 0 auto;
  }
  #company .contents section img.signature {
    float: right;
    margin-top: 50px;
  }
  #company .contents section dl.outline {
    width: 700px;
    margin: 0 auto;
  }
  #company .contents section dl.outline dt {
    float: left;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 200px;
    text-align: right;
    padding: 20px 30px;
  }
  #company .contents section dl.outline dd {
    margin: 0 0 0 200px;
    border-left: 1px solid #000;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 500px;
    padding: 20px 30px;
    min-height: 70px;
  }
  #company .contents section dl.outline dd ul {
    padding: 0 0 0 1em;
  }
  #company .contents section dl.outline dd ul li {
    list-style-type: disc;
    margin-bottom: 10px;
  }
}
/*=============================================================
recruit 採用情報
============================================================= */
#recruit .mainvisual.subpage.flow {
  background-image: url(../img/recruit/recruit_mainvisual.jpg);
}

@media screen and (max-width: 767px) {
  #recruit .page-ttl.subpage h1 {
    margin: 0 auto;
  }
  #recruit .contents section {
    margin-bottom: 50px;
  }
  #recruit .contents section h2 {
    background-color: #f7d18b;
    color: #000;
    text-align: left;
    margin: 0;
    font-size: 1.8rem;
    letter-spacing: 0.01rem;
    padding: 10px;
  }
  #recruit .contents section dl.detail {
    margin: 0;
  }
  #recruit .contents section dl.detail dt {
    background-color: #fceed4;
    padding: 10px;
    font-weight: bold;
  }
  #recruit .contents section dl.detail dd {
    margin: 0;
    background-color: #fff;
    padding: 10px;
  }
}
@media screen and (min-width: 768px) {
  #recruit .mainvisual.subpage {
    height: 500px;
    background-position: center top;
  }
  #recruit .page-ttl.subpage h1 {
    margin: 0 auto;
  }
  #recruit .contents section h2 {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    background-color: #f7d18b;
    color: #000;
    width: 1000px;
    margin: 0;
    text-align: left;
    font-size: 2.4rem;
    padding: 20px 30px;
    border-top: 1px solid #000;
    border-left: 1px solid #000;
    border-right: 1px solid #000;
  }
  #recruit .contents section dl.detail {
    width: 1000px;
    margin: 0 auto;
    background-color: #fceed4;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    border-left: 1px solid #000;
    border-right: 1px solid #000;
    border-bottom: 1px solid #000;
  }
  #recruit .contents section dl.detail dt {
    border-top: 1px solid #000;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    text-align: center;
    font-weight: bold;
    width: 190px;
    float: left;
    padding: 20px 0 0 0;
  }
  #recruit .contents section dl.detail dd {
    border-top: 1px solid #000;
    border-left: 1px solid #000;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    background-color: #fff;
    margin: 0 0 0 190px;
    padding: 20px 30px;
    line-height: 2.4rem;
  }
  #recruit .contents section dl.detail dd.fee {
    font-weight: bold;
  }
}
@media screen and (min-width: 768px) {
  #contact .container .contents .inner {
    padding: 80px 0;
  }
}

@media screen and (max-width: 767px) {
  h1.plain {
    font-size: 22px;
    font-weight: bold;
    text-align: center;
    padding: 30px 0;
  }
}
@media screen and (min-width: 768px) {
  h1.plain {
    font-weight: bold;
    margin-bottom: 50px;
    text-align: center;
    font-size: 28px;
  }
}