@charset "UTF-8";
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

html, body, h1, h2, h3, h4, ul, ol, dl, li, dt, dd, p, div, span, img, a, table, tr, th, td, figure {
  border: 0;
  font-size: 100%;
  font-weight: normal;
  margin: 0;
  padding: 0;
  vertical-align: baseline; }

html {
  font-size: 62.5%;
  overflow-wrap: break-word;
  word-wrap: break-word; }

article, aside, figcaption, figure, footer, header, hgroup, main, nav, section {
  display: block; }

body {
  font-size: 16px;
  line-height: 1.5;
  overflow-x: hidden;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%; }

ol, ul, nav {
  list-style: none; }

a {
  color: inherit;
  text-decoration: none; }

a:focus {
  outline: thin dotted; }

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

button {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  background-color: transparent;
  border: none;
  cursor: pointer;
  padding: 0; }

.clearfix:before, .clearfix:after {
  content: "";
  display: block;
  visibility: hidden; }

.clearfix:after {
  clear: both; }

@media print {
  a, a:visited {
    text-decoration: underline; }

  pre, blockquote {
    border: 1px solid #999;
    page-break-inside: avoid; }

  thead {
    display: table-header-group; }

  tr, img {
    page-break-inside: avoid; }

  img {
    max-width: 100% !important; }

  @page {
    margin: 0.5cm; }
  p {
    orphans: 3;
    widows: 3; }

  h2, h3 {
    page-break-after: avoid; }

  #mobile_header {
    width: 100%; }

  #header_navi {
    display: none !important; } }
@media print and (max-width: 768px) {
  #page_header {
    position: static !important; } }
/***　== header CSS ==　***/
.inner:after {
  content: "";
  clear: both;
  display: block; }

#page_header,
#page_header .inner {
  width: 100%;
  padding: 0; }

#page_header {
  top: 0;
  position: fixed;
  height: 60px;
  margin: 0px auto 0;
  line-height: 1;
  z-index: 999;
  background: #222; }

#page_header .inner {
  position: relative;
  height: 100%; }

#page_header a {
  color: #000;
  text-decoration: none; }

#mobile_header {
  height: 60px;
  z-index: 999;
  position: absolute;
  background: #222; }

#iconparts {
  display: none; }

#page_header .logo {
  height: 100%;
  padding: 10px;
  float: left; }
  #page_header .logo img {
    height: 100%;
    display: inline-block;
    vertical-align: top;
    margin-right: 5px; }

#page_header .header-title {
  padding: 10px 5px;
  line-height: 40px;
  float: left;
  color: #fff; }

#header_navi {
  text-align: right;
  position: absolute;
  left: 0;
  right: 0;
  background: transparent; }

#header_navi ul {
  display: block;
  line-height: 2.5; }

#header_navi ul li {
  float: none;
  position: static; }

#page_header #header_navi ul li a {
  width: 100%;
  display: block;
  color: #fff;
  padding: 10px 0; }

/* Toggle Button */
#nav-toggle {
  display: block;
  position: absolute;
  right: 12px;
  top: 14px;
  width: 34px;
  height: 36px;
  cursor: pointer;
  z-index: 1001; }

#nav-toggle div {
  position: relative; }

#nav-toggle span {
  display: block;
  position: absolute;
  height: 4px;
  width: 100%;
  background: #fff;
  left: 0;
  -webkit-transition: .35s ease-in-out;
  transition: .35s ease-in-out; }

#nav-toggle span:nth-child(1) {
  top: 3px; }

#nav-toggle span:nth-child(2) {
  top: 14px; }

#nav-toggle span:nth-child(3) {
  top: 25px; }

#sp_name div {
  font-size: 2rem;
  display: block;
  margin: auto;
  width: 250px;
  line-height: 60px;
  text-align: center; }

/* #nav-toggle 切り替えアニメーション */
.open #nav-toggle span:nth-child(1) {
  top: 11px;
  -webkit-transform: rotate(315deg);
  transform: rotate(315deg); }

.ie9 .open #nav-toggle span:nth-child(1) {
  -ms-transform: rotate(315deg); }

.open #nav-toggle span:nth-child(2) {
  width: 0;
  left: 50%; }

.open #nav-toggle span:nth-child(3) {
  top: 11px;
  -webkit-transform: rotate(-315deg);
  transform: rotate(-315deg); }

