@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=M+PLUS+2:wght@400;500&family=Zen+Maru+Gothic:wght@400;500&display=swap');

body {
  margin: 0;
  font-family: "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-size: 18px;
  font-weight: 400;
}

.slick-slide img {
  display: block;
  width: 100%;
  vertical-align: bottom;
}

ul {
  list-style-type: none;
}

.contact_button {
  text-align: center;
}

.contact_button:hover {
  opacity: 0.9;
}

.contact_button img {
  vertical-align: bottom;
}

.topics_path {
  margin: 6px auto 72px;
  width: 960px;
}

.top_catch,
.name_kanji {
  font-family: 'Zen Maru Gothic', sans-serif;
  font-weight: 500;
}

.sec_title .sec_tab,
.cont_ttl .title p,
.h_info_tel,
.none_pc,
.main,
.content_container {
  font-family: 'M PLUS 2';
}

/*head -----
--------------*/
.head_inner {
  background-color: #009ebb;
  display: flex;
  justify-content: center;
  height: 150px;
}

.head_top {
  width: 850px;
  display: flex;
  justify-content: space-between;
  position: relative;
}

.head_top .h_logo {
  width: 60%;
  position: absolute;
  margin: 0;
  bottom: 0;
}

.head_top .h_logo img {
  width: 100%;
}

.head_top .h_info {
  height: 100px;
  position: absolute;
  right: 0;
  bottom: 0;
  text-align: right;
}

.h_info_item {
  text-align: right;
}

.h_info .h_info_text {
  font-size: 14px;
  color: #009ebb;
  background-color: #fff;
  width: 165px;
  height: 20px;
  text-align: center;
  border-radius: 20px;
  display: inline-block;
  font-weight: bold;
  line-height: 20px;
}

.head_top .h_info_tel {
  font-size: 23px;
  color: #fff;
  font-weight: bold;
}

.g_nav {
  width: 860px;
  margin: 0 auto;
}

.g_nav ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding: 0;
}

