/* CSS Document */
@media only screen and (max-width: 768px) {
  .blurFixSP {
    image-rendering: optimizeSpeed;
    /* STOP SMOOTHING, GIVE ME SPEED  */
    image-rendering: -moz-crisp-edges;
    /* Firefox                        */
    image-rendering: -o-crisp-edges;
    /* Opera                          */
    image-rendering: -webkit-optimize-contrast;
    /* Chrome (and eventually Safari) */
    image-rendering: -o-pixelated;
    image-rendering: pixelated;
    /* Chrome */
    image-rendering: optimize-contrast;
    /* CSS3 Proposed                  */
    -ms-interpolation-mode: nearest-neighbor;
    /* IE8+                           */ } }

/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
/********************************
Menu Toogle
********************************/
.menu_toggle {
  background-color: rgba(255, 255, 255, 0.95);
  position: fixed;
  top: 0px;
  bottom: 0px;
  left: 0px;
  width: 100%;
  padding: 0px 0px 0px;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 0.3s linear;
  -o-transition: all 0.3s linear;
  transition: all 0.3s linear; }
  .menu_toggle.active {
    opacity: 1;
    visibility: visible; }
  .menu_toggle ul li {
    position: relative;
    overflow: hidden; }
  .menu_toggle p {
    margin-bottom: 0; }
  .menu_toggle .inside > ul > li a, .menu_toggle .inside > ul > li p {
    -webkit-transform: translateY(100%);
    -ms-transform: translateY(100%);
    transform: translateY(100%);
    -webkit-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease; }
  .menu_toggle .inside > ul > li:nth-child(1) a, .menu_toggle .inside > ul > li:nth-child(1) p {
    -webkit-transition-delay: 0.25s;
    -o-transition-delay: 0.25s;
    transition-delay: 0.25s; }
  .menu_toggle .inside > ul > li:nth-child(2) a, .menu_toggle .inside > ul > li:nth-child(2) p {
    -webkit-transition-delay: 0.3s;
    -o-transition-delay: 0.3s;
    transition-delay: 0.3s; }
  .menu_toggle .inside > ul > li:nth-child(3) a, .menu_toggle .inside > ul > li:nth-child(3) p {
    -webkit-transition-delay: 0.35s;
    -o-transition-delay: 0.35s;
    transition-delay: 0.35s; }
  .menu_toggle .inside > ul > li:nth-child(4) a, .menu_toggle .inside > ul > li:nth-child(4) p {
    -webkit-transition-delay: 0.4s;
    -o-transition-delay: 0.4s;
    transition-delay: 0.4s; }
  .menu_toggle .inside > ul > li:nth-child(5) a, .menu_toggle .inside > ul > li:nth-child(5) p {
    -webkit-transition-delay: 0.45s;
    -o-transition-delay: 0.45s;
    transition-delay: 0.45s; }
  .menu_toggle .inside > ul > li:nth-child(6) a, .menu_toggle .inside > ul > li:nth-child(6) p {
    -webkit-transition-delay: 0.5s;
    -o-transition-delay: 0.5s;
    transition-delay: 0.5s; }
  .menu_toggle .inside > ul > li:nth-child(7) a, .menu_toggle .inside > ul > li:nth-child(7) p {
    -webkit-transition-delay: 0.55s;
    -o-transition-delay: 0.55s;
    transition-delay: 0.55s; }
  .menu_toggle .inside > ul > li:nth-child(8) a, .menu_toggle .inside > ul > li:nth-child(8) p {
    -webkit-transition-delay: 0.6s;
    -o-transition-delay: 0.6s;
    transition-delay: 0.6s; }
  .menu_toggle .inside > ul > li:nth-child(9) a, .menu_toggle .inside > ul > li:nth-child(9) p {
    -webkit-transition-delay: 0.65s;
    -o-transition-delay: 0.65s;
    transition-delay: 0.65s; }
  .menu_toggle .inside > ul > li:nth-child(10) a, .menu_toggle .inside > ul > li:nth-child(10) p {
    -webkit-transition-delay: 0.7s;
    -o-transition-delay: 0.7s;
    transition-delay: 0.7s; }
  .menu_toggle .inside > ul > li:nth-child(11) a, .menu_toggle .inside > ul > li:nth-child(11) p {
    -webkit-transition-delay: 0.75s;
    -o-transition-delay: 0.75s;
    transition-delay: 0.75s; }
  .menu_toggle .inside > ul > li:nth-child(12) a, .menu_toggle .inside > ul > li:nth-child(12) p {
    -webkit-transition-delay: 0.8s;
    -o-transition-delay: 0.8s;
    transition-delay: 0.8s; }
  .menu_toggle .inside > ul > li:nth-child(13) a, .menu_toggle .inside > ul > li:nth-child(13) p {
    -webkit-transition-delay: 0.85s;
    -o-transition-delay: 0.85s;
    transition-delay: 0.85s; }
  .menu_toggle .inside > ul > li:nth-child(14) a, .menu_toggle .inside > ul > li:nth-child(14) p {
    -webkit-transition-delay: 0.9s;
    -o-transition-delay: 0.9s;
    transition-delay: 0.9s; }
  .menu_toggle .inside > ul > li:nth-child(15) a, .menu_toggle .inside > ul > li:nth-child(15) p {
    -webkit-transition-delay: 0.95s;
    -o-transition-delay: 0.95s;
    transition-delay: 0.95s; }
  .menu_toggle.active .inside > ul > li a, .menu_toggle.active .inside > ul > li p {
    -webkit-transform: translateY(0%);
    -ms-transform: translateY(0%);
    transform: translateY(0%); }
  .menu_toggle .inside {
    -webkit-overflow-scrolling: touch;
    /* Lets it scroll lazy */
    -webkit-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
    height: 100%;
    overflow: auto; }
    .menu_toggle .inside > ul {
      padding: 60px 0 60px;
      width: 100%; }
      .menu_toggle .inside > ul > li {
        background-repeat: no-repeat;
        background-position: left 10px top 13px;
        background-size: auto 20px; }
        .menu_toggle .inside > ul > li:first-child > a::before, .menu_toggle .inside > ul > li:first-child > a::after, .menu_toggle .inside > ul > li:first-child > p::before, .menu_toggle .inside > ul > li:first-child > p::after {
          display: none; }
        .menu_toggle .inside > ul > li > a, .menu_toggle .inside > ul > li > p.title {
          cursor: pointer;
          padding: 12px 20px 12px 20px;
          display: block;
          position: relative;
          border-bottom: 1px dashed #ecfdf0;
          font-size: 15px;
          font-weight: 700;
          color: #000;
          text-align: center;
          text-decoration: none; }
          .menu_toggle .inside > ul > li > a span, .menu_toggle .inside > ul > li > p.title span {
            display: block;
            font-size: 80%;
            color: #3ba4cc;
            letter-spacing: 2px; }
        .menu_toggle .inside > ul > li > a::before {
          position: absolute;
          top: 50%;
          left: 8px;
          border: 4px solid #ffffff;
          border-bottom-color: transparent;
          border-right-color: transparent;
          border-top-color: transparent;
          -webkit-transform: translateY(-50%) scaleX(1.4);
          -ms-transform: translateY(-50%) scaleX(1.4);
          transform: translateY(-50%) scaleX(1.4); }
        .menu_toggle .inside > ul > li > p.title::before, .menu_toggle .inside > ul > li > p.title::after {
          content: "";
          background-color: #3ba4cc;
          display: block;
          position: absolute;
          top: 50%;
          right: 10px;
          width: 10px;
          height: 2px;
          -webkit-transition: all 0.5s ease;
          -o-transition: all 0.5s ease;
          transition: all 0.5s ease;
          opacity: 1; }
        .menu_toggle .inside > ul > li > p.title::before {
          -webkit-transform: translate(-50%, -50%);
          -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%); }
        .menu_toggle .inside > ul > li > p.title::after {
          -webkit-transform: translate(-50%, -50%) rotate(90deg);
          -ms-transform: translate(-50%, -50%) rotate(90deg);
          transform: translate(-50%, -50%) rotate(90deg); }
        .menu_toggle .inside > ul > li > p.title.rotate::before {
          -webkit-transform: translate(-50%, -50%);
          -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%); }
        .menu_toggle .inside > ul > li > p.title.rotate::after {
          -webkit-transform: translate(-50%, -50%);
          -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%); }
  .menu_toggle .lv2 ul {
    background-color: rgba(107, 158, 178, 0.8); }
  .menu_toggle .lv2 li {
    padding: 0 10px; }
    .menu_toggle .lv2 li a, .menu_toggle .lv2 li p.title {
      display: block;
      position: relative;
      color: #fff;
      font-size: 13px;
      padding: 10px 10px 10px 25px;
      border-bottom: 1px dotted rgba(255, 255, 255, 0.7); }
    .menu_toggle .lv2 li a::after {
      content: "\203A";
      display: block;
      position: absolute;
      top: 47%;
      left: 10px;
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      transform: translateY(-50%);
      font-size: 12px;
      font-weight: normal; }

