@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@500;700&display=swap");
/* =============================================================

	Base

* ============================================================= */
body {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 15px;
  line-height: 2;
  letter-spacing: 1px;
  font-weight: normal;
  color: #444444;
  background-color: #ffffff;
  min-width: 320px;
}

a {
  transition: all 0.4s ease;
}
a:link, a:visited {
  color: #76ce65;
  text-decoration: underline;
}
a:hover, a:active {
  color: #76ce65;
  text-decoration: none;
}

[id] {
  scroll-margin-top: 110px;
}

img {
  vertical-align: top;
  max-width: 100%;
  height: auto;
}

a:hover > img {
  opacity: 0.8;
}

/* Chromeのみ「image-rendering」を指定（ぼやけを解消） */
@media  {
  img {
    image-rendering: -webkit-optimize-contrast;
  }
}
/* 管理バーの編集ガイドを非表示 */
.veu_admin_bar_disable_button,
.veu_adminEdit {
  display: none;
}

/* ログイン時のツールバー処理 */
body.admin-bar #header {
  top: 32px;
}
body.admin-bar #global_nav .global_menu {
  top: 52px !important;
}

@media screen and (max-width: 782px) {
  body.admin-bar #header {
    top: 46px;
  }
  body.admin-bar #global_nav .global_menu {
    top: 66px !important;
  }
}
@media screen and (max-width: 600px) {
  html {
    margin-top: 0px !important;
  }
  body.admin-bar.active #header {
    top: 0px !important;
  }
  body.admin-bar.active #global_nav .global_menu {
    top: 20px !important;
  }
}
/* main */
main {
  overflow: hidden;
}

@media screen and (min-width: 0px) and (max-width: 1040px) {
  main {
    margin-top: 70px;
  }
}
/* toggleClass */
.fixed {
  position: fixed;
  width: 100%;
  height: 100%;
}

/* global_nav */
#global_nav {
  position: fixed;
  z-index: 1000;
  top: -100vh;
  right: 0;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  transition: 0.2s cubic-bezier(0.075, 0.82, 0.165, 1);
  width: auto;
  padding-bottom: 0;
}
#global_nav.active {
  top: 0;
}
#global_nav .global_wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100vw;
  min-width: 100vw;
  height: 100vh;
  min-height: 100vh;
  overflow: auto;
  background-color: #ffffff;
  background-image: url(../../img/fooder_bg1.svg);
  background-size: 500px;
  background-repeat: no-repeat;
  background-position: bottom left;
}
#global_nav .global_inner {
  padding: 0 20px;
  opacity: 0;
}
#global_nav .global_inner.active {
  opacity: 0;
  animation: opacity 0.2s linear 0.2s 1 normal forwards;
}

@keyframes opacity {
  0% {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@media screen and (min-width: 0px) and (max-width: 575px) {
  #global_nav .global_wrap {
    align-items: normal;
  }
}
@media screen and (min-height: 0px) and (max-height: 700px) {
  #global_nav .global_wrap {
    align-items: normal;
  }
}
/* global_menu */
#global_nav .global_menu {
  box-sizing: border-box;
  display: block;
  position: absolute;
  top: 17px;
  right: 18px;
  width: 40px;
  height: 36px;
  cursor: pointer;
}
#global_nav .global_menu > .menu_line {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #444444;
  transition: all 0.2s ease;
}
#global_nav .global_menu > .menu_line_top {
  top: 0;
  transform: translateY(9px) rotate(30deg);
}
#global_nav .global_menu > .menu_line_bottom {
  top: 18px;
  transform: translateY(-9px) rotate(-30deg);
}
#global_nav .global_menu > .menu_txt::after {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  content: "close";
  font-size: 14px;
  line-height: 1;
  letter-spacing: 0px;
  font-weight: normal;
  text-align: center;
  color: #444444;
}

/* menu */
#global_nav .menu {
  padding-top: 100px;
  padding-bottom: 100px;
}
#global_nav .menu > .global_logo {
  text-align: center;
  width: 215px;
  max-width: 100%;
  margin: 0 auto;
}
#global_nav .menu > ul {
  list-style-type: none;
  margin: 50px auto 0px auto;
}
#global_nav .menu > ul li {
  text-align: center;
  margin: 20px auto;
}
#global_nav .menu > ul li a {
  font-size: 18px;
  line-height: 2;
  letter-spacing: 1px;
  font-weight: 500;
  text-decoration: none;
  color: #444444;
}
#global_nav .menu > ul li a:hover {
  opacity: 0.5;
}

/* global_nav_contact */
#global_nav .menu > .global_nav_contact {
  display: block;
  width: 150px;
  height: 150px;
  background-image: url(../../img/header_nav_contact.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  cursor: pointer;
  transition: all 0.4s ease;
  margin: 30px auto 0 auto;
}
#global_nav .menu > .global_nav_contact:hover {
  opacity: 0.8;
}

/* header */
#header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  background-color: rgba(255, 255, 255, 0.9);
  transition: 0.5s;
}
#header .header_wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 120px;
  padding: 0 25px;
}

/* header_logo */
#header .header_logo {
  margin: 18px 0 auto 0;
}
#header .header_logo img {
  width: 215px;
  max-width: 100%;
}
#header .header_logo a:hover img {
  opacity: 1;
}

/* header_menu */
#header .header_menu {
  margin-right: 155px;
}

/* header_tel */
#header a.header_tel {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  font-size: 30px;
  line-height: 1;
  letter-spacing: 2px;
  font-weight: 500;
  text-align: center;
  text-decoration: none;
  color: #76ce65;
  margin-bottom: 10px;
}
#header a.header_tel > i {
  margin-bottom: 4px;
}
#header a.header_tel > span {
  font-size: 15px;
  line-height: 1;
  letter-spacing: 0px;
  font-weight: 500;
  text-align: center;
  color: #ffffff;
  background-color: #76ce65;
  border-radius: 2px;
  padding: 2px 5px 4px 4px;
  margin-top: 4px;
  margin-right: 10px;
}
#header a.header_tel[href*="tel:"] {
  pointer-events: none;
}

/* header_nav */
#header .header_nav {
  list-style-type: none;
  display: flex;
}
#header .header_nav > li {
  margin-right: 40px;
}
#header .header_nav > li:last-child {
  margin-right: 0;
}
#header .header_nav > li a {
  font-size: 15px;
  line-height: 2;
  letter-spacing: 0px;
  font-weight: 500;
  text-decoration: none;
  color: #444444;
}
#header .header_nav > li a:hover {
  opacity: 0.5;
}

/* header_nav_contact */
#header .header_nav_contact {
  display: block;
  position: absolute;
  top: -5px;
  right: -5px;
  width: 145px;
  height: 145px;
  background-image: url(../../img/header_nav_contact.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  cursor: pointer;
  transition: all 0.4s ease;
}
#header .header_nav_contact:hover {
  opacity: 0.8;
}

/* header_nav_button */
#header .header_nav_button {
  display: none;
}

@media screen and (min-width: 0px) and (max-width: 1140px) {
  #header .header_menu {
    margin-right: 140px;
  }
  #header .header_nav > li {
    margin-right: 30px;
  }
  #header .header_nav > li:last-child {
    margin-right: 0;
  }
}
@media screen and (min-width: 0px) and (max-width: 1040px) {
  #header .header_wrap {
    height: 70px;
    padding: 0 20px;
  }
  #header .header_logo {
    margin: 0;
  }
  #header .header_logo img {
    width: 165px;
  }
  #header .header_menu {
    margin-left: auto;
    margin-right: 20px;
  }
  #header a.header_tel {
    font-size: 20px;
    line-height: 1;
    letter-spacing: 2px;
    font-weight: 500;
    margin-bottom: 0;
  }
  #header a.header_tel > span {
    display: none;
  }
  #header a.header_tel[href*="tel:"] {
    pointer-events: auto;
  }
  #header .header_nav,
  #header .header_nav_contact {
    display: none;
  }
  #header .header_nav_button {
    display: block;
    position: relative;
    width: 36px;
    height: 36px;
    cursor: pointer;
  }
  #header .header_nav_button > .menu_line {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #444444;
    transition: all 0.2s ease;
  }
  #header .header_nav_button > .menu_line_top {
    top: 0;
  }
  #header .header_nav_button > .menu_line_center {
    top: 9px;
  }
  #header .header_nav_button > .menu_line_bottom {
    top: 18px;
  }
  #header .header_nav_button > .menu_txt::after {
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    content: "menu";
    font-size: 14px;
    line-height: 1;
    letter-spacing: 0px;
    font-weight: 500;
    text-align: center;
    color: #444444;
  }
}
@media screen and (min-width: 0px) and (max-width: 414px) {
  #header .header_menu {
    margin-left: 0;
    margin-right: 0;
  }
  #header a.header_tel {
    letter-spacing: 0.5px;
  }
}
@media screen and (min-width: 0px) and (max-width: 375px) {
  #header a.header_tel {
    font-size: 16px;
    letter-spacing: 0.5px;
  }
}
/* footer */
#footer {
  display: flex;
  align-items: flex-end;
  position: relative;
  background-image: url(../../img/fooder_bg1.svg), url(../../img/fooder_bg2.svg), url(../../img/fooder_bg_w.svg);
  background-size: 750px, 730px, 1300px;
  background-repeat: no-repeat, no-repeat, repeat-x;
  background-position: bottom left, bottom right, bottom center;
  height: 600px;
  padding: 0 0 45px 55px;
  overflow: hidden;
}
#footer .footer_inner {
  display: inline-block;
}

