@charset "UTF-8";
/* ブレイクポイント */
*, *::before, *::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box; }

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

ul, ol {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none; }

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

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0; }

img {
  border: none;
  vertical-align: bottom;
  max-width: 100%;
  height: auto; }

input, select, textarea {
  vertical-align: middle;
  font-family: inherit;
  font-size: inherit; }

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

a:focus {
  outline: none; }

html {
  font-size: 62.5%;
  /*scroll-behavior: smooth;*/ }

body {
  width: 100%;
  min-height: 100vh;
  position: relative;
  font-size: 1.8rem;
  line-height: 1.7;
  letter-spacing: 0.04em;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 400;
  color: #333333;
  background-color: #F7F6F2;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }
  @media (max-width: 767px) {
    body {
      font-size: 1.6rem; } }

a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
  /*transition: opacity 0.3s;*/
  transition: all 0.3s; }
  a.tel-link {
    pointer-events: none;
    text-decoration: none; }
    @media (max-width: 767px) {
      a.tel-link {
        pointer-events: auto; } }
  a:hover {
    text-decoration: none;
    /*opacity: 0.7;*/ }

.icon {
  height: auto;
  display: block;
  vertical-align: top;
  color: #333333;
  transition: color 0.3s ease; }
  .icon.insticon {
    width: 28px;
    color: #fff; }
  .icon.mailicon {
    width: 32px;
    color: #fff; }
  .icon.telicon {
    width: 24px; }

@keyframes slider-left {
  0% {
    transform: translateX(-20px); }
  100% {
    transform: translateX(0); } }
@keyframes slider-right {
  0% {
    transform: translateX(0); }
  100% {
    transform: translateX(-20px); } }
@keyframes zoomUp {
  0% {
    transform: scale(1); }
  100% {
    transform: scale(1.08);
    /* 拡大率 */ } }
@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
body #wrapper {
  width: 100%;
  min-height: 100vh;
  margin: 0 auto;
  position: relative;
  display: flex; }
  @media (max-width: 1279px) {
    body #wrapper {
      width: 100%;
      min-height: auto;
      display: block;
      position: relative;
      padding-top: 110px;
      /* ヘッダー60px+上余白 */ } }
  body #wrapper .pcheader {
    width: 350px;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    background-color: #fff; }
    @media (max-width: 1279px) {
      body #wrapper .pcheader {
        display: none; } }
    @media (max-width: 767px) {
      body #wrapper .pcheader {
        display: none; } }
    body #wrapper .pcheader__inner {
      width: 100%;
      min-height: 100vh;
      position: sticky;
      left: 0;
      bottom: 0;
      padding: 40px 30px; }
    body #wrapper .pcheader__logo {
      width: 196px;
      margin: 0 auto 40px; }
      body #wrapper .pcheader__logo a:hover {
        opacity: 0.7; }
    body #wrapper .pcheader__menu {
      width: 100%;
      border-top: solid 1px #E9E9E9; }
      body #wrapper .pcheader__menu-item {
        border-bottom: solid 1px #E9E9E9; }
        body #wrapper .pcheader__menu-item a {
          width: 100%;
          padding: 18px 0 18px 15px;
          display: block;
          text-decoration: none;
          position: relative; }
          body #wrapper .pcheader__menu-item a strong {
            font-size: 1.8rem;
            font-weight: 700;
            line-height: 1.0;
            display: block; }
          body #wrapper .pcheader__menu-item a span {
            font-size: 1.4rem;
            line-height: 1.0;
            display: block;
            padding-top: 10px; }
          body #wrapper .pcheader__menu-item a::before {
            width: 6px;
            height: calc(100% - 34px);
            content: "";
            display: block;
            background-color: #D8E46F;
            border-radius: 3px;
            position: absolute;
            top: 50%;
            left: 0;
            transform: translateY(-50%); }
          body #wrapper .pcheader__menu-item a::after {
            content: "";
            display: block;
            width: 12px;
            height: 18px;
            background-color: #296132;
            -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="-2 -2 14 20"><path d="M445.327,414.87l6,6-3,3-3,3" transform="translate(-445.327 -414.87)" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="3"/></svg>') no-repeat center/contain;
            mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="-2 -2 14 20"><path d="M445.327,414.87l6,6-3,3-3,3" transform="translate(-445.327 -414.87)" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="3"/></svg>') no-repeat center/contain;
            position: absolute;
            top: 50%;
            right: 24px;
            transform: translateY(-50%);
            transition: all 0.3s; }
          body #wrapper .pcheader__menu-item a:hover::after {
            right: 14px; }
    body #wrapper .pcheader__submenu {
      display: grid;
      grid-template-columns: 1fr 1fr; }
      body #wrapper .pcheader__submenu-item {
        border-right: solid 1px #E9E9E9;
        border-bottom: solid 1px #E9E9E9; }
        body #wrapper .pcheader__submenu-item a {
          width: 100%;
          padding: 25px 0 20px 15px;
          display: block;
          text-decoration: none;
          position: relative; }
          body #wrapper .pcheader__submenu-item a::after {
            content: "";
            display: block;
            width: 8px;
            height: 14px;
            background-color: #296132;
            -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="-2 -2 14 20"><path d="M445.327,414.87l6,6-3,3-3,3" transform="translate(-445.327 -414.87)" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="3"/></svg>') no-repeat center/contain;
            mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="-2 -2 14 20"><path d="M445.327,414.87l6,6-3,3-3,3" transform="translate(-445.327 -414.87)" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="3"/></svg>') no-repeat center/contain;
            position: absolute;
            top: 27px;
            right: 24px;
            transition: all 0.3s; }
          body #wrapper .pcheader__submenu-item a strong {
            font-size: 1.4rem;
            font-weight: 700;
            line-height: 1.0;
            display: block; }
          body #wrapper .pcheader__submenu-item a:hover::after {
            right: 14px; }
        body #wrapper .pcheader__submenu-item:nth-of-type(even) {
          border-right: none; }
        body #wrapper .pcheader__submenu-item:last-of-type a {
          pointer-events: none;
          color: #aaa; }
          body #wrapper .pcheader__submenu-item:last-of-type a::after {
            content: "";
            display: block;
            width: 8px;
            height: 14px;
            background-color: #aaaaaa;
            -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="-2 -2 14 20"><path d="M445.327,414.87l6,6-3,3-3,3" transform="translate(-445.327 -414.87)" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="3"/></svg>') no-repeat center/contain;
            mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="-2 -2 14 20"><path d="M445.327,414.87l6,6-3,3-3,3" transform="translate(-445.327 -414.87)" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="3"/></svg>') no-repeat center/contain; }
  body #wrapper .spheader {
    width: 100%;
    height: 70px;
    background-color: #fff;
    box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.3);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 201;
    text-align: center; }
    @media (max-width: 1279px) {
      body #wrapper .spheader {
        display: block; } }
    @media (min-width: 1280px) {
      body #wrapper .spheader {
        display: none; } }
    body #wrapper .spheader__inner {
      padding-top: 10px; }
      @media (max-width: 767px) {
        body #wrapper .spheader__inner {
          padding-left: 70px; } }
    body #wrapper .spheader__logo {
      width: 182px;
      margin: 0 auto; }
      body #wrapper .spheader__logo img {
        vertical-align: top; }
  body #wrapper .bt_menumodal {
    width: 70px;
    height: 70px;
    background: #D8E46F;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 205;
    display: none; }
    @media (max-width: 1279px) {
      body #wrapper .bt_menumodal {
        display: block; } }
    body #wrapper .bt_menumodal::after {
      width: 100%;
      height: 9px;
      display: block;
      content: "MENU";
      font-size: 1.1rem;
      font-weight: 700;
      line-height: 1.0;
      color: #296132;
      letter-spacing: 0.12em;
      text-align: center;
      position: absolute;
      left: 0;
      bottom: 17px;
      transition: all 0.3s; }
    body #wrapper .bt_menumodal a {
      width: 100%;
      height: 100%;
      display: block;
      position: relative;
      cursor: pointer; }
      body #wrapper .bt_menumodal a::before, body #wrapper .bt_menumodal a::after {
        width: 32px;
        height: 1px;
        display: block;
        content: "";
        background: #296132;
        position: absolute;
        left: 20px;
        transition: all 0.3s; }
      body #wrapper .bt_menumodal a::before {
        top: 17px; }
      body #wrapper .bt_menumodal a::after {
        top: 37px; }
      body #wrapper .bt_menumodal a span {
        width: 24px;
        height: 1px;
        display: block;
        background: #296132;
        position: absolute;
        top: 28px;
        right: 18px;
        margin-top: -1px;
        transition: all 0.3s; }
  body #wrapper .js-modal {
    width: 100%;
    height: 100vh;
    position: fixed;
    top: 0;
    overflow-y: scroll;
    z-index: 200;
    display: none; }
    body #wrapper .js-modal .modal__bg {
      width: 100%;
      min-height: 100vh;
      position: absolute;
      z-index: 201;
      background-color: #fff;
      /*background-color: rgba(0, 0, 0, 0.2);*/ }
    body #wrapper .js-modal .modal__content {
      width: 100%;
      max-width: 100%;
      padding: 100px 0 0;
      position: absolute;
      right: 0;
      top: 0;
      margin: 0;
      z-index: 202;
      background: #fff;
      overflow: hidden; }
      body #wrapper .js-modal .modal__content::after {
        width: 30px;
        height: 206px;
        display: block;
        content: "";
        background: url("../images/common/im_menu.png") no-repeat;
        background-size: contain;
        position: absolute;
        top: 92px;
        right: 48px; }
  body #wrapper .spmenu__title {
    font-size: 2.1rem;
    font-family: "Work Sans", sans-serif;
    font-weight: 300;
    color: #296132;
    line-height: 1.0;
    padding: 0 20px 20px; }
  body #wrapper .spnav__menu {
    width: 100%;
    border-top: solid 1px #E9E9E9; }
    body #wrapper .spnav__menu-item {
      border-bottom: solid 1px #E9E9E9; }
      body #wrapper .spnav__menu-item a {
        width: 100%;
        padding: 16px 0 16px 35px;
        display: block;
        text-decoration: none;
        position: relative; }
        body #wrapper .spnav__menu-item a strong {
          font-size: 1.6rem;
          font-weight: 700;
          line-height: 1.0;
          display: block; }
        body #wrapper .spnav__menu-item a span {
          font-size: 1.2rem;
          line-height: 1.0;
          display: block;
          padding-top: 8px; }
        body #wrapper .spnav__menu-item a::before {
          width: 6px;
          height: calc(100% - 32px);
          content: "";
          display: block;
          background-color: #D8E46F;
          border-radius: 3px;
          position: absolute;
          top: 50%;
          left: 20px;
          transform: translateY(-50%); }
        body #wrapper .spnav__menu-item a::after {
          content: "";
          display: block;
          width: 12px;
          height: 18px;
          background-color: #296132;
          -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="-2 -2 14 20"><path d="M445.327,414.87l6,6-3,3-3,3" transform="translate(-445.327 -414.87)" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="3"/></svg>') no-repeat center/contain;
          mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="-2 -2 14 20"><path d="M445.327,414.87l6,6-3,3-3,3" transform="translate(-445.327 -414.87)" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="3"/></svg>') no-repeat center/contain;
          position: absolute;
          top: 50%;
          right: 40px;
          transform: translateY(-50%);
          transition: all 0.3s; }
  body #wrapper .spnav__submenu {
    display: grid;
    grid-template-columns: 1fr 1fr;
    padding-bottom: 50px; }
    @media (max-width: 767px) {
      body #wrapper .spnav__submenu {
        padding-bottom: 200px; } }
    body #wrapper .spnav__submenu-item {
      border-right: solid 1px #E9E9E9;
      border-bottom: solid 1px #E9E9E9; }
      body #wrapper .spnav__submenu-item a {
        width: 100%;
        padding: 25px 0 20px 20px;
        display: block;
        text-decoration: none;
        position: relative; }
        body #wrapper .spnav__submenu-item a::after {
          content: "";
          display: block;
          width: 8px;
          height: 14px;
          background-color: #296132;
          -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="-2 -2 14 20"><path d="M445.327,414.87l6,6-3,3-3,3" transform="translate(-445.327 -414.87)" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="3"/></svg>') no-repeat center/contain;
          mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="-2 -2 14 20"><path d="M445.327,414.87l6,6-3,3-3,3" transform="translate(-445.327 -414.87)" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="3"/></svg>') no-repeat center/contain;
          position: absolute;
          top: 27px;
          right: 40px;
          transition: all 0.3s; }
        body #wrapper .spnav__submenu-item a strong {
          font-size: 1.4rem;
          font-weight: 700;
          line-height: 1.0;
          display: block; }
      body #wrapper .spnav__submenu-item:nth-of-type(even) {
        border-right: none; }
      body #wrapper .spnav__submenu-item:last-of-type a {
        pointer-events: none;
        color: #aaa; }
        body #wrapper .spnav__submenu-item:last-of-type a::after {
          content: "";
          display: block;
          width: 8px;
          height: 14px;
          background-color: #aaaaaa;
          -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="-2 -2 14 20"><path d="M445.327,414.87l6,6-3,3-3,3" transform="translate(-445.327 -414.87)" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="3"/></svg>') no-repeat center/contain;
          mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="-2 -2 14 20"><path d="M445.327,414.87l6,6-3,3-3,3" transform="translate(-445.327 -414.87)" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="3"/></svg>') no-repeat center/contain; }
  body #wrapper .main {
    flex: 1;
    width: calc(100% - 350px);
    overflow: hidden; }
    @media (max-width: 1279px) {
      body #wrapper .main {
        width: 100%;
        padding-left: 0; } }
    body #wrapper .main article {
      padding-left: 0px; }
      @media (max-width: 1279px) {
        body #wrapper .main article {
          padding-left: 0; } }
    body #wrapper .main .img {
      width: 100%;
      height: 200px;
      background: #ccc;
      border: solid 1px #FF0004;
      margin-bottom: 20px; }
  body #wrapper .footer {
    /*margin-top: 120px;*/
    padding-top: 120px;
    background-color: #F7F6F2; }
    @media (max-width: 767px) {
      body #wrapper .footer {
        padding-top: 60px;
        /*margin-top: 60px;*/ } }
    body #wrapper .footer__inner {
      width: calc(100% - 80px);
      /*max-width: 850px;*/
      padding: 46px 0;
      margin: 0 auto;
      position: relative;
      display: flex; }
      @media (max-width: 1279px) {
        body #wrapper .footer__inner {
          display: block;
          padding-bottom: 110px; } }
      @media (max-width: 767px) {
        body #wrapper .footer__inner {
          width: calc(100% - 60px);
          /*padding-bottom: 110px;*/ } }
      body #wrapper .footer__inner::after {
        width: 100%;
        height: 6px;
        display: block;
        content: "";
        border: solid 1px #D8E46F;
        border-radius: 3px;
        position: absolute;
        top: 0;
        left: 0; }
    body #wrapper .footer__logo {
      width: 170px;
      padding-top: 15px; }
      @media (max-width: 1279px) {
        body #wrapper .footer__logo {
          width: 140px;
          padding-top: 0;
          margin: 0 auto 30px; } }
      body #wrapper .footer__logo-img {
        width: 140px;
        mix-blend-mode: multiply; }
        @media (max-width: 1279px) {
          body #wrapper .footer__logo-img {
            width: 100%; } }
    body #wrapper .footer__address {
      position: relative; }
      @media (max-width: 1279px) {
        body #wrapper .footer__address {
          position: static;
          text-align: center; } }
      body #wrapper .footer__address-company ruby {
        font-size: 2.4rem;
        font-weight: 700;
        line-height: 1.0; }
        @media (max-width: 767px) {
          body #wrapper .footer__address-company ruby {
            font-size: 2.1rem; } }
      body #wrapper .footer__address-company rt {
        font-size: 0.8rem;
        font-weight: 700;
        letter-spacing: 0.3em;
        line-height: 1.0; }
      body #wrapper .footer__address-corptype {
        font-size: 2.1rem;
        font-weight: 700;
        line-height: 1.0; }
        @media (max-width: 767px) {
          body #wrapper .footer__address-corptype {
            font-size: 1.8rem; } }
      body #wrapper .footer__address-text {
        font-size: 1.6rem;
        font-style: normal;
        padding-top: 5px; }
        @media (max-width: 767px) {
          body #wrapper .footer__address-text span {
            display: block;
            font-size: 0; } }
      body #wrapper .footer__address-map {
        color: #296132;
        text-decoration: none; }
      body #wrapper .footer__address-copy {
        font-size: 1.0rem;
        position: absolute;
        left: 0;
        bottom: 0; }
        @media (max-width: 1279px) {
          body #wrapper .footer__address-copy {
            width: 100%;
            text-align: center;
            bottom: 40px; } }
        @media (max-width: 1279px) {
          body #wrapper .footer__address-copy {
            padding-bottom: 60px; } }
    body #wrapper .footer__sns {
      margin-left: auto;
      padding-top: 48px;
      padding-right: 40px; }
      @media (max-width: 1279px) {
        body #wrapper .footer__sns {
          margin-left: 0;
          margin-bottom: 40px;
          padding-top: 30px;
          padding-right: 0; } }
    body #wrapper .footer__inst {
      display: flex; }
      @media (max-width: 1279px) {
        body #wrapper .footer__inst {
          justify-content: center; } }
      body #wrapper .footer__inst-icon {
        width: 60px;
        height: 60px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        background-color: #296132;
        border: solid 2px #296132;
        margin: 0 auto;
        transition: all 0.3s; }
      body #wrapper .footer__inst-name {
        font-size: 1.4rem;
        font-weight: 700;
        line-height: 1.0;
        letter-spacing: 0;
        color: #296132; }
      body #wrapper .footer__inst-item {
        margin-left: 35px; }
        @media (max-width: 1279px) {
          body #wrapper .footer__inst-item {
            margin: 0 15px; } }
        body #wrapper .footer__inst-item a {
          width: 100%;
          display: block;
          text-decoration: none; }
          body #wrapper .footer__inst-item a:hover .footer__inst-icon {
            background: #fff;
            border: solid 2px #fff; }
            body #wrapper .footer__inst-item a:hover .footer__inst-icon .insticon {
              color: #296132; }
