@charset "UTF-8";
/*!
Theme Name: keyakinomori
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: keyakinomori
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

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

keyakinomori 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/
*/
/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/
/* Normalize
--------------------------------------------- */
/*! 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;
  -webkit-text-size-adjust: 100%;
}

/* 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;
  height: 0;
  overflow: visible;
}

/**
 * 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;
  font-size: 1em;
}

/* 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;
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

/**
 * 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;
  font-size: 1em;
}

/**
 * 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;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}

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

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  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 {
  outline: 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;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

/**
 * 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;
  padding: 0;
}

/**
 * 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 outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

/**
 * 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;
  font: inherit;
}

/* 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;
}

/* Box sizing
--------------------------------------------- */
/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
  box-sizing: inherit;
}

html {
  box-sizing: border-box;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/
/* Typography
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
  color: #333;
  font-family: "M PLUS Rounded 1c", "Helvetica Neue", "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, sans-serif;
  font-size: 18px;
  line-height: 1.8;
}

@media screen and (max-width: 768px) {
  body,
  button,
  input,
  select,
  optgroup,
  textarea {
    font-size: 16px;
  }
}
h1,
h2,
h3,
h4,
h5,
h6 {
  clear: both;
}

p {
  margin-bottom: 1.5em;
}

dfn,
cite,
em,
i {
  font-style: italic;
}

blockquote {
  margin: 0 1.5em;
}

address {
  margin: 0 0 1.5em;
}

pre {
  background: #eee;
  font-family: "Courier 10 Pitch", courier, monospace;
  line-height: 1.6;
  margin-bottom: 1.6em;
  max-width: 100%;
  overflow: auto;
  padding: 1.6em;
}

code,
kbd,
tt,
var {
  font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr,
acronym {
  border-bottom: 1px dotted #666;
  cursor: help;
}

mark,
ins {
  background: #fff9c0;
  text-decoration: none;
}

big {
  font-size: 125%;
}

/* Elements
--------------------------------------------- */
body {
  background: #fff;
}

hr {
  background-color: #ccc;
  border: 0;
  height: 1px;
  margin-bottom: 1.5em;
}

ul,
ol {
  margin: 0 0 1.5em 3em;
}

ul {
  list-style: disc;
}

ol {
  list-style: decimal;
}

li > ul,
li > ol {
  margin-bottom: 0;
  margin-left: 1.5em;
}

dt {
  font-weight: 700;
}

dd {
  margin: 0 1.5em 1.5em;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
  max-width: 100%;
}

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

figure {
  margin: 1em 0;
}

table {
  margin: 0 0 1.5em;
  width: 100%;
}

/* Links
--------------------------------------------- */
a {
  color: #4169e1;
}

a:visited {
  color: #800080;
}

a:hover,
a:focus,
a:active {
  color: #191970;
}

a:focus {
  outline: thin dotted;
}

a:hover,
a:active {
  outline: 0;
}

/* Forms
--------------------------------------------- */
button,
input[type=button],
input[type=reset],
input[type=submit] {
  border: 1px solid;
  border-color: #ccc #ccc #bbb;
  border-radius: 3px;
  background: #e6e6e6;
  color: rgba(0, 0, 0, 0.8);
  line-height: 1;
  padding: 0.6em 1em 0.4em;
}

button:hover,
input[type=button]:hover,
input[type=reset]:hover,
input[type=submit]:hover {
  border-color: #ccc #bbb #aaa;
}

button:active,
button:focus,
input[type=button]:active,
input[type=button]:focus,
input[type=reset]:active,
input[type=reset]:focus,
input[type=submit]:active,
input[type=submit]:focus {
  border-color: #aaa #bbb #bbb;
}

input[type=text],
input[type=email],
input[type=url],
input[type=password],
input[type=search],
input[type=number],
input[type=tel],
input[type=range],
input[type=date],
input[type=month],
input[type=week],
input[type=time],
input[type=datetime],
input[type=datetime-local],
input[type=color],
textarea {
  color: #666;
  border: 1px solid #ccc;
  border-radius: 3px;
  padding: 3px;
}

input[type=text]:focus,
input[type=email]:focus,
input[type=url]:focus,
input[type=password]:focus,
input[type=search]:focus,
input[type=number]:focus,
input[type=tel]:focus,
input[type=range]:focus,
input[type=date]:focus,
input[type=month]:focus,
input[type=week]:focus,
input[type=time]:focus,
input[type=datetime]:focus,
input[type=datetime-local]:focus,
input[type=color]:focus,
textarea:focus {
  color: #111;
}

select {
  border: 1px solid #ccc;
}

textarea {
  width: 100%;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/
/* Navigation
--------------------------------------------- */
.main-navigation {
  display: block;
  width: 100%;
}

.main-navigation ul {
  display: none;
  list-style: none;
  margin: 0;
  padding-left: 0;
}

.main-navigation ul ul {
  box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
  float: left;
  position: absolute;
  top: 100%;
  left: -999em;
  z-index: 99999;
}

.main-navigation ul ul ul {
  left: -999em;
  top: 0;
}

.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
  display: block;
  left: auto;
}

.main-navigation ul ul a {
  width: 200px;
}

.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
  left: auto;
}

.main-navigation li {
  position: relative;
}

.main-navigation a {
  display: block;
  text-decoration: none;
}

/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
  display: block;
}

@media screen and (min-width: 37.5em) {
  .menu-toggle {
    display: none;
  }
  .main-navigation ul {
    display: flex;
  }
}
.site-main .comment-navigation,
.site-main .posts-navigation,
.site-main .post-navigation {
  margin: 0 0 1.5em;
}

.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
  display: flex;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
  flex: 1 0 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
  text-align: end;
  flex: 1 0 50%;
}

/* Posts and pages
--------------------------------------------- */
.sticky {
  display: block;
}

.post,
.page {
  margin: 0;
}

.updated:not(.published) {
  display: none;
}

.page-content,
.entry-content,
.entry-summary {
  margin: 0;
}

.page-links {
  clear: both;
  margin: 0 0 1.5em;
}

/* Comments
--------------------------------------------- */
.comment-content a {
  word-wrap: break-word;
}

.bypostauthor {
  display: block;
}

/* Widgets
--------------------------------------------- */
.widget {
  margin: 0 0 1.5em;
}

.widget select {
  max-width: 100%;
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
  border: none;
  margin-bottom: 0;
  margin-top: 0;
  padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
  display: inline-block;
}

/* Captions
--------------------------------------------- */
.wp-caption {
  margin-bottom: 1.5em;
  max-width: 100%;
}

.wp-caption img[class*=wp-image-] {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.wp-caption .wp-caption-text {
  margin: 0.8075em 0;
}

.wp-caption-text {
  text-align: center;
}

/* Galleries
--------------------------------------------- */
.gallery {
  margin-bottom: 1.5em;
  display: grid;
  grid-gap: 1.5em;
}

.gallery-item {
  display: inline-block;
  text-align: center;
  width: 100%;
}

.gallery-columns-2 {
  grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
  grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
  grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
  grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
  grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
  grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
  grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
  grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
  display: block;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/
/* Jetpack infinite scroll
--------------------------------------------- */
/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
  display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
  display: block;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/
/* Accessibility
--------------------------------------------- */
/* Text meant only for screen readers. */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}

.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  clip-path: none;
  color: #21759b;
  display: block;
  font-size: 0.875rem;
  font-weight: 700;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
  outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {
  /*rtl:ignore*/
  float: left;
  /*rtl:ignore*/
  margin-right: 1.5em;
  margin-bottom: 1.5em;
}

.alignright {
  /*rtl:ignore*/
  float: right;
  /*rtl:ignore*/
  margin-left: 1.5em;
  margin-bottom: 1.5em;
}

.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1.5em;
}

/* カラー設定
--------------------------------------------- */
/* 大ワク
--------------------------------------------- */
html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  padding: 0;
  background-color: #fef9e3;
  background-image: url("../../uploads/2025/12/bgyellow3.jpg");
  background-repeat: repeat;
}

p {
  margin: 0;
}

.site-main {
  position: relative;
  margin-top: 100px;
  overflow: hidden;
}

@media only screen and (max-width: 768px) {
  .site-main {
    margin-top: 60px;
  }
}
.waveback {
  position: relative;
  margin: 10px 0;
  background-color: rgba(255, 255, 255, 0.6);
}
.waveback::before, .waveback::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 10px;
  background-position: center;
  background-repeat: repeat-x;
  background-size: contain;
  opacity: 0.6;
}
.waveback::before {
  top: -10px;
  background-image: url("../../uploads/2025/12/waveback-top.svg");
}
.waveback::after {
  bottom: -10px;
  background-image: url("../../uploads/2025/12/waveback-bottom.svg");
}

@media only screen and (max-width: 768px) {
  .waveback {
    margin: 5px 0;
  }
  .waveback::before, .waveback::after {
    height: 5px;
    background-size: 166px auto;
  }
  .waveback::before {
    top: -5px;
  }
  .waveback::after {
    bottom: -5px;
  }
}
.sectioninner_1200 {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
}

.sectioninner_1000 {
  width: 90%;
  max-width: 1000px;
  margin: 0 auto;
}

.sectioninner_800 {
  width: 90%;
  max-width: 800px;
  margin: 0 auto;
}

/* テキスト・見出し設定
--------------------------------------------- */
a {
  color: #11893C;
}

a:visited {
  color: #11893C;
}

a:hover,
a:focus,
a:active {
  color: #D76412;
}

a:focus {
  outline: thin dotted;
}

a:hover,
a:active {
  outline: 0;
}

.title--dotlr {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0;
  font-size: 28px;
  font-weight: 500;
  line-height: 1.3em;
  text-align: center;
}
.title--dotlr::before, .title--dotlr::after {
  content: "";
  display: inline-flex;
  align-items: center;
  width: 44px;
  height: 10px;
  background-image: url("../../uploads/2025/12/title-dotlr.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.title--dotlr::before {
  margin-right: 10px;
}
.title--dotlr::after {
  margin-left: 10px;
}

@media screen and (max-width: 768px) {
  .title--dotlr {
    font-size: 22px;
  }
  .title--dotlr::before, .title--dotlr::after {
    width: 30px;
    height: 7px;
  }
  .title--dotlr::before {
    margin-right: 8px;
  }
  .title--dotlr::after {
    margin-left: 8px;
  }
}
.leaf__headline {
  margin: 0;
  font-size: 32px;
  font-weight: 500;
  line-height: 1.2em;
}
.leaf__headline span {
  display: block;
  font-family: "Afacad", sans-serif;
  font-size: 18px;
  font-weight: 400;
  color: #11893C;
}
.leaf__headline span::before {
  content: url("../../uploads/2026/01/subtitle_leaf.svg");
  display: inline-block;
  width: 14px;
  margin-right: 5px;
}

@media screen and (max-width: 768px) {
  .leaf__headline {
    font-size: 24px;
  }
}
/* 共通ボタン
--------------------------------------------- */
.greenbtn--large, .greenbtn--small {
  position: relative;
  border-radius: 20px;
  background-color: #11893C;
  overflow: hidden;
  transition: transform 0.25s ease, box-shadow 0.25s ease, background-color 0.25s ease;
}
.greenbtn--large a, .greenbtn--small a {
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  font-weight: 500;
  color: #fff;
  text-decoration: none;
}
.greenbtn--large, .greenbtn--small {
  /* 右の矢印 */
}
.greenbtn--large::after, .greenbtn--small::after {
  font-family: "Material Symbols Rounded";
  content: "arrow_forward_ios";
  position: absolute;
  top: 50%;
  right: 14px;
  transform: translateY(-50%);
  color: #fff;
  pointer-events: none;
  z-index: 3;
  transition: transform 0.25s ease;
}
.greenbtn--large, .greenbtn--small {
  /* 波（ハイライト） */
}
.greenbtn--large::before, .greenbtn--small::before {
  content: "";
  position: absolute;
  top: -30%;
  left: -60%;
  width: 60%;
  height: 160%;
  background: rgba(255, 255, 255, 0.1);
  transform: skewX(-20deg);
  filter: blur(1px);
  z-index: 1;
  opacity: 0;
}
.greenbtn--large:hover, .greenbtn--small:hover {
  background-color: rgb(19.2519480519, 155.1480519481, 67.9480519481);
  transform: translateY(-3px);
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.15);
}
.greenbtn--large:hover::after, .greenbtn--small:hover::after {
  transform: translate(4px, -50%);
}
.greenbtn--large:hover::before, .greenbtn--small:hover::before {
  opacity: 1;
  animation: btn-wave 1.6s ease-in-out infinite;
}
.greenbtn--large:active, .greenbtn--small:active {
  transform: translateY(-1px);
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.15);
}

.greenbtn--large {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 350px;
  height: 40px;
}
.greenbtn--large a {
  font-size: 20px;
}
.greenbtn--large::after {
  font-size: 20px;
}

.greenbtn--small {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 75%;
  max-width: 250px;
  height: 32px;
}
.greenbtn--small a {
  font-size: 18px;
}
.greenbtn--small::after {
  font-size: 18px;
}

/* 波が左→右に流れる */
@keyframes btn-wave {
  0% {
    left: -60%;
  }
  100% {
    left: 120%;
  }
}
@media screen and (max-width: 768px) {
  .greenbtn--large a {
    font-size: 16px;
  }
  .greenbtn--small a {
    font-size: 14px;
  }
}
/* 改行設定
--------------------------------------------- */
br.spbr {
  display: none;
}

