@charset "UTF-8";
/****************************************************
Break Point Settings
****************************************************/
/****************************************************
Styles
****************************************************/
/**
* Table of Contntens:
*
* 1.0 - Reset
* 2.0 - Basic Structure
* 3.0 - Header
* 4.0 - Page
*   4.1 - Top
*   4.2 - News
*   4.3 - Feature
*   4.4 - service
*   4.5 - Intrructor
*   4.6 - OB/OG
*   4.7 - Info
*   4.8 - Q&A
*   4.9 - Contact
*   4.10 - Access
*   4.11 - Course01（普通自動車）
*   4.12 - Course02（自動二輪車）
*   4.13 - Course03（中型・準中型）
*   4.14 - Course04（普通二種）
*   4.15 - Course05（大型特殊）
*   4.16 - Course06（審査コース限定解除）
* 5.0 - Footer
* 6.0 - 管理画面
* -----------------------------------------------------------------------------
*/
/**
* 1.0 - リセット
* -----------------------------------------------------------------------------
*/
* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

body,
html {
  margin: 0;
}

/* img,video */
img,
video {
  vertical-align: bottom;
  border: none;
}

/* list */
ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* table */
table {
  border-collapse: collapse;
  width: 100%;
}

/* link */
a {
  text-decoration: none;
  color: inherit;
}
a:hover, a:link, a:visited, a:active {
  text-decoration: none;
}

/* iOSでのデフォルトスタイルをリセット */
input[type=submit],
input[type=button] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  -moz-appearance: button;
       appearance: button;
  border: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
input[type=submit]::-webkit-search-decoration,
input[type=button]::-webkit-search-decoration {
  display: none;
}
input[type=submit]::focus,
input[type=button]::focus {
  outline-offset: -2px;
}

/* align */
.right {
  text-align: right;
}

.center {
  text-align: center;
}

/* typography */
html {
  font-size: 62.5%;
}

body {
  font-family: "Noto Sans JP", "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
  font-style: normal;
  font-weight: 400;
}

.pt {
  font-family: "PT Serif", sans-serif;
}

h1,
h2,
h3,
h4,
h5 {
  margin: 0;
  font-weight: normal;
  line-height: 1;
}

h2 {
  font-size: 3.4rem;
  font-weight: bold;
  font-family: "PT Serif", sans-serif;
}

p {
  font-size: 1.6rem;
}

/* visibility */
@media screen and (max-width: 768px) {
  .pconly {
    display: none !important;
  }
}

@media screen and (max-width: 768px) {
  .pc-tab {
    display: none !important;
  }
}

@media screen and (min-width: 769px) {
  .tab-sp {
    display: none !important;
  }
}
@media screen and (max-width: 896px) {
  .tab-sp {
    display: block;
  }
}

@media screen and (min-width: 769px) {
  .tabonly {
    display: none !important;
  }
}
@media screen and (max-width: 896px) {
  .tabonly {
    display: block;
  }
}
@media screen and (max-width: 768px) {
  .tabonly {
    display: none !important;
  }
}

@media screen and (min-width: 769px) {
  .sponly {
    display: none !important;
  }
}
@media screen and (max-width: 896px) {
  .sponly {
    display: none !important;
  }
}
@media screen and (max-width: 768px) {
  .sponly {
    display: block !important;
  }
}

/* WordPress Native Styles */
p {
  display: block;
  margin: 1em 0;
}

strong {
  font-weight: bold;
}

em {
  font-style: italic;
}

blockquote {
  display: block;
  -webkit-margin-before: 1em;
  -webkit-margin-after: 1em;
  -webkit-margin-start: 40px;
  -webkit-margin-end: 40px;
}

/* img */
.aligncenter {
  display: block;
  margin: 0 auto;
}

.alignright {
  float: right;
}

.alignleft {
  float: left;
}

img[class*=wp-image-],
img[class*=attachment-] {
  height: auto;
  max-width: 100%;
}

/* clearfix */
.clearfix {
  overflow: hidden;
  zoom: 1;
}

.clearfix:after {
  content: "";
  display: block;
  clear: both;
}

.noevent {
  pointer-events: none;
}

/* AOS animation */
html:not(.no-js) [data-aos=fade-up] {
  -webkit-transform: translate3d(0, 20px, 0);
  transform: translate3d(0, 20px, 0);
}

/**
* 2.0 - 基本構造
* -----------------------------------------------------------------------------
*/
@media screen and (max-width: 768px) {
  body {
    margin-top: 66px;
  }
}

main {
  display: block;
}

.inner {
  max-width: 1260px;
  padding-left: 30px;
  padding-right: 30px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .inner {
    padding-left: 5vw;
    padding-right: 5vw;
  }
}

.inner1000 {
  max-width: 1060px;
}

.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

/**
* 3.0 - ヘッダー
* -----------------------------------------------------------------------------
*/
.home main {
  margin-top: 107px;
}
@media screen and (max-width: 768px) {
  .home main {
    margin-top: 0;
  }
}

header {
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 3;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  header {
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 3;
    background-color: #fff;
    border-bottom: 1px solid #000;
    height: 66px;
  }
}
@media screen and (max-width: 768px) {
  header .flex {
    display: block;
    padding-top: 10px;
    padding-bottom: 10px;
  }
}

.header_l {
  -ms-flex-preferred-size: calc(412px + 4rem);
      flex-basis: calc(412px + 4rem);
  max-width: calc(412px + 4rem);
  padding-left: 2rem;
  padding-right: 2rem;
}
@media screen and (max-width: 768px) {
  .header_l {
    padding-left: 3vw;
  }
}
.header_l .logo {
  width: 100%;
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media all and (-ms-high-contrast: none) {
  .header_l .logo {
    display: block;
  }
}
@media screen and (max-width: 768px) {
  .header_l .logo {
    top: unset;
    -webkit-transform: none;
            transform: none;
    max-width: 274px;
  }
}

.header_r {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.header_r_top {
  text-align: right;
}
.header_r_top ul li {
  display: inline-block;
}
.header_r_top ul li a {
  font-size: 0.9vw;
  font-weight: bold;
}
@media screen and (min-width: 1400px) {
  .header_r_top ul li a {
    font-size: 13px;
  }
}
.header_r_top ul li:not(:first-child):before {
  display: inline-block;
  content: "／";
  font-size: 1.3rem;
  margin: 0 0.5em;
}
.header_r_top ul .li_document {
  margin-left: 2rem;
}
.header_r_top ul .li_document a {
  background-color: #ff861e;
  color: #fff;
  white-space: nowrap;
  display: block;
  width: 100%;
  height: 100%;
  padding: 10px 2vw;
  -webkit-transition: all 0.1s linear;
  transition: all 0.1s linear;
}
.header_r_top ul .li_document a img {
  max-width: 27px;
  width: 100%;
  margin-right: 4px;
}
.header_r_top ul .li_document a:before {
  content: "";
  width: 2.2vw;
  max-width: 24px;
  height: 2.25vw;
  max-height: 27px;
  background-image: url("../images/common/icon_document.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.5rem;
}
.header_r_top ul .li_document a:hover {
  background-color: #fff;
  color: #ff861e;
}
.header_r_top ul .li_document a:hover:before {
  background-image: url("../images/common/icon_document2.svg");
}
.header_r_top ul .li_document:before {
  display: none !important;
}

.header_r_bottom {
  text-align: right;
  margin-top: 2px;
}

.nav_main ul {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.nav_main ul li a {
  background-color: #1e5822;
  color: #fff;
  display: block;
  width: 100%;
  height: 100%;
  text-align: center;
  font-size: 1.1vw;
  padding: 1.7rem 1.4vw;
  border-right: 1px solid #3f7143;
  white-space: nowrap;
  -webkit-transition: all 0.1s linear;
  transition: all 0.1s linear;
}
@media screen and (min-width: 1400px) {
  .nav_main ul li a {
    font-size: 16px;
  }
}
.nav_main ul li a:hover {
  opacity: 0.8;
}
.nav_main ul li .sub {
  position: absolute;
  top: 100%;
  visibility: hidden;
  background-color: #ebf6db;
  opacity: 0;
  -webkit-transform: translateY(-5px);
          transform: translateY(-5px);
  -webkit-transition: all 0.2s linear;
  transition: all 0.2s linear;
  z-index: 10000;
  width: 100%;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  left: 0;
  right: 0;
  padding-left: calc((100vw - 1200px) / 2);
  padding-right: calc((100vw - 1200px) / 2);
}
.nav_main ul li .sub li {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.nav_main ul li .sub li a {
  background-color: #ebf6db;
  color: #333333;
  font-size: 1.1vw;
  text-align: center;
  font-weight: bold;
  border: none;
  position: relative;
  padding-top: 2em;
  padding-bottom: 2em;
}
@media screen and (min-width: 1400px) {
  .nav_main ul li .sub li a {
    font-size: 14px;
  }
}
.nav_main ul li .sub li a:hover {
  color: #1e5822;
}
.nav_main ul li .sub li a:hover:after {
  position: absolute;
  display: block;
}
.nav_main ul li .sub li a:after {
  height: 6px;
  width: 100%;
  background-color: #1e5822;
  bottom: 0;
  left: 0;
  display: none;
  content: "";
}
.nav_main ul li:hover .sub {
  -webkit-transform: translateY(0px);
          transform: translateY(0px);
  visibility: visible;
  opacity: 1;
}
.nav_main ul .has_child span:after {
  content: "";
  display: inline-block;
  width: 7px;
  height: 6px;
  background-image: url("../images/common/icon_triangle1.svg");
  background-repeat: no-repeat;
  background-size: contain;
  margin-left: 5px;
}

.submenu {
  display: none;
  position: absolute;
  top: 100%;
  z-index: 1;
  background-color: #ebf6db;
  width: 100%;
}
/* スマホメニュー　*/
.toggle,
.toggle span {
  display: inline-block;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.toggle {
  position: fixed;
  top: 23px;
  right: 20px;
  width: 32px;
  height: 20px;
  z-index: 4;
  border: none;
  background: none;
}
.toggle span {
  position: absolute;
  left: 0;
  height: 1px;
  background-color: #000;
  border-radius: 2px;
}
.toggle span:nth-of-type(1) {
  top: 0;
  width: 100%;
}
.toggle span:nth-of-type(2) {
  top: 9px;
  width: 80%;
}
.toggle span:nth-of-type(3) {
  bottom: 0;
  width: 100%;
}

.toggle.active span:nth-of-type(1) {
  -webkit-transform: translateY(9px) rotate(-45deg);
          transform: translateY(9px) rotate(-45deg);
}
.toggle.active span:nth-of-type(2) {
  opacity: 0;
}
.toggle.active span:nth-of-type(3) {
  -webkit-transform: translateY(-9px) rotate(45deg);
          transform: translateY(-9px) rotate(45deg);
}

.drawer-menu {
  position: fixed;
  height: 100%;
  left: 100%;
  z-index: 2;
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
  background-color: #fff;
  padding: 90px 6vw 50px 6vw;
  width: 100%;
  overflow: scroll;
  top: 0;
}
.drawer-menu .tel {
  margin-top: 3rem;
}
.drawer-menu .tel a {
  background-color: #1e5822;
  text-align: center;
  padding: 1rem;
  display: block;
}
.drawer-menu .tel a img {
  max-width: 250px;
  width: 100%;
}
.drawer-menu .tel p {
  font-size: 1.2rem;
}
.drawer-menu .document {
  margin-top: 2rem;
  margin-bottom: 2rem;
}
.drawer-menu .document a {
  display: block;
  padding: 1rem;
  background-color: #ff861e;
  text-align: center;
  font-size: 2rem;
  color: #fff;
}
.drawer-menu .document a img {
  width: 36px;
  margin-right: 10px;
}
.drawer-menu .sns .flex {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.drawer-menu .sns .flex li {
  -ms-flex-preferred-size: 52px;
      flex-basis: 52px;
  max-width: 52px;
  margin: 0 3px;
}
.drawer-menu .sns .flex li img {
  width: 100%;
}

body.open {
  overflow: hidden;
}
body.open .drawer-menu {
  left: 0;
}

.drawer_navi_main > ul > li > a {
  font-size: 1.6rem;
  color: #1e5822;
  font-weight: bold;
  border-bottom: 1px solid #000;
  display: block;
  width: 100%;
  height: 100%;
  padding-bottom: 1rem;
  margin-bottom: 1rem;
}
.drawer_navi_main > ul > li .sub {
  display: none;
}
.drawer_navi_main > ul > li .sub li a {
  font-size: 1.4rem;
  font-weight: bold;
  display: block;
  width: 100%;
  height: 100%;
  line-height: 2.5;
}
.drawer_navi_main > ul > li .sub li:last-child {
  margin-bottom: 30px;
}
.drawer_navi_main > ul .has_children {
  position: relative;
}
.drawer_navi_main > ul .has_children:after {
  content: "";
  position: absolute;
  width: 9px;
  height: 6px;
  background-image: url("../images/common/icon_triangle4.svg");
  background-repeat: no-repeat;
  background-size: contain;
  right: 2rem;
  top: 1rem;
  -webkit-transition: all 0.2s linear;
  transition: all 0.2s linear;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.drawer_navi_main > ul .has_children.active:after {
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
}

.drawer_navi_sub {
  margin-top: 3rem;
}
.drawer_navi_sub .flex {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.drawer_navi_sub .flex li {
  -ms-flex-preferred-size: 50%;
      flex-basis: 50%;
  max-width: 50%;
}
.drawer_navi_sub .flex li a {
  font-size: 1.2rem;
  line-height: 2.5;
}
.drawer_navi_sub .flex li a:before {
  content: "";
  display: inline-block;
  width: 3px;
  height: 3px;
  background-color: #93ce3f;
  border-radius: 3px;
  vertical-align: middle;
  margin-right: 4px;
}

/**
* 4.0 - Page
* -----------------------------------------------------------------------------
*/
.btn {
  max-width: 260px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  background-color: #1e5822;
  color: #ffffff;
  text-align: center;
  position: relative;
  display: block;
  font-size: 1.6rem;
  padding: 2rem;
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
}
.btn:hover {
  opacity: 0.8;
}

.btn_arrow:after {
  content: "";
  position: absolute;
  right: 2rem;
  width: 7px;
  height: 14px;
  background-image: url("../images/common/icon_arrow1.svg");
  background-repeat: no-repeat;
  background-size: contain;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.page main,
.category main,
.archive main,
.single main {
  padding-bottom: 13rem;
  margin-top: 10rem;
}
@media screen and (max-width: 768px) {
  .page main,
  .category main,
  .archive main,
  .single main {
    padding-bottom: 8rem;
  }
}
.page h2,
.category h2,
.archive h2,
.single h2 {
  margin-top: 7rem;
  font-size: 3.6rem;
  text-align: center;
  font-weight: bold;
  position: relative;
  margin-bottom: 4rem;
}
@media screen and (max-width: 768px) {
  .page h2,
  .category h2,
  .archive h2,
  .single h2 {
    margin-top: 12rem;
    font-size: 2.5rem;
  }
}
.page h2 .en,
.category h2 .en,
.archive h2 .en,
.single h2 .en {
  font-size: 1.8rem;
  font-weight: bold;
  color: #1e5822;
  display: block;
  margin-top: 5px;
}
@media screen and (max-width: 768px) {
  .page h2 .en,
  .category h2 .en,
  .archive h2 .en,
  .single h2 .en {
    font-size: 1.3rem;
  }
}
.page h2:after,
.category h2:after,
.archive h2:after,
.single h2:after {
  content: "";
  position: absolute;
  bottom: -4rem;
  right: 0;
  left: 0;
  margin-left: auto;
  margin-right: auto;
  width: 221px;
  height: 8px;
  background: rgb(147, 206, 63);
  background: -webkit-gradient(linear, left top, right top, from(rgb(147, 206, 63)), color-stop(50%, rgb(147, 206, 63)), color-stop(50%, rgb(0, 87, 22)), to(rgb(0, 87, 22)));
  background: linear-gradient(90deg, rgb(147, 206, 63) 0%, rgb(147, 206, 63) 50%, rgb(0, 87, 22) 50%, rgb(0, 87, 22) 100%);
}
@media screen and (max-width: 768px) {
  .page h2:after,
  .category h2:after,
  .archive h2:after,
  .single h2:after {
    width: 114px;
    height: 4px;
    bottom: -2rem;
  }
}

.page main {
  margin-top: 200px;
}
@media screen and (max-width: 768px) {
  .page main {
    margin-top: 0;
  }
}

@media screen and (max-width: 768px) {
  .page .mainvisual,
  .archive .mainvisual,
  .single .mainvisual {
    margin-top: -2rem;
  }
}
.page .mainvisual img,
.archive .mainvisual img,
.single .mainvisual img {
  width: 100%;
}

.goog-te-banner-frame {
  display: none !important;
}

/**
* 4.1 - Home
* -----------------------------------------------------------------------------
*/
.home .mainvisual {
  width: 100%;
  overflow: hidden;
  position: relative;
}
.home .mainvisual video {
  width: 100%;
  height: 100%;
}
.home .mainvisual .catch {
  position: absolute;
  bottom: 4vw;
  left: 2vw;
  max-width: 478px;
  z-index: 1;
  color: #fff;
  text-shadow: 0 0 7px rgba(0, 0, 0, 0.2);
  font-weight: 600;
}
.home .mainvisual .catch .catch_sm {
  font-size: 16px;
}
@media screen and (max-width: 768px) {
  .home .mainvisual .catch .catch_sm {
    font-size: 12px;
  }
}
.home .mainvisual .catch .catch_lg {
  font-size: 30px;
}
@media screen and (max-width: 768px) {
  .home .mainvisual .catch .catch_lg {
    font-size: 16px;
  }
}
@media screen and (max-width: 768px) {
  .home .mainvisual .catch {
    left: 5vw;
    max-width: 245px;
    bottom: 2rem;
  }
}
.home .mainvisual .slick-slide {
  padding: 0;
}
.home .mainvisual .slick-dots {
  bottom: -25px;
}
.home .mainvisual .slick-dots li button::before {
  color: #609864;
}
.home .mainvisual .slick-dots li.slick-active button::before {
  color: #1e5822;
}
.home .slick-image-slide-wrap img {
  width: 100%;
}
.home .wpsisac-slick-carousal.design-6 .slick-image-slide {
  margin: 0 30px;
}
.home .wpsisac-slick-carousal.design-6 .slick-dots {
  bottom: -50px !important;
}

.sec_home {
  padding-top: 11rem;
  padding-bottom: 11rem;
}
@media screen and (max-width: 768px) {
  .sec_home {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}
.sec_home h2 {
  text-align: center;
  position: relative;
  margin-bottom: 13rem;
}
@media screen and (max-width: 768px) {
  .sec_home h2 {
    font-size: 2.6rem;
    margin-bottom: 6rem;
  }
}
.sec_home h2:after {
  content: "";
  position: absolute;
  bottom: -30px;
  right: 0;
  left: 0;
  margin-left: auto;
  margin-right: auto;
  width: 221px;
  height: 8px;
  background: rgb(147, 206, 63);
  background: -webkit-gradient(linear, left top, right top, from(rgb(147, 206, 63)), color-stop(50%, rgb(147, 206, 63)), color-stop(50%, rgb(0, 87, 22)), to(rgb(0, 87, 22)));
  background: linear-gradient(90deg, rgb(147, 206, 63) 0%, rgb(147, 206, 63) 50%, rgb(0, 87, 22) 50%, rgb(0, 87, 22) 100%);
}
@media screen and (max-width: 768px) {
  .sec_home h2:after {
    width: 114px;
    height: 4px;
  }
}

/* slide */
.home_slider {
  background-color: #93ce3f;
  padding-top: 5rem;
  padding-bottom: 5rem;
}
.home_slider .inner {
  max-width: 1600px;
}
@media screen and (max-width: 768px) {
  .home_slider .inner {
    padding-left: 0;
    padding-right: 0;
  }
}
@media screen and (max-width: 768px) {
  .home_slider {
    padding-bottom: 2rem;
  }
}

.slick-slide {
  padding-right: 10px;
  padding-left: 10px;
}
.slick-slide img {
  width: 100%;
}

.slick-dots {
  bottom: -36px;
}
.slick-dots li button:before {
  color: #fff;
  opacity: 1;
}
.slick-dots li.slick-active button:before {
  color: #1e5822;
  opacity: 1;
}

/* NEWS / CAMPAIGN */
@media screen and (max-width: 768px) {
  #home_news {
    padding-bottom: 20rem;
  }
}
#home_news table {
  border-collapse: separate;
  border-spacing: 0 20px;
  margin-bottom: 8rem;
}
@media screen and (max-width: 768px) {
  #home_news table {
    margin-bottom: 3rem;
  }
}
#home_news table td {
  vertical-align: top;
}
@media screen and (max-width: 768px) {
  #home_news table td {
    display: block;
    vertical-align: middle;
  }
}
#home_news table .date {
  color: #8c8c8c;
  font-size: 1.5rem;
  padding-right: 2rem;
  white-space: nowrap;
  width: 1px;
}
@media screen and (max-width: 768px) {
  #home_news table .date {
    display: inline-block;
    width: auto;
  }
}
#home_news table .category {
  font-size: 1.4rem;
  color: #fff;
  width: 130px;
  text-align: center;
}
#home_news table .category span {
  display: inline-block;
  width: 100%;
  -webkit-transform: translateY(0.3rem);
          transform: translateY(0.3rem);
  padding-top: 0.3rem;
  padding-bottom: 0.3rem;
}
@media screen and (max-width: 768px) {
  #home_news table .category {
    display: inline-block;
  }
}
#home_news table .cat_campaign {
  background-color: #93ce3f;
}
#home_news table .cat_information {
  background-color: #1e5822;
}
#home_news table .title {
  font-size: 1.6rem;
  padding-left: 2rem;
}
@media screen and (max-width: 768px) {
  #home_news table .title {
    padding-left: 0;
    margin-top: 1rem;
    border-bottom: 1px solid #f0f0f0;
    padding-bottom: 1.5rem;
  }
}