body .contactnav {
  width: 286px;
  height: 66px;
  display: flex;
  background-color: #fff;
  border-radius: 0 0 5px 5px;
  box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.16);
  position: fixed;
  top: 0;
  right: 30px;
  z-index: 100; }
  @media (max-width: 1279px) {
    body .contactnav {
      display: none; } }
  body .contactnav__tel {
    width: 220px;
    height: 66px;
    padding: 14px 0 0 14px; }
    body .contactnav__tel a {
      width: 100%;
      height: 66px;
      display: flex;
      vertical-align: top;
      text-decoration: none; }
    body .contactnav__tel-text {
      width: calc(100% + 24px);
      line-height: 1.0;
      letter-spacing: 0.02em;
      font-size: 1.4rem;
      font-weight: 700;
      padding-left: 10px; }
      body .contactnav__tel-text strong {
        font-size: 2.4rem;
        font-weight: 700;
        letter-spacing: 0;
        color: #EB6D8E;
        display: block;
        padding-top: 2px; }
    body .contactnav__tel-img {
      width: 24px; }
  body .contactnav__mail {
    width: 66px;
    height: 66px;
    border-radius: 0 0 5px 0; }
    body .contactnav__mail-img {
      display: flex;
      justify-content: center; }
    body .contactnav__mail-text {
      font-size: 1.4rem;
      font-weight: 700;
      line-height: 1.0;
      display: block;
      text-align: center;
      padding-top: 5px; }
    body .contactnav__mail a {
      width: 100%;
      height: 66px;
      display: block;
      color: #fff;
      text-align: center;
      text-decoration: none;
      padding-top: 12px;
      background-color: #296132;
      border: solid 2px #296132;
      border-radius: 0 0 5px 0; }
      body .contactnav__mail a:hover {
        background: #fff;
        border: solid 2px #fff; }
        body .contactnav__mail a:hover .contactnav__mail-img .mailicon {
          color: #296132; }
        body .contactnav__mail a:hover .contactnav__mail-text {
          color: #296132; }
body .spfooternav {
  width: 100%;
  height: 70px;
  background-color: #296132;
  position: fixed;
  left: 0;
  bottom: 0;
  display: none;
  z-index: 5; }
  @media (max-width: 1279px) {
    body .spfooternav {
      display: block; } }
  body .spfooternav__inner {
    width: 100%;
    height: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr; }
  body .spfooternav__item {
    border-left: solid 1px #fff;
    display: flex;
    justify-content: center;
    align-items: center; }
    body .spfooternav__item a {
      width: 100%;
      display: flex;
      justify-content: center;
      align-items: center;
      color: #fff;
      text-decoration: none; }
    body .spfooternav__item:first-of-type {
      border-left: none; }
    body .spfooternav__item-img {
      margin-right: 12px; }
    body .spfooternav__item-text {
      font-size: 1.6rem;
      font-weight: 700;
      line-height: 1.0;
      display: block;
      text-align: center; }
  body .spfooternav__mail-img .telicon {
    width: 30px; }
  body .spfooternav__tel-img .telicon {
    width: 18px;
    color: #fff; }
body.menu-open #wrapper .bt_menumodal::after {
  content: "CLOSE";
  letter-spacing: 0.08em; }
body.menu-open #wrapper .bt_menumodal a::before {
  top: 40%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg); }
body.menu-open #wrapper .bt_menumodal a::after {
  top: 40%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-45deg); }
body.menu-open #wrapper .bt_menumodal a span {
  display: none; }

body #wrapper .main .box .inner {
  padding: 0 80px; }
  @media (max-width: 767px) {
    body #wrapper .main .box .inner {
      padding: 0 30px; } }