@media screen and (max-width: 768px) {
  br.pcbr {
    display: none;
  }
  br.spbr {
    display: block;
  }
}
/* 各ページタイトル
--------------------------------------------- */
.keyakititle1 {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 300px;
  margin: 0;
  background-size: cover;
  overflow: hidden;
}
.keyakititle1::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -5px;
  width: 100%;
  height: 29px;
  background-image: url("../../uploads/2025/12/keyakititle1_kumo4.svg");
  background-position: left top;
  background-repeat: repeat-x;
  background-size: 400px auto;
  pointer-events: none;
  animation: text-bounce 1.5s ease-in-out infinite alternate;
}
.keyakititle1 h1 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 380px;
  height: 104px;
  margin: 0;
  color: #fff;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 380 104'>  <path d='M326.236 98.0402C318.279 97.41 310.34 96.3788 302.382 96.2069C291.739 95.9778 280.983 95.3476 270.569 98.7277C267.333 99.778 264.001 100.599 260.707 101.458C249.094 104.495 237.271 104.457 225.468 103.158C216.71 102.203 207.743 101.63 199.329 99.2815C188.953 96.3979 178.463 94.9656 167.859 93.8389C165.898 93.6289 163.88 94.0299 161.9 94.0108C156.645 93.9153 151.391 93.648 146.136 93.648C143.452 93.648 140.71 93.8007 138.102 94.3927C133.076 95.5385 128.031 95.8823 122.872 96.035C117.636 96.1687 112.42 97.2763 107.184 97.9256C101.111 98.6895 95.0571 99.6634 88.9458 100.103C77.1613 100.962 65.4148 102.146 53.5921 99.8735C48.5851 98.9186 43.3877 98.8995 38.5901 96.8944C34.2685 95.0802 29.7755 93.5525 25.7394 91.2418C20.6943 88.3582 15.6683 85.2264 11.2895 81.4071C6.51098 77.244 3.9218 71.4959 1.82761 65.4041C-1.40886 55.9131 -0.0190818 46.6513 3.29354 37.8095C7.34865 27.0009 15.021 19.0567 25.7204 14.3398C29.8707 12.5066 33.9639 10.3487 38.3046 9.12648C49.5941 5.95644 60.998 3.9322 72.8967 5.72728C83.4438 7.3123 94.1052 8.01887 104.728 9.20286C111.525 9.96673 118.284 11.0934 125.099 11.7236C132.6 12.4111 139.797 10.9788 146.745 7.96158C159.996 2.21351 173.894 -0.670073 188.344 0.131983C194.702 0.475722 201.004 1.88887 207.325 2.90099C211.246 3.53118 215.187 4.16136 219.071 5.02071C221.127 5.47903 223.164 6.24289 225.049 7.19772C234.682 12.0483 244.753 15.2565 255.605 15.7721C260.879 16.0203 266.133 16.3641 271.388 16.8606C281.288 17.7963 290.94 15.7339 300.706 14.9318C309.883 14.168 319.173 12.2965 328.369 14.6454C335.394 16.4405 342.495 18.1783 349.158 20.9282C353.537 22.7232 357.345 26.0842 361.133 29.0824C366.883 33.5892 372.099 38.7262 376.211 44.7989C379.429 49.5539 380.647 54.9583 379.657 60.7254C379.086 64.1055 378.801 67.562 377.868 70.8275C375.488 79.0964 369.796 84.7871 362.751 89.313C353.194 95.4621 342.514 97.5246 331.377 97.8301C329.663 97.8874 327.95 97.8301 326.236 97.8301C326.236 97.9065 326.236 97.9829 326.217 98.0593L326.236 98.0402Z' fill='%2300A73C80'/></svg>");
  background-repeat: no-repeat;
  background-size: contain;
}
.keyakititle1 h1 .entry-title--main {
  font-size: 30px;
  font-weight: 500;
  line-height: 1.3em;
}
.keyakititle1 h1 .entry-title--sub {
  font-size: 14px;
  font-weight: 400;
}

.keyakititle-daily-life {
  background-image: url("../../uploads/2025/12/202500911-337.jpg");
  background-position: center 30%;
}

.keyakititle-facility {
  background-image: url("../../uploads/2025/12/title_facility.jpg");
  background-position: center center;
}

.keyakititle-admission {
  background-image: url("../../uploads/2025/12/202500911-080.jpg");
  background-position: center center;
}

.keyakititle-recruit {
  background-image: url("../../uploads/2025/12/title_recruit.jpg");
  background-position: center 60%;
}

.keyakititle-contact {
  background-image: url("../../uploads/2025/12/title_contact.jpg");
  background-position: center center;
}

.keyakititle2 {
  position: relative;
  display: flex;
  justify-content: center;
  height: 150px;
  margin: 0;
  padding-top: 40px;
  font-size: 30px;
  font-weight: 500;
  color: #11893C;
  background-repeat: repeat;
  background-size: 150px;
}
.keyakititle2::after {
  content: url("../../uploads/2025/12/title2_dot.svg");
  position: absolute;
  top: 45%;
  width: 100px;
}

.keyakititle2--green {
  background-image: url("../../uploads/2025/12/title2_bg.jpg");
}

.keyakititle2--brown {
  background-image: url("../../uploads/2025/12/title3_bg.jpg");
}

@media screen and (max-width: 768px) {
  .keyakititle1 {
    height: 200px;
  }
  .keyakititle1 h1 {
    width: 280px;
    height: 80px;
  }
  .keyakititle1 h1 .entry-title--main {
    font-size: 24px;
    line-height: 1.2em;
  }
  .keyakititle2 {
    height: 100px;
    margin: 0;
    padding-top: 20px;
    font-size: 24px;
  }
  .keyakititle2::after {
    top: 45%;
    width: 80px;
  }
  .keyakititle2--small {
    font-size: 20px;
  }
}
/* タイトルすぐ下のセクションで背景を滑らかに
--------------------------------------------- */
.bgborder_yellow {
  background-image: url("../../uploads/2025/12/bgborder_yellow.png");
  background-position: top left;
  background-repeat: repeat-x;
  background-size: 100px;
}

/* ヘッダーメインナビ
--------------------------------------------- */
header.fixedheader {
  position: fixed;
  top: 0;
  width: 100%;
  height: 100px;
  background: #fff;
  z-index: 10000;
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.05);
  transition: 0.5s;
}
header.fixedheader div.headerlogowrap {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
  width: 80%;
  max-width: 1200px;
  height: 100%;
  margin: 0;
  margin-left: 5%;
  gap: 10px;
}
header.fixedheader div.headerlogowrap .headerlogo {
  width: clamp(100px, 25%, 400px);
  margin: 0;
  padding: 0;
}
header.fixedheader div.headerlogowrap .headerlogo a {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  height: 100%;
  text-decoration: none;
  color: #11893C;
}
header.fixedheader div.headerlogowrap .headerlogo a img {
  display: block;
  max-width: 290px;
  min-width: 100px;
  transition: 0.3s;
}
header.fixedheader div.headerlogowrap .headerlogo a:hover img {
  transform: scale(1.05);
}
header.fixedheader div.headerlogowrap div.headernavi__wrap {
  width: clamp(500px, 70%, 750px);
  height: 100%;
}
header.fixedheader div.headerlogowrap div.headernavi__wrap ul.headernavi {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
}
header.fixedheader div.headerlogowrap div.headernavi__wrap ul.headernavi > li {
  position: relative;
  width: calc(16.6666666667% - 30px);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5em;
  transition: 0.3s;
}
header.fixedheader div.headerlogowrap div.headernavi__wrap ul.headernavi > li a {
  color: #333;
  text-decoration: none;
  vertical-align: middle;
  transition: 0.3s;
}
header.fixedheader div.headerlogowrap div.headernavi__wrap ul.headernavi > li a:hover {
  color: #11893C;
}
header.fixedheader div.headerlogowrap div.headernavi__wrap ul.headernavi > li a img {
  display: block;
  width: 50px;
  margin: 0 auto;
  transition: transform 0.2s ease;
  transform-origin: 50% 80%;
}
header.fixedheader div.headerlogowrap div.headernavi__wrap ul.headernavi > li a p {
  margin: 0;
  text-align: center;
}
header.fixedheader div.headerlogowrap div.headernavi__wrap ul.headernavi > li a:hover img {
  animation: navi-swing 1s ease-in-out infinite alternate;
}
header.fixedheader div.headerlogowrap div.headernavi__wrap ul.headernavi > li a:hover p {
  animation: text-bounce 0.6s ease-in-out infinite alternate;
}
@media screen and (max-width: 1100px) {
  header.fixedheader div.headerlogowrap div.headernavi__wrap ul.headernavi > li {
    width: calc(16.6666666667% - 5px);
  }
  header.fixedheader div.headerlogowrap div.headernavi__wrap ul.headernavi > li a img {
    width: 45px;
  }
  header.fixedheader div.headerlogowrap div.headernavi__wrap ul.headernavi > li a p {
    font-size: 14px;
  }
}

@keyframes navi-swing {
  0% {
    transform: rotate(0deg);
  }
  25% {
    transform: rotate(-4deg);
  }
  50% {
    transform: rotate(3deg);
  }
  75% {
    transform: rotate(-3deg);
  }
  100% {
    transform: rotate(2deg);
  }
}
@keyframes text-bounce {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-2px);
  }
}
.fixedheader.is-scrolled {
  background: rgba(255, 255, 255, 0.6);
  backdrop-filter: blur(6px);
}

div.spnavigation {
  display: block;
  position: absolute;
  right: 10px;
  top: 10px;
  width: 80px;
  height: 80px;
  background-image: url("../../uploads/2025/12/drawer-checkbox-bg.svg");
  background-repeat: no-repeat;
  background-size: 100% 100%;
}
div.spnavigation #drawer-checkbox {
  display: none;
}
div.spnavigation {
  /* ボタン本体 */
}
div.spnavigation #drawer-icon {
  cursor: pointer;
  display: inline-block;
  position: relative;
  width: 50px;
  height: 56px; /* テキスト分を少し高めに */
  margin: 15px 0 0 15px;
  z-index: 100;
  /* 下に出すラベル文字（MENU/CLOSE） */
}
div.spnavigation #drawer-icon::after {
  content: "MENU";
  position: absolute;
  left: 50%;
  bottom: 12px; /* 線の下に表示 */
  transform: translateX(-50%);
  font-size: 10px;
  letter-spacing: 0.12em;
  color: #fff;
  transition: color 0.3s ease, opacity 0.3s ease;
  opacity: 1;
  pointer-events: none;
  text-transform: uppercase;
}
div.spnavigation {
  /* アイコンの線用コンテナ（中線は使わない＝透明） */
}
div.spnavigation #drawer-icon span {
  position: absolute;
  left: 50%;
  top: 16px; /* 全体の上寄せ位置 */
  width: 84%;
  height: 2px;
  margin-left: -42%;
  background: transparent; /* 中線は表示しない */
}
div.spnavigation {
  /* 2本線（before / after のみ使用） */
}
div.spnavigation #drawer-icon span::before,
div.spnavigation #drawer-icon span::after {
  content: "";
  position: absolute;
  left: 50%;
  width: 100%;
  height: 100%;
  margin-left: -50%;
  background: #fff;
  border-radius: 10px;
  transition: transform 0.3s ease-in-out, background-color 0.3s ease-in-out;
}
div.spnavigation {
  /* 上の線 */
}
div.spnavigation #drawer-icon span::before {
  transform: translateY(-3px);
}
div.spnavigation {
  /* 下の線 */
}
div.spnavigation #drawer-icon span::after {
  transform: translateY(6px);
}
div.spnavigation {
  /* 開いたとき：2本線をXに、文字をCLOSEに */
}
div.spnavigation #drawer-checkbox:checked ~ #drawer-icon span::before {
  transform: translateY(3px) rotate(25deg);
  background-color: #fff;
}
div.spnavigation #drawer-checkbox:checked ~ #drawer-icon span::after {
  transform: translateY(3px) rotate(-25deg);
  background-color: #fff;
}
div.spnavigation #drawer-checkbox:checked ~ #drawer-icon::after {
  content: "CLOSE";
  color: #fff;
}
div.spnavigation {
  /* ドロワー本体 */
}
div.spnavigation #drawer-content {
  overflow: auto;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 40;
  width: clamp(500px, 60%, 800px);
  height: 100vh;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  background-color: rgba(17, 137, 60, 0.97);
  padding: 0;
  color: #fff;
  border-radius: 100px 0 0 0;
  transition: all 0.5s ease-in-out 0s;
  transform: translateX(100%);
  opacity: 0.2;
}
div.spnavigation #drawer-content .spnavi__wrap {
  margin: 5rem auto 3rem;
}
div.spnavigation #drawer-content .spnavi__wrap a {
  color: #fff;
  text-decoration: none;
}
div.spnavigation #drawer-content .spnavi__wrap .spnavi__page {
  width: clamp(400px, 80%, 600px);
  margin: 0 auto;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}
div.spnavigation #drawer-content .spnavi__wrap .spnavi__page h2 {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 0 20px;
  font-size: 24px;
  font-weight: 500;
  text-align: center;
}
div.spnavigation #drawer-content .spnavi__wrap .spnavi__page h2 span {
  margin-right: 0.5em;
  font-size: 0.6em;
}
div.spnavigation #drawer-content .spnavi__wrap .spnavi__page div {
  width: 100%;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}
div.spnavigation #drawer-content .spnavi__wrap .spnavi__page div a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 15px 0;
  transition: 0.3s;
}
div.spnavigation #drawer-content .spnavi__wrap .spnavi__page div a:hover {
  animation: text-fuwazoom 0.6s ease-in-out infinite alternate;
}
@keyframes text-fuwazoom {
  0% {
    transform: translateY(0) scale(1);
  }
  100% {
    transform: translateY(-2px) scale(1.03);
  }
}
div.spnavigation #drawer-content .spnavi__wrap .spnavi__page div .facility-list {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 10px;
  margin: 0 0 15px;
  padding: 0;
}
div.spnavigation #drawer-content .spnavi__wrap .spnavi__page div .facility-list li {
  width: calc(50% - 10px);
  margin: 0;
  font-size: 13px;
  font-weight: 300;
  text-align: center;
}
div.spnavigation #drawer-content .spnavi__wrap .spnavi__page div .facility-list li a {
  display: block;
  padding: 0.3em 0;
  background-color: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 30px;
  transition: 0.3s;
}
div.spnavigation #drawer-content .spnavi__wrap .spnavi__page div .facility-list li a:hover {
  animation: text-bounce 0.6s ease-in-out infinite alternate;
  border-color: rgba(255, 255, 255, 0.5);
}
div.spnavigation #drawer-content .spnavi__wrap .spnavi__page div .facility-list li a::before {
  display: none;
}
div.spnavigation #drawer-content .spnavi__wrap .spnavi__page div .facility-list li a::after {
  display: none;
}
div.spnavigation #drawer-content .spnavi__wrap .spnav__tel {
  margin-top: 2.5rem;
}
div.spnavigation #drawer-content .spnavi__wrap .spnav__tel p {
  margin: 0;
  padding: 0;
  text-align: center;
}
div.spnavigation #drawer-content .spnavi__wrap .spnav__tel p.spnav__telnumber {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 24px;
  font-weight: 500;
}
div.spnavigation #drawer-content .spnavi__wrap .spnav__tel p.spnav__telnumber span {
  margin-right: 0.5em;
  font-size: 0.6em;
}
div.spnavigation #drawer-content .spnavi__wrap .spnav__tel p.spnav__teltime {
  margin-top: 0.5rem;
  font-size: 14px;
  font-weight: 300;
}
div.spnavigation #drawer-checkbox:checked ~ #drawer-content {
  transform: translateX(0);
  opacity: 1;
}
div.spnavigation #blur-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 30; /* メニューより後ろ、CLOSEより後ろ */
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}
div.spnavigation #drawer-checkbox:checked ~ #blur-overlay {
  opacity: 1;
  pointer-events: auto;
}
div.spnavigation #drawer-close {
  display: none;
  position: fixed;
  z-index: 39;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: all 0.3s ease-in-out 0s;
}
div.spnavigation #drawer-checkbox:checked ~ #drawer-close {
  display: block;
  opacity: 0.3;
}