/* Instagram */
#home_insta {
  background: -webkit-gradient(linear, left top, right top, from(rgb(235, 246, 219)), color-stop(50%, rgb(235, 246, 219)), color-stop(50%, rgb(255, 255, 255)), to(rgb(255, 255, 255)));
  background: linear-gradient(90deg, rgb(235, 246, 219) 0%, rgb(235, 246, 219) 50%, rgb(255, 255, 255) 50%, rgb(255, 255, 255) 100%);
  position: relative;
}
@media screen and (max-width: 768px) {
  #home_insta {
    background: none;
  }
}
#home_insta .catch_area {
  position: absolute;
  top: 24rem;
  background-image: url("../images/home/bg_catch_area.svg");
  background-size: cover;
  background-repeat: no-repeat;
  width: 100%;
  font-size: 4rem;
  text-align: left;
  color: #fff;
  padding-top: 5rem;
  padding-bottom: 5rem;
  padding-left: calc(59.4% + 40px);
  padding-right: 30px;
}
@media screen and (max-width: 768px) {
  #home_insta .catch_area {
    position: static;
    font-size: 2rem;
    padding-left: 0;
    padding-right: 0;
    text-align: center;
    margin-top: -6.5rem;
    margin-bottom: 3rem;
    padding-top: 3rem;
    padding-bottom: 3rem;
    background-image: url("../images/home/bg_catch_area_sp.svg");
    background-position: center center;
  }
}
#home_insta .catch_area .lg {
  text-align: center;
  display: inline-block;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  #home_insta .inner {
    padding-left: 0;
    padding-right: 0;
  }
}
@media screen and (max-width: 768px) {
  #home_insta .inner > .flex {
    display: block;
  }
}
@media screen and (max-width: 768px) {
  #home_insta h2 {
    margin-top: -18rem;
    margin-bottom: 9rem;
  }
}

#home_insta_r {
  -ms-flex-preferred-size: 40.6%;
      flex-basis: 40.6%;
  max-width: 40.6%;
  position: relative;
}
@media screen and (max-width: 768px) {
  #home_insta_r {
    max-width: 100%;
  }
}
#home_insta_r .sns_buttons {
  position: absolute;
  right: 0;
  bottom: 1.3%;
}
@media screen and (max-width: 768px) {
  #home_insta_r .sns_buttons {
    position: static;
  }
}
#home_insta_r .sns_buttons .flex {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
@media screen and (max-width: 768px) {
  #home_insta_r .sns_buttons .flex {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
#home_insta_r .sns_buttons .flex > div {
  -ms-flex-preferred-size: 70px;
      flex-basis: 70px;
  max-width: 70px;
  margin-left: 10px;
}
@media screen and (max-width: 768px) {
  #home_insta_r .sns_buttons .flex > div {
    margin-right: 0.7rem;
    padding-left: 0.7rem;
  }
}
#home_insta_r .sns_buttons .flex > div img {
  width: 100%;
}

#home_insta_l {
  -ms-flex-preferred-size: 59.4%;
      flex-basis: 59.4%;
  max-width: 59.4%;
  z-index: 1;
  padding-top: 3rem;
}
@media screen and (max-width: 768px) {
  #home_insta_l {
    max-width: 100%;
    padding-top: 5rem;
    background: -webkit-gradient(linear, left top, right top, from(rgb(235, 246, 219)), color-stop(50%, rgb(235, 246, 219)), color-stop(50%, rgb(255, 255, 255)), to(rgb(255, 255, 255)));
    background: linear-gradient(90deg, rgb(235, 246, 219) 0%, rgb(235, 246, 219) 50%, rgb(255, 255, 255) 50%, rgb(255, 255, 255) 100%);
    padding-left: 6vw;
    padding-right: 6vw;
    padding-bottom: 10rem;
  }
}
#home_insta_l .flex {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
#home_insta_l .flex > div {
  -ms-flex-preferred-size: 32.32%;
      flex-basis: 32.32%;
  max-width: 32.32%;
  margin-bottom: 1.3%;
}
@media screen and (max-width: 768px) {
  #home_insta_l .flex > div {
    max-width: 100%;
  }
}
#home_insta_l .flex > div img {
  width: 100%;
}

/* 南渋川自動車教習所の強み */
#home_advantage {
  position: relative;
}
@media screen and (max-width: 768px) {
  #home_advantage {
    padding-top: 1.2rem;
  }
}
#home_advantage h2 {
  margin-bottom: 20rem;
}
@media screen and (max-width: 768px) {
  #home_advantage h2 {
    margin-bottom: 0;
  }
}
#home_advantage .flex {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 4rem;
}
@media screen and (max-width: 768px) {
  #home_advantage .flex {
    display: block;
    margin-top: 15rem;
  }
}

.home_advantage_box {
  -ms-flex-preferred-size: 47.5%;
      flex-basis: 47.5%;
  max-width: 47.5%;
  background-color: #fff;
  margin-bottom: 5rem;
  position: relative;
  z-index: 1;
  padding-top: 3.6rem;
}
@media screen and (max-width: 768px) {
  .home_advantage_box {
    max-width: 100%;
  }
}
.home_advantage_box .title {
  font-size: 3rem;
  font-weight: bold;
  position: relative;
  padding-left: 130px;
  margin-bottom: 2rem;
}
@media screen and (max-width: 768px) {
  .home_advantage_box .title {
    font-size: 2.2rem;
    padding-left: 100px;
    margin-bottom: 0;
  }
}
.home_advantage_box .title .point {
  width: 138px;
  position: absolute;
  top: 0;
  left: -30px;
}
@media screen and (max-width: 768px) {
  .home_advantage_box .title .point {
    left: -5vw;
    width: 104px;
  }
}
.home_advantage_box .thum {
  padding-left: 6.8rem;
}
.home_advantage_box .thum img {
  width: 100%;
}

#bg_advantage1,
#bg_advantage2 {
  position: absolute;
  width: 100%;
  height: 556px;
  background-size: cover;
}

#bg_advantage1 {
  top: 28rem;
  left: 0;
  background-image: url("../images/home/bg_advantage1.svg");
}
@media screen and (max-width: 768px) {
  #bg_advantage1 {
    top: 14rem;
    background-position: -12rem 0;
  }
}

#bg_advantage2 {
  bottom: -1rem;
  left: 0;
  z-index: -1;
  background-image: url("../images/home/bg_advantage2.svg");
}
@media screen and (max-width: 768px) {
  #bg_advantage2 {
    background-position: 98% 0;
    bottom: 26rem;
  }
}

/* CALENDAR */
.calendar_wrap {
  max-width: 755px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.calendar_wrap table th {
  font-size: 2.1rem !important;
}
@media screen and (max-width: 768px) {
  .calendar_wrap table th {
    font-size: 1.2rem !important;
  }
}
.calendar_wrap table td {
  font-size: 2.6rem !important;
  text-align: center;
  font-family: "PT Serif", sans-serif;
}
@media screen and (max-width: 768px) {
  .calendar_wrap table td {
    font-size: 1.4rem !important;
  }
}

.xo-event-calendar table.xo-month {
  border: none !important;
}
.xo-event-calendar table.xo-month .month-header > span {
  font-size: 3.7rem !important;
  font-family: "PT Serif", sans-serif;
}
@media screen and (max-width: 768px) {
  .xo-event-calendar table.xo-month .month-header > span {
    font-size: 1.8rem !important;
  }
}
.xo-event-calendar table.xo-month th,
.xo-event-calendar table.xo-month td {
  border-color: #fff !important;
}
.xo-event-calendar table.xo-month .month-dayname td div {
  text-align: center !important;
}
.xo-event-calendar table.xo-month .month-dayname .dayname .holiday-all {
  color: #fff;
}
.xo-event-calendar table.xo-month .month-dayname .dayname td div {
  line-height: 62px;
}
@media screen and (max-width: 768px) {
  .xo-event-calendar table.xo-month .month-dayname .dayname td div {
    line-height: 35px;
  }
}
.xo-event-calendar table.xo-month .month-dayname-space {
  padding-bottom: 70px;
}
@media screen and (max-width: 768px) {
  .xo-event-calendar table.xo-month .month-dayname-space {
    padding-bottom: 40px;
  }
}
.xo-event-calendar table.xo-month .month-event-space {
  height: 0 !important;
}
.xo-event-calendar table.xo-month button > span {
  background-color: #e5e5e5;
  width: 40px !important;
  height: 40px !important;
  line-height: 40px !important;
}
@media screen and (max-width: 768px) {
  .xo-event-calendar table.xo-month button > span {
    width: 20px !important;
    height: 20px !important;
    line-height: 20px !important;
    font-size: 1.2rem !important;
  }
}
.xo-event-calendar table.xo-month > caption {
  margin-bottom: 4rem;
}
@media screen and (max-width: 768px) {
  .xo-event-calendar table.xo-month > caption {
    margin-bottom: 2rem;
  }
}
.xo-event-calendar table.xo-month > thead th {
  line-height: 4;
}
.xo-event-calendar table.xo-month > thead th.saturday,
.xo-event-calendar table.xo-month > thead th.sunday {
  color: inherit !important;
}
.xo-event-calendar p.holiday-title {
  margin-top: 7rem !important;
  font-size: 2.1rem !important;
  text-align: center;
  margin-bottom: 9.4rem !important;
}
@media screen and (max-width: 768px) {
  .xo-event-calendar p.holiday-title {
    margin-top: 4rem !important;
    margin-bottom: 4rem !important;
    font-size: 1.6rem !important;
  }
}
.xo-event-calendar p.holiday-title span {
  border: none !important;
  padding: 3px 0 3px 60px !important;
}

/* MAP */
#home_map h2 {
  text-align: center;
  background-color: #93ce3f;
  color: #fff;
  padding-top: 5rem;
  padding-bottom: 5rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  #home_map h2 {
    font-size: 2.6rem;
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}
#home_map h2 a {
  position: absolute;
  right: 10rem;
  background-color: #1e5822;
  color: #fff;
  font-size: 1.6rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 18.57vw;
  max-width: 260px;
  text-align: center;
  padding: 2rem;
  font-family: sans-serif;
}
#home_map .gmap {
  height: 560px;
  width: 100%;
}
@media screen and (max-width: 768px) {
  #home_map .gmap {
    height: 366px;
  }
}
#home_map .gmap iframe {
  width: 100%;
  height: 100%;
}
#home_map .to_map {
  background-color: #1e5822;
  font-family: sans-serif;
  font-size: 1.6rem;
  display: block;
  width: 100%;
  height: 100%;
  color: #fff;
  text-align: center;
  padding: 2rem 0;
}