body #wrapper .main .topicpass {
  margin-bottom: 120px;
  padding: 40px 0 0 80px; }
  @media (max-width: 1279px) {
    body #wrapper .main .topicpass {
      display: none; } }
  body #wrapper .main .topicpass__list {
    display: flex; }
    body #wrapper .main .topicpass__list-item {
      font-size: 1.4rem;
      line-height: 1.0;
      margin-right: 10px;
      padding-right: 17px;
      position: relative; }
      body #wrapper .main .topicpass__list-item::after {
        width: 10px;
        height: 100px;
        display: block;
        content: "＞";
        position: absolute;
        top: 0;
        right: 0; }
      body #wrapper .main .topicpass__list-item:last-of-type {
        margin-right: 0;
        padding-right: 0; }
        body #wrapper .main .topicpass__list-item:last-of-type::after {
          display: none; }
body #wrapper .main .mainpagetitle {
  width: 100%;
  height: 500px;
  position: relative; }
  @media (max-width: 767px) {
    body #wrapper .main .mainpagetitle {
      height: 0;
      padding-top: 53.76%; } }
  body #wrapper .main .mainpagetitle__inner {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1; }
  body #wrapper .main .mainpagetitle__img {
    width: calc(100% - 350px);
    height: 500px;
    position: fixed;
    top: 0;
    left: 350px;
    z-index: 0;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    animation: fadeIn 1.4s ease-in-out 0s 1 normal forwards; }
    @media (max-width: 1279px) {
      body #wrapper .main .mainpagetitle__img {
        width: 100%;
        top: 70px;
        left: 0; } }
    @media (max-width: 767px) {
      body #wrapper .main .mainpagetitle__img {
        height: 0;
        padding-top: 53.76%;
        background-size: contain; } }
  body #wrapper .main .mainpagetitle__title {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2; }
    body #wrapper .main .mainpagetitle__title h2 {
      color: #fff;
      text-align: center;
      font-size: 0;
      display: flex;
      flex-direction: column;
      align-items: stretch;
      width: fit-content;
      margin: 0 auto;
      padding: 0; }
      body #wrapper .main .mainpagetitle__title h2 span,
      body #wrapper .main .mainpagetitle__title h2 strong {
        font-weight: 700;
        line-height: 1.0;
        display: block;
        text-align: center; }
      body #wrapper .main .mainpagetitle__title h2 span {
        font-size: 1.8rem;
        letter-spacing: 0.08em;
        margin-bottom: 16px;
        padding-bottom: 16px;
        position: relative; }
        body #wrapper .main .mainpagetitle__title h2 span::after {
          width: 100%;
          height: 2px;
          content: '';
          position: absolute;
          bottom: 0;
          left: 0;
          background-color: #fff; }
        @media (max-width: 767px) {
          body #wrapper .main .mainpagetitle__title h2 span {
            font-size: 1.6rem;
            margin-bottom: 5px;
            padding-bottom: 10px; } }
      body #wrapper .main .mainpagetitle__title h2 strong {
        font-size: 4.8rem;
        letter-spacing: 0.04em; }
        @media (max-width: 767px) {
          body #wrapper .main .mainpagetitle__title h2 strong {
            font-size: 3.2rem; } }
body #wrapper .main .heading {
  margin-bottom: 120px; }
  @media (max-width: 767px) {
    body #wrapper .main .heading {
      margin-bottom: 60px; } }
  body #wrapper .main .heading .inner {
    padding: 0; }
  body #wrapper .main .heading__title {
    font-size: 3.2rem;
    font-weight: 400;
    color: #296132;
    line-height: 1.5;
    text-align: center;
    margin-bottom: 40px; }
    @media (max-width: 767px) {
      body #wrapper .main .heading__title {
        font-size: 2.0rem;
        margin-bottom: 25px;
        text-align: left;
        padding: 0 60px; } }
    @media screen and (min-width: 743px) and (max-width: 767px) {
      body #wrapper .main .heading__title {
        text-align: center; } }
    @media (max-width: 767px) {
      body #wrapper .main .heading__title br {
        display: none; } }
  body #wrapper .main .heading__text {
    max-width: 640px;
    margin: 0 auto; }
    @media (max-width: 767px) {
      body #wrapper .main .heading__text {
        width: 100%;
        padding: 0 60px; } }
body #wrapper .main .pageheading {
  margin-bottom: 80px; }
  @media (max-width: 767px) {
    body #wrapper .main .pageheading {
      margin-bottom: 40px; } }
  @media (max-width: 767px) {
    body #wrapper .main .pageheading .inner {
      padding: 0 60px; } }
  body #wrapper .main .pageheading__text {
    max-width: 640px;
    margin: 58px auto 0; }
    @media (max-width: 767px) {
      body #wrapper .main .pageheading__text {
        width: 100%;
        margin-top: 38px; } }
body #wrapper .main .contents {
  width: 100%;
  background-color: #F7F6F2;
  padding-top: 80px; }
  @media (max-width: 767px) {
    body #wrapper .main .contents {
      padding-top: 50px; } }
body #wrapper .main .contentheading {
  text-align: center;
  margin-bottom: 80px; }
  @media (max-width: 767px) {
    body #wrapper .main .contentheading {
      margin-bottom: 40px; } }
  body #wrapper .main .contentheading strong {
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.0;
    color: #296132;
    display: inline-block;
    padding-bottom: 10px;
    border-bottom: solid 2px #296132; }
    @media (max-width: 767px) {
      body #wrapper .main .contentheading strong {
        font-size: 1.8rem; } }
body #wrapper .main .contenttitle {
  text-align: center; }
  body #wrapper .main .contenttitle strong,
  body #wrapper .main .contenttitle span {
    display: block;
    line-height: 1.0; }
  body #wrapper .main .contenttitle strong {
    font-size: 4.0rem;
    font-weight: 300;
    color: #296132; }
    @media (max-width: 767px) {
      body #wrapper .main .contenttitle strong {
        font-size: 3.2rem; } }
  body #wrapper .main .contenttitle span {
    font-size: 2.1rem;
    font-family: "Work Sans", sans-serif;
    font-weight: 300;
    margin-top: 10px;
    color: #8E5C29; }
    @media (max-width: 767px) {
      body #wrapper .main .contenttitle span {
        font-size: 1.6rem; } }
body #wrapper .main .pagesubtitle {
  font-size: 2.1rem;
  font-weight: 700;
  line-height: 1.2;
  padding-left: 14px;
  position: relative; }
  @media (max-width: 767px) {
    body #wrapper .main .pagesubtitle {
      font-size: 1.8rem; } }
  body #wrapper .main .pagesubtitle::after {
    width: 6px;
    height: 100%;
    display: block;
    content: "";
    background: #D8E46F;
    border-radius: 3px;
    position: absolute;
    top: 0;
    left: 0; }
body #wrapper .main .buttonbox {
  width: 100%;
  display: flex;
  justify-content: center;
  padding-bottom: 5px; }
  body #wrapper .main .buttonbox .button {
    width: 220px;
    height: 48px;
    line-height: 1.0; }
    @media (max-width: 767px) {
      body #wrapper .main .buttonbox .button {
        width: 200px;
        height: 42px; } }
    body #wrapper .main .buttonbox .button__link {
      width: 100%;
      height: 100%;
      display: block;
      background-color: #296132;
      border: solid 2px #296132;
      border-radius: 24px;
      text-decoration: none;
      padding-top: 12px;
      position: relative;
      box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.16); }
      @media (max-width: 767px) {
        body #wrapper .main .buttonbox .button__link {
          padding-top: 10px;
          border-radius: 21px; } }
      body #wrapper .main .buttonbox .button__link::after {
        width: 24px;
        height: 24px;
        content: "";
        display: block;
        border-radius: 50%;
        position: absolute;
        top: 10px;
        right: 12px;
        background-color: #fff;
        background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="-2 -2 14 20"><path d="M445.327,414.87l6,6-3,3-3,3" transform="translate(-445.327 -414.87)" fill="none" stroke="%23296132" stroke-linecap="round" stroke-linejoin="round" stroke-width="3"/></svg>');
        background-repeat: no-repeat;
        background-position: 10px 6px;
        background-size: 8px 14px; }
        @media (max-width: 767px) {
          body #wrapper .main .buttonbox .button__link::after {
            top: 8px; } }
      body #wrapper .main .buttonbox .button__link:hover {
        background-color: #fff; }
        body #wrapper .main .buttonbox .button__link:hover .button__text {
          color: #296132; }
        body #wrapper .main .buttonbox .button__link:hover::after {
          background-color: #296132;
          background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="-2 -2 14 20"><path d="M445.327,414.87l6,6-3,3-3,3" transform="translate(-445.327 -414.87)" fill="none" stroke="%23ffffff" stroke-linecap="round" stroke-linejoin="round" stroke-width="3"/></svg>'); }
    body #wrapper .main .buttonbox .button__text {
      width: calc(100% - 36px);
      display: inline-block;
      font-size: 1.8rem;
      font-weight: 700;
      letter-spacing: 0.08em;
      color: #fff;
      text-align: center; }
      @media (max-width: 767px) {
        body #wrapper .main .buttonbox .button__text {
          font-size: 1.6rem; } }
body #wrapper .main .newslist {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 64px 20px;
  list-style: none;
  margin: 0;
  padding: 0; }
  @media (max-width: 767px) {
    body #wrapper .main .newslist {
      grid-template-columns: repeat(2, 1fr);
      gap: 30px; } }
  body #wrapper .main .newslist__card {
    height: 100%;
    position: relative;
    /* カテゴリーリンクを重ねる基準位置 */
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transition: all 0.8s; }
    body #wrapper .main .newslist__card-img {
      width: 100%;
      aspect-ratio: 270 / 166;
      overflow: hidden;
      background-color: #f0f0f0;
      margin-bottom: 15px;
      border-radius: 10px; }
      @media (max-width: 767px) {
        body #wrapper .main .newslist__card-img {
          margin-bottom: 10px; } }
      body #wrapper .main .newslist__card-img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
        border-radius: 10px;
        transition: transform 0.3s ease-in-out; }
    body #wrapper .main .newslist__card-content {
      padding-bottom: 24px; }
      @media (max-width: 767px) {
        body #wrapper .main .newslist__card-content {
          padding-bottom: 12px; } }
    body #wrapper .main .newslist__card-date {
      font-size: 1.4rem;
      font-weight: 700;
      color: #296132;
      line-height: 1.0; }
      @media (max-width: 767px) {
        body #wrapper .main .newslist__card-date {
          font-size: 1.2rem; } }
    body #wrapper .main .newslist__card-title {
      font-weight: 600; }
      @media (max-width: 767px) {
        body #wrapper .main .newslist__card-title {
          font-size: 1.4rem; } }
    body #wrapper .main .newslist__card-link {
      display: flex;
      flex-direction: column;
      flex-grow: 1;
      /* コンテンツ量に関わらずカード下部まで広げる */
      color: inherit;
      text-decoration: none; }
      body #wrapper .main .newslist__card-link:hover .newslist__card-img img {
        transform: scale(1.05); }
    body #wrapper .main .newslist__card-categories {
      /*position: absolute;
      left: 0;
      bottom: 0;
      z-index: 2;*/
      display: flex;
      flex-wrap: wrap;
      gap: 8px; }
      @media (max-width: 767px) {
        body #wrapper .main .newslist__card-categories {
          gap: 5px; } }
      body #wrapper .main .newslist__card-categories a {
        font-size: 1.4rem;
        line-height: 1.0;
        padding: 7px 12px;
        display: inline-block;
        background: #fff;
        border: solid 1px #333333;
        border-radius: 14px;
        text-decoration: none; }
        @media (max-width: 767px) {
          body #wrapper .main .newslist__card-categories a {
            font-size: 1.0rem;
            padding: 3px 8px;
            border-radius: 12px; } }
        body #wrapper .main .newslist__card-categories a:hover {
          border: solid 1px #296132 !important;
          background: #296132;
          color: #fff; }