@media screen and (max-width: 768px) {
  header.fixedheader {
    height: 60px;
  }
  header.fixedheader div.headerlogowrap {
    display: block;
    width: 100%;
    max-width: inherit;
  }
  header.fixedheader div.headerlogowrap .headerlogo {
    height: 60px;
    width: auto;
  }
  header.fixedheader div.headerlogowrap .headerlogo a {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    height: 100%;
    margin-left: 10px;
  }
  header.fixedheader div.headerlogowrap .headerlogo a img {
    height: 80%;
    max-width: inherit;
    min-width: inherit;
  }
  header.fixedheader div.headerlogowrap div.headernavi__wrap {
    display: none;
  }
  div.spnavigation {
    right: 3px;
    top: 3px;
    width: 54px;
    height: 54px;
    /* ボタン本体 */
  }
  div.spnavigation #drawer-icon {
    width: 50px;
    height: 56px; /* テキスト分を少し高めに */
    margin: 3px 0 0 2px;
  }
  div.spnavigation {
    /* ドロワー本体 */
  }
  div.spnavigation #drawer-content {
    width: 100%;
    min-height: 100%;
    border-radius: 0;
  }
  div.spnavigation #drawer-content .spnavi__wrap {
    margin: 3rem auto 2rem;
  }
  div.spnavigation #drawer-content .spnavi__wrap .spnavi__page {
    width: 90%;
    margin: 0 auto;
  }
  div.spnavigation #drawer-content .spnavi__wrap .spnavi__page h2 {
    margin: 0 0 20px;
    font-size: 20px;
  }
  div.spnavigation #drawer-content .spnavi__wrap .spnavi__page h2 span {
    margin-right: 0.5em;
    font-size: 0.6em;
  }
  div.spnavigation #drawer-content .spnavi__wrap .spnavi__page div {
    width: 100%;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    font-size: 1rem;
  }
  div.spnavigation #drawer-content .spnavi__wrap .spnavi__page div a {
    padding: 10px 0;
  }
  div.spnavigation #drawer-content .spnavi__wrap .spnavi__page div .facility-list {
    display: none;
  }
  div.spnavigation #drawer-content .spnavi__wrap .spnav__tel {
    margin-top: 1.5rem;
  }
  div.spnavigation #drawer-content .spnavi__wrap .spnav__tel p.spnav__telnumber {
    font-size: 20px;
  }
}
/* フッター
--------------------------------------------- */
section.footercontact {
  display: flex;
  align-items: center;
  height: 350px;
  margin-top: 80px;
  margin-bottom: -30px;
  background-image: url("../../uploads/2025/12/footercontact_bg.svg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
}
section.footercontact .footercontact__inner {
  width: 90%;
  max-width: 1000px;
  margin: 0 auto;
}
section.footercontact .footercontact__btn {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  gap: 50px;
  list-style: none;
  margin: 40px 0 0;
  padding: 0;
}
section.footercontact .footercontact__btn li {
  margin: 0;
  padding: 0;
}
section.footercontact .footercontact__btn li a {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  width: 350px;
  height: 70px;
  border: 3px solid #11893C;
  border-radius: 10px;
  background-color: #fff;
  text-decoration: none;
  transition: 0.5s ease-in-out;
}
section.footercontact .footercontact__btn li a:hover {
  color: #fff;
}
section.footercontact .footercontact__btn li a:hover .footercontact__icon--bg {
  transform: scale(10);
}
section.footercontact .footercontact__btn li a:focus {
  color: #11893C;
}
section.footercontact p {
  margin: 0;
  text-align: center;
}
section.footercontact .footercontact--form {
  font-size: 20px;
  font-weight: 500;
  line-height: 1em;
  z-index: 10;
}
section.footercontact .footercontact--telno {
  font-size: 24px;
  font-weight: 500;
  line-height: 1em;
  z-index: 10;
}
section.footercontact .footercontact--telno span {
  font-size: 15px;
  margin-right: 0.5em;
}
section.footercontact .footercontact--teltime {
  font-size: 14px;
  line-height: 1em;
  z-index: 10;
}
section.footercontact .footercontact__icon--bg {
  position: absolute;
  right: -40px;
  bottom: -40px;
  width: 80px;
  aspect-ratio: 1;
  background-color: #11893C;
  border-radius: 40px;
  transition: 0.5s ease-in-out;
  z-index: 1;
}
section.footercontact .footercontact__icon {
  position: absolute;
  right: 5px;
  bottom: 5px;
  display: block;
  width: 22px;
  margin: 13px 0 0 13px;
  z-index: 10;
}

@media screen and (max-width: 768px) {
  section.footercontact {
    height: 400px;
    margin-top: 40px;
    margin-bottom: -30px;
    background-position: center top;
    background-size: 300% auto;
  }
  section.footercontact .footercontact__btn {
    flex-direction: column;
    gap: 20px;
    margin: 20px 0 0;
  }
  section.footercontact .footercontact__btn li a {
    overflow: hidden;
    width: 80vw;
    height: 70px;
  }
  section.footercontact .footercontact--form {
    font-size: 20px;
    font-weight: 500;
    z-index: 10;
  }
  section.footercontact .footercontact--telno {
    font-size: 24px;
    font-weight: 500;
    z-index: 10;
  }
  section.footercontact .footercontact--telno span {
    font-size: 15px;
    margin-right: 0.5em;
  }
  section.footercontact .footercontact--teltime {
    font-size: 14px;
    z-index: 10;
  }
}
footer.site-footer {
  position: relative;
  width: 100%;
  margin-top: 50px;
  padding: 50px 0;
  background-color: #B7DCC4;
  background-image: url("../../uploads/2025/12/footer_pcbg.svg");
  background-position: center 80%;
  background-repeat: no-repeat;
  background-size: clamp(600px, 80vw, 1200px);
}
footer.site-footer::before {
  content: "";
  position: absolute;
  top: -50px;
  left: 0;
  width: 100%;
  height: 50px;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-image: url("data:image/svg+xml;utf8,<svg width='100%' height='100%' viewBox='0 0 100 50' preserveAspectRatio='none' xmlns='http://www.w3.org/2000/svg'><path d='M0,40 C20,0 80,0 100,40 L100,50 L0,50 Z' fill='%23B7DCC4'/></svg>");
}
footer.site-footer .footer__wrap {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
}
footer.site-footer .footer__navi ul {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  width: 90%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 0;
  list-style: none;
}
footer.site-footer .footer__navi ul li {
  margin: 0;
}
footer.site-footer .footer__navi ul li a {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  gap: 5px;
  color: #333;
  text-decoration: none;
  transition: 0.3s;
}
footer.site-footer .footer__navi ul li a img {
  display: block;
  width: 30px;
  transition: transform 0.2s ease;
  transform-origin: 50% 80%;
}
footer.site-footer .footer__navi ul li a p {
  margin: 0;
  font-size: 1.3vw;
  font-size: clamp(14px, 1.3vw, 16px);
}
footer.site-footer .footer__navi ul li a:hover {
  color: #11893C;
}
footer.site-footer .footer__navi ul li a:hover img {
  animation: navi-swing 1s ease-in-out infinite alternate;
}
footer.site-footer .footer__company {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  gap: 80px;
  width: 90%;
  max-width: 800px;
  margin: 50px auto 0;
}
footer.site-footer .footer__company .footerlogo {
  width: clamp(100px, 40%, 350px);
}
footer.site-footer .footer__company .footerlogo a img {
  display: block;
  width: 100%;
}
footer.site-footer .footer__company .footer__address {
  font-size: 16px;
  line-height: 1.5em;
}
footer.site-footer .footer__cpr {
  margin-top: 50px;
  font-size: 12px;
  font-weight: 200;
  text-align: center;
}

@media screen and (max-width: 768px) {
  footer.site-footer {
    position: relative;
    width: 100%;
    margin-top: 30px;
    padding: 20px 0;
    background-position: center 60%;
    background-repeat: no-repeat;
    background-size: 90%;
  }
  footer.site-footer::before {
    top: -30px;
    height: 30px;
  }
  footer.site-footer .footer__navi {
    display: none;
  }
  footer.site-footer .footer__company {
    display: block;
    width: 100%;
    margin: 0;
  }
  footer.site-footer .footer__company .footerlogo {
    width: 70%;
    margin: 0 auto;
  }
  footer.site-footer .footer__company .footer__address {
    display: none;
  }
  footer.site-footer .footer__cpr {
    margin-top: 20px;
  }
}
/* オープニング
--------------------------------------------- */
.opening {
  position: fixed;
  inset: 0;
  z-index: 99999;
  background-color: #fef9e3;
  background-image: url("../../uploads/2025/12/bgyellow3.jpg");
  background-repeat: repeat;
  display: grid;
  place-items: center;
  transform: translateY(0);
  transition: transform 0.9s ease-in, opacity 0.4s ease;
}

.opening__inner {
  text-align: center;
  transform: translateZ(0);
}

/* ロゴ：左からセンターへ＋ぴょこぴょこ歩く */
.opening__logo {
  width: min(200px, 48vw);
  height: auto;
  display: block;
  margin: 0 auto;
  transform-origin: 50% 90%;
  will-change: transform;
}

/* 法人名 */
.opening__name {
  margin: 14px 0 0;
  font-size: 20px;
  letter-spacing: 0.06em;
  color: #333;
  opacity: 0;
  transform: translateY(6px);
}

/* 再生：ラッパーが移動、画像がぴょこぴょこ */
.opening.is-play .opening__logoWrap {
  animation: logo-walk-in 1.9s ease-out forwards;
}

.opening.is-play .opening__logo {
  animation: logo-bounce 0.9s ease-in-out infinite;
}

/* 法人名は少し遅れてフェードイン */
.opening.is-play .opening__name {
  animation: name-in 0.7s ease forwards;
  animation-delay: 1.1s;
}

/* 終了：画面がスライドアップして消える */
.opening.is-hide {
  transform: translateY(-110%);
}

@keyframes logo-walk-in {
  0% {
    transform: translateX(-120px);
  }
  60% {
    transform: translateX(10px);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes logo-bounce {
  0% {
    transform: translateY(0) rotate(0deg);
  }
  25% {
    transform: translateY(-3px) rotate(-0.4deg);
  }
  50% {
    transform: translateY(0) rotate(0deg);
  }
  75% {
    transform: translateY(-2px) rotate(0.4deg);
  }
  100% {
    transform: translateY(0) rotate(0deg);
  }
}
/* 文字の出現 */
@keyframes name-in {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* 動きを減らす設定 */
@media (prefers-reduced-motion: reduce) {
  .opening {
    transition: none;
  }
  .opening.is-play .opening__logo {
    animation: none;
    transform: none;
  }
  .opening.is-play .opening__name {
    animation: none;
    opacity: 1;
    transform: none;
  }
}
/* トップページ
--------------------------------------------- */
/*メインビジュアル*/
.swiper {
  position: relative;
  width: 100%;
  height: 850px;
  overflow: hidden;
  z-index: 1;
}
.swiper .swiper-slide-active img,
.swiper .swiper-slide-duplicate-active img,
.swiper .swiper-slide-prev img {
  animation: zoomUp 7s linear 0s normal both;
}
.swiper .swiper-slide {
  overflow: hidden;
  height: 850px;
}
.swiper .swiper-img {
  height: 100%;
}
.swiper .swiper-slide img {
  display: block;
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.swiper::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 126px;
  background-image: url("../../uploads/2025/12/keyakimaintitle_bg1.svg");
  background-position: center top;
  background-repeat: repeat-x;
  background-size: 1400px auto;
  pointer-events: none;
  animation: cloud-bounce 3.5s ease-in-out infinite;
  z-index: 1;
}
.swiper .mainview--philosophy1, .swiper .mainview--philosophy2 {
  display: block;
  position: absolute;
  width: 220px;
  animation: cloud-bounce 3.5s ease-in-out infinite;
  z-index: 2;
}
.swiper .mainview--philosophy1 {
  right: calc((100vw - 1200px) / 2);
  top: 100px;
}
.swiper .mainview--philosophy2 {
  left: calc((100vw - 1200px) / 2);
  bottom: 50px;
}

@keyframes zoomUp {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.08);
  }
}
@keyframes cloud-bounce {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-6px);
  }
  100% {
    transform: translateY(0);
  }
}
@media screen and (max-width: 768px) {
  .swiper {
    height: 500px;
  }
  .swiper .swiper-slide {
    height: 500px;
  }
  .swiper::after {
    bottom: -6px;
    height: 45px;
    background-size: 400px auto;
  }
  .swiper .mainview--philosophy1, .swiper .mainview--philosophy2 {
    width: 90px;
  }
  .swiper .mainview--philosophy1 {
    right: 5%;
    top: inherit;
    bottom: 50px;
  }
  .swiper .mainview--philosophy2 {
    left: 5%;
    bottom: inherit;
    top: 30px;
  }
}
/*intro*/
section.home-intro {
  position: relative;
  padding: 30px 0 80px;
  z-index: 2;
}
section.home-intro .home-intro__inner {
  position: relative;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
  width: 90%;
  max-width: 1000px;
  margin: 0 auto;
}
section.home-intro .home-intro__inner::before {
  content: url("../../uploads/2026/01/home_tree1.svg");
  display: block;
  position: absolute;
  left: -200px;
  top: -80px;
  width: 220px;
  opacity: 0.4;
  z-index: 1;
}
section.home-intro .home-intro__inner::after {
  content: url("../../uploads/2026/01/home_tree2.svg");
  display: block;
  position: absolute;
  right: -280px;
  bottom: -80px;
  width: 380px;
  opacity: 0.4;
  z-index: 1;
}
section.home-intro .home-intro__image {
  width: 62%;
  z-index: 2;
}
section.home-intro .home-intro__image img {
  display: block;
  width: 100%;
  height: 450px;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 10px;
}
section.home-intro .home-intro__content {
  width: 35%;
  z-index: 2;
}
section.home-intro .home-intro__content p {
  margin-top: 20px;
}

@media screen and (max-width: 768px) {
  section.home-intro {
    padding: 20px 0;
  }
  section.home-intro .home-intro__inner {
    flex-direction: column-reverse;
  }
  section.home-intro .home-intro__inner::before {
    display: none;
  }
  section.home-intro .home-intro__inner::after {
    right: -90px;
    bottom: 0;
    top: 60px;
    width: 170px;
  }
  section.home-intro .home-intro__image {
    width: 100%;
    margin-top: 1em;
  }
  section.home-intro .home-intro__image img {
    width: 100%;
    height: auto;
    -o-object-fit: unset;
       object-fit: unset;
  }
  section.home-intro .home-intro__content {
    width: 100%;
  }
  section.home-intro .home-intro__content p {
    margin-top: 1em;
  }
}
section.home-mdllnk {
  padding: 50px 0;
}
section.home-mdllnk .home-mdllnk__inner {
  position: relative;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
  gap: 30px;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}
