@charset "UTF-8";
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  font-size: 62.5%;
}

/* Sections
     ========================================================================== */
/**
   * Remove the margin in all browsers.
   */
body {
  margin: 0;
}

/**
   * Render the `main` element consistently in IE.
   */
main {
  display: block;
}

/**
   * Correct the font size and margin on `h1` elements within `section` and
   * `article` contexts in Chrome, Firefox, and Safari.
   */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
     ========================================================================== */
/**
   * 1. Add the correct box sizing in Firefox.
   * 2. Show the overflow in Edge and IE.
   */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
}

/**
   * 1. Correct the inheritance and scaling of font size in all browsers.
   * 2. Correct the odd `em` font sizing in all browsers.
   */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/* Text-level semantics
     ========================================================================== */
/**
   * Remove the gray background on active links in IE 10.
   */
a {
  background-color: transparent;
}

/**
   * 1. Remove the bottom border in Chrome 57-
   * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
   */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */
}

/**
   * Add the correct font weight in Chrome, Edge, and Safari.
   */
b,
strong {
  font-weight: bolder;
}

/**
   * 1. Correct the inheritance and scaling of font size in all browsers.
   * 2. Correct the odd `em` font sizing in all browsers.
   */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/**
   * Add the correct font size in all browsers.
   */
small {
  font-size: 80%;
}

/**
   * Prevent `sub` and `sup` elements from affecting the line height in
   * all browsers.
   */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
     ========================================================================== */
/**
   * Remove the border on images inside links in IE 10.
   */
img {
  border-style: none;
}

/* Forms
     ========================================================================== */
/**
   * 1. Change the font styles in all browsers.
   * 2. Remove the margin in Firefox and Safari.
   */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */
}

/**
   * Show the overflow in IE.
   * 1. Show the overflow in Edge.
   */
button,
input {
  /* 1 */
  overflow: visible;
}

/**
   * Remove the inheritance of text transform in Edge, Firefox, and IE.
   * 1. Remove the inheritance of text transform in Firefox.
   */
button,
select {
  /* 1 */
  text-transform: none;
}

/**
   * Correct the inability to style clickable types in iOS and Safari.
   */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
   * Remove the inner border and padding in Firefox.
   */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
   * Restore the focus styles unset by the previous rule.
   */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  enclosure: 1px dotted ButtonText;
}

/**
   * Correct the padding in Firefox.
   */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
   * 1. Correct the text wrapping in Edge and IE.
   * 2. Correct the color inheritance from `fieldset` elements in IE.
   * 3. Remove the padding so developers are not caught out when they zero out
   *    `fieldset` elements in all browsers.
   */
legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */
}

/**
   * Add the correct vertical alignment in Chrome, Firefox, and Opera.
   */
progress {
  vertical-align: baseline;
}

/**
   * Remove the default vertical scrollbar in IE 10+.
   */
textarea {
  overflow: auto;
}

/**
   * 1. Add the correct box sizing in IE 10.
   * 2. Remove the padding in IE 10.
   */
[type=checkbox],
[type=radio] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
   * Correct the cursor style of increment and decrement buttons in Chrome.
   */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
   * 1. Correct the odd appearance in Chrome and Safari.
   * 2. Correct the enclosure style in Safari.
   */
[type=search] {
  -webkit-appearance: textfield;
  /* 1 */
  enclosure-offset: -2px;
  /* 2 */
}

/**
   * Remove the inner padding in Chrome and Safari on macOS.
   */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
   * 1. Correct the inability to style clickable types in iOS and Safari.
   * 2. Change font properties to `inherit` in Safari.
   */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/* Interactive
     ========================================================================== */
/*
   * Add the correct display in Edge, IE 10+, and Firefox.
   */
details {
  display: block;
}

/*
   * Add the correct display in all browsers.
   */
summary {
  display: list-item;
}

/* Misc
     ========================================================================== */
/**
   * Add the correct display in IE 10+.
   */
template {
  display: none;
}

/**
   * Add the correct display in IE 10.
   */