/**
* 4.2 - News
* -----------------------------------------------------------------------------
*/
.page_news h2,
.category h2,
.archive h2,
.single-post h2 {
  margin-bottom: 12rem;
}
@media screen and (max-width: 768px) {
  .page_news h2,
  .category h2,
  .archive h2,
  .single-post h2 {
    margin-bottom: 8rem;
  }
}
.page_news .post_box,
.category .post_box,
.archive .post_box,
.single-post .post_box {
  margin-bottom: 2rem;
  padding-left: 30px;
  border-bottom: 1px solid #f1f1f1;
  padding-bottom: 2rem;
}
@media screen and (max-width: 768px) {
  .page_news .post_box:first-child,
  .category .post_box:first-child,
  .archive .post_box:first-child,
  .single-post .post_box:first-child {
    border-top: 1px solid #f1f1f1;
    padding-top: 2rem;
  }
}
.page_news .post_box .date,
.category .post_box .date,
.archive .post_box .date,
.single-post .post_box .date {
  font-size: 1.3rem;
  color: #8c8c8c;
  margin-bottom: 1rem;
  /* カテゴリー別 */
}
.page_news .post_box .date .category,
.category .post_box .date .category,
.archive .post_box .date .category,
.single-post .post_box .date .category {
  font-size: 10px;
  color: #fff;
  padding: 0.1rem 2rem;
  display: inline-block;
  margin-left: 2rem;
}
.page_news .post_box .date .cat_campaign,
.category .post_box .date .cat_campaign,
.archive .post_box .date .cat_campaign,
.single-post .post_box .date .cat_campaign {
  background-color: #93ce3f;
}
.page_news .post_box .date .cat_information,
.category .post_box .date .cat_information,
.archive .post_box .date .cat_information,
.single-post .post_box .date .cat_information {
  background-color: #1e5822;
}
.page_news .post_box .post_title,
.category .post_box .post_title,
.archive .post_box .post_title,
.single-post .post_box .post_title {
  font-size: 1.6rem;
  position: relative;
}
.page_news .post_box .post_title:before,
.category .post_box .post_title:before,
.archive .post_box .post_title:before,
.single-post .post_box .post_title:before {
  content: "";
  width: 10px;
  height: 2px;
  position: absolute;
  left: -30px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background-color: #93ce3f;
}
.page_news .post_box .post_title .pdf,
.category .post_box .post_title .pdf,
.archive .post_box .post_title .pdf,
.single-post .post_box .post_title .pdf {
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  text-align: center;
  font-size: 1.4rem;
  border-radius: 5px;
}
@media screen and (max-width: 768px) {
  .page_news .post_box .post_title .pdf,
  .category .post_box .post_title .pdf,
  .archive .post_box .post_title .pdf,
  .single-post .post_box .post_title .pdf {
    display: none;
  }
}
.page_news .post_box .pdf,
.category .post_box .pdf,
.archive .post_box .pdf,
.single-post .post_box .pdf {
  width: 60px;
  border: 1px solid red;
  color: red;
  line-height: 1.7;
  text-align: center;
  font-size: 1.4rem;
  border-radius: 5px;
  font-size: 1.2rem;
}
@media screen and (max-width: 768px) {
  .page_news .post_box .pdf,
  .category .post_box .pdf,
  .archive .post_box .pdf,
  .single-post .post_box .pdf {
    margin-top: 1rem;
  }
}

.nav_category {
  margin-bottom: 6rem;
}
.nav_category ul {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
@media screen and (max-width: 768px) {
  .nav_category ul {
    display: block;
  }
}
.nav_category ul li {
  width: 240px;
  max-width: 240px;
  margin-right: 1rem;
}
@media screen and (max-width: 768px) {
  .nav_category ul li {
    width: 100%;
    max-width: 100%;
    margin-bottom: 1rem;
  }
}
.nav_category ul li a {
  display: block;
  border: 1px solid #93ce3f;
  width: 100%;
  height: 100%;
  padding: 1rem;
  font-size: 2rem;
  color: #93ce3f;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .nav_category ul li a {
    font-size: 1.6rem;
  }
}
.nav_category ul li a:hover {
  background-color: #93ce3f;
  color: #fff;
}

.wp-pagenavi {
  text-align: center;
}
.wp-pagenavi span.current {
  background-color: #1e5822;
  color: #fff;
}
.wp-pagenavi span.current:hover {
  background-color: #1e5822;
  color: #fff;
}
.wp-pagenavi a,
.wp-pagenavi span {
  border-color: #1e5822 !important;
  font-size: 2rem;
  font-weight: bold;
  width: 40px;
  height: 40px;
  line-height: 40px;
  display: inline-block;
  text-align: center;
  padding: 0 !important;
  color: #1e5822;
  margin-right: 5px !important;
  margin-left: 5px !important;
  vertical-align: top;
}
.wp-pagenavi a:hover,
.wp-pagenavi span:hover {
  background-color: #cfe8cf;
}
.wp-pagenavi .nextpostslink,
.wp-pagenavi .previouspostslink {
  background-size: 15px;
  background-repeat: no-repeat;
  background-position: center center;
}
@media screen and (max-width: 768px) {
  .wp-pagenavi .nextpostslink,
  .wp-pagenavi .previouspostslink {
    background-size: 10px;
  }
}
.wp-pagenavi .nextpostslink {
  background-image: url("../images/news/icon_arrow_right.svg");
}
.wp-pagenavi .previouspostslink {
  background-image: url("../images/news/icon_arrow_left.svg");
}

/* 個別ページ */
.single-post .article_header {
  margin-top: 7rem;
  color: #8c8c8c;
  font-size: 1.5rem;
}
@media screen and (max-width: 768px) {
  .single-post .article_header {
    margin-top: 10rem;
  }
}
.single-post .article_header .category {
  color: #fff;
  padding: 0.1rem 2rem;
  display: inline-block;
  margin-left: 2rem;
  font-size: 1.3rem;
}
.single-post .article_header .cat_campaign {
  background-color: #93ce3f;
}
.single-post .article_header .cat_information {
  background-color: #1e5822;
}
.single-post h2 {
  font-size: 3.6rem;
  margin-bottom: 4rem;
  margin-top: 2rem;
  font-weight: bold;
  color: #005716;
  text-align: left;
  border-bottom: 1px solid #f1f1f1;
  padding-bottom: 1em;
  font-family: "Noto Sans JP", "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
}
.single-post h2:after {
  display: none;
}
@media screen and (max-width: 768px) {
  .single-post h2 {
    font-size: 2.2rem;
  }
}
.single-post .contents {
  border-bottom: 1px solid #f1f1f1;
  padding-bottom: 12rem;
}
@media screen and (max-width: 768px) {
  .single-post .contents {
    padding-bottom: 6rem;
  }
}
.single-post .contents h1 {
  font-size: 2rem;
  position: relative;
  padding-left: 2rem;
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 3rem;
}
.single-post .contents h1:before {
  width: 3px;
  height: 22px;
  content: "";
  background-image: url("../images/news/listmark1.svg");
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  left: 0;
  top: 5px;
}
.single-post .contents:after {
  content: "";
  display: block;
  clear: both;
}
.single-post .single_bottom {
  margin-top: 6rem;
}
.single-post .single_bottom .flex {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.single-post .single_bottom .single_previous,
.single-post .single_bottom .single_next {
  width: 40px;
  height: 40px;
  text-indent: 100%;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}
.single-post .single_bottom .single_previous a,
.single-post .single_bottom .single_next a {
  border: 1px solid #1e5822;
  display: block;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-size: 20px;
  background-position: center center;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}
.single-post .single_bottom .single_previous a:hover,
.single-post .single_bottom .single_next a:hover {
  background-color: #cfe8cf;
}
@media screen and (max-width: 768px) {
  .single-post .single_bottom .single_previous a,
  .single-post .single_bottom .single_next a {
    background-size: 10px;
  }
}
.single-post .single_bottom .single_previous a {
  background-image: url("../images/news/icon_arrow_left.svg");
}
.single-post .single_bottom .single_next a {
  background-image: url("../images/news/icon_arrow_right.svg");
}
.single-post .single_bottom .to_list {
  -ms-flex-preferred-size: 200px;
      flex-basis: 200px;
  max-width: 200px;
  margin: 0 2.5rem;
}
.single-post .single_bottom .to_list a {
  width: 100%;
  height: 40px;
  color: #fff;
  font-size: 1.6rem;
  text-align: center;
  display: block;
  background-color: #1e5822;
  line-height: 40px;
  padding: 0 2.5rem;
  position: relative;
}
.single-post .single_bottom .to_list a:hover {
  opacity: 0.8;
}
.single-post .single_bottom .to_list a:after {
  content: "";
  width: 5px;
  height: 10px;
  background-image: url("../images/common/icon_arrow1.svg");
  background-repeat: no-repeat;
  background-size: contain;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 2rem;
  position: absolute;
}

/**
* 4.3 - Feature
* -----------------------------------------------------------------------------
*/
.page_feature main {
  padding-bottom: 0;
}
.page_feature .point_box {
  position: relative;
  margin-top: 10rem;
}
.page_feature .point_box .point_inner {
  max-width: 1100px;
  width: 100%;
}
.page_feature .point_box .bg {
  position: absolute;
  z-index: -1;
  top: -6rem;
}
.page_feature .point_box .bg .label_point {
  max-width: 138px;
  position: absolute;
  top: -2rem;
  left: 13rem;
}
.page_feature .point_box .bg .bg_point {
  width: 100%;
  padding-right: 4rem;
}
@media screen and (max-width: 768px) {
  .page_feature .point_box .bg {
    width: 100%;
  }
}
.page_feature .point_box .catch {
  font-size: 4.1rem;
  font-weight: 900;
}
@media screen and (max-width: 768px) {
  .page_feature .point_box .catch {
    font-size: 2.6rem;
  }
}
.page_feature .point_box .catch > div {
  background-color: #fff;
  padding: 1rem 3rem;
  display: inline-block;
  line-height: 1;
  margin-bottom: 1rem;
}
@media screen and (max-width: 768px) {
  .page_feature .point_box .catch > div {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
.page_feature .point_box .catch .lg {
  font-size: 10.3rem;
}
@media screen and (max-width: 768px) {
  .page_feature .point_box .catch .lg {
    font-size: 6.6rem;
  }
}
.page_feature .point_box .catch .md {
  font-size: 5.8rem;
}
@media screen and (max-width: 768px) {
  .page_feature .point_box .catch .md {
    font-size: 3.6rem;
  }
}
.page_feature .point_box .text p {
  max-width: 320px;
  text-align: left;
  display: inline-block;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .page_feature .point_box .text p {
    max-width: 100%;
  }
}
.page_feature .point_box:after {
  content: "";
  background-color: #f5fae6;
  width: 120%;
  position: absolute;
  z-index: -2;
  left: 0;
  margin-left: -10%;
}
.page_feature #point1 {
  padding-bottom: 35rem;
}
@media screen and (max-width: 768px) {
  .page_feature #point1 {
    padding-bottom: 20rem;
  }
}
.page_feature #point1 .bg_point {
  max-width: 748px;
}
@media screen and (max-width: 768px) {
  .page_feature #point1 .bg_point {
    max-width: 340px;
    display: block;
    margin-right: 0;
    margin-left: auto;
  }
}
.page_feature #point1 .text {
  text-align: right;
  -webkit-transform: translateY(-5rem);
          transform: translateY(-5rem);
}
@media screen and (max-width: 768px) {
  .page_feature #point1 .text {
    -webkit-transform: none;
            transform: none;
  }
}
.page_feature #point1 .bg {
  left: 13rem;
}
@media screen and (max-width: 768px) {
  .page_feature #point1 .bg {
    left: 0;
  }
}
.page_feature #point1:after {
  height: 390px;
  bottom: -5rem;
  -webkit-transform: rotate(3deg);
          transform: rotate(3deg);
}
@media screen and (max-width: 768px) {
  .page_feature #point1:after {
    height: 200px;
    bottom: unset;
    top: 0;
  }
}
.page_feature #point2 {
  padding-bottom: 16rem;
}
@media screen and (max-width: 768px) {
  .page_feature #point2 {
    padding-bottom: 6rem;
  }
}
.page_feature #point2 .point_inner {
  margin-left: auto;
  margin-right: 0;
}
.page_feature #point2 .bg_point {
  max-width: 796px;
}
@media screen and (max-width: 768px) {
  .page_feature #point2 .bg_point {
    max-width: 94%;
  }
}
.page_feature #point2 .bg {
  right: 0;
}
.page_feature #point2 .catch {
  margin-left: 10vw;
}
@media screen and (max-width: 768px) {
  .page_feature #point2 .catch {
    margin-left: 0;
  }
}
@media screen and (max-width: 768px) {
  .page_feature #point2 .catch div {
    margin-top: 12rem;
  }
}
.page_feature #point2 .text {
  text-align: left;
}
.page_feature #point2 .text a {
  margin-left: 0;
  margin-top: 7rem;
}
@media screen and (max-width: 768px) {
  .page_feature #point2 .text a {
    margin-top: 2rem;
    margin-left: auto;
  }
}
.page_feature #point3 {
  margin-bottom: 22rem;
}
@media screen and (max-width: 768px) {
  .page_feature #point3 {
    margin-bottom: 12rem;
  }
}
.page_feature #point3 .bg_point {
  max-width: 786px;
}
.page_feature #point3 .catch {
  text-align: right;
  margin-right: 3rem;
}
@media screen and (max-width: 768px) {
  .page_feature #point3 .catch {
    text-align: left;
    -webkit-transform: translateY(-100px);
            transform: translateY(-100px);
  }
}
.page_feature #point3 .text {
  text-align: right;
}
@media screen and (max-width: 768px) {
  .page_feature #point3 .text {
    margin-top: 11rem;
  }
}
.page_feature #point3 .text p {
  max-width: 388px;
}
.page_feature #point3:after {
  height: 390px;
  bottom: -1rem;
  -webkit-transform: rotate(-3deg);
          transform: rotate(-3deg);
}
@media screen and (max-width: 768px) {
  .page_feature #point3:after {
    height: 200px;
    bottom: 6rem;
    -webkit-transform: rotate(-10deg);
            transform: rotate(-10deg);
  }
}
.page_feature #point4 {
  padding-bottom: 24rem;
}
@media screen and (max-width: 768px) {
  .page_feature #point4 {
    padding-bottom: 10rem;
  }
}
.page_feature #point4 .point_inner {
  margin-left: auto;
  margin-right: 0;
}
.page_feature #point4 .bg_point {
  max-width: 762px;
}
@media screen and (max-width: 768px) {
  .page_feature #point4 .bg_point {
    max-width: 94%;
  }
}
.page_feature #point4 .bg {
  right: 0;
}
.page_feature #point4 .catch {
  margin-left: 4em;
}
@media screen and (max-width: 768px) {
  .page_feature #point4 .catch {
    margin-left: 0;
    text-align: right;
  }
}
@media screen and (max-width: 768px) {
  .page_feature #point4 .catch div {
    margin-top: 18rem;
  }
}
@media screen and (max-width: 768px) {
  .page_feature #point4:after {
    height: 300px;
    bottom: 12rem;
    -webkit-transform: rotate(10deg);
            transform: rotate(10deg);
  }
}
.page_feature #point_other {
  margin-top: 0;
}
.page_feature #point_other .label_point {
  max-width: 138px;
  position: relative;
  z-index: 1;
}
.page_feature #point_other .flex {
  margin-top: 2rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .page_feature #point_other .flex {
    display: block;
    margin-top: -2rem;
  }
}
.page_feature #point_other .flex .box {
  -ms-flex-preferred-size: 26%;
      flex-basis: 26%;
  max-width: 26%;
  margin-bottom: 6rem;
}
@media screen and (max-width: 768px) {
  .page_feature #point_other .flex .box {
    max-width: 100%;
  }
}
.page_feature #point_other .flex .box .thum {
  margin-bottom: 4rem;
}
@media screen and (max-width: 768px) {
  .page_feature #point_other .flex .box .thum {
    margin-bottom: 3rem;
  }
}
.page_feature #point_other .flex .box .thum img {
  position: relative;
  left: 50%;
  max-width: 150%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (max-width: 768px) {
  .page_feature #point_other .flex .box .thum img {
    max-width: 100%;
  }
}
.page_feature #point_other .flex .box h4 {
  font-size: 1.8rem;
  color: #1e5822;
  font-weight: bold;
  margin-bottom: 3rem;
}
@media screen and (max-width: 768px) {
  .page_feature #point_other .flex .box h4 {
    margin-bottom: 2rem;
  }
}
.page_feature #point_other .flex .box .text {
  font-size: 1.6rem;
}
.page_feature #point_other:after {
  height: 550px;
  top: -7rem;
  -webkit-transform: rotate(10deg);
          transform: rotate(10deg);
}
@media screen and (max-width: 768px) {
  .page_feature #point_other:after {
    display: none;
  }
}