section.home-mdllnk .home-mdllnk__content {
  width: 40%;
  min-width: 450px;
}
section.home-mdllnk .home-mdllnk__content p {
  margin-top: 20px;
}
section.home-mdllnk .home-mdllnk__content .greenbtn--large {
  margin-top: 20px;
}
section.home-mdllnk .home-mdllnk__image {
  overflow: hidden;
  max-width: 1500px;
}
section.home-mdllnk .home-mdllnk__image img {
  display: block;
  height: 450px;
  aspect-ratio: 150/45;
  -o-object-fit: cover;
     object-fit: cover;
}

section.home-dl .home-mdllnk__inner::before {
  content: "";
  display: block;
  position: absolute;
  left: 300px;
  top: -110px;
  width: 203px;
  height: 149px;
  background-image: url("../../uploads/2026/01/sanrinsha.webp");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  will-change: transform;
  transform-origin: center;
  animation: tricycle-float 8s ease-in-out infinite;
}
@keyframes tricycle-float {
  0% {
    transform: translate(0, 0) rotate(0deg);
  }
  25% {
    transform: translate(25px, -1px) rotate(-0.6deg);
  }
  50% {
    transform: translate(50px, 0) rotate(0.6deg);
  } /* 右へ少し */
  75% {
    transform: translate(25px, 1px) rotate(-0.4deg);
  }
  100% {
    transform: translate(0, 0) rotate(0deg);
  }
}
section.home-dl .home-mdllnk__image {
  margin-right: calc((100vw - 1200px) / -2);
}
section.home-dl .home-mdllnk__image img {
  -o-object-position: center left;
     object-position: center left;
  border-radius: 100px 10px 10px 100px;
}

section.home-ei .home-mdllnk__inner {
  flex-direction: row-reverse;
}
section.home-ei .home-mdllnk__image {
  position: relative;
  overflow: visible;
  margin-left: calc((100vw - 1200px) / -2);
}
section.home-ei .home-mdllnk__image::before {
  content: "";
  display: block;
  position: absolute;
  left: 20%;
  top: -160px;
  width: 146px;
  height: 177px;
  background-image: url("../../uploads/2026/01/bikeboy.webp");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  z-index: 1;
  animation: boy-hop 2.8s ease-in-out infinite;
  will-change: transform;
}
@keyframes boy-hop {
  0% {
    transform: translateY(0);
  }
  15% {
    transform: translateY(-8px);
  } /* ジャンプ */
  30% {
    transform: translateY(0);
  } /* 着地 */
  45% {
    transform: translateY(-5px);
  } /* 小さく2回目 */
  60% {
    transform: translateY(0);
  } /* 着地 */
  100% {
    transform: translateY(0);
  } /* タメ */
}
section.home-ei .home-mdllnk__image img {
  position: relative;
  z-index: 2;
  -o-object-position: center right;
     object-position: center right;
  border-radius: 10px 100px 100px 10px;
}

@media screen and (max-width: 1200px) {
  section.home-dl {
    margin-left: 5%;
  }
  section.home-dl .home-mdllnk__image {
    margin-right: 0;
  }
  section.home-ei {
    margin-right: 5%;
  }
  section.home-ei .home-mdllnk__image {
    margin-left: 0;
  }
}
@media screen and (max-width: 768px) {
  section.home-mdllnk {
    padding: 30px 0;
  }
  section.home-mdllnk .home-mdllnk__inner {
    flex-direction: column;
    gap: 30px;
    width: 90%;
  }
  section.home-mdllnk .home-mdllnk__content {
    width: 100%;
    min-width: unset;
  }
  section.home-mdllnk .home-mdllnk__content p {
    margin-top: 20px;
  }
  section.home-mdllnk .home-mdllnk__content .greenbtn--large {
    margin-top: 20px;
  }
  section.home-mdllnk .home-mdllnk__image {
    max-width: 1500px;
  }
  section.home-mdllnk .home-mdllnk__image img {
    height: 200px;
    aspect-ratio: 150/45;
  }
  section.home-dl .home-mdllnk__inner::before {
    left: unset;
    right: 50px;
    top: -20px;
    width: 105px;
    height: 77px;
  }
  section.home-dl .home-mdllnk__image {
    width: 100vw;
    margin-right: 0;
    margin-left: 10%;
  }
  section.home-ei .home-mdllnk__inner {
    flex-direction: column;
  }
  section.home-ei .home-mdllnk__image {
    margin-left: 0;
    width: 100vw;
    margin-right: 10%;
  }
  section.home-ei .home-mdllnk__image::before {
    left: unset;
    right: 30px;
    top: -250px;
    width: 76px;
    height: 92px;
  }
}
section.home-facilities {
  position: relative;
  padding: 50px 0;
}
section.home-facilities .home-facilities__title {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: flex-end;
  position: relative;
  z-index: 2;
  gap: 30px;
}
section.home-facilities .home-facilities__title .leaf__headline {
  width: -moz-fit-content;
  width: fit-content;
}
section.home-facilities .home-facilities__title p {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0;
}
section.home-facilities::before {
  content: "";
  display: block;
  position: absolute;
  right: 50px;
  top: -110px;
  width: 20vw;
  max-width: 283px;
  height: 254px;
  background-image: url("../../uploads/2026/01/hanaichimonme.webp");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  z-index: 1;
  transform-origin: 50% 90%;
  will-change: transform;
  animation: hana-breeze 7.5s ease-in-out infinite;
}
@keyframes hana-breeze {
  0% {
    transform: translate(0, 0) rotate(0deg);
  }
  25% {
    transform: translate(-4px, -3px) rotate(-1.1deg);
  }
  55% {
    transform: translate(3px, -5px) rotate(1.4deg);
  }
  80% {
    transform: translate(-2px, -2px) rotate(-0.6deg);
  }
  100% {
    transform: translate(0, 0) rotate(0deg);
  }
}
section.home-facilities .greenbtn--large {
  margin: 50px auto 0;
}

.fac-marquee {
  overflow: hidden;
  width: 100%;
  margin-top: 30px;
  touch-action: pan-y; /* 縦スクロールは許可しつつ、横ドラッグOK */
  overflow: visible;
}

.fac-marquee__track {
  display: flex;
  width: -moz-max-content;
  width: max-content;
  will-change: transform;
  transform: translate3d(0, 0, 0);
  cursor: grab;
  overflow: visible;
}

.fac-marquee.is-dragging .fac-marquee__track {
  cursor: grabbing;
  overflow: visible;
}

/* 施設カード一覧（横並び） */
.home-facilities__list {
  display: flex;
  gap: 20px;
  list-style: none;
  padding: 0 20px 0 0;
  margin: 0;
  overflow: visible;
}

.home-facilities__item {
  flex: 0 0 auto;
  width: 300px;
  text-align: center;
  overflow: visible;
}

.home-facilities__link {
  display: block;
  text-decoration: none;
  color: #333;
  overflow: visible;
}
.home-facilities__link:hover img {
  transform: scale(1.05);
}

.home-facilities__img {
  width: 100%;
  aspect-ratio: 300/225;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 10px;
  display: block;
  transition: 0.3s;
}

.home-facilities__name {
  margin: 10px 0 0;
  font-size: 16px;
  line-height: 1.4;
}

/* ここはJSで距離を入れる（CSS変数） */
@keyframes fac-marquee {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(calc(-1 * var(--marquee-distance)));
  }
}
/* ホバーで止めたいなら（任意） */
.fac-marquee:hover .fac-marquee__track {
  animation-play-state: paused;
}

/* 動きを減らす設定の人へ */
@media (prefers-reduced-motion: reduce) {
  .fac-marquee__track {
    animation: none;
  }
}
@media screen and (max-width: 768px) {
  section.home-facilities {
    padding: 30px 0 50px;
  }
  section.home-facilities .home-facilities__title {
    flex-direction: column;
    gap: 0;
    width: 90%;
    margin: 0 auto;
  }
  section.home-facilities .home-facilities__title .leaf__headline {
    width: 100%;
  }
  section.home-facilities .home-facilities__title p {
    width: 100%;
    margin: 20px 0 0;
  }
  section.home-facilities::before {
    right: 20px;
    top: -90px;
    width: 40vw;
    max-width: 250px;
  }
  section.home-facilities .greenbtn--large {
    margin: 20px auto 0;
  }
  .fac-marquee {
    margin-top: 20px;
  }
  /* 施設カード一覧（横並び） */
  .home-facilities__list {
    gap: 15px;
    padding: 0 15px 0 0;
  }
  .home-facilities__item {
    width: 200px;
  }
  .home-facilities__name {
    font-size: 14px;
  }
}
section.home-news {
  padding: 80px 0;
}
section.home-news .leaf__headline {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
section.home-news .leaf__headline span {
  text-align: center;
}
section.home-news .home-news__list {
  width: 90%;
  max-width: 850px;
  margin: 50px auto 0;
  padding: 0;
  list-style: none;
  border-bottom: 1px solid #999;
}
section.home-news .home-news__list li {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: flex-start;
  margin: 0;
  padding: 1.5em 1em;
  border-top: 1px solid #999;
}
section.home-news .home-news__list li .home-news__date {
  min-width: calc(10em + 30px);
}
section.home-news .home-news__list li .home-news__date {
  width: auto;
}
section.home-news .greenbtn--large {
  margin: 50px auto 0;
}

@media screen and (max-width: 768px) {
  section.home-news {
    padding: 50px 0;
    background-color: #D9F2E2;
  }
  section.home-news .home-news__list {
    margin: 30px auto 0;
  }
  section.home-news .home-news__list li {
    flex-direction: column;
    margin: 0;
    padding: 1em;
    border-top: 1px solid #999;
  }
  section.home-news .home-news__list li .home-news__date {
    min-width: 100%;
  }
  section.home-news .home-news__list li .home-news__date {
    width: 100%;
  }
  section.home-news .greenbtn--large {
    margin: 30px auto 0;
  }
}
section.home-recruit {
  padding: 80px 0 0;
}
section.home-recruit .home-recruit__inner {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
  gap: 30px;
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px;
  background-image: url("../../uploads/2026/01/home_recruit_bg.webp");
  background-repeat: repeat;
  border-radius: 10px;
}
section.home-recruit .home-recruit__content {
  width: 40%;
  min-width: 400px;
  padding-left: 50px;
}
section.home-recruit .home-recruit__content p {
  margin: 20px 0 0;
}
section.home-recruit .home-recruit__content .greenbtn--large {
  margin: 20px 0 0;
}
section.home-recruit .home-recruit__image {
  width: 60%;
}
section.home-recruit .home-recruit__image img {
  display: block;
  width: 100%;
}
section.home-recruit .home-recruit__image .spbtn {
  display: none;
}

@media screen and (max-width: 768px) {
  section.home-recruit {
    padding: 0;
  }
  section.home-recruit .home-recruit__inner {
    flex-direction: column;
    gap: 20px 0;
    width: 100%;
    padding: 50px 0;
    border-radius: 0;
  }
  section.home-recruit .home-recruit__content {
    width: 90%;
    min-width: unset;
    margin: 0 auto;
    padding-left: 0;
  }
  section.home-recruit .home-recruit__content p {
    margin: 20px 0 0;
  }
  section.home-recruit .home-recruit__content .pcbtn {
    display: none;
  }
  section.home-recruit .home-recruit__image {
    width: 90%;
    margin: 0 auto;
  }
  section.home-recruit .home-recruit__image .spbtn {
    display: block;
    margin-top: 20px;
  }
}
/* 園の一日
--------------------------------------------- */
section.dl-intro {
  padding: 80px 0;
}
section.dl-intro .dl-intro__inner {
  width: 90%;
  max-width: 1200px;
  margin: 50px auto 0;
}
section.dl-intro .dl-intro__inner p {
  margin: 0;
  text-align: center;
}

@media screen and (max-width: 768px) {
  section.dl-intro {
    padding: 50px 0;
  }
  section.dl-intro .dl-intro__inner {
    margin: 30px auto 0;
  }
  section.dl-intro .dl-intro__inner p {
    text-align: left;
  }
}
section.dl-time {
  overflow: hidden;
}
section.dl-time .dl-time__inner {
  position: relative;
  display: grid;
  width: 90%;
  max-width: 1000px;
  margin: 100px auto;
}
section.dl-time .dl-time__inner::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 3px;
  height: calc(100% - 200px);
  transform: translateX(-50%);
  background: #d9d9d9;
}
section.dl-time .dl-time__item {
  display: grid;
  grid-template-columns: 40% 20% 40%;
  align-items: start;
  margin-top: -100px;
  z-index: 2;
}
section.dl-time .dl-time__event img {
  display: block;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 4/3;
  border-radius: 10px;
}
section.dl-time .dl-time__event h2 {
  margin: 10px 0 0;
  font-size: 24px;
  font-weight: 500;
  text-align: center;
  line-height: 1.5em;
}
section.dl-time .dl-time__event p {
  margin: 10px 0 0;
  line-height: 1.5em;
}
section.dl-time .dl-time__timeline {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin-top: 92px;
  z-index: 1;
}
section.dl-time .dl-time__timeline > div {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 115px;
  aspect-ratio: 1/1;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
}
section.dl-time .dl-time__timeline > div.time0700 {
  background-image: url("../../uploads/2026/01/time0700_bg.svg");
}
section.dl-time .dl-time__timeline > div.time0900 {
  background-image: url("../../uploads/2026/01/time0900_bg.svg");
}
section.dl-time .dl-time__timeline > div.time1000 {
  background-image: url("../../uploads/2026/01/time1000_bg.svg");
}
section.dl-time .dl-time__timeline > div.time1130 {
  background-image: url("../../uploads/2026/01/time1130_bg.svg");
}
section.dl-time .dl-time__timeline > div.time1200 {
  background-image: url("../../uploads/2026/01/time1200_bg.svg");
}
section.dl-time .dl-time__timeline > div.time1545 {
  background-image: url("../../uploads/2026/01/time1545_bg.svg");
}
section.dl-time .dl-time__timeline > div.time1600 {
  background-image: url("../../uploads/2026/01/time1600_bg.svg");
}
section.dl-time .dl-time__timeline > div.time1830 {
  background-image: url("../../uploads/2026/01/time1830_bg.svg");
}
section.dl-time .dl-time__timeline > div.time1930 {
  background-image: url("../../uploads/2026/01/time1930_bg.svg");
}
section.dl-time .dl-time__timeline > div p {
  margin: 0;
  font-size: 28px;
  font-weight: 500;
  line-height: 1em;
  text-align: center;
  color: #fff;
}
section.dl-time .dl-time__timeline > div p span {
  display: block;
  font-size: 20px;
}
section.dl-time .dl-time__empty {
  min-height: 1px;
}
section.dl-time .dl-treebg-tree1 {
  position: absolute;
  left: -350px;
  top: 270px;
  width: 430px;
  opacity: 0.4;
  z-index: 1;
}
section.dl-time .dl-treebg-tree2 {
  position: absolute;
  right: -250px;
  bottom: 0;
  width: 650px;
  opacity: 0.5;
  z-index: 1;
}
section.dl-time .dl-time_kids {
  position: absolute;
  right: -20px;
  top: -50px;
  width: 35%;
  z-index: 10;
}
section.dl-time .dl-time_kids img {
  display: block;
}