[hidden] {
  display: none;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

li {
  list-style: none;
}

button {
  background-color: unset;
  border: unset;
}

/*
Theme Name: PartnersTheme
Theme URI: https://wordpress.org/themes/twentynineteen/
Author: the WordPress team
Author URI: https://wordpress.org/
Description: Our 2019 default theme is designed to show off the power of the block editor. It features custom styles for all the default blocks, and is built so that what you see in the editor looks like what you'll see on your website. Twenty Nineteen is designed to be adaptable to a wide range of websites, whether you’re running a photo blog, launching a new business, or supporting a non-profit. Featuring ample whitespace and modern sans-serif headlines paired with classic serif body text, it's built to be beautiful on all screen sizes.
Requires at least: 4.9.6
Requires PHP: 5.2.4
Version: 2.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: twentynineteen
Tags: one-column, flexible-header, accessibility-ready, custom-colors, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, rtl-language-support, sticky-post, threaded-comments, translation-ready, block-patterns

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.

Twenty Nineteen is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/

Bundled block pattern images:
Abstract Background by HD Wallpapers, CC0. https://stocksnap.io/photo/abstract-background-0SRRVNMKBX
Abstract Waves by HD Wallpapers, CC0. https://stocksnap.io/photo/abstract-waves-0KREGLTZQ3
Abstract Bokeh by HD Wallpapers, CC0. https://stocksnap.io/photo/abstract-bokeh-P4KVZBMQ6L
Colorful Bokeh by HD Wallpapers, CC0. https://stocksnap.io/photo/colorful-bokeh-VN4G84GL8H
*/
body {
  color: #292929;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  letter-spacing: 0.07em;
  line-height: 1.5;
  padding-top: 80px;
}
@media screen and (max-width: 768px) {
  body {
    padding-top: 50px;
  }
}

a {
  text-decoration: none;
}

.container {
  width: 100%;
  max-width: 1200px;
  padding: 0 min(3vw, 36px);
  margin: 0 auto;
}

.container__m {
  width: 100%;
  max-width: 1200px;
  padding: 0 min(3vw, 36px);
  margin: 0 auto;
}

.font-BarlowCondensed {
  font-family: "Barlow Condensed", sans-serif;
}

/* Circle小ボタン */
.btnStn {
  width: 100%;
  display: flex;
  justify-content: end;
}
@media screen and (max-width: 768px) {
  .btnStn {
    justify-content: center;
  }
}
.btnStn a {
  display: inline-flex;
  align-items: center;
  font-size: clamp(14px, 2vw, 20px);
  color: #292929;
}
.btnStn a:hover .stnWrap .stnCircle {
  background: #EAF0ED;
  border: 2px solid #477159;
}
.btnStn a:hover .stnWrap .stnArrow {
  transform: translate(0%, -50%);
  transition: 0.3s all ease;
  opacity: 0;
}
.btnStn a:hover .stnWrap .stnArrow2 {
  transform: translate(-50%, -50%);
  transition: 0.3s all 0.1s ease;
  opacity: 1;
}
.btnStn a span {
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .btnStn a {
    border-radius: 100vh;
    padding: 0.3em 2em 0.3em 3.5em;
    background: #EAF0ED;
    border: 1px solid #8a9f93;
    box-shadow: 0px 2px 2px 1px #ccc;
  }
}

.stnWrap {
  width: clamp(44px, 5.5vw, 66px);
  position: relative;
  margin-left: 5px;
}

.stnCircle {
  width: clamp(33px, 4vw, 50px);
  height: clamp(33px, 4vw, 50px);
  border-radius: 50%;
  border: 2px solid #9AB1A4;
  transition: 0.3s all;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 768px) {
  .stnCircle {
    display: none;
  }
}

.stnarrowWrap {
  width: 67%;
  height: 2vw;
  overflow: hidden;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.stnArrow {
  width: clamp(20px, 2.5vw, 30px);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.stnArrow2 {
  width: clamp(20px, 2.5vw, 30px);
  position: absolute;
  opacity: 0.3;
  top: 50%;
  left: 50%;
  transform: translate(-500%, -50%);
}

/* 詳細はこちらボタン */
.btnMore {
  width: 100%;
  display: flex;
  justify-content: end;
}
@media screen and (max-width: 768px) {
  .btnMore {
    justify-content: center;
    margin-top: 30px;
  }
  .btnMore a {
    border-radius: 100vh;
    padding: 0.5em 2em 0.5em 3.5em;
    background: #EAF0ED;
    border: 1px solid #8a9f93;
    box-shadow: 0px 2px 2px 1px #ccc;
  }
}
.btnMore a {
  display: inline-flex;
  align-items: center;
  font-size: clamp(14px, 1.8vw, 21px);
  color: #292929;
}
.btnMore a:hover .btnWrap .btnCircle {
  animation: circlehovanime 0.3s ease forwards;
  border: 2px solid #a9a9a9;
}
.btnMore a:hover .btnWrap .moreArrow {
  animation: arrowhovanime 0.3s ease forwards;
}
.btnMore a:hover .btnWrap .moreArrow2 {
  animation: arrow2hovanime 0.3s ease forwards;
}
.btnMore a span {
  z-index: 1;
}

.btnWrap {
  width: clamp(44px, 5.5vw, 66px);
  position: relative;
}

.btnCircle {
  width: clamp(53px, 6.6vw, 80px);
  height: clamp(53px, 6.6vw, 80px);
  margin-left: -10px;
  border-radius: 50%;
  border: 2px solid #e6e6e6;
  padding: 1vw;
  animation: circleunhovanime 0.3s ease forwards;
}
@media screen and (max-width: 768px) {
  .btnCircle {
    display: none;
  }
}

.arrowWrap {
  width: 100%;
  margin-left: -10px;
  height: 2vw;
  overflow: hidden;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.moreArrow {
  width: clamp(25px, 3vw, 37px);
  position: absolute;
  top: 50%;
  left: 59%;
  transform: translate(-50%, -50%);
  transition: 0.3s all 0.1s ease;
}

.moreArrow2 {
  width: clamp(25px, 3vw, 37px);
  position: absolute;
  opacity: 0.3;
  top: 50%;
  left: 59%;
  transform: translate(-500%, -50%);
  transition: 0.3s all ease;
}

@keyframes arrowhovanime {
  100% {
    transform: translate(0%, -50%);
    opacity: 0;
  }
}
@keyframes arrow2hovanime {
  100% {
    transform: translate(-50%, -50%);
    opacity: 1;
  }
}
@keyframes circlehovanime {
  100% {
    transform: scale(1.3);
  }
}
@keyframes circleunhovanime {
  0% {
    transform: scale(1.3);
  }
  100% {
    transform: scale(1);
  }
}
/* スライドボタン */
.sldBtns {
  display: flex;
  column-gap: min(6vw, 50px);
  width: clamp(44px, 5.5vw, 66px);
  margin: 25px 0 0 35px;
}
@media screen and (max-width: 768px) {
  .sldBtns {
    display: none;
  }
}
@media screen and (max-width: 480px) {
  .sldBtns {
    display: none;
  }
}

.sldBtn {
  position: relative;
  width: clamp(33px, 4vw, 50px);
  aspect-ratio: 1/1;
  cursor: pointer;
}
.sldBtn_left .sldArrow {
  transform: translate(-50%, -50%) rotate(180deg);
}
.sldBtn:hover .sldCircle {
  background: #d9e1dd;
  border: 2px solid #477159;
}

.sldCircle {
  width: clamp(33px, 4vw, 50px);
  aspect-ratio: 1/1;
  border-radius: 50%;
  border: 2px solid #9AB1A4;
  background-color: #EAF0ED;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: 0.3s all;
}

.sldArrow {
  width: clamp(20px, 2.5vw, 30px);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* ヘッダー */
.header {
  width: 100%;
  position: fixed;
  z-index: 10;
  top: 0;
  left: 0;
}
.header h1 {
  margin: unset;
}
.header > .container {
  height: 65px;
  display: flex;
  align-items: center;
  max-width: unset;
  width: 98%;
  background-color: rgba(255, 255, 255, 0.8);
  border-radius: 100vh;
  margin: 10px auto 0 auto;
}
@media screen and (max-width: 768px) {
  .header > .container {
    height: 50px;
    margin: 5px auto 0 auto;
  }
}

.logo {
  display: block;
  line-height: 30px;
}
.logo img {
  height: min(4vw, 55px);
  vertical-align: bottom;
}
@media screen and (max-width: 768px) {
  .logo img {
    height: 35px;
  }
}

.headerNav {
  margin-left: auto;
}
@media screen and (max-width: 768px) {
  .headerNav {
    position: fixed;
    width: 100%;
    left: 0;
  }
}

.js-is-open .headerNav {
  top: 50px;
  transition: 0.3s ease-in-out;
}

.js-is-close .headerNav {
  top: -350px;
  transition: 0.2s;
}

.headerNavList {
  display: flex;
  align-items: center;
  column-gap: min(2vw, 50px);
}
.headerNavList > li {
  font-size: min(1.5vw, 24px);
  height: 2em;
}
.headerNavList .menuItem {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  color: #292929;
  font-size: min(1.3vw, 20px);
  line-height: 1em;
  transition: all 0.2s;
}
.headerNavList .menuItem:hover {
  color: #25B672;
}
.headerNavList .menuActive {
  color: #25B672;
}
@media screen and (max-width: 768px) {
  .headerNavList {
    background-color: rgba(29, 29, 29, 0.8);
    flex-wrap: wrap;
    padding: 0 30px;
    height: auto;
  }
  .headerNavList li {
    width: 100%;
    height: 50px;
  }
  .headerNavList li.mainMenu .menuItem {
    border-bottom: none;
  }
  .headerNavList li.humSubLi {
    height: 30px;
  }
  .headerNavList li.humSubLi + .humSubLi {
    height: 45px;
  }
  .headerNavList li.humSubLi + .humSubLi .humSubMenu {
    height: 45px;
  }
  .headerNavList li .menuItem {
    display: block;
    color: white;
    line-height: 50px;
    font-size: 1.4rem;
    padding-left: 15px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.5);
  }
}

.mainMenu {
  position: relative;
}

.mainMenu + .humSubLi .humSubMenu {
  border: none;
}

.humSubLi {
  display: none;
}
@media screen and (max-width: 768px) {
  .humSubLi {
    display: block;
  }
}

.humSubMenu {
  display: none;
}
@media screen and (max-width: 768px) {
  .humSubMenu {
    display: block;
    color: white;
    line-height: 35px;
    font-size: 1.3rem;
    padding-left: 35px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.5);
  }
}

.menuActive:hover .subMenu {
  opacity: 1;
  top: 90%;
  transform: translateX(-50%) scaleY(1);
}
@media screen and (max-width: 768px) {
  .menuActive:hover .subMenu {
    opacity: 0;
  }
}

.subMenu {
  position: absolute;
  left: 56%;
  background: url(img/header-subMenuBox.png) no-repeat;
  background-size: contain;
  width: 350px;
  height: 130px;
  opacity: 0;
  transition: all 0.3s;
  transform: translateX(-50%) scaleY(0.3);
  transform-origin: top center;
}
@media screen and (max-width: 768px) {
  .subMenu {
    display: none;
  }
}
.subMenu ul {
  width: 100%;
  position: absolute;
  top: 54%;
  transform: translateY(-50%);
}
.subMenu li + li {
  margin-top: 5px;
}
.subMenu a {
  position: relative;
  padding-left: 45px;
  justify-content: start;
  font-size: min(1.5vw, 16px);
  color: #292929;
}
.subMenu a:hover {
  color: #25B672;
}
.subMenu a::before {
  content: "";
  display: block;
  width: 25px;
  height: 25px;
  background: url(img/header-forge-icon.png) no-repeat center center;
  position: absolute;
  top: 50%;
  left: 17px;
  transform: translate(0, -50%);
}

@media screen and (min-width: 768px) {
  .btnContact {
    display: flex;
    position: relative;
    color: #fff !important;
    align-items: center;
    height: 30px;
    background: #EF761D;
    padding: 1px 20px 1px 36px;
    border-radius: 100vh;
    transition: all 0.4s !important;
  }
  .btnContact::before {
    content: "";
    display: block;
    width: 25px;
    height: 25px;
    background: url(img/header-tel-icon.svg) no-repeat center center;
    position: absolute;
    top: 50%;
    left: 12px;
    transform: translate(0, -50%);
  }
  .btnContact:hover {
    opacity: 0.7;
  }
}

@media screen and (max-width: 768px) {
  .headerItems {
    width: 100%;
    display: flex;
    justify-content: space-between;
    margin: 0 10px;
  }
}

.humburger {
  display: none;
}
@media screen and (max-width: 768px) {
  .humburger {
    display: block;
  }
}

.humbtn {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 15px;
  width: 23px;
}
.humbtn > .line {
  width: 100%;
  height: 1px;
  background: black;
  display: block;
  transition: 0.3s all linear;
  transform-origin: left center;
}

.js-is-open .humbtn > .line:nth-child(1) {
  transform: rotate(39deg);
}

.js-is-open .humbtn > .line:nth-child(2) {
  opacity: 0;
}

.js-is-open .humbtn > .line:nth-child(3) {
  transform: rotate(-39deg);
}

.js-is-close .humbtn > .line:nth-child(1) {
  position: relative;
  top: 0px;
}

.js-is-close .humbtn > .line:nth-child(2) {
  opacity: 1;
}

.js-is-close .humbtn > .line:nth-child(3) {
  position: relative;
}

@keyframes line1 {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(45deg);
  }
}
@keyframes line3 {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(-45deg);
  }
}
@keyframes line1-rev {
  0% {
    transform: rotate(45deg) translateY(0);
  }
  100% {
    transform: rotate(0deg) translateY(-8px);
  }
}
@keyframes line2-rev {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes line3-rev {
  0% {
    transform: rotate(-45deg) translateY(0);
  }
  100% {
    transform: rotate(0deg) translateY(11px);
  }
}
/* Topへ戻るボタン */
.toTopBtn {
  position: fixed;
  z-index: 10;
  top: calc(100vh - 10em);
  left: calc(100vw - 10em);
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
}
@media screen and (max-width: 768px) {
  .toTopBtn {
    top: calc(100vh - 6em);
    left: calc(100vw - 5em);
  }
}
.toTopBtn-block {
  opacity: 1;
  visibility: visible;
}
.toTopBtn img {
  width: 60px;
}
@media screen and (max-width: 768px) {
  .toTopBtn img {
    width: 45px;
  }
}

/* フッター */
.footerOverview {
  background: #BFD8CB;
}
.footerOverview > .container {
  width: 100%;
  display: flex;
  padding: 50px 6.6vw;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .footerOverview > .container {
    display: block;
    height: auto;
  }
}

.footerLeft {
  width: calc(50% - 20px);
}
@media screen and (max-width: 768px) {
  .footerLeft {
    width: 100%;
  }
}

.companyName {
  font-size: clamp(16px, 2.3vw, 24px);
  font-weight: 500;
  margin: 20px 0;
}
.companyName span {
  font-size: clamp(12px, 1.4vw, 14px);
  font-weight: 400;
  margin-right: 5px;
}

.footerContact {
  margin-top: 40px;
  font-size: clamp(14px, 2vw, 20px);
}
@media screen and (max-width: 768px) {
  .footerContact {
    margin-top: 20px;
  }
}

.footerContact_title {
  margin-bottom: 15px;
}
.footerContact_title_en {
  color: #fff;
}

.footerContact_info {
  display: flex;
  align-items: center;
  margin-top: 7px;
}
@media screen and (max-width: 768px) {
  .footerContact_info {
    padding-left: 25px;
  }
}

.icon__tel {
  width: 1.5em;
  height: 1.5em;
  margin-right: 8px;
}
.icon__tel::before {
  content: "";
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  background: url(img/footer-tel-icon.png) no-repeat center/contain;
}

.icon__fax {
  width: 1.5em;
  height: 1.5em;
  margin-right: 8px;
}
.icon__fax::before {
  content: "";
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  background: url(img/footer-fax-icon.png) no-repeat center/contain;
}

.icon__mail {
  width: 1.5em;
  height: 1.5em;
  margin-right: 8px;
}
.icon__mail::before {
  content: "";
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  background: url(img/footer-mail-icon.png) no-repeat center/contain;
}

.infoTxt {
  color: #292929;
}

.contactTel {
  margin-right: 2vw;
}

.txt__small {
  font-size: clamp(12px, 1.4vw, 14px);
}
@media screen and (max-width: 768px) {
  .txt__small {
    font-size: 14px;
  }
}

.footerRight {
  width: calc(50% - 20px);
}
@media screen and (max-width: 768px) {
  .footerRight {
    width: 100%;
    margin-top: 30px;
  }
}

.footerContact_title {
  display: flex;
  flex-direction: column;
}

@media screen and (max-width: 768px) {
  .footerPolicy {
    padding-left: 25px;
  }
}
.footerPolicy a {
  display: inline-block;
  padding: 10px 0 5px 0;
  color: #fff;
  border-bottom: 1px solid #fff;
}

.footer-innerBox {
  background-color: #fff;
  border-radius: min(4vw, 50px) 0;
  box-shadow: 2px 2px 8px 3px #ccc inset;
  padding: 25px min(3vw, 36px) 15px min(3vw, 36px);
}
@media screen and (max-width: 768px) {
  .footer-innerBox {
    padding: 25px 5vw 15px 5vw;
  }
}
.footer-innerBox dt {
  font-size: clamp(14px, 2vw, 20px);
  font-weight: 500;
}
.footer-innerBox dd {
  font-size: clamp(12px, 1.4vw, 14px);
  padding-bottom: 5px;
  margin-bottom: 10px;
  border-bottom: 2px #d3d3d3 solid;
}
@media screen and (max-width: 768px) {
  .footer-innerBox dd {
    font-size: 12px;
    padding-left: 5vw;
  }
}
@media screen and (max-width: 480px) {
  .footer-innerBox dd {
    padding-left: 0;
  }
}

.footerCopyright {
  height: 20px;
  background: #717171;
}
.footerCopyright p {
  color: #fff;
  font-size: 14px;
  line-height: 20px;
  margin: 0;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .footerCopyright p {
    font-size: 10px;
  }
}

/* 共通テキスト */
.sectiontxt {
  font-size: clamp(16px, 2.3vw, 24px);
}

.descptxt {
  font-size: clamp(14px, 2vw, 20px);
}

/* SPのみ改行 */
.sp-nohidden {
  display: none;
}
@media screen and (max-width: 480px) {
  .sp-nohidden {
    display: inline;
  }
}

.sp-hidden {
  display: inline;
}
@media screen and (max-width: 480px) {
  .sp-hidden {
    display: none;
  }
}

/* ヘルパー（マージン） */
.hp_mb-5 {
  margin-bottom: 5px;
}

.hp_mb-10 {
  margin-bottom: 10px;
}

.hp_mb-15 {
  margin-bottom: 15px;
}

.hp_mb-20 {
  margin-bottom: 20px;
}

.hp_mb-25 {
  margin-bottom: 25px;
}

.hp_mb-30 {
  margin-bottom: 30px;
}

.hp_mb-35 {
  margin-bottom: 35px;
}

.hp_mb-40 {
  margin-bottom: 40px;
}

.hp_mb-45 {
  margin-bottom: 45px;
}

.hp_mb-50 {
  margin-bottom: 50px;
}

.hp_mb-55 {
  margin-bottom: 55px;
}

.hp_mb-60 {
  margin-bottom: 60px;
}

.hp_mb-65 {
  margin-bottom: 65px;
}

.hp_mb-70 {
  margin-bottom: 70px;
}

.hp_mb-75 {
  margin-bottom: 75px;
}

.hp_mb-80 {
  margin-bottom: 80px;
}

.hp_mb-85 {
  margin-bottom: 85px;
}

.hp_mb-90 {
  margin-bottom: 90px;
}

.hp_mb-95 {
  margin-bottom: 95px;
}

.hp_mb-100 {
  margin-bottom: 100px;
}

@media screen and (max-width: 480px) {
  .hp_mb-5__sp {
    margin-bottom: 5px;
  }
}

@media screen and (max-width: 480px) {
  .hp_mb-10__sp {
    margin-bottom: 10px;
  }
}

@media screen and (max-width: 480px) {
  .hp_mb-15__sp {
    margin-bottom: 15px;
  }
}

@media screen and (max-width: 480px) {
  .hp_mb-20__sp {
    margin-bottom: 20px;
  }
}

@media screen and (max-width: 480px) {
  .hp_mb-25__sp {
    margin-bottom: 25px;
  }
}

@media screen and (max-width: 480px) {
  .hp_mb-30__sp {
    margin-bottom: 30px;
  }
}

@media screen and (max-width: 480px) {
  .hp_mb-35__sp {
    margin-bottom: 35px;
  }
}

@media screen and (max-width: 480px) {
  .hp_mb-40__sp {
    margin-bottom: 40px;
  }
}

@media screen and (max-width: 480px) {
  .hp_mb-45__sp {
    margin-bottom: 45px;
  }
}

@media screen and (max-width: 480px) {
  .hp_mb-50__sp {
    margin-bottom: 50px;
  }
}

@media screen and (max-width: 480px) {
  .hp_mb-55__sp {
    margin-bottom: 55px;
  }
}

@media screen and (max-width: 480px) {
  .hp_mb-60__sp {
    margin-bottom: 60px;
  }
}

@media screen and (max-width: 480px) {
  .hp_mb-65__sp {
    margin-bottom: 65px;
  }
}

@media screen and (max-width: 480px) {
  .hp_mb-70__sp {
    margin-bottom: 70px;
  }
}

@media screen and (max-width: 480px) {
  .hp_mb-75__sp {
    margin-bottom: 75px;
  }
}

@media screen and (max-width: 480px) {
  .hp_mb-80__sp {
    margin-bottom: 80px;
  }
}

@media screen and (max-width: 480px) {
  .hp_mb-85__sp {
    margin-bottom: 85px;
  }
}

@media screen and (max-width: 480px) {
  .hp_mb-90__sp {
    margin-bottom: 90px;
  }
}

@media screen and (max-width: 480px) {
  .hp_mb-95__sp {
    margin-bottom: 95px;
  }
}

@media screen and (max-width: 480px) {
  .hp_mb-100__sp {
    margin-bottom: 100px;
  }
}

.hp_mt-5 {
  margin-top: 5px;
}

.hp_mt-10 {
  margin-top: 10px;
}

.hp_mt-15 {
  margin-top: 15px;
}

.hp_mt-20 {
  margin-top: 20px;
}

.hp_mt-25 {
  margin-top: 25px;
}

.hp_mt-30 {
  margin-top: 30px;
}

.hp_mt-35 {
  margin-top: 35px;
}

.hp_mt-40 {
  margin-top: 40px;
}

.hp_mt-45 {
  margin-top: 45px;
}

.hp_mt-50 {
  margin-top: 50px;
}

.hp_mt-55 {
  margin-top: 55px;
}

.hp_mt-60 {
  margin-top: 60px;
}

.hp_mt-65 {
  margin-top: 65px;
}

.hp_mt-70 {
  margin-top: 70px;
}

.hp_mt-75 {
  margin-top: 75px;
}

.hp_mt-80 {
  margin-top: 80px;
}

.hp_mt-85 {
  margin-top: 85px;
}

.hp_mt-90 {
  margin-top: 90px;
}

.hp_mt-95 {
  margin-top: 95px;
}

.hp_mt-100 {
  margin-top: 100px;
}

@media screen and (max-width: 480px) {
  .hp_mt-5__sp {
    margin-top: 5px;
  }
}

@media screen and (max-width: 480px) {
  .hp_mt-10__sp {
    margin-top: 10px;
  }
}

@media screen and (max-width: 480px) {
  .hp_mt-15__sp {
    margin-top: 15px;
  }
}

@media screen and (max-width: 480px) {
  .hp_mt-20__sp {
    margin-top: 20px;
  }
}

@media screen and (max-width: 480px) {
  .hp_mt-25__sp {
    margin-top: 25px;
  }
}

@media screen and (max-width: 480px) {
  .hp_mt-30__sp {
    margin-top: 30px;
  }
}

@media screen and (max-width: 480px) {
  .hp_mt-35__sp {
    margin-top: 35px;
  }
}

@media screen and (max-width: 480px) {
  .hp_mt-40__sp {
    margin-top: 40px;
  }
}

@media screen and (max-width: 480px) {
  .hp_mt-45__sp {
    margin-top: 45px;
  }
}

@media screen and (max-width: 480px) {
  .hp_mt-50__sp {
    margin-top: 50px;
  }
}

@media screen and (max-width: 480px) {
  .hp_mt-55__sp {
    margin-top: 55px;
  }
}

@media screen and (max-width: 480px) {
  .hp_mt-60__sp {
    margin-top: 60px;
  }
}

@media screen and (max-width: 480px) {
  .hp_mt-65__sp {
    margin-top: 65px;
  }
}

@media screen and (max-width: 480px) {
  .hp_mt-70__sp {
    margin-top: 70px;
  }
}

@media screen and (max-width: 480px) {
  .hp_mt-75__sp {
    margin-top: 75px;
  }
}

@media screen and (max-width: 480px) {
  .hp_mt-80__sp {
    margin-top: 80px;
  }
}

@media screen and (max-width: 480px) {
  .hp_mt-85__sp {
    margin-top: 85px;
  }
}

@media screen and (max-width: 480px) {
  .hp_mt-90__sp {
    margin-top: 90px;
  }
}

@media screen and (max-width: 480px) {
  .hp_mt-95__sp {
    margin-top: 95px;
  }
}

@media screen and (max-width: 480px) {
  .hp_mt-100__sp {
    margin-top: 100px;
  }
}

.hp_ml-2em {
  margin-left: 2em;
}

/* ヘルパー（その他） */
.hp_ta-lft {
  text-align: left;
}

/* スライダー */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-user-select: unset;
  -moz-user-select: unset;
  -ms-user-select: unset;
  user-select: unset;
  -webkit-touch-callout: unset;
  -khtml-user-select: unset;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.sliderStl {
  margin: 0 auto;
  padding-bottom: 20px;
  visibility: hidden;
}
@media screen and (max-width: 480px) {
  .sliderStl {
    margin: 0 auto;
  }
}
.sliderStl.slick-initialized {
  visibility: visible;
}

@media screen and (max-width: 480px) {
  .slick-list {
    overflow: visible;
  }
}

.slick-slide {
  padding: 0 1vw;
}
@media screen and (max-width: 768px) {
  .slick-slide {
    padding: 0 clamp(20px, 3vw, 34px);
  }
}
@media screen and (max-width: 480px) {
  .slick-slide {
    padding: 0 20px;
  }
}

.bookletSlider .slick-slide {
  padding: 0 clamp(20px, 3vw, 34px);
}
@media screen and (max-width: 480px) {
  .bookletSlider .slick-slide {
    padding: 0 25px;
  }
}

.programItems .slick-slide {
  padding: 0 clamp(20px, 1.5vw, 25px);
}
@media screen and (max-width: 480px) {
  .programItems .slick-slide {
    padding: 0 25px;
  }
}

.laboSlider .slick-slide {
  padding: 0 min(3vw, 40px);
}
@media screen and (max-width: 480px) {
  .laboSlider .slick-slide {
    padding: 0 20px;
  }
}

.childcareSlider .slick-slide {
  padding: 0 min(3vw, 40px);
}
@media screen and (max-width: 480px) {
  .childcareSlider .slick-slide {
    padding: 0 20px;
  }
}

.groveSlider .slick-slide {
  padding: 0 min(3vw, 40px);
}
@media screen and (max-width: 480px) {
  .groveSlider .slick-slide {
    padding: 0 20px;
  }
}

.bookletSecSlider .slick-slide {
  padding: 0 clamp(20px, 3vw, 36px);
}
@media screen and (max-width: 480px) {
  .bookletSecSlider .slick-slide {
    padding: 0 25px;
  }
}

.slick-track {
  margin: 0;
}

/* Event Organiser */
.fc-toolbar h2 {
  font-size: clamp(14px, 2vw, 20px) !important;
}

.fc-basic-view tbody .fc-row {
  min-height: 9em !important;
}

.fc table {
  font-size: clamp(12px, 1.3vw, 16px) !important;
}

.fc button {
  font-size: clamp(14px, 2vw, 20px) !important;
}

.eo-fullcalendar .fc-view-container .fc-view table tbody .fc-widget-content .fc-day-grid-container .fc-day-grid .fc-row .fc-content-skeleton table tbody td .fc-day-grid-event {
  display: block;
  margin-bottom: 2px;
  padding: min(2px, 0.25vw) min(5px, 0.4vw);
  height: auto;
  max-height: 3em;
  line-height: 1.5em;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
  font-size: clamp(12px, 1.4vw, 14px);
  font-feature-settings: "palt";
  text-decoration: none;
  letter-spacing: 0;
  overflow: hidden;
}

.eo-fullcalendar .fc-view-container .fc-view table tbody .fc-widget-content .fc-day-grid-container .fc-day-grid .fc-row .fc-content-skeleton table thead .fc-sun {
  color: #7f1311;
}

.eo-fullcalendar .fc-view-container .fc-view table tbody .fc-widget-content .fc-day-grid-container .fc-day-grid .fc-row .fc-content-skeleton table thead .fc-sat {
  color: #356e88;
}

/* Contact Form7 */
.contact7 {
  max-width: 100%;
  box-sizing: border-box;
  font-size: clamp(16px, 2.3vw, 24px);
}
.contact7 input[type=text], .contact7 input[type=email], .contact7 input[type=tel], .contact7 input[type=""], .contact7 input[type=date], .contact7 select {
  border-radius: 100vh;
}
.contact7 textarea {
  border-radius: 0.7em;
  height: 7em;
  line-height: 1.5em;
  font-size: clamp(14px, 2vw, 20px);
}
.contact7 input, .contact7 textarea, .contact7 select {
  width: 65%;
  border: 1px solid #ADADAD;
  background-color: #F4F4F4;
  padding: 0.3em 1em;
}
@media screen and (max-width: 768px) {
  .contact7 input, .contact7 textarea, .contact7 select {
    width: 100%;
  }
}
.contact7 .must,
.contact7 .optional {
  color: #fff;
  border-radius: 3px;
  font-size: 0.7em;
  margin-left: 1em;
  padding: 0.15em 0.5em;
  letter-spacing: 0.1em;
}
.contact7 .must {
  background: #ff1a00;
}
.contact7 .optional {
  background: #999;
}
.contact7 dd {
  margin: 0 0 30px 0;
}
.contact7 dt {
  float: left;
  clear: left;
  width: 35%;
}
@media screen and (max-width: 768px) {
  .contact7 dt {
    float: none;
    width: 100%;
    margin-bottom: 10px;
  }
}

input[type=checkbox] {
  transform: scale(2);
  margin-right: 0.5em;
  position: relative;
  top: -0.05em;
}

input[type=submit] {
  font-size: clamp(16px, 2.3vw, 24px);
  padding: 0.5em 3em;
}

.btn_contact7 {
  text-align: center;
}

.wpcf7-spinner {
  display: none !important;
}

.chkboxTxt {
  text-align: center;
  font-size: clamp(16px, 2.3vw, 24px);
}

.contactPolicy {
  text-align: center;
  font-size: clamp(14px, 1.7vw, 20px);
  color: #717171;
}

.wpcf7-not-valid-tip {
  font-size: 0.8em !important;
}

.wpcf7-response-output {
  font-size: clamp(16px, 2.3vw, 24px);
  border-color: #25B672 !important;
}

/* Wp-Pagenavi */
.wp-pagenavi {
  /* 全体 */
  margin-top: 5em;
  font-size: clamp(12px, 1.4vw, 14px);
  text-align: center;
}

.wp-pagenavi a {
  /* フォント色 */
  color: #4a4a4a;
}

.pages {
  /* 左の表記 */
  margin-right: 20px;
}

.wp-pagenavi .current,
.wp-pagenavi a.page {
  /* ボタン */
  margin: 0 6px 6px 0;
  display: inline-block;
  border: solid 1px rgb(219, 219, 219);
  width: 40px;
  height: 40px;
  border-radius: 50%;
  line-height: 40px;
  text-align: center;
}

.wp-pagenavi .current {
  /* カレント数字 */
  border: none;
  background: #85ba9e;
  color: #fff;
}

.wp-pagenavi a.page:hover {
  /* マウスオーバー */
  background: #cee4d9;
  color: #fff;
}

.wp-pagenavi .first,
.wp-pagenavi .extend {
  /* ... */
  margin-right: 10px;
}

.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
  /* 記号の削除 */
  display: none;
}

.sectionTtl {
  position: relative;
}

.sectionTtl__cnt {
  text-align: center;
}

.sectionTtl_en {
  font-size: clamp(40px, 8vw, 100px);
  font-weight: 500;
  letter-spacing: 0.6em;
  text-indent: 0.6em;
  line-height: 1.3;
}
@media screen and (max-width: 768px) {
  .sectionTtl_en {
    letter-spacing: 4.8vw;
    text-indent: 2.4vw;
  }
}

.sectionTtl_en__s {
  font-size: clamp(36px, 5vw, 60px);
  letter-spacing: 0.3em;
  line-height: 1.3;
}

.sectionTtl_en__wht {
  color: #fff;
}

.sectionTtl_en__grn {
  color: #dff2e8;
}

.sectionTtl_ja__s {
  font-size: clamp(18px, 2.5vw, 30px);
  letter-spacing: 0.1em;
  position: absolute;
  bottom: 0;
  left: 0;
}

.sectionTtl_ja {
  width: 100%;
  font-size: clamp(24px, 4vw, 48px);
  font-weight: 500;
  letter-spacing: 0.1em;
  position: absolute;
  top: 30%;
  left: 50%;
  transform: translateX(-50%);
}

.subTtl {
  font-size: clamp(19px, 3vw, 36px);
  color: #25B672;
  font-weight: bold;
  text-shadow: 1px 1px 1px #808080;
}

.sec_sectionTtl_en {
  font-size: clamp(28px, 5.8vw, 70px);
  font-weight: 500;
  letter-spacing: 0.6em;
  text-indent: 0.3em;
  line-height: 1.3;
}
@media screen and (max-width: 768px) {
  .sec_sectionTtl_en {
    letter-spacing: 4.8vw;
    text-indent: 2.4vw;
  }
}

.sec_sectionTtl_ja {
  width: 100%;
  font-size: clamp(20px, 3.3vw, 40px);
  font-weight: 500;
  letter-spacing: 0.1em;
  position: absolute;
  top: 45%;
  left: 50%;
  transform: translateX(-50%);
}

.partnershipTtl_en {
  font-size: clamp(26px, 3.3vw, 40px);
  font-weight: 500;
  letter-spacing: 0.6em;
  text-indent: 0.3em;
  line-height: 1.3;
}
@media screen and (max-width: 768px) {
  .partnershipTtl_en {
    letter-spacing: 3vw;
    text-indent: 1.5vw;
  }
}

.partnershipTtl_ja {
  width: 100%;
  font-size: clamp(20px, 3vw, 28px);
  letter-spacing: 0.1em;
  position: absolute;
  top: 45%;
  left: 50%;
  transform: translateX(-50%);
}

.supptTtl {
  display: inline-block;
  padding: 2px 10vw;
  text-align: center;
  font-size: clamp(18px, 3vw, 30px);
  letter-spacing: 0.2em;
  font-weight: bold;
  color: #25B672;
  border: 1px solid #9AB1A4;
  border-radius: 100vh;
  background-color: #DFF2E8;
}

.businessYear {
  font-size: clamp(16px, 2.2vw, 26px);
}

.innerMenuTtl {
  width: 80%;
  padding-bottom: 10px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  font-size: clamp(18px, 2.7vw, 32px);
  font-weight: 500;
  border-bottom: 3px dotted #6cd0a1;
}
@media screen and (max-width: 480px) {
  .innerMenuTtl {
    width: 90%;
  }
}

.pointTtl {
  width: fit-content;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  font-size: clamp(18px, 2.2vw, 26px);
  line-height: 1;
  align-items: center;
  font-weight: 500;
}
.pointTtl::after {
  content: "";
  display: block;
  width: 7em;
  height: 1.4em;
  background: url(img/canal-pointTtl-border.png) no-repeat center center;
}

.innerBox {
  background-color: #fff;
  border-radius: min(6vw, 80px) 0;
  box-shadow: 2px 2px 8px 3px #ccc inset;
  padding: 55px 0;
}
.innerBox p + p {
  margin-top: 10px;
}
@media screen and (max-width: 480px) {
  .innerBox {
    padding: 40px 0;
  }
}

.innerBox__grn {
  background-color: #EAF0E7;
  box-shadow: 2px 2px 8px 3px #ccc;
}

.enclosure {
  display: inline-block;
  padding: min(0.03em, 1px) 15px;
  text-align: center;
  font-size: clamp(12px, 1.4vw, 14px);
  border: 1px solid #292929;
  border-radius: 100vh;
  background-color: #FFF;
}
.enclosure.enclosure__consult {
  min-width: 58px;
  border: 1px solid #25B672;
  color: #25B672;
  margin: clamp(1px, 0.3vw, 3px) 1em 0 1em;
}
.enclosure.enclosure__sup {
  margin: unset;
  background-color: #25B672;
  color: #FFF;
}

.enclosure_pr {
  font-size: clamp(12px, 1.4vw, 14px);
  color: #48745b;
}

.enclosure__sup {
  font-size: clamp(14px, 2vw, 20px);
}

.FV {
  margin-top: -80px;
}

.FV_inner {
  width: 100vw;
  aspect-ratio: 2/1;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .FV_inner {
    height: 350px;
  }
}

.FV_inner__s {
  aspect-ratio: 4/1;
}

/* TOP */
.copy {
  width: 60%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: clamp(24px, 3.5vw, 100px);
  font-weight: bold;
  color: #1f3d2c;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .copy {
    width: 100%;
    top: 60%;
    line-height: 1.7;
    font-size: 24px;
  }
}
.copy_1 {
  color: #fff;
  text-shadow: 1px 1px 1px #808080;
}
@media screen and (max-width: 768px) {
  .copy_1 {
    text-align: center;
  }
}
.copy_2 {
  text-align: center;
}
.copy_3 {
  text-align: right;
  color: #fff;
  text-shadow: 1px 1px 1px #808080;
}
@media screen and (max-width: 768px) {
  .copy_3 {
    text-align: center;
  }
}