#feature_point {
  overflow: hidden;
  padding-bottom: 4rem;
}

#profile {
  background-color: #1e5822;
  color: #fff;
  padding: 9.6rem 0 12rem 0;
}
@media screen and (max-width: 768px) {
  #profile {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}
#profile h2 {
  margin-top: 0;
  margin-bottom: 6rem;
}
#profile h2:after {
  display: none;
}
@media screen and (max-width: 768px) {
  #profile table {
    border-top: 1px solid #fff;
  }
}
#profile table th,
#profile table td {
  font-size: 1.6rem;
  text-align: left;
  padding: 1em 0;
}
@media screen and (max-width: 768px) {
  #profile table th,
  #profile table td {
    display: block;
  }
}
#profile table th {
  font-weight: normal;
  vertical-align: top;
}
@media screen and (max-width: 768px) {
  #profile table th {
    padding-bottom: 0;
  }
}
#profile table th span {
  position: relative;
  padding-left: 2em;
}
#profile table th span:before {
  content: "";
  width: 10px;
  height: 2px;
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background-color: #93ce3f;
}
@media screen and (max-width: 768px) {
  #profile table td {
    padding-top: 0.5rem;
    padding-left: 3rem;
  }
}
#profile table tr {
  border-bottom: 1px solid #fff;
}
@media screen and (max-width: 768px) {
  #profile table tr:last-child {
    border: none;
  }
}

/**
* 4.4 - Service
* -----------------------------------------------------------------------------
*/
.page_service main {
  padding-bottom: 0;
}

#facility h2 {
  color: #005716;
}
@media screen and (max-width: 768px) {
  #facility h2 {
    margin-top: 6rem;
  }
}
#facility h2:after {
  display: none;
}
#facility .course {
  padding-top: 13rem;
}
@media screen and (max-width: 768px) {
  #facility .course {
    padding-top: 5rem;
  }
}
#facility .course img {
  width: 100%;
}
#facility .course h3 {
  font-size: 2rem;
  font-weight: bold;
  position: relative;
  line-height: 22px;
  padding-left: 1rem;
  margin-bottom: 5rem;
}
@media screen and (max-width: 768px) {
  #facility .course h3 {
    margin-bottom: 3rem;
  }
}
#facility .course h3:before {
  width: 3px;
  height: 22px;
  content: "";
  background-image: url(../images/news/listmark1.svg);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  left: 0;
}
#facility .course p {
  line-height: 2;
  margin-bottom: 5rem;
}
@media screen and (max-width: 768px) {
  #facility .course p {
    margin-bottom: 3rem;
  }
}

.facility_contents {
  background-color: #edf5da;
  margin-top: 5rem;
  padding-top: 8rem;
}
@media screen and (max-width: 768px) {
  .facility_contents {
    padding-top: 1rem;
  }
}
.facility_contents .flex > div {
  -ms-flex-preferred-size: 49%;
      flex-basis: 49%;
  max-width: 49%;
}
@media screen and (max-width: 768px) {
  .facility_contents .flex > div {
    max-width: 100%;
  }
}
.facility_contents .flex .facility_text h3 {
  color: #93ce3f;
  font-size: 6.1rem;
  font-weight: 900;
  text-align: center;
  margin-bottom: 4rem;
  margin-top: 3rem;
}
@media screen and (max-width: 768px) {
  .facility_contents .flex .facility_text h3 {
    font-size: 3.9rem;
  }
}
.facility_contents .flex .facility_text p {
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .facility_contents .flex .facility_text img {
    width: 100%;
  }
}
.facility_contents .flex .facility_image img {
  width: 100%;
}

@media screen and (max-width: 768px) {
  .facility_1f .inner > .flex,
  .facility_2f .inner > .flex {
    display: block;
  }
}
.facility_1f .detail_thum,
.facility_2f .detail_thum {
  margin-top: 5rem;
  padding-bottom: 11rem;
}
@media screen and (max-width: 768px) {
  .facility_1f .detail_thum,
  .facility_2f .detail_thum {
    display: block;
    padding-bottom: 0;
  }
}
.facility_1f .detail_thum figure,
.facility_2f .detail_thum figure {
  -ms-flex-preferred-size: 31.3%;
      flex-basis: 31.3%;
  max-width: 31.3%;
  margin: 0;
}
@media screen and (max-width: 768px) {
  .facility_1f .detail_thum figure,
  .facility_2f .detail_thum figure {
    max-width: 100%;
    margin-bottom: 5rem;
  }
}
.facility_1f .detail_thum figure img,
.facility_2f .detail_thum figure img {
  width: 100%;
}
.facility_1f .detail_thum figcaption,
.facility_2f .detail_thum figcaption {
  text-align: center;
  color: #1e5822;
  font-size: 1.6rem;
  font-weight: bold;
  margin-top: 2rem;
}

.facility_1f {
  border-bottom: 1px solid #1e5822;
}
.facility_1f .detail_top {
  position: relative;
  margin-top: 6rem;
}
.facility_1f .detail_top .bg {
  background-image: url("../images/service/bg_facility_1f.jpg");
  background-position: center center;
  background-size: cover;
  width: 73.71vw;
  height: 470px;
}
@media screen and (max-width: 768px) {
  .facility_1f .detail_top .bg {
    width: 100%;
    height: 270px;
  }
}
.facility_1f .detail_top .inner {
  height: 470px;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
}
@media screen and (max-width: 768px) {
  .facility_1f .detail_top .inner {
    position: static;
    height: auto;
  }
}
.facility_1f .detail_top .text {
  position: absolute;
  right: 30px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background-color: #93ce3f;
  width: 337px;
  color: #fff;
  font-size: 1.6rem;
  padding: 5rem 3rem;
}
@media screen and (max-width: 768px) {
  .facility_1f .detail_top .text {
    padding: 2rem 3rem;
    position: static;
    -webkit-transform: translateY(-30px);
            transform: translateY(-30px);
    width: 100%;
  }
}
.facility_1f .detail_top .text .lg {
  font-size: 2rem;
}

.facility_1f_l_bottom {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.facility_1f_l_bottom div {
  background-color: #ff861e;
  height: 40px;
  border-radius: 40px;
  text-align: center;
  color: #fff;
  line-height: 40px;
  font-size: 2rem;
  font-weight: bold;
  border: 2px solid #fff;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  -ms-flex-preferred-size: auto !important;
      flex-basis: auto !important;
  padding: 0 2rem;
  margin: 0 5px;
}
@media screen and (max-width: 768px) {
  .facility_1f_l_bottom div {
    font-size: 1.2rem;
    height: 30px;
    line-height: 30px;
  }
}

.facility_2f {
  padding-top: 8rem;
}
@media screen and (max-width: 768px) {
  .facility_2f {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
}
.facility_2f > .inner > .flex {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}

#training_car {
  margin-top: 10rem;
}
@media screen and (max-width: 768px) {
  #training_car {
    margin-top: 5rem;
  }
}
#training_car .inner > .flex {
  border: 2px solid #93ce3f;
  padding: 5rem 5rem 5rem 8rem;
}
@media screen and (max-width: 768px) {
  #training_car .inner > .flex {
    padding: 2rem;
    display: block;
  }
}
#training_car .inner > .flex .thums {
  -ms-flex-preferred-size: 65.6%;
      flex-basis: 65.6%;
  max-width: 65.6%;
}
@media screen and (max-width: 768px) {
  #training_car .inner > .flex .thums {
    max-width: 100%;
  }
}
#training_car .inner > .flex .thums .flex {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  #training_car .inner > .flex .thums .flex {
    display: block;
  }
}
#training_car .inner > .flex .thums .flex figure {
  -ms-flex-preferred-size: 47.7%;
      flex-basis: 47.7%;
  max-width: 47.7%;
  margin: 0;
}
@media screen and (max-width: 768px) {
  #training_car .inner > .flex .thums .flex figure {
    max-width: 100%;
    margin-bottom: 4rem;
  }
}
#training_car .inner > .flex .thums .flex figure img {
  width: 100%;
}
#training_car .inner > .flex .thums .flex figure:nth-child(1), #training_car .inner > .flex .thums .flex figure:nth-child(2), #training_car .inner > .flex .thums .flex figure:nth-child(3), #training_car .inner > .flex .thums .flex figure:nth-child(4) {
  margin-bottom: 4rem;
}
#training_car .inner > .flex .thums .flex figcaption {
  text-align: center;
  color: #1e5822;
  font-size: 1.6rem;
  font-weight: bold;
  margin-top: 2rem;
}
#training_car .inner > .flex .text {
  -ms-flex-preferred-size: 34.4%;
      flex-basis: 34.4%;
  max-width: 34.4%;
  padding-right: 5rem;
}
@media screen and (max-width: 768px) {
  #training_car .inner > .flex .text {
    max-width: 100%;
    padding-right: 0;
  }
}
#training_car .inner > .flex .text .content {
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  #training_car .inner > .flex .text .content {
    -webkit-transform: none;
            transform: none;
    position: static;
  }
}
@media screen and (max-width: 768px) {
  #training_car .inner > .flex .text .content p {
    font-size: 1.4rem;
  }
}
#training_car .inner > .flex .text h3 {
  font-size: 2rem;
  font-weight: bold;
  position: relative;
  line-height: 22px;
  padding-left: 2rem;
  margin-bottom: 3rem;
}
#training_car .inner > .flex .text h3:before {
  width: 3px;
  height: 22px;
  content: "";
  background-image: url("../images/news/listmark1.svg");
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  left: 0;
}

#gallery {
  margin-top: 14rem;
  padding-bottom: 10rem;
  background-image: url("../images/service/bg_gallery.jpg");
}
@media screen and (max-width: 768px) {
  #gallery {
    margin-top: 0;
    padding-bottom: 2rem;
  }
}
#gallery h2 {
  -webkit-transform: translateY(-0.5em);
          transform: translateY(-0.5em);
  font-size: 5.3rem;
  color: #1e5822;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  #gallery h2 {
    font-size: 2.5rem;
    margin-bottom: 2rem;
    margin-top: 10rem;
  }
}
#gallery h2:after {
  display: none;
}
@media screen and (max-width: 768px) {
  #gallery div#n2-ss-3 .n2-ss-slider-1 {
    height: 236px !important;
  }
}
#gallery div#n2-ss-3 .nextend-arrow {
  width: 66px;
  height: 66px;
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  #gallery div#n2-ss-3 .nextend-arrow {
    top: 118px !important;
  }
}
#gallery div#n2-ss-3 .nextend-arrow-previous {
  background-image: url("../images/service/arrow_slider_l.png");
}
#gallery div#n2-ss-3 .nextend-arrow-next {
  background-image: url("../images/service/arrow_slider_r.png");
}
@media screen and (max-width: 768px) {
  #gallery div#n2-ss-3 .nextend-thumbnail-default,
  #gallery div#n2-ss-3 .nextend-thumbnail-inner {
    margin-top: 1rem !important;
  }
}
@media screen and (max-width: 768px) {
  #gallery div#n2-ss-3 .n2-ss-thumb-image {
    width: 100px !important;
    height: 100px !important;
  }
}
@media screen and (max-width: 768px) {
  #gallery div#n2-ss-3 .nextend-thumbnail-default .nextend-thumbnail-scroller .nextend-thumbnail-scroller-group > div {
    width: 100px !important;
    height: 100px !important;
  }
}
#gallery #slider .slick-slide {
  padding-right: 0;
  padding-left: 0;
}
#gallery #slider .slick-prev,
#gallery #slider .slick-next {
  z-index: 1;
  width: 66px;
  height: 66px;
  background-repeat: no-repeat;
  background-size: contain;
}
#gallery #slider .slick-prev:before,
#gallery #slider .slick-next:before {
  display: none;
}
@media screen and (max-width: 768px) {
  #gallery #slider .slick-prev,
  #gallery #slider .slick-next {
    width: 33px;
    height: 33px;
  }
}
#gallery #slider .slick-prev {
  left: 120px;
  background-image: url("../images/service/arrow_slider_l.png");
}
@media screen and (max-width: 768px) {
  #gallery #slider .slick-prev {
    left: 24px;
  }
}
#gallery #slider .slick-next {
  right: 120px;
  background-image: url("../images/service/arrow_slider_r.png");
}
@media screen and (max-width: 768px) {
  #gallery #slider .slick-next {
    right: 24px;
  }
}
#gallery .slide-item img {
  width: 100%;
}
#gallery #thumbnail-list {
  margin-top: 10rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  #gallery #thumbnail-list {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: start;
    margin-top: 3rem;
  }
}
#gallery .thumbnail-item {
  -ms-flex-preferred-size: 18%;
      flex-basis: 18%;
  max-width: 18%;
  margin-bottom: 2.5%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: relative;
  height: 0;
  padding-top: 18%;
  background-size: cover;
  background-position: center center;
}
@media screen and (max-width: 768px) {
  #gallery .thumbnail-item {
    -ms-flex-preferred-size: 21.66%;
        flex-basis: 21.66%;
    max-width: 21.66%;
    padding-top: 21.66%;
    margin-bottom: 5%;
  }
  #gallery .thumbnail-item:not(:nth-child(4n)) {
    margin-right: 4.45%;
  }
}
#gallery .thumbnail-item.thumbnail-current:after {
  opacity: 0;
}
#gallery .thumbnail-item img {
  width: 100%;
  margin: 0 auto;
}

/**
* 4.5 - Instructor
* -----------------------------------------------------------------------------
*/
.page_instructor main {
  padding-bottom: 0;
}

#instructor_wrap {
  padding-top: 5rem;
}