@media screen and (max-width: 768px) {
  section.dl-time .dl-time__inner {
    position: relative;
    display: grid;
    width: 90%;
    max-width: 1000px;
    margin: -30px auto 0;
    padding-bottom: 120px;
  }
  section.dl-time .dl-time__inner::before {
    top: calc((90vw - 100px) / 4 * 3 / 2 + 40px);
    bottom: 0;
    left: 40px;
    width: 2px;
    height: calc(100% - 50vw - 50px - 120px);
  }
  section.dl-time .dl-time__item {
    grid-template-columns: 100px auto;
    margin-top: 30px;
  }
  section.dl-time .dl-time--left .dl-time__timeline {
    order: 1;
  }
  section.dl-time .dl-time--left .dl-time__event {
    order: 2;
  }
  section.dl-time .dl-time__event h2 {
    margin: 5px 0 0;
    font-size: 20px;
  }
  section.dl-time .dl-time__event p {
    margin: 5px 0 0;
  }
  section.dl-time .dl-time__timeline {
    width: 100%;
    max-width: 80px;
    margin-top: calc((90vw - 100px) / 4 * 3 / 2 - 40px);
  }
  section.dl-time .dl-time__timeline > div {
    width: 100%;
  }
  section.dl-time .dl-time__timeline > div p {
    font-size: 20px;
  }
  section.dl-time .dl-time__timeline > div p span {
    font-size: 16px;
  }
  section.dl-time .dl-time__empty {
    display: none;
  }
  section.dl-time .dl-treebg-tree1 {
    display: none;
  }
  section.dl-time .dl-treebg-tree2 {
    right: -14%;
    bottom: 0;
    width: 120%;
    z-index: 1;
  }
  section.dl-time .dl-time_kids {
    display: none;
  }
}
section.dl-event {
  padding: 80px 0;
}
section.dl-event .dl-event__inner {
  width: 90%;
  max-width: 1200px;
  margin: 50px auto 0;
}
section.dl-event .dl-event__inner ul {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 50px 30px;
  margin: 0;
  padding: 0;
  list-style: none;
}
section.dl-event .dl-event__inner ul li {
  margin: 0;
}
section.dl-event .dl-event__inner ul li .dl-event__image {
  display: flex;
  justify-content: center;
  align-items: center;
  aspect-ratio: 1/1;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
}
section.dl-event .dl-event__inner ul li .dl-event__image img {
  display: block;
  height: 60%;
}
section.dl-event .dl-event__inner ul li .dl-event__image.image04 {
  background-image: url("../../uploads/2026/01/image04.svg");
}
section.dl-event .dl-event__inner ul li .dl-event__image.image05 {
  background-image: url("../../uploads/2026/01/image05.svg");
}
section.dl-event .dl-event__inner ul li .dl-event__image.image06 {
  background-image: url("../../uploads/2026/01/image06.svg");
}
section.dl-event .dl-event__inner ul li .dl-event__image.image07 {
  background-image: url("../../uploads/2026/01/image07.svg");
}
section.dl-event .dl-event__inner ul li .dl-event__image.image08 {
  background-image: url("../../uploads/2026/01/image08.svg");
}
section.dl-event .dl-event__inner ul li .dl-event__image.image09 {
  background-image: url("../../uploads/2026/01/image09.svg");
}
section.dl-event .dl-event__inner ul li .dl-event__image.image10 {
  background-image: url("../../uploads/2026/01/image10.svg");
}
section.dl-event .dl-event__inner ul li .dl-event__image.image11 {
  background-image: url("../../uploads/2026/01/image11.svg");
}
section.dl-event .dl-event__inner ul li .dl-event__image.image12 {
  background-image: url("../../uploads/2026/01/image12.svg");
}
section.dl-event .dl-event__inner ul li .dl-event__image.image02 {
  background-image: url("../../uploads/2026/01/image02.svg");
}
section.dl-event .dl-event__inner ul li .dl-event__image.image03 {
  background-image: url("../../uploads/2026/01/image03.svg");
}
section.dl-event .dl-event__inner ul li .dl-event__image.imageevm {
  background-image: url("../../uploads/2026/01/imageevm.svg");
}
section.dl-event .dl-event__inner ul li h3 {
  margin: 5px 0 0;
  font-size: 20px;
  font-weight: 500;
  text-align: center;
}
section.dl-event .dl-event__inner ul li p {
  margin: 5px 0 0;
  font-size: 16px;
  text-align: center;
  line-height: 1.3em;
}

@media screen and (max-width: 768px) {
  section.dl-event {
    padding: 50px 0;
  }
  section.dl-event .dl-event__inner {
    margin: 30px auto 0;
  }
  section.dl-event .dl-event__inner ul {
    grid-template-columns: repeat(1, 1fr);
    gap: 20px 0;
  }
  section.dl-event .dl-event__inner ul li {
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
  }
  section.dl-event .dl-event__inner ul li .dl-event__image {
    width: 20%;
  }
  section.dl-event .dl-event__inner ul li h3 {
    width: 4.5em;
    margin: 0;
    font-size: 18px;
    line-height: 1.5em;
  }
  section.dl-event .dl-event__inner ul li p {
    width: auto;
    margin: 0;
    text-align: left;
  }
}
/* 施設一覧ページ
--------------------------------------------- */
/*フィルタリング*/
section.facility-filter__wrap {
  padding: 50px 0 0;
}
section.facility-filter__wrap .facility-filter__lead {
  margin: 0;
  text-align: center;
}
section.facility-filter__wrap .facility-filter__inner {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 50px;
  width: 90%;
  max-width: 1200px;
  margin: 30px auto 0;
}
section.facility-filter__wrap .facility-filter__all a {
  position: relative;
  display: flex;
  align-items: center;
  width: 140px;
  height: 40px;
  font-size: 16px;
  color: #fff;
  text-decoration: none;
  background-color: #B2BC9D;
  border-radius: 10px;
  transition: 0.3s;
}
section.facility-filter__wrap .facility-filter__all a span {
  margin-left: 40px;
}
section.facility-filter__wrap .facility-filter__all a::before {
  content: "";
  position: absolute;
  left: 10px;
  width: 20px;
  height: 20px;
  border: 2px solid #fff;
  border-radius: 10px;
}
section.facility-filter__wrap .facility-filter__all a::after {
  content: "";
  position: absolute;
  left: 13px;
  top: 11px;
  width: 18px;
  height: 9px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(-45deg);
  opacity: 0;
  transition: 0.3s;
}
section.facility-filter__wrap .facility-filter__all a:hover {
  background-color: #EB9500;
}
section.facility-filter__wrap .facility-filter__all a:hover::after {
  opacity: 1;
}
section.facility-filter__wrap .facility-filter__all--sp {
  display: none;
}
section.facility-filter__wrap .facility-filter__pref-wrapper {
  width: 100%;
}
section.facility-filter__wrap .facility-filter__pref-block {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: flex-start;
  margin-top: 20px;
}
section.facility-filter__wrap .facility-filter__pref-block:first-child {
  margin-top: 0;
}
section.facility-filter__wrap .facility-filter__pref-title {
  width: clamp(4em, 5%, 6em);
  margin: 0;
  font-size: 20px;
  font-weight: 500;
}
section.facility-filter__wrap .facility-filter__items {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  gap: 8px;
  width: clamp(140px, 95%, 1200px);
}
section.facility-filter__wrap .facility-filter__item {
  position: relative;
  display: flex;
  align-items: center;
  width: 135px;
  height: 40px;
  font-size: 16px;
  color: #fff;
  text-decoration: none;
  background-color: #B2BC9D;
  border-radius: 10px;
  transition: 0.3s;
}
section.facility-filter__wrap .facility-filter__item span {
  margin-left: 40px;
}
section.facility-filter__wrap .facility-filter__item input {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
section.facility-filter__wrap .facility-filter__item::before {
  content: "";
  position: absolute;
  left: 10px;
  width: 20px;
  height: 20px;
  border: 2px solid #fff;
  border-radius: 10px;
}
section.facility-filter__wrap .facility-filter__item::after {
  content: "";
  position: absolute;
  left: 13px;
  top: 11px;
  width: 18px;
  height: 9px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(-45deg);
  opacity: 0;
  transition: 0.3s;
}
section.facility-filter__wrap .facility-filter__item:hover {
  cursor: pointer;
  background-color: #929d7d;
}
section.facility-filter__wrap .facility-filter__item:has(input:checked) {
  background-color: #EB9500;
}
section.facility-filter__wrap .facility-filter__item:has(input:checked)::after {
  opacity: 1;
}
section.facility-filter__wrap .facility-filter__submit {
  display: block;
  width: clamp(200px, 50%, 300px);
  height: 35px;
  margin: 30px auto 0;
  padding: 0;
  border-radius: 20px;
  background-color: #EB9500;
  border: 0;
  font-size: 16px;
  line-height: 1em;
  color: #fff;
  transition: 0.3s;
}
section.facility-filter__wrap .facility-filter__submit:hover {
  background-color: #D76412;
  cursor: pointer;
}
section.facility-filter__wrap .facility-filter__submit:disabled {
  background-color: #ccc;
  color: #666;
  cursor: not-allowed;
  opacity: 0.7;
}

/* トグルはPCでは非表示 */
.facility-filter__toggle {
  display: none;
}

/* モーダルは初期非表示 */
.facility-modal {
  display: none;
}

@media (max-width: 768px) {
  .facility-modal {
    display: block;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.3s ease, visibility 0s linear 0.3s;
  }
  .facility-filter__toggle {
    display: flex;
    justify-content: center;
    align-items: center;
    position: fixed;
    left: 5%;
    right: 5%;
    bottom: 1em;
    z-index: 3000;
    margin: 0;
    padding: 10px;
    border: 3px solid #11893C;
    border-radius: 999px;
    background: #fff; /* 例：緑。既存の色に合わせてOK */
    color: #11893C;
    font-weight: 500;
    cursor: pointer;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.2);
    transition: opacity 0.3s ease, visibility 0.3s ease;
  }
  .facility-filter__toggle.is-hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }
  .facility-modal.is-open ~ .facility-filter__toggle,
  .facility-modal.is-open + .facility-filter__toggle {
    display: none;
  }
  body.is-filter-modal-open .facility-filter__toggle {
    display: none;
  }
  /* SP時、フォームはモーダルへ移動するので「一旦ここでは表示しない」 */
  /* ※ JSが動く前にチラつくのが嫌なら下の1行を入れる */
  /* .facility-filter { display: none; } */
  .facility-modal.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    display: block;
    position: fixed;
    inset: 0;
    z-index: 2000;
    transition: opacity 0.3s ease, visibility 0s;
  }
  .facility-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    opacity: 0;
    transition: opacity 0.3s ease;
  }
  .facility-modal.is-open .facility-modal__backdrop {
    opacity: 1;
  }
  .facility-modal__panel {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    max-height: 85vh; /* 画面の8〜9割くらいが使いやすい */
    background: #fff;
    border-radius: 16px 16px 0 0;
    overflow: hidden;
    box-shadow: 0 -10px 30px rgba(0, 0, 0, 0.2);
    display: flex;
    flex-direction: column;
    /* 閉じた状態：少し下に隠す */
    transform: translateY(40px);
    opacity: 0;
    transition: transform 0.3s ease, opacity 0.3s ease;
    will-change: transform, opacity; /* iOS対策 */
  }
  .facility-modal.is-open .facility-modal__panel {
    transform: translateY(0);
    opacity: 1;
  }
  .facility-modal__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px;
    border-bottom: 1px solid #eee;
  }
  .facility-modal__title {
    margin: 0;
    font-size: 1rem;
    font-weight: 400;
  }
  .facility-modal__close {
    font-size: 24px;
    line-height: 1;
    background: none;
    border: 0;
    cursor: pointer;
  }
  .facility-modal__body {
    padding: 12px 16px 16px;
    overflow: auto;
  }
  section.facility-filter__wrap {
    padding: 0;
  }
  section.facility-filter__wrap .facility-filter__lead {
    display: none;
  }
  section.facility-filter__wrap .facility-filter__inner {
    flex-direction: column;
    gap: 0;
    width: 100%;
    margin: 0;
  }
  section.facility-filter__wrap .facility-filter__all {
    display: none;
  }
  section.facility-filter__wrap .facility-filter__pref-wrapper {
    width: 100%;
    padding-bottom: 20px;
    border-bottom: 1px dashed #ccc;
  }
  section.facility-filter__wrap .facility-filter__pref-block {
    flex-direction: column;
    margin-top: 20px;
  }
  section.facility-filter__wrap .facility-filter__pref-title {
    width: 100%;
    margin: 0;
    font-size: 18px;
    text-align: center;
  }
  section.facility-filter__wrap .facility-filter__items {
    justify-content: center;
    gap: 8px;
    width: 100%;
  }
  section.facility-filter__wrap .facility-filter__item {
    width: 45%;
    height: 40px;
  }
  section.facility-filter__wrap .facility-filter__submit {
    display: block;
    width: -moz-fit-content;
    width: fit-content;
    height: 35px;
    margin: 15px auto 0;
    padding: 0 2em;
    border-radius: 20px;
    background-color: #EB9500;
    border: 0;
    font-size: 16px;
    line-height: 1em;
    color: #fff;
  }
  section.facility-filter__wrap .facility-filter__all--sp {
    display: block;
    width: -moz-fit-content;
    width: fit-content;
    margin: 20px auto 0;
    font-size: 16px;
    font-weight: 400;
    line-height: 1em;
  }
  section.facility-filter__wrap .facility-filter__all--sp a {
    display: flex;
    align-items: center;
    width: -moz-fit-content;
    width: fit-content;
    height: 35px;
    padding: 0 2em;
    background-color: #11893C;
    border-radius: 20px;
    text-decoration: none;
    color: #fff;
  }
}
/*施設カード*/
section.facility-list {
  padding: 80px 0;
}
section.facility-list .facility-list__inner {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
}
section.facility-list .facility-card {
  background-color: #fff;
  border-radius: 10px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
}
section.facility-list .facility-card a {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  padding-bottom: 25px;
  color: #333;
  text-decoration: none;
}
section.facility-list .facility-card__img {
  display: block;
  width: 100%;
  aspect-ratio: 4/3;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
  border-radius: 10px 10px 0 0;
}
section.facility-list .facility-card__title {
  margin: 10px 0 0;
  font-size: 20px;
  font-weight: 500;
  text-align: center;
}
section.facility-list .facility-service-tags {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem;
  margin: 5px 0 15px;
}
section.facility-list .facility-service-tags__tag {
  padding: 0.2em 0.9em;
  border-radius: 5px;
  font-size: 14px;
  background: #eee;
  color: #333;
  white-space: nowrap;
}
section.facility-list .facility-service-tags__tag--temporary-care {
  background: #FFE8C7;
  color: #8A5A00;
}
section.facility-list .facility-service-tags__tag--sick-child-care {
  background: #E7F0FF;
  color: #2C5FB8;
}
section.facility-list .facility-service-tags__tag--childcare-center {
  background: #E9F7EF;
  color: #11893C;
}
section.facility-list .facility-card__address, section.facility-list .facility-card__tel {
  margin: 5px 0 0;
  font-size: 14px;
  text-align: center;
}
section.facility-list .facility-card__tel {
  margin-bottom: 10px;
}
section.facility-list .facility-card__btn {
  margin: auto auto 0;
  text-align: center;
  color: #fff;
}