body #wrapper .main .detaillist__item {
  margin-bottom: 80px; }
  @media (max-width: 767px) {
    body #wrapper .main .detaillist__item {
      margin-bottom: 40px; } }
  body #wrapper .main .detaillist__item-inner {
    display: flex;
    align-items: center; }
    @media (max-width: 767px) {
      body #wrapper .main .detaillist__item-inner {
        display: block; } }
  body #wrapper .main .detaillist__item-img {
    width: 51.95%; }
    @media (max-width: 767px) {
      body #wrapper .main .detaillist__item-img {
        width: 100%;
        margin-bottom: 25px; } }
    body #wrapper .main .detaillist__item-img img {
      width: 100%;
      border-radius: 10px; }
  body #wrapper .main .detaillist__item-text {
    width: 48.05%;
    padding-left: 30px; }
    @media (max-width: 767px) {
      body #wrapper .main .detaillist__item-text {
        width: 100%;
        padding-left: 0; } }
  body #wrapper .main .detaillist__item-texttitle {
    font-size: 2.1rem;
    font-weight: 700;
    line-height: 1.2;
    padding-left: 14px;
    position: relative; }
    @media (max-width: 767px) {
      body #wrapper .main .detaillist__item-texttitle {
        font-size: 1.8rem; } }
    body #wrapper .main .detaillist__item-texttitle::after {
      width: 6px;
      height: 100%;
      display: block;
      content: "";
      background: #D8E46F;
      border-radius: 3px;
      position: absolute;
      top: 0;
      left: 0; }
  body #wrapper .main .detaillist__item-textbox {
    margin-top: 30px; }
    @media (max-width: 767px) {
      body #wrapper .main .detaillist__item-textbox {
        margin-top: 15px; } }
  body #wrapper .main .detaillist__item:nth-of-type(even) .detaillist__item-inner {
    flex-direction: row-reverse; }
  body #wrapper .main .detaillist__item:nth-of-type(even) .detaillist__item-text {
    padding-left: 0;
    padding-right: 30px; }
    @media (max-width: 767px) {
      body #wrapper .main .detaillist__item:nth-of-type(even) .detaillist__item-text {
        padding-right: 0; } }
  body #wrapper .main .detaillist__item:last-of-type {
    margin-bottom: 0; }
body #wrapper .main .loopslider__item {
  padding: 0 3px; }
  body #wrapper .main .loopslider__item img {
    border-radius: 5px; }
body #wrapper .main .fadeslider__item img {
  width: 100%;
  border-radius: 10px; }
body #wrapper .main .slider__item img {
  width: 100%;
  border-radius: 10px; }
body #wrapper .main .slider .slick-dots {
  text-align: center;
  padding-top: 24px; }
  @media (max-width: 767px) {
    body #wrapper .main .slider .slick-dots {
      padding-top: 8px; } }
  body #wrapper .main .slider .slick-dots li {
    display: inline-block;
    vertical-align: top;
    padding: 0 10px; }
    @media (max-width: 767px) {
      body #wrapper .main .slider .slick-dots li {
        padding: 0 5px; } }
    body #wrapper .main .slider .slick-dots li button {
      background-color: transparent;
      border: none;
      cursor: pointer;
      outline: none;
      padding: 0;
      appearance: none;
      text-indent: -9999px;
      overflow: hidden;
      font-size: 0;
      width: 12px;
      height: 12px;
      display: block;
      background: #999;
      border-radius: 50%; }
      @media (max-width: 767px) {
        body #wrapper .main .slider .slick-dots li button {
          width: 8px;
          height: 8px; } }
    body #wrapper .main .slider .slick-dots li.slick-active button {
      background: #EB6D8E; }
body #wrapper .main .pagetitle {
  margin-bottom: 48px; }
  body #wrapper .main .pagetitle__title {
    text-align: center;
    margin-bottom: 48px; }
    body #wrapper .main .pagetitle__title strong {
      font-family: "Work Sans", sans-serif;
      line-height: 1.0;
      color: #296132;
      display: block; }
    body #wrapper .main .pagetitle__title span {
      font-size: 1.8rem;
      font-weight: 600;
      line-height: 1.0;
      display: block; }
  body #wrapper .main .pagetitle__description {
    width: 480px;
    margin: 0 auto; }
    @media (max-width: 767px) {
      body #wrapper .main .pagetitle__description {
        width: 100%;
        text-align: left;
        padding: 0 30px; } }
body #wrapper .main .summary__title {
  width: 100%;
  font-size: 2.1rem;
  font-weight: 700;
  line-height: 1.0;
  margin: 0 auto;
  padding-bottom: 15px;
  border-bottom: solid 1px #707070; }
  @media (max-width: 767px) {
    body #wrapper .main .summary__title {
      font-size: 1.8rem;
      padding-bottom: 12px; } }
body #wrapper .main .summary__text {
  width: 100%;
  margin: 0 auto; }
  body #wrapper .main .summary__text th,
  body #wrapper .main .summary__text td {
    padding: 30px 0;
    vertical-align: top;
    border-bottom: dashed 1px #707070; }
  body #wrapper .main .summary__text th {
    width: 200px;
    /*width: 26%;*/
    padding-right: 50px;
    text-align: right;
    font-weight: 400; }
    @media (max-width: 767px) {
      body #wrapper .main .summary__text th {
        width: 100%;
        display: block;
        text-align: left;
        font-weight: 700;
        padding-top: 15px;
        padding-bottom: 0;
        padding-right: 0;
        border-bottom: none; } }
  body #wrapper .main .summary__text td {
    width: calc(100% - 200px);
    /*width: 74%;*/
    padding-right: 30px; }
    @media (max-width: 767px) {
      body #wrapper .main .summary__text td {
        width: 100%;
        display: block;
        padding-top: 0;
        padding-bottom: 15px;
        padding-right: 0; } }
    body #wrapper .main .summary__text td p {
      text-indent: -1em;
      padding-left: 1em;
      margin-bottom: 20px; }
      body #wrapper .main .summary__text td p:last-of-type {
        margin-bottom: 0; }
    body #wrapper .main .summary__text td span {
      display: block;
      color: #990000;
      font-size: 1.2rem;
      text-indent: -1em;
      padding-left: 1em; }
body #wrapper .main .formbox .form {
  overflow: hidden; }
  body #wrapper .main .formbox .form__mi {
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 24px;
    padding-left: 51px;
    position: relative; }
    @media (max-width: 767px) {
      body #wrapper .main .formbox .form__mi {
        line-height: 1.3; } }
    body #wrapper .main .formbox .form__mi strong {
      font-size: 1.4rem;
      font-weight: 700;
      line-height: 1.0;
      color: #fff;
      background: #296132;
      border-radius: 3px;
      display: inline-block;
      position: relative;
      padding: 4px 8px 5px;
      border-radius: 3px;
      position: absolute;
      top: 0;
      left: 2px; }
    body #wrapper .main .formbox .form__mi-sub {
      font-weight: 600; }
    @media (max-width: 767px) {
      body #wrapper .main .formbox .form__mi .smalltext {
        font-size: 1.2rem; } }
    body #wrapper .main .formbox .form__mi .smalltext br {
      display: none; }
      @media (max-width: 767px) {
        body #wrapper .main .formbox .form__mi .smalltext br {
          display: block; } }
    body #wrapper .main .formbox .form__mi.affiliation {
      padding-left: 0; }
    body #wrapper .main .formbox .form__mi.kakunin__mi {
      padding-left: 0; }
  body #wrapper .main .formbox .form__input {
    margin-bottom: 40px;
    padding: 0 2px; }
    body #wrapper .main .formbox .form__input input,
    body #wrapper .main .formbox .form__input textarea {
      margin: 0;
      padding: 0;
      border: none;
      background: none;
      font: inherit;
      color: inherit;
      box-sizing: border-box;
      appearance: none;
      -webkit-appearance: none;
      -moz-appearance: none;
      width: 40.91%;
      border: solid 1px #999;
      background: #fff;
      border-radius: 5px;
      padding: 10px;
      font-size: 1.6rem; }
      @media (max-width: 767px) {
        body #wrapper .main .formbox .form__input input,
        body #wrapper .main .formbox .form__input textarea {
          width: 100%; } }
    body #wrapper .main .formbox .form__input input.agebox {
      width: 13.64%; }
      @media (max-width: 767px) {
        body #wrapper .main .formbox .form__input input.agebox {
          width: 30%; } }
    body #wrapper .main .formbox .form__input textarea {
      width: 100%; }
    body #wrapper .main .formbox .form__input:last-of-type {
      margin-bottom: 0; }
    body #wrapper .main .formbox .form__input-text {
      font-size: 1.2rem;
      padding-top: 8px;
      display: block; }
    body #wrapper .main .formbox .form__input-redtext {
      color: #990000; }
    body #wrapper .main .formbox .form__input .agetext {
      font-size: 1.6rem;
      display: inline-block;
      padding-left: 12px; }
    body #wrapper .main .formbox .form__input .form__error {
      color: #990000;
      margin-top: 10px; }
    body #wrapper .main .formbox .form__input.radiolist {
      position: relative; }
      body #wrapper .main .formbox .form__input.radiolist input[type="radio"] {
        opacity: 0;
        visibility: hidden;
        position: absolute; }
      body #wrapper .main .formbox .form__input.radiolist .wpcf7-radio {
        display: block; }
      body #wrapper .main .formbox .form__input.radiolist .wpcf7-list-item {
        display: flex;
        flex-direction: column;
        margin-bottom: 10px; }
        body #wrapper .main .formbox .form__input.radiolist .wpcf7-list-item:last-of-type {
          margin-bottom: 0; }
      body #wrapper .main .formbox .form__input.radiolist span.wpcf7-list-item-label {
        width: max-content;
        position: relative;
        display: flex;
        align-items: center;
        cursor: pointer;
        background: #fff;
        padding: 14px 20px 14px 12px;
        border: solid 1px #999;
        border-radius: 5px;
        font-size: 1.6rem;
        line-height: 1.0; }
        body #wrapper .main .formbox .form__input.radiolist span.wpcf7-list-item-label::before {
          width: 18px;
          height: 18px;
          display: block;
          content: "";
          border-radius: 50%;
          border: 1px solid #707070;
          margin-right: 12px;
          margin-top: 2px; }
        body #wrapper .main .formbox .form__input.radiolist span.wpcf7-list-item-label::after {
          display: block;
          position: absolute;
          content: "";
          border-radius: 50%;
          width: 12px;
          height: 12px;
          background-color: #296132;
          left: 15px;
          top: 50%;
          transform: translateY(-50%);
          display: none;
          margin-top: 1px; }
      body #wrapper .main .formbox .form__input.radiolist input[type="radio"]:checked + span.wpcf7-list-item-label::after {
        display: block; }