/* 2nd layer */
.pageTtl {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: clamp(350px, 65vw, 1200px);
  margin: 0 auto;
}

.pageTtl_sub {
  position: relative;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.backAcc {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 0.45em;
  border: 1px solid #25B672;
  border-radius: 100vh;
}

.pageTtl_subTxt {
  font-size: clamp(16px, 2.4vw, 45px);
  color: #25B672;
  letter-spacing: 0.2em;
  background-color: #fff;
  padding: 0 0.7em;
  z-index: 1;
}

.pageTtl_main {
  font-size: clamp(20px, 3.2vw, 65px);
  font-weight: bold;
  color: #1f3d2c;
  text-align: center;
}

.pageTtl_aux {
  font-size: clamp(14px, 2.1vw, 38px);
  align-self: end;
}

/* TOP */
.news {
  background: linear-gradient(to bottom, white 20%, #dff2e8 20%);
  padding-bottom: 10px;
}
@media screen and (max-width: 768px) {
  .news {
    background: none;
    padding-bottom: 50px;
  }
}

.newsBlock {
  width: 100%;
  max-width: 1060px;
  margin: 0 auto;
  padding: 30px 3.3vw;
  background-color: #fff;
  box-shadow: 0 0 6px 3px rgba(0, 0, 0, 0.2);
  border-radius: 35px 35px 35px 35px;
}
@media screen and (max-width: 768px) {
  .newsBlock {
    padding: 0;
    box-shadow: none;
    border-radius: 0;
  }
}

.newsList {
  width: 100%;
  max-width: 900px;
  padding: 0 20px;
  margin: 20px auto 0 auto;
}
.newsList ul {
  margin-bottom: 38px;
}
@media screen and (max-width: 768px) {
  .newsList {
    padding: 0;
  }
}

.newsItem {
  display: flex;
}
.newsItem + li {
  margin-top: 17px;
}
.newsItem .newsWrap {
  display: flex;
  align-items: flex-start;
  width: 100%;
  padding: 0 10px 7px 10px;
  color: #292929;
  font-size: clamp(12px, 1.4vw, 14px);
  border-bottom: 2px solid #bdbdbd;
}
@media screen and (max-width: 768px) {
  .newsItem .newsWrap {
    display: block;
  }
}

.dateWrap {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
}

.newsDate {
  min-width: 10em;
}

.newsCat {
  min-width: 10em;
  margin-left: 1em;
  padding: 3px 10px;
  text-align: center;
  border-radius: 100vh;
}

.catcommunity {
  background-color: rgb(247, 142, 247);
}

.catinfo {
  background-color: rgb(78, 213, 244);
}

.catsemi {
  background-color: rgb(217, 238, 94);
}

.newsTtl {
  margin-left: 40px;
  font-size: clamp(14px, 2vw, 20px);
}
@media screen and (max-width: 768px) {
  .newsTtl {
    margin-left: 0;
  }
}
.newsTtl a {
  color: inherit;
}

.community {
  background-color: #dff2e8;
  padding-bottom: 70px;
}

.about {
  padding: 100px 0;
}
@media screen and (max-width: 768px) {
  .about {
    padding: 50px 0;
  }
}

.abouttxt {
  margin-top: -20px;
}
@media screen and (max-width: 768px) {
  .abouttxt {
    margin-top: -15px;
  }
}

.innerColorTtl {
  text-align: center;
  font-size: clamp(20px, 3.3vw, 40px);
  text-shadow: 1px 1px 1px #808080;
}
.innerColorTtl__or {
  color: #EF761D;
}
.innerColorTtl__yl {
  color: #FCB800;
}

.content {
  margin-top: 60px;
}
@media screen and (max-width: 480px) {
  .content {
    margin-top: 40px;
  }
}

.panelGrp {
  width: 100%;
  display: flex;
  justify-content: space-between;
  column-gap: min(1.8vw, 22px);
  margin: 50px 0;
}
@media screen and (max-width: 768px) {
  .panelGrp {
    flex-direction: column;
    width: 70%;
    margin: 40px auto;
    row-gap: 20px;
  }
}
@media screen and (max-width: 480px) {
  .panelGrp {
    margin: 25px auto;
  }
}

.panel {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 1vw;
  aspect-ratio: 1/1;
  padding: 3vw 1vw 1vw 1vw;
  background-color: #F4F4F4;
  border-radius: 1.3vw;
  box-shadow: 0px 0px 6px 3px #ccc;
}
@media screen and (max-width: 768px) {
  .panel {
    justify-content: center;
    aspect-ratio: 1/0.8;
  }
}
.panel img {
  width: 60%;
}
@media screen and (max-width: 768px) {
  .panel img {
    width: 50%;
  }
}
.panelTxt {
  font-size: clamp(14px, 2vw, 20px);
  text-align: center;
  margin-top: 10px;
}

.kobeclub {
  padding: 70px 0;
  overflow: hidden;
}
@media screen and (max-width: 480px) {
  .kobeclub > .container {
    padding: 0;
  }
}

.clubBox {
  margin-top: 100px;
}
@media screen and (max-width: 768px) {
  .clubBox {
    margin-top: 60px;
  }
}
.clubBox ul {
  width: 100%;
  display: flex;
  margin: 50px 0 40px 0;
  column-gap: 4.5%;
}

.clubSubTtl {
  font-size: clamp(20px, 3vw, 36px);
  font-weight: 500;
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
  margin-bottom: 25px;
}

@media screen and (max-width: 480px) {
  .pcAnno {
    display: none;
  }
}

.bookletItem {
  width: 25%;
}

.cardItem {
  text-align: left;
}

.thumb img {
  width: 100%;
  height: auto;
  aspect-ratio: 1/1.4;
  border: 1px solid #d3d3d3;
}

.overlay {
  position: relative;
  overflow: hidden;
}
.overlay::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: -100%;
  background-color: white;
  opacity: 0.2;
}
.overlay:hover::before {
  transform: translateX(100%);
  transition: 0.3s all;
  touch-action: manipulation;
  pointer-events: none;
}

.cardTtl {
  font-size: clamp(14px, 2vw, 20px);
  font-weight: 500;
  margin-top: 15px;
}
@media screen and (max-width: 768px) {
  .cardTtl {
    margin-top: 8px;
  }
}

.contentTtl {
  font-size: clamp(18px, 2.5vw, 30px);
  padding-bottom: 10px;
  margin-bottom: 35px;
  border-bottom: 2px solid #7ea38e;
}

.cardTxt {
  font-size: clamp(12px, 1.4vw, 14px);
  margin-top: 5px;
}

.imgBorder {
  border: 0.5px solid #292929;
}

.radioItems {
  width: 100%;
  display: flex;
  justify-content: space-between;
  margin-bottom: 50px;
}
@media screen and (max-width: 768px) {
  .radioItems {
    flex-direction: column;
    width: 70%;
    margin: 40px auto;
    row-gap: 20px;
  }
}
@media screen and (max-width: 480px) {
  .radioItems {
    margin: 20px auto;
  }
}

.radioItem {
  width: 30%;
}
.radioItem img {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .radioItem {
    width: 100%;
  }
}

/* canaltown */
.supportProgram {
  background-color: #EAF0E7;
  padding-top: 80px;
}
@media screen and (max-width: 480px) {
  .supportProgram {
    padding: 45px 0 30px 0;
  }
}

.programItems {
  display: flex;
  flex-wrap: wrap;
  column-gap: 5%;
}
@media screen and (max-width: 480px) {
  .programItems {
    margin: 0 30px;
  }
}

.programItem {
  width: 30%;
}
@media screen and (max-width: 768px) {
  .programItem {
    display: flex;
    align-items: flex-start;
    column-gap: 5%;
    width: 100%;
  }
}
@media screen and (max-width: 480px) {
  .programItem {
    display: block;
  }
}

.programthumb {
  border: 1px solid #ccc;
  width: 100%;
  aspect-ratio: 1/0.65;
}
.programthumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 768px) {
  .programthumb {
    width: 50%;
    margin-right: 1em;
  }
}
@media screen and (max-width: 480px) {
  .programthumb {
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  .programItemRight {
    width: 45%;
  }
}
@media screen and (max-width: 480px) {
  .programItemRight {
    width: 100%;
  }
}

.programTtl {
  font-size: clamp(14px, 2vw, 20px);
  font-weight: 500;
  margin-top: 20px;
  border-bottom: 3px solid #9AB1A4;
}
@media screen and (max-width: 768px) {
  .programTtl {
    margin-top: 0px;
  }
}
@media screen and (max-width: 480px) {
  .programTtl {
    margin-top: 10px;
  }
}

.programTxt {
  font-size: clamp(14px, 1.4vw, 16px);
}
@media screen and (max-width: 480px) {
  .programTxt {
    margin-top: 0;
  }
}

.programFlex {
  display: flex;
  align-items: flex-start;
}

.wordCount-3 {
  min-width: 5em;
}

.wordCount-4 {
  min-width: 6em;
}

.wordCount-5 {
  min-width: 7em;
}

.ownProgram {
  background-color: #EAF0E7;
  padding-top: 80px;
}
@media screen and (max-width: 480px) {
  .ownProgram {
    padding-top: 10px;
  }
}

.contentWrap {
  text-align: center;
}
@media screen and (max-width: 480px) {
  .contentWrap {
    overflow: hidden;
  }
}

.useFacility {
  background-color: #EAF0E7;
  margin-top: -60px;
  padding: 80px 0 60px 0;
}
@media screen and (max-width: 480px) {
  .useFacility {
    padding: 70px 0 30px 0;
  }
}

.calendar {
  padding: 80px 0 60px 0;
}
.calendar .container {
  text-align: center;
}
.calendar .container button {
  width: 100%;
}
@media screen and (max-width: 480px) {
  .calendar {
    padding: 60px 0 30px 0;
  }
}

.eventOrganiser {
  margin: 40px 0 70px 0;
}
@media screen and (max-width: 480px) {
  .eventOrganiser {
    display: none;
  }
}

.eventOrganiser__sp {
  display: none;
}
@media screen and (max-width: 480px) {
  .eventOrganiser__sp {
    display: block;
    margin: 45px 0;
  }
}

.btnBooking {
  display: block;
  width: 100%;
  max-width: 300px;
  height: 2.5em;
  line-height: 2.5em;
  margin: 0 auto 10px auto;
  font-size: clamp(16px, 2.3vw, 24px);
  color: #fff !important;
  align-items: center;
  background: #EF761D;
  border-radius: 100vh;
  box-shadow: 0 6px rgb(168, 168, 168);
  transition: opacity 0.3s;
}
.btnBooking:active {
  position: relative;
  top: 6px;
  box-shadow: none;
}
.btnBooking:hover {
  opacity: 0.8;
}

.canalInfo {
  padding: 80px 0 60px 0;
}
@media screen and (max-width: 480px) {
  .canalInfo {
    padding: 40px 0 30px 0;
  }
}

.facilityInfo {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
.facilityInfo img {
  width: 40%;
}
@media screen and (max-width: 768px) {
  .facilityInfo {
    flex-direction: column-reverse;
  }
  .facilityInfo img {
    width: 85%;
    margin: 20px auto 0 auto;
  }
}
@media screen and (max-width: 768px) and (max-width: 480px) {
  .facilityInfo img {
    width: 100%;
  }
}

.facilityDetail {
  width: 100%;
}

.facilityTable {
  font-size: clamp(14px, 1.7vw, 20px);
  border-collapse: collapse;
  margin-top: 15px;
}
.facilityTable td, .facilityTable th {
  padding: 1em 0;
}
.facilityTable tr {
  text-align: left;
  border-bottom: 1px solid #292929;
}
.facilityTable tr:first-child {
  border-top: 1px solid #292929;
}
.facilityTable th {
  display: flex;
  align-items: flex-start;
  color: #25B672;
  padding: 1em 3em 1em 0.8em;
}
@media screen and (max-width: 768px) {
  .facilityTable {
    width: 80%;
    margin: 15px auto 0 auto;
  }
}
@media screen and (max-width: 480px) {
  .facilityTable {
    width: 100%;
  }
}

.infoNoteWrap {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .infoNoteWrap {
    flex-direction: column;
  }
}

.infoNote-left {
  margin-right: min(3.3vw, 40px);
  text-align: left;
}
.infoNote-left ul {
  font-size: clamp(14px, 1.7vw, 20px);
  margin-left: 1em;
}
.infoNote-left ul li {
  list-style: disc;
  margin-top: 8px;
}

.noteTtl {
  font-size: clamp(21px, 2.6vw, 32px);
}

.infoNote-right {
  width: 45%;
}
.infoNote-right img {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .infoNote-right {
    width: 70%;
    margin: 30px auto 0 auto;
  }
}

.price {
  padding: 80px 0 60px 0;
}
@media screen and (max-width: 480px) {
  .price {
    padding: 40px 0 30px 0;
  }
}

@media screen and (max-width: 480px) {
  .priceTableWrap {
    display: none;
  }
}

.priceTableWrap__sp {
  display: none;
}
@media screen and (max-width: 480px) {
  .priceTableWrap__sp {
    display: block;
  }
}

.priceTable {
  width: 100%;
  font-size: clamp(16px, 2.3vw, 24px);
  font-weight: 500;
  border-collapse: collapse;
}
.priceTable tr {
  border-bottom: 1px dotted #25B672;
}
.priceTable tr:first-child {
  background-color: #E7F2EC;
}
.priceTable tr:first-child td {
  font-weight: 400;
}
.priceTable tr th {
  width: 30%;
  color: #25B672;
}
.priceTable tr td, .priceTable tr th {
  text-align: center;
  padding: 0.8em 0;
}

.priceTable__sp {
  width: 100%;
  font-size: clamp(16px, 2.3vw, 24px);
  border-collapse: collapse;
}
.priceTable__sp tr {
  border-bottom: 1px dotted #25B672;
}
.priceTable__sp tr:first-child {
  border-top: 1px dotted #25B672;
}
.priceTable__sp tr th {
  display: flex;
  align-items: flex-start;
  color: #25B672;
  padding: 0.8em 2em 0.8em 0.8em;
  width: 9em;
}
.priceTable__sp tr td {
  padding: 0.8em 0;
}

.taxinclude {
  font-size: clamp(16px, 2.3vw, 24px);
  text-align: right;
}

.priceNote ul {
  font-size: clamp(14px, 1.7vw, 20px);
  margin-left: 3em;
}
@media screen and (max-width: 480px) {
  .priceNote ul {
    margin-left: 1em;
  }
}
.priceNote ul li {
  list-style: disc;
  margin-top: 8px;
}

.priceNoteTtl {
  padding-bottom: 0.3em;
  border-bottom: 1px solid #25B672;
}

.priceNoteTxt {
  font-size: clamp(14px, 1.7vw, 20px);
  margin: 0 3em;
}
@media screen and (max-width: 480px) {
  .priceNoteTxt {
    margin: 0 1em;
  }
}

.reservation {
  padding: 80px 0 60px 0;
}
@media screen and (max-width: 480px) {
  .reservation {
    padding: 40px 0 30px 0;
  }
}

.telContact {
  font-size: clamp(16px, 2.1vw, 26px);
  text-align: center;
  border-radius: 1.5em;
  box-shadow: 0 0 6px 3px #ccc;
  padding: 1.2em 0;
}
.telContactTxt {
  font-size: clamp(14px, 1.7vw, 20px);
}
.telContactName {
  color: #25B672;
}
.telContactNumber {
  font-size: clamp(21px, 2.6vw, 32px);
}
@media screen and (max-width: 480px) {
  .telContactNumber {
    line-height: 1;
  }
}

.formTxt {
  font-size: clamp(14px, 1.7vw, 20px);
  margin-left: 2em;
  margin-right: 2em;
}
@media screen and (max-width: 480px) {
  .formTxt {
    margin-left: 0.5em;
    margin-right: 0.5em;
  }
}

/* grove */
.amigo, .grove, .whereAbouts {
  background-color: #D2EBED;
  padding: 80px 0 60px 0;
}
@media screen and (max-width: 480px) {
  .amigo, .grove, .whereAbouts {
    padding: 45px 0 30px 0;
  }
}

.groveTable {
  margin: 0 min(6vw, 72px);
  width: calc(100% - min(12vw, 144px));
  font-size: clamp(16px, 2.3vw, 24px);
  border-collapse: collapse;
}
.groveTable tr {
  border-bottom: 3px dotted #25B672;
}
.groveTable tr:first-child {
  border-top: 3px dotted #25B672;
}
.groveTable tr th {
  width: 30%;
  color: #25B672;
  font-weight: 500;
}
.groveTable tr td {
  text-align: left;
  padding-left: min(7vw, 120px);
}
.groveTable tr td, .groveTable tr th {
  padding-top: 0.8em;
  padding-bottom: 0.8em;
}
@media screen and (max-width: 480px) {
  .groveTable {
    margin: 0 2vw;
    width: 100%;
  }
}

.pointItems {
  display: flex;
  column-gap: min(2.5vw, 30px);
}
@media screen and (max-width: 768px) {
  .pointItems {
    flex-direction: column;
    row-gap: 25px;
  }
}

.pointItem {
  width: 100%;
  aspect-ratio: 1/0.65;
}
@media screen and (max-width: 768px) {
  .pointItem {
    text-align: center;
    aspect-ratio: unset;
  }
}
.pointItem img {
  border: 1px solid #ccc;
  border-radius: 30px 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 768px) {
  .pointItem img {
    width: 66vw;
    height: 43vw;
  }
}
.pointItem p {
  font-size: clamp(14px, 2vw, 20px);
}

.groveInfo {
  padding: 80px 0 60px 0;
}
@media screen and (max-width: 480px) {
  .groveInfo {
    padding: 60px 0 30px 0;
  }
}

.groveMap {
  text-align: center;
}
.groveMap iframe {
  width: min(90%, 800px);
  aspect-ratio: 16/9;
}

/* support */
.consulting {
  background-color: #E7F0EB;
  padding: 80px 0 60px 0;
}
@media screen and (max-width: 480px) {
  .consulting {
    padding: 45px 0 30px 0;
  }
}

.leadCopy {
  font-size: clamp(18px, 2.7vw, 32px);
  color: #EF761D;
}

.quoteTtl {
  font-size: clamp(16px, 2.3vw, 24px);
}

.leadTxt, .quoteSource {
  font-size: clamp(14px, 1.7vw, 20px);
}

.blockquote {
  position: relative;
  padding: min(3.5vw, 40px);
  font-size: clamp(12px, 1.7vw, 20px);
  background-color: #F8F8F8;
}

.quotemark {
  position: absolute;
  display: flex;
  column-gap: 3px;
}
@media screen and (max-width: 768px) {
  .quotemark {
    column-gap: 2px;
  }
}
.quotemark::before, .quotemark::after {
  width: 8px;
  height: 17px;
  content: "";
  background: #9AB1A4;
}
@media screen and (max-width: 768px) {
  .quotemark::before, .quotemark::after {
    width: 5px;
    height: 12px;
  }
}
.quotemark:nth-child(1) {
  top: 0;
  left: 0;
}
.quotemark:nth-child(2) {
  right: 0;
  bottom: 0;
}

.supportContactWrap {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 0;
}
.supportContactWrap span {
  font-size: clamp(20px, 3.3vw, 40px);
  color: #808080;
}
@media screen and (max-width: 768px) {
  .supportContactWrap {
    flex-direction: column;
  }
}
.supportContactNumber {
  margin-left: 1.3em;
  position: relative;
  font-size: clamp(24px, 3.6vw, 44px);
}
.supportContactNumber::before {
  content: "";
  display: block;
  width: 1.2em;
  height: 1.2em;
  background: url(img/tel-icon.svg) no-repeat center/contain;
  position: absolute;
  top: 50%;
  left: -1.2em;
  transform: translate(0, -50%);
}
.supportContactNumber::after {
  content: "";
  position: absolute;
  display: block;
  width: 9em;
  height: 0.5em;
  background-color: #f2aa75;
  bottom: 1%;
  left: -1.2em;
  transform: translateX(-8%) rotate(-1.5deg);
  z-index: -1;
}

.hp_mr-1em {
  margin-right: 1em;
}

.areaTtl {
  display: flex;
  align-items: center;
}
.areaTtl .areaTxt {
  width: 100%;
  min-width: 9em;
  max-width: 10em;
  padding: 0 1em;
  text-align: center;
  font-size: clamp(16px, 2.3vw, 24px);
  color: #25B672;
  flex-grow: 1;
}
.areaTtl .border {
  height: 2.5px;
  width: 100%;
  background: url("img/guide-dots.jpg") repeat-x;
}

.consultMain {
  font-size: clamp(16px, 2.3vw, 24px);
}

.listdot {
  display: inline-block;
  vertical-align: bottom;
  width: 1em;
  height: 1em;
  margin: 0 0.5em 0.25em 0;
  position: relative;
}
.listdot::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 0.6em;
  height: 0.6em;
  border-radius: 50%;
  background-color: #25B672;
}

.consultSub {
  display: flex;
  align-items: flex-start;
  font-size: clamp(14px, 2vw, 20px);
}

.workshop {
  padding-top: 80px;
}
.workshopInfoTtl {
  font-size: clamp(18px, 2.2vw, 26px);
  color: #EF761D;
}
@media screen and (max-width: 480px) {
  .workshop {
    padding: 60px 0 30px 0;
  }
}

.workshopReport {
  width: fit-content;
  margin: 0 auto;
}

.reportItem {
  display: flex;
  font-size: clamp(14px, 1.3vw, 16px);
  margin-bottom: 2em;
}
@media screen and (max-width: 768px) {
  .reportItem {
    flex-direction: column;
  }
}

.reportDate {
  color: #4f8565;
  width: 12em;
  margin-right: min(3em, 30px);
}
@media screen and (max-width: 768px) {
  .reportDate {
    font-weight: 500;
  }
}

.reportTtl {
  margin-bottom: 0.5em;
  letter-spacing: 0.12em;
}

.repotrInstructor {
  display: flex;
  font-size: clamp(12px, 1.4vw, 14px);
  padding-left: min(1em, 15px);
  border-left: 3px solid #9AB1A4;
}

.instructorSub {
  width: 3em;
  margin-right: 1em;
}

.workshopTtl {
  font-size: clamp(16px, 2.3vw, 24px);
  color: #25B672;
}

.workshopAccess {
  display: flex;
  column-gap: min(3.3vw, 40px);
}
@media screen and (max-width: 768px) {
  .workshopAccess {
    flex-direction: column;
  }
}

.workshopAccessMap {
  width: 50%;
}
.workshopAccessMap iframe {
  width: min(100%, 700px);
  aspect-ratio: 16/9;
}
@media screen and (max-width: 768px) {
  .workshopAccessMap {
    width: 100%;
    margin-bottom: 15px;
  }
}

.workshopAccessTtl {
  position: relative;
  padding-right: 5em;
  font-size: clamp(14px, 1.5vw, 18px);
  color: #25B672;
  font-weight: 500;
  margin-bottom: 0.5em;
}
.workshopAccessTtl::after {
  content: "";
  width: 3em;
  height: 0.05em;
  background-color: #25B672;
  display: inline-block;
  position: absolute;
  top: 60%;
  margin-left: 0.5em;
}

.workshopAdress, .workshopAccessTxt {
  font-size: clamp(14px, 1.4vw, 16px);
  margin-left: 1em;
}

.workshopAccessTxt li {
  list-style: disc inside;
  margin-bottom: 0.5em;
}

.ownersClub {
  background-color: #EAF0E7;
  padding: 80px 0 60px 0;
}
.ownersClubTtl {
  font-size: clamp(18px, 2.7vw, 32px);
  font-weight: 500;
}
@media screen and (max-width: 480px) {
  .ownersClub {
    padding: 60px 0 30px 0;
  }
}

.detailWrap {
  display: flex;
  justify-content: space-between;
  margin: 0 4em;
  letter-spacing: 0.12em;
  font-size: clamp(14px, 2vw, 20px);
}
@media screen and (max-width: 480px) {
  .detailWrap {
    flex-direction: column;
    margin: 0;
  }
}
.detailWrapRight {
  font-weight: 500;
  margin-top: 5px;
}

.partnershipWrap {
  display: flex;
  column-gap: 5%;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .partnershipWrap {
    flex-direction: column;
  }
}
.partnershipWrapLeft {
  width: 47.5%;
}
@media screen and (max-width: 768px) {
  .partnershipWrapLeft {
    width: 100%;
  }
}
.partnershipWrapRight {
  width: 47.5%;
}
@media screen and (max-width: 768px) {
  .partnershipWrapRight {
    width: 100%;
  }
  .partnershipWrapRight .li-mb {
    margin-bottom: 20px;
  }
}
.partnershipWrapRight ul, .partnershipWrapRight .partnershipWrapContact {
  font-size: clamp(14px, 1.5vw, 18px);
  margin: 10px 1.3vw 40px 1.3vw;
}
@media screen and (max-width: 768px) {
  .partnershipWrapRight ul, .partnershipWrapRight .partnershipWrapContact {
    margin: 5px 1.3vw 0 1.3vw;
  }
}
.partnershipWrapRight li {
  list-style: disc inside;
  margin-bottom: 0.6em;
}
.partnershipWrapContactName {
  margin-right: 4em;
  font-size: clamp(14px, 1.5vw, 18px);
}
.partnershipWrapContactNumber {
  position: relative;
  font-size: clamp(14px, 1.5vw, 18px);
}
.partnershipWrapContactNumber::before {
  content: "";
  display: block;
  width: 25px;
  height: 25px;
  background: url(img/club-tel-icon.png) no-repeat center center;
  position: absolute;
  top: 50%;
  left: -1.8em;
  transform: translate(0, -50%);
}
.partnershipWrapContact-flex {
  display: flex;
}

.enclosure.enclosure__l {
  font-size: clamp(14px, 2vw, 20px);
  margin-left: 0;
  margin-right: 0;
}

.overviewTable {
  margin: 10px 1.3vw 20px 1.3vw;
  font-size: clamp(14px, 1.5vw, 18px);
}

.overviewRecord {
  display: flex;
  margin-bottom: 0.6em;
}
.overviewRecordMain {
  font-weight: 500;
  margin-right: 3em;
  min-width: 4em;
}

/* information */
.booklet {
  background-color: #E7EEF0;
  padding-top: 80px;
}
@media screen and (max-width: 480px) {
  .booklet {
    overflow: hidden;
  }
}

.bookletTtl {
  font-size: clamp(16px, 2.3vw, 24px);
  font-weight: 500;
  margin-top: 15px;
  padding-bottom: 5px;
  border-bottom: 6px solid #678875;
}
@media screen and (max-width: 768px) {
  .bookletTtl {
    margin-top: 8px;
    border-bottom: 3px solid #678875;
  }
}

.radio {
  background-color: #E7EEF0;
  padding: 100px 0 80px 0;
}

.innerRadioTtl {
  width: 100%;
  padding-bottom: 10px;
  margin: 0 auto 50px auto;
  font-size: clamp(16px, 2.1vw, 26px);
  font-weight: 500;
  border-bottom: 1px solid #6cd0a1;
}

.radioContent {
  display: flex;
  align-items: flex-start;
  column-gap: min(3.3vw, 40px);
}
.radioContent > img {
  width: 44%;
}
@media screen and (max-width: 480px) {
  .radioContent {
    flex-direction: column;
    width: 85%;
    margin: 40px auto;
    row-gap: 20px;
  }
  .radioContent > img {
    width: 100%;
  }
}

.radioTxt {
  font-size: clamp(14px, 2vw, 20px);
}

.partnership {
  padding: 80px 0;
}
@media screen and (max-width: 480px) {
  .partnership {
    padding: 40px 0;
  }
}

.partnershipList {
  display: flex;
  flex-wrap: wrap;
  column-gap: 5%;
  row-gap: 1.3em;
}
@media screen and (max-width: 480px) {
  .partnershipList {
    display: block;
  }
}

.partnershipItem {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 30%;
  height: min(63.2px, 5.2vw);
  background-color: #FFF;
  border-radius: 0.5vh;
  box-shadow: 0px 3px 6px 3px #ccc;
}
@media screen and (max-width: 768px) {
  .partnershipItem {
    width: 47.5%;
    height: 8.2vw;
  }
}
@media screen and (max-width: 480px) {
  .partnershipItem {
    width: min(300px, 62vw);
    height: min(60px, 12.4vw);
    margin: 0 auto 15px auto;
  }
}
.partnershipItem a img {
  display: block;
  width: 100%;
  padding: 0 14%;
}

/* archive-news */
.newsArchWrap {
  margin: 0 2vw 8em 0;
}

.newsArchList {
  display: flex;
  align-items: flex-start;
  width: 100%;
  padding: 2em;
  color: #292929;
  font-size: clamp(12px, 1.4vw, 14px);
  border-bottom: 2px solid #bdbdbd;
}
@media screen and (max-width: 768px) {
  .newsArchList {
    display: block;
  }
}
.newsArchList .newsDate {
  color: #4f8565;
  width: 10em;
  min-width: 10em;
  font-weight: 500;
  font-size: clamp(14px, 2vw, 20px);
}

/* privacy policy */
.privacyPolicy {
  font-size: clamp(14px, 2vw, 20px);
  line-height: 1.7;
}

.privacyWrap {
  margin: 3em 0;
  padding: 2em;
  background-color: #e8e8e8;
}
.privacyWrap ol {
  margin-left: 2em;
  margin-right: 2em;
}
.privacyWrap ol li {
  list-style-type: none;
  counter-increment: cnt;
}
.privacyWrap ol li::before {
  content: "(" counter(cnt) ") ";
  margin-right: 0.5em;
}

.privacyMainTtl {
  text-align: center;
  font-size: clamp(16px, 2.3vw, 24px);
  font-weight: 500;
}

.privacyTtl {
  color: #4f8565;
  font-weight: 500;
  margin: 25px 0 10px 0;
}

.privacyTxt {
  margin-left: 1em;
  margin-right: 1em;
}

.privacyContactWrap {
  text-align: center;
  border: 3px solid #e8e8e8;
  margin-bottom: 3em;
  padding: 2em;
}
.privacyContactWrap span {
  font-weight: 500;
}

/* 404 */
.noPageWrap {
  text-align: center;
}
.noPage p {
  text-align: center;
  font-size: clamp(16px, 2.3vw, 24px);
  line-height: 2;
}

.homeReBtn {
  display: block;
  width: 100%;
  max-width: 300px;
  height: 2.5em;
  line-height: 2.5em;
  letter-spacing: 0.1em;
  margin: 0 auto 10px auto;
  font-size: clamp(16px, 2.3vw, 24px);
  color: #fff !important;
  align-items: center;
  background: #25B672;
  border-radius: 100vh;
  box-shadow: 0 6px rgb(168, 168, 168);
  transition: opacity 0.3s;
}
.homeReBtn:active {
  position: relative;
  top: 6px;
  box-shadow: none;
}
.homeReBtn:hover {
  opacity: 0.8;
}

/* TOP */
.rect {
  position: absolute;
  border-radius: 100vh;
}
.rect_1 {
  background-color: #b6e4e8;
  width: 50%;
  height: 50%;
  top: -35%;
  right: -15%;
}
@media screen and (max-width: 768px) {
  .rect_1 {
    display: none;
  }
}
.rect_2 {
  background-color: #7ea38e;
  width: 64%;
  height: 13%;
  top: 30%;
  left: -4%;
}
@media screen and (max-width: 768px) {
  .rect_2 {
    width: 100%;
    height: 45px;
    top: 42%;
    left: -6%;
  }
}
.rect_3 {
  background-color: #dff2e8;
  aspect-ratio: 1/1;
  height: 16%;
  top: 33%;
  right: 23%;
}
@media screen and (max-width: 768px) {
  .rect_3 {
    display: none;
  }
}
.rect_4 {
  background-color: #dff2e8;
  width: 50%;
  height: 16%;
  top: 33%;
  right: -30%;
}
@media screen and (max-width: 768px) {
  .rect_4 {
    display: none;
  }
}
.rect_5 {
  background-color: #ebf8d5;
  width: 50%;
  height: 25%;
  top: 62%;
  left: -20%;
}
@media screen and (max-width: 768px) {
  .rect_5 {
    display: none;
  }
}
.rect_6 {
  background-color: #6cd0a1;
  width: 64%;
  height: 13%;
  top: 58%;
  right: -4%;
}
@media screen and (max-width: 768px) {
  .rect_6 {
    width: 100%;
    height: 45px;
    top: 66%;
    right: -8%;
  }
}

/* support */
.rect_supp_1 {
  background-color: #BBE6EA;
  width: 75%;
  height: 52%;
  top: -25%;
  left: -18%;
}
@media screen and (max-width: 768px) {
  .rect_supp_1 {
    display: none;
  }
}
.rect_supp_2 {
  background-color: #DFF2E8;
  width: 50%;
  height: 15%;
  top: 20%;
  right: -15%;
}
.rect_supp_3 {
  background-color: #9AB1A4;
  width: 50%;
  height: 12%;
  top: 66%;
  right: -9%;
}
@media screen and (max-width: 768px) {
  .rect_supp_3 {
    display: none;
  }
}
.rect_supp_4 {
  background-color: #EBF8D5;
  width: 50%;
  height: 13%;
  top: 72%;
  left: -25%;
}
.rect_supp_5 {
  background-color: #EBF8D5;
  aspect-ratio: 1/1;
  height: 13%;
  top: 72%;
  left: 27%;
}
/* canaltown */
.rect_canal_1 {
  background-color: #C9DFE1;
  width: 64%;
  height: 48%;
  top: -36%;
  left: -34%;
}
.rect_canal_2 {
  background-color: #6CD0A1;
  aspect-ratio: 1/1;
  height: 11%;
  top: 25%;
  right: 31%;
}
.rect_canal_3 {
  background-color: #6CD0A1;
  width: 50%;
  height: 11%;
  top: 25%;
  right: -21%;
}
.rect_canal_4 {
  background-color: #DFF2E8;
  width: 50%;
  height: 13%;
  top: 56%;
  left: -7%;
}
.rect_canal_5 {
  background-color: #EBF8D5;
  width: 64%;
  height: 22%;
  top: 69%;
  right: -21%;
}
/* grove */
.rect_grove_1 {
  background-color: #C9DFE1;
  width: 80%;
  height: 48%;
  top: -31%;
  right: -17%;
}
.rect_grove_2 {
  background-color: #EBF8D5;
  width: 50%;
  height: 13%;
  top: 21%;
  left: -13%;
}
.rect_grove_3 {
  background-color: #DFF2E8;
  width: 50%;
  height: 22%;
  top: 45%;
  right: -20%;
}
.rect_grove_4 {
  background-color: #9AB1A4;
  width: 64%;
  height: 11%;
  top: 75%;
  left: -12%;
}
.rect_grove_5 {
  background-color: #9AB1A4;
  aspect-ratio: 1/1;
  height: 11%;
  top: 75%;
  left: 54%;
}
/* support */
.rect_support_1 {
  background-color: #BBE6EA;
  width: 64%;
  height: 48%;
  top: -27%;
  left: -15%;
}
.rect_support_2 {
  background-color: #DFF2E8;
  width: 50%;
  height: 13%;
  top: 21%;
  right: -13%;
}
.rect_support_3 {
  background-color: #9AB1A4;
  width: 50%;
  height: 11%;
  top: 63%;
  right: -5%;
}
.rect_support_4 {
  background-color: #EBF8D5;
  width: 64%;
  height: 11%;
  top: 76%;
  left: -35%;
}
.rect_support_5 {
  background-color: #EBF8D5;
  aspect-ratio: 1/1;
  height: 11%;
  top: 76%;
  left: 31%;
}
/* information */
.rect_info_1 {
  background-color: #DFEBEF;
  width: 64%;
  height: 18%;
  top: 16%;
  left: -14%;
}
.rect_info_2 {
  background-color: #E5F8C4;
  width: 50%;
  height: 13%;
  top: 25%;
  right: -22%;
}
.rect_info_3 {
  background-color: #C6F4DC;
  width: 50%;
  height: 13%;
  top: 62%;
  left: -25%;
}
.rect_info_4 {
  background-color: #C6F4DC;
  aspect-ratio: 1/1;
  height: 13%;
  top: 62%;
  left: 27%;
}
.rect_info_5 {
  background-color: #BBE6EA;
  width: 64%;
  height: 50%;
  top: 69%;
  right: -21%;
}
/* news */
.rect_news_1 {
  background-color: #E5F8C4;
  width: 64%;
  height: 18%;
  top: 8%;
  left: -14%;
}
.rect_news_2 {
  background-color: #DFEBEF;
  aspect-ratio: 1/1;
  height: 16%;
  top: 51%;
  right: 30%;
}
.rect_news_3 {
  background-color: #DFEBEF;
  width: 50%;
  height: 16%;
  top: 51%;
  right: -22%;
}
.rect_news_4 {
  background-color: #C6F4DC;
  width: 50%;
  height: 18%;
  top: 62%;
  left: -25%;
}
.loading {
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  background-color: #fff;
  z-index: 100;
}
.loadingWrap {
  width: 15%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 768px) {
  .loadingWrap {
    width: 50%;
  }
}
.loading img {
  width: 100%;
}

.loadingImg1 {
  opacity: 0;
}

.loadingImg2 {
  opacity: 0;
}

@keyframes appear {
  0% {
    opacity: 0;
    transform: translateY(10px);
  }
  100% {
    opacity: 1;
    transform: translate(0, 0);
  }
}
@keyframes appear2 {
  0% {
    opacity: 0;
    transform: translateY(10px);
  }
  100% {
    opacity: 1;
    transform: translate(0, 0);
  }
}
.js-is-loading .loadingImg1 {
  opacity: 0;
  animation: appear2 1.4s linear forwards;
}
.js-is-loading .loadingImg2 {
  opacity: 0;
  animation: appear 1.4s 0.6s linear forwards;
}

.js-is-loaded .loading {
  opacity: 0;
  transition: 0.8s all;
  visibility: hidden;
}

/* ヘッダースクロールアニメーション */
#header.UpMove {
  animation: UpAnime 0.5s forwards;
}