@media screen and (max-width: 768px) {
  section.facility-list {
    padding: 50px 0;
  }
  section.facility-list .facility-list__inner {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  section.facility-list .facility-card a {
    padding-bottom: 20px;
  }
  section.facility-list .facility-card__img {
    aspect-ratio: 16/9;
  }
}
/* 施設単独ページ
--------------------------------------------- */
section.facility-ind__wrap {
  margin-top: 50px;
}
section.facility-ind__wrap .facility-ind__inner {
  width: 90%;
  max-width: 1000px;
  margin: 0 auto;
}
section.facility-ind__wrap .facility-ind__image {
  display: block;
  width: 100%;
  aspect-ratio: 2/1;
  overflow: hidden;
  border-radius: 10px;
}
section.facility-ind__wrap .facility-ind__image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
}
section.facility-ind__wrap .facility-ind__container {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: flex-start;
  margin-top: 50px;
}
section.facility-ind__wrap .facility-ind__maninfo {
  width: 55%;
  border-bottom: 1px solid #ccc;
}
section.facility-ind__wrap .facility-ind__maninfo dl {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 1rem;
  margin: 0;
  padding: 20px 0;
  border-top: 1px solid #ccc;
}
section.facility-ind__wrap .facility-ind__maninfo dl dt {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  width: 20%;
  margin: 0;
  padding: 0;
  font-weight: 500;
  color: #11893C;
}
section.facility-ind__wrap .facility-ind__maninfo dl dd {
  width: 75%;
  margin: 0;
  padding: 0;
}
section.facility-ind__wrap .facility-service-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
section.facility-ind__wrap .facility-service-tags__tag {
  padding: 0.2em 0.9em;
  border-radius: 5px;
  font-size: 14px;
  background: #eee;
  color: #333;
  white-space: nowrap;
}
section.facility-ind__wrap .facility-service-tags__tag--temporary-care {
  background: #FFE8C7;
  color: #8A5A00;
}
section.facility-ind__wrap .facility-service-tags__tag--sick-child-care {
  background: #E7F0FF;
  color: #2C5FB8;
}
section.facility-ind__wrap .facility-service-tags__tag--childcare-center {
  background: #E9F7EF;
  color: #11893C;
}
section.facility-ind__wrap .facility-ind__map {
  width: 38%;
}
section.facility-ind__wrap .facility-ind__gglmap {
  width: 100%;
  aspect-ratio: 1/1;
}
section.facility-ind__wrap .facility-ind__gglmap iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 10px;
}
section.facility-ind__wrap .facility-ind__maplink {
  margin: 20px auto 0;
}
section.facility-ind__wrap .facility-ind__remarks {
  margin-top: 30px;
}
section.facility-ind__wrap .facility-azukaru__btn {
  margin: 70px auto 0;
}
section.facility-ind__wrap .facility-mochimono__btn {
  margin: 20px auto 0;
}

.tofacilitylist {
  margin-top: 80px;
  padding: 80px 0;
}
.tofacilitylist .facilitylist__btn {
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  section.facility-ind__wrap .facility-ind__container {
    flex-direction: column;
    margin-top: 30px;
  }
  section.facility-ind__wrap .facility-ind__maninfo {
    width: 100%;
  }
  section.facility-ind__wrap .facility-ind__maninfo dl {
    flex-direction: column;
    gap: 0;
    padding: 15px 0;
  }
  section.facility-ind__wrap .facility-ind__maninfo dl dt {
    display: block;
    width: 100%;
  }
  section.facility-ind__wrap .facility-ind__maninfo dl dd {
    width: 100%;
    padding-left: 1em;
  }
  section.facility-ind__wrap .facility-service-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
  }
  section.facility-ind__wrap .facility-service-tags__tag {
    font-size: 13px;
  }
  section.facility-ind__wrap .facility-ind__map {
    width: 100%;
    margin-top: 30px;
  }
  section.facility-ind__wrap .facility-ind__gglmap {
    aspect-ratio: 4/3;
  }
  section.facility-ind__wrap .facility-ind__maplink {
    margin: 20px auto 0;
  }
  section.facility-ind__wrap .facility-ind__remarks {
    margin-top: 30px;
  }
  .tofacilitylist {
    margin-top: 50px;
    padding: 50px 0;
  }
  .tofacilitylist .facilitylist__btn {
    margin: 0 auto;
  }
}
/* 入園案内
--------------------------------------------- */
section.admission-intro {
  padding: 50px 0 0;
}
section.admission-intro .admission-intro__inner {
  padding: 30px 0;
  box-sizing: border-box;
  border-radius: 10px;
  background-color: rgba(255, 255, 255, 0.6);
}
section.admission-intro .admission-intro__inner p {
  margin: 0;
  font-size: 20px;
  font-weight: 500;
  text-align: center;
}
section.admission-intro .admission-intro__btn {
  margin: 20px auto 0;
}

@media screen and (max-width: 768px) {
  section.admission-intro {
    padding: 30px 0 0;
  }
  section.admission-intro .admission-intro__inner {
    padding: 20px 0;
  }
  section.admission-intro .admission-intro__inner p {
    font-size: 16px;
  }
  section.admission-intro .admission-intro__btn {
    width: 90%;
  }
}
section.admission-service {
  padding: 80px 0;
}
section.admission-service .admission-service__lead {
  margin: 30px 0 0;
  text-align: center;
}
section.admission-service .admission-service__items {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: stretch;
  margin: 50px 0 0;
}
section.admission-service .admission-service__item {
  width: 25%;
}
section.admission-service .admission-service__item .admission-service__img {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  aspect-ratio: 1/1;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
}
section.admission-service .admission-service__item .admission-service__img img {
  display: block;
  width: 40%;
  opacity: 0.75;
}
section.admission-service .admission-service__item h3 {
  margin: 15px 0 0;
  font-weight: 500;
  text-align: center;
}
section.admission-service .admission-service__item p {
  margin: 15px 0 0;
}
section.admission-service .service-futon .admission-service__img {
  background-image: url("../../uploads/2026/01/service_futon_bg.svg");
}
section.admission-service .service-futon h3 {
  color: #5CA0CD;
}
section.admission-service .service-supplies .admission-service__img {
  background-image: url("../../uploads/2026/01/service_supplies_bg.svg");
}
section.admission-service .service-supplies h3 {
  color: #D48A42;
}
section.admission-service .service-diaper .admission-service__img {
  background-image: url("../../uploads/2026/01/service_diaper_bg.svg");
}
section.admission-service .service-diaper h3 {
  color: #209B4C;
}

@media screen and (max-width: 768px) {
  section.admission-service {
    padding: 50px 0;
  }
  section.admission-service .admission-service__lead {
    margin: 20px 0 0;
    text-align: left;
  }
  section.admission-service .admission-service__items {
    flex-direction: column;
    margin: 20px 0 0;
    border-bottom: 1px dashed #ccc;
  }
  section.admission-service .admission-service__item {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
    padding: 20px 0;
    border-top: 1px dashed #ccc;
  }
  section.admission-service .admission-service__item .admission-service__img {
    width: 28%;
  }
  section.admission-service .admission-service__item .admission-service__text {
    width: 65%;
  }
  section.admission-service .admission-service__item h3 {
    margin: 0;
    text-align: left;
  }
  section.admission-service .admission-service__item p {
    margin: 15px 0 0;
  }
  section.admission-service .service-futon .admission-service__img {
    background-image: url("../../uploads/2026/01/service_futon_bg.svg");
  }
  section.admission-service .service-futon h3 {
    color: #5CA0CD;
  }
  section.admission-service .service-supplies .admission-service__img {
    background-image: url("../../uploads/2026/01/service_supplies_bg.svg");
  }
  section.admission-service .service-supplies .admission-service__img img {
    width: 45%;
  }
  section.admission-service .service-supplies h3 {
    color: #D48A42;
  }
  section.admission-service .service-diaper .admission-service__img {
    background-image: url("../../uploads/2026/01/service_diaper_bg.svg");
  }
  section.admission-service .service-diaper h3 {
    color: #209B4C;
  }
}
section.admission-faq {
  padding: 80px 0 50px;
}
section.admission-faq .faq-item {
  margin-top: 50px;
  border: 3px solid #90C31F;
  border-radius: 10px;
  background-color: #fff;
}
section.admission-faq .faq-item__title {
  margin: 0;
  padding: 1em;
  font-size: 18px;
  font-weight: 500;
  color: #fff;
  background-color: #90C31F;
}
section.admission-faq .faq-item__content p {
  margin: 1em;
}
section.admission-faq .faq-item__content .admission-faq__btn {
  margin: 1em;
}
section.admission-faq .faq-item__content .wp-block-button__link {
  background-color: transparent;
}
section.admission-faq .no-faq {
  margin: 50px 0 0;
  text-align: center;
}

@media screen and (max-width: 768px) {
  section.admission-faq {
    padding: 50px 0 30px;
  }
  section.admission-faq .faq-item {
    margin-top: 30px;
  }
  section.admission-faq .faq-item__title {
    margin: 0;
    padding: 0.7em;
    font-size: 16px;
  }
  section.admission-faq .faq-item__content p {
    margin: 0.7em;
  }
  section.admission-faq .admission-faq__btn {
    margin: 0.7em;
  }
  section.admission-faq .no-faq {
    margin: 30px 0 0;
  }
}
/* 採用情報（総合）
--------------------------------------------- */
section.recruit__intro {
  padding: 80px 0;
}
section.recruit__intro .recruit__intro-boxes {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: stretch;
  margin-top: 40px;
}
section.recruit__intro .recruit__intro-box {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 47%;
  padding: 2.5rem;
  border-radius: 10px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}
section.recruit__intro .recruit__intro-box h3 {
  margin: 0;
  font-size: 32px;
  font-weight: 500;
  text-align: center;
}
section.recruit__intro .recruit__intro-box p {
  margin: 20px 0 0;
  text-align: center;
}
section.recruit__intro .recruit__intro-box ul {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin: 20px 0 0;
  padding: 0;
  list-style: none;
}
section.recruit__intro .recruit__intro-box ul li {
  margin: 0;
  padding: 0;
}
section.recruit__intro .recruit__intro-box ul li a {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
  padding: 15px;
  border-radius: 10px;
  background-color: rgba(255, 255, 255, 0.4);
  text-decoration: none;
  transition: 0.3s;
}
section.recruit__intro .recruit__intro-box ul li a:hover {
  animation: text-bounce 0.6s ease-in-out infinite alternate;
  background-color: rgb(255, 255, 255);
}
section.recruit__intro .recruit__intro-box ul li a .contact__logoimg {
  width: 25%;
}
section.recruit__intro .recruit__intro-box ul li a .contact__logoimg img {
  display: block;
  width: 30px;
  margin: 0 auto;
}
section.recruit__intro .recruit__intro-box ul li a p {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0 1rem;
  width: 75%;
  margin: 0;
  text-align: center;
}
section.recruit__intro .recruit__intro-box ul li a p span {
  font-size: 24px;
}
section.recruit__intro .recruit__intro-box ul li.recruit-form a {
  border: 1px solid #D76412;
  color: #D76412;
}
section.recruit__intro .recruit__intro-box ul li.recruit-line a {
  border: 1px solid #06C755;
  color: #06C755;
}
section.recruit__intro .recruit__intro-box ul li.recruit-tel a {
  border: 1px solid #2F76A5;
  color: #2F76A5;
}
section.recruit__intro .recruit__intro-interview {
  background-color: #FCF6F6;
}
section.recruit__intro .recruit__intro-mail {
  background-color: #E6F3F9;
}
section.recruit__intro .recruit__intro-address {
  margin-top: 20px;
  padding: 20px;
  background-color: #fff;
  border-radius: 10px;
}
section.recruit__intro .recruit__intro-address h4 {
  margin: 0;
  font-size: 22px;
  font-weight: 400;
  text-align: center;
}
section.recruit__intro .recruit__intro-address p {
  width: -moz-fit-content;
  width: fit-content;
  margin: 10px auto 0;
  text-align: left;
}
section.recruit__intro .recruit__intro-contact {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  gap: 0 20px;
  margin-top: 20px;
}
section.recruit__intro .recruit__intro-contact .recruit__intro-contact-mds {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 5rem;
  aspect-ratio: 1/1;
  background-color: #C6D9E4;
  border-radius: 999px;
}
section.recruit__intro .recruit__intro-contact .recruit__intro-contact-num span {
  font-weight: 500;
}
section.recruit__intro .recruit__intro-contact .recruit__intro-contact-num span a {
  text-decoration: none;
  color: #333;
}