.ie9 .open #nav-toggle span:nth-child(3) {
  -ms-transform: rotate(-315deg); }

@media (max-width: 374px) {
  .header-title {
    display: none; } }
@media (min-width: 769px) {
  #nav-toggle,
  #sp_name {
    display: none; }

  #page_header {
    position: fixed;
    padding: 0 10px;
    width: 200px;
    height: 100vh; }
    #page_header .logo {
      float: none; }

  #header_navi {
    height: 100%;
    padding: 10px;
    text-align: left; }

  #mobile_header {
    background: transparent;
    height: auto;
    padding-top: 30px;
    position: static; }

  #page_header .header-title {
    line-height: 20px;
    float: none; } }
@media (max-width: 820px) {
  #header_navi ul li a {
    padding: 0.7vw; } }
@media (max-width: 768px) {
  #header_navi {
    position: absolute;
    /* 開いてないときは画面外に配置 */
    top: -500px;
    background: #222;
    width: 100%;
    text-align: center;
    padding: 10px 0;
    -webkit-transition: .5s ease-in-out;
    transition: .5s ease-in-out; }

  /* #header_navi スライドアニメーション */
  .open #header_navi {
    -webkit-transform: translateY(560px);
    transform: translateY(560px); }

  .ie9 .open #header_navi {
    -ms-transform: translateY(560px); }

  #mobile_header {
    width: 100%; } }
/*** == common CSS == ***/
body {
  font-family: YakuHanJPs, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "Noto Sans JP", "Hiragino Sans", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "游ゴシック Medium", YuGothic, YuGothicM, メイリオ, Meiryo, sans-serif;
  width: 100%; }

.serif {
  font-family: "Hiragino Mincho ProN", "Noto Serif JP", "Yu Mincho", YuMincho,HGS明朝E,メイリオ,Meiryo,serif; }

.f_small {
  font-size: 1.4rem; }

.f_medium {
  font-size: 2rem; }

.f_large {
  font-size: 2.4rem; }

.f_bold {
  font-weight: bold; }

.txt_c {
  text-align: center; }

.flex_item {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto; }

.ie9 .flex {
  display: inline-block;
  -js-display: flex; }

.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

._flow {
  -ms-flex-flow: row wrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
          flex-flow: row wrap; }

._flow_column {
  -ms-flex-flow: column wrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-flow: column wrap; }

/*a[target="_blank"] {
    &::after {
        content: url(../item/external-link.png);
        margin-left: 5px;        
    }
    &.noicon::after {
        display: none;
    }
}*/
.pdf_link {
  text-decoration: underline; }
  .pdf_link::after {
    content: url(../item/pdf_file_icon_24x24.png);
    margin-left: 5px;
    display: inline-block;
    width: 24px;
    height: 24px;
    vertical-align: bottom; }
  .pdf_link.noicon::after {
    display: none; }
  .pdf_link.mtp10 {
    display: inline-block;
    margin-top: 10px; }

.indent {
  text-indent: 1em; }

.list_indent {
  text-indent: -1em;
  padding-left: 1em; }

.btm60 {
  margin-bottom: 60px; }

.relative {
  position: relative; }

/* 上へ戻るスクロールボタン */
#page-top {
  position: fixed;
  right: 30px;
  bottom: -50px;
  width: 60px;
  height: 50px;
  margin: 0 auto;
  -webkit-transition: .5s ease-in-out;
  transition: .5s ease-in-out;
  opacity: 0; }
  #page-top img {
    width: 100%; }
  #page-top a {
    display: block; }
    #page-top a:focus {
      outline: none; }
  #page-top.show {
    opacity: 1;
    bottom: 30px; }

/*　photo setting */
.photo_trimbox_w_fit,
.photo_trimbox_h_fit {
  width: 100%;
  height: 100%;
  overflow: hidden;
  position: relative;
  display: block;
  margin: auto; }

.photo_ratiobox_w_fit,
.photo_ratiobox_h_fit {
  width: 100%;
  height: auto;
  overflow: hidden;
  position: relative;
  display: block;
  margin: auto;
  padding-bottom: 66.667%; }

.photo_trimbox_w_fit img,
.photo_ratiobox_w_fit img {
  width: 100%;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  margin: auto; }

.photo_trimbox_h_fit img,
.photo_ratiobox_h_fit img {
  width: auto;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  margin: auto; }