/* footer_logo */
#footer .footer_logo img {
  width: 335px;
  max-width: 100%;
}

/* footer_address */
#footer .footer_address {
  font-size: 13px;
  line-height: 1.8;
  letter-spacing: 1px;
  font-weight: 500;
  margin-top: 25px;
}

/* footer_data */
#footer dl.footer_data {
  display: flex;
  font-size: 13px;
  line-height: 1.8;
  letter-spacing: 1px;
  font-weight: 500;
}
#footer dl.footer_data > dt::after {
  content: "／";
}
#footer dl.footer_data > dd {
  flex: 1;
}
#footer dl.footer_data > dd span::before {
  content: "●";
  color: #76ce65;
}
#footer dl.footer_data > dd a {
  color: #444444;
  text-decoration: none;
}

@media screen and (min-width: 601px) {
  #footer dl.footer_data.payment > dd {
    display: flex;
    align-items: flex-start;
  }
}
#footer dl.footer_data.payment > dd .card {
  display: flex;
}
#footer dl.footer_data.payment > dd .card img {
  max-width: initial;
  height: 3em !important;
}

/* footer_link */
#footer .footer_link {
  margin-top: 15px;
}
#footer .footer_link > a {
  font-size: 13px;
  line-height: 1.8;
  letter-spacing: 1px;
  font-weight: 500;
  text-decoration: none;
  color: #444444;
}
#footer .footer_link > a:hover {
  opacity: 0.5;
}

/* footer_copy */
#footer .footer_copy {
  font-size: 13px;
  line-height: 1.8;
  letter-spacing: 0.5px;
  font-weight: 500;
  margin-top: 15px;
}

/* footer_pagetop */
#footer .footer_pagetop {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  bottom: -20px;
  right: 15px;
  width: 270px;
  height: 270px;
  background-image: url(../../img/footer_pagetop.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  cursor: pointer;
  transition: all 0.4s ease;
}
#footer .footer_pagetop > p {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  font-size: 20px;
  line-height: 1;
  letter-spacing: 5px;
  font-weight: 500;
  color: #ffffff;
  margin-bottom: 10px;
}
#footer .footer_pagetop > p::before {
  display: block;
  content: "";
  background-image: url(../../img/icon_arrow_up_off.svg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  width: 15px;
  height: 13px;
  margin: 0 5px 17px 0;
  transition: all 0.4s ease;
}
#footer .footer_pagetop:hover {
  opacity: 0.8;
}
#footer .footer_pagetop:hover > p::before {
  background-image: url(../../img/icon_arrow_up_on.svg);
}

@media screen and (min-width: 0px) and (max-width: 767px) {
  #footer {
    background-image: url(../../img/fooder_bg1.svg), none, url(../../img/fooder_bg_w.svg);
  }
  #footer .footer_pagetop {
    top: 200px;
    bottom: auto;
    right: 15px;
    width: 120px;
    height: 120px;
  }
  #footer .footer_pagetop > p::before {
    margin: 0 5px 10px 0;
  }
}
@media screen and (min-width: 0px) and (max-width: 575px) {
  #footer {
    height: 600px;
    padding: 0 20px 20px 20px;
  }
  #footer .footer_logo,
  #footer .footer_link,
  #footer .footer_copy {
    text-align: center;
  }
  #footer dl.footer_data > dd span {
    display: inline-block;
  }
  #footer .footer_pagetop {
    top: 70px;
    width: 100px;
    height: 100px;
  }
}
/*追従CTA*/
@media screen and (max-width: 782px) {
  #footer {
    padding-bottom: calc(16vw + 20px);
  }
}
#footer .sp-cta {
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 11;
  display: flex;
  width: 100%;
}
#footer .sp-cta a {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2vw;
  width: 50%;
  height: 16vw;
  /*border-radius: 8vw 8vw 0 0;*/
  text-decoration: none;
  font-size: 90%;
}
#footer .sp-cta a::before {
  content: "";
  display: block;
  width: 7vw;
  height: 7vw;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
}
#footer .sp-cta .cta-phone {
  background-color: #eff157 !important;
  color: #444444 !important;
}
#footer .sp-cta .cta-phone::before {
  -webkit-mask-image: url(../../img/icon-phone.svg);
          mask-image: url(../../img/icon-phone.svg);
  background-color: #444444;
}
#footer .sp-cta .cta-reserve {
  background-color: #52a843 !important;
  color: #fff !important;
}
#footer .sp-cta .cta-reserve::before {
  -webkit-mask-image: url(../../img/icon-reserve.svg);
          mask-image: url(../../img/icon-reserve.svg);
  background-color: #fff;
}

@media screen and (min-width: 783px) {
  #footer .sp-cta {
    display: none;
  }
}
/*pdf enedder*/
.pdfemb-viewer {
  border: 0 !important;
}

/* 波型背景付タイトルエリア */
.title_bg-wave {
  position: relative;
  isolation: isolate;
  padding-top: 4em;
}
.title_bg-wave::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  width: 100%;
  margin: auto;
  -webkit-mask-image: url("../../img/top_title_bg.svg");
  -webkit-mask-position: center bottom;
  -webkit-mask-size: auto 100%;
  -webkit-mask-repeat: no-repeat;
  mask-image: url("../../img/top_title_bg.svg");
  mask-position: center bottom;
  mask-size: auto 100%;
  mask-repeat: no-repeat;
}

/*役物付きh3*/
h3.decolated {
  line-height: 2;
  letter-spacing: 10px;
  font-weight: 500;
  text-align: center;
}
@media screen and (min-width: 576px) {
  h3.decolated {
    font-size: 24px;
  }
}
@media screen and (max-width: 575px) {
  h3.decolated {
    font-size: 20px;
  }
}
h3.decolated::before, h3.decolated::after {
  display: inline-block;
  content: "";
  background-image: url(../../img/icon_horizontal_y.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  width: 24px;
  height: 21px;
}
h3.decolated::before {
  margin-right: 30px;
}
h3.decolated::after {
  margin-left: 20px;
}

/* top_mainimage */
#top_mainimage {
  /*padding: 30px 90px 0 90px;*/
  margin-top: -10px;
}
#top_mainimage img {
  display: block;
  width: 100%;
}
#top_mainimage .message {
  background: rgb(145, 201, 119);
  background: linear-gradient(90deg, rgb(255, 255, 255) 0%, rgb(145, 201, 119) 30%, rgb(145, 201, 119) 70%, rgb(255, 255, 255) 100%);
  padding: 10px 30px 14px 30px;
  margin: 80px auto 20px auto;
}
#top_mainimage .message > p {
  font-size: 24px;
  line-height: 1.5;
  letter-spacing: 5px;
  font-weight: 700;
  text-align: center;
  color: #ffffff;
}

@media screen and (min-width: 0px) and (max-width: 1040px) {
  /*#top_mainimage {
          padding: 10px 10px 0 10px;
      }*/
  #top_mainimage .message {
    background: linear-gradient(90deg, rgb(255, 255, 255) 0%, rgb(145, 201, 119) 10%, rgb(145, 201, 119) 90%, rgb(255, 255, 255) 100%);
    padding: 10px 30px 14px 30px;
    margin: 50px auto 0px auto;
  }
}
/* news_inner */
#top_news {
  padding: 0 0 50px;
  background-color: #ecf7e8;
}
#top_news .news_inner > ul {
  list-style-type: none;
  width: min(100%, 600px);
  padding-top: 70px;
  margin: auto;
}
#top_news .news_inner > ul li {
  padding: 1em 0;
}
#top_news .news_inner > ul li:hover {
  opacity: 0.8;
}
#top_news .news_inner > ul li a {
  display: flex;
  text-decoration: none;
  color: #444444;
  font-size: inherit !important;
  line-height: 1;
}
#top_news .news_inner > ul li time {
  display: block;
  margin-right: 3em;
  line-height: 1;
  letter-spacing: 2px;
  font-weight: 500;
  color: #76ce65;
}
#top_news .news_inner > ul li p {
  letter-spacing: 0;
  font-weight: 500;
  color: #444444;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