@media screen and (max-width: 768px) {
  section.recruit__intro {
    padding: 50px 0;
  }
  section.recruit__intro .recruit__intro-boxes {
    flex-direction: column;
    gap: 30px 0;
    margin-top: 30px;
  }
  section.recruit__intro .recruit__intro-box {
    display: block;
    width: 100%;
    padding: 1rem;
  }
  section.recruit__intro .recruit__intro-box h3 {
    font-size: 24px;
  }
  section.recruit__intro .recruit__intro-box p {
    margin: 15px 0 0;
  }
  section.recruit__intro .recruit__intro-box ul {
    margin: 15px 0 0;
  }
  section.recruit__intro .recruit__intro-box ul li a {
    padding: 15px;
    background-color: rgba(255, 255, 255, 0.7);
  }
  section.recruit__intro .recruit__intro-box ul li a p {
    gap: 0 1rem;
  }
  section.recruit__intro .recruit__intro-box ul li a p span {
    font-size: 22px;
  }
  section.recruit__intro .recruit__intro-address {
    margin-top: 15px;
    padding: 1rem;
  }
  section.recruit__intro .recruit__intro-address h4 {
    margin: 0;
    font-size: 18px;
  }
  section.recruit__intro .recruit__intro-address p {
    margin: 10px auto 0;
    font-size: 14px;
  }
  section.recruit__intro .recruit__intro-contact {
    gap: 0 15px;
    margin-top: 15px;
  }
}
section.recruit-selection {
  padding: 50px 0 80px;
}
section.recruit-selection .recruit-selection__contentswrap {
  margin-top: 40px;
  border-bottom: 1px solid #ccc;
}
section.recruit-selection .recruit-selection__contents {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: center;
  gap: 0 4rem;
  padding: 30px;
  border-top: 1px solid #ccc;
}
section.recruit-selection .recruit-selection__contents h3 {
  width: 8rem;
  margin: 0;
  font-size: 20px;
  font-weight: 500;
}
section.recruit-selection .recruit-selection__contents .recruit-selection__content {
  width: calc(100% - 4rem - 8rem);
}
section.recruit-selection .recruit-selection__contents .recruit-selection__content dl {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 1.5rem;
  margin: 0;
}
section.recruit-selection .recruit-selection__contents .recruit-selection__content dl dt {
  width: 10rem;
  border: 1px solid #333;
  border-radius: 5px;
  text-align: center;
  margin: 0;
  padding: 0;
  font-weight: 400;
}
section.recruit-selection .recruit-selection__contents .recruit-selection__content dl dd {
  width: calc(100% - 10rem - 1.5rem);
  margin: 0;
  padding: 0;
}

@media screen and (max-width: 768px) {
  section.recruit-selection {
    padding: 30px 0 50px;
  }
  section.recruit-selection .recruit-selection__contentswrap {
    margin-top: 20px;
  }
  section.recruit-selection .recruit-selection__contents {
    flex-direction: column;
    gap: 0;
    padding: 15px;
  }
  section.recruit-selection .recruit-selection__contents h3 {
    width: 100%;
    font-size: 16px;
    font-weight: 500;
  }
  section.recruit-selection .recruit-selection__contents .recruit-selection__content {
    width: 100%;
    padding-left: 1em;
  }
  section.recruit-selection .recruit-selection__contents .recruit-selection__content dl {
    flex-direction: column;
    gap: 0;
  }
  section.recruit-selection .recruit-selection__contents .recruit-selection__content dl dt {
    width: 10rem;
    margin-top: 15px;
  }
  section.recruit-selection .recruit-selection__contents .recruit-selection__content dl dd {
    width: 100%;
  }
}
section.recruit-jobtype {
  padding: 80px 0;
}
section.recruit-jobtype .recruit-jobtype__inner {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: stretch;
}
section.recruit-jobtype .recruit-jobtype__job {
  width: 45%;
  max-width: 450px;
  margin-top: 40px;
}
section.recruit-jobtype .recruit-jobtype__job a {
  color: #333;
  text-decoration: none;
}
section.recruit-jobtype .recruit-jobtype__job a img {
  display: block;
  width: 100%;
  border-radius: 10px;
}
section.recruit-jobtype .recruit-jobtype__job a h3 {
  margin: 20px 0 0;
  font-size: 24px;
  font-weight: 400;
  text-align: center;
}
section.recruit-jobtype .recruit-jobtype__job a .recruit-jobtype__btn {
  margin: 20px auto 0;
  color: #fff;
}

@media screen and (max-width: 768px) {
  section.recruit-jobtype {
    padding: 50px 0;
  }
  section.recruit-jobtype .recruit-jobtype__inner {
    flex-direction: column;
    gap: 40px 0;
  }
  section.recruit-jobtype .recruit-jobtype__job {
    width: 100%;
    max-width: inherit;
    margin-top: 20px;
  }
  section.recruit-jobtype .recruit-jobtype__job a img {
    width: 80%;
    margin: 0 auto;
  }
  section.recruit-jobtype .recruit-jobtype__job a h3 {
    margin: 10px 0 0;
    font-size: 18px;
  }
  section.recruit-jobtype .recruit-jobtype__job a .recruit-jobtype__btn {
    width: 80%;
    margin: 5px auto 0;
  }
}
section.recruit-keyakiplus {
  padding: 80px 0;
}
section.recruit-keyakiplus .keyakiplus__inner {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
  margin-top: 30px;
}
section.recruit-keyakiplus .keyakiplus__benefits a {
  color: #00A73C;
  text-decoration: none;
}
section.recruit-keyakiplus .keyakiplus__benefits img {
  display: block;
  width: 100%;
}
section.recruit-keyakiplus .keyakiplus__benefits h3 {
  margin: 10px 0 0;
  font-size: 24px;
  font-weight: 400;
  text-align: center;
  color: #00A73C;
}
section.recruit-keyakiplus .keyakiplus__benefits .recruit-jobtype__btn {
  margin: 10px auto 0;
  color: #fff;
}
section.recruit-keyakiplus .keyakiplus__benefits p {
  margin: 5px auto 0;
  text-align: center;
}
section.recruit-keyakiplus .keyakiplus__dormitory {
  width: 28%;
}
section.recruit-keyakiplus .keyakiplus__dormitory img {
  border-radius: 10px;
}
section.recruit-keyakiplus .keyakiplus__workjoy {
  width: 27%;
}
section.recruit-keyakiplus .keyakiplus__workjoy p {
  color: #D76412;
}
section.recruit-keyakiplus .keyakiplus__mutual-aid {
  width: 24%;
}

@media screen and (max-width: 768px) {
  section.recruit-keyakiplus {
    padding: 50px 0;
  }
  section.recruit-keyakiplus .keyakiplus__inner {
    flex-direction: column;
    gap: 40px;
    margin-top: 30px;
  }
  section.recruit-keyakiplus .keyakiplus__benefits img {
    width: 80%;
    margin: 0 auto;
  }
  section.recruit-keyakiplus .keyakiplus__benefits h3 {
    margin: 0;
    font-size: 18px;
  }
  section.recruit-keyakiplus .keyakiplus__benefits .recruit-jobtype__btn {
    margin: 10px auto 0;
  }
  section.recruit-keyakiplus .keyakiplus__benefits p {
    margin: 0 auto;
  }
  section.recruit-keyakiplus .keyakiplus__dormitory {
    width: 100%;
  }
  section.recruit-keyakiplus .keyakiplus__workjoy {
    width: 100%;
  }
  section.recruit-keyakiplus .keyakiplus__mutual-aid {
    width: 100%;
  }
  section.recruit-keyakiplus .keyakiplus__mutual-aid img {
    width: 60%;
  }
}
/* 採用情報（各職種）
--------------------------------------------- */
section.job-description {
  padding: 50px 0;
}
section.job-description .job-description__inner {
  padding: 80px;
  border-radius: 50px;
  background-color: rgba(255, 255, 255, 0.7);
}
section.job-description .tablepress {
  margin-top: 30px;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
}
section.job-description .tablepress td {
  padding: 15px;
}
section.job-description .tablepress td.column-1 {
  width: 25%;
  font-weight: 500;
  text-align: center;
}
section.job-description .tablepress td.column-2 {
  width: 75%;
}
section.job-description .tablepress td span {
  display: inline-block;
  width: 7em;
}
section.job-description .tablepress caption {
  display: none;
}

@media screen and (max-width: 768px) {
  section.job-description {
    padding: 0;
  }
  section.job-description .job-description__inner {
    width: 100%;
    padding: 30px 5%;
    border-radius: 0;
  }
  section.job-description .tablepress {
    margin-top: 20px;
  }
  section.job-description .tablepress tr {
    display: flex;
    flex-direction: column;
  }
  section.job-description .tablepress td.column-1 {
    width: 100%;
    padding: 10px 0 0;
    text-align: left;
  }
  section.job-description .tablepress td.column-2 {
    width: 100%;
    padding: 0 0 10px 1em;
    border-top: 0;
  }
  section.job-description .tablepress td span {
    width: 6.5em;
  }
}
section.job-voice {
  display: flex;
  flex-direction: column;
  gap: 50px 0;
  padding: 30px 0;
}
section.job-voice .job-voice__inner {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
}
section.job-voice .job-voice__photo {
  position: relative;
  width: 25%;
}
section.job-voice .job-voice__photo img {
  display: block;
  width: 100%;
  z-index: 1;
}
section.job-voice .job-voice__photo h3 {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  aspect-ratio: 3.14/1;
  margin: -5px 0 0;
  font-size: 22px;
  font-weight: 400;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  z-index: 2;
}
section.job-voice .job-voice__photo h3.job-voice--pink {
  background-image: url("../../uploads/2026/01/job-voice_bg1.svg");
}
section.job-voice .job-voice__photo h3.job-voice--green {
  background-image: url("../../uploads/2026/01/job-voice_bg2.svg");
}
section.job-voice .job-voice__comment {
  position: relative;
  width: 70%;
  padding: 50px;
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 10px;
}
section.job-voice .job-voice__comment::before, section.job-voice .job-voice__comment::after {
  content: "";
  position: absolute;
  top: 70px;
  width: 30px;
  aspect-ratio: 1/1;
  background-color: #fff;
  border-left: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  border-radius: 0 0 0 5px;
}
section.job-voice .job-voice__comment::before {
  left: -15px;
  transform: rotate(45deg);
}
section.job-voice .job-voice__comment::after {
  display: none;
  right: -15px;
  transform: rotate(-135deg);
}
section.job-voice .job-voice--rev {
  flex-direction: row-reverse;
}
section.job-voice .job-voice--rev .job-voice__comment::before {
  display: none;
}
section.job-voice .job-voice--rev .job-voice__comment::after {
  display: block;
}

@media screen and (max-width: 768px) {
  section.job-voice {
    gap: 30px 0;
    padding: 30px 0;
  }
  section.job-voice .job-voice__inner {
    flex-direction: column;
  }
  section.job-voice .job-voice__photo {
    position: relative;
    width: 60%;
  }
  section.job-voice .job-voice__photo h3 {
    font-size: 18px;
  }
  section.job-voice .job-voice__comment {
    width: 100%;
    margin-top: 20px;
    padding: 1.5em;
  }
  section.job-voice .job-voice__comment::before, section.job-voice .job-voice__comment::after {
    top: -15px;
    width: 30px;
  }
  section.job-voice .job-voice__comment::before {
    left: calc(50% - 15px);
    transform: rotate(135deg);
  }
  section.job-voice .job-voice--rev {
    flex-direction: column;
  }
  section.job-voice .job-voice--rev .job-voice__comment::before {
    display: block;
  }
  section.job-voice .job-voice--rev .job-voice__comment::after {
    display: none;
  }
}
section.job-cta {
  padding: 50px 0;
}
section.job-cta .job-cta__inner {
  padding: 30px;
  background-color: rgba(144, 195, 31, 0.3);
  border-radius: 10px;
}
section.job-cta .job-ctabtn__wrap {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
}
section.job-cta .job-ctabtn__wrap h3 {
  width: 20%;
  margin: 0;
  font-size: 18px;
  font-weight: 500;
  text-align: center;
  color: #00A73C;
}
section.job-cta .job-ctabtn__wrap ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
  gap: 20px;
  width: 80%;
  margin: 0;
  padding: 0;
  list-style: none;
}
section.job-cta .job-ctabtn__wrap ul li {
  width: 31%;
  min-width: 250px;
}
section.job-cta .job-ctabtn__wrap ul li a {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  height: 100%;
  padding: 10px 5px;
  text-decoration: none;
  background-color: rgba(255, 255, 255, 0.7);
  border-radius: 10px;
  transition: 0.3s;
}
section.job-cta .job-ctabtn__wrap ul li a:hover {
  animation: text-bounce 0.6s ease-in-out infinite alternate;
  background-color: rgb(255, 255, 255);
}
section.job-cta .job-ctabtn__wrap ul li a .contact__logoimg {
  width: 20%;
}
section.job-cta .job-ctabtn__wrap ul li a .contact__logoimg img {
  display: block;
  width: 30px;
  margin: 0 0 0 auto;
}
section.job-cta .job-ctabtn__wrap ul li a p {
  width: 80%;
  font-size: 16px;
  text-align: center;
}
section.job-cta .job-ctabtn__wrap ul li.recruit-form a {
  color: #D76412;
  border: 1px solid #D76412;
}
section.job-cta .job-ctabtn__wrap ul li.recruit-line a {
  color: #06C755;
  border: 1px solid #06C755;
}
section.job-cta .job-ctabtn__wrap ul li.recruit-tel a {
  color: #2F76A5;
  border: 1px solid #2F76A5;
}
section.job-cta .job-ctabtn__wrap ul li.recruit-tel a p {
  font-size: 12px;
  line-height: 1.2em;
}
section.job-cta .job-ctabtn__wrap ul li.recruit-tel a p span {
  display: block;
  font-size: 24px;
  line-height: 1.2em;
}

@media screen and (max-width: 768px) {
  section.job-cta {
    padding: 30px 0;
  }
  section.job-cta .job-cta__inner {
    padding: 1.5rem;
  }
  section.job-cta .job-ctabtn__wrap {
    flex-direction: column;
  }
  section.job-cta .job-ctabtn__wrap h3 {
    width: 100%;
    font-size: 18px;
  }
  section.job-cta .job-ctabtn__wrap ul {
    flex-direction: column;
    gap: 15px;
    width: 100%;
    margin-top: 15px;
  }
  section.job-cta .job-ctabtn__wrap ul li {
    width: 100%;
    height: 70px;
    min-width: 250px;
  }
  section.job-cta .job-ctabtn__wrap ul li a {
    padding: 10px 5px;
  }
  section.job-cta .job-ctabtn__wrap ul li.recruit-tel a {
    color: #2F76A5;
    border: 1px solid #2F76A5;
  }
  section.job-cta .job-ctabtn__wrap ul li.recruit-tel a p span {
    font-size: 22px;
  }
}
/* 法人情報
--------------------------------------------- */
section.fiscal {
  padding: 80px 0;
}
section.fiscal .fiscal-btn {
  margin: 50px auto 0;
}

section.complaint-resolution {
  padding: 80px 0;
  background-color: rgba(255, 255, 255, 0.6);
}
section.complaint-resolution .complaint-resolution__paragraph {
  margin: 30px 0 0;
}
section.complaint-resolution .complaint-resolution__tel {
  text-decoration: none;
  color: #333;
}
section.complaint-resolution .complaint-resolution__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  margin: 30px 0 0;
  padding: 0;
  border-bottom: 1px solid #ccc;
}
section.complaint-resolution .complaint-resolution__list dt {
  width: 35%;
  margin: 0;
  padding: 0.8em 0;
  border-top: 1px solid #ccc;
  font-weight: 500;
  text-align: center;
}
section.complaint-resolution .complaint-resolution__list dd {
  width: 65%;
  margin: 0;
  padding: 0.8em 0;
  border-top: 1px solid #ccc;
}