body #wrapper .main .formbox .btsousin {
  margin-top: 64px; }
  body #wrapper .main .formbox .btsousin .btsousin__wrap {
    width: 220px;
    margin: 0 auto;
    position: relative; }
    body #wrapper .main .formbox .btsousin .btsousin__wrap .bt_order_send {
      width: 100%;
      height: 48px;
      position: relative; }
      body #wrapper .main .formbox .btsousin .btsousin__wrap .bt_order_send::before, body #wrapper .main .formbox .btsousin .btsousin__wrap .bt_order_send::after {
        content: "";
        display: block;
        position: absolute;
        transition: all 0.3s; }
      body #wrapper .main .formbox .btsousin .btsousin__wrap .bt_order_send::after {
        content: "";
        display: block;
        width: 8px;
        height: 14px;
        background-color: #296132;
        -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="-2 -2 14 20"><path d="M445.327,414.87l6,6-3,3-3,3" transform="translate(-445.327 -414.87)" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="3"/></svg>') no-repeat center/contain;
        mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="-2 -2 14 20"><path d="M445.327,414.87l6,6-3,3-3,3" transform="translate(-445.327 -414.87)" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="3"/></svg>') no-repeat center/contain;
        position: absolute;
        top: 18px;
        right: 18px; }
      body #wrapper .main .formbox .btsousin .btsousin__wrap .bt_order_send::before {
        width: 24px;
        height: 24px;
        background: #fff;
        border-radius: 50%;
        top: 12px;
        right: 12px; }
      body #wrapper .main .formbox .btsousin .btsousin__wrap .bt_order_send input {
        margin: 0;
        border: none;
        box-sizing: border-box;
        appearance: none;
        -webkit-appearance: none;
        -moz-appearance: none;
        width: 100%;
        height: 100%;
        line-height: 44px;
        display: inline-block;
        font-size: 1.8rem;
        font-weight: 700;
        letter-spacing: 0.08em;
        color: #fff;
        vertical-align: top;
        background: #296132;
        border: solid 2px #296132;
        text-decoration: none;
        padding: 0;
        border-radius: 24px;
        transition: all 0.3s;
        cursor: pointer; }
        @media (max-width: 767px) {
          body #wrapper .main .formbox .btsousin .btsousin__wrap .bt_order_send input {
            font-size: 1.6rem; } }
      body #wrapper .main .formbox .btsousin .btsousin__wrap .bt_order_send:hover::after {
        content: "";
        display: block;
        width: 8px;
        height: 14px;
        background-color: #ffffff;
        -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="-2 -2 14 20"><path d="M445.327,414.87l6,6-3,3-3,3" transform="translate(-445.327 -414.87)" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="3"/></svg>') no-repeat center/contain;
        mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="-2 -2 14 20"><path d="M445.327,414.87l6,6-3,3-3,3" transform="translate(-445.327 -414.87)" fill="none" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="3"/></svg>') no-repeat center/contain; }
      body #wrapper .main .formbox .btsousin .btsousin__wrap .bt_order_send:hover::before {
        background: #296132; }
      body #wrapper .main .formbox .btsousin .btsousin__wrap .bt_order_send:hover input {
        background: #fff;
        color: #296132; }
    body #wrapper .main .formbox .btsousin .btsousin__wrap .bt_order_back {
      width: 100%;
      height: auto;
      position: relative;
      margin-top: 15px; }
      body #wrapper .main .formbox .btsousin .btsousin__wrap .bt_order_back input {
        margin: 0;
        border: none;
        box-sizing: border-box;
        appearance: none;
        -webkit-appearance: none;
        -moz-appearance: none;
        background: none;
        width: 100%;
        height: auto;
        display: inline-block;
        font-size: 1.4rem;
        letter-spacing: 0.08em;
        color: #333333;
        line-height: 1.0;
        transition: all 0.3s;
        cursor: pointer; }
        body #wrapper .main .formbox .btsousin .btsousin__wrap .bt_order_back input:hover {
          opacity: 0.7; }

@media (max-width: 1279px) {
  #top #wrapper {
    padding-top: 60px; } }
#top #wrapper .main .box .inner {
  padding: 0 40px;
  position: relative; }
  @media (max-width: 767px) {
    #top #wrapper .main .box .inner {
      padding: 0 30px; } }
#top #wrapper .main .contents {
  padding-top: 0; }
#top #wrapper .main .contenttitle {
  margin-bottom: 44px; }
  @media (max-width: 767px) {
    #top #wrapper .main .contenttitle {
      margin-bottom: 34px; } }
#top #wrapper .main .toppagelink {
  position: absolute;
  top: 45px;
  right: 40px; }
  @media (max-width: 767px) {
    #top #wrapper .main .toppagelink {
      width: 100%;
      display: flex;
      justify-content: center;
      margin-top: 60px;
      position: relative;
      top: auto;
      right: auto; } }
  #top #wrapper .main .toppagelink a {
    font-size: 1.6rem;
    font-weight: 700;
    color: #296132;
    line-height: 1.0;
    display: inline-block;
    text-decoration: none;
    position: relative;
    padding-right: 30px;
    padding-bottom: 10px; }
    #top #wrapper .main .toppagelink a::before {
      width: 24px;
      height: 24px;
      content: "";
      display: block;
      border-radius: 50%;
      position: absolute;
      top: 0;
      right: 0;
      border: solid 1px #296132;
      background-color: #296132;
      background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="-2 -2 14 20"><path d="M445.327,414.87l6,6-3,3-3,3" transform="translate(-445.327 -414.87)" fill="none" stroke="%23ffffff" stroke-linecap="round" stroke-linejoin="round" stroke-width="3"/></svg>');
      background-repeat: no-repeat;
      background-position: 9px 5px;
      background-size: 8px 14px;
      transition: all 0.3s; }
    #top #wrapper .main .toppagelink a::after {
      width: calc(100% - 30px);
      height: 2px;
      display: block;
      content: "";
      background: #296132;
      border-radius: 2px;
      position: absolute;
      left: 0;
      bottom: 0;
      transition: all 0.3s; }
    #top #wrapper .main .toppagelink a:hover::before {
      border: solid 1px #fff;
      background-color: #fff;
      background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="-2 -2 14 20"><path d="M445.327,414.87l6,6-3,3-3,3" transform="translate(-445.327 -414.87)" fill="none" stroke="%23296132" stroke-linecap="round" stroke-linejoin="round" stroke-width="3"/></svg>'); }
    #top #wrapper .main .toppagelink a:hover::after {
      opacity: 0; }
#top #wrapper .main .headingslide {
  width: 100%;
  position: relative;
  margin-bottom: 80px; }
  @media (max-width: 767px) {
    #top #wrapper .main .headingslide {
      margin-bottom: 50px; } }
  #top #wrapper .main .headingslide .headingslide__slide .add-animation .top_main.bg01 .headingslide__slide-img {
    width: 110%;
    animation: slider-left 10s linear 0s normal both; }
  #top #wrapper .main .headingslide .headingslide__slide .add-animation .top_main.bg02 .headingslide__slide-img {
    width: 110%;
    animation: slider-right 10s linear 0s normal both; }
  #top #wrapper .main .headingslide .headingslide__slide .add-animation .top_main.bg03 .headingslide__slide-img {
    animation: zoomUp 10s linear 0s normal both; }
  #top #wrapper .main .headingslide .headingslide__slide .add-animation .top_main.bg04 .headingslide__slide-img {
    width: 110%;
    animation: slider-right 10s linear 0s normal both; }
  #top #wrapper .main .headingslide .headingslide__slide .add-animation .top_main.bg05 .headingslide__slide-img {
    width: 110%;
    animation: slider-left 10s linear 0s normal both; }
  #top #wrapper .main .headingslide .headingslide__slide .add-animation .top_main.bg06 .headingslide__slide-img {
    animation: zoomUp 10s linear 0s normal both; }
  #top #wrapper .main .headingslide .headingslide__slide .headingslide__slide-item {
    overflow: hidden;
    position: relative; }
    #top #wrapper .main .headingslide .headingslide__slide .headingslide__slide-item.bg01 .headingslide__slide-img {
      background: url("../images/top/ph_main_01.webp") no-repeat 50% 50%;
      background-size: cover; }
    #top #wrapper .main .headingslide .headingslide__slide .headingslide__slide-item.bg02 .headingslide__slide-img {
      background: url("../images/top/ph_main_02.webp") no-repeat 50% 50%;
      background-size: cover; }
    #top #wrapper .main .headingslide .headingslide__slide .headingslide__slide-item.bg03 .headingslide__slide-img {
      background: url("../images/top/ph_main_03.webp") no-repeat 50% 50%;
      background-size: cover; }
    #top #wrapper .main .headingslide .headingslide__slide .headingslide__slide-item.bg04 .headingslide__slide-img {
      background: url("../images/top/ph_main_04.webp") no-repeat 50% 50%;
      background-size: cover; }
    #top #wrapper .main .headingslide .headingslide__slide .headingslide__slide-item.bg05 .headingslide__slide-img {
      background: url("../images/top/ph_main_05.webp") no-repeat 50% 50%;
      background-size: cover; }
    #top #wrapper .main .headingslide .headingslide__slide .headingslide__slide-item.bg06 .headingslide__slide-img {
      background: url("../images/top/ph_main_06.webp") no-repeat 50% 50%;
      background-size: cover; }
  #top #wrapper .main .headingslide__logo {
    width: 27.63%;
    position: absolute;
    top: 30px;
    left: 30px;
    /*right: 70px;
    bottom: 34px;*/ }
    @media (max-width: 767px) {
      #top #wrapper .main .headingslide__logo {
        width: 40%;
        top: auto;
        left: auto;
        right: 25px;
        bottom: 20px;
        /*right: 30px;
        bottom: 30px;*/ } }
#top #wrapper .main .news {
  margin-bottom: 160px; }
  @media (max-width: 767px) {
    #top #wrapper .main .news {
      margin-bottom: 80px; } }
#top #wrapper .main .inst {
  margin-bottom: 154px; }
  @media (max-width: 767px) {
    #top #wrapper .main .inst {
      margin-bottom: 70px; } }
  #top #wrapper .main .inst .inner {
    padding: 0 80px;
    position: relative; }
    @media (max-width: 767px) {
      #top #wrapper .main .inst .inner {
        padding: 0 30px; } }
    #top #wrapper .main .inst .inner ul {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 15px;
      list-style: none;
      margin: 0;
      padding: 0; }
      @media (max-width: 767px) {
        #top #wrapper .main .inst .inner ul {
          grid-template-columns: repeat(3, 1fr);
          gap: 15px; } }
      #top #wrapper .main .inst .inner ul li img {
        width: 100%; }