.instructor_box {
  padding-bottom: 12rem;
}
@media screen and (max-width: 768px) {
  .instructor_box {
    padding-bottom: 5rem;
  }
}
@media screen and (max-width: 768px) {
  .instructor_box .inner > .flex {
    display: block;
  }
}
.instructor_box:nth-child(2n) {
  background-color: #ebf6db;
}
.instructor_box:nth-child(2n) .flex {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
.instructor_box:nth-child(2n) .flex .text {
  padding-left: 0;
  padding-right: 12%;
}
.instructor_box:not(:first-child) {
  padding-top: 12rem;
}
@media screen and (max-width: 768px) {
  .instructor_box:not(:first-child) {
    padding-top: 5rem;
  }
}
.instructor_box .image {
  -ms-flex-preferred-size: 28.3%;
      flex-basis: 28.3%;
  max-width: 28.3%;
}
@media screen and (max-width: 768px) {
  .instructor_box .image {
    max-width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 4rem;
  }
}
.instructor_box .image .thum {
  margin-bottom: 2rem;
  padding-top: 100%;
  background-position: center center;
  background-size: cover;
}
@media screen and (max-width: 768px) {
  .instructor_box .image .thum {
    -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
    max-width: 50%;
    padding-top: 50%;
    margin-bottom: 0;
  }
}
.instructor_box .image .role {
  position: relative;
  font-size: 1.6rem;
  padding-left: 30px;
  margin-bottom: 1rem;
}
@media screen and (max-width: 768px) {
  .instructor_box .image .role {
    font-size: 1.2rem;
  }
}
.instructor_box .image .role:before {
  content: "";
  width: 10px;
  height: 2px;
  position: absolute;
  left: 0px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background-color: #93ce3f;
}
.instructor_box .image .name {
  font-size: 3rem;
}
@media screen and (max-width: 768px) {
  .instructor_box .image .name {
    font-size: 2.5rem;
  }
}
.instructor_box .image .en {
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  .instructor_box .image .en {
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 768px) {
  .instructor_box .image .image_bottom {
    -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
    max-width: 50%;
    padding-left: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .instructor_box .image .image_bottom .image_bottom_inner {
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}
.instructor_box .text {
  -ms-flex-preferred-size: 71.7%;
      flex-basis: 71.7%;
  max-width: 71.7%;
  padding-left: 12%;
}
@media screen and (max-width: 768px) {
  .instructor_box .text {
    max-width: 100%;
    padding-left: 0;
  }
}
.instructor_box .text .title {
  font-size: 2rem;
  font-weight: bold;
  position: relative;
  padding-left: 2rem;
  margin-bottom: 7rem;
}
@media screen and (max-width: 768px) {
  .instructor_box .text .title {
    margin-bottom: 2rem;
  }
}
.instructor_box .text .title:before {
  width: 3px;
  height: 22px;
  content: "";
  background-image: url("../images/news/listmark1.svg");
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  left: 0;
  top: 5px;
}
.instructor_box .text p {
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .instructor_box .text p {
    font-size: 1.5rem;
  }
}

/**
* 4.6 - OB/OG
* -----------------------------------------------------------------------------
*/
.page_obog main {
  padding-bottom: 0;
}

.obog_box {
  padding-bottom: 12rem;
}
@media screen and (max-width: 768px) {
  .obog_box {
    padding-bottom: 5rem;
  }
}
.obog_box:nth-child(2n) {
  background-color: #ebf6db;
}
.obog_box:nth-child(2n) .flex {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
.obog_box:nth-child(2n) .flex .names {
  padding-left: 0;
  padding-right: 7%;
}
.obog_box:not(:first-child) {
  padding-top: 12rem;
}
@media screen and (max-width: 768px) {
  .obog_box:not(:first-child) {
    padding-top: 5rem;
  }
}

#obog_wrap {
  margin-top: 5rem;
}

@media screen and (max-width: 768px) {
  .obog_top {
    display: block;
  }
}
.obog_top .thum,
.obog_top .names {
  -ms-flex-preferred-size: 50%;
      flex-basis: 50%;
  max-width: 50%;
}
@media screen and (max-width: 768px) {
  .obog_top .thum,
  .obog_top .names {
    max-width: 100%;
  }
}
.obog_top .thum {
  padding-top: 29%;
  background-position: center center;
  background-size: cover;
}
@media screen and (max-width: 768px) {
  .obog_top .thum {
    padding-top: 57.4%;
  }
}
.obog_top .names {
  padding-left: 7%;
}
@media screen and (max-width: 768px) {
  .obog_top .names {
    padding-left: 0;
    margin-top: 3rem;
    position: relative;
  }
}
.obog_top .names .names_inner {
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .obog_top .names .names_inner {
    position: static;
    -webkit-transform: none;
            transform: none;
  }
}
.obog_top .names .graduate {
  font-size: 1.6rem;
  padding-left: 2rem;
}
.obog_top .names .graduate,
.obog_top .names .type span {
  position: relative;
}
@media screen and (max-width: 768px) {
  .obog_top .names .graduate,
  .obog_top .names .type span {
    font-size: 1.2rem;
  }
}
.obog_top .names .graduate:before,
.obog_top .names .type span:before {
  content: "";
  width: 10px;
  height: 2px;
  position: absolute;
  left: 0px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background-color: #93ce3f;
}
.obog_top .names .name {
  font-size: 3rem;
  margin-bottom: 3rem;
}
.obog_top .names .name span {
  font-size: 1.8rem;
}
.obog_top .names .type {
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  .obog_top .names .type {
    width: 60%;
    font-size: 1.2rem;
    position: absolute;
    right: 0;
    top: 0;
  }
}
.obog_top .names .type span {
  padding-left: 2rem;
  margin-bottom: 0.5rem;
  display: inline-block;
}

.obog_bottom {
  margin-top: 5rem;
}
.obog_bottom .title {
  font-size: 2rem;
  font-weight: bold;
  position: relative;
  padding-left: 2rem;
  margin-bottom: 3rem;
}
.obog_bottom .title:before {
  width: 3px;
  height: 22px;
  content: "";
  background-image: url("../images/news/listmark1.svg");
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  left: 0;
  top: 5px;
}
.obog_bottom p {
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .obog_bottom p {
    font-size: 1.5rem;
  }
}

/**
* 4.7 - Info
* -----------------------------------------------------------------------------
*/
#info_contents h2 {
  color: #005716;
  font-size: 3.2rem;
  margin-bottom: 2rem;
}
@media screen and (max-width: 768px) {
  #info_contents h2 {
    font-size: 2.2rem;
  }
}
#info_contents h2:after {
  display: none;
}
#info_contents h2 + p {
  margin-bottom: 7rem;
}
@media screen and (max-width: 768px) {
  #info_contents h2 + p {
    text-align: left;
  }
}
#info_contents p {
  margin-bottom: 4rem;
}
#info_contents table {
  margin-bottom: 3rem;
}
#info_contents table tr:not(:last-child) {
  border-bottom: 1px dotted #000;
}
@media screen and (max-width: 768px) {
  #info_contents table tr:not(:last-child) {
    border: none;
  }
}
#info_contents table th,
#info_contents table td {
  font-size: 1.6rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
  line-height: 1.7;
}
@media screen and (max-width: 768px) {
  #info_contents table th,
  #info_contents table td {
    display: block;
  }
}
#info_contents table th .green,
#info_contents table td .green {
  color: #005716;
}
#info_contents table th .red,
#info_contents table td .red {
  color: #d12229;
}
#info_contents table th {
  font-weight: bold;
  padding-right: 1rem;
  vertical-align: top;
}
#info_contents table th span {
  background-color: #93ce3f;
  color: #fff;
  display: block;
  width: 100%;
  height: 100%;
  padding: 1rem 0;
}
#info_contents table td div {
  padding-left: 6em;
  text-indent: -6em;
}

#necessary {
  max-width: 960px;
  padding-bottom: 4rem;
}
#necessary h3 {
  position: relative;
  padding-left: 2rem;
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 2rem;
}
#necessary h3:before {
  width: 3px;
  height: 22px;
  content: "";
  background-image: url("../images/news/listmark1.svg");
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  left: 0;
}

#necessary_bottom {
  background-color: #e3f5d4;
  padding: 7rem 0 4rem 0;
}
#necessary_bottom h2 {
  color: #000;
  font-size: 2.5rem;
  margin-top: 0;
}
#necessary_bottom .flex .title {
  color: #1e5822;
  font-weight: bold;
  font-size: 1.8rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #necessary_bottom .flex .title {
    text-align: left;
    position: relative;
    padding-left: 70px;
  }
}
#necessary_bottom .flex .title img {
  width: 110px;
  height: 100%;
  vertical-align: middle;
}
@media screen and (max-width: 768px) {
  #necessary_bottom .flex .title img {
    width: 60px;
    position: absolute;
    left: 0;
    top: 0;
    height: auto;
  }
}
#necessary_bottom .flex p {
  text-align: center;
}
@media screen and (max-width: 768px) {
  #necessary_bottom .flex p {
    padding-left: 70px;
    margin-top: 0;
    text-align: left;
  }
}
#necessary_bottom .flex .glasses {
  position: relative;
  padding-left: 120px;
}
#necessary_bottom .flex .glasses .title {
  text-align: left;
}
#necessary_bottom .flex .glasses img {
  position: absolute;
  left: 0;
  top: -15px;
}
#necessary_bottom .flex .glasses p {
  -webkit-transform: translateX(-60px);
          transform: translateX(-60px);
}
@media screen and (max-width: 768px) {
  #necessary_bottom .necessary_bottom_top {
    display: block;
  }
}
@media screen and (max-width: 768px) {
  #necessary_bottom .necessary_bottom_bottom {
    -ms-flex-pack: distribute;
        justify-content: space-around;
    margin-bottom: 2rem;
  }
}
@media screen and (max-width: 768px) {
  #necessary_bottom .necessary_bottom_bottom .title {
    padding-left: 0;
    text-align: center;
  }
}
@media screen and (max-width: 768px) {
  #necessary_bottom .necessary_bottom_bottom .title img {
    position: static;
    display: block;
    margin-bottom: 1rem;
  }
}

#flow h2 {
  margin-top: 12rem;
  margin-bottom: 4rem;
}
@media screen and (max-width: 768px) {
  #flow h2 {
    margin-top: 6rem;
  }
}

.flow_box {
  border-radius: 20px;
  padding: 6rem 8.3vw;
  font-size: 1.6rem;
  margin-bottom: 10rem;
  position: relative;
}
.flow_box h3 {
  font-size: 3.9rem;
  text-align: center;
  font-weight: 900;
  margin-bottom: 4rem;
}
@media screen and (max-width: 768px) {
  .flow_box h3 {
    font-size: 3rem;
  }
}
.flow_box h3 span {
  font-size: 2.5rem;
  margin-left: 2rem;
}
@media screen and (max-width: 768px) {
  .flow_box h3 span {
    display: block;
    margin-left: 0;
    font-size: 2rem;
    margin-top: 1rem;
  }
}
.flow_box h4 {
  padding-left: 2rem;
  position: relative;
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 4rem;
  line-height: 1.7;
}
@media screen and (max-width: 768px) {
  .flow_box h4 {
    margin-bottom: 2rem;
    font-size: 1.8rem;
  }
}
.flow_box h4:before {
  width: 3px;
  height: 22px;
  content: "";
  background-image: url("../images/news/listmark1.svg");
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  left: 0;
  top: 0.3em;
}
.flow_box h5 {
  font-size: 1.8rem;
  color: #1e5822;
  font-weight: bold;
}
.flow_box p {
  margin-bottom: 2rem !important;
}
@media screen and (max-width: 768px) {
  .flow_box p {
    font-size: 1.5rem;
  }
}
.flow_box .tel {
  margin-bottom: 3rem;
}
@media screen and (max-width: 768px) {
  .flow_box .tel {
    text-align: center;
  }
}
.flow_box .tel img {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .flow_box .tel img {
    display: block;
  }
}
.flow_box .tel .tel1 {
  width: 44.5%;
  margin-right: 2.5%;
}
.flow_box .tel .tel2 {
  width: 42.5%;
  margin-left: 2.5%;
}
@media screen and (max-width: 768px) {
  .flow_box .tel .tel1,
  .flow_box .tel .tel2 {
    width: 100%;
    margin-right: 0;
    margin-left: 0;
  }
}
@media screen and (max-width: 768px) {
  .flow_box .tel p {
    text-align: left;
    font-size: 1.5rem;
  }
}
.flow_box:after {
  width: 40px;
  height: 33px;
  background-image: url("../images/info/icon_arrow_down.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  content: "";
  position: absolute;
  bottom: -6rem;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .flow_box .flex {
    display: block;
  }
}
.flow_box .flex .image {
  -ms-flex-preferred-size: 29.5%;
      flex-basis: 29.5%;
  max-width: 29.5%;
}
@media screen and (max-width: 768px) {
  .flow_box .flex .image {
    max-width: 100%;
  }
}
.flow_box .flex .image img {
  width: 100%;
}
.flow_box .flex .text {
  -ms-flex-preferred-size: 70.5%;
      flex-basis: 70.5%;
  max-width: 70.5%;
  padding-right: 2rem;
}
@media screen and (max-width: 768px) {
  .flow_box .flex .text {
    max-width: 100%;
  }
}
.flow_box .flex .text p {
  margin-top: 0;
  line-height: 1.8;
}

.flow_box_inner {
  padding-top: 4rem;
}
.flow_box_inner:not(:last-of-type) {
  padding-bottom: 3rem;
}
@media screen and (max-width: 768px) {
  .flow_box_inner:not(:last-of-type) {
    padding-bottom: 0;
  }
}
.flow_box_inner:not(:first-of-type) {
  border-top: 1px solid #000;
}
.flow_box_inner h4 {
  margin-bottom: 2rem;
}

#flow1 {
  background-color: #e3f5d4;
}
#flow1 .flow_box_inner {
  border-top: 1px solid #000;
  margin-top: 4rem;
}
#flow2 {
  background-color: #d4ebb2;
}

#flow3 {
  background-color: #bee28c;
}

#flow4 {
  background-color: #93ce3f;
  color: #fff;
}
#flow4 h4 {
  margin-bottom: 2rem;
}
@media screen and (max-width: 768px) {
  #flow4 h4 {
    margin-bottom: 1rem;
  }
}
#flow4 h4:nth-of-type(2) {
  margin-top: 4rem;
}
#flow4 h4:before {
  background-image: url("../images/common/listmark2.svg");
}

#flow5 {
  background-color: #1e5822;
  color: #fff;
}

.to_center {
  color: #93ce3f;
  font-size: 4.6rem;
  font-weight: 900;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .to_center {
    font-size: 3rem;
  }
}

/**
* 4.8 - Q&A
* -----------------------------------------------------------------------------
*/
.page_qanda h2 {
  margin-bottom: 10rem;
}
@media screen and (max-width: 768px) {
  .page_qanda h2 {
    margin-bottom: 6rem;
  }
}

#qanda_contents h3 {
  position: relative;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.7;
  padding-left: 2rem;
  margin: 4rem 0;
}
@media screen and (max-width: 768px) {
  #qanda_contents h3 {
    margin-bottom: 2rem;
    font-size: 1.8rem;
  }
}
#qanda_contents h3:before {
  width: 3px;
  height: 22px;
  content: "";
  background-image: url("../images/news/listmark1.svg");
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  left: 0;
  top: 0.3em;
}
#qanda_contents > dl > dt,
#qanda_contents > dl > dd {
  font-size: 1.6rem;
  margin-top: 2rem;
}
@media screen and (max-width: 768px) {
  #qanda_contents > dl > dt,
  #qanda_contents > dl > dd {
    font-size: 1.5rem;
  }
}
#qanda_contents > dl > dt {
  font-weight: bold;
  padding-left: 9rem;
  line-height: 7.2rem;
  position: relative;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  #qanda_contents > dl > dt {
    line-height: 24px;
    font-size: 1.5rem;
    padding-left: 5rem;
    padding-right: 3rem;
    margin-bottom: 3.5rem;
  }
}
#qanda_contents > dl > dt:before {
  content: "Q";
  top: 0;
  width: 7.2rem;
  height: 7.2rem;
  line-height: 7.2rem;
  background-color: #1e5822;
  color: #fff;
  font-family: "PT Serif", sans-serif;
  font-size: 2rem;
  font-weight: bold;
  position: absolute;
  text-align: center;
  left: 0;
}
@media screen and (max-width: 768px) {
  #qanda_contents > dl > dt:before {
    width: 38px;
    height: 38px;
    line-height: 38px;
    font-size: 1.6rem;
  }
}
#qanda_contents > dl > dt .accordion_icon,
#qanda_contents > dl > dt .accordion_icon span {
  display: inline-block;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
#qanda_contents > dl > dt .accordion_icon {
  position: absolute;
  width: 22px;
  height: 22px;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  #qanda_contents > dl > dt .accordion_icon {
    width: 10px;
    height: 10px;
  }
}
#qanda_contents > dl > dt .accordion_icon span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #1e5822;
  border-radius: 4px;
}
#qanda_contents > dl > dt .accordion_icon span:nth-of-type(1) {
  top: 7px;
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
}
#qanda_contents > dl > dt .accordion_icon span:nth-of-type(2) {
  top: 7px;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
#qanda_contents > dl > dt .accordion_icon.active span:nth-of-type(1) {
  display: none;
}
#qanda_contents > dl > dt .accordion_icon.active span:nth-of-type(2) {
  top: 5px;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
#qanda_contents > dl > dd {
  display: none;
  margin-left: 0;
  background-color: #ebf6db;
  padding: 2rem 0;
}
#qanda_contents > dl > dd .dd_l {
  font-size: 4rem;
  font-weight: bold;
  color: #1e5822;
  font-family: "PT Serif", sans-serif;
  -ms-flex-preferred-size: 95px;
      flex-basis: 95px;
  max-width: 95px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #qanda_contents > dl > dd .dd_l {
    font-size: 2.6rem;
  }
}
#qanda_contents > dl > dd .dd_l span {
  position: relative;
  display: block;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