@media screen and (max-width: 768px) {
  section.fiscal {
    padding: 50px 0;
  }
  section.fiscal .fiscal-btn {
    margin: 30px auto 0;
  }
  section.complaint-resolution {
    padding: 50px 0;
  }
  section.complaint-resolution .complaint-resolution__paragraph {
    margin: 20px 0 0;
  }
  section.complaint-resolution .complaint-resolution__list {
    flex-direction: column;
    margin: 20px 0 0;
  }
  section.complaint-resolution .complaint-resolution__list dt {
    width: 100%;
    margin: 0;
    padding: 0.8em 0 0 0.5em;
    border-top: 1px solid #ccc;
    text-align: left;
  }
  section.complaint-resolution .complaint-resolution__list dd {
    width: 100%;
    margin: 0;
    padding: 0 0 0.8em 2em;
    border-top: 0;
  }
}
section.past-complaints {
  padding: 80px 0 50px;
}
section.past-complaints .complaints-item {
  margin-top: 50px;
  border: 3px solid #659B79;
  border-radius: 10px;
  background-color: #fff;
}
section.past-complaints .complaints-item__title {
  margin: 0;
  padding: 1em;
  font-size: 18px;
  font-weight: 500;
  color: #fff;
  background-color: #659B79;
}
section.past-complaints .complaints-item__content p {
  margin: 1em;
}
section.past-complaints .no-complaint {
  margin: 50px 0 0;
  text-align: center;
}

@media screen and (max-width: 768px) {
  section.past-complaints {
    padding: 50px 0 30px;
  }
  section.past-complaints .complaints-item {
    margin-top: 30px;
  }
  section.past-complaints .complaints-item__title {
    margin: 0;
    padding: 0.7em;
    font-size: 16px;
  }
  section.past-complaints .complaints-item__content p {
    margin: 0.7em;
  }
  section.past-complaints .no-complaint {
    margin: 30px 0 0;
  }
}
/* お問い合わせ
--------------------------------------------- */
section.contact-intro {
  padding: 50px 0 0;
}
section.contact-intro .contact-intro__inner {
  padding: 30px 0;
  box-sizing: border-box;
  border-radius: 10px;
  background-color: rgba(255, 255, 255, 0.6);
}
section.contact-intro .contact-intro__inner p {
  margin: 0;
  font-size: 20px;
  font-weight: 500;
  text-align: center;
}
section.contact-intro .contact-intro__btn {
  margin: 20px auto 0;
}

@media screen and (max-width: 768px) {
  section.contact-intro {
    padding: 30px 0 0;
  }
  section.contact-intro .contact-intro__inner {
    padding: 20px 0;
  }
  section.contact-intro .contact-intro__inner p {
    font-size: 16px;
  }
  section.contact-intro .contact-intro__btn {
    width: 90%;
  }
}
section.contact-form {
  padding: 80px 0;
  scroll-margin-top: 80px;
}
section.contact-form .keyaki-form__wrap {
  margin-top: 40px;
  padding: 40px 0;
  border-radius: 10px;
  background-color: rgba(144, 195, 31, 0.2);
}
section.contact-form .keyaki-form {
  width: 75%;
  margin: 0 auto;
}
section.contact-form .keyaki-form dt {
  margin: 30px 0 0;
  padding: 0;
  font-weight: 400;
  vertical-align: middle;
}
section.contact-form .keyaki-form dt p {
  margin: 0;
}
section.contact-form .keyaki-form dt .hissu {
  margin-left: 1em;
  padding: 0.2em 0.5em;
  vertical-align: middle;
  border-radius: 3px;
  font-size: 12px;
  color: #fff;
  background-color: #FF383C;
}
section.contact-form .keyaki-form dd {
  margin: 0;
  padding: 0;
}
section.contact-form .keyaki-form dd p {
  margin: 0;
}
section.contact-form .keyaki-form dd p input, section.contact-form .keyaki-form dd p select, section.contact-form .keyaki-form dd p textarea {
  display: block;
  width: 100%;
  padding: 0.2em;
  border-radius: 10px;
  border: 2px solid #aaa;
}
section.contact-form .keyaki-form dd p select {
  cursor: pointer;
}
section.contact-form .keyaki-form dd p textarea {
  height: 15em;
}
section.contact-form .keyaki-form__btn {
  max-width: 500px;
  margin: 10px 0 0 50px;
}
section.contact-form .keyaki-form__btn p {
  width: 100%;
  margin: 0;
}
section.contact-form .keyaki-form__btn p a {
  font-weight: 400;
}
section.contact-form .wpcf7-submit {
  display: block;
  width: clamp(300px, 50%, 500px);
  margin: 40px auto 0;
  padding: 20px 0;
  border: 0;
  font-weight: 500;
  color: #fff;
  background-color: #11893C;
  border-radius: 999px;
  cursor: pointer;
  transition: 0.3s;
}
section.contact-form .wpcf7-submit:hover {
  background-color: #00A73C;
}
section.contact-form .topp {
  font-size: 0.9em;
  text-align: center;
}
section.contact-form {
  /* CF7のTurnstileコンテナを中央寄せする */
}
section.contact-form .wpcf7-turnstile,
section.contact-form .wpcf7-turnstile > div {
  display: flex !important;
  justify-content: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
section.contact-form .wpcf7-turnstile {
  margin-top: 20px;
}

@media screen and (max-width: 768px) {
  section.contact-form {
    padding: 50px 0;
  }
  section.contact-form .keyaki-form__wrap {
    margin-top: 20px;
    padding: 20px 0;
  }
  section.contact-form .keyaki-form {
    width: 90%;
  }
  section.contact-form .keyaki-form dt {
    margin: 20px 0 0;
  }
  section.contact-form .keyaki-form__btn {
    width: 100%;
    max-width: 100%;
    margin: 10px 0 0;
  }
  section.contact-form .keyaki-form__btn p a {
    font-size: 12px;
  }
  section.contact-form .wpcf7-submit {
    width: clamp(300px, 50%, 500px);
    margin: 30px auto 0;
    padding: 20px 0;
  }
}
section.contact-telfax {
  padding: 80px 0;
}
section.contact-telfax .contact-telfax__inner {
  margin-top: 50px;
}
section.contact-telfax .contact-telfax__flexbox {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: stretch;
  border-right: 1px solid #999;
}
section.contact-telfax .contact-telfax__number {
  width: 50%;
  padding: 20px 0;
  box-sizing: border-box;
  border-left: 1px solid #999;
}
section.contact-telfax .contact-telfax__number dl {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  gap: 2rem;
  margin: 0;
}
section.contact-telfax .contact-telfax__number dl dt {
  margin: 0;
  padding: 0;
  font-size: 20px;
  font-weight: 400;
}
section.contact-telfax .contact-telfax__number dl dd {
  margin: 0;
  padding: 0;
  font-size: 30px;
}
section.contact-telfax .contact-telfax__number dl dd a {
  text-decoration: none;
  color: #333;
}
section.contact-telfax .contact-telfax__number .contact-teltime {
  margin: 0;
  text-align: center;
}
section.contact-telfax .contact-honbu {
  margin: 20px 0 0;
  text-align: center;
}
section.contact-telfax .contact-facility {
  margin: 20px auto 0;
}

@media screen and (max-width: 768px) {
  section.contact-telfax {
    padding: 50px 0;
  }
  section.contact-telfax .contact-telfax__inner {
    margin-top: 30px;
  }
  section.contact-telfax .contact-telfax__flexbox {
    flex-direction: column;
    gap: 30px;
    border-right: 0;
  }
  section.contact-telfax .contact-telfax__number {
    width: 100%;
    padding: 0;
    border-left: 0;
  }
  section.contact-telfax .contact-telfax__number dl {
    gap: 1rem;
  }
  section.contact-telfax .contact-telfax__number dl dt {
    font-size: 18px;
  }
  section.contact-telfax .contact-telfax__number dl dd {
    font-size: 24px;
  }
  section.contact-telfax .contact-telfax__number .contact-teltime {
    margin: 0;
    text-align: center;
  }
  section.contact-telfax .contact-honbu {
    margin: 20px 0 0;
    text-align: left;
  }
  section.contact-telfax .contact-honbu br {
    display: none;
  }
  section.contact-telfax .contact-facility {
    margin: 20px auto 0;
  }
}
section.contact-privacy {
  padding: 80px 0;
}
section.contact-privacy .privacy-panel {
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  transform: translateY(-6px);
  transition: max-height 420ms ease, opacity 300ms ease, transform 420ms ease;
  will-change: max-height;
  margin-top: 30px;
}
section.contact-privacy .privacy-panel p {
  margin: 5px 0 0;
  font-size: 16px;
}
section.contact-privacy .privacy-panel h3 {
  margin: 20px 0 0;
  font-size: 18px;
  font-weight: 500;
}
section.contact-privacy .privacy-panel ul {
  margin: 0;
}
section.contact-privacy .privacy-panel ul li {
  margin: 0;
  font-size: 16px;
}
section.contact-privacy .privacy-panel.is-open {
  opacity: 1;
  transform: translateY(0);
}
section.contact-privacy .privacy-btn {
  display: block;
  width: clamp(350px, 35%, 400px);
  margin: 20px auto 0;
  padding: 0.8em 1.2em;
  border: 0;
  background-color: #11893C;
  cursor: pointer;
  border-radius: 999px;
  font-size: 14px;
  color: #fff;
  transition: 0.3s;
}
section.contact-privacy .privacy-btn:hover {
  background-color: #00A73C;
}
section.contact-privacy .privacy-btn span {
  vertical-align: middle;
}
section.contact-privacy .privacy-btn.is-hidden {
  display: none;
}

@media screen and (max-width: 768px) {
  section.contact-privacy {
    padding: 50px 0;
  }
  section.contact-privacy .privacy-panel {
    margin-top: 20px;
  }
  section.contact-privacy .privacy-panel p {
    margin: 5px 0 0;
    font-size: 14px;
  }
  section.contact-privacy .privacy-panel h3 {
    margin: 20px 0 0;
    font-size: 16px;
  }
  section.contact-privacy .privacy-panel ul li {
    font-size: 14px;
  }
  section.contact-privacy .privacy-btn {
    margin: 20px auto 0;
    padding: 0.8em 1.2em;
    font-size: 12px;
  }
}
/* サンクスページ
--------------------------------------------- */
section.thanks-comment {
  padding: 80px 0;
}
section.thanks-comment p {
  margin-top: 1em;
  text-align: center;
}
section.thanks-comment .thanks-comment__btn {
  margin: 2em auto 0;
}

@media screen and (max-width: 768px) {
  section.thanks-comment {
    padding: 50px 0;
  }
  section.thanks-comment p {
    text-align: left;
  }
}
/* おしらせ
--------------------------------------------- */
.news__wrap {
  width: 90%;
  max-width: 1200px;
  margin: 50px auto 0;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: stretch;
}
.news__wrap .news__content {
  width: 65%;
  display: flex;
  flex-direction: column;
  gap: 30px 0;
}
.news__wrap .news__content article {
  padding: 40px;
  background-color: rgba(255, 255, 255, 0.6);
  border: 1px solid #eee;
  border-radius: 10px;
}
.news__wrap .news__content article h1, .news__wrap .news__content article h2 {
  margin: 0;
  font-size: 30px;
  font-weight: 500;
  color: #00A73C;
}
.news__wrap .news__content article h1 a, .news__wrap .news__content article h2 a {
  text-decoration: none;
  color: #00A73C;
}
.news__wrap .news__content article .entry-date {
  margin: 6px 0 0;
  font-size: 14px;
}
.news__wrap .news__content article .entry-content {
  margin: 20px 0 0;
}
.news__wrap .news__sidebar {
  position: relative;
  width: 30%;
}
.news__wrap .news__sidebar .sidebar__inner {
  position: sticky;
  top: 120px;
}
.news__wrap .news__sidebar h2 {
  margin: 0;
  font-size: 18px;
  font-weight: 500;
  border-bottom: 1px dashed #EB9500;
}
.news__wrap .news__sidebar ul {
  margin: 6px 0 0;
  padding: 0 0 0 1.5em;
  list-style: disc;
}
.news__wrap .news__sidebar ul li {
  margin: 0;
}
.news__wrap .news__sidebar ul li a {
  color: #EB9500;
}
.news__wrap .news__sidebar ul li a:hover {
  color: #D76412;
  text-decoration: none;
}

nav.post-navigation .nav-links {
  flex-direction: column;
  border-bottom: 1px dashed #ccc;
}
nav.post-navigation .nav-links .nav-previous, nav.post-navigation .nav-links .nav-next {
  padding: 1em 0.5em;
  border-top: 1px dashed #ccc;
}
nav.post-navigation .nav-links .nav-previous a, nav.post-navigation .nav-links .nav-next a {
  color: #EB9500;
}
nav.post-navigation .nav-links .nav-previous a:hover, nav.post-navigation .nav-links .nav-next a:hover {
  color: #D76412;
  text-decoration: none;
}
nav.post-navigation .nav-links .nav-previous a::before {
  font-family: "Material Symbols Rounded";
  content: "keyboard_double_arrow_left";
  vertical-align: middle;
}
nav.post-navigation .nav-links .nav-next a::after {
  font-family: "Material Symbols Rounded";
  content: "keyboard_double_arrow_right";
  vertical-align: middle;
}
nav.post-navigation .nav-links .nav-title {
  font-weight: 500;
}

.news-pagination {
  margin: 40px 0 0;
  display: flex;
  justify-content: center;
}

.news-pagination .nav-links {
  display: flex;
  gap: 8px;
  align-items: center;
}

.news-pagination a,
.news-pagination .current {
  padding: 8px 12px;
  background-color: rgba(255, 255, 255, 0.6);
  border: 1px solid #eee;
  border-radius: 10px;
  text-decoration: none;
}

.news-pagination a:hover {
  background-color: rgb(255, 255, 255);
}

.news-pagination .current {
  font-weight: 500;
}

@media screen and (max-width: 768px) {
  .news__wrap {
    margin: 30px auto 0;
    flex-direction: column;
  }
  .news__wrap .news__content {
    width: 100%;
    gap: 20px 0;
  }
  .news__wrap .news__content article {
    padding: 20px;
  }
  .news__wrap .news__content article h1, .news__wrap .news__content article h2 {
    font-size: 22px;
  }
  .news__wrap .news__sidebar {
    width: 100%;
    margin-top: 50px;
  }
  .news-pagination {
    margin: 10px 0 0;
  }
  .news-pagination a,
  .news-pagination .current {
    padding: 6px 8px;
  }
}/*# sourceMappingURL=style.css.map */