#top_news .news_inner > ul li span {
  position: absolute;
  right: 0;
  bottom: 37px;
  left: 0;
  display: block;
  font-size: 13px;
  line-height: 1;
  letter-spacing: 1px;
  font-weight: 500;
  text-align: center;
  color: #76ce65;
}
#top_news .news_inner > ul li span::before {
  display: block;
  content: "";
  background-image: url(../../img/icon_arrow_down_off.svg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  width: 15px;
  height: 13px;
  margin: 0 auto 8px;
  transition: all 0.4s ease;
}
#top_news .news_inner {
  /* button */
}
#top_news .news_inner > a.button {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  line-height: 2;
  letter-spacing: 5px;
  font-weight: 500;
  text-decoration: none;
  color: #ffffff;
  background-color: #76ce65;
  border-radius: 32px;
  width: 300px;
  max-width: 100%;
  height: 64px;
  margin: 70px auto 0;
}
#top_news .news_inner > a.button::before {
  position: absolute;
  top: 25px;
  right: 30px;
  content: "";
  background-image: url(../../img/icon_arrow_right_off.svg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  width: 13px;
  height: 15px;
  transition: all 0.4s ease;
}
#top_news .news_inner > a.button:hover {
  opacity: 0.8;
}
#top_news .news_inner > a.button:hover::before {
  background-image: url(../../img/icon_arrow_right_on.svg);
}
@media screen and (max-width: 1040px) {
  #top_news .news_inner > ul {
    width: 650px;
    max-width: 100%;
  }
  #top_news .news_inner > ul li:not(:first-child) {
    margin-left: 0;
  }
  #top_news .news_inner > ul li:nth-child(2n) {
    margin-left: 50px;
  }
}
@media screen and (max-width: 767px) {
  #top_news .news_inner > ul {
    width: min(100%, 300px);
    padding-top: 40px;
  }
  #top_news .news_inner > ul li:nth-child(2n) {
    margin-left: 0;
  }
}

/* top_medical */
#top_medical {
  container-type: inline-size;
  position: relative;
  padding-bottom: 50px;
  background-color: #f7dda3;
  background-image: url("../../img/grain-seamless.png"), linear-gradient(to right, #fffef3 0%, #fcebdc 42%, #f7dda3 100%);
  background-repeat: repeat;
  /* medical_title */
}
#top_medical .medical_title {
  background-color: #ecf7e8;
}
#top_medical .medical_title::before {
  background-color: #f7dda3;
  background-image: url("../../img/grain-seamless.png"), linear-gradient(to right, #fffef3 0%, #fcebdc 42%, #f7dda3 100%);
  background-repeat: repeat, no-repeat;
  background-position: left top, center;
  background-size: auto, cover;
}
#top_medical {
  /* medical_wrap */
}
#top_medical .medical_wrap {
  width: 1000px;
  max-width: 100%;
  margin: 80px auto 0;
}
#top_medical {
  /* medical_inner */
}
#top_medical .medical_inner {
  display: flex;
  justify-content: space-between;
  /* image */
}
#top_medical .medical_inner .image {
  width: 440px;
}
#top_medical .medical_inner .image > .img {
  width: 440px;
  max-width: 100%;
  height: 550px;
  overflow: hidden;
  background-color: #eee;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  border-radius: 20px;
}
#top_medical .medical_inner .image > .text {
  margin-top: 100px;
}
#top_medical .medical_inner .image > .text h5 {
  font-size: 20px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 10px;
}
#top_medical .medical_inner .image > .text p {
  margin-top: 15px;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 1px;
}
#top_medical .medical_inner {
  /* list */
}
#top_medical .medical_inner .list {
  width: 500px;
  list-style: none;
}
#top_medical .medical_inner .list > li {
  padding: 6px 10px;
  text-align: center;
  background-color: #fff;
  border-radius: 10px;
}
#top_medical .medical_inner .list > li:not(:first-child) {
  margin-top: 20px;
}
#top_medical .medical_inner .list > li h4 {
  font-size: 20px;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 2px;
}
#top_medical .medical_inner .list > li p {
  font-size: 13px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 1px;
}
#top_medical {
  /* button_visit */
}
#top_medical a.button_visit {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 800px;
  max-width: 100%;
  height: 90px;
  margin: 60px auto 0;
  color: #444;
  font-size: 18px;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 5px;
  text-decoration: none;
  background-color: #eff157;
  border: 1px dashed #fff;
  border-radius: 45px;
}
#top_medical a.button_visit::before {
  position: absolute;
  top: calc(50% - 8px);
  right: 40px;
  width: 14px;
  height: 16px;
  content: "";
  background-image: url(../../img/icon_arrow_right_b_off.svg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  transition: all 0.4s ease;
}
#top_medical a.button_visit:hover {
  opacity: 0.8;
}
#top_medical a.button_visit:hover::before {
  background-image: url(../../img/icon_arrow_right_b_on.svg);
}
#top_medical a.button_visit > h6 {
  margin-right: 30px;
  font-size: 28px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 2px;
}
#top_medical a.button_visit > p {
  font-size: 13px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 1px;
}
#top_medical {
  /* information_inner */
}
#top_medical .information_inner {
  position: relative;
  padding: 37px 60px;
  margin-top: 60px;
  background-color: #76ce65;
  border: 1px dashed #fff;
  border-radius: 15px;
}
#top_medical .information_inner > h4 {
  color: #fff;
  font-size: 24px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 5px;
}
#top_medical .information_inner > h4:not(:first-of-type) {
  margin-top: 40px;
}
#top_medical .information_inner > p {
  margin-top: 15px;
  color: #fff;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 1px;
}
#top_medical .information_inner {
  /*
  &::after {
      position: absolute;
      right: 60px;
      bottom: 40px;
      display: block;
      width: 208px;
      height: 218px;
      content: '';
      background: {
          image: url(../../img/top_information_ph2.svg);
          size: cover;
          repeat: no-repeat;
          position: center;
      }
  }*/
}
#top_medical {
  /* 1040px以下 */
}
@media screen and (max-width: 1040px) {
  #top_medical .medical_wrap {
    padding: 0 20px;
    margin-top: 50px;
  }
  #top_medical .medical_inner {
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  #top_medical .medical_inner .image {
    width: 500px;
  }
  #top_medical .medical_inner .image > .img {
    width: 500px;
    height: 500px;
    background-position: center top;
  }
  #top_medical .medical_inner .image > .text {
    margin-top: 50px;
  }
  #top_medical .medical_inner .list {
    margin-top: 50px;
  }
}
#top_medical {
  /* 767px以下 */
}
@media screen and (max-width: 767px) {
  #top_medical a.button_visit {
    flex-direction: column;
    height: auto;
    padding: 20px 0;
    border-radius: 100px;
  }
  #top_medical a.button_visit > h6 {
    margin-right: 0;
  }
  #top_medical a.button_visit > p {
    text-align: center;
  }
  #top_medical .information_inner {
    padding: 30px 20px 240px;
    margin-top: 50px;
  }
  #top_medical .information_inner::after {
    right: 0;
    bottom: -3px;
    left: 0;
    margin: 0 auto;
  }
  #top_medical .information_inner > h4 {
    letter-spacing: 5px;
  }
  #top_medical .information_inner > p:not(:first-of-type) {
    padding: 0;
  }
}
#top_medical {
  /* 575px以下 */
}
@media screen and (max-width: 575px) {
  #top_medical .medical_inner .image {
    width: 100%;
  }
  #top_medical .medical_inner .image > .img {
    width: 100%;
    height: 400px;
  }
  #top_medical .medical_inner .list {
    width: 100%;
  }
  #top_medical a.button_visit::before {
    right: 6vw;
  }
  #top_medical a.button_visit > h6 {
    font-size: 6vw;
  }
  #top_medical a.button_visit > p {
    font-size: 3vw;
  }
}