@keyframes UpAnime {
  from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 0;
    transform: translateY(-100px);
  }
}
#header.DownMove {
  animation: DownAnime 0.5s forwards;
}

@keyframes DownAnime {
  from {
    opacity: 0;
    transform: translateY(-100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* Gナビ表示アニメーション */
.fadeup {
  animation-name: fadeUpAnime;
  animation-duration: 0.7s;
  animation-fill-mode: forwards;
  opacity: 0;
}
.fadeup.fadeup0 {
  animation-delay: 0s;
}
.fadeup.fadeup1 {
  animation-delay: 0.2s;
}
.fadeup.fadeup2 {
  animation-delay: 0.4s;
}
.fadeup.fadeup3 {
  animation-delay: 0.6s;
}
.fadeup.fadeup4 {
  animation-delay: 0.8s;
}
.fadeup.fadeup5 {
  animation-delay: 1s;
}
.fadeup.fadeup6 {
  animation-delay: 1.2s;
}
.fadeup.fadeup7 {
  animation-delay: 1.4s;
}
.fadeup.fadeup8 {
  animation-delay: 1.6s;
}
.fadeup.fadeup9 {
  animation-delay: 1.8s;
}
.fadeup.fadeup10 {
  animation-delay: 2s;
}

@keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.js-is-open .humFadeup {
  animation-name: humFadeUpAnime;
  animation-duration: 0.3s;
  animation-fill-mode: forwards;
  opacity: 0;
}
.js-is-open .humFadeup.humFadeup0 {
  animation-delay: 0s;
}
.js-is-open .humFadeup.humFadeup1 {
  animation-delay: 0.08s;
}
.js-is-open .humFadeup.humFadeup2 {
  animation-delay: 0.16s;
}
.js-is-open .humFadeup.humFadeup3 {
  animation-delay: 0.24s;
}
.js-is-open .humFadeup.humFadeup4 {
  animation-delay: 0.32s;
}
.js-is-open .humFadeup.humFadeup5 {
  animation-delay: 0.4s;
}
.js-is-open .humFadeup.humFadeup6 {
  animation-delay: 0.48s;
}
.js-is-open .humFadeup.humFadeup7 {
  animation-delay: 0.56s;
}
.js-is-open .humFadeup.humFadeup8 {
  animation-delay: 0.64s;
}
.js-is-open .humFadeup.humFadeup9 {
  animation-delay: 0.72s;
}
.js-is-open .humFadeup.humFadeup10 {
  animation-delay: 0.8s;
}

@keyframes humFadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* 要素表示アニメーション */
.elFadeUp {
  animation-name: fadeUpAnime;
  animation-duration: 1s;
  animation-delay: 0.1s;
  animation-fill-mode: forwards;
  opacity: 0;
}

.js-is-loading .copy .elFadeUp {
  animation-delay: 3.6s;
}

@keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(25px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.elFadeUpTrigger {
  opacity: 0;
}

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