#top #wrapper .main .map__wrapper {
  width: 100%;
  margin: 0 auto; }
  #top #wrapper .main .map__wrapper iframe {
    width: 100%;
    height: auto;
    aspect-ratio: 850 / 398;
    vertical-align: bottom;
    border-radius: 10px; }

#news #wrapper .main .categorytitle {
  width: 100%;
  text-align: center;
  margin: 64px auto 0; }
  @media (max-width: 767px) {
    #news #wrapper .main .categorytitle {
      margin-top: 30px; } }
  #news #wrapper .main .categorytitle strong {
    font-size: 2.1rem;
    font-weight: 700;
    line-height: 1.0;
    color: #652D4A;
    display: inline-block;
    padding: 20px 40px;
    background-color: #fff;
    border-radius: 30px;
    box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.16); }
    @media (max-width: 767px) {
      #news #wrapper .main .categorytitle strong {
        font-size: 1.8rem;
        padding: 15px 30px; } }
#news #wrapper .main .categorylist {
  margin: 0 auto 60px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px; }
  @media (max-width: 767px) {
    #news #wrapper .main .categorylist {
      margin-bottom: 30px; } }
  #news #wrapper .main .categorylist strong {
    font-size: 1.7rem;
    font-weight: 400;
    display: block; }
    @media (max-width: 767px) {
      #news #wrapper .main .categorylist strong {
        font-size: 1.6rem;
        width: 100%; } }
  #news #wrapper .main .categorylist a {
    font-size: 1.4rem;
    line-height: 1.0;
    padding: 7px 12px;
    display: block;
    background: #fff;
    border: solid 1px #333333;
    border-radius: 14px;
    text-decoration: none;
    vertical-align: top; }
    @media (max-width: 767px) {
      #news #wrapper .main .categorylist a {
        font-size: 1.2rem; } }
    #news #wrapper .main .categorylist a:hover {
      border: solid 1px #296132;
      background: #296132;
      color: #fff; }
#news #wrapper .main .buttonbox {
  margin-top: 80px; }
  @media (max-width: 767px) {
    #news #wrapper .main .buttonbox {
      margin-top: 40px; } }

#detail #wrapper .main .detail__mainimg {
  width: 100%;
  text-align: center;
  margin-bottom: 40px; }
  #detail #wrapper .main .detail__mainimg img {
    width: 100%;
    border-radius: 10px; }
#detail #wrapper .main .detail__contents {
  max-width: 640px;
  margin: 0 auto; }
  @media (max-width: 767px) {
    #detail #wrapper .main .detail__contents {
      width: 100%; } }
#detail #wrapper .main .detail__title {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 20px; }
  @media (max-width: 767px) {
    #detail #wrapper .main .detail__title {
      font-size: 1.8rem;
      margin-bottom: 15px; } }
#detail #wrapper .main .detail__date {
  display: block;
  margin-bottom: 40px;
  font-size: 1.4rem;
  font-weight: 700;
  color: #296132;
  line-height: 1.0; }
  @media (max-width: 767px) {
    #detail #wrapper .main .detail__date {
      font-size: 1.2rem;
      margin-bottom: 25px; } }
#detail #wrapper .main .detail__text {
  padding-bottom: 10px; }
  #detail #wrapper .main .detail__text p {
    margin-bottom: 30px; }
    @media (max-width: 767px) {
      #detail #wrapper .main .detail__text p {
        margin-bottom: 20px; } }
  #detail #wrapper .main .detail__text strong {
    font-weight: 700; }
  #detail #wrapper .main .detail__text ul {
    list-style: disc;
    padding-left: 1em;
    margin-bottom: 30px; }
    @media (max-width: 767px) {
      #detail #wrapper .main .detail__text ul {
        margin-bottom: 20px; } }
#detail #wrapper .main .detail__category {
  max-width: 640px;
  /*margin: 40px auto 0;*/
  margin: 0 auto;
  padding-top: 20px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  border-top: solid 1px #E9E9E9; }
  @media (max-width: 767px) {
    #detail #wrapper .main .detail__category {
      width: 100%;
      /*margin-top: 30px;*/ } }
  #detail #wrapper .main .detail__category strong {
    font-size: 1.6rem;
    display: block; }
    @media (max-width: 767px) {
      #detail #wrapper .main .detail__category strong {
        width: 100%; } }
  #detail #wrapper .main .detail__category a {
    font-size: 1.4rem;
    line-height: 1.0;
    padding: 7px 12px;
    display: block;
    background: #fff;
    border: solid 1px #333333;
    border-radius: 14px;
    text-decoration: none;
    vertical-align: top; }
    @media (max-width: 767px) {
      #detail #wrapper .main .detail__category a {
        font-size: 1.2rem; } }
    #detail #wrapper .main .detail__category a:hover {
      border: solid 1px #296132;
      background: #296132;
      color: #fff; }
#detail #wrapper .main .detail .buttonbox {
  margin-top: 60px; }
  @media (max-width: 767px) {
    #detail #wrapper .main .detail .buttonbox {
      margin-top: 40px; } }
#detail #wrapper .main .recently {
  margin-top: 120px; }
  @media (max-width: 767px) {
    #detail #wrapper .main .recently {
      margin-top: 60px; } }
  #detail #wrapper .main .recently__title {
    width: 100%;
    font-size: 2.1rem;
    font-weight: 700;
    line-height: 1.0;
    margin: 0 auto 30px;
    padding-bottom: 15px;
    border-bottom: solid 1px #707070; }
    @media (max-width: 767px) {
      #detail #wrapper .main .recently__title {
        font-size: 1.8rem;
        padding-bottom: 12px; } }

@media (max-width: 1279px) {
  #hoken #wrapper {
    padding-top: 70px; } }
#hoken #wrapper .main .mainpagetitle__img {
  background-image: url(../images/hoken/bg_main.webp); }
#hoken #wrapper .main .heading__title {
  color: #652D4A; }
  #hoken #wrapper .main .heading__title rt {
    font-size: 1.0rem; }
    @media (max-width: 767px) {
      #hoken #wrapper .main .heading__title rt {
        font-size: 0.6rem; } }
#hoken #wrapper .main .heading__text {
  text-align: center; }
  @media (max-width: 767px) {
    #hoken #wrapper .main .heading__text {
      text-align: left; } }
  @media (max-width: 767px) {
    #hoken #wrapper .main .heading__text br {
      display: none; } }
#hoken #wrapper .main .heading__img {
  margin-top: 64px;
  padding: 0 80px; }
  @media (max-width: 767px) {
    #hoken #wrapper .main .heading__img {
      margin-top: 40px;
      padding: 0 30px; } }
  #hoken #wrapper .main .heading__img img {
    width: 100%; }
#hoken #wrapper .main .place {
  margin-bottom: 120px; }
  @media (max-width: 767px) {
    #hoken #wrapper .main .place {
      margin-bottom: 60px; } }
  #hoken #wrapper .main .place__heading {
    text-align: center;
    margin-bottom: 80px; }
    @media (max-width: 767px) {
      #hoken #wrapper .main .place__heading {
        margin-bottom: 20px; } }
    #hoken #wrapper .main .place__heading strong {
      font-size: 2.4rem;
      font-weight: 700;
      color: #652D4A;
      line-height: 1.5;
      display: inline-block;
      padding-bottom: 6px;
      border-bottom: solid 2px #652D4A; }
      @media (max-width: 767px) {
        #hoken #wrapper .main .place__heading strong {
          font-size: 2.0rem; } }
  #hoken #wrapper .main .place__img {
    max-width: 522px;
    margin: 0 auto 120px; }
    @media (max-width: 767px) {
      #hoken #wrapper .main .place__img {
        margin-bottom: 60px; } }
#hoken #wrapper .main .hokencontent {
  margin-bottom: 120px; }
  @media (max-width: 767px) {
    #hoken #wrapper .main .hokencontent {
      margin-bottom: 60px; } }
  #hoken #wrapper .main .hokencontent__img {
    margin-bottom: 54px; }
    @media (max-width: 767px) {
      #hoken #wrapper .main .hokencontent__img {
        margin-bottom: 25px; } }
    #hoken #wrapper .main .hokencontent__img img {
      width: 100%;
      border-radius: 10px; }
  #hoken #wrapper .main .hokencontent__heading {
    text-align: left;
    margin-bottom: 40px; }
    @media (max-width: 767px) {
      #hoken #wrapper .main .hokencontent__heading {
        margin-bottom: 20px; } }
    #hoken #wrapper .main .hokencontent__heading strong {
      font-size: 2.4rem;
      font-weight: 700;
      color: #652D4A;
      line-height: 1.5;
      display: inline-block;
      padding-bottom: 6px;
      border-bottom: solid 2px #652D4A; }
      @media (max-width: 767px) {
        #hoken #wrapper .main .hokencontent__heading strong {
          font-size: 2.0rem; } }
  #hoken #wrapper .main .hokencontent__text {
    margin-bottom: 40px; }
    @media (max-width: 767px) {
      #hoken #wrapper .main .hokencontent__text {
        margin-bottom: 20px; } }
    #hoken #wrapper .main .hokencontent__text strong {
      font-weight: 700; }
    #hoken #wrapper .main .hokencontent__text:last-of-type {
      margin-bottom: 0; }
#hoken #wrapper .main .thirdplace .sliderbox {
  margin-bottom: 40px; }
  @media (max-width: 767px) {
    #hoken #wrapper .main .thirdplace .sliderbox {
      margin-bottom: 20px; } }
#hoken #wrapper .main .thirdplace .hokencontent__text {
  max-width: 600px; }
#hoken #wrapper .main .announcement__textbox {
  max-width: 670px;
  margin: 0 auto;
  padding: 60px 30px;
  background-color: #fff;
  border: solid 5px #EB6D8E;
  border-radius: 20px;
  position: relative; }
  @media (max-width: 767px) {
    #hoken #wrapper .main .announcement__textbox {
      padding-top: 40px;
      padding-bottom: 40px; } }
  #hoken #wrapper .main .announcement__textbox-mi {
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.3;
    color: #652D4A;
    text-align: center; }
    @media (max-width: 767px) {
      #hoken #wrapper .main .announcement__textbox-mi {
        font-size: 1.8rem;
        text-align: left; } }
    @media (max-width: 767px) {
      #hoken #wrapper .main .announcement__textbox-mi br {
        display: none; } }
  #hoken #wrapper .main .announcement__textbox-detail {
    margin-top: 14px;
    text-align: center; }
    @media (max-width: 767px) {
      #hoken #wrapper .main .announcement__textbox-detail {
        text-align: left; } }

@media (max-width: 1279px) {
  #smile #wrapper {
    padding-top: 70px; } }
#smile #wrapper .main .mainpagetitle__img {
  background-image: url(../images/smile/ph_main.webp); }