/* top_message */
#top_message {
  background-color: #fff;
  background-image: url(../../img/top_message_bg-center.jpg);
  background-size: auto;
  background-repeat: no-repeat;
  background-position: bottom center;
}
#top_message .message_wrap {
  width: 1000px;
  max-width: 100%;
  margin: 0 auto;
}
#top_message .message_inner {
  display: flex;
  justify-content: space-between;
}
#top_message .message_inner .image {
  position: relative;
  width: 500px;
  height: 715px;
}
#top_message .message_inner .image > .img1, #top_message .message_inner .image > .img2 {
  position: absolute;
  max-width: 100%;
  overflow: hidden;
  background-color: #eee;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  border-radius: 20px;
}
#top_message .message_inner .image > .img1 {
  top: 380px;
  left: 0;
  z-index: 10;
  width: 225px;
  height: 318px;
}
#top_message .message_inner .image > .img2 {
  top: 0;
  right: 0;
  z-index: 5;
  width: 365px;
  height: 558px;
}
#top_message .message_inner .message {
  width: 440px;
}
#top_message .message_inner .message > h2.title {
  font-size: 20px;
  line-height: 2.7;
  letter-spacing: 10px;
  font-weight: 500;
}
#top_message .message_inner .message > p.text {
  margin-top: 40px;
  font-size: 15px;
  line-height: 2;
  letter-spacing: 1px;
  font-weight: 500;
}
#top_message .message_inner .message > a.button {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 300px;
  max-width: 100%;
  height: 64px;
  margin-top: 50px;
  color: #fff;
  font-size: 18px;
  line-height: 2;
  letter-spacing: 5px;
  font-weight: 500;
  text-decoration: none;
  background-color: #76ce65;
  border-radius: 32px;
}
#top_message .message_inner .message > a.button::before {
  position: absolute;
  top: 25px;
  right: 30px;
  width: 13px;
  height: 15px;
  content: "";
  background-image: url(../../img/icon_arrow_right_off.svg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  transition: all 0.4s ease;
}
#top_message .message_inner .message > a.button:hover {
  opacity: 0.8;
}
#top_message .message_inner .message > a.button:hover::before {
  background-image: url(../../img/icon_arrow_right_on.svg);
}
@media screen and (min-width: 576px) {
  #top_message {
    padding-top: 50px;
  }
}
@media screen and (max-width: 1040px) {
  #top_message {
    background-size: 5000px;
  }
  #top_message .message_inner {
    flex-direction: column-reverse;
    align-items: center;
    justify-content: center;
  }
  #top_message .message_inner .message {
    width: 500px;
    max-width: 100%;
  }
  #top_message .message_inner .message > h2.title {
    text-align: center;
  }
  #top_message .message_inner .message > a.button {
    margin: 50px auto 0;
  }
  #top_message .message_inner .image {
    width: 500px;
    max-width: 100%;
    height: 715px;
    margin-top: 60px;
  }
}
@media screen and (max-width: 767px) {
  #top_message {
    background-size: 6000px;
  }
}
@media screen and (main-width: 576px) and (max-width: 1040px) {
  #top_message {
    padding: 50px 20px 100px;
  }
}
@media screen and (max-width: 575px) {
  #top_message {
    background-size: 5500px;
  }
  #top_message .message_wrap {
    padding: 50px 20px;
  }
  #top_message .message_inner .message {
    width: 100%;
  }
  #top_message .message_inner .message > h2.title {
    font-size: 4vw;
    letter-spacing: 8px;
  }
  #top_message .message_inner .image {
    height: 124vw;
    min-height: 396px;
  }
  #top_message .message_inner .image > .img1 {
    top: auto;
    bottom: 0;
    width: 43vw;
    min-width: 137px;
    height: 61vw;
    min-height: 195px;
  }
  #top_message .message_inner .image > .img2 {
    width: 63vw;
    min-width: 201px;
    height: 97vw;
    min-height: 310px;
  }
}

/* button */
#top_message .news_inner > a.button {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  line-height: 2;
  letter-spacing: 5px;
  font-weight: 500;
  text-decoration: none;
  color: #ffffff;
  background-color: #76ce65;
  border-radius: 32px;
  width: 300px;
  max-width: 100%;
  height: 64px;
  margin: 70px auto 0 auto;
}
#top_message .news_inner > a.button::before {
  position: absolute;
  top: 25px;
  right: 30px;
  content: "";
  background-image: url(../../img/icon_arrow_right_off.svg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  width: 13px;
  height: 15px;
  transition: all 0.4s ease;
}
#top_message .news_inner > a.button:hover {
  opacity: 0.8;
}
#top_message .news_inner > a.button:hover::before {
  background-image: url(../../img/icon_arrow_right_on.svg);
}

/* top_guidance */
#top_guidance .guidance_image,
#top_guidance .guidance_bg {
  position: relative;
  width: 100%;
  height: 550px;
}
#top_guidance .guidance_bg {
  overflow: hidden;
}
#top_guidance .guidance_bg > div {
  width: 100%;
  height: 100vh;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
#top_guidance .guidance_title {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
}
#top_guidance .guidance_title::before {
  background-color: #fff;
}
#top_guidance {
  /* guidance_wrap */
}
#top_guidance .guidance_wrap {
  width: 1000px;
  max-width: 100%;
  margin: 100px auto 85px;
}
#top_guidance .guidance_wrap > dl {
  display: flex;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 1px;
}
#top_guidance .guidance_wrap > dl dt {
  margin-right: 10px;
  white-space: nowrap;
}
#top_guidance .guidance_wrap > .table-wrap {
  margin: 20px auto 0;
}
#top_guidance .guidance_wrap > .table-wrap table {
  width: 100%;
  overflow: hidden;
  color: #444;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 1px;
  border: 1px solid #444;
  border-radius: 10px;
  border-collapse: separate;
}
#top_guidance .guidance_wrap > .table-wrap table th {
  padding: 10px 0;
  border-right: 1px solid #444;
  border-bottom: 1px solid #444;
}
#top_guidance .guidance_wrap > .table-wrap table th:first-child {
  width: 32%;
}
#top_guidance .guidance_wrap > .table-wrap table th:last-child {
  border-right: none;
}
#top_guidance .guidance_wrap > .table-wrap table td {
  text-align: center;
  vertical-align: middle;
  border-right: 1px solid #444;
  border-bottom: 1px solid #444;
}
#top_guidance .guidance_wrap > .table-wrap table td:first-child {
  display: flex;
  align-items: center;
}
#top_guidance .guidance_wrap > .table-wrap table td:first-child span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100px;
  height: 95px;
  background-color: #eff157;
}
#top_guidance .guidance_wrap > .table-wrap table td:first-child p {
  flex: 1;
  padding: 0 10px;
  white-space: nowrap;
}
#top_guidance .guidance_wrap > .table-wrap table td:last-child {
  border-right: none;
}
#top_guidance .guidance_wrap > .table-wrap table td img {
  width: 40px;
  height: 40px;
}
#top_guidance .guidance_wrap > .table-wrap table tr:last-child td {
  border-bottom: none;
}
#top_guidance .guidance_wrap > p.point1 {
  margin-top: 10px;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 1px;
}
#top_guidance .guidance_wrap > p.point1::before {
  display: inline-block;
  width: 25px;
  height: 25px;
  margin-right: 5px;
  vertical-align: middle;
  content: "";
  background-image: url(../../img/icon_circle_double.svg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
#top_guidance .guidance_wrap > p.point2::before {
  display: none;
}