#qanda_contents > dl > dd .dd_r {
  border-left: 1px solid #000;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding-left: 4rem;
  padding-right: 2rem;
  position: relative;
}
#qanda_contents > dl > dd .dd_r .sub dt {
  margin-bottom: 1rem;
}
#qanda_contents > dl > dd .dd_r .sub dd {
  margin-left: 1em;
  font-size: 1.5rem;
}
#qanda_contents > dl > dd .dd_r .sub dd:not(:last-of-type) {
  margin-bottom: 2rem;
}
#qanda_contents > dl > dd .dd_r span {
  display: block;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  position: relative;
}
#qanda_contents > dl > dd .dd_r span a {
  text-decoration: underline;
}
#qanda_contents > dl > dd .dd_r .contact {
  margin-top: 3rem;
}
#qanda_contents > dl > dd .dd_r .contact a {
  color: #1e5822;
  font-weight: bold;
  text-decoration: none;
}
#qanda_contents > dl > dd .dd_r .contact .to_contact {
  color: #fff;
  display: inline-block;
  vertical-align: middle;
  background-color: #1e5822;
  padding: 0.5rem 2rem;
  margin-left: 3rem;
}
@media screen and (max-width: 768px) {
  #qanda_contents > dl > dd .dd_r .contact .to_contact {
    margin-left: 0;
    display: block;
    width: 80%;
    margin-top: 2rem;
  }
}
#qanda_contents > dl > dd .dd_r .contact .to_contact:before {
  content: "";
  width: 20px;
  height: 13px;
  background-image: url("../images/qanda/icon_mail.svg");
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block;
  margin-right: 1rem;
}

/**
* 4.9 - Contact
* -----------------------------------------------------------------------------
*/
.page_contact_entry main,
.page_contact_document main,
.page_thanks main {
  padding-bottom: 0;
}
.page_contact_entry h2 + .center,
.page_contact_document h2 + .center,
.page_thanks h2 + .center {
  margin-top: 10rem;
  margin-bottom: 10rem;
}
@media screen and (max-width: 768px) {
  .page_contact_entry h2 + .center,
  .page_contact_document h2 + .center,
  .page_thanks h2 + .center {
    margin-bottom: 5rem;
    margin-top: 5rem;
  }
}
.page_contact_entry .submit,
.page_contact_document .submit,
.page_thanks .submit {
  text-align: center;
  margin-top: 4rem;
  width: 100%;
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}
.page_contact_entry .submit input,
.page_contact_document .submit input,
.page_thanks .submit input {
  background-color: #1e5822;
  width: 100%;
  color: #fff;
  text-align: center;
  font-size: 1.6rem;
  padding: 2rem;
  cursor: pointer;
  border: none;
}
.page_contact_entry .submit .wpcf7-submit,
.page_contact_entry .submit .wpcf7-back,
.page_contact_document .submit .wpcf7-submit,
.page_contact_document .submit .wpcf7-back,
.page_thanks .submit .wpcf7-submit,
.page_thanks .submit .wpcf7-back {
  display: inline-block;
  width: 45% !important;
  margin: 0 10px;
}
@media screen and (max-width: 768px) {
  .page_contact_entry .submit .wpcf7-submit,
  .page_contact_entry .submit .wpcf7-back,
  .page_contact_document .submit .wpcf7-submit,
  .page_contact_document .submit .wpcf7-back,
  .page_thanks .submit .wpcf7-submit,
  .page_thanks .submit .wpcf7-back {
    width: 100% !important;
    margin-bottom: 1rem;
    margin-left: 0;
    margin-right: 0;
  }
}
.page_contact_entry .submit .wpcf7-back,
.page_contact_document .submit .wpcf7-back,
.page_thanks .submit .wpcf7-back {
  background-color: #ccc;
}

.wpcf7c-conf {
  background-color: #fefff8 !important;
}

.wpcf7-mail-sent-ok {
  display: none !important;
}

.contact_tab {
  border-bottom: 8px solid #1e5822;
}
@media screen and (max-width: 768px) {
  .contact_tab .inner {
    padding-left: 0;
    padding-right: 0;
  }
}
.contact_tab li {
  -ms-flex-preferred-size: 50%;
      flex-basis: 50%;
  max-width: 50%;
}
.contact_tab li a {
  display: block;
  width: 100%;
  height: 100%;
  color: #fff;
  background-color: #93ce3f;
  font-size: 2.1rem;
  text-align: center;
  padding: 1.5rem;
}
@media screen and (max-width: 768px) {
  .contact_tab li a {
    font-size: 1.6rem;
  }
}
.contact_tab .current a {
  background-color: #1e5822;
}

.contact_contents {
  background-color: #f5fae6;
  padding: 9.5rem 0;
}
@media screen and (max-width: 768px) {
  .contact_contents {
    padding-top: 2rem;
  }
}

.tb_contact {
  margin-bottom: 4rem;
}
.tb_contact th,
.tb_contact td {
  font-size: 1.6rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
}
@media screen and (max-width: 768px) {
  .tb_contact th,
  .tb_contact td {
    display: block;
  }
}
.tb_contact th {
  width: 260px;
  white-space: nowrap;
  position: relative;
  font-weight: normal;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .tb_contact th {
    padding-bottom: 0.5rem;
  }
}
.tb_contact th .required {
  background-color: #d42d25;
  color: #fff;
  width: 60px;
  padding: 0.2rem 1rem;
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  text-align: center;
}
@media screen and (max-width: 768px) {
  .tb_contact th .required {
    position: static;
    -webkit-transform: none;
            transform: none;
    margin-left: 1rem;
    font-size: 1.2rem;
  }
}
.tb_contact th.vat {
  vertical-align: top;
}
.tb_contact th.vat .required {
  top: 10px;
  -webkit-transform: none;
          transform: none;
}
.tb_contact td {
  padding-left: 2rem;
}
@media screen and (max-width: 768px) {
  .tb_contact td {
    padding-left: 0;
  }
}
.tb_contact td input[type=text],
.tb_contact td input[type=email] {
  font-size: 2rem;
  padding: 1rem 1rem;
  border-radius: 6px;
  -webkit-box-shadow: none;
          box-shadow: none;
  outline: none;
  border: 1px solid #ccc;
}
@media screen and (max-width: 768px) {
  .tb_contact td input[type=text],
  .tb_contact td input[type=email] {
    font-size: 16px;
  }
}
.tb_contact td input[type=text] {
  width: 100%;
}
.tb_contact td input[type=email] {
  width: 90%;
}
@media screen and (max-width: 768px) {
  .tb_contact td input[type=email] {
    width: 100%;
  }
}
.tb_contact td label {
  cursor: pointer;
  display: inline-block;
  margin-right: 2rem;
  line-height: 2;
  margin-bottom: 1rem;
}
.tb_contact td span.wpcf7-list-item {
  margin-left: 0;
}
.tb_contact td select {
  font-size: 1.6rem;
  height: 3.5rem;
}
@media screen and (max-width: 768px) {
  .tb_contact td select {
    background-color: #fff;
    height: 3.5rem;
    width: 200px;
  }
}
.tb_contact td a {
  color: #1e5822;
  text-decoration: underline;
}
.tb_contact td .note {
  margin-left: 2rem;
}
@media screen and (max-width: 768px) {
  .tb_contact td .note {
    font-size: 1.2rem;
  }
}
.tb_contact td textarea {
  width: 100%;
  height: 315px;
  font-size: 1.8rem;
  padding: 1rem;
}
@media screen and (max-width: 768px) {
  .tb_contact td textarea {
    border: 1px solid #ccc;
  }
}
.tb_contact td .sm {
  color: #808080;
  font-size: 1.4rem;
}
.tb_contact .request select {
  margin-right: 1rem;
}
@media screen and (max-width: 768px) {
  .tb_contact .request select {
    margin-bottom: 1rem;
  }
}
.tb_contact .request span:not(:first-of-type) select {
  margin-left: 1rem;
}
@media screen and (max-width: 768px) {
  .tb_contact .request span:not(:first-of-type) select {
    margin-left: 0;
  }
}
.tb_contact .gender label {
  margin: 10px 1rem;
}
.tb_contact .birth td input {
  width: auto;
  max-width: 120px;
  margin-right: 1rem;
}
@media screen and (max-width: 768px) {
  .tb_contact .birth td input {
    max-width: 100%;
    margin-bottom: 1rem;
    margin-right: 0;
    width: calc(100% - 2rem);
  }
}
.tb_contact .birth td span {
  position: relative;
}
.tb_contact .birth td span:not(:first-of-type) input {
  margin-left: 1rem;
}
@media screen and (max-width: 768px) {
  .tb_contact .birth td span:not(:first-of-type) input {
    margin-left: 0;
  }
}
.tb_contact .birth td span:not(:first-of-type) span.wpcf7-not-valid-tip {
  left: 1em;
}
.tb_contact .address td span.label {
  display: inline-block;
  width: 100px;
}
@media screen and (max-width: 768px) {
  .tb_contact .address td span.label {
    display: block;
  }
}
.tb_contact .address td input {
  width: auto;
  max-width: 200px;
  margin-left: 1rem;
}
@media screen and (max-width: 768px) {
  .tb_contact .address td input {
    max-width: 100%;
    margin-left: 0;
    width: 100%;
  }
}

span.wpcf7-not-valid-tip {
  font-size: 1.2rem !important;
}

div.wpcf7-validation-errors,
div.wpcf7-acceptance-missing {
  border: 2px solid #d42d25 !important;
  background-color: #fff;
  font-size: 1.6rem;
  text-align: center;
  line-height: 2;
  color: #d42d25 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

div.wpcf7-mail-sent-ok {
  font-size: 1.6rem;
  text-align: center;
  line-height: 2;
  background-color: #fff;
  color: #398f14 !important;
}

.ajax-loader {
  display: none !important;
}

/**
* 4.10 - Access
* -----------------------------------------------------------------------------
*/
.page_access .gmap {
  height: 560px;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .page_access .gmap {
    height: 366px;
  }
}
.page_access .gmap iframe {
  width: 100%;
  height: 100%;
}
.page_access main {
  padding-bottom: 5rem;
}

#access {
  border-bottom: 1px solid #1a1a1a;
  padding-bottom: 10rem;
}
@media screen and (max-width: 768px) {
  #access {
    padding-bottom: 5rem;
  }
}

#access_contents h2 {
  color: #005716;
  font-size: 3.2rem;
  margin-bottom: 2rem;
}
@media screen and (max-width: 768px) {
  #access_contents h2 {
    font-size: 2.2rem;
  }
}
#access_contents h2:after {
  display: none;
}

.access_detail .to_map {
  background-color: #93ce3f;
  color: #fff;
  display: block;
  width: 240px;
  font-size: 1.8rem;
  text-align: center;
  padding: 1rem;
  margin-left: auto;
  margin-right: auto;
  margin-top: 5rem;
  margin-bottom: 5rem;
}
.access_detail table {
  max-width: 360px;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}
.access_detail table td {
  font-size: 1.6rem;
  line-height: 2;
  vertical-align: top;
}
.access_detail table td:first-child {
  padding-right: 2rem;
}

.access_bottom {
  margin-top: 8rem;
}
@media screen and (max-width: 768px) {
  .access_bottom {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .access_bottom .flex {
    display: block;
  }
}
.access_bottom .flex > div {
  -ms-flex-preferred-size: 50%;
      flex-basis: 50%;
  max-width: 50%;
}
@media screen and (max-width: 768px) {
  .access_bottom .flex > div {
    max-width: 100%;
  }
}
.access_bottom .flex .text {
  background-image: url("../images/access/bg_access_bottom.png");
  width: 100%;
  height: 100%;
  background-size: 100% 100%;
  background-repeat: no-repeat;
  padding: 2rem;
}
@media screen and (max-width: 768px) {
  .access_bottom .flex .text {
    text-align: center;
    background-image: url("../images/access/bg_access_bottom_sp.png");
    padding-bottom: 5rem;
    margin-bottom: 2rem;
  }
}
.access_bottom .flex .text dt {
  font-size: 2.2rem;
  color: #1e5822;
  font-weight: 900;
  margin-bottom: 1rem;
}
.access_bottom .flex .text dt span {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(60%, #dff0c5));
  background: linear-gradient(transparent 60%, #dff0c5 60%);
  display: inline-block;
}
.access_bottom .flex .text dd {
  font-size: 1.6rem;
  margin-left: 0;
}
.access_bottom .flex .text dd:first-of-type {
  margin-bottom: 2rem;
}
.access_bottom .flex .image {
  margin-left: 2%;
  background-size: cover;
  background-image: url("../images/access/img_access.jpg");
  background-position: center center;
}
.access_bottom .flex .image img {
  width: 100%;
}

#bus {
  padding-top: 7rem;
}
@media screen and (max-width: 768px) {
  #bus h2 {
    margin-top: 0;
    margin-bottom: 8rem;
  }
}
@media screen and (max-width: 768px) {
  #bus > .flex {
    display: block;
  }
}
#bus > .flex > div {
  -ms-flex-preferred-size: 50%;
      flex-basis: 50%;
  max-width: 50%;
  margin-top: 4rem;
}
@media screen and (max-width: 768px) {
  #bus > .flex > div {
    max-width: 100%;
    margin-top: 0;
  }
}
#bus > .flex .image {
  background-image: url("../images/access/bg_bus.jpg");
  background-position: center center;
  background-size: cover;
}
@media screen and (max-width: 768px) {
  #bus > .flex .image {
    height: 340px;
  }
}
#bus > .flex .text {
  background-color: #93ce3f;
  color: #fff;
  padding-left: 2rem;
  padding-right: 2rem;
  padding-top: 2rem;
  padding-bottom: 2rem;
  text-align: center;
}
#bus > .flex .text .md {
  font-size: 3rem;
  font-weight: 900;
  position: relative;
  margin-bottom: 4rem;
}
@media screen and (max-width: 768px) {
  #bus > .flex .text .md {
    font-size: 2.1rem;
  }
}
#bus > .flex .text .md:after {
  width: 100%;
  height: 14px;
  background-image: url("../images/access/line.svg");
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  bottom: -30px;
  content: "";
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
  background-position: center center;
}
#bus > .flex .text .lg {
  font-size: 9.1rem;
  font-weight: 900;
  line-height: 1.3;
}
@media screen and (max-width: 768px) {
  #bus > .flex .text .lg {
    font-size: 6.6rem;
  }
}
#bus > .flex .text .lg span {
  font-size: 5.4rem;
  display: block;
}
@media screen and (max-width: 768px) {
  #bus > .flex .text .lg span {
    font-size: 3.9rem;
  }
}
#bus > .flex .text .reserve {
  background-color: #ff861e;
  color: #fff;
  text-align: center;
  max-width: 495px;
  width: 100%;
  font-size: 2.4rem;
  margin-left: auto;
  margin-right: auto;
  margin-top: 3rem;
  position: relative;
  margin-bottom: 5rem;
}
@media screen and (max-width: 768px) {
  #bus > .flex .text .reserve {
    font-size: 1.7rem;
  }
}
#bus > .flex .text .reserve:after {
  width: 40px;
  height: 20px;
  background-size: contain;
  background-repeat: no-repeat;
  background-image: url("../images/access/triangle.svg");
  content: "";
  position: absolute;
  bottom: -3rem;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
}
#bus > .flex .text .banners img {
  vertical-align: middle;
  margin: 0 10px;
}
#bus > .flex .text .banners .bnr_googleplay {
  max-width: 193px;
}
#bus > .flex .text .banners .bnr_appstore {
  max-width: 136px;
}