.g_nav ul li {
  width: calc(100% / 3);
  text-align: center;
  background-image: linear-gradient(to bottom, #b3b3b3, #b3b3b3 5px, transparent 1px, transparent 4px);
  background-size: 1px 8px;
  background-repeat: repeat-y;
  position: relative;
}

.g_nav ul li:last-of-type::after {
  content: "";
  display: block;
  width: 1px;
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  background-image: linear-gradient(to bottom, #b3b3b3, #b3b3b3 5px, transparent 1px, transparent 4px);
  background-size: 1px 8px;
  background-repeat: repeat-y;
}

.g_nav ul li a {
  display: block;
  text-decoration-line: none;
}

.g_nav ul li img {
  display: block;
  margin: auto;
  padding: 10px 0 14px;
  width: auto;
  height: 35px;
}

.g_nav ul li span {
  color: #009ebb;
  font-size: 16px;
}

/*foot -----
--------------*/
.foot_inner {
  width: 940px;
  margin: auto;
  background-image: linear-gradient(to right, #b3b3b3, #b3b3b3 5px, transparent 1px, transparent 4px);
  background-size: 8px 1px;
  background-position: top;
  background-repeat: repeat-x;
  border-radius: 2px;
  font-size: 0;
  padding: 26px 0 20px;
}

.foot_info {
  width: 48%;
  margin: 0 10px;
  display: inline-block;
  vertical-align: top;
  text-align: left;
}

.f_logo {
  margin: 10px 0 0;
}

.f_logo img {
  width: 90%;
}

.pos {
  margin: 0;
}

.pos_day {
  margin: 15px 0 0;
}

.pos_day span {
  display: inline-block;
  width: 4em;
  text-align: justify;
  text-align-last: justify;
}

.foot_info p {
  font-size: 16px;
  color: #999999;
  line-height: 30px;
}

.none_pc {
  font-size: 23px;
  font-weight: bold;
  color: #999999;
}

.f_nav {
  width: 460px;
  display: inline-block;
  text-align: left;
}

.f_nav ul li {
  line-height: 17px;
}

.f_nav ul li:before {
  content: '>';
  font-size: 22px;
  color: #009ebb;
}

.f_nav ul li a {
  font-weight: bold;
  font-size: 14px;
  color: #999999;
  text-decoration-line: none;
}

.foot_item_contenar {
  margin-top: 20px;
  margin-left: 10px;
  position: relative;
}

.foot_item_contenar img {
  width: 100%;
}


.footer_button {
  width: 50%;
}

.foot_item {
  position: absolute;
  top: 65px;
  left: 45px;
}

.footer_button2 {
  width: 55%;
}

.foot_item2 {
  position: absolute;
  top: 65px;
  left: 240px;
}

.foot_item_coment {
  font-size: 16px;
  color: #999999;
  margin-left: 10px;
}

.copyright {
  font-size: 14px;
  font-weight: bold;
  color: #fff;
  text-align: center;
  background-color: #009ebb;
  padding: 13.5px 0;
}

/* index -----
--------------*/
.banner {
  padding: 60px 0 0;
  margin: auto;
  text-align: center;
}

.banner img {
  width: 60%;
}

.top_catch {
  text-align: center;
  margin: 100px 150px;
}

.top_catch img {
  margin-bottom: 40px;
  width: 9%;
}

/* .top_catch span {
  font-size: 30px;
  font-weight: 401;
  letter-spacing: 2px;
  color: #009ebb;
  line-height: 55px;
} */

.top_catch p{
  margin: 0;
  font-size: 30px;
  font-weight: 401;
  letter-spacing: 2px;
  color: #009ebb;
  line-height: 2;
}

.top_catch .big {
  font-size: 35px;
  font-weight: bold;
}

.top_catch img.star{
  width: 35px;
  margin: 0 0 -8px -5px;
}

.main_content {
  background: url(../img/mv_item.png);
  width: 930px;
  margin: auto;
  background-repeat: no-repeat;
  background-position: top;
  background-size: auto 100%;
}

.main {
  padding: 50px 70px;
}

.main p {
  line-height: 1.8;
}

.main span {
  color: #009ebb;
  line-height: 30px;
  background-color: #e6f4f4;
  margin: 0 6px;
  border-radius: 20px;
  font-weight: bold;
  padding: 0 7px;
}

.menu_content {
  text-align: center;
  background-color: #f1f8fc;
  margin-top: 120px;
  padding: 70px;
}

.images {
  text-align: center;
  margin-top: 130px;
}

.images img {
  width: 60%;
}

.images .contact_button {
  width: 60%;
  margin: 100px auto;
}

.menu_content p {
  font-size: 30px;
  color: #009ebb;
  margin-bottom: 60px;
  font-weight: bold;
  letter-spacing: 5px;
}

.content_container {
  max-width: 900px;
  font-size: 18px;
  margin: auto;
  text-align: left;

}

.content_container li::after {
  width: 100%;
  height: 1px;
  bottom: 15px;
  left: 0;
  display: block;
  content: "";
  border-style: dotted;
  border-width: 0 0 2px 0;
  border-color: #000;
  position: absolute;
}

.content_item {
  width: 80%;
  margin: auto;
}

.content_item .cont_txt {
  margin-top: 10px;
}

.content_container ul li {
  /* background: url(./img/content.png); */
  display: flex;
  justify-content: space-between;
  position: relative;
  align-items: flex-end;
}

.content_container ul li .content_title::before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  background: no-repeat center/100% url(../img/list_item.png);
  vertical-align: -3px;
}

.content_title,
.content_ttl {
  display: inline-block;
  padding: 5px 10px 5px 0;
  background-color: #f1f8fc;
  z-index: 2;
}

.content_title span {
  display: inline-block;
}

.sub_item {
  display: inline-block;
  padding: 5px 10px 5px 7px;
  background-color: #f1f8fc;
  z-index: 2;
}

.contact_button img {
  width: 70%;
}


/* guide -----
--------------*/
.main_view_guide {
  background: url(../img/vw_01.png)top center no-repeat;
  background-size: cover;
  height: 510px;
}

.guide {
  width: 960px;
  margin: auto;
}

.guide .sec_title {
  text-align: center;

}

.guide .sec_tab {
  width: 330px;
  margin-bottom: 54px;
  border-left: solid 2px #000;
  border-right: solid 2px #000;
  text-align: center;
  display: inline-block;
  letter-spacing: 5px;
  font-weight: 500;
  font-size: 23px;
}

.guide_txt {
  width: 734px;
  margin: auto;
  line-height: 31px;
  margin-bottom: 92px;
  text-align: center;
}

.guide_cont {
  background-image: linear-gradient(to right, #b3b3b3, #b3b3b3 5px, transparent 1px, transparent 4px);
  background-size: 8px 1px;
  background-position: top;
  background-repeat: repeat-x;
  border-radius: 2px;
  width: 830px;
  margin: 0 auto 110px;
}

.guide_cont .cont {
  background-image: linear-gradient(to right, #b3b3b3, #b3b3b3 5px, transparent 1px, transparent 4px);
  background-size: 8px 1px;
  background-position: bottom;
  background-repeat: repeat-x;
  border-radius: 2px;
  padding: 43px 0 50px;
}

.guide_cont .cont .cont_main {
  display: flex;
}

.guide_cont .cont .txt_area {
  padding: 0 20px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 60%;
}

.guide_cont .cont .txt_area p {
  line-height: 31px;
  font-size: 16px;
}

.img_area {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 40%;
}

.img_area img {
  width: 310px;
  height: 400px;
}

.guide_cont .cont .cont_ttl {
  display: flex;
}

.guide_cont .cont .cont_ttl img {
  width: 40px;
  height: auto;
  display: inline-block;
}

.guide_cont .cont .cont_ttl .title p {
  display: inline-block;
  height: 30px;
  margin: 10px 0 0 18px;
  color: #009ebb;
  font-size: 20px;
  font-weight: bold;
  letter-spacing: 2px;
}

.txt_area_list {
  line-height: 30px;
  font-size: 0.97em;
  list-style-position: inside;
}

.txt_area_list ul {
  list-style: disc;
  margin: 0;
}

.txt_area_coment {
  background-color: #f1f7fc;
  padding: 0 10px;
  border-radius: 10px;
}

.career .name {
  text-align: center;
  padding-bottom: 30px;
}

.name p {
  color: #009ebb;
  font-weight: bold;
  font-size: 22px;
}

.career .career_img {
  text-align: center;
}

.name_kanji {
  font-size: 27px;
}

.history {
  line-height: 30px;
}

.history ul li {
  display: flex;
  list-style: none;
  padding: 3px 0;
}

.history_li {
  width: 130px;
  color: #009ebb;
  font-weight: bold;
  display: inline-block;
  text-align: right;
}

.career_li {
  display: inline-block;
  margin-left: 20px;
}

.capacity {
  margin: 50px 60px;
}

.capacity ul {
  list-style: disc;
}

.guide_txt span,
.txt_area p span,
.txt_area_list span {
  color: #009ebb;
  font-weight: bold;
}

.txt_area_coment p span {
  color: #009ebb;
  font-weight: bold;
}

.txt_area_coment strong {
  font-size: small;
  color: #009ebb;
}

/* access ------
------------------- */
.main_view_access {
  background: url(../img/vw_05.png)top center no-repeat;
  background-size: cover;
  height: 510px;
}

.access .sec_title {
  text-align: center;
}

.access .sec_tab {
  width: 330px;
  margin-bottom: 54px;
  border-left: solid 2px #000;
  border-right: solid 2px #000;
  text-align: center;
  display: inline-block;
  font-size: 25px;
  letter-spacing: 3px;
  margin-bottom: 42px;
  font-weight: 500;
  font-size: 23px;
}

.access_map {
  margin-bottom: 50px;
}

.access_map .pos {
  width: 360px;
  margin: 0 auto 40px;
  line-height: 31px;
}

.access_map iframe {
  width: 80%;
  height: 412px;
  margin: auto;
  display: block;
}

.access_map_up {
  width: 80%;
  text-align: center;
  margin: 0 auto 40px auto;
}

.access_map_up img {
  width: 100%
}

.access_met {
  font-size: 0;
  width: 960px;
  margin: 0 auto 104px;
}

.access_met .car,
.access_met .train {
  width: 480px;
  display: inline-block;
  vertical-align: top;
  padding-top: 12px;
  box-sizing: border-box;
}

.access_met .car {
  border-right: 1px solid #9e9e9f;
  box-sizing: border-box;
}

.access_met .car .icon,
.access_met .train .icon {
  text-align: center;
  margin-bottom: 24px;
}

.access_met .car .method,
.access_met .train .method {
  font-weight: bold;
  text-align: center;
  font-size: 16px;
  margin-bottom: 14px;
}

.access_met .car .time img,
.access_met .train .time img {
  width: 80%;
}

.access_met .train .method span {
  font-size: 14px;
}

.access_met .car .time,
.access_met .train .time {
  text-align: center;
}

.app_img {
  margin-bottom: 76px;
  text-align: center;
}

.app_img p {
  font-size: 15px;
}

.contact_contact_button img {
  width: 35%;
}

.txt_reserve {
  text-align: center;
  font-weight: bold;
  margin-top: 50px;
}

.notes {
  display: flex;
  justify-content: center;
  margin-top: 80px;
}

.week_notes {
  display: flex;
  width: 400px;
  margin: 0 0 50px;
}

.week_notes_item {
  background-color: #009ebb;
  color: #fff;
  width: 95px;
  height: 30px;
  text-align: center;
  margin-right: 40px;
  font-weight: bold;
}

.calender_wrapper {
  width: 820px;
  margin: 0 auto 60px;
}

.calender {
  border: 6px solid #009ebb;
  border-top: none;
  border-collapse: separate;
  width: 100%;
  border-collapse: collapse;
}

.calender tr th.first {
  width: 315px;
}

.calender tr th {
  background-color: #009ebb;
  border-right: 4px solid #16bbd6;
  border-bottom: none;
  padding: 20px 0;
  width: 70px;
  color: #fff;
  font-size: 20px;
}

.calender tr td.first {
  width: 300px;
  padding-left: 1em;
  font-weight: normal;
  font-size: 25px;
  color: #595858;
  font-weight: bold;
}

.calender tr td {
  border-bottom: 4px solid #16bbd6;
  border-right: 4px solid #16bbd6;
  padding: 29px 0;
  font-weight: bold;
  color: #595858;
  font-size: 20px;
  width: 70px;
  position: relative;
  text-align: center;
}

span.calender-caution {
  font-size: 10px;
  line-height: 1em;
  display: block;
}

span.calender-caution span {
  display: inline-block;
  vertical-align: text-bottom;
}

.calender tr td.caution {
  padding: 12px 0 0;
}


.calender tr td.practice_01 {
  background: url(../img/practice_01.png)center center no-repeat;
}

.calender tr td.practice_02 {
  background: url(../img/practice_02.png)center center no-repeat;
}

.practice {
  position: relative;
  top: 30px;
}

.calender_notes {
  margin: 0;
}

/* .sp-only{
  display: none;
} */



@media (max-width:940px) {

  body {
    font-size: 16px;
  }

  .kaigyou {
    display: inline-block;
    padding: 0;
  }

  .pc_kaigyou {
    display: none;
  }

  /* head */
  .head_inner {
    height: 100px;
  }

  .head_top .h_logo {
    width: 90%;
    margin: auto;
    position: static;
  }

  /* .head_top .h_logo img {
    width: 150%;
    margin: auto;
  } */



  .head_top .h_info {
    display: none;
  }

  .g_nav {
    width: 100%;
  }

  .g_nav ul {
    padding: 0;
    margin: 30px 20px 20px 10px;
    text-align: center;
  }

  .g_nav ul li {
    width: 28%;
    background: none;
    line-height: 15px;
  }

  .g_nav ul li:last-of-type::after {
    display: none;
  }

  .g_nav ul li img {
    padding: 0 0 4px;
  }

  .g_nav ul li span {
    font-size: 10px;
    font-weight: bold;
  }

  /* footer */

  .foot_inner {
    width: 90%;
    background: none;
    padding: 0;
  }

  .sp_sns_btn {
    position: relative;
    width: 100%;
  }

  .sp_sns_btn img {
    width: 100%;
    padding: auto;
  }

  .sp_sns_btn .sns_item {
    position: absolute;
    width: 45%;
    top: 65%;
    left: 3%;
  }

  .sp_sns_btn .sns_item2 {
    position: absolute;
    width: 45%;
    top: 65%;
    right: 5%;
  }

  .foot_info {
    width: 95%;
  }

  .f_logo img {
    width: 100%;
  }

  .foot_info .pos {
    font-size: 12px;
    line-height: 18px;
    text-align: center;
    margin: 0 0 10px 0;
  }

  .foot_info .pos_day {
    width: 110%;
    font-size: 11px;
    line-height: 18px;
    background-color: #f2f2f2;
    border-radius: 10px;
    padding: 10px 20px;
    margin: 10px auto 10px -5%;
    box-sizing: border-box;
  }

  .none_pc {
    text-align: center;
  }

  .f_nav {
    display: none;
  }

  .copyright {
    font-size: 10px;
  }

  /* slider */
  .main_view_index .slider img {
    width: 100%;
  }

  /* index */

  .banner {
    padding: 0;
  }

  .banner img {
    width: 90%;
    padding: 20px 0 0 0;
  }

  .top_catch {
    width: 100%;
    margin: 30px auto;
  }

  .top_catch img {
    margin: 0 0 20px 0;
    width: 13%;
  }

  .top_catch img.star{
    width: 20px;
    margin: 0 0 -5px -5px;
  }

  /* .top_catch span {
    font-size: 15px;
    line-height: 30px;
  } */

  .top_catch p {
    font-size: 15px;
    line-height: 1.8;
  }

  .top_catch .big {
    font-size: 20px;
  }

  .main_content {
    width: 100%;
    margin: 50px auto auto;
    background: none;
  }

  .main {
    margin: 20px;
    padding: 15px;
    border: dotted #009ebb 4px;
    border-radius: 20px;
  }

  .main span {
    padding: 0 7px;
    display: inline-block;
  }

  .main div span:first-of-type {
    margin-bottom: 10px;
  }

  .main_img {
    text-align: right;
  }

  .main_img img {
    width: 90px;
    margin-right: 10px;
  }

  .menu_content {
    margin-top: 100px;
    padding: 30px 0;
  }

  .menu_content p {
    font-size: 16px;
    letter-spacing: 2px;
    margin: 0;
  }

  .content_item {
    width: 90%;
    margin: auto;
    font-size: 11px;
    line-height: 23px;
  }

  .content_item ul {
    padding: 0 0 0 10px;
  }

  /* .content_item ul li {
    letter-spacing: 70%;
  } */

  .content_container ul li .content_title::before {
    width: 12px;
    height: 12px;
    vertical-align: -2px;
  }

  .content_title {
    padding: 5px 6px 5px 0;
  }

  .sub_item {
    padding: 5px 0 5px 6px;
  }

  .images {
    margin-top: 50px;
  }

  .images img {
    width: 100%;
    margin: 0;
  }

  .images .contact_button {
    width: 80%;
    margin: 30px auto;
  }

  /* guide */

  .main_view_guide {
    background: url(../img/vw_01.png)top center no-repeat;
    background-size: 100%;
    height: 150px;
  }

  .topics_path {
    padding: 0;
    width: 90%;
    font-size: 12px;
  }

  .guide {
    width: 100%;
  }

  .guide .sec_tab {
    width: 75%;
  }

  .sec_title {
    width: 100%;
  }

  .guide_txt {
    width: 85%;
  }

  .guide_cont {
    width: 100%;
  }

  .cont_ttl img {
    padding-left: 18px;
  }

  .guide_cont .cont .cont_ttl .title p {
    font-size: 20px;
  }

  .guide_cont .cont .cont_main {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
  }

  .guide_cont .cont .txt_area {
    width: 88%;
  }

  .guide_cont .cont .img_area {
    width: 100%;
    display: flex;
    justify-content: center;
  }

  .img_area img {
    padding: 30px 0 0 0;
  }

  .guide_cont .cont .txt_area p {
    font-size: 16px;
  }

  .txt_area_list ul {
    padding: 0 0 0 20px;
  }

  .career_img img {
    width: 30%;
  }

  .history {
    padding: 0 20px 0 10px;
    line-height: 20px;
    font-size: 12px;
    display: flex;
  }

  .history ul {
    padding: 0;
  }

  .history ul li {
    padding: 3px 0;
  }

  .history_li {
    width: 24%;
    text-align: right;
    display: inline-block;
    color: #009ebb;
  }

  .career_kaigyou {
    padding: 2px 0 0 0;
  }

  .capacity {
    margin: 50px 35px;
    font-size: 14px;
  }

  .capacity ul {
    padding: 0;
  }

  .career_li {
    width: 70%;
    display: inline-block;
    justify-content: flex-start;
  }

  /* sccess */
  .main_view_access {
    background: url(../img/vw_05.png)top center no-repeat;
    background-size: 100%;
    height: 150px;
  }

  .pos {
    text-align: center;
  }

  .access .sec_tab {
    width: 82%;
  }

  .access_map iframe {
    width: 90%;
  }

  .access_map_up {
    margin: auto;
  }

  .access_map_up img {
    width: 100%;
  }

  .access_met {
    width: 80%;
  }

  .access_met .car {
    width: 100%;
    margin: auto;
    border: none;
  }

  .access_met .car .time img {
    width: 80%;
  }

  .access_met .train {
    width: 100%;
    margin: auto;
    padding-top: 30px;
  }

  .access_met .train .time img {
    width: 80%;
  }

  .app_img img {
    width: 80%;
  }

  .week_notes {
    width: 100%;
  }

  .week_notes_item {
    width: 25%;
    margin: 10px 20px;
  }

  .week_notes_time {
    width: 60%;
  }

  .contact_contact_button img {
    width: 80%;
  }

  .calender_wrapper {
    width: 90%;
  }

  .calender {
    border: 3px solid #009ebb;
    border-top: none;
    border-collapse: separate;
    width: 100%;
    border-collapse: collapse;
  }

  .calender tr th {
    background-color: #009ebb;
    border-right: 2px solid #16bbd6;
    border-bottom: none;
    padding: 10px 0;
    width: 70px;
    color: #fff;
    font-size: 12px;
  }

  .calender tr td.first {
    width: 300px;
    text-align: left;
    font-weight: normal;
    font-size: 15px;
    color: #595858;
    font-weight: bold;
  }

  .calender tr td {
    border-bottom: 4px solid #16bbd6;
    border-right: 4px solid #16bbd6;
    padding: 10px 0;
    font-weight: bold;
    color: #595858;
    width: 70px;
    position: relative;
    text-align: center;
  }

  span.calender-caution {
    font-size: 10px;
  }

  .calender tr td.caution {
    padding: 10px 0 0;
  }

  .calender tr td.practice_01 {
    background-size: 50%;
  }

  .calender tr td.practice_02 {
    background-size: 50%;
  }

  .practice {
    position: relative;
    top: 20px;
    font-size: 1px;
  }
  .pc-only{
    display: none;
  }


}

@media (min-width:751px) {
  .main .main_img img {
    display: none !important;
  }

  .sp_sns_btn {
    display: none !important;
  }

  .sp-only{
    display: none;
  }

}