@media screen and (min-width: 0) and (max-width: 1040px) {
  #guidance {
    display: block;
    height: 0;
  }
  #top_guidance .guidance_title {
    height: 107px;
  }
  #top_guidance .guidance_wrap {
    padding: 0 20px;
    margin: 70px auto 55px;
  }
}
@media screen and (min-width: 0) and (max-width: 767px) {
  #top_guidance .guidance_wrap > dl {
    flex-direction: column;
  }
  #top_guidance .guidance_wrap > .table-wrap table {
    font-size: 15px;
  }
  #top_guidance .guidance_wrap > .table-wrap table th:first-child {
    width: 22%;
  }
  #top_guidance .guidance_wrap > .table-wrap table td:first-child {
    flex-direction: column;
  }
  #top_guidance .guidance_wrap > .table-wrap table td:first-child span {
    width: 100%;
    height: auto;
    padding: 5px;
  }
  #top_guidance .guidance_wrap > .table-wrap table td:first-child p {
    padding: 10px;
  }
  #top_guidance .guidance_wrap > .table-wrap table td img {
    width: 30px;
    height: 30px;
  }
}
@media screen and (min-width: 0) and (max-width: 575px) {
  #top_guidance .guidance_image,
  #top_guidance .guidance_bg {
    height: 400px;
  }
  #top_guidance .guidance_bg > div {
    height: 75vh;
  }
  #top_guidance {
    /*
    .guidance_title > h3 {
        font-size: 20px;
        line-height: 1;
        letter-spacing: 1px;

        &::before,
        &::after {
            width: 18px;
            height: 16px;
        }

        &::before {
            margin-right: 10px;
        }

        &::after {
            margin-left: 10px;
        }
    }*/
  }
  #top_guidance .guidance_wrap > .table-wrap table {
    font-size: 12px;
    line-height: 1;
    letter-spacing: 0;
  }
  #top_guidance .guidance_wrap > .table-wrap table td:first-child span,
  #top_guidance .guidance_wrap > .table-wrap table td:first-child p {
    padding: 5px;
  }
  #top_guidance .guidance_wrap > .table-wrap table td img {
    width: 20px;
    height: 20px;
  }
}
/* top_access */
#top_access .access_wrap {
  display: flex;
  width: 1000px;
  max-width: 100%;
  padding-top: 110px;
  padding-bottom: 55px;
  margin: 0 auto;
}
#top_access .access_address {
  width: 415px;
  max-width: 100%;
}
#top_access {
  /*
  .access_address > h3 {
      font-size: 24px;
      line-height: 2;
      letter-spacing: 10px;
      font-weight: 500;
  }
  .access_address > h3::before {
      display: block;
      content: '';
      background-image: url(../../img/icon_vertical_y.svg);
      background-size: contain;
      background-repeat: no-repeat;
      background-position: center center;
      width: 24px;
      height: 21px;
      margin-bottom: 10px;
  }*/
}
#top_access .access_address > p.address {
  font-size: 15px;
  line-height: 1.8;
  letter-spacing: 1px;
  font-weight: 500;
  margin-top: 15px;
}
#top_access .access_address > p.text {
  font-size: 15px;
  line-height: 1.8;
  letter-spacing: 1px;
  font-weight: 500;
  padding-left: 1em;
  text-indent: -1em;
  margin-top: 25px;
}
#top_access .access_address > p.text::before {
  content: "●";
  color: #76ce65;
}
#top_access .access_googlemap {
  background-color: #eeeeee;
  border-radius: 20px;
  width: 585px;
  max-width: 100%;
  height: 440px;
  overflow: hidden;
}
#top_access .access_googlemap > iframe {
  width: 100%;
  height: 100%;
  filter: grayscale(50%);
  -webkit-filter: grayscale(50%);
}

@media screen and (min-width: 0px) and (max-width: 1040px) {
  #top_access .access_wrap {
    flex-direction: column;
    padding-top: 90px;
    margin: 0 auto;
  }
  #top_access .access_address {
    width: 500px;
    padding: 0 20px;
    margin: 0 auto;
  }
  #top_access .access_googlemap {
    border-radius: 0;
    width: 100%;
    margin: 100px auto 0 auto;
  }
}
@media screen and (min-width: 0px) and (max-width: 575px) {
  #top_access {
    /*
    .access_address > h3 {
        font-size: 20px;
        line-height: 1;
        letter-spacing: 1px;
    }
    .access_address > h3::before {
        width: 18px;
        height: 16px;
    }*/
  }
  #top_access .access_googlemap {
    width: 100%;
    height: 100vw;
    margin: 50px auto 0 auto;
  }
}
/* medical_linear */
.medical_linear {
  background-repeat: repeat-x;
  background-position: 0 0;
  width: 100%;
  animation: medical-scroll 20s linear infinite;
}
@media screen and (min-width: 576px) {
  .medical_linear {
    height: 510px;
    margin-top: 95px;
    margin-bottom: -50px;
    background-size: 1763px 510px;
  }
}
@media screen and (min-width: 0px) and (max-width: 575px) {
  .medical_linear {
    height: 360px;
    background-size: 1244px 360px;
  }
}

@keyframes medical-scroll {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: -1763px 0;
  }
}
/* policy */
#policy {
  padding: 150px 20px 50px 20px;
}

/* title_wrap */
#policy .title_wrap {
  width: 1000px;
  max-width: 100%;
  margin: 0px auto 0 auto;
}
#policy .title_wrap > h2 {
  font-size: 24px;
  line-height: 2;
  letter-spacing: 10px;
  font-weight: 500;
  text-align: center;
}
#policy .title_wrap > h2::before {
  display: inline-block;
  content: "";
  background-image: url(../../img/icon_horizontal_y.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  width: 24px;
  height: 21px;
  margin-right: 30px;
}
#policy .title_wrap > h2::after {
  display: inline-block;
  content: "";
  background-image: url(../../img/icon_horizontal_y.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  width: 24px;
  height: 21px;
  margin-left: 20px;
}

/* body_wrap */
#policy .body_wrap {
  position: relative;
  border: 1px solid #76ce65;
  border-radius: 30px;
  width: 1000px;
  max-width: 100%;
  padding: 100px;
  margin: 85px auto 0 auto;
}
#policy .body_wrap::before {
  position: absolute;
  top: -20px;
  right: 100px;
  content: "WEBSITE POLICY";
  font-size: 13px;
  line-height: 2.2;
  letter-spacing: 1px;
  font-weight: 500;
  color: #76ce65;
  background-color: #ffffff;
  padding: 5px 15px;
}
#policy .body_wrap > p {
  font-size: 13px;
  line-height: 2.2;
  letter-spacing: 0px;
  font-weight: 500;
}
#policy .body_wrap > h5 {
  font-size: 13px;
  line-height: 2.2;
  letter-spacing: 0px;
  font-weight: 500;
  margin-top: 30px;
}
#policy .body_wrap > h5::before {
  content: "■";
  color: #76ce65;
}
#policy .body_wrap > h6 {
  font-size: 13px;
  line-height: 2.2;
  letter-spacing: 0px;
  font-weight: 500;
  color: #76ce65;
  margin-top: 30px;
}

@media screen and (min-width: 0px) and (max-width: 1040px) {
  #policy {
    padding: 50px 20px 0 20px;
  }
  #policy .body_wrap {
    padding: 50px;
    margin: 50px auto 0 auto;
  }
  #policy .body_wrap::before {
    right: 50px;
  }
}
@media screen and (min-width: 0px) and (max-width: 575px) {
  #policy .title_wrap > h2 {
    font-size: 20px;
    line-height: 1;
    letter-spacing: 1px;
  }
  #policy .title_wrap > h2::before {
    width: 18px;
    height: 16px;
    margin-right: 10px;
  }
  #policy .title_wrap > h2::after {
    width: 18px;
    height: 16px;
    margin-left: 10px;
  }
  #policy .body_wrap {
    border: none;
    border-radius: 0px;
    padding: 0;
    margin: 50px auto 0 auto;
  }
  #policy .body_wrap::before {
    display: none;
  }
}
/* contact */
#contact {
  padding: 150px 20px 50px 20px;
}

/* title_wrap */
#contact .title_wrap {
  width: 1000px;
  max-width: 100%;
  margin: 0px auto 0 auto;
}
#contact .title_wrap > h2 {
  font-size: 24px;
  line-height: 2;
  letter-spacing: 10px;
  font-weight: 500;
  text-align: center;
}
#contact .title_wrap > h2::before {
  display: inline-block;
  content: "";
  background-image: url(../../img/icon_horizontal_y.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center bottom;
  width: 24px;
  height: 21px;
  margin-right: 30px;
}
#contact .title_wrap > h2::after {
  display: inline-block;
  content: "";
  background-image: url(../../img/icon_horizontal_y.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  width: 24px;
  height: 21px;
  margin-left: 20px;
}