#smile #wrapper .main .heading__img {
  margin-top: 120px;
  padding: 0; }
  @media (max-width: 767px) {
    #smile #wrapper .main .heading__img {
      margin-top: 60px; } }
  #smile #wrapper .main .heading__img img {
    width: 100%; }
#smile #wrapper .main .heading__text {
  width: 100%;
  text-align: center; }
  @media (max-width: 767px) {
    #smile #wrapper .main .heading__text {
      text-align: left; } }
  @media (max-width: 767px) {
    #smile #wrapper .main .heading__text br {
      display: none; } }
#smile #wrapper .main .shortstay {
  margin-top: 120px; }
  @media (max-width: 767px) {
    #smile #wrapper .main .shortstay {
      margin-top: 60px; } }
  #smile #wrapper .main .shortstay__title {
    position: relative;
    margin-bottom: 64px; }
    @media (max-width: 767px) {
      #smile #wrapper .main .shortstay__title {
        margin-bottom: 40px; } }
    #smile #wrapper .main .shortstay__title img {
      width: 100%; }
    #smile #wrapper .main .shortstay__title strong {
      width: auto;
      font-size: 2.4rem;
      font-weight: 400;
      letter-spacing: 0.1em;
      color: #fff;
      line-height: 1.0;
      display: inline-block;
      padding: 14px 35px;
      border: solid 1px #fff;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translateY(-50%) translateX(-50%);
      white-space: nowrap; }
      @media (max-width: 767px) {
        #smile #wrapper .main .shortstay__title strong {
          font-size: 2.0rem;
          padding: 10px 20px; } }
  #smile #wrapper .main .shortstay__text-mi {
    font-size: 2.1rem;
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
    margin-bottom: 30px; }
    @media (max-width: 767px) {
      #smile #wrapper .main .shortstay__text-mi {
        font-size: 1.8rem;
        margin-bottom: 20px;
        text-align: left; } }
    @media screen and (min-width: 743px) and (max-width: 767px) {
      #smile #wrapper .main .shortstay__text-mi {
        text-align: center; } }
  #smile #wrapper .main .shortstay__text-detail {
    max-width: 640px;
    margin: 0 auto; }
  #smile #wrapper .main .shortstay__img {
    max-width: 640px;
    margin: 40px auto 0; }
    @media (max-width: 767px) {
      #smile #wrapper .main .shortstay__img {
        margin-top: 30px; } }
    #smile #wrapper .main .shortstay__img img {
      border-radius: 10px; }
#smile #wrapper .main .summary {
  margin-top: 160px; }
  @media (max-width: 767px) {
    #smile #wrapper .main .summary {
      margin-top: 60px; } }
#smile #wrapper .main .foundationlogo {
  max-width: 360px;
  margin: 80px auto 0;
  mix-blend-mode: multiply; }
  @media (max-width: 767px) {
    #smile #wrapper .main .foundationlogo {
      margin-top: 40px; } }

@media (max-width: 1279px) {
  #family #wrapper {
    padding-top: 70px; } }
#family #wrapper .main .mainpagetitle__img {
  background-image: url(../images/family/bg_main.webp); }
#family #wrapper .main .heading__img {
  margin-top: 80px;
  padding-left: 40px; }
  @media (max-width: 767px) {
    #family #wrapper .main .heading__img {
      margin-top: 40px;
      padding-left: 30px; } }
  #family #wrapper .main .heading__img img {
    width: 100%; }
#family #wrapper .main .service {
  margin-bottom: 120px; }
  @media (max-width: 767px) {
    #family #wrapper .main .service {
      margin-bottom: 60px; } }
  #family #wrapper .main .service__img {
    max-width: 730px;
    margin: 0 auto; }
#family #wrapper .main .features {
  margin-bottom: 120px; }
  @media (max-width: 767px) {
    #family #wrapper .main .features {
      margin-bottom: 60px; } }
#family #wrapper .main .activity {
  margin-bottom: 120px; }
  @media (max-width: 767px) {
    #family #wrapper .main .activity {
      margin-bottom: 60px; } }
  #family #wrapper .main .activity .inner {
    padding-right: 0; }
    @media (max-width: 767px) {
      #family #wrapper .main .activity .inner {
        padding-left: 0; } }
  #family #wrapper .main .activity .loopslider__item img {
    width: auto;
    height: 300px; }
    @media (max-width: 767px) {
      #family #wrapper .main .activity .loopslider__item img {
        height: 200px; } }

@media (max-width: 1279px) {
  #challenge #wrapper {
    padding-top: 70px; } }
#challenge #wrapper .main .mainpagetitle__inner::after {
  width: 100%;
  height: 100%;
  display: block;
  content: "";
  background-color: rgba(0, 0, 0, 0.1);
  position: absolute;
  top: 0;
  left: 0;
  mix-blend-mode: multiply; }
#challenge #wrapper .main .mainpagetitle__img {
  background-image: url(../images/challenge/ph_main.webp); }
#challenge #wrapper .main .heading__img {
  margin-top: 120px;
  padding: 0 80px; }
  @media (max-width: 767px) {
    #challenge #wrapper .main .heading__img {
      margin-top: 60px;
      padding: 0 30px; } }
  #challenge #wrapper .main .heading__img img {
    width: 100%; }
#challenge #wrapper .main .features {
  margin-bottom: 120px; }
  @media (max-width: 767px) {
    #challenge #wrapper .main .features {
      margin-bottom: 60px; } }

@media (max-width: 1279px) {
  #friends #wrapper {
    padding-top: 70px; } }
#friends #wrapper .main .mainpagetitle__movie {
  width: calc(100% - 350px);
  height: 500px;
  position: fixed;
  top: 0;
  left: 350px;
  z-index: 0; }
  @media (max-width: 1279px) {
    #friends #wrapper .main .mainpagetitle__movie {
      width: 100%;
      top: 70px;
      left: 0; } }
  @media (max-width: 767px) {
    #friends #wrapper .main .mainpagetitle__movie {
      height: 0;
      padding-top: 53.76%; } }
  #friends #wrapper .main .mainpagetitle__movie video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -2; }
#friends #wrapper .main .friendsheading {
  margin-bottom: 80px; }
  @media (max-width: 767px) {
    #friends #wrapper .main .friendsheading {
      margin-bottom: 40px; } }
  #friends #wrapper .main .friendsheading .inner {
    display: flex;
    justify-content: center; }
  #friends #wrapper .main .friendsheading__text {
    font-size: 3.2rem;
    font-weight: 400;
    color: #296132;
    line-height: 1.5;
    writing-mode: vertical-rl;
    white-space: nowrap;
    letter-spacing: 0.1em;
    font-feature-settings: "vkrn" 1, "vpal" 1; }
    @media (max-width: 767px) {
      #friends #wrapper .main .friendsheading__text {
        font-size: 2.0rem; } }
#friends #wrapper .main .heading {
  margin-bottom: 160px; }
  @media (max-width: 767px) {
    #friends #wrapper .main .heading {
      margin-bottom: 60px; } }
  #friends #wrapper .main .heading__img {
    margin-bottom: 64px;
    padding: 0 80px; }
    @media (max-width: 767px) {
      #friends #wrapper .main .heading__img {
        margin-bottom: 30px;
        padding: 0 30px; } }
    #friends #wrapper .main .heading__img img {
      width: 100%;
      border-radius: 10px; }
  #friends #wrapper .main .heading__text {
    width: 100%;
    text-align: center; }
    @media (max-width: 767px) {
      #friends #wrapper .main .heading__text {
        text-align: left; } }
    @media (max-width: 767px) {
      #friends #wrapper .main .heading__text br {
        display: none; } }
  #friends #wrapper .main .heading__textbox {
    max-width: 570px;
    margin: 0 auto 160px;
    padding-top: 24px; }
    @media (max-width: 767px) {
      #friends #wrapper .main .heading__textbox {
        width: 100%;
        margin-bottom: 60px;
        padding: 12px 60px 0; } }
    #friends #wrapper .main .heading__textbox-mi {
      font-weight: 700;
      text-align: center;
      margin-bottom: 22px; }
      @media (max-width: 767px) {
        #friends #wrapper .main .heading__textbox-mi {
          margin-bottom: 15px; } }
    #friends #wrapper .main .heading__textbox-description {
      margin-bottom: 50px;
      padding-bottom: 54px;
      border-bottom: 6px dotted #D8E46F; }
      @media (max-width: 767px) {
        #friends #wrapper .main .heading__textbox-description {
          margin-bottom: 30px;
          padding-bottom: 34px;
          border-bottom-width: 4px; } }
      #friends #wrapper .main .heading__textbox-description:last-of-type {
        margin-bottom: 0;
        padding-bottom: 0;
        border-bottom: none; }
  #friends #wrapper .main .heading .loopslider__inner {
    padding-left: 80px;
    padding-right: 0; }
    @media (max-width: 767px) {
      #friends #wrapper .main .heading .loopslider__inner {
        padding-left: 0; } }
  #friends #wrapper .main .heading .loopslider__item img {
    width: auto;
    height: 300px; }
    @media (max-width: 767px) {
      #friends #wrapper .main .heading .loopslider__item img {
        height: 200px; } }
#friends #wrapper .main .features {
  margin-bottom: 120px; }
  @media (max-width: 767px) {
    #friends #wrapper .main .features {
      margin-bottom: 60px; } }
  #friends #wrapper .main .features .detaillist .detaillist__item:last-of-type .detaillist__item-text {
    padding-left: 0; }
#friends #wrapper .main .dx {
  margin-bottom: 120px;
  padding-top: 54px;
  position: relative; }
  @media (max-width: 767px) {
    #friends #wrapper .main .dx {
      margin-bottom: 60px;
      padding-top: 36px; } }
  #friends #wrapper .main .dx::after {
    width: calc(100% - 160px);
    height: 6px;
    display: block;
    content: "";
    background-color: #fff;
    border: solid 1px #707070;
    border-radius: 3px;
    position: absolute;
    top: 0;
    left: 80px; }
    @media (max-width: 767px) {
      #friends #wrapper .main .dx::after {
        width: calc(100% - 60px);
        left: 30px; } }
  #friends #wrapper .main .dx__title {
    font-weight: 700;
    margin-bottom: 25px; }
    @media (max-width: 767px) {
      #friends #wrapper .main .dx__title {
        margin-bottom: 18px; } }
  #friends #wrapper .main .dx__pdflist {
    display: flex;
    margin-top: 54px; }
    @media (max-width: 767px) {
      #friends #wrapper .main .dx__pdflist {
        display: block;
        margin-top: 30px; } }
    #friends #wrapper .main .dx__pdflist-item {
      margin-right: 30px; }
      @media (max-width: 767px) {
        #friends #wrapper .main .dx__pdflist-item {
          margin-right: 0;
          margin-bottom: 20px; } }
      #friends #wrapper .main .dx__pdflist-item:last-of-type {
        margin-right: 0; }
        @media (max-width: 767px) {
          #friends #wrapper .main .dx__pdflist-item:last-of-type {
            margin-bottom: 0; } }