#nav-icon {
  width: 32px;
  height: 27px;
  position: relative;
  margin: 0 auto 0px;
  cursor: pointer;
  -webkit-transition: .5s ease-in-out;
  -o-transition: .5s ease-in-out;
  transition: .5s ease-in-out; }
  #nav-icon span {
    background-color: #fff;
    display: block;
    position: absolute;
    height: 2px;
    width: 100%;
    opacity: 1;
    left: 0;
    -webkit-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    transform: rotate(0deg);
    -webkit-transition: .25s ease-in-out;
    -o-transition: .25s ease-in-out;
    transition: .25s ease-in-out; }
    #nav-icon span:nth-child(1) {
      top: 3px; }
    #nav-icon span:nth-child(2), #nav-icon span:nth-child(3) {
      top: 11px; }
    #nav-icon span:nth-child(4) {
      top: 19px; }
  #nav-icon.open span:nth-child(1) {
    top: 11px;
    width: 0%;
    left: 50%; }
  #nav-icon.open span:nth-child(2) {
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg); }
  #nav-icon.open span:nth-child(3) {
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg); }
  #nav-icon.open span:nth-child(4) {
    top: 11px;
    width: 0%;
    left: 50%; }

.hamburger-btn {
  background-color: #527a16;
  width: 60px;
  height: 60px;
  padding: 10px 0px 0;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 10;
  cursor: pointer; }
  .hamburger-btn .button-toggle {
    position: relative;
    width: 100%;
    margin: 0 auto;
    text-align: center;
    color: inherit; }
    .hamburger-btn .button-toggle #menu_btn {
      color: #fff;
      font-size: 13px;
      text-align: center;
      line-height: 1;
      letter-spacing: 0px; }