/* body_wrap */
#contact .body_wrap {
  position: relative;
  border: 1px solid #76ce65;
  border-radius: 30px;
  width: 1000px;
  max-width: 100%;
  padding: 75px 100px 115px 100px;
  margin: 85px auto 0 auto;
}
#contact .body_wrap::before {
  position: absolute;
  bottom: -20px;
  left: 100px;
  content: "RESERVATION & INQUIRY";
  font-size: 13px;
  line-height: 2.2;
  letter-spacing: 1px;
  font-weight: 500;
  color: #76ce65;
  background-color: #ffffff;
  padding: 5px 15px;
}
#contact .body_wrap > p.text {
  position: relative;
  font-size: 16px;
  line-height: 2.5;
  letter-spacing: 3px;
  font-weight: 500;
  padding: 0 220px 0 0;
  margin-bottom: 75px;
}
#contact .body_wrap > p.text::after {
  position: absolute;
  bottom: 0px;
  right: -10px;
  display: block;
  content: "";
  background-color: #ffffff;
  background-image: url(../../img/contact_ph2.svg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  width: 194px;
  height: 310px;
}
#contact .body_wrap > a {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  line-height: 1.5;
  letter-spacing: 2px;
  font-weight: 500;
  text-align: center;
  text-decoration: none;
  color: #76ce65;
  background-color: #ffffff;
  border: 1px dashed #b5b5b5;
  border-radius: 15px;
  width: 100%;
  min-height: 105px;
  overflow: hidden;
  padding: 15px;
  margin-top: 35px;
}
#contact .body_wrap > a:hover {
  background-color: #f5f5f5;
}
#contact .body_wrap > a span {
  font-size: 42px;
  line-height: 1;
  letter-spacing: 5px;
  margin-left: 25px;
}
#contact .body_wrap > a[href*="tel:"] {
  pointer-events: none;
}

@media screen and (min-width: 0px) and (max-width: 1040px) {
  #contact {
    padding: 50px 20px 0 20px;
  }
  #contact .body_wrap {
    padding: 50px;
    margin: 50px auto 0 auto;
  }
  #contact .body_wrap::before {
    left: 50px;
  }
  #contact .body_wrap > p.text {
    margin-bottom: 50px;
  }
  #contact .body_wrap > p.text br {
    display: none;
  }
  #contact .body_wrap > a {
    flex-direction: column;
  }
  #contact .body_wrap > a span {
    margin-left: 0;
  }
  #contact .body_wrap > a[href*="tel:"] {
    pointer-events: auto;
  }
}
@media screen and (min-width: 0px) and (max-width: 767px) {
  #contact .body_wrap > p.text {
    padding: 0 0 330px 0;
  }
  #contact .body_wrap > p.text::after {
    position: absolute;
    bottom: 0px;
    left: 0;
    right: 0;
    margin: 0 auto;
  }
}
@media screen and (min-width: 0px) and (max-width: 575px) {
  #contact .title_wrap > h2 {
    font-size: 20px;
    line-height: 1;
    letter-spacing: 1px;
  }
  #contact .title_wrap > h2::before {
    width: 18px;
    height: 16px;
    margin-right: 10px;
  }
  #contact .title_wrap > h2::after {
    width: 18px;
    height: 16px;
    margin-left: 10px;
  }
  #contact .body_wrap {
    border: none;
    border-radius: 0px;
    padding: 0;
    margin: 50px auto 0 auto;
  }
  #contact .body_wrap::before {
    display: none;
  }
  #contact .body_wrap > a {
    font-size: 4vw;
    letter-spacing: 2px;
  }
  #contact .body_wrap > a span {
    font-size: 10vw;
    letter-spacing: 3px;
  }
}
/* concept */
body.page-template-concept {
  background-image: url(../../img/concept_bg2.jpg);
  background-size: auto;
  background-repeat: no-repeat;
  background-position: center top 95px;
}

#concept {
  padding: 150px 20px 50px 20px;
}

/* title_wrap */
#concept .title_wrap {
  width: 1000px;
  max-width: 100%;
  margin: 0px auto 0 auto;
}
#concept .title_wrap:not(:first-child) {
  margin: 200px auto 0 auto;
}
#concept .title_wrap > h2 {
  font-size: 24px;
  line-height: 2;
  letter-spacing: 10px;
  font-weight: 500;
  text-align: center;
}
#concept .title_wrap > h2::before {
  display: inline-block;
  content: "";
  background-image: url(../../img/icon_horizontal_y.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center bottom;
  width: 24px;
  height: 21px;
  margin-right: 30px;
}
#concept .title_wrap > h2::after {
  display: inline-block;
  content: "";
  background-image: url(../../img/icon_horizontal_y.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  width: 24px;
  height: 21px;
  margin-left: 20px;
}

/* body_wrap */
#concept .body_wrap {
  width: 800px;
  max-width: 100%;
  margin: 75px auto 0 auto;
}
#concept .body_wrap p {
  font-size: 15px;
  line-height: 2;
  letter-spacing: 1px;
  font-weight: 500;
  text-indent: 1em;
}
#concept .body_wrap p:not(:first-child) {
  margin-top: 30px;
}
#concept .body_wrap > .flex {
  display: flex;
  margin-top: 30px;
}
#concept .body_wrap > .flex .inner {
  flex: 1;
}
#concept .body_wrap > .flex .img1 {
  border-radius: 20px;
  background-color: #eeeeee;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  width: 242px;
  max-width: 100%;
  height: 290px;
  overflow: hidden;
  margin: 0 0 0 30px;
}

/* table-wrap */
#concept .table-wrap {
  width: 800px;
  max-width: 100%;
  margin: 75px auto 0 auto;
}
#concept .table-wrap > table {
  border-collapse: separate;
  border: 1px solid #444444;
  border-radius: 10px;
  width: 100%;
  overflow: hidden;
}
#concept .table-wrap > table th {
  font-size: 15px;
  line-height: 2;
  letter-spacing: 1px;
  font-weight: 500;
  text-align: left;
  color: #444444;
  border-bottom: 1px solid #444444;
  width: 110px;
  padding: 15px 0 15px 40px;
}
#concept .table-wrap > table td {
  font-size: 15px;
  line-height: 2;
  letter-spacing: 1px;
  font-weight: 500;
  text-align: left;
  color: #444444;
  border-bottom: 1px solid #444444;
  padding: 15px 40px 15px 0;
}
#concept .table-wrap > table tr:last-child th,
#concept .table-wrap > table tr:last-child td {
  border-bottom: none;
}

@media screen and (min-width: 0px) and (max-width: 1040px) {
  #concept {
    padding: 50px 20px 0 20px;
  }
  #concept .title_wrap:not(:first-child) {
    margin: 100px auto 0 auto;
  }
  #concept .body_wrap,
  #concept .table-wrap {
    margin: 50px auto 0 auto;
  }
}
@media screen and (min-width: 0px) and (max-width: 767px) {
  body.page-template-concept {
    background-size: 2000px;
  }
  #concept .body_wrap > .flex {
    flex-direction: column;
    margin-top: 30px;
  }
  #concept .body_wrap > .flex .inner {
    flex: 1;
  }
  #concept .body_wrap > .flex .img1 {
    margin: 40px auto 0 auto;
  }
  #concept .table-wrap > table th {
    width: auto;
    padding: 15px 20px;
    white-space: nowrap;
  }
  #concept .table-wrap > table td {
    padding: 15px 20px 15px 0;
  }
}
@media screen and (min-width: 0px) and (max-width: 575px) {
  body.page-template-concept {
    background-size: 1500px;
  }
  #concept .title_wrap > h2 {
    font-size: 20px;
    line-height: 1;
    letter-spacing: 1px;
  }
  #concept .title_wrap > h2::before {
    width: 18px;
    height: 16px;
    margin-right: 10px;
  }
  #concept .title_wrap > h2::after {
    width: 18px;
    height: 16px;
    margin-left: 10px;
  }
}
/* news */
#news {
  padding: 150px 20px 50px 20px;
}

/* title_wrap */
#news .title_wrap {
  width: 1000px;
  max-width: 100%;
  margin: 0px auto 0 auto;
}
#news .title_wrap:not(:first-child) {
  margin: 200px auto 0 auto;
}
#news .title_wrap > h2 {
  font-size: 24px;
  line-height: 2;
  letter-spacing: 10px;
  font-weight: 500;
  text-align: center;
}
#news .title_wrap > h2::before {
  display: inline-block;
  content: "";
  background-image: url(../../img/icon_horizontal_y.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center bottom;
  width: 24px;
  height: 21px;
  margin-right: 30px;
}
#news .title_wrap > h2::after {
  display: inline-block;
  content: "";
  background-image: url(../../img/icon_horizontal_y.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  width: 24px;
  height: 21px;
  margin-left: 20px;
}