#friends #wrapper .main .pdfbuttonbox .pdfbutton {
  width: 220px;
  height: 48px;
  line-height: 1.0; }
  @media (max-width: 767px) {
    #friends #wrapper .main .pdfbuttonbox .pdfbutton {
      width: 200px;
      height: 42px; } }
  #friends #wrapper .main .pdfbuttonbox .pdfbutton__link {
    width: 100%;
    height: 100%;
    display: block;
    background-color: #fff;
    border: solid 2px #fff;
    border-radius: 24px;
    text-decoration: none;
    padding-top: 12px;
    position: relative;
    box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.16); }
    @media (max-width: 767px) {
      #friends #wrapper .main .pdfbuttonbox .pdfbutton__link {
        padding-top: 10px;
        border-radius: 21px; } }
    #friends #wrapper .main .pdfbuttonbox .pdfbutton__link::after {
      width: 24px;
      height: 24px;
      content: "";
      display: block;
      border-radius: 50%;
      position: absolute;
      top: 10px;
      right: 12px;
      background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="-2 -2 14 20"><path d="M445.327,414.87l6,6-3,3-3,3" transform="translate(-445.327 -414.87)" fill="none" stroke="%23296132" stroke-linecap="round" stroke-linejoin="round" stroke-width="3"/></svg>');
      background-repeat: no-repeat;
      background-position: 10px 6px;
      background-size: 8px 14px; }
      @media (max-width: 767px) {
        #friends #wrapper .main .pdfbuttonbox .pdfbutton__link::after {
          top: 8px; } }
    #friends #wrapper .main .pdfbuttonbox .pdfbutton__link:hover {
      border-color: #296132;
      background-color: #296132; }
      @media (max-width: 767px) {
        #friends #wrapper .main .pdfbuttonbox .pdfbutton__link:hover {
          border-color: #fff;
          background-color: #fff; } }
      #friends #wrapper .main .pdfbuttonbox .pdfbutton__link:hover .pdfbutton__text {
        color: #fff; }
        @media (max-width: 767px) {
          #friends #wrapper .main .pdfbuttonbox .pdfbutton__link:hover .pdfbutton__text {
            color: #296132; } }
      #friends #wrapper .main .pdfbuttonbox .pdfbutton__link:hover::after {
        background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="-2 -2 14 20"><path d="M445.327,414.87l6,6-3,3-3,3" transform="translate(-445.327 -414.87)" fill="none" stroke="%23ffffff" stroke-linecap="round" stroke-linejoin="round" stroke-width="3"/></svg>'); }
        @media (max-width: 767px) {
          #friends #wrapper .main .pdfbuttonbox .pdfbutton__link:hover::after {
            background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="-2 -2 14 20"><path d="M445.327,414.87l6,6-3,3-3,3" transform="translate(-445.327 -414.87)" fill="none" stroke="%23296132" stroke-linecap="round" stroke-linejoin="round" stroke-width="3"/></svg>'); } }
  #friends #wrapper .main .pdfbuttonbox .pdfbutton__text {
    width: calc(100% - 36px);
    display: inline-block;
    color: #296132;
    text-align: left;
    padding-left: 33px; }
    #friends #wrapper .main .pdfbuttonbox .pdfbutton__text strong {
      font-size: 1.8rem;
      font-weight: 700;
      letter-spacing: 0.08em; }
      @media (max-width: 767px) {
        #friends #wrapper .main .pdfbuttonbox .pdfbutton__text strong {
          font-size: 1.6rem; } }
    #friends #wrapper .main .pdfbuttonbox .pdfbutton__text span {
      font-size: 1.3rem;
      letter-spacing: 0; }
      @media (max-width: 767px) {
        #friends #wrapper .main .pdfbuttonbox .pdfbutton__text span {
          font-size: 1.2rem; } }
  #friends #wrapper .main .pdfbuttonbox .pdfbutton.pdfmanual {
    width: 260px; }

#facility #wrapper .main .box {
  margin-bottom: 120px; }
  @media (max-width: 767px) {
    #facility #wrapper .main .box {
      margin-bottom: 60px; } }
#facility #wrapper .main .pagesubtitle {
  margin-bottom: 30px; }
  @media (max-width: 767px) {
    #facility #wrapper .main .pagesubtitle {
      margin-bottom: 20px; } }
#facility #wrapper .main .map__wrapper {
  width: 100%;
  margin: 0 auto; }
  #facility #wrapper .main .map__wrapper iframe {
    width: 100%;
    height: auto;
    aspect-ratio: 770 / 430;
    vertical-align: bottom;
    border-radius: 10px; }
#facility #wrapper .main .access__wrappe {
  background-color: #fff;
  border-radius: 10px;
  padding: 8.4% 9.09%;
  box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.16); }
  @media (max-width: 767px) {
    #facility #wrapper .main .access__wrappe {
      padding: 20px; } }
  #facility #wrapper .main .access__wrappe img {
    width: 100%; }
#facility #wrapper .main .facility {
  margin-bottom: 80px; }
  @media (max-width: 767px) {
    #facility #wrapper .main .facility {
      margin-bottom: 40px; } }
  #facility #wrapper .main .facility .pagesubtitle {
    margin-bottom: 20px; }
    @media (max-width: 767px) {
      #facility #wrapper .main .facility .pagesubtitle {
        margin-bottom: 15px; } }
  #facility #wrapper .main .facility__photo {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    list-style: none;
    margin: 0 0 32px;
    padding: 0; }
    @media (max-width: 767px) {
      #facility #wrapper .main .facility__photo {
        gap: 10px;
        margin-bottom: 25px; } }
    #facility #wrapper .main .facility__photo-item img {
      width: 100%;
      height: auto;
      vertical-align: bottom;
      border-radius: 10px; }
    #facility #wrapper .main .facility__photo-item:first-child {
      width: 100%; }
    #facility #wrapper .main .facility__photo-item:nth-child(2), #facility #wrapper .main .facility__photo-item:nth-child(3) {
      width: calc((100% - 20px) / 2); }
      @media (max-width: 767px) {
        #facility #wrapper .main .facility__photo-item:nth-child(2), #facility #wrapper .main .facility__photo-item:nth-child(3) {
          width: calc((100% - 10px) / 2); } }
  #facility #wrapper .main .facility__address {
    font-style: normal; }
    @media (max-width: 767px) {
      #facility #wrapper .main .facility__address span {
        font-size: 0;
        display: block; } }
  #facility #wrapper .main .facility__detail {
    background-color: #fff;
    border-radius: 10px;
    margin-top: 70px;
    padding: 5.19%;
    box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.16);
    display: flex;
    flex-direction: row-reverse; }
    @media (max-width: 767px) {
      #facility #wrapper .main .facility__detail {
        margin-top: 30px;
        padding: 25px;
        display: block; } }
    #facility #wrapper .main .facility__detail-img {
      width: 38.55%; }
      @media (max-width: 767px) {
        #facility #wrapper .main .facility__detail-img {
          width: 100%;
          margin-bottom: 20px; } }
    #facility #wrapper .main .facility__detail-textbox {
      width: 61.45%;
      padding-right: 40px; }
      @media (max-width: 767px) {
        #facility #wrapper .main .facility__detail-textbox {
          width: 100%;
          padding-right: 0; } }
    #facility #wrapper .main .facility__detail-mi {
      font-size: 2.1rem;
      font-weight: 700;
      line-height: 1.4;
      margin-bottom: 25px;
      padding-top: 8px; }
      @media (max-width: 767px) {
        #facility #wrapper .main .facility__detail-mi {
          font-size: 1.8rem;
          margin-bottom: 15px;
          padding-top: 0; } }
      @media (max-width: 767px) {
        #facility #wrapper .main .facility__detail-mi br {
          display: none; } }
      #facility #wrapper .main .facility__detail-mi strong {
        width: 110px;
        height: 34px;
        line-height: 1.0;
        display: flex;
        align-items: center;
        justify-content: center;
        background-color: #8E5C29;
        font-size: 1.8rem;
        font-family: "Work Sans", sans-serif;
        font-weight: 500;
        color: #fff;
        margin-bottom: 14px; }
        @media (max-width: 767px) {
          #facility #wrapper .main .facility__detail-mi strong {
            font-size: 1.6rem; } }
  #facility #wrapper .main .facility:last-of-type {
    margin-bottom: 0;
    padding-bottom: 8px; }

#overview #wrapper .main .pageheading {
  margin-bottom: 120px; }
  @media (max-width: 767px) {
    #overview #wrapper .main .pageheading {
      margin-bottom: 60px; } }
#overview #wrapper .main .overview__text {
  width: 100%;
  margin: 0 auto;
  border-top: dashed 1px #707070; }
  #overview #wrapper .main .overview__text th,
  #overview #wrapper .main .overview__text td {
    padding: 26px 20px;
    vertical-align: top;
    border-bottom: dashed 1px #707070; }
  #overview #wrapper .main .overview__text th {
    width: 26%;
    text-align: left;
    font-weight: 700; }
    @media (max-width: 767px) {
      #overview #wrapper .main .overview__text th {
        width: 100%;
        display: block;
        padding: 15px 0 0;
        border-bottom: none; } }
  #overview #wrapper .main .overview__text td {
    width: 74%;
    padding-right: 30px; }
    @media (max-width: 767px) {
      #overview #wrapper .main .overview__text td {
        width: 100%;
        display: block;
        padding: 0 0 15px; } }

#contact #wrapper .main .contact .inner {
  padding-bottom: 6px; }
#contact #wrapper .main .formbox {
  width: 100%;
  max-width: 770px;
  margin: 0 auto;
  padding: 80px 60px;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.3); }
  @media (max-width: 767px) {
    #contact #wrapper .main .formbox {
      padding: 40px 30px; } }

#thanks #wrapper .main .thanks__text {
  text-align: center; }
#thanks #wrapper .main .thanks .button {
  margin-top: 40px;
  text-align: center; }

#support #wrapper .main .support__img {
  width: 100%;
  margin-bottom: 80px; }
  @media (max-width: 767px) {
    #support #wrapper .main .support__img {
      margin-bottom: 40px; } }
  #support #wrapper .main .support__img img {
    width: 100%;
    border-radius: 10px; }
#support #wrapper .main .support__title {
  font-size: 2.1rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  margin-bottom: 48px; }
  @media (max-width: 767px) {
    #support #wrapper .main .support__title {
      font-size: 1.8rem;
      text-align: left;
      margin-bottom: 25px; } }
#support #wrapper .main .support__wrapper {
  max-width: 640px;
  margin: 0 auto; }
  @media (max-width: 767px) {
    #support #wrapper .main .support__wrapper {
      width: 100%; } }
#support #wrapper .main .support__text {
  margin-bottom: 40px; }
  @media (max-width: 767px) {
    #support #wrapper .main .support__text {
      margin-bottom: 20px; } }
  #support #wrapper .main .support__text:last-of-type {
    margin-bottom: 0; }
#support #wrapper .main .support .buttonbox {
  margin-top: 64px; }
  @media (max-width: 767px) {
    #support #wrapper .main .support .buttonbox {
      margin-top: 32px; } }