/* END Menu
********************************/
/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
/********************************
General
********************************/
@media only screen and (max-width: 768px) {
  body {
    font-size: 87.5%; }
  figure {
    text-align: center; }
  img {
    max-width: 100%; }
  .TabContainer .TabPager li {
    width: 33%; }
  .totop {
    bottom: 55px;
    right: 5px; }
    .totop .icon {
      width: 40px;
      height: 40px; }
  .fblock {
    display: block; }
    .fblock.true {
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
  .under .topic_path {
    padding-bottom: 10px; }
  .txt_l,
  .txt_r {
    float: none;
    width: auto; }
  .image_l,
  .image_r {
    float: none;
    width: auto;
    margin: 0 0 20px;
    text-align: center;
    max-width: none; }
  .btn-group .btn.style01, .btn-group .btn.style02 {
    max-width: 250px; }
    .btn-group .btn.style01 a, .btn-group .btn.style02 a {
      padding: 7px 35px;
      font-size: 15px; }
      .btn-group .btn.style01 a.md, .btn-group .btn.style02 a.md {
        font-size: 13px; }
  p {
    margin-bottom: 13px;
    line-height: 1.8; }
  a .tel_click:hover {
    opacity: 1;
    color: inherit; }
  .slick-prev {
    left: 0px; }
  .slick-next {
    right: 0px; }
  .slick-arrow {
    z-index: 1;
    top: 15vw; } }

/* END General
********************************/
/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
/********************************
Header & Footer
********************************/
@media only screen and (max-width: 768px) {
  .wrapper {
    min-width: inherit; }
  .inner, .inner_sm {
    max-width: none;
    padding-left: 10px;
    padding-right: 10px; }
  header.active .header_top {
    background: rgba(6, 95, 25, 0.8); }
  .header_top {
    width: 100%;
    padding: 9px 0;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10;
    -webkit-transition: .3s all ease;
    -o-transition: .3s all ease;
    transition: .3s all ease; }
    .header_top::before {
      display: none; }
    .header_top.active {
      -webkit-transform: translateY(-100%);
      -ms-transform: translateY(-100%);
      transform: translateY(-100%); }
    .header_top p {
      margin-bottom: 0; }
    .header_top .logo {
      max-width: 231px;
      width: auto;
      margin-left: 10px;
      position: static;
      left: 0;
      top: 0;
      -webkit-transform: none;
      -ms-transform: none;
      transform: none; }
    .header_top .inner {
      height: auto;
      display: block; }
  footer {
    padding: 40px 0 60px; }
    footer .ft_logo {
      padding: 0px 0 15px;
      text-align: center; }
    footer .ft_info, footer .ft_map {
      width: 100%;
      max-width: 100%; }
    footer .ft_info .tel {
      text-align: center; }
      footer .ft_info .tel p {
        padding-left: 30px;
        font-size: 28px;
        background-size: 22px 22px; }
      footer .ft_info .tel a {
        pointer-events: visible; }
    footer .ft_info .des {
      text-align: center; }
    footer .ft_info .ft_link {
      max-width: 350px;
      margin: 0 auto 20px auto; }
      footer .ft_info .ft_link::after {
        right: 10px;
        width: 8px;
        height: 8px; }
      footer .ft_info .ft_link p {
        margin: 0;
        padding: 11px 30px;
        font-size: 14px; }
    footer .copyright p {
      font-size: 12px; }
  .fixed_banner {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    position: fixed;
    top: auto;
    bottom: 0;
    left: 0;
    right: auto;
    width: 100%;
    height: 50px;
    -webkit-transform: translateY(100%);
    -ms-transform: translateY(100%);
    transform: translateY(100%);
    -webkit-transition: -webkit-transform 0.3s ease-in-out;
    transition: -webkit-transform 0.3s ease-in-out;
    -o-transition: transform 0.3s ease-in-out;
    transition: transform 0.3s ease-in-out;
    transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out; }
    .fixed_banner.active {
      -webkit-transform: translateY(0%);
      -ms-transform: translateY(0%);
      transform: translateY(0%); }
    .fixed_banner::before {
      display: none; }
    .fixed_banner p {
      font-weight: normal; }
      .fixed_banner p::before {
        margin-bottom: 5px; }
    .fixed_banner .tel, .fixed_banner .web, .fixed_banner .mail {
      width: 100%;
      height: auto; }
      .fixed_banner .tel p, .fixed_banner .web p, .fixed_banner .mail p {
        padding: 0px 0px;
        font-size: 13px;
        line-height: 1; }
        .fixed_banner .tel p::before, .fixed_banner .web p::before, .fixed_banner .mail p::before {
          height: 22px; }
    .fixed_banner .tel p span {
      -webkit-writing-mode: lr-tb;
      -ms-writing-mode: lr-tb;
      writing-mode: lr-tb; } }

@media only screen and (max-width: 480px) {
  footer .ft_info .ft_link p {
    font-size: 12px; } }

/* End Header & Footer
********************************/
/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
/********************************
Index
********************************/
@media only screen and (max-width: 768px) {
  .home_page .key {
    height: 100vh;
    margin-top: 0;
    padding-top: 0;
    background: url(../images/idx_key_bg_sp.png) no-repeat;
    background-position: bottom center;
    background-size: cover; }
    .home_page .key .key_text {
      max-width: none;
      max-height: none;
      width: auto;
      position: static;
      -webkit-transform: none;
      -ms-transform: none;
      transform: none; }
      .home_page .key .key_text .item {
        padding: 0;
        height: 100vh; }
      .home_page .key .key_text h2 {
        font-size: 4vw; }
      .home_page .key .key_text p {
        font-size: 2.5vw; }
    .home_page .key::before {
      border-top: 90px solid #065f19;
      border-right: 80vw solid transparent; } }

@media only screen and (max-width: 425px) {
  .home_page .key .key_text h2 {
    font-size: 4.7vw; }
  .home_page .key .key_text p {
    font-size: 3.8vw; } }

@media only screen and (max-width: 768px) and (orientation: landscape) {
  .home_page .key .key_text h2 {
    font-size: 3vw; }
  .home_page .key .key_text p {
    font-size: 2vw; } }

@media only screen and (max-width: 768px) {
  .idx_ttl {
    margin-bottom: 25px;
    font-size: 28px; }
    .idx_ttl span {
      font-size: 61.9%; }
    .idx_ttl .eng {
      font-size: 42.86%; }
  .idx_h4 {
    margin-bottom: 20px;
    font-size: 22px; }
  .idx_common01 .col_info {
    width: 100%;
    max-width: 100%;
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1; }
    .idx_common01 .col_info p {
      max-width: 100%; }
    .idx_common01 .col_info .idx_ttl {
      margin-bottom: 25px; }
    .idx_common01 .col_info .idx_h4 {
      margin-bottom: 20px; }
  .idx_common01 .col_list {
    width: 100%;
    max-width: 100%;
    margin-top: 30px;
    -webkit-transform: translateX(3%);
    -ms-transform: translateX(3%);
    transform: translateX(3%);
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center; }
    .idx_common01 .col_list .list {
      max-width: 150px; }
    .idx_common01 .col_list .list01 {
      margin-right: 13px; }
    .idx_common01 .col_list .item {
      margin-bottom: 20px; }
      .idx_common01 .col_list .item .ttl {
        padding-top: 35px;
        font-size: 18px; }
        .idx_common01 .col_list .item .ttl::before {
          font-size: 30px; }
  .idx_btn {
    max-width: 200px;
    margin: 15px auto 0 auto; }
    .idx_btn a {
      padding: 10px; } }

@media only screen and (max-width: 640px) {
  .idx_common01 .col_list {
    -webkit-transform: translateX(5%);
    -ms-transform: translateX(5%);
    transform: translateX(5%); }
    .idx_common01 .col_list .list02 {
      -webkit-transform: translateY(35%) translateX(-37%) rotate(45deg);
      -ms-transform: translateY(35%) translateX(-37%) rotate(45deg);
      transform: translateY(35%) translateX(-37%) rotate(45deg); } }

@media only screen and (max-width: 480px) {
  .idx_h4 {
    font-size: 18px; }
  .idx_common01 .col_list .item {
    margin-bottom: 8px; }
    .idx_common01 .col_list .item .ttl {
      padding-top: 8vw;
      font-size: 3.9vw; }
      .idx_common01 .col_list .item .ttl::before {
        font-size: 7vw; }
  .idx_common01 .col_list .list {
    max-width: 32vw;
    margin: 0 8px; }
  .idx_common01 .col_list .list01 {
    margin-right: 8px; } }

@media only screen and (max-width: 768px) {
  .idx01 {
    margin-top: -146px;
    padding: 128px 0 90px 0;
    background: url(../images/idx01_bg.png) top center no-repeat;
    background-size: cover; }
    .idx01 .idx_ttl {
      margin-bottom: 25px; }
    .idx01_box {
      -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
    .idx01_greet {
      width: auto;
      max-width: auto;
      font-size: 10vw;
      letter-spacing: 0.2em;
      position: absolute;
      left: 0;
      top: 10%; }
    .idx01_thumb {
      width: 100%;
      max-width: 100%;
      margin-top: 20px;
      padding-bottom: 0;
      -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
      order: 2; }
      .idx01_thumb p {
        margin-bottom: 10px; }
    .idx01_img {
      width: 100%;
      max-width: 450px;
      margin: 0 auto;
      -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
      order: 1; } }

@media only screen and (max-width: 768px) {
  .idx02 {
    margin-top: -130px;
    padding: 140px 0 150px 0; }
    .idx02 .idx_common01 .col_info {
      padding-top: 0;
      -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
      order: 1; }
    .idx02 .idx_common01 .col_list {
      -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
      order: 2; }
    .idx02 .idx_ttl {
      text-align: left; }
      .idx02 .idx_ttl::after {
        right: auto;
        left: 0; }
    .idx02 .idx_h4 {
      text-align: left; } }

@media only screen and (max-width: 480px) {
  .idx02 {
    padding-bottom: 36vw;
    padding-top: 130px; } }

@media only screen and (max-width: 320px) {
  .idx02 .idx_ttl {
    font-size: 26px; } }

@media only screen and (max-width: 768px) {
  .idx03_head {
    padding: 30px 0; }
    .idx03_head .idx_ttl {
      padding-top: 20px; }
    .idx03_head::before {
      width: 100%; }
  .idx03_box .col_l, .idx03_box .col_r {
    width: 100%;
    padding: 40px 10px 40px 10px; }
  .idx03_box .thumb {
    margin-bottom: 30px; }
    .idx03_box .thumb .idx_h4 {
      margin-bottom: 20px;
      padding: 10px; }
      .idx03_box .thumb .idx_h4::before {
        font-size: 20px;
        left: -10px;
        top: -10px; }
    .idx03_box .thumb p {
      text-shadow: 0 0 3px #fff; }
  .idx03_box01 .col_l {
    background-position: left 19% center; }
  .idx03_box01 .col_r {
    background-position: right 24% center; }
    .idx03_box01 .col_r .thumb01 .idx_h4::before {
      top: -18px;
      font-size: 20px; }
  .idx03_box02 .col_l, .idx03_box02 .col_r {
    padding: 40px 10px 40px 10px; }
  .idx03_box02 .col_l {
    background-position: right 16% center; }
    .idx03_box02 .col_l .thumb01 .idx_h4::before {
      left: -10px;
      top: -10px; }
  .idx03_box02 .col_r {
    background-position: left 41% center; }
    .idx03_box02 .col_r .thumb01 .idx_h4::before {
      left: -10px;
      top: -13px; }
    .idx03_box02 .col_r .thumb02 .idx_h4::before {
      top: -13px; } }

@media only screen and (max-width: 480px) {
  .idx03_box .col_l, .idx03_box .col_r {
    padding-top: 95vw; }
  .idx03_box .info {
    width: 100%;
    max-width: 100%; }
  .idx03_box01 .col_l {
    background-size: auto 111vw;
    background-position: top -23vw left; }
  .idx03_box01 .col_r {
    background-position: right top -9vw;
    background-size: auto 97vw; }
  .idx03_box02 .col_l {
    background-position: right top -32vw;
    background-size: auto 119vw; }
  .idx03_box02 .col_r {
    background-position: left top -34vw;
    background-size: auto 122vw; } }

@media only screen and (max-width: 425px) {
  .idx03_head .idx_ttl {
    margin-left: -10px; } }

@media only screen and (max-width: 768px) {
  .idx04 {
    padding: 40px 0 150px 0; }
    .idx04 .idx_common01 .col_list {
      -webkit-transform: translateX(4%);
      -ms-transform: translateX(4%);
      transform: translateX(4%);
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center; }
      .idx04 .idx_common01 .col_list .item .ttl {
        font-size: 16px; }
    .idx04 .idx_common01 .col_info {
      padding-top: 0; } }

@media only screen and (max-width: 480px) {
  .idx04 {
    padding-bottom: 32vw; }
    .idx04 .idx_common01 .col_list {
      -webkit-transform: translateX(6%);
      -ms-transform: translateX(6%);
      transform: translateX(6%); }
      .idx04 .idx_common01 .col_list .item .ttl {
        font-size: 3.2vw;
        letter-spacing: 0; } }

@media only screen and (max-width: 320px) {
  .idx04 .idx_ttl {
    font-size: 27px; } }

@media only screen and (max-width: 768px) {
  .idx05 .col_info, .idx05 .col_img {
    width: 100%;
    max-width: 100%; }
  .idx05 .col_img {
    display: none; }
  .idx05 .idx_ttl {
    margin-bottom: 25px;
    padding-bottom: 10px; }
  .idx05 .col_info {
    padding: 40px 0; }
  .idx05 figure {
    max-width: 450px;
    margin: 0 auto 20px auto; } }

@media only screen and (max-width: 768px) {
  .idx06 {
    padding: 40px 0; }
    .idx06::before {
      width: 25%; }
    .idx06_box {
      width: 100%;
      max-width: 585px;
      margin: 0 auto; }
    .idx06_comp {
      margin-bottom: 20px; }
      .idx06_comp dt {
        width: 80px; }
      .idx06_comp dd {
        width: calc(100% - 80px); }
    .idx06_calendar table tr th {
      padding: 11px 15px; }
    .idx06_calendar table tr td {
      padding: 9px 12px; }
    .idx06_note {
      font-size: 12px; } }

@media only screen and (max-width: 480px) {
  .idx06_calendar table tr th, .idx06_calendar table tr td {
    font-size: 12px; }
  .idx06_calendar table tr th {
    padding: 11px 5px; }
  .idx06_calendar table tr td {
    padding: 9px 5px; } }

@media only screen and (max-width: 768px) {
  .idx07 {
    padding: 40px 0; }
    .idx07_info dl dt {
      padding: 0; }
    .idx07_info dl dd {
      padding-left: 20px; } }

@media only screen and (max-width: 768px) {
  .idx08_map iframe {
    height: 350px; } }

@media only screen and (max-width: 768px) {
  .idx09 {
    padding: 40px 0 60px 0; }
    .idx09 .idx_ttl {
      margin-bottom: 25px; }
    .idx09 .item {
      height: 130px; }
      .idx09 .item .ttl {
        font-size: 22px; } }

@media only screen and (max-width: 480px) {
  .idx09 .item {
    width: calc(50% - 10px);
    height: 100px;
    margin: 0 5px; }
    .idx09 .item .ttl {
      font-size: 17px; }
    .idx09 .item::after {
      left: 46%; } }

/* END Index
********************************/
/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
/********************************
Under
********************************/
@media only screen and (max-width: 768px) {
  .under #mainContent {
    padding-bottom: 50px; }
  .under .key {
    height: 200px; }
    .under .key .key_text {
      padding: 0; }
    .under .key h2 {
      padding: 12px 10px;
      font-size: 21px; }
  .under h3 {
    margin-bottom: 25px;
    font-size: 24px; }
  .under h4 {
    margin-bottom: 20px;
    font-size: 20px; }
  .under h5 {
    margin-bottom: 15px;
    font-size: 18px; }
  .under h6 {
    margin-bottom: 10px;
    font-size: 16px; } }

@media only screen and (max-width: 425px) {
  .under .key h2 {
    font-size: 22px;
    letter-spacing: 0px; }
  .under h3 {
    margin-bottom: 25px;
    font-size: 20px;
    letter-spacing: 0px; }
  .under h4 {
    margin-bottom: 20px;
    font-size: 18px;
    letter-spacing: 0px; }
  .under h5 {
    margin-bottom: 15px;
    font-size: 17px;
    letter-spacing: 0px; }
  .under h6 {
    margin-bottom: 15px;
    font-size: 16px;
    letter-spacing: 0px; } }

@media only screen and (max-width: 768px) {
  .under section:first-child h3 {
    margin-top: 35px; }
  .under section {
    padding-top: 1px; }
    .under section h3 {
      margin-top: 60px; }
  .under .secH4 {
    padding-top: 40px; }
  .under .secH5 {
    padding-top: 30px; }
  .under .imgBox.rowImg {
    padding: 0px 0 15px; }
    .under .imgBox.rowImg .image_l, .under .imgBox.rowImg .image_r {
      float: none;
      width: auto;
      margin: 0 0 20px;
      text-align: center;
      max-width: none; }
      .under .imgBox.rowImg .image_l:nth-child(n), .under .imgBox.rowImg .image_r:nth-child(n) {
        max-width: none; }
    .under .imgBox.rowImg .txt_l, .under .imgBox.rowImg .txt_r {
      float: none;
      width: auto; }
    .under .imgBox.rowImg.large .image_l, .under .imgBox.rowImg.large .image_r {
      max-width: none; }
    .under .imgBox.rowImg.large .txt_l, .under .imgBox.rowImg.large .txt_r {
      width: auto; }
  .under .imgBox.colImg .list {
    -ms-flex-pack: distribute;
    justify-content: space-around; }
  .under .imgBox.colImg .item {
    margin-bottom: 15px; }
  .under .imgBox.colImg figure {
    margin-bottom: 5px; }
  .under .imgBox.colImg .text {
    font-size: 14px; }
  .under .imgBox.colImg3 .item {
    width: 49%; }
  .under .acf_block h3 {
    margin-bottom: 0; }
  .under .acf_block .text_h3 {
    margin: 25px 0 0; }
  .under .acf_block .text_h4 {
    margin: 20px 0 0; }
  .under .acf_block .text_h5 {
    margin: 15px 0 0; }
  .under table.rollTable {
    width: 1000px; }
  .under table.resTable {
    display: block; }
    .under table.resTable tbody, .under table.resTable tr, .under table.resTable th, .under table.resTable td {
      display: block; }
    .under table.resTable td:not(:last-child) {
      border-bottom: 0; }
    .under table.resTable.tbl_style01.colHead tr th {
      border-bottom: none; }
    .under table.resTable.tbl_style01.colHead tr:not(:first-child) th {
      border-top: none; }
    .under table.resTable.tbl_style02.colHead th {
      border-bottom: none; }
    .under table.resTable.tbl_style02.colHead tr:not(:last-child) td {
      border-bottom: none; }
  .under .tbl_note {
    display: block; }
  .under ul.list01 li {
    font-size: 14px; }
  .under ul.list01.mcol-2 li {
    width: 100%;
    padding-bottom: 9px; }
  .under .doctor_box .img {
    width: 50%;
    height: 190px; }
  .under .doctor_box .text {
    width: 50%; }
    .under .doctor_box .text .ttl {
      padding: 10px;
      font-size: 18px; } }

@media only screen and (max-width: 375px) {
  .under .imgBox.colImg .text {
    font-size: 13px; }
  .under .imgBox.colImg2 .item, .under .imgBox.colImg3 .item {
    width: 100%; } }

@media only screen and (max-width: 768px) {
  .under .clinic_tbl01 th {
    width: auto;
    text-align: left; }
  .under .teeth_box .secH4 {
    width: 100%; } }

@media only screen and (max-width: 425px) {
  .under .access_box_img01 .block:nth-child(even) .big, .under .access_box_img02 .block:nth-child(even) .big {
    -webkit-box-ordinal-group: 1;
    -ms-flex-order: 0;
    order: 0; }
  .under .access_box_img01 .block .big, .under .access_box_img01 .block .small, .under .access_box_img02 .block .big, .under .access_box_img02 .block .small {
    width: 100%; } }

@media only screen and (max-width: 768px) {
  .under .clinic_tbl02 th:first-child {
    width: 200px; } }

/* END Under
********************************/
/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