/* list_wrap */
#news .list_wrap {
  width: 800px;
  max-width: 100%;
  margin: 75px auto 0 auto;
}
#news .list_wrap > div {
  border-bottom: 1px dashed #b5b5b5;
  margin: 40px 0 0 0;
}
#news .list_wrap > div a {
  display: flex;
  text-decoration: none;
  padding: 10px 0;
}
#news .list_wrap > div time {
  font-size: 13px;
  line-height: 1;
  letter-spacing: 1px;
  font-weight: bold;
  color: #76ce65;
  width: 125px;
  padding-top: 6px;
}
#news .list_wrap > div p {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 13px;
  line-height: 2;
  letter-spacing: 1px;
  font-weight: normal;
  color: #444444;
  flex: 1;
}
#news .list_wrap > div p span {
  flex: 1;
}
#news .list_wrap > div i {
  display: flex;
  align-items: center;
  justify-self: center;
  font-size: 13px;
  line-height: 2;
  letter-spacing: 1px;
  font-weight: normal;
  font-style: normal;
  color: #76ce65;
  margin-left: 10px;
}
#news .list_wrap > div i::after {
  display: block;
  content: "";
  background-image: url(../../img/icon_arrow_g_right_off.svg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  width: 13px;
  height: 15px;
  margin: 0 0 0 10px;
  transition: all 0.4s ease;
}
#news .list_wrap > div:hover i::after {
  background-image: url(../../img/icon_arrow_g_right_on.svg);
}

@media screen and (min-width: 0px) and (max-width: 1040px) {
  #news {
    padding: 50px 20px 0 20px;
  }
  #news .list_wrap {
    margin: 40px auto 0 auto;
  }
}
@media screen and (min-width: 0px) and (max-width: 767px) {
  #news .list_wrap > div a {
    flex-direction: column;
  }
  #news .list_wrap > div p {
    margin-top: 10px;
  }
  #news .list_wrap > div i {
    margin: 0 0 0 auto;
  }
}
/* enrty_wrap */
#news .enrty_wrap {
  position: relative;
  border: 1px solid #76ce65;
  border-radius: 30px;
  width: 1000px;
  max-width: 100%;
  padding: 75px 100px 100px 100px;
  margin: 85px auto 0 auto;
}
#news .enrty_wrap::before {
  position: absolute;
  top: -20px;
  right: 100px;
  content: "KATABAMI NAIKA";
  font-size: 13px;
  line-height: 2.2;
  letter-spacing: 1px;
  font-weight: 500;
  color: #76ce65;
  background-color: #ffffff;
  padding: 5px 15px;
}
#news .enrty_wrap::after {
  position: absolute;
  bottom: -20px;
  left: 100px;
  content: "NEWS";
  font-size: 13px;
  line-height: 2.2;
  letter-spacing: 1px;
  font-weight: 500;
  color: #76ce65;
  background-color: #ffffff;
  padding: 5px 15px;
}
#news .enrty_wrap .enrty_title {
  text-align: center;
  border-bottom: 1px dashed #b5b5b5;
  padding: 0 0 70px 0;
  margin-bottom: 50px;
}
#news .enrty_wrap .enrty_title > .time {
  font-size: 15px;
  line-height: 1;
  letter-spacing: 1px;
  font-weight: bold;
  color: #76ce65;
}
#news .enrty_wrap .enrty_title > .title {
  font-size: 18px;
  line-height: 1.5;
  letter-spacing: 3px;
  font-weight: 500;
  color: #444444;
  margin-top: 20px;
}

@media screen and (min-width: 0px) and (max-width: 1040px) {
  #news .enrty_wrap {
    padding: 50px;
    margin: 50px auto 0 auto;
  }
  #news .enrty_wrap::before {
    right: 50px;
  }
  #news .enrty_wrap::after {
    left: 50px;
  }
  #news .enrty_wrap .enrty_title {
    padding: 0 0 50px 0;
  }
}
@media screen and (min-width: 0px) and (max-width: 575px) {
  #news .enrty_wrap {
    border: none;
    border-top: 1px solid #76ce65;
    border-bottom: 1px solid #76ce65;
    border-radius: 0px;
    padding: 50px 0;
    margin: 50px auto 0 auto;
  }
  #news .enrty_wrap::before {
    right: 20px;
  }
  #news .enrty_wrap::after {
    left: 20px;
  }
}
/* enrty_post */
.enrty_post {
  font-size: 13px;
  line-height: 3;
  letter-spacing: 0px;
  font-weight: normal;
  color: #333333;
}
.enrty_post::after {
  display: block;
  content: "";
  clear: both;
}
.enrty_post h1,
.enrty_post h2,
.enrty_post h3,
.enrty_post h4,
.enrty_post h5,
.enrty_post h6 {
  font-size: 20px;
  line-height: 1.5;
  letter-spacing: 1px;
  font-weight: normal;
  color: #ffffff;
  background-color: #76ce65;
  padding: 15px 20px 15px 20px;
  margin: 50px 0 25px 0;
}
.enrty_post p {
  font-size: 13px;
  line-height: 3;
  letter-spacing: 0px;
  font-weight: normal;
  margin: 0;
}
.enrty_post strong {
  font-weight: bold;
}
.enrty_post > blockquote {
  font-size: 13px;
  line-height: 3;
  letter-spacing: 0px;
  font-weight: normal;
  background-color: #eeeeee;
  padding: 5%;
  margin: 20px 0;
}
.enrty_post > ul,
.enrty_post > ol {
  margin: 20px 0 20px 20px;
}
.enrty_post > ul li,
.enrty_post > ol li {
  font-size: 13px;
  line-height: 3;
  letter-spacing: 0px;
  font-weight: normal;
  margin: 10px 0;
}
.enrty_post img {
  max-width: 100%;
  height: auto;
}
.enrty_post img.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.enrty_post img.alignright {
  float: right;
  margin-left: 1em;
}
.enrty_post img.alignleft {
  float: left;
  margin-right: 1em;
}
.enrty_post > .youtube {
  position: relative;
  background-color: #eeeeee;
  width: 100%;
  padding-top: 56.25%;
  margin: 20px 0;
}
.enrty_post > .youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

/* nav_list */
.nav_list {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 210px;
  margin: 50px auto 0 auto;
}
.nav_list .nav_center {
  font-size: 13px;
  line-height: 1;
  letter-spacing: 1px;
  font-weight: bold;
  text-align: center;
  color: #76ce65;
  width: 150px;
}
.nav_list .nav_left,
.nav_list .nav_right {
  width: 30px;
}
.nav_list .nav_left > a::before {
  display: block;
  content: "";
  background-image: url(../../img/icon_arrow_g_left_off.svg);
  background-size: 13px 15px;
  background-repeat: no-repeat;
  background-position: center center;
  width: 30px;
  height: 30px;
  transition: all 0.4s ease;
}
.nav_list .nav_right > a::before {
  display: block;
  content: "";
  background-image: url(../../img/icon_arrow_g_right_off.svg);
  background-size: 13px 15px;
  background-repeat: no-repeat;
  background-position: center center;
  width: 30px;
  height: 30px;
  transition: all 0.4s ease;
}
.nav_list .nav_left > a:hover:before {
  background-image: url(../../img/icon_arrow_g_left_on.svg);
}
.nav_list .nav_right > a:hover:before {
  background-image: url(../../img/icon_arrow_g_right_on.svg);
}

/* nav_list_single */
.nav_list_single {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 260px;
  margin: 50px auto 0 auto;
  background: radial-gradient(ellipse at center, rgb(181, 181, 181) 0%, rgb(181, 181, 181) 50%, rgb(255, 255, 255) 50%, rgb(255, 255, 255) 100%) center 0 repeat-y;
  background-size: 1px 5px;
}
.nav_list_single > .nav_left {
  width: 130px;
}
.nav_list_single > .nav_right {
  width: 130px;
}
.nav_list_single > .nav_left a {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  font-size: 15px;
  line-height: 1;
  letter-spacing: 1px;
  font-weight: 500;
  text-align: center;
  text-decoration: none;
  color: #76ce65;
}
.nav_list_single > .nav_right a {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  font-size: 15px;
  line-height: 1;
  letter-spacing: 1px;
  font-weight: 500;
  text-align: center;
  text-decoration: none;
  color: #76ce65;
}
.nav_list_single .nav_left a::before {
  display: block;
  content: "";
  background-image: url(../../img/icon_arrow_g_left_off.svg);
  background-size: 13px 15px;
  background-repeat: no-repeat;
  background-position: center center;
  width: 30px;
  height: 30px;
  transition: all 0.4s ease;
}
.nav_list_single .nav_right a::after {
  display: block;
  content: "";
  background-image: url(../../img/icon_arrow_g_right_off.svg);
  background-size: 13px 15px;
  background-repeat: no-repeat;
  background-position: center center;
  width: 30px;
  height: 30px;
  transition: all 0.4s ease;
}
.nav_list_single .nav_left a span {
  flex: 1;
  text-align: left;
  margin-left: 5px;
}
.nav_list_single .nav_right a span {
  flex: 1;
  text-align: right;
  margin-right: 5px;
}
.nav_list_single .nav_left a:hover:before {
  background-image: url(../../img/icon_arrow_g_left_on.svg);
}
.nav_list_single .nav_right a:hover::after {
  background-image: url(../../img/icon_arrow_g_right_on.svg);
}