.bus_contents {
  padding-top: 8rem;
}
@media screen and (max-width: 768px) {
  .bus_contents {
    padding-top: 5rem;
  }
}
.bus_contents h3 {
  font-size: 2rem;
  font-weight: bold;
  position: relative;
  line-height: 22px;
  padding-left: 1rem;
  margin-bottom: 2rem;
}
@media screen and (max-width: 768px) {
  .bus_contents h3 {
    font-size: 2rem;
    margin-bottom: 2rem;
  }
}
.bus_contents h3:before {
  width: 3px;
  height: 22px;
  content: "";
  background-image: url(../images/news/listmark1.svg);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  left: 0;
}
.bus_contents .school_cap {
  margin-bottom: 3rem;
}
.bus_contents .school_cap p {
  text-align: justify;
}
@media screen and (max-width: 768px) {
  .bus_contents .school_cap p {
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 768px) {
  .area_wrap {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-bottom: 8rem;
  }
  .area_wrap .sp_box {
    margin-top: 4rem;
  }
}
.area_wrap .area_box {
  -ms-flex-preferred-size: 25%;
      flex-basis: 25%;
  max-width: 25%;
  padding-right: 1rem;
  border-right: 1px dotted #1e5822;
}
@media screen and (max-width: 768px) {
  .area_wrap .area_box {
    -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
    max-width: 50%;
  }
}
.area_wrap .area_box:not(:first-child), .area_wrap .area_box:not(:last-child) {
  padding-left: 1rem;
}
.area_wrap .area_box:first-child {
  padding-left: 0;
}
.area_wrap .area_box:last-child {
  border-right: none;
}
@media screen and (max-width: 768px) {
  .area_wrap .area_box:not(:first-child) {
    border-right: none;
  }
}
.area_wrap .area_box table {
  margin-bottom: 10rem;
}
@media screen and (max-width: 768px) {
  .area_wrap .area_box table {
    margin-bottom: 0;
  }
}
.area_wrap .area_box table th {
  font-size: 1.5rem;
  color: #1e5822;
  font-weight: bold;
  position: relative;
}
.area_wrap .area_box table th:after {
  width: 10px;
  height: 9px;
  background-image: url("../images/access/triangle2.svg");
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
}
.area_wrap .area_box table td {
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  .area_wrap .area_box table td {
    font-size: 1.2rem;
  }
}
.area_wrap .area_box table th,
.area_wrap .area_box table td {
  padding: 1rem;
}
.area_wrap .area_box table tbody tr:not(:last-child) {
  border-bottom: 1px dotted #ccc;
}
.area_wrap .area_box table tbody tr td:first-child {
  font-size: 1.5rem;
  color: #1e5822;
  font-weight: bold;
  padding-left: 0;
}
.area_wrap .area_box table tbody tr td:first-child span {
  background-color: #dff0c5;
  display: block;
  padding: 0.5rem 2rem;
  text-align: center;
  position: relative;
}
@media screen and (max-width: 768px) {
  .area_wrap .area_box table tbody tr td:first-child span {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
    font-size: 1.2rem;
  }
}
.area_wrap .area_box table tbody tr td:first-child span:after {
  content: "";
  width: 1px;
  height: 100%;
  border-right: 1px dotted #ccc;
  position: absolute;
  right: -1rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.area_wrap .area_box table tr.sponly {
  display: table-row !important;
}

.school_box {
  border: 1px solid #1e5822;
  margin-bottom: 5rem;
}
@media screen and (max-width: 768px) {
  .school_box {
    margin-bottom: 2rem;
  }
}
.school_box .title {
  background-color: #1e5822;
  cursor: pointer;
}
.school_box .title h4 {
  color: #fff;
  font-weight: bold;
  font-size: 2rem;
  padding: 2rem 2em;
  position: relative;
}
@media screen and (max-width: 768px) {
  .school_box .title h4 {
    font-size: 1.6rem;
    padding: 1rem;
  }
}
.school_box .title h4 .accordion_icon,
.school_box .title h4 .accordion_icon span {
  display: inline-block;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.school_box .title h4 .accordion_icon {
  position: absolute;
  width: 22px;
  height: 22px;
  right: 2rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .school_box .title h4 .accordion_icon {
    width: 10px;
    height: 10px;
    right: 1rem;
  }
}
.school_box .title h4 .accordion_icon span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #fff;
  border-radius: 4px;
}
.school_box .title h4 .accordion_icon span:nth-of-type(1) {
  top: 7px;
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
}
@media screen and (max-width: 768px) {
  .school_box .title h4 .accordion_icon span:nth-of-type(1) {
    top: 5px;
  }
}
.school_box .title h4 .accordion_icon span:nth-of-type(2) {
  top: 7px;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
@media screen and (max-width: 768px) {
  .school_box .title h4 .accordion_icon span:nth-of-type(2) {
    top: 5px;
  }
}
.school_box .title h4 .accordion_icon.active span:nth-of-type(1) {
  display: none;
}
.school_box .title h4 .accordion_icon.active span:nth-of-type(2) {
  top: 5px;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.school_box_inner {
  display: none;
  padding: 3rem 4.1vw;
}
@media screen and (max-width: 768px) {
  .school_box_inner {
    padding-bottom: 0;
  }
}
.school_box_inner h5 {
  font-size: 1.8rem;
  font-weight: bold;
  color: #1e5822;
  background-color: #dff0c5;
  padding: 1rem;
  border-left: 8px solid #93ce3f;
  margin-bottom: 1rem;
}
@media screen and (max-width: 768px) {
  .school_box_inner h5 {
    font-size: 1.5rem;
  }
}
.school_box_inner .contents {
  margin-left: 4.1vw;
  margin-bottom: 4rem;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
@media screen and (max-width: 768px) {
  .school_box_inner .contents {
    display: block;
  }
}
.school_box_inner .contents > div {
  margin-right: 2rem;
}
@media screen and (max-width: 768px) {
  .school_box_inner .contents > div {
    max-width: 100% !important;
  }
}
.school_box_inner .contents ul li {
  font-size: 1.6rem;
  line-height: 2;
  font-size: 1.5rem;
}
.school_box_inner .column3 > div {
  -ms-flex-preferred-size: 33%;
      flex-basis: 33%;
  max-width: 33%;
}
.school_box_inner .column2 > div {
  -ms-flex-preferred-size: 45%;
      flex-basis: 45%;
  max-width: 45%;
}

/**
* 4.11 - Cource01（普通自動車）
* -----------------------------------------------------------------------------
*/
/* Courseページ共通 */
.page_course01 h2,
.page_course02 h2,
.page_course03 h2,
.page_course04 h2,
.page_course05 h2,
.page_course06 h2 {
  font-family: "Noto Sans JP", "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
}

.sec_course:not(:last-of-type) {
  margin-bottom: 12rem;
}
@media screen and (max-width: 768px) {
  .sec_course:not(:last-of-type) {
    margin-bottom: 6rem;
  }
}
.sec_course h2 {
  color: #005716;
  font-size: 3.2rem;
  margin-bottom: 4rem;
}
@media screen and (max-width: 768px) {
  .sec_course h2 {
    font-size: 2.2rem;
    margin-top: 4rem;
  }
}
.sec_course h2:after {
  display: none;
}
.sec_course h3 {
  font-size: 2rem;
  font-weight: bold;
  position: relative;
  line-height: 22px;
  padding-left: 1rem;
  margin-bottom: 2rem;
  margin-top: 4rem;
}
@media screen and (max-width: 768px) {
  .sec_course h3 {
    margin-bottom: 2rem;
  }
}
.sec_course h3:before {
  width: 3px;
  height: 22px;
  content: "";
  background-image: url(../images/news/listmark1.svg);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  left: 0;
}
.sec_course p {
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .sec_course p {
    font-size: 1.5rem;
  }
}

.course_flex {
  font-size: 1.6rem;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .course_flex {
    display: block;
  }
}
.course_flex > div {
  -ms-flex-preferred-size: 530px;
      flex-basis: 530px;
  max-width: 530px;
}
.course_flex > div:first-child {
  margin-right: 2%;
}
@media screen and (max-width: 768px) {
  .course_flex > div:first-child {
    margin-right: 0;
    margin-bottom: 4rem;
  }
}
.course_flex > div:nth-child(2) {
  margin-left: 2%;
}
@media screen and (max-width: 768px) {
  .course_flex > div:nth-child(2) {
    margin-left: 0;
  }
}
.course_flex .note {
  margin-bottom: 1rem;
}
.course_flex .step1,
.course_flex .step2,
.course_flex .step3,
.course_flex .step4,
.course_flex .step_lg {
  text-align: center;
}
.course_flex .step1 span,
.course_flex .step2 span,
.course_flex .step3 span,
.course_flex .step4 span,
.course_flex .step_lg span {
  font-size: 1.4rem;
}
.course_flex .step1,
.course_flex .step2,
.course_flex .step3,
.course_flex .step4,
.course_flex .step_blank {
  padding: 0.5rem 2rem;
}
.course_flex .step1,
.course_flex .step2,
.course_flex .step4,
.course_flex .step_lg,
.course_flex .step_blank {
  position: relative;
  margin-bottom: 2rem;
}
.course_flex .step1:after,
.course_flex .step2:after,
.course_flex .step4:after,
.course_flex .step_lg:after,
.course_flex .step_blank:after {
  content: "";
  width: 4px;
  height: 2rem;
  left: 0;
  right: 0;
  position: absolute;
  top: 100%;
  margin-left: auto;
  margin-right: auto;
  background-color: #e4e4e4;
  z-index: -1;
  top: 100%;
}
.course_flex .step1 {
  background-color: #f3f9e8;
}
.course_flex .step2 {
  background-color: #1e5822;
  color: #fff;
  position: relative;
}
.course_flex .step3 {
  background-color: #ffff00;
}
.course_flex .step4 {
  background-color: #93ce3f;
  color: #fff;
}
.course_flex .step_lg {
  border: 6px solid #93ce3f;
}
.course_flex .step_lg .title {
  color: #fff;
  background-color: #93ce3f;
}
.course_flex .step_lg .content {
  background-color: #fff;
  padding: 1rem;
}
.course_flex .step_lg:after {
  top: calc(100% + 6px);
}
.course_flex .step_blank {
  background-color: transparent;
  position: relative;
}
.course_flex .step_blank:after {
  content: "";
  width: 4px;
  height: 10rem;
  left: 0;
  right: 0;
  position: absolute;
  top: 100%;
  margin-left: auto;
  margin-right: auto;
  background-color: #e4e4e4;
  z-index: -1;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.course_flex .no_line:after {
  display: none;
}
.course_flex .no_margin_b {
  margin-bottom: 0;
}
.course_flex .caution {
  font-size: 1.1rem;
  position: absolute;
  top: calc(100% + 1rem);
  color: #000;
  text-align: left;
  left: 0;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .course_flex .caution {
    white-space: pre-wrap;
  }
}
.course_flex .flex_sub > div {
  -ms-flex-preferred-size: 46.4%;
      flex-basis: 46.4%;
  max-width: 46.4%;
}
.course_flex .flex_sub_r .step_lg:after {
  display: none;
}
.course_flex .branch_open,
.course_flex .branch_close {
  height: 4px;
  width: 54.3%;
  margin-left: auto;
  margin-right: auto;
  background-color: #e4e4e4;
  margin-bottom: 2rem;
  position: relative;
}
.course_flex .branch_open:before, .course_flex .branch_open:after,
.course_flex .branch_close:before,
.course_flex .branch_close:after {
  content: "";
  width: 4px;
  height: 2rem;
  position: absolute;
  background-color: #e4e4e4;
  z-index: -1;
}
.course_flex .branch_open:before,
.course_flex .branch_close:before {
  left: 0;
}
.course_flex .branch_open:after,
.course_flex .branch_close:after {
  right: 0;
}
.course_flex .branch_open {
  margin-top: 2rem;
}
.course_flex .branch_open:before, .course_flex .branch_open:after {
  top: 100%;
}
.course_flex .branch_close {
  margin-top: 3rem;
}
.course_flex .branch_close:before, .course_flex .branch_close:after {
  bottom: 100%;
  height: 8rem;
}
.course_flex .line_top:before {
  content: "";
  width: 4px;
  height: 2rem;
  left: 0;
  right: 0;
  position: absolute;
  bottom: 100%;
  margin-left: auto;
  margin-right: auto;
  background-color: #e4e4e4;
  z-index: -1;
}

@media screen and (max-width: 768px) {
  .course_detail .flex {
    display: block;
  }
}
.course_detail .flex > div {
  -ms-flex-preferred-size: 47%;
      flex-basis: 47%;
  max-width: 47%;
}
@media screen and (max-width: 768px) {
  .course_detail .flex > div {
    max-width: 100%;
  }
}
.course_detail .flex > div .title {
  color: #fff;
  font-size: 2rem;
  padding: 1rem 2rem 1rem 4rem;
  position: relative;
  font-weight: 900;
}
.course_detail .flex > div .title:before {
  width: 4px;
  height: 2.6rem;
  position: absolute;
  left: 2rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background-color: #fff;
  content: "";
}
.course_detail .flex > div:first-child .title {
  background-color: #1e5822;
}
.course_detail .flex > div:nth-child(2) .title {
  background-color: #93ce3f;
}

.scroll-table {
  overflow: auto;
  white-space: nowrap;
  border: solid 1px #ddd;
}

.course_note {
  margin-top: 4rem;
  font-size: 1.4rem;
  line-height: 2;
  margin-bottom: 10rem;
}

.dl_payment {
  margin-bottom: 0;
}
.dl_payment dt {
  font-size: 1.8rem;
  color: #1e5822;
  font-weight: bold;
  margin-bottom: 1rem;
}
.dl_payment dd {
  margin-left: 0;
  font-size: 1.6rem;
}
.dl_payment dd:not(:last-of-type) {
  margin-bottom: 3rem;
}

/* course1 only */
.page_course01 .tb_price th,
.page_course01 .tb_price td {
  border: 1px solid #e2e2e2;
  padding: 1.5rem;
  text-align: center;
}
.page_course01 .tb_price th {
  font-size: 2rem;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .page_course01 .tb_price th {
    font-size: 1.4rem !important;
  }
}
.page_course01 .tb_price td {
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  .page_course01 .tb_price td {
    font-size: 1.2rem;
  }
}
.page_course01 .tb_price thead th {
  color: #1e5822;
  font-size: 2.2rem;
  padding: 1em 2rem;
}
.page_course01 .tb_price tbody tr:first-child td, .page_course01 .tb_price tbody tr:nth-child(3) td {
  background-color: #ecf1ec;
}
.page_course01 .tb_price tbody tr:first-child th, .page_course01 .tb_price tbody tr:nth-child(3) th {
  background-color: #1e5822;
  color: #fff;
}
.page_course01 .tb_price tbody tr:nth-child(5) td, .page_course01 .tb_price tbody tr:nth-child(7) td {
  background-color: #f6fbef;
}
.page_course01 .tb_price tbody tr:nth-child(5) th, .page_course01 .tb_price tbody tr:nth-child(7) th {
  background-color: #93ce3f;
  color: #fff;
}
.page_course01 .tb_price tbody tr .bold {
  font-weight: bold;
}

/**
* 4.12 - Cource02（自動二輪車）
* -----------------------------------------------------------------------------
*/
.page_course02 .course_flex_r .branch_close {
  margin-top: 2.5rem;
}
.page_course02 .tb_price th,
.page_course02 .tb_price td {
  border: 1px solid #e2e2e2;
  padding: 1.5rem;
  text-align: center;
}
.page_course02 .tb_price th {
  font-size: 2rem;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .page_course02 .tb_price th {
    font-size: 1.4rem;
  }
}
.page_course02 .tb_price td {
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  .page_course02 .tb_price td {
    font-size: 1.2rem;
  }
}
.page_course02 .tb_price thead th {
  color: #1e5822;
  font-size: 2.2rem;
  padding: 1em 2rem;
}
@media screen and (max-width: 768px) {
  .page_course02 .tb_price thead th {
    font-size: 1.4rem;
  }
}
.page_course02 .tb_price tbody tr:first-child td, .page_course02 .tb_price tbody tr:nth-child(5) td {
  background-color: #ecf1ec;
}
.page_course02 .tb_price tbody tr:first-child th:first-of-type, .page_course02 .tb_price tbody tr:nth-child(5) th:first-of-type {
  background-color: #f3f9e8;
  color: #1e5822;
}
.page_course02 .tb_price tbody tr:nth-child(odd) td {
  background-color: #ecf1ec;
}
.page_course02 .tb_price tbody .th_mt {
  background-color: #1e5822;
  color: #fff;
}
.page_course02 .tb_price tbody .th_at {
  background-color: #93ce3f;
  color: #fff;
}
.page_course02 .tb_price2 th,
.page_course02 .tb_price2 td {
  border: 1px solid #e2e2e2;
  padding: 1rem;
  text-align: center;
}
.page_course02 .tb_price2 th {
  font-size: 2rem;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .page_course02 .tb_price2 th {
    font-size: 1.4rem;
  }
}
.page_course02 .tb_price2 td {
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  .page_course02 .tb_price2 td {
    font-size: 1.2rem;
  }
}
.page_course02 .tb_price2 thead th {
  color: #1e5822;
  font-size: 2.2rem;
  padding: 1em 2rem;
}
@media screen and (max-width: 768px) {
  .page_course02 .tb_price2 thead th {
    font-size: 1.4rem;
  }
}
.page_course02 .tb_price2 tbody tr:first-child td, .page_course02 .tb_price2 tbody tr:nth-child(5) td {
  background-color: #ecf1ec;
}
.page_course02 .tb_price2 tbody tr:first-child th:first-of-type, .page_course02 .tb_price2 tbody tr:nth-child(5) th:first-of-type {
  background-color: #f3f9e8;
  color: #1e5822;
}
.page_course02 .tb_price2 tbody tr:nth-child(odd) td {
  background-color: #f3f9e8;
}

/**
* 4.13 - Cource03（中型・準中型）
* -----------------------------------------------------------------------------
*/
.page_course03 .tb_price2 th,
.page_course03 .tb_price2 td {
  border: 1px solid #e2e2e2;
  padding: 1.5rem;
  text-align: center;
}
.page_course03 .tb_price2 th {
  font-size: 2rem;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .page_course03 .tb_price2 th {
    font-size: 1.4rem;
  }
}
.page_course03 .tb_price2 td {
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  .page_course03 .tb_price2 td {
    font-size: 1.2rem;
  }
}
.page_course03 .tb_price2 thead th {
  color: #1e5822;
  font-size: 2.2rem;
  padding: 1em 2rem;
}
@media screen and (max-width: 768px) {
  .page_course03 .tb_price2 thead th {
    font-size: 1.4rem;
  }
}
.page_course03 .tb_price2 tbody tr:first-child td, .page_course03 .tb_price2 tbody tr:nth-child(5) td {
  background-color: #ecf1ec;
}
.page_course03 .tb_price2 tbody tr:first-child th:first-of-type, .page_course03 .tb_price2 tbody tr:nth-child(5) th:first-of-type {
  background-color: #f3f9e8;
  color: #1e5822;
}
.page_course03 .tb_price2 tbody tr:nth-child(odd) td {
  background-color: #f3f9e8;
}

/**
* 4.14 - Cource04（普通二種）
* -----------------------------------------------------------------------------
*/
.page_course04 .tb_price th,
.page_course04 .tb_price td {
  border: 1px solid #e2e2e2;
  padding: 1.5rem;
  text-align: center;
}
.page_course04 .tb_price th {
  font-size: 2rem;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .page_course04 .tb_price th {
    font-size: 1.4rem;
  }
}
.page_course04 .tb_price td {
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  .page_course04 .tb_price td {
    font-size: 1.2rem;
  }
}
.page_course04 .tb_price thead th {
  color: #1e5822;
  font-size: 2.2rem;
  padding: 1em 2rem;
}
@media screen and (max-width: 768px) {
  .page_course04 .tb_price thead th {
    font-size: 1.4rem;
  }
}
.page_course04 .tb_price tbody tr:first-child th {
  background-color: #1e5822;
  color: #fff;
}
.page_course04 .tb_price tbody tr:nth-child(3) th {
  background-color: #93ce3f;
  color: #fff;
}
.page_course04 .tb_price tbody tr td.bold {
  font-weight: bold;
}
.page_course04 .tb_price tbody tr:nth-child(1) td {
  background-color: #ecf1ec;
}
.page_course04 .tb_price tbody tr:nth-child(3) td {
  background-color: #f6fbef;
}

/**
* 4.15 - Cource05（大型特殊）
* -----------------------------------------------------------------------------
*/
.page_course05 .tb_price th,
.page_course05 .tb_price td {
  border: 1px solid #e2e2e2;
  padding: 1.5rem;
  text-align: center;
}
.page_course05 .tb_price th {
  font-size: 2rem;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .page_course05 .tb_price th {
    font-size: 1.4rem;
  }
}
.page_course05 .tb_price td {
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  .page_course05 .tb_price td {
    font-size: 1.2rem;
  }
}
.page_course05 .tb_price thead th {
  color: #1e5822;
  font-size: 2.2rem;
  padding: 1em 2rem;
}
@media screen and (max-width: 768px) {
  .page_course05 .tb_price thead th {
    font-size: 1.4rem;
  }
}
.page_course05 .tb_price tbody tr:first-child th {
  background-color: #1e5822;
  color: #fff;
}
.page_course05 .tb_price tbody tr:nth-child(3) th {
  background-color: #93ce3f;
  color: #fff;
}
.page_course05 .tb_price tbody tr td.bold {
  font-weight: bold;
}
.page_course05 .tb_price tbody tr:nth-child(1) td {
  background-color: #ecf1ec;
}
.page_course05 .tb_price tbody tr:nth-child(3) td {
  background-color: #f6fbef;
}

/**
* 4.16 - Cource06（審査コース限定解除）
* -----------------------------------------------------------------------------
*/
.page_course06 .tb_limited tr:not(:last-child) {
  border-bottom: 1px solid #e2e2e2;
}
.page_course06 .tb_limited tr th {
  font-weight: bold;
  border-right: 1px solid #e2e2e2;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .page_course06 .tb_limited tr th {
    padding-bottom: 0 !important;
    border-right: none;
  }
}
.page_course06 .tb_limited tr th,
.page_course06 .tb_limited tr td {
  font-size: 1.6rem;
  padding: 1.5rem;
}
@media screen and (max-width: 768px) {
  .page_course06 .tb_limited tr th,
  .page_course06 .tb_limited tr td {
    display: block;
    text-align: left;
    font-size: 1.2rem;
  }
}
.page_course06 .tb_price td,
.page_course06 .tb_price th {
  border: 1px solid #e2e2e2;
  padding: 1.5rem;
  text-align: center;
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  .page_course06 .tb_price td,
  .page_course06 .tb_price th {
    font-size: 1.2rem;
  }
}
.page_course06 .tb_price thead th {
  color: #1e5822;
  font-size: 2.2rem;
  padding: 1em 2rem;
}
@media screen and (max-width: 768px) {
  .page_course06 .tb_price thead th {
    font-size: 1.4rem;
  }
}
.page_course06 .tb_price tbody tr:nth-child(odd) {
  background-color: #ecf1ec;
}
.page_course06 .tb_price tbody .yellow {
  background-color: #ffff00;
}

/**
* 5.0 - Footer
* -----------------------------------------------------------------------------
*/
footer .logo_akagi {
  padding: 1rem;
  background-color: #d42d25;
}
footer .logo_akagi img {
  width: 208px;
}
footer .c-footer-group {
  background-color: #C30D23;
}
footer .c-footer-group .c-footer-group__inner {
  padding: 30px 0;
  text-align: center;
}
footer .c-footer-group .c-footer-group__inner .text {
  max-width: 340px;
  width: 100%;
  margin: 0 auto;
}
footer .c-footer-group .c-footer-group__inner .text img {
  width: 100%;
  height: auto;
}
footer .c-footer-group .c-footer-group__inner .button {
  max-width: 250px;
  width: 100%;
  margin: 10px auto 0;
  display: block;
}
footer .c-footer-group .c-footer-group__inner .button:hover {
  opacity: 0.7;
}
footer .c-footer-group .c-footer-group__inner .button img {
  width: 100%;
  height: auto;
}
footer .copyright {
  font-weight: bold;
  padding: 2rem;
  font-size: 1.2rem;
}

.footer_top {
  background-color: #4d4d4d;
  color: #fff;
  padding-top: 8rem;
  position: relative;
  padding-bottom: 8rem;
}
@media screen and (max-width: 768px) {
  .footer_top {
    padding-top: 5rem;
  }
}
@media screen and (max-width: 768px) {
  .footer_top .inner {
    padding-right: 0;
    padding-left: 0;
  }
}
@media screen and (max-width: 768px) {
  .footer_top .inner > .flex {
    display: block;
  }
}
.footer_top .logo {
  margin-bottom: 3.5rem;
}
@media screen and (max-width: 768px) {
  .footer_top .logo {
    margin-bottom: 1rem;
  }
}
.footer_top .logo img {
  max-width: 384px;
  width: 100%;
}
.footer_top .address {
  font-size: 1.4rem;
  margin-left: 8.5rem;
}
@media screen and (max-width: 768px) {
  .footer_top .address {
    margin-left: 0;
  }
}
.footer_top .institution {
  margin-left: 8.5rem;
  margin-top: 4rem;
}
@media screen and (max-width: 768px) {
  .footer_top .institution {
    margin-left: 0;
  }
}
.footer_top .institution .flex {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
@media screen and (max-width: 768px) {
  .footer_top .institution .flex {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.footer_top .institution ul li img {
  width: 100%;
}
.footer_top .institution ul li:first-child img {
  max-width: 171px;
}
.footer_top .institution ul li:nth-child(2) {
  margin-left: 2rem;
}
.footer_top .institution ul li:nth-child(2) img {
  max-width: 110px;
}
.footer_top .footer_l,
.footer_top .footer_r {
  -ms-flex-preferred-size: 50%;
      flex-basis: 50%;
  max-width: 50%;
}
@media screen and (max-width: 768px) {
  .footer_top .footer_l,
  .footer_top .footer_r {
    max-width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .footer_top .footer_l {
    padding-left: 5vw;
    padding-right: 5vw;
  }
}
.footer_top .footer_l_bottom {
  margin-left: 8.5rem;
  margin-top: 6rem;
}
@media screen and (max-width: 768px) {
  .footer_top .footer_l_bottom {
    margin-left: 0;
    margin-top: 3rem;
  }
}
.footer_top .footer_l_bottom > .flex {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
@media screen and (max-width: 768px) {
  .footer_top .footer_l_bottom > .flex {
    display: block;
  }
}
.footer_top .footer_l_bottom .manten {
  margin-right: 4rem;
}
@media screen and (max-width: 768px) {
  .footer_top .footer_l_bottom .manten {
    margin-right: 0;
    text-align: center;
  }
}
.footer_top .footer_l_bottom .manten img {
  max-width: 120px;
}
@media screen and (max-width: 768px) {
  .footer_top .footer_l_bottom .manten img {
    max-width: 171px;
  }
}
.footer_top .footer_l_bottom .sns .flex {
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .footer_top .footer_l_bottom .sns .flex {
    -webkit-transform: none;
            transform: none;
    margin-top: 3rem;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.footer_top .footer_l_bottom .sns .flex li {
  -ms-flex-preferred-size: 50px;
      flex-basis: 50px;
  max-width: 50px;
  margin-left: 5px;
}
.footer_top .footer_l_bottom .sns .flex li img {
  width: 100%;
}
.footer_top .footer_r h3 {
  font-size: 2rem;
  margin-bottom: 3rem;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .footer_top .footer_r h3 {
    text-align: center;
    background-color: #333333;
    color: #fff;
    padding: 1.5rem;
    font-weight: normal;
    margin-bottom: 0;
  }
}
@media screen and (max-width: 768px) {
  .footer_top .footer_r .footer_navi {
    display: block;
  }
}
@media screen and (max-width: 768px) {
  .footer_top .footer_r .footer_navi ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.footer_top .footer_r .footer_navi ul li {
  margin-bottom: 1rem;
}
@media screen and (max-width: 768px) {
  .footer_top .footer_r .footer_navi ul li {
    -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
    max-width: 50%;
    margin-bottom: 0;
  }
}
.footer_top .footer_r .footer_navi ul li a {
  font-size: 1.4rem;
}
@media screen and (max-width: 768px) {
  .footer_top .footer_r .footer_navi ul li a {
    display: block;
    width: 100%;
    height: 100%;
    text-align: center;
    padding: 1.5rem;
  }
}
.footer_top .footer_r .footer_navi ul:not(:last-child) {
  margin-right: 1rem;
}
@media screen and (max-width: 768px) {
  .footer_top .footer_r .footer_navi ul:not(:last-child) {
    margin-right: 0;
  }
}
@media screen and (max-width: 768px) {
  .footer_top .footer_r .footer_navi ul .li_parent {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    max-width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .footer_top .footer_r .footer_navi ul .li_parent a {
    text-align: left;
    padding-top: 3rem;
  }
}
.footer_top .footer_r .footer_navi ul .li_parent a:before {
  content: "";
  width: 7px;
  height: 6px;
  display: inline-block;
  background-image: url("../images/common/icon_triangle2.svg");
  background-repeat: no-repeat;
  background-size: contain;
  margin-right: 0.5rem;
  vertical-align: middle;
}
@media screen and (max-width: 768px) {
  .footer_top .footer_r .footer_navi .footer_navi1 li,
  .footer_top .footer_r .footer_navi .footer_navi2 li {
    border-bottom: 1px solid #666666;
  }
}
@media screen and (max-width: 768px) {
  .footer_top .footer_r .footer_navi .footer_navi1 li:nth-child(2n) {
    border-left: 1px solid #666;
  }
}
@media screen and (max-width: 768px) {
  .footer_top .footer_r .footer_navi .footer_navi2 li:nth-child(2n-1) {
    border-left: 1px solid #666;
  }
}
.footer_top .footer_r .footer_navi .footer_navi3 li a {
  font-size: 1.2rem;
}
.footer_top .footer_r .footer_navi .footer_navi3 li a:before {
  content: "";
  display: inline-block;
  background-image: url("../images/common/icon_arrow2.svg");
  width: 4px;
  height: 10px;
  background-repeat: no-repeat;
  background-size: contain;
  margin-right: 0.5em;
}
@media screen and (max-width: 768px) {
  .footer_top .footer_r .footer_navi .footer_navi3 li a {
    text-align: left;
    padding-left: 3rem;
    padding-right: 0;
  }
}
.footer_top .footer_r_bottom .tel {
  margin-top: 8rem;
}
@media screen and (max-width: 768px) {
  .footer_top .footer_r_bottom .tel {
    background-color: #1e5822;
    display: block;
    text-align: center;
    padding: 1.2rem;
  }
}
.footer_top .footer_r_bottom .tel .tel_l {
  -ms-flex-preferred-size: 60%;
      flex-basis: 60%;
  max-width: 60%;
}
@media screen and (max-width: 768px) {
  .footer_top .footer_r_bottom .tel .tel_l {
    max-width: 100%;
  }
}
.footer_top .footer_r_bottom .tel .tel_l img {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .footer_top .footer_r_bottom .tel .tel_l img {
    max-width: 250px;
  }
}
.footer_top .footer_r_bottom .tel_r {
  -ms-flex-preferred-size: 40%;
      flex-basis: 40%;
  max-width: 40%;
  padding-left: 2rem;
}
@media screen and (max-width: 768px) {
  .footer_top .footer_r_bottom .tel_r {
    max-width: 100%;
    margin-bottom: 5rem;
  }
}
.footer_top .footer_r_bottom .tel_r a {
  display: inline-block;
  background-color: #ff861e;
  color: #fff;
  text-align: center;
  font-size: 1.6rem;
  width: 100%;
  padding: 0.8rem;
}
.footer_top .footer_r_bottom .tel_r a img {
  width: 27px;
  margin-right: 10px;
}
.footer_top .footer_r_bottom p {
  font-size: 1.4rem;
}
@media screen and (max-width: 768px) {
  .footer_top .footer_r_bottom p {
    text-align: center;
  }
}
.footer_top .btn_translate,
.footer_top #glt-translate-trigger {
  position: fixed;
  right: 0;
  bottom: 0;
  width: 140px;
  background-color: #319f2d;
  color: #fff;
  font-size: 2rem;
  text-align: center;
  padding: 1rem;
}
.footer_top .btn_translate img,
.footer_top #glt-translate-trigger img {
  width: 6px;
  vertical-align: middle;
  margin-right: 5px;
}

#glt-translate-trigger {
  right: 0 !important;
  width: 140px !important;
  bottom: 0;
  background-color: #319f2d !important;
  color: #fff !important;
  font-size: 2rem;
  text-align: center !important;
  padding: 1rem !important;
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
}
#glt-translate-trigger:after {
  content: "";
  width: 6px;
  height: 12px;
  background-image: url("../images/common/icon_triangle3.svg");
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 2rem;
}/*# sourceMappingURL=style.css.map */