.ie9 .photo_trimbox_h_fit img,
.ie9 .photo_trimbox_w_fit img,
.ie9 .photo_ratiobox_h_fit img,
.ie9 .photo_ratiobox_w_fit img {
  -ms-transform: translate(-50%, -50%); }

.bgcolor_style1 {
  background-color: #fff7e6; }

.bgcolor_style2 {
  background-color: #eee; }

.bgcolor_style3 {
  background-color: #fff; }

.bgcolor_style4 {
  background-color: #f0f7ff; }

[class^='col'] {
  margin: 10px;
  width: calc(100% - 20px); }

/* == main area== */
#home_cover {
  height: 40vh;
  overflow: hidden;
  position: relative;
  margin-top: 60px;
  background: url(../images/header_image1.jpg) center center;
  background-repeat: no-repeat;
  background-size: cover;
  -webkit-transition: .35s ease-in-out;
  transition: .35s ease-in-out; }

#title_container {
  height: 30vh;
  min-height: 280px;
  overflow: hidden;
  position: relative;
  margin-top: 60px;
  -webkit-transition: .35s ease-in-out;
  transition: .35s ease-in-out; }

.contents1 {
  background: url(../images/header_image2.jpg) center center;
  background-repeat: no-repeat;
  background-size: cover; }

.contents2 {
  background: url(../images/header_image3.jpg) center center;
  background-repeat: no-repeat;
  background-size: cover; }

.contents3 {
  background: url(../images/header_image4.jpg) center center;
  background-repeat: no-repeat;
  background-size: cover; }

.contents4 {
  background: url(../images/header_image5.jpg) center center;
  background-repeat: no-repeat;
  background-size: cover; }

.contents5 {
  background: url(../images/header_image6.jpg) center center;
  background-repeat: no-repeat;
  background-size: cover; }

.contents6 {
  background: url(../images/header_image7.jpg) center center;
  background-repeat: no-repeat;
  background-size: cover; }

.contents_title {
  font-size: 3rem;
  color: #fff;
  text-align: center;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 100%; }

.mainarea .wrap {
  width: calc(100% - 40px);
  max-width: 960px;
  margin-left: auto;
  margin-right: auto; }

.mainarea section {
  padding: 30px 0;
  position: relative;
  margin-bottom: 6vw; }
  .mainarea section.bg_tilt::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 120%;
    height: 100%;
    margin: -3% -10% 0;
    background: #eee;
    -webkit-transform-origin: left center;
            transform-origin: left center;
    -webkit-transform: rotate(3deg);
            transform: rotate(3deg);
    z-index: -1; }
.mainarea .image_container {
  margin: 20px auto; }
  .mainarea .image_container img {
    height: auto;
    width: 100%;
    max-width: 800px;
    display: block;
    margin: auto; }
  .mainarea .image_container figcaption {
    text-align: center;
    margin-top: 10px; }

.section_title {
  font-size: 24px;
  margin-bottom: 10px;
  position: relative;
  overflow: hidden; }
  @media (min-width: 481px) {
    .section_title {
      font-size: calc(24px + 14 * (100vw - 481px) / 852); } }
  @media (min-width: 1333px) {
    .section_title {
      font-size: 38px; } }

.section_title._border {
  text-align: left; }

.section_title._border::after,
.section_title._border::before {
  content: "";
  position: absolute;
  bottom: 0;
  z-index: 1; }

.section_title._border::before {
  border-bottom: 1px solid blue;
  width: 100%; }

.section_title._border::after {
  border-bottom: 1px solid #ccc;
  width: 100%; }

.section_sub_title {
  font-size: calc(100% + .5vw);
  margin-bottom: 20px; }

.section_title,
.section_sub_title {
  text-align: center; }

.point_content {
  margin-top: 40px; }
  .point_content .point_title_container {
    margin-bottom: 10px;
    line-height: 1.2; }
    .point_content .point_title_container .cap {
      text-align: center;
      margin-bottom: 10px; }
      .point_content .point_title_container .cap span {
        position: relative; }
        .point_content .point_title_container .cap span::after, .point_content .point_title_container .cap span::before {
          content: "";
          position: absolute;
          border-bottom: 2px solid #000;
          width: 24px;
          bottom: .6em; }
        .point_content .point_title_container .cap span::after {
          left: -30px; }
        .point_content .point_title_container .cap span::before {
          right: -30px; }
    .point_content .point_title_container ._title {
      font-size: 20px;
      text-align: center;
      color: #05c; }
      @media (min-width: 481px) {
        .point_content .point_title_container ._title {
          font-size: calc(20px + 8 * (100vw - 481px) / 852); } }
      @media (min-width: 1333px) {
        .point_content .point_title_container ._title {
          font-size: 28px; } }
      .point_content .point_title_container ._title br {
        display: none; }
  .point_content .image_container {
    border-radius: 12px;
    overflow: hidden; }
  .point_content .text {
    padding: 1em; }

.info_box {
  width: auto;
  margin: 10px auto 60px;
  padding: 20px;
  position: relative; }
  .info_box.style_gray {
    border: 2px solid #ccc;
    background-color: #eee; }
  .info_box.style_aqua {
    background-color: #f0f7ff; }
  .info_box li {
    margin-bottom: 5px; }
  .info_box .check {
    padding: 0.25em 0.5em 0.25em 1.5em;
    position: relative; }
    .info_box .check::before {
      font-family: "Font Awesome 5 Free";
      content: "\f00c";
      font-weight: 900;
      position: absolute;
      left: 0;
      color: #062c7c; }

.btn_style1 {
  text-align: center; }
  .btn_style1 a {
    background-color: #05c;
    border: 2px solid #05c;
    border-radius: 4px;
    color: #fff;
    display: block;
    line-height: 3em;
    width: 100%; }
    .btn_style1 a:hover {
      background-color: #fff;
      color: #000;
      -webkit-transition: .3s ease-in-out;
      transition: .3s ease-in-out; }

.btn_style2 {
  background-color: #CBB25E;
  display: table;
  margin: 50px auto 30px; }
  .btn_style2 a {
    line-height: 3em;
    padding: 0 45px 0 30px;
    color: #fff;
    position: relative;
    display: block;
    text-align: center; }
    .btn_style2 a::after {
      color: #fff;
      content: ">";
      position: absolute;
      right: 20px; }
  .btn_style2:hover {
    background-color: inherit;
    -webkit-transition: .2s ease-in-out;
    transition: .2s ease-in-out; }
    .btn_style2:hover a {
      color: #000;
      -webkit-transition: .2s ease-in-out;
      transition: .2s ease-in-out; }
      .btn_style2:hover a::after {
        color: #000;
        -webkit-transition: .2s ease-in-out;
        transition: .2s ease-in-out; }

.em_line {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(60%, #ffff66));
  background: linear-gradient(transparent 60%, #ffff66 60%);
  font-weight: bold; }

.notice {
  text-align: center;
  padding: 20px;
  margin: 20px auto 40px;
  font-size: 20px;
  background-color: #f0f7ff;
  border: 3px solid #05c;
  color: #05c;
  font-weight: bold;
  text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.2); }
  @media (min-width: 481px) {
    .notice {
      font-size: calc(20px + 18 * (100vw - 481px) / 852); } }
  @media (min-width: 1333px) {
    .notice {
      font-size: 38px; } }

/*　スライダー設定　*/
ul.bxslider li {
  width: 200px;
  height: 50vw;
  min-height: 200px;
  max-height: 250px;
  position: relative; }

ul.bxslider li img {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  max-width: 100%;
  max-height: 100%;
  margin: auto; }

/*-==== お知らせ　====*/
.news_cont .section_title {
  text-align: left; }
.news_cont .col1 {
  position: relative; }
.news_cont ul {
  display: block;
  vertical-align: top; }
.news_cont li {
  line-height: 1.3;
  padding: 10px 0 10px 110px;
  border-bottom: 2px dashed  #ccc;
  position: relative; }
  .news_cont li span {
    vertical-align: top;
    display: block;
    position: absolute;
    left: 0; }
.news_cont .next_btn {
  position: absolute;
  right: 0;
  top: 0; }
  .news_cont .next_btn a {
    padding: 0.5em 1em;
    display: block;
    color: #48f; }
.news_cont .bt_datail {
  text-align: center;
  overflow: hidden;
  margin: 0 auto; }
  .news_cont .bt_datail a {
    max-width: 340px;
    min-width: 235px;
    position: relative;
    display: inline-block;
    padding: 15px 50px 15px 55px;
    color: #8dc031;
    border: 2px #8dc031 solid;
    border-radius: 5px;
    overflow: hidden;
    font-size: 15px;
    background: rgba(255, 255, 255, 0); }
  .news_cont .bt_datail a::after {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    right: 20px;
    top: 44%;
    border-style: solid;
    border-width: 4px 0 4px 5px;
    border-color: transparent transparent transparent #8dc031;
    -webkit-transition: 0.5s;
    transition: 0.5s; }
  .news_cont .bt_datail a::before {
    content: "";
    position: absolute;
    height: 2px;
    width: 30px;
    background: #8dc031;
    right: 21px;
    top: 49%;
    -webkit-transition: 0.5s;
    transition: 0.5s; }

.text_catch {
  margin: 50px auto 10px; }

.main_text {
  line-height: 1.8; }
  .main_text > p:nth-of-type(n + 2) {
    margin-top: 2em; }

/* flow_wrap */
.flow_wrap ol li {
  margin-bottom: 30px; }
.flow_wrap ol .step_header {
  border: 2px solid #05c;
  margin-bottom: 20px;
  height: 38px; }

/* access */
.access dl dt {
  color: #48f;
  padding: 5px 10px 5px 44px;
  margin: 0 0 10px 0; }
.access dl dd {
  margin-bottom: 30px; }
  .access dl dd a {
    color: #cbb25e;
    text-decoration: underline; }
.access .dt1 {
  background: #e5f5fd url(../images/map_icon.svg) 10px no-repeat;
  background-size: 26px; }
.access .dt2 {
  background: #e5f5fd url(../images/phone_icon.svg) 10px no-repeat;
  background-size: 26px; }
.access .dt3 {
  background: #e5f5fd url(../images/train_icon.svg) 10px no-repeat;
  background-size: 26px; }

.staff_cont {
  margin-bottom: 30px; }
  .staff_cont .photo_wrap {
    width: 280px;
    margin: auto; }
    .staff_cont .photo_wrap img {
      width: 100%; }
  .staff_cont .name_wrap {
    margin-bottom: 20px; }

.name_wrap .ruby {
  font-style: italic; }

.career dt {
  background-color: #05c;
  color: #fff;
  padding: 4px 10px;
  margin-bottom: 10px; }

.passed_list {
  margin-top: 10px; }
  .passed_list dt {
    background-color: #038;
    border: 2px solid #038;
    color: #fff;
    padding: 5px 10px; }
  .passed_list dd {
    border: 2px solid #038;
    padding: 10px 20px 20px;
    margin-bottom: 20px; }
    .passed_list dd ul li {
      border-bottom: 1px dashed #ccc;
      padding: 5px 3px;
      width: 100%; }

.concept_list li {
  margin-bottom: 20px; }

.fee .info {
  margin-bottom: 20px; }
  .fee .info li {
    padding: 0.25em 1.5em;
    position: relative; }
    .fee .info li::before {
      font-family: "Font Awesome 5 Free";
      content: "\f00c";
      font-weight: 900;
      position: absolute;
      left: 0;
      color: #062c7c; }
.fee .fee_table1 {
  border-top: 1px solid #05c;
  border-left: 1px solid #05c;
  margin: 10px auto;
  width: 100%; }
  .fee .fee_table1 tr {
    border-bottom: 1px solid #05c;
    border-right: 1px solid #05c; }
  .fee .fee_table1 th {
    background-color: #e5f5fd;
    color: #05c;
    padding: 1em 1.5em;
    vertical-align: middle; }
  .fee .fee_table1 td {
    padding: 1em 1.5em; }
.fee .flex._flow li {
  width: 50%;
  padding-bottom: 0.5em;
  padding-right: 0.5em; }
.fee .calendar {
  border-top: 1px solid #999;
  border-left: 1px solid #999;
  width: 100%; }
  .fee .calendar thead th:nth-child(2),
  .fee .calendar thead th:nth-child(3) {
    background-color: #f0e0aa; }
  .fee .calendar th {
    background-color: #ccc;
    border-bottom: 1px solid #999;
    border-right: 1px solid #999;
    padding: 10px 5px; }
  .fee .calendar td {
    border-bottom: 1px solid #999;
    border-right: 1px solid #999;
    text-align: center;
    padding: 10px 5px; }

.article_container img {
  max-width: 100%;
  height: auto; }
.article_container .article_date {
  margin-bottom: 40px; }

.blog_list_style li {
  border-bottom: 2px dashed  #ccc;
  padding: 10px 0 10px 120px;
  position: relative; }
  .blog_list_style li span {
    position: absolute;
    left: 0; }

.back_btn {
  width: 6em;
  margin: auto; }

.pagenavi {
  max-width: 960px;
  width: 80%;
  margin: auto;
  text-align: center; }

.pagenavi li {
  display: inline-block;
  margin: 0 5px;
  width: 42px;
  border: 2px solid #05c;
  border-radius: 10px;
  overflow: hidden; }

.pagenavi li:first-child,
.pagenavi li:last-child {
  border: none; }

.pagenavi li .pg_select {
  background-color: #05c;
  color: #fff; }

.pagenavi li .back,
.pagenavi li .next {
  background-color: transparent;
  color: #333; }

.pagenavi li span,
.pagenavi li a {
  display: block;
  padding: 5px; }

.policy dt {
  font-weight: bold;
  margin-top: 1.5em; }
.policy dd {
  padding-left: 1em;
  margin-top: .5em; }
  .policy dd .bt_m {
    margin-bottom: 1em; }
.policy ul {
  background-color: #eee;
  padding: .5em;
  margin-bottom: 1em; }

/*g_map*/
.map {
  position: relative;
  height: 50vw;
  min-height: 300px;
  max-height: 500px;
  overflow: hidden;
  margin-bottom: 10px;
  margin-top: 60px; }

.map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

.justify {
  text-align: justify;
  text-justify: inter-ideograph; }

.cd_nav {
  margin-bottom: 20px;
  text-align: center;
  position: relative; }
  .cd_nav a {
    background-color: #e5f5fd;
    border-radius: 10px;
    color: #05c;
    padding: 5px 10px; }
  .cd_nav .cd_prev {
    position: absolute;
    left: 0; }
  .cd_nav .cd_next {
    position: absolute;
    right: 0; }
  .cd_nav .cd_date {
    display: inline-block;
    font-size: 2rem; }

.err_wrap {
  width: 100%;
  position: relative;
  height: 100vh;
  padding-top: 100px;
  background: #ccc; }

.err_cont {
  width: 100%;
  text-align: center; }
  .err_cont .logoarea {
    width: 60%;
    margin: auto auto 30px; }
  .err_cont .link {
    margin-top: 20px; }
    .err_cont .link a {
      padding: 1em;
      color: #fff;
      background-color: #000;
      display: inline-block;
      border-radius: 10px; }

@media (min-width: 481px) {
  .fee .flex._flow li {
    width: 25%; }

  /* flow_wrap */
  .flow_wrap {
    background-color: #f0f7ff;
    padding: 30px; }
    .flow_wrap ._title {
      padding: .5em;
      font-size: 2.4rem;
      font-weight: bold;
      margin-bottom: 30px;
      color: #05c; }
    .flow_wrap ol li:last-child .step_text::before, .flow_wrap ol li:last-child .step_text::after {
      display: none; }
    .flow_wrap ol .step_header {
      background-color: #fff; }
      .flow_wrap ol .step_header span {
        background-color: #05c;
        color: #fff;
        padding-left: 10px;
        line-height: 36px;
        display: inline-block;
        margin-right: 20px;
        position: relative; }
        .flow_wrap ol .step_header span::after {
          content: "";
          display: block;
          border-top: 18px solid #05c;
          border-right: 10px solid transparent;
          border-bottom: 18px solid transparent;
          border-left: 10px solid #05c;
          position: absolute;
          right: -20px;
          top: 0; }
    .flow_wrap ol .step_text {
      margin-left: 60px;
      position: relative; }
      .flow_wrap ol .step_text::before {
        content: "";
        display: block;
        margin: 0 auto;
        width: 11px;
        height: 100%;
        background-color: #c1e4f2;
        position: absolute;
        left: -36px; }
      .flow_wrap ol .step_text::after {
        content: "";
        display: block;
        border-top: 20px solid #c1e4f2;
        border-right: 20px solid transparent;
        border-bottom: 20px solid transparent;
        border-left: 20px solid transparent;
        position: absolute;
        left: -50px;
        bottom: -30px; } }
@media (max-width: 480px) {
  /* flow_wrap */
  .flow_wrap ._title {
    padding: .5em;
    font-size: 2rem;
    font-weight: bold;
    margin-bottom: 30px;
    background-color: #05c;
    color: #fff;
    text-align: center; }
  .flow_wrap ol li {
    -webkit-box-shadow: 0 3px 10px #aaa;
            box-shadow: 0 3px 10px #aaa;
    border-radius: 5px; }
    .flow_wrap ol li .step_header {
      background-color: #05c;
      border-radius: 5px 5px 0 0;
      color: #fff; }
      .flow_wrap ol li .step_header span {
        line-height: 36px;
        padding: 0 10px; }
    .flow_wrap ol li .step_text {
      padding: 0 20px 20px; }

  .calendar tbody {
    font-size: 14px; } }
@media (min-width: 769px) {
  .col1 {
    width: calc(100% - 20px); }

  .col2 {
    width: calc(50% - 20px); }

  .col3 {
    width: calc(33.333333% - 20px); }

  .col3-2 {
    width: calc(66.666666% - 20px); }

  .col4 {
    width: calc(25% - 20px); }

  .col4-3 {
    width: calc(75% - 20px); }

  .col5 {
    width: calc(20% - 20px); }

  .col5-2 {
    width: calc(40% - 20px); }

  .col5-3 {
    width: calc(60% - 20px); }

  .col6 {
    width: calc(16.6666666% - 20px); }

  .col8 {
    width: calc(12.5% - 20px); }

  .col8-3 {
    width: calc(37.5% - 20px); }

  .col8-5 {
    width: calc(62.5% - 20px); }

  .col9 {
    width: calc(11.111111% - 20px); }

  .col10 {
    width: calc(10% - 20px); }

  .col12 {
    width: calc(8.333333% - 20px); }

  .mainarea {
    padding-left: 200px; }
    .mainarea .wrap {
      width: 80%; }

  #home_cover {
    margin: auto;
    height: 50vh; }

  #title_container {
    margin: auto; }

  .contents_title {
    background-color: rgba(255, 255, 255, 0.8);
    width: auto;
    padding: 100px 50px;
    margin-left: 40px;
    color: #000;
    min-width: 250px; }

  .news_cont {
    margin: -200px auto auto; }
    .news_cont .wrap {
      background: rgba(255, 255, 255, 0.8);
      padding: 20px; }

  /*.text_catch,
  .main_text {
      width: 80%;
  }*/
  .section_title,
  .section_sub_title {
    margin: auto auto 20px; }

  .point_content._flow_column {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap; }

  .info_box ._flow_column {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap; }

  .pan {
    display: block;
    width: 80%;
    max-width: 960px;
    margin: 10px auto; }
    .pan ul li {
      display: inline-block; }
      .pan ul li a {
        display: inline-block;
        padding: 0 10px; }
      .pan ul li::before {
        content: ">"; }
      .pan ul li:first-child::before {
        display: none; }

  .layout_container_left {
    width: 250px; }
  .layout_container_right {
    width: calc(100% - 250px);
    max-width: 790px; } }
@media (max-width: 768px) {
  .pan {
    width: 100%;
    margin: 10px auto;
    padding: 0 20px; }

  .contents_title {
    text-shadow: 0px 3px 5px rgba(0, 0, 0, 0.8); } }
/***　== max960 CSS　==　***/
@media (min-width: 960px) {
  .staff_cont {
    padding-left: 340px;
    position: relative; }
    .staff_cont .photo_wrap {
      position: absolute;
      left: 0; }

  .fee .fee_table1 {
    max-width: 600px;
    margin: 10px 0; }
    .fee .fee_table1 th {
      width: 220px; }

  .passed_list dd ul {
    overflow: hidden; }
    .passed_list dd ul li {
      float: left;
      width: calc(50% - 10px); }
      .passed_list dd ul li:nth-child(2n) {
        margin-left: 20px; }

  .image_container.right {
    position: absolute;
    top: 0;
    width: 30%;
    margin: auto;
    right: 0; }

  .step_text span {
    display: inline-block;
    width: 65%;
    margin: auto; } }
@media (max-width: 959px) {
  .fee .fee_table1 th {
    display: block;
    width: 100%;
    text-align: left; }
  .fee .fee_table1 td {
    display: block; } }
/***　== fotter CSS　== ***/
/*footer*/
#footer {
  margin-top: 60px; }
  #footer .wrap {
    padding: 40px 0;
    text-align: center; }
  #footer #foot_nav .flex li {
    margin-bottom: 10px;
    line-height: 1.6em;
    width: 50%; }
    #footer #foot_nav .flex li a {
      padding-left: 10px;
      padding-right: 10px;
      color: #000; }
      #footer #foot_nav .flex li a:hover {
        color: #eee; }
  #footer .foot_name {
    font-size: 2rem; }
  #footer address {
    font-style: normal;
    margin-bottom: 10px; }

.ft_scroll {
  border-bottom: 1px solid #000;
  border-top: 1px solid #000; }
  .ft_scroll a {
    display: block;
    padding: 10px;
    text-align: center; }

.copyright {
  font-size: 1.2rem;
  text-align: center;
  padding-top: 10px;
  margin-bottom: 20px;
  width: 100%; }

@media (min-width: 769px) {
  #footer {
    padding-left: 200px; } }
@media (min-width: 960px) {
  #footer .wrap {
    max-width: 960px;
    margin: auto; }
  #footer .footer_cont {
    text-align: left;
    padding-right: 50px;
    border-right: 1px solid #000; }
  #footer ._flow_column {
    -ms-flex-flow: row wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
            flex-flow: row wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
  #footer #foot_nav {
    width: 60%; } }
/*** == from CSS == ***/
/* お問い合わせフォーム　*/
#inquiry .wrap {
  max-width: 760px; }

.c_form {
  margin-bottom: 50px; }
  .c_form table {
    border: 1px solid #ccc;
    margin-bottom: 20px;
    width: 100%; }
    .c_form table tr {
      border-bottom: 2px solid #ccc; }
    .c_form table th {
      text-align: left;
      background-color: #e5f5fd;
      padding: 2%;
      vertical-align: top;
      display: block; }
    .c_form table td {
      padding: 2%;
      display: block; }
    .c_form table p {
      font-size: 1.3rem;
      margin-bottom: 5px;
      text-align: left; }
    .c_form table .addressarea input {
      margin-bottom: 10px; }
    .c_form table [title="cap"]::before {
      color: #f08;
      font-size: 1.3rem;
      display: inline-block;
      margin-right: 5px;
      content: "【必須】"; }
  .c_form input {
    font-size: 1.5rem;
    padding: 5px;
    width: 100%;
    background: #fff;
    border: 1px solid #999;
    min-height: 1em;
    height: auto; }
  .c_form .error {
    background: #fcc;
    border: 1px solid #c00; }
  .c_form textarea {
    width: 100%;
    max-width: 100%;
    min-width: 100%;
    min-height: 150px;
    font-size: 1.5rem;
    padding: 5px;
    border: 1px solid #999; }
  .c_form .button {
    font-size: 1.6rem;
    line-height: 2em;
    display: block;
    margin: auto;
    padding: 20px;
    border-radius: 4px; }
  .c_form .exsample {
    color: #666;
    line-height: 1.2;
    margin-bottom: 5px; }

.label-radio input[type="radio"] {
  display: none; }

.label-radio {
  cursor: pointer;
  color: #888;
  font-weight: normal;
  display: inline-block;
  margin-right: 10px;
  font-size: 1.5rem;
  color: #000; }

.label-radio .lever:before {
  content: "";
  background-image: url(../item/check_before.svg);
  margin-right: 7px;
  position: relative;
  width: 15px;
  height: 15px;
  background-size: contain;
  vertical-align: baseline;
  display: inline-block; }

.label-radio input[type="radio"]:checked + .lever {
  color: #000; }

.label-radio input[type="radio"]:checked + .lever:before {
  background-image: url(../item/check_after.svg); }

.agree_chk {
  width: 100%;
  max-width: 500px;
  color: #000;
  text-align: left;
  margin: 15px auto; }

.agree_chk a {
  color: #2ae; }

.agree_center {
  text-align: center;
  margin-top: 10px; }

.agree_chk input {
  vertical-align: top; }

.agree_chk input.chk {
  width: 20px;
  height: 20px;
  margin: 0; }

input[type="submit"][disabled] {
  background-color: #ccc;
  filter: alpha(opacity=60);
  -moz-opacity: 0.6; }

.error_mess {
  color: red; }

@media (min-width: 769px) {
  .c_form table th {
    width: 30%;
    display: table-cell; }
  .c_form table td {
    width: 70%;
    display: table-cell; }
  .c_form .p-postal-code {
    width: auto; }
  .c_form .name,
  .c_form .kana,
  .c_form .phone,
  .c_form .mail,
  .c_form .p-region {
    width: 60%; }
  .c_form .age {
    width: 4em; } }

/*# sourceMappingURL=style.css.map */