/* notfound */
#notfound {
  padding: 150px 20px 50px 20px;
}

/* title_wrap */
#notfound .title_wrap {
  width: 1000px;
  max-width: 100%;
  margin: 0px auto 0 auto;
}
#notfound .title_wrap > h2 {
  font-size: 24px;
  line-height: 2;
  letter-spacing: 5px;
  font-weight: 500;
  text-align: center;
}
#notfound .title_wrap > h2::before {
  display: inline-block;
  content: "";
  background-image: url(../../img/icon_horizontal_y.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  width: 24px;
  height: 21px;
  margin-right: 30px;
}
#notfound .title_wrap > h2::after {
  display: inline-block;
  content: "";
  background-image: url(../../img/icon_horizontal_y.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  width: 24px;
  height: 21px;
  margin-left: 20px;
}

/* body_wrap */
#notfound .body_wrap {
  position: relative;
  border: 1px solid #76ce65;
  border-radius: 30px;
  width: 1000px;
  max-width: 100%;
  padding: 100px;
  margin: 85px auto 0 auto;
}
#notfound .body_wrap::before {
  position: absolute;
  top: -20px;
  right: 100px;
  content: "404 NOT FOUND";
  font-size: 13px;
  line-height: 2.2;
  letter-spacing: 1px;
  font-weight: 500;
  color: #76ce65;
  background-color: #ffffff;
  padding: 5px 15px;
}
#notfound .body_wrap > p {
  font-size: 13px;
  line-height: 2.2;
  letter-spacing: 0px;
  font-weight: 500;
  text-align: center;
}
#notfound .body_wrap > a.button {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  line-height: 2;
  letter-spacing: 5px;
  font-weight: 500;
  text-decoration: none;
  color: #ffffff;
  background-color: #76ce65;
  border-radius: 32px;
  width: 300px;
  max-width: 100%;
  height: 64px;
  margin: 50px auto 0 auto;
}
#notfound .body_wrap > a.button::before {
  position: absolute;
  top: 25px;
  right: 30px;
  content: "";
  background-image: url(../../img/icon_arrow_right_off.svg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  width: 13px;
  height: 15px;
  transition: all 0.4s ease;
}
#notfound .body_wrap > a.button:hover {
  opacity: 0.8;
}
#notfound .body_wrap > a.button:hover::before {
  background-image: url(../../img/icon_arrow_right_on.svg);
}

@media screen and (min-width: 0px) and (max-width: 1040px) {
  #notfound {
    padding: 50px 20px 0 20px;
  }
  #notfound .body_wrap {
    padding: 50px;
    margin: 50px auto 0 auto;
  }
  #notfound .body_wrap::before {
    right: 50px;
  }
}
@media screen and (min-width: 0px) and (max-width: 575px) {
  #notfound .title_wrap > h2 {
    font-size: 20px;
    line-height: 1;
    letter-spacing: 1px;
  }
  #notfound .title_wrap > h2::before {
    width: 18px;
    height: 16px;
    margin-right: 10px;
  }
  #notfound .title_wrap > h2::after {
    width: 18px;
    height: 16px;
    margin-left: 10px;
  }
  #notfound .body_wrap {
    border: none;
    border-radius: 0px;
    padding: 0;
    margin: 50px auto 0 auto;
  }
  #notfound .body_wrap::before {
    display: none;
  }
  #notfound .body_wrap > p {
    text-align: left;
  }
}
/* visit */
body.page-template-visit,
body.page-template-addition {
  background-image: url(../../img/concept_bg2.jpg);
  background-size: auto;
  background-repeat: no-repeat;
  background-position: center top 95px;
}

#visit {
  padding: 150px 20px 50px 20px;
}

/* title_wrap */
#visit .title_wrap {
  width: 1000px;
  max-width: 100%;
  margin: 0px auto 0 auto;
}
#visit .title_wrap > h2 {
  font-size: 24px;
  line-height: 2;
  letter-spacing: 10px;
  font-weight: 500;
  text-align: center;
}
#visit .title_wrap > h2::before {
  display: inline-block;
  content: "";
  background-image: url(../../img/icon_horizontal_y.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center bottom;
  width: 24px;
  height: 21px;
  margin-right: 50px;
}
#visit .title_wrap > h2::after {
  display: inline-block;
  content: "";
  background-image: url(../../img/icon_horizontal_y.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  width: 24px;
  height: 21px;
  margin-left: 40px;
}

/* body_wrap */
#visit .body_wrap {
  width: 800px;
  max-width: 100%;
  margin: 75px auto 0 auto;
}
#visit .body_wrap > h3 {
  font-size: 20px;
  line-height: 1.7;
  letter-spacing: 0.5px;
  font-weight: 500;
}
#visit .body_wrap > p {
  font-size: 15px;
  line-height: 2;
  letter-spacing: 1px;
  font-weight: 500;
  text-indent: -1em;
  padding-left: 1em;
  margin-top: 30px;
}
#visit .body_wrap > p::before {
  content: "●";
  color: #76ce65;
}
#visit .body_wrap > p:first-of-type {
  margin-top: 60px;
}
#visit .body_wrap .tell {
  background-color: #ffffff;
  border: 1px dashed #b5b5b5;
  border-radius: 15px;
  padding: 40px 70px;
  margin-top: 80px;
}
#visit .body_wrap .tell > h4 {
  font-size: 20px;
  line-height: 1.7;
  letter-spacing: 2px;
  font-weight: 500;
  text-align: center;
  color: #ffffff;
  background-color: #76ce65;
  border-radius: 5px;
  padding: 5px;
}
#visit .body_wrap .tell > ul {
  list-style-type: none;
  display: flex;
  justify-content: space-between;
}
#visit .body_wrap .tell > ul h5 {
  font-size: 15px;
  line-height: 2;
  letter-spacing: 2px;
  font-weight: 500;
  color: #76ce65;
}
#visit .body_wrap .tell > ul li {
  margin-top: 10px;
}
#visit .body_wrap .tell > ul a {
  font-size: 36px;
  line-height: 1;
  letter-spacing: 5px;
  text-decoration: none;
  color: #76ce65;
}
#visit .body_wrap .tell > ul a[href*="tel:"] {
  pointer-events: none;
}
#visit .body_wrap .tell > ul p {
  font-size: 14px;
  line-height: 2;
  letter-spacing: 0px;
  font-weight: 500;
}
#visit .body_wrap .tell > p.addition_text {
  font-size: 15px;
  line-height: 2;
  letter-spacing: 1px;
  font-weight: 500;
  text-align: center;
}

@media screen and (min-width: 0px) and (max-width: 1040px) {
  #visit {
    padding: 50px 20px 0 20px;
  }
  #visit .body_wrap {
    margin: 50px auto 0 auto;
  }
  #visit .body_wrap .tell > ul a[href*="tel:"] {
    pointer-events: auto;
  }
}
@media screen and (min-width: 0px) and (max-width: 840px) {
  #visit .body_wrap > h3 br {
    display: none;
  }
  #visit .body_wrap .tell > ul {
    display: block;
    text-align: center;
  }
  #visit .body_wrap .tell > p.addition_text {
    text-align: left;
  }
  #visit .body_wrap .tell > p.addition_text br {
    display: none;
  }
}
@media screen and (min-width: 0px) and (max-width: 767px) {
  body.page-template-visit,
  body.page-template-addition {
    background-size: 2000px;
  }
}
@media screen and (min-width: 0px) and (max-width: 575px) {
  body.page-template-visit,
  body.page-template-addition {
    background-size: 1500px;
  }
  #visit .title_wrap > h2 {
    font-size: 20px;
    line-height: 1;
    letter-spacing: 1px;
  }
  #visit .title_wrap > h2::before {
    width: 18px;
    height: 16px;
    margin-right: 10px;
  }
  #visit .title_wrap > h2::after {
    width: 18px;
    height: 16px;
    margin-left: 10px;
  }
  #visit .body_wrap > p:first-of-type {
    margin-top: 40px;
  }
  #visit .body_wrap .tell {
    padding: 20px 20px;
    margin-top: 50px;
  }
  #visit .body_wrap .tell > h4 {
    font-size: 18px;
    line-height: 1.5;
    letter-spacing: 1px;
  }
  #visit .body_wrap .tell > ul a {
    font-size: 7.5vw;
  }
}/*# sourceMappingURL=common.css.map */