@charset "utf-8";
/* CSS Document */
/* ================================================================== */
/* font */
/* ================================================================== */
/*---- mintyo ----------*/
.serif {
  font-family:"游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight:bold;
          font-feature-settings:"palt";

  -webkit-font-feature-settings:"palt";
 }
/*---- english ---------*/
.en {
  font-family:var(--font-family-en);
  font-weight:400;
  font-style:normal;
  letter-spacing:0;

  font-optical-sizing:auto; }
/*---- googleFont material-symbols -----*/
.material-symbols-rounded {
  font-variation-settings:'FILL' 1,
  'wght' 400,
  'GRAD' 0,
  'opsz' 24;
 }
.material-symbols-rounded--outline {
  font-variation-settings:'FILL' 0;
 }
/* ================================================================== */
/* base */
/* ================================================================== */
html {
  font-size:62.5%;
  overflow-x:hidden;
  width:100%;
  scroll-behavior:smooth;
 }

body {
  font-family:"Zen Maru Gothic", sans-serif,"Yu Gothic Medium", '游ゴシック体', YuGothic, "Yu Gothic",-apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue,  Verdana, Meiryo, sans-serif;
  font-size:1.6rem;
  font-weight:var(--font-weight-m);
  font-style:normal;
  font-feature-settings:"palt";
  line-height:1.618;
  position:relative;
  overflow:hidden;
  letter-spacing:0.05em;
  word-break:break-all;
  color:var(--wakakusa-black);
 }

dd,dt,em,h1,h2,h3,h4,h5,h6,strong,table,ul,ol {
  font-size:clamp(1.6rem, 1.56rem + 0.10vw, 1.7rem);
  line-height:1.4;
  word-wrap:break-word;
  /* 英語を折り返し */ }
p {
  font-size:clamp(1.5rem, 1.46rem + 0.10vw, 1.6rem);
  line-height:var(--leading-2\.1);
  margin-bottom:clamp(0.8rem, 0.61rem + 0.48vw, 1.3rem);
 }
/* CMS的にpタグを多用したいので、↑ここを最初に検討するよ */
img {
  max-width:100%;
  height:auto;
 }
a {transition:var(--transition); }
a:hover {cursor:pointer; }
::selection {
  background:#EBEBEB;
 }
@media print,
screen and (min-width: 769px) {
  a[href^="tel:"] {
    cursor:default;
    pointer-events:none; } }
/* widePC only */
@media screen and (min-width: 1600px) { }
/* PC only */
@media print,
screen and (min-width: 769px) { }
/* TB only */
@media (max-width: 1070px) and (min-width: 768px) { }
/* SP only*/
@media screen and (max-width: 768px) { }
/* smallSP only */
@media screen and (max-width: 430px) { }
/* ================================================================== */
/* js */
/* ================================================================== */
/* toggle */
[data-tgl-area] {
  overflow:hidden;
  height:0; }
/* tab */
[data-tgl-area] {
  overflow:hidden;
  height:0; }
[data-tgl-area].-is-active {
  height:auto;
 }

[data-tab-area] {
  display:none;
 }
[data-tab-area].-is-active {
  display:block;
 }
/* toTop */
div.topBtn {display:none; }
.topBtn {
  position:fixed;
  z-index:var(--topBtn);
  right:clamp(1rem, -0.49rem + 3.81vw, 5rem);
  bottom:20px;
  width:77px;
  cursor:pointer;
  transition:opacity 0.3s ease;
  pointer-events:auto;
  opacity:0;

  touch-action:manipulation; }
.topBtn.is-show {
  pointer-events:auto;
  opacity:1; }
:root {--overlap:85px; /* PC用 */ }
@media (max-width: 768px) {
  :root {--overlap:65px; /* スマホ用 */ } }
/* hover */
@media print,
screen and (min-width: 769px) {
  .js_pc_hover_body {
    visibility:hidden;
    transition:var(--transition);
    transform:translateY(30px);
    opacity:0; }
  .js_pc_hover_btn.is-active .js_pc_hover_body {
    visibility:visible;
    transform:translateY(0px);
    opacity:1; } }
@media screen and (max-width: 768px) {
  /* toggle SP */
  /* 全画面メニュー（navAreaをオーバーレイ化） */
  [data-sp-tgl-area] {
    position:fixed;
    visibility:hidden;

/* スクロール対応 */
    overflow:auto;

/* 上にバーガー分の余白（押せるように） */
    padding:15px 16px 24px;
    transition:opacity .35s, transform .35s, visibility .35s;
    transform:translateY(-10px);
    pointer-events:none;

/* 初期は閉じる */
    opacity:0;
    background:color(srgb 1 1 1 / 0.7);

    backdrop-filter:blur(26px);
    inset:0;
    -webkit-overflow-scrolling:touch;
 }
  [data-sp-tgl-area="nav"].is-active {
    visibility:visible;
    transform:translateY(0);
    pointer-events:auto;
    opacity:1; }
  /* スクロール禁止 */
  .is-menu-open {
    overflow:hidden;
    height:100%;
 } }
/* new */
.js_new_badge {
  font-size:var(--text-10);
  line-height:20px;
  display:inline-block;
  height:20px;
  margin-right:5px;
  padding:0 8px;
  text-align:center;
  color:#ffffff;
  border-radius:168px;
  background-color:var(--wakakusa-darkblue); }
[hidden] {
  display:none !important;
 }
/* ================================================================== */
/* layout */
/* ================================================================== */
/* なるべく他のclassと一緒のタグに書くより、wrapして書いてね */
.ly_container {
  width:calc(100% - 126px);
  max-width:1240px;
  margin-right:auto;
  margin-left:auto;
 }
.ly_max1000 {
  max-width:1000px!important;
  margin-right:auto;
  margin-left:auto;
 }
.ly_max700 {
  max-width:700px!important;
  margin-right:auto;
  margin-left:auto;
 }
:root {
  --scrollbar:0;
 }
.ly_container-full {
  display:block;
  width:calc(100vw - var(--scrollbar));
  max-width:inherit;
  margin-inline:calc(50% - 50vw); }
@media print,
screen and (min-width: 769px) {
  .pc_ly_container {
    width:calc(100% - 126px);
    max-width:1240px;
    margin-right:auto;
    margin-left:auto;
 }
  .pc_ly_maxHeight {
    display:block;
    width:fit-content;
    max-height:700px;
    margin-right:auto;
    margin-left:auto;
 } }
@media screen and (min-width: 1241px) {
  .ly_container,
  .pc_ly_container {
    max-width:1400px;
 } }
@media screen and (max-width: 768px) {
  .ly_container {
    width:calc(100% - 50px);
 }
  .sp_ly_container {
    width:calc(100% - 50px);
    margin-right:auto;
    margin-left:auto;
 }
  .sp_ly_container-s {
    width:calc(100% - 24px);
    margin-right:auto;
    margin-left:auto;
 }
  .sp_ly_container-full {
    display:block !important;
    width:calc(100vw - var(--scrollbar)) !important;
    max-width:inherit !important;
    margin-inline:calc(50% - 50vw) !important;
    border-radius:0 !important; } }
/*---- コンテンツ少ない時にフッターが上に来るのを防ぐセット -----*/
.wrapper {
  position:relative;
  display:grid;
  grid-template-columns:100%;
  min-height:100vh;

  grid-template-rows:auto 1fr auto; }
/* ================================================================== */
/* header PC&SP */
/* ================================================================== */
.header_container {
  position:relative;
  z-index:var(--header_container);
 }
.navUnit_ttl .navUnit_sub {
  font-size:1.4rem;
  color:var(--wakakusa-yellow);
 }
.navCv {
  display:flex;
  align-items:center;
  gap:var(--size-15); }
.navSns {
  display:flex;
  gap:var(--size-10);
 }
/* ================================================================== */
/* header PC */
/* ================================================================== */
@media print,
screen and (min-width: 769px) {
  .header_container {
    background:url(/assets/images/menu_bg.png) repeat;
    background-size:contain; }
  .header_wrap {
    display:flex;
    justify-content:center;
 }
  .navArea {
    display:flex;
    align-items:center;
 }
  .navCv_btn {
    font-size:1.6rem;
    padding:0.5em 1em 0.5em 1em;
 }
  /*---- navUnit -----------------------------------------------*/
  .navUnit {
    display:flex;
    overflow-y:auto;
    align-items:center;
    justify-content:flex-end;
    gap:clamp(5px, 2.94vw + -17.57px, 20px);
    max-height:100%;
    margin-right:28px; }
  .navUnit_ttl {
    font-size:1.7rem;
    line-height:1.3;
    display:block;
    padding:20px 0 10px clamp(5px, 2.94vw + -17.57px, 20px);
    transition:.25s ease-in-out;
    transition:0.5s;
    text-align:center;
    color:white;
 }
  .navUnit_wrap .navUnit_ttl:focus,
  .navUnit_wrap .navUnit_ttl.is_active {
    color:var(--wakakusa-pink);
 }
  .navUnit_ttl--home {
    padding-top:16px;
    padding-left:0; }
  /*---- navUnit_inner (megaMenu) -----------------------------------------------*/
  .navUnit_ttl {
    position:relative;
 }
  .bulletList {
    overflow:hidden;
    border:1px solid var(--wakakusa-darkgreen);
    border-radius:var(--border-radius-16);
    box-shadow:0 6px 10px 0 rgba(0, 0, 0, 0.2); }
  .navUnit_ttl::after {
    font-family:'Material Symbols Rounded';
    display:inline-block;
    visibility:hidden;
    margin-left:0.2em;
    content:'\e5db';
    vertical-align:top;
    color:var(--wakakusa-yellow);
 }
  .navUnit_ttl--home::after {
    content:none;
 }
  .navUnit_wrap:hover .navUnit_ttl::after {
    visibility:visible;
    animation:down 1.5s infinite;
 }
  .navUnit_inner {
    position:absolute;
    z-index:var(--navUnit_inner);
    top:74px; }
  /* bulletList */
  .bulletList li {
    position:relative;
    background:white;
 }
  .bulletList li:not(:last-child) {
    border-bottom:1px solid var(--wakakusa-darkgreen);
 }
  .bulletList .bulletList_childWrap {
    padding-bottom:3px;
 }
  .bulletList__child>li {
    padding-left:0.5em;
    box-shadow:none;
 }
  .bulletList li a {
    font-size:1.5rem;
    display:block;
    width:100%;
    padding:10px 15px;
    transition:none;
 }
  .bulletList__child>li a {
    padding:6px;
 }
  .bulletList__child>li:first-child a {
    padding-top:0;
 }
  .bulletList__child>li:last-child a {
    padding-bottom:0;
 }
  .bulletList li a:hover {
    color:var(--wakakusa-black);
    background-color:var(--wakakusa-yellow);
 }
  .bulletList.bulletList__child {
    margin:0 20px 20px 30px;
    border-left:1px solid #d7d7d7; }
  .navSns a {
    display:block;
    width:28px;
 } }
/* ================================================================== */
/* header TB */
/* ================================================================== */
@media (max-width: 1070px) and (min-width: 768px) {
  .navCv {
    display:none;
 } }
/* ================================================================== */
/* header SP */
/* ================================================================== */
@media screen and (max-width: 768px) {
  /*---- header固定-----------------------------------------------*/
  :root {
    --sp_header_h:72px;
    --sp_header_gap:34px;
 }
  .header_container {
    height:var(--sp_header_h);
    background-color:white;
 }
  .navUnit {
    display:flex;
    flex-direction:column;
    gap:var(--sp_header_gap); }
  /*---- .sp_burger-----------------------------------------------*/
  .sp_burger {
    position:fixed;
    z-index:1;
    top:12px;
    right:12px;
    width:44px;
    height:44px;
    cursor:pointer;
    border-radius:var(--border-radius-8);
    background:color(srgb 1 1 1 / 0.7);

    backdrop-filter:blur(26px); }
  .sp_burger>span {
    display:block;
    width:28px;
    height:2px;
    margin:6px auto;
    transition:.35s;
    opacity:1;
    background-color:var(--wakakusa-darkgreen); }
  .sp_burger.is-active span:nth-child(1) { transform:translateY(8px) rotate(45deg); }
  .sp_burger.is-active span:nth-child(2) {
    transform:scaleX(0);
    opacity:0; }
  .sp_burger.is-active span:nth-child(3) { transform:translateY(-8px) rotate(-45deg); }
  /*---- navArea-----------------------------------------------*/
  .navLogo {
    width:258px;
    margin:0 0 16px 16px; }
  .navUnit_ttl {
    font-size:1.8rem;
    font-weight:var(--font-weight-m);
    line-height:1.2;
    display:flex;
    align-items:center;
    gap:8px;
    width:100%;
    margin-bottom:var(--sp_header_gap);
    color:var(--gray-5); }
  .navUnit_ttl::after {
    flex:1 1 auto;
    height:1px;
    content:"";
    background-color:var(--wakakusa-darkgray);
 }
  .bulletList {
    display:flex;
    flex-wrap:wrap;
    margin-left:4px;
    letter-spacing:0;

    column-gap:15px;
    row-gap:10px; }
  .js_navUnit_inner {
    display:none;
 }
  .navUnit_wrap,
  .bulletList>li {
    position:relative;
 }
  .bulletList a {
    font-size:1.5rem;
    font-weight:var(--font-weight-m);
    line-height:1;
    display:flex;
    align-items:center;
    padding:5px 0; }
  .bulletList a::before {
    font-family:'Material Symbols Rounded';
    font-size:2.1rem;
    content:'\e5df';
    color:var(--wakakusa-darkgreen);

    font-variation-settings:'FILL' 1; }
  .bulletList .bulletList_txt {
    font-size:1.6rem;
    display:inline-block;
    width:calc(100% - 40px);
    margin:0 20px;
    padding:12px 0;
    padding-left:34px;
    border-bottom:1px solid #393939; }
  .bulletList__child {
    margin-bottom:12px;
 }
  .bulletList__child a {
    display:flex;
    padding-left:54px; }
  .bulletList__child a::before {
    margin-right:5px;
    content:"・"; }
  .navCv {
    justify-content:center;
    gap:30px;
    margin:64px 0 20px;
 }
  .navSns {
    justify-content:center;
 }
  .bl_navForm {
    font-size:1.6rem;
    font-weight:var(--font-weight-m);
 }
  .navSns li:not(:last-child) {
    margin-right:10px;
 }
  .navSns img {
    width:50px;
 } }
/* ================================================================== */
/* main */
/* ================================================================== */
main {
  position:relative;/* sp_topへボタンの為 */
  z-index:var(--main);
  background-color:white; }
/*---- slider-----------------------------------------------------------*/
.slider {
  position:relative;
 }
.slider_wrap {
  position:relative;
  z-index:var(--c-slider_slide_wrap); }
[class*=swiper]:focus {
  outline:none;
 }
.mv02 .slide {
  height:700px;
 }
.mv02 .slide-media {
  position:relative;
  overflow:hidden;
  width:100%;
  height:100%;
 }
.mv02 .slide-media img {
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
     object-fit:cover;
  -o-object-fit:cover; }

.mv02 .slide-media img {
  width:calc(100% + 50px); /* 横を少し大きくして余白をつくる */
  max-width:none;
  height:100%;
  object-fit:cover;
  -webkit-transition:5s 1s linear;
          transition:5s 1s linear;
  -webkit-transform:translateX(-50px) scale(1);/* scale消せない */
          transform:translateX(-50px) scale(1);
 }
.mv02 .swiper-slide[class*=-active] .slide-media img {
  -webkit-transition-delay:0s;
          transition-delay:0s;
  -webkit-transform:translateX(0) scale(1);
          transform:translateX(0) scale(1);
 }
@media only screen and (max-width: 1024px) {
  .mv02 .slide {
    height:max(70vh, 70vw);
 } }
.headerImg_ttl {
  position:absolute;
  z-index:var(--headerImg_ttl);
  left:50%;
  display:block;
  margin:0 auto;
  transform:translateX(-50%); }
.headerImg_ttl.headerImg_ttl--top {
  top:-12px;
  width:700px;
 }
/* widePC only */
@media screen and (min-width: 1600px) {
  .headerImg_ttl.headerImg_ttl--top {
    width:800px;
 } }
@media screen and (max-width: 768px) {
  .is-menu-open .headerImg_ttl {
    display:none;
 }
  .headerImg_ttl.headerImg_ttl--top {
    top:-57px;
    left:32px;
    width:258px;
    transform:inherit;
 } }
/*---- cutOff-----*/
.cutOff_top {
  position:absolute !important;
  z-index:var(--cutOff);
  top:0;
  width:100%;
  height:100%;
  background:url(/assets/images/menu_bg.png) repeat;

  mask-image:url(/assets/images/header_bg_top.svg);
  mask-repeat:no-repeat;
  mask-position:top;
  mask-size:1922px; }
.cutOff_bottom {
  position:absolute !important;
  bottom:0;
  width:100%;
  height:100%;
  background:white;

  mask-image:url(/assets/images/header_bg_bottom.svg);
  mask-repeat:no-repeat;
  mask-position:bottom;
  mask-size:1922px;
 }
@media only screen and (max-width: 768px) {
  .cutOff_top {
    background:white;

    mask-size:961px; }
  .cutOff_bottom {mask-size:961px; } }
/*---- btnArea------------------------------------------------------*/
.btnArea_wrap {
  margin-top:-200px;
  background-image:url(/assets/images/btnArea_bg_left.png), url(/assets/images/btnArea_bg_right.png),
  url(/assets/images/btnArea_bg_back.png);
  background-repeat:no-repeat, no-repeat, no-repeat;
  background-position:bottom 60% left,
  bottom 60% right,
  bottom center;
  background-size:27%, 27%, 100%;
 }
.btnArea_body {
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:clamp(0rem,-1.8571428571428568rem + 4.761904761904762vw, 5rem);
  width:65%;
  margin:0 auto;
 }
.btnArea_btn {
  position:relative;
  display:block;
 }
.btnArea_label {
  font-size:var(--text-20);
  line-height:1.2;
  position:absolute;
  z-index:1;
  top:-8%;
  left:-17%;
  display:flex;
  align-items:center;
  justify-content:center;
  width:var(--size-120);
  aspect-ratio:1 / 1;
  text-align:center;
  color:white;
  background:center / contain no-repeat url(/assets/images/btnArea_btn01.svg); }

.btnArea_btn--02 .btnArea_label {
  text-align:left;
  background:center / contain no-repeat url(/assets/images/btnArea_btn02.svg); }
.btnArea_btn--03 .btnArea_label {
  text-align:left;
  background:center / contain no-repeat url(/assets/images/btnArea_btn03.svg); }
.btnArea_btn--02 .el_afterIcon--arrow_forward {padding-left:var(--size-10); }
.btnArea_btn--03 .el_afterIcon--arrow_forward {padding-left:var(--size-10); }
.btnArea_textBody {
  padding:var(--size-40) 0 100px;
 }
.btnArea_ttl {
  font-size:clamp(3rem,1.8857142857142861rem + 2.857142857142857vw, 6rem);
  font-weight:var(--font-weight-b);
  line-height:1.3;
  padding-bottom:var(--size-40);
  letter-spacing:0.1em;
  color:var(--wakakusa-darkgreen); }

.btnArea_sub {
  font-size:var(--text-15);
  font-weight:var(--font-weight-n); }
.btnArea_about {
  margin:var(--size-40) auto;
 }
@media screen and (min-width: 1600px) {
  .btnArea_wrap {
    background-image:url(/assets/images/btnArea_bg_left.png), url(/assets/images/btnArea_bg_right.png),
    url(/assets/images/btnArea_bg_back.png);
    background-repeat:no-repeat, no-repeat, no-repeat;
    background-position:bottom 60% left 50px,
    bottom 60% right 50px,
    bottom center;
    background-size:500px, 500px, 100%;
 }
  .btnArea_body {
    width:1000px;
 }
  .btnArea_ttl {
    font-size:70px;
 } }

@media print,
screen and (min-width: 769px) {
  a:hover .el_afterIcon--arrow_forward::after {
    animation:right 1.5s infinite;
 } }
/* SP only */
@media screen and (max-width: 768px) {
  .btnArea_wrap {
    margin-top:-100px;
    background-image:url(/assets/images/btnArea_bg_back.png);
    background-repeat:no-repeat;
    background-position:bottom center;
    background-size:100%;
 }
  .btnArea_body {
    width:90%;
 }
  .btnArea_label {
    position:initial;
    width:80%;
    margin:auto;
 }
  .btnArea_textBody {
    max-width:400px;
    padding:var(--size-40) 0 60px; }
  .btnArea_ttl::after {
    aspect-ratio:342 / 39;
    background:url(/assets/images/btnArea_bg_text.svg) no-repeat center center / 140%;
 } }
/*---- blog-------------------------------------------------------------*/
.blog_wrap {
  margin-top:-150px;
  padding-top:310px;
  background:url(/assets/images/blog_bg.svg) no-repeat center top / 1922px;
 }
@media print, screen and (min-width: 769px) {
  a.blog_infoBody:hover {
    color:var(--wakakusa-darkgreen);
 } }
.blog_body {
  padding-bottom:var(--size-50);
  background-color:var(--wakakusa-lightgreen); }
.blog_content {
  display:flex;
  align-items:flex-start;
  gap:var(--size-50); }

.blog_info {
  display:grid;
  flex-shrink:0;
  width:288px;
  min-height:410px;
  margin-bottom:var(--size-20);
  padding:30px 25px;
  background-image:url(/assets/images/blog_top.svg), url(/assets/images/blog_bottom.svg), url(/assets/images/blog_middle.svg);
  background-repeat:no-repeat, no-repeat, repeat-y;
  background-position:top  center, bottom center, center center;
  background-size:100%, 100%, 100%;

  place-content:center; }
.blog_infoWrap {
  display:flex;
  flex-direction:column;
  gap:10px;
 }
.blog_infoBody {
  display:flex;
  flex-direction:column;
  width:100%; }
.blog_infoBody>div {
  display:flex;
  align-items:center;
  gap:5px; }
.blog_infoHead {
  font-size:2rem;
  margin-bottom:var(--size-15);
  text-align:center; }
.blog_infoData {
  display:flex;
  align-items:center;
 }
.blog_infoTime {
  font-size:var(--text-15);
  margin-right:3px; }
.blog_infoBody [class*="el_labelInner"] {
  font-size:var(--text-10);
  padding:0.5em 0.6em; }
.blog_infoTtl {
  font-size:var(--text-15);
  position:relative;
  margin-top:3px; }
.blog_infoTtl::after {
  font-family:'Material Symbols Rounded';
  display:inline-block;
  margin-left:0.25em;
  content:'\e5c8';
  transition:var(--transition);
  vertical-align:top;
  color:var(--wakakusa-darkgreen);

  font-variation-settings:'FILL' 1; }
.blog_info .el_linkArrow {
  font-size:var(--text-15); }
.blog_infoBody[target=_blank]:not(:empty)::after,.blog_infoBody[href$=".pdf"]:not(:empty)::after, .blog_infoBody[href$=".docx"]:not(:empty)::after, .blog_infoBody[href$=".xlsx"]:not(:empty)::after {
  content:none;
 }
.blog_infoBody[href$=".pdf"] .blog_infoTtl::after, .blog_infoBody[href$=".zip"] .blog_infoTtl::after, .blog_infoBody[href$=".docx"] .blog_infoTtl::after, .blog_infoBody:is([href$=".xls"],[href$=".xlsx"]) .blog_infoTtl::after {
  display:inline-block;
  width:1em;
  aspect-ratio:34/39;
  margin-left:0.25em;
  content:"";
  transition:var(--transition);
  vertical-align:middle;
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain; }
.blog_infoBody[target=_blank] .blog_infoTtl::after {
  content:"\e89e"; }
.blog_infoBody[href$=".pdf"] .blog_infoTtl::after {
  content:"";
  background-image:url(/assets/images/icon-pdf.svg); }
.blog_infoBody[href$=".docx"] .blog_infoTtl::after {
  content:"";
  background-image:url(/assets/images/icon-word.svg); }
.blog_infoBody:is([href$=".xls"],[href$=".xlsx"]) .blog_infoTtl::after {
  content:"";
  background-image:url(/assets/images/icon-excel.svg); }
.blog_infoBody[href$=".zip"] .blog_infoTtl::after {
  content:"";
  background-image:url(/assets/images/icon-zip.svg); }
.blog_infoTtl {
  text-underline-offset:0.35em;
  text-decoration-line:underline;
  text-decoration-color:#cecece;
  text-decoration-style:solid;
  text-decoration-thickness:0.05em;
 }
#page_article--indexNews .blog_infoWrap {
  margin-top:var(--size-30);
 }
#page_article--indexNews .blog_infoBody {
  padding:calc(var(--size-15) - 3px)  var(--size-15) var(--size-15);
  border-radius:var(--border-radius-12);
  background-color:white; }
#page_article--indexNews .blog_infoTtl {
  font-size:var(--text-24);
  font-weight:var(--font-weight-b);
  line-height:var(--leading-1\.5);
  margin-top:6px;
  text-decoration:none; }
#page_article--indexNews .blog_infoTime {
  font-family:var(--font-family-en);
  font-size:var(--text-16);
  font-weight:400;
  font-style:normal;
  letter-spacing:0;

  font-optical-sizing:auto; }
#page_article--indexNews .blog_infoBody [class*="el_labelInner"] {
  font-size:var(--text-12);
  padding:0.5em 0.6em;
 }
#page_article--indexNews .blog_infoTtl::after {
  font-size:var(--text-16);
  font-weight:normal;
  margin-left:0.3em;
  vertical-align:baseline; }
#page_article--indexNews .js_new_badge {
  transform:translateY(-4px); }
@media print, screen and (min-width: 769px) { }
@media print, screen and (min-width: 769px) {
  .blog_body {
    margin-top:-40px;
 }
  a.blog_infoBody:hover {
    cursor:pointer;
 }
  a:hover .blog_infoHead {
    color:var(--wakakusa-black);
 }
  a:hover .blog_infoTtl {
    color:var(--wakakusa-darkgreen);
 }
  a:hover .blog_infoTtl::after {
    font-variation-settings:'FILL' 0;
 }
  #page_article--indexNews .blog_infoBody:hover {
    margin-left:20px;
 }
  #page_index a:hover .blog_infoTtl {
    text-decoration-color:currentColor;
 } }
@media screen and (min-width: 1600px) {
  .blog_info {
    flex-shrink:0;
    width:min(300px , 25%);
 } }
@media only screen and (max-width: 1070px) {
  .blog_content {
    flex-direction:column;
 }
  .blog_info {
    width:100%;
    max-width:none;
    min-height:inherit;
    margin-top:0;
    padding:clamp(3rem, 0.42rem + 6.62vw, 7.5rem) 25px;
    background-image:url(/assets/images/blog_top_sp.svg), url(/assets/images/blog_bottom.svg), url(/assets/images/blog_middle.svg); } }
@media only screen and (max-width: 768px) {
  .blog_wrap {
    margin-top:-70px;
    padding-top:155px;
    background:url(/assets/images/blog_bg.svg) no-repeat center top / 961px; }
  .blog_info {
    margin-bottom:0;
 } }
/*---- swiper-------------------------------------------------------------*/
@media print, screen and (min-width: 769px) {
  a.card_body:hover {
    color:var(--wakakusa-darkgreen);
 } }
.blog_diary {overflow:hidden;
  width:100%; }
.blog_ttl {
  font-size:var(--text-32);
  font-weight:var(--font-weight-b);
  margin:0 0 10px 10px;
  color:var(--wakakusa-darkgreen); }
.blog_ttl::after {
  display:inline-block;
  width:0.9em;
  aspect-ratio:49 / 56;
  margin-left:0.5em;
  content:"";
  background:url(/assets/images/blog_pen.svg) no-repeat;
  background-size:contain;
 }
.blog_diary .swiper-button-next,
.blog_diary .swiper-button-prev {
  position:absolute;
  z-index:10;
  top:auto;
  right:auto;
  bottom:10px;
  left:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  width:calc(var(--swiper-navigation-size) / 44 * 27);
  height:var(--swiper-navigation-size);
  margin-top:0;
  cursor:pointer;
  transition:var(--transition); }
.blog_diary .swiper-button-next {
  left:calc(var(--swiper-navigation-size) + 10px);
 }
.swiper-button-next:after,
.swiper-button-prev:after {
  font-family:'Material Symbols Rounded';
  font-size:var(--swiper-navigation-size);
  font-variant:initial;
  line-height:1;
  transition:var(--transition);
  letter-spacing:0;
  text-transform:none !important;
  color:var(--wakakusa-darkgreen);

  font-variation-settings:'FILL' 0; }
.swiper-button-prev:after {content:'\eaa7'; }
.swiper-button-next:after {content:'\eaaa'; }
.blog_diary .card_ttl,
 .blog_diary .card_txt {
  display:-webkit-box;
  overflow:hidden;                  /* 溢れた部分を隠す */
  -webkit-box-orient:vertical;      /* 垂直方向に配置 */
  text-overflow:ellipsis;/* 溢れた部分に「...」を表示 */

  -webkit-line-clamp:1;         /* 最大行数を1行に設定 */
 }
@media print, screen and (min-width: 769px) {
  .swiper-button-prev:hover:after,
  .swiper-button-next:hover:after {
    font-variation-settings:'FILL' 1; } }
@media only screen and (max-width: 768px) {
  .blog_diary .swiper-wrapper {
    flex-direction:column;
    gap:10px;
 }
  .blog_diary [class*="el_labelInner"] {
    font-size:12px;
 }
  .blog_diary .swiper-button-next, .swiper-button-prev {
    display:none;
 } }
/*---- about-------------------------------------------------------------*/
@media print, screen and (min-width: 769px) {
  .about_wrap a:hover {
    color:var(--wakakusa-darkgreen);
 } }
.about_wrap {
  padding-bottom:var(--size-80);
  background-color:var(--wakakusa-lightgreen); }
.about_ttl {
  background:url(/assets/images/about_bg.svg) no-repeat  top center / 100%;
 }
.about_ttl>img {
  display:block;
  width:25%;
  min-width:300px;
  margin:0 auto;
  padding:var(--size-100) 0 var(--size-30); }
.about_listWrap {
  position:relative;
  z-index:1;
 }
.about_list {
  position:relative;
  display:block;
  width:100%;
  max-width:260px;
  transition:var(--transition); }
.about_listImageBody {
  position:relative;
  transition:var(--transition);

  filter:drop-shadow(0 0.2rem 1.6rem rgb(35 56 81 / 15%));
 }
.about_listImageBody::before {
  position:absolute;
  z-index:1;
  top:-8%;
  left:-8%;
  width:25%;
  aspect-ratio:86 / 91;
  content:''; }
.about_list:nth-child(1) .about_listImageBody::before {background:url(/assets/images/about_01.svg) no-repeat center center / contain; }
.about_list:nth-child(2) .about_listImageBody::before {background:url(/assets/images/about_02.svg) no-repeat center center / contain; }
.about_list:nth-child(3) .about_listImageBody::before {background:url(/assets/images/about_03.svg) no-repeat center center / contain; }
.about_list:nth-child(4) .about_listImageBody::before {background:url(/assets/images/about_04.svg) no-repeat center center / contain; }
.about_list:nth-child(5) .about_listImageBody::before {background:url(/assets/images/about_05.svg) no-repeat center center / contain; }
.about_list:nth-child(6) .about_listImageBody::before {background:url(/assets/images/about_06.svg) no-repeat center center / contain; }
.about_list:nth-child(7) .about_listImageBody::before {background:url(/assets/images/about_07.svg) no-repeat center center / contain; }
.about_listImage {
  aspect-ratio:319 / 279;
  object-fit:cover;

  mask-image:url("/assets/images/about_img.svg");/*マスク用画像*/
  mask-repeat:no-repeat;
  mask-position:center;
  mask-size:100%; }
.about_listImage img {
  width:100%;
  height:100%;
  aspect-ratio:319 / 279;
  object-fit:cover; }
.about_listTtl {
  font-size:var(--text-19);
  margin-top:var(--size-15);
  text-align:center;
 }
.about_listTxt {
  font-size:var(--text-13);
  font-weight:var(--font-weight-n);
  line-height:1.7;
  margin-top:var(--size-10); }
@media print, screen and (min-width: 769px) {
  .about_listWrap a:hover {
    transform:translateY(15px); }
  a:hover .about_listImageBody {
    filter:none;
 }
  a:hover .about_listTtl {
    color:var(--wakakusa-darkgreen);
 }
  a:hover .about_listTxt {
    text-underline-offset:0.25em;
    text-decoration-line:underline;
    text-decoration-color:currentColor;
    text-decoration-style:solid;
    text-decoration-thickness:0.05em;
 } }
@media only screen and (max-width: 768px) {
  .about_wrap {
    padding-top:30px;
 }
  .about_ttl {
    background:url(/assets/images/about_bg.svg) no-repeat  top center / 200%; }
  .about_ttl>img {
    width:70%;
    min-width:inherit;
    max-width:200px;
    padding:40px 0 10px;
 } }
/*---- future-------------------------------------------------------------*/
.future_wrap {position:relative; }
.cutOff_cloud {
  position:absolute;
  top:0;
  right:0;
  width:100%;
  margin-top:-228px;
  padding-top:228px !important;
  background:white;

  mask-image:url(/assets/images/bg_cloud.svg);
  mask-repeat:no-repeat;
  mask-position:top;
  mask-size:1922px; }
@media only screen and (max-width: 768px) {
  .cutOff_cloud {
    margin-top:-94px;
    padding-top:94px !important;

    mask-size:800px; } }
.future_attempt>a {
  font-size:var(--text-20);
  position:relative;
  display:block;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  transition:var(--transition);
  text-align:center;
  color:white;
  border-radius:var(--border-radius-10);
  box-shadow:0 0.2rem 1.6rem rgb(35 56 81 / 15%); }
.future_attempt>a:nth-child(1) {background-color:var(--wakakusa-darkyellow); }
.future_attempt>a:nth-child(2) {background-color:#51b142; }
.future_attempt>a:nth-child(3) {background-color:var(--wakakusa-purple); }
.future_attempt--other>a:nth-child(1) {background-color:var(--wakakusa-darkblue); }
.future_attempt--other>a:nth-child(2) {background-color:var(--wakakusa-yellow); }
.future_attempt--other>a:nth-child(3) {background-color:#51b142; }
.future_attempt>a::after {
  font-family:'Material Symbols Rounded';
  font-size:var(--text-20);
  line-height:1;
  position:absolute;
  right:6%;
  bottom:6%;
  display:inline-block;
  content:'\eaaa';
  transition:var(--transition);
  color:white;

  font-variation-settings:'FILL' 1;
 }
.future_wrap .el_dot-line {
  padding-bottom:var(--size-40)!important;
 }
@media print, screen and (min-width: 769px) {
  .future_attempt>a:hover {
    transform:translateY(15px);
    box-shadow:none;
 }
  .future_attempt>a:hover:after {
    font-variation-settings:'FILL' 0;
 } }
@media only screen and (max-width: 768px) {
  .future_attempt>a {
    font-size:1.3rem;
    line-height:1.4;
 }
  .future_attempt>a::after {
    font-size:2rem;
    right:5px;
    bottom:5px; }
  .future_attempt>a {
    aspect-ratio:1 / 1 ;
 } }
/*---- cta-------------------------------------------------------------*/
@media screen and (max-width:1070px) {
  .cta_wrap [class*=compart].sp_ly_grid--1 {
    grid-template-columns:1fr;

    grid-template-rows:auto 1px auto;
    grid-template-areas:"areaA"
    "areaB"
    "areaC"; }
  .cta_wrap [class*=compart].sp_ly_grid--1::after {
    width:100%;
    height:1px;
    content:"";
    background-color:var(--wakakusa-darkgray);
 } }
@media only screen and (max-width: 768px) {
  .cta_wrap .el_frame-beige {border-radius:0; }
  .cta_wrap .el_frame-white {padding-bottom:30px; } }
/* ================================================================== */
/* footer *
/* ================================================================== */
.bl_footer_container {
  position:relative;
  z-index:var(--footer_container);
  margin-top:-58px;
  padding-top:86px;
  background:url(/assets/images/bg_footer.svg) no-repeat center top / 1922px; }
main>section:last-child {padding-bottom:var(--size-150); }
.bl_footer_body {
  padding:30px 0 clamp(2.5rem,1.5714285714285716rem + 2.380952380952381vw, 5rem);
  color:white;
  background-color:var(--wakakusa-brown); }
.bl_footer_wrap {
  display:grid;
  justify-content:space-between;
  grid-template-columns:auto 1fr;
  gap:40px;
 }
.bl_footer_logoWrap {
  display:flex;
  align-items:center;
  flex-direction:column; }
.bl_footer_logoWrap p {
  font-size:clamp(1.3rem, 1.2648rem + 0.11vw, 1.4rem);
  line-height:1.857;
 }
.bl_footer_logoImg {
  width:280px;
 }
.bl_footer_logoAdress { margin-bottom:5px; }
.el_btn.bl_footer_logoTel {
  font-family:var(--font-family-en);
  font-size:clamp(1.8rem,1.6514285714285715rem + 0.3809523809523811vw, 2.2rem);
  font-weight:bold;
  margin:0 auto;
  background-color:white;
 }
.bl_footerCopyright {
  line-height:1.3;
  text-align:right; }
.bl_footerCopyright small {
  font-size:10px;
  font-weight:400;
  color:var(--wakakusa-lightbrown); }

.bl_footer_navUnit {
  display:grid;
  grid-template-columns:0.8fr 0.8fr 1.1fr 0.8fr;
  gap:20px;

  grid-template-rows:auto auto;
  grid-template-areas:"footA footB footD footE"
  "footA footC footD footF"; }
.bl_footer_navBody--about {grid-area:footA; }
.bl_footer_navBody--nursery {grid-area:footB; }
.bl_footer_navBody--entry {grid-area:footC; }
.bl_footer_navBody--support {grid-area:footD; }
.bl_footer_navBody--recruit {grid-area:footE; }
.bl_footer_navBody--blog {grid-area:footF; }
.bl_footer_navBody {
  font-size:1.6rem;
  font-weight:var(--font-weight-m);
  line-height:1.857;
 }
.bl_footer_navList {
  margin-top:6px;
 }
.bl_footer_navTtl {
  color:var(--wakakusa-lightbrown);
 }
.bl_footer_navList>li {
  font-size:1.4rem;
  font-weight:var(--font-weight-n);
  line-height:1.6;
 }
.bl_footer_navList>li>a {
  display:inline-flex;
  padding:0.4em 0 0.4em 1.2em;
  transition:var(--transition);
  color:white;
 }
.bl_footer_navList>li>a::before {
  transition:var(--transition); }
.bl_footer_subWrap {
  display:grid;
  align-items:center;
  justify-content:space-between;
  grid-template-columns:auto 1fr;
  gap:40px; }
@media print, screen and (min-width: 769px) {
  .bl_footer_navList>li>a:hover {
    transform:translateX(10px);
 }
  .bl_footer_navList>li>a:hover::before {
    font-family:'Material Symbols Rounded';
    font-size:1.3rem;
    display:inline-block;
    margin-top:0.1em;
    margin-right:0.5em;
    content:'\e5c8';
    color:var(--wakakusa-lightbrown);

    font-variation-settings:'FILL' 1;
 } }
/* TB only */
@media (max-width: 1070px) and (min-width: 768px) {
  .bl_footer_navUnit {
    display:grid;
    grid-template-columns:1fr 1fr 0.8fr;

    row-gap:40px; }
  .bl_footer_wrap {
    display:flex;
    justify-content:center;
 } }
@media screen and (max-width: 768px) {
  .bl_footer_container {
    margin-top:-32px;
    padding-top:42px;
    background:url(/assets/images/bg_footer.svg) no-repeat center top / 960px; }
  .bl_footer_wrap {
    display:flex;
    justify-content:center;
 }
  .bl_footer_logoWrap p {
    line-height:2;
 }
  .bl_footer_logo img {
    margin-bottom:8px;
 }
  .bl_footer_logoRecruit {
    width:64%;
 }
  .bl_footer_logoTel {
    margin-bottom:6px;
 }
  .bl_footer_subWrap {
    justify-content:center;
    grid-template-columns:inherit;

    justify-items:center;
 } }

/* ================================================================== */
/* Page 下層だけ */
/* ================================================================== */
:not([id*="page_article--"]).Page main>*:first-child {
  margin-top:-50px!important;
  padding-top:0;
 }
@media only screen and (max-width: 768px) {
  :not([id*="page_article--"]).Page main>*:first-child {
    margin-top:-14px!important;
    padding-top:0;
 } }

/*---- link-------------------------------------------------------------*/

.link_body {
  display:grid;
  grid-template-columns:auto 1fr;
  gap:var(--size-30);
  margin-top:var(--size-80);
  padding:20px 20px 0 20px;
  border-top:1px solid #c9c9c9;
  border-top:1px solid var(--wakakusa-darkgray); }
.link_ttl {margin-top:0.4em; }
.link_body .el_btn {
  margin-inline:inherit; }
@media only screen and (max-width: 768px) {
  .link_body {
    grid-template-columns:1fr;
    gap:15px;
    padding:20px 0 0 0; }
  .link_body .el_btn {
    font-size:12px; } }

/*---- heading-------------------------------------------------------------*/

.headerImg_wrap {
  position:relative;
 }
.headerImg_imgWrap {
  position:relative;
  z-index:var(--headerImg_imgWrap);
  display:block;
  background-color:var(--wakakusa-lightgreen); }
.headerImg_ttl.headerImg_ttl--page {
  top:3px;
  left:50%;
  width:490px;
  margin:0 auto;
  transform:translateX(-50%);

  filter:drop-shadow(10px 10px 10px rgba(255, 255, 255, 0.8));
 }
.headerImg_img {
  width:100%;
  height:430px;
  object-fit:cover;
  transition:var(--transition);
  transform:scale(1.3);
  opacity:0; }
.Page.is-active .headerImg_img {
  transform:scale(1.0);
  opacity:1; }
.page_ttl { }
@media only screen and (max-width: 768px) {
  .headerImg_ttl.headerImg_ttl--page {
    top:-57px;
    left:32px;
    width:258px;
    transform:inherit;

    filter:none;
 }
  .headerImg_img {
    height:250px;
 } }

/* ========================================================================== */
/* article                                                            */
/* ========================================================================== */
[id*="page_article--"] {background-color:var(--wakakusa-lightbeige); }
[id*="page_article--"] main {background-color:var(--wakakusa-lightbeige); }
[id*="page_article--"] .headerImg_wrap {
  padding:156px 0 20px;
 }
#page_article--news .post_body {  max-width:none!important; }
#page_article--news .post_body figure {
  max-height:inherit;
  margin-inline:0; }
#page_article--news .post_body img {
  width:revert-layer;
  max-height:inherit; }
.breadcrumb_list {
  font-size:13px;
  position:relative;
  z-index:var(--breadcrumb);
  color:var( --wakakusa-lightbrown); }
#page_article--diary .post_body p {
  /* font-weight:normal;*/
  text-align:center!important; }
#page_article--diary .post_body p:empty {height:var(--text-18); }
.breadcrumb_list>li:not(:last-child)::after {
  font-family:'Material Symbols Rounded';
  display:inline-block;
  margin-left:var(--size-10);
  content:'\e5c8';
  transition:var(--transition);
  vertical-align:top; }
.breadcrumb_list a {
  color:var(--wakakusa-darkgreen);

  text-underline-offset:0.25em;
  text-decoration-line:underline;
  text-decoration-color:currentColor;
  text-decoration-style:solid;
  text-decoration-thickness:0.05em;
 }
.post_container {
  display:flex;
  gap:var(--size-50);
  padding-bottom:var(--size-150);
 }
.side_wrap {width:25%; }
.post_inner {  width:100%; }
.post_wrap {
  padding:var(--size-30) var(--size-30) var(--size-40);
  border-radius:var(--border-radius-12);
  background-color:white; }
.post_body {
  max-width:660px!important;
  margin:0 auto var(--size-80);
 }
.post_body figure {
  /* iOS Safari対策の呪文 */
  position:relative;
  z-index:1;
  display:block;
  overflow:hidden;      /* はみ出た分をカット（角丸を有効にする） */
  width:fit-content;    /* 画像の幅に合わせる */
  max-width:100%;       /* 画面からはみ出さないように */
  max-height:600px;     /* ここで高さを制限 */
  margin:var(--size-30) auto;
  border-radius:var(--border-radius-8);

  -webkit-mask-image:-webkit-radial-gradient(white, black);
 }
.post_body img {
  display:block;
  width:auto;
  max-width:100%;       /* 親に合わせる */
  height:auto;          /* 縦横比を維持！ */
  max-height:600px;     /* 親と同じ制限をかける */
  object-fit:contain; }
.post_body p {
  font-size:var(--text-17);

  margin-block:var(--size-10); }
.post_body a {
  transition:var(--transition);
  color:var(--wakakusa-darkgreen);

  text-underline-offset:0.25em;
  text-decoration-line:underline;
  text-decoration-color:currentColor;
  text-decoration-style:solid;
  text-decoration-thickness:0.05em;
 }
@media print, screen and (min-width: 769px) {
  .post_body a:hover {opacity:0.5; } }
.post_tags {
  display:flex;
  gap:5px;
 }
.post_footer {
  margin-top:20px !important;
  padding-top:20px !important;
  border-top:1px solid var(--wakakusa-gray);
 }
.side_list {
  font-size:var(--text-15);
  font-weight:var(--font-weight-n); }
@media only screen and (max-width: 1070px) {
  .post_container {
    flex-direction:column;
    gap:50px;
 }
  .side_wrap {width:100%; } }
@media print, screen and (min-width: 769px) {
  .breadcrumb_list a:hover {
    opacity:0.5;
 } }
@media only screen and (max-width: 768px) {
  [id*="page_article--"] .headerImg_wrap {
    padding:60px 0 15px;
 }
  .post_body figure {
    margin-inline:auto;
 }
  .post_body img {
    max-height:380px; } }
/* ========================================================================== */
/* news index                                                            */
/* ========================================================================== */
.tabBtn_area {
  display:flex;
  overflow:hidden;
  flex-wrap:wrap;
  width:fit-content;
  border:1px solid var(--wakakusa-black);
  border-radius:var(--border-radius-12);
  background-color:white; }
.tabBtn_item {
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  width:180px;
  min-height:46px;
  padding:0 12px;
  transition:var(--transition);
  text-align:left;
 }
.tabBtn_item::after {
  font-family:'Material Symbols Rounded', sans-serif;
  content:"\e5c5";

  font-variation-settings:'FILL' 1;
 }
.tabBtn_item.-is-disabled {
  opacity:0.5;
 }
.tabBtn_item+.tabBtn_item {
  border-left:1px solid var(--wakakusa-black);
 }
.tab_content_inner {
  padding:1em 0.5em;
 }
.tabBtn_item.-is-active[data-filter="all"],
.tabBtn_item[data-filter="all"]:hover,
.tabBtn_item.js_year_tab.-is-active,
.tabBtn_item.js_year_tab:hover {
  background-color:var(--border-light-color);
 }
.tabBtn_item.-is-active[data-filter="common"],
.tabBtn_item[data-filter="common"]:hover {
  color:var(--wakakusa-darkpurple);
  background-color:var(--wakakusa-lightpurple);
 }
.tabBtn_item.-is-active[data-filter="nursery"],
.tabBtn_item[data-filter="nursery"]:hover {
  color:var(--wakakusa-darkgreen);
  background-color:var(--wakakusa-lightgreen);
 }
.tabBtn_item.-is-active[data-filter="after"],
.tabBtn_item[data-filter="after"]:hover {
  color:var(--wakakusa-deepblue);
  background-color:var(--wakakusa-lightblue);
 }
.tabBtn_item.-is-active[data-filter="center"],
.tabBtn_item[data-filter="center"]:hover {
  color:var(--wakakusa-darkyellow);
  background-color:var(--wakakusa-lightyellow);
 }
@media screen and (max-width: 1300px) {
  .tabBtn_item {
    flex:1;
    width:none; } }

@media screen and (max-width: 768px) {
  .tabBtn_item {
    display:flex;
    flex:none;
    flex-grow:1;
    flex-shrink:1;
    width:50%;
    border-right:1px solid var(--wakakusa-black);
    border-bottom:1px solid var(--wakakusa-black); }
  .tabBtn_item+.tabBtn_item {
    border-left:none;
 }
  .tabBtn_item:nth-child(2n) {
    border-right:none;
 }
  .tabBtn_item:nth-last-child(-n + 1) {
    border-right:none;
    border-bottom:none; }
  .tabBtn_item:nth-child(n+3) { }
  .tabBtn_area {
    width:100%;
 } }
/* プルダウンの外枠 */
.year_filter_wrap {
  position:relative;
  display:inline-block;
  overflow:hidden; /* 角丸からはみ出さないように */
  width:180px; /* タブと同じ幅 */
  border:1px solid var(--wakakusa-black);
  border-radius:var(--border-radius-12);
  background-color:white; }

/* プルダウン本体 */
.year_select {
  font-size:16px;
  display:flex;
  align-items:center;
  width:100%;
  min-height:46px; /* タブと高さを合わせる */
  padding:0 40px 0 12px;
  cursor:pointer;
  transition:var(--transition);
  color:inherit;
  border:none;
  background:transparent;
  -webkit-appearance:none;
     -moz-appearance:none;
          appearance:none; }

/* 矢印を既存のタブのアイコン（Material Symbols）に合わせる */
.year_filter_wrap::after {
  font-family:'Material Symbols Rounded', sans-serif;
  position:absolute;
  top:50%;
  right:12px;
  content:"\e5c5"; /* タブと同じ下矢印 */
  transform:translateY(-50%);
  pointer-events:none;
  color:#333;

  font-variation-settings:'FILL' 1; }

/* スマホ対応：タブが幅50%になるのに合わせる */
@media screen and (max-width: 768px) {
  .year_filter_wrap {
    width:100%; /* スマホでは1行まるまる使う、または50%にするなら調整 */
 }
  .year_select {
    min-height:44px;
 } }
/* ========================================================================== */
/* diary index                                                            */
/* ========================================================================== */
#page_article--indexDiary .swiper-wrapper {
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:var(--size-20);
  margin-top:var(--size-30); }
#page_article--indexDiary .card_time {
  font-size:var(--text17);
 }
#page_article--indexDiary [class*="el_labelInner"] {
  font-size:var(--text-12);
 }
@media only screen and (max-width: 768px) {
  #page_article--indexDiary .tabBtn_item:nth-last-child(-n + 2) {
    border-bottom:none;
 }
  #page_article--indexDiary .swiper-wrapper {
    grid-template-columns:1fr;
    gap:10px;
 }
  #page_article--indexDiary .card_time {
    font-size:var(--text-15);
 } }
/* ========================================================================== */
/* about                                                            */
/* ========================================================================== */
#page_about .btnArea_ttl {
  font-size:var(--text-53);
  padding-bottom:0;
 }
.mission_content {
  display:flex;
  flex-direction:column;
  gap:var(--size-100);
  margin-top:var(--size-70);
 }
.mission_body {
  position:relative;
  display:grid;
  align-items:center;
  grid-template-columns:40% 1fr;
  gap:var(--size-60);
 }
.mission_body:nth-child(odd) {
  margin-right:var(--size-80);
 }
.mission_body:nth-child(even) {
  margin-left:var(--size-80);
 }
.mission_img img {
  aspect-ratio:1.2 / 1;
  object-fit:cover;
  border-radius:var(--border-radius-10); }
.mission_number {
  font-size:var(--text-60);
  font-weight:var(--font-weight-b);
  line-height:0;
  position:absolute;
  z-index:1;
  top:-23%;
  right:-10%;
  display:flex;
  align-items:center;
  justify-content:center;
  width:var(--size-140);
  aspect-ratio:1 / 1;
  color:white;
  background:url(/assets/images/mk_hato.svg) no-repeat; }
.mission_body:has(.el_labelInner--yellow) .mission_number {
  background:url(/assets/images/mk_star.svg) no-repeat;
 }
.mission_body:has(.el_labelInner--blue) .mission_number {
  background:url(/assets/images/mk_hart.svg) no-repeat;
 }
.mission_ttl {
  font-size:var(--text-22);
  font-weight:var(--font-weight-b);
  line-height:2;
  margin-bottom:var(--size-40); }
.mission_txt {
  font-size:var(--text-15);
  line-height:2.4;
  display:inline;
  padding-bottom:8px;
  border-bottom:1px solid #cecece; }
.message_img {
  aspect-ratio:1.2 / 1;
  object-fit:cover;
  border-radius:var(--border-radius-10);
 }
@media print, screen and (min-width: 769px) {
  .el_frame-beige.mission_wrap {
    padding:var(--size-40) var(--size-60) var(--size-60);
 } }
@media only screen and (max-width: 768px) {
  .mission_wrap .el_frame-beige {
    overflow-x:hidden;
    border-radius:0; }
  .mission_body {
    grid-template-columns:1fr;
    gap:20px;
 }
  .mission_body:nth-child(odd),
  .mission_body:nth-child(even) {
    margin:0;
 }
  .mission_number {
    top:-6%;
    right:-10%;
 }
  .mission_ttl {
    margin-bottom:10px;
 } }
/* ========================================================================== */
/* program                                                            */
/* ========================================================================== */
.curriculum_listWrap {
  display:flex;
  flex-direction:column;
  gap:var(--size-90);
  margin-top:var(--size-50);
 }
.curriculum_listInner {
  position:relative;
  display:flex;
  gap:var(--size-50);
  margin-bottom:calc(var(--fuki-size) + 2.5rem);
  padding:var(--size-50) clamp(2.5rem, 3.98vw + 0.91rem, 6rem);
  border-radius:var(--border-radius-16);
  background:white;

  filter:drop-shadow(0 0.2rem 0.8rem rgb(35 56 81 / 15%));
  --fuki-size:15px; }
.curriculum_listInner::after {
  position:absolute;
  z-index:1;
  top:-60px;
  right:0;
  width:15%;
  max-width:110px;
  aspect-ratio:1 / 1;
  content:"";
  opacity:0.8; }
.curriculum_listInner:has(.el_labelInner--green)::after {
  background:url(/assets/images/mk_hato.svg) center / contain; }
.curriculum_listInner:has(.el_labelInner--yellow)::after {
  background:url(/assets/images/mk_star.svg) center / contain; }
.curriculum_listInner:has(.el_labelInner--blue)::after {
  background:url(/assets/images/mk_hart.svg) center / contain; }
.curriculum_listHeading {
  flex-shrink:0;
  margin-top:-20px;
 }
.curriculum_listInner::before {
  position:absolute;
  top:100%;
  left:50%;
  content:'';
  transform:translateX(-50%);
  border-top:calc(var(--fuki-size) + 5px) solid white;
  border-right:var(--fuki-size) solid transparent;
  border-left:var(--fuki-size) solid transparent;
 }
.curriculum_listTtl {
  font-size:var(--text-25);
  font-weight:var(--font-weight-b);
 }
.curriculum_listTxt p {
  font-size:var(--text-15);
  line-height:var(--leading-1\.9); }
.curriculum_listTxt p:last-child {
  margin-bottom:0; }
.loop-sliderWrap {position:relative; }
.loop-sliderWrap::before {
  position:absolute;
  z-index:1;
  bottom:-30px;
  left:18%;
  width:15%;
  max-width:110px;
  aspect-ratio:1 / 1;
  content:"";
  opacity:0.8; }
.curriculum_list:has(.el_labelInner--green) .loop-sliderWrap::before {
  background:url(/assets/images/mk_hatos.svg) center / contain; }
.curriculum_list:has(.el_labelInner--yellow) .loop-sliderWrap::before {
  background:url(/assets/images/mk_stars.svg) center / contain; }
.curriculum_list:has(.el_labelInner--blue) .loop-sliderWrap::before {
  background:url(/assets/images/mk_harts.svg) center / contain; }
:root {
  --loop-duration:20s;      /* JSで上書きされる想定（初期値） */
  --loop-distance:-100%;    /* JSで上書きされる想定（初期値） */
 }
.loop-slider {
  padding-block:12px; }
.loop-slider_inner {
  display:flex;
  gap:15px;
  width:max-content;
  transform:translate3d(0,0,0);
  animation:loopSlider var(--loop-duration, 30s) linear infinite;

  will-change:transform;
 }

.loop-slider_inner img {
  flex:0 0 auto;
  width:auto;
  height:280px;
  object-fit:contain;

/* 親がtranslateで動くので、子は rotate/translateY だけにする */
  transform:rotate(var(--tilt)) translateY(var(--jump));
  transform-origin:50% 60%;
  opacity:1 !important;
  box-shadow:0.2rem 0.6rem 0.5rem rgb(72 72 72 / 32%);

  --tilt:0deg;
  --jump:0px;
  will-change:transform;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          }
@keyframes loopJumpRare {
  0%, 86%, 100% {
    transform:rotate(var(--tilt)) translateY(0);
 }
  90% {
    transform:rotate(var(--tilt)) translateY(calc(-1 * var(--jumpHeight, 10px)));
 }
  93% {
    transform:rotate(var(--tilt)) translateY(0);
 } }
/* ジャンプさせたい画像にだけ付ける */
.loop-slider_inner img.is-jump {
  animation:loopJumpRare var(--jumpDur, 7s) ease-in-out infinite;
  animation-delay:var(--jumpDelay, 0s);
 }
/* 動きを減らす設定の人には停止（既存ルールに合わせて） */
@media (prefers-reduced-motion: reduce) {
  .loop-slider_inner img {
    transform:none;
 }
  .loop-slider_inner img.is-jump {
    animation:none;
 } }
.loop-sliderWrap--s .loop-slider_inner img {
  height:clamp(14rem, 12.51rem + 3.81vw, 18rem);
 }
.loop-sliderWrap--square .loop-slider_inner img {
  aspect-ratio:1 / 1;
  object-fit:cover;
 }
@keyframes loopSlider {
  from { transform:translate3d(0,0,0); }
  to { transform:translate3d(var(--loop-distance, -1000px),0,0); } }
@media (max-width: 1070px) {
  .curriculum_listInner {
    flex-direction:column;
    gap:20px;
    width:calc(100vw - var(--scrollbar));
    max-width:inherit;
    margin-inline:calc(50% - 50vw);
    border-radius:0;
 } }
@media only screen and (max-width: 768px) {
  .curriculum_listWrap {
    margin-top:30px;
 }
  .loop-slider_inner img {
    height:200px;
 }
  .curriculum_listInner::after {
    top:-10px;
    width:20%; }
  .loop-sliderWrap::before {
    bottom:-14px;
    left:26px;
    width:20%; }
  .meal_wrap .el_list {
    font-size:14px;

    column-gap:8px!important;
    row-gap:12px!important;
 } }
.meal_wrap p {
  font-size:var(--text-15);
  line-height:var(--leading-1\.9);
 }

/* ========================================================================== */
/*---- facility  -----------------------------------------------------------*/
/* ==========================================================================*/
.facility_body img {
  width:100%;
  aspect-ratio:300 / 180;
  object-fit:cover;
  border-radius:var(--border-radius-10); }
.facility_mainImgBody {
  padding:var(--size-30);
  border-radius:var(--border-radius-10);
  background-color:white;
  box-shadow:0 0.2rem 1.6rem rgb(35 56 81 / 15%); }
.facility_mainImg {
  height:380px; }
.facility_ttl {
  font-size:var(--text-25);
  font-weight:var(--font-weight-b);
  margin:var(--size-25) 0 var(--size-10);
  text-align:center;
 }
@media only screen and (max-width: 768px) {
  .facility_mainImg {
    height:inherit;
    aspect-ratio:300 / 180; }
  .facility_mainImgBody {
    padding:0;
    box-shadow:none; } }
/* ========================================================================== */
/*---- access  -----------------------------------------------------------*/
/* ==========================================================================*/
.access_tel {
  font-family:var(--font-family-en);
  font-size:var(--text-26);
  font-weight:var(--font-weight-b); }
.access_map {
  position:relative;
  width:100%;
  height:360px; }
@media only screen and (max-width: 768px) {
  .access_map {height:260px; } }
.history_wrap p {
  line-height:1.4;
  margin-bottom:0; }
.bl_historyList {position:relative; }
.bl_historyList:after {
  position:absolute;
  top:5px;
  right:auto;
  bottom:auto;
  left:5px;
  width:1px;
  height:98%;
  content:'';
  background-color:var(--wakakusa-darkgreen); }
.bl_history {
  position:relative;
  display:flex;
  margin-bottom:var(--size-30);
  padding-left:25px; }
.bl_history:before {
  position:absolute;
  z-index:1;
  top:3px;
  right:auto;
  bottom:auto;
  left:0;
  width:12px;
  height:12px;
  content:'';
  border:1px solid var(--wakakusa-darkgreen);
  border-radius:var(--border-radius-99);
  background-color:#fff; }
.bl_historyDate {
  flex-shrink:0;
  margin-right:var(--size-50);
  color:var(--wakakusa-darkgreen); }
@media only screen and (max-width: 768px) {
  .bl_history {
    flex-direction:column;
    margin-bottom:15px; }
  .bl_historyList:after {
    height:95%; } }
/* ========================================================================== */
/*---- event  -----------------------------------------------------------*/
/* ==========================================================================*/
.event_body {
  position:relative;
  display:flex;
  flex-direction:column;
  gap:var(--size-20); }
.event_body:after {
  position:absolute;
  top:2%;
  right:auto;
  bottom:auto;
  left:55px;
  width:10px;
  height:94%;
  content:'';
  background-color:var(--wakakusa-gray); }
.event_list {
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:120px 370px 1fr;

  grid-auto-flow:row; }
.event_month {
  font-size:var(--text-60);
  font-weight:var(--font-weight-b);
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  aspect-ratio:1 / 1;
  color:white;
  background:url(/assets/images/mk_circle.svg) no-repeat;
 }
.event_list:where(:nth-child(even)) .event_month {
  background:url(/assets/images/mk_circle_opacity.svg) no-repeat;
 }
.event_monthInner {
  line-height:1;
  display:flex;
  flex-direction:column;
  gap:3px;
  text-align:center; }
.event_month_tuki {
  font-size:var(--text-18);
  padding-left:var(--size-5);
 }
.event_month_en {
  font-family:var(--font-family-en);
  font-size:9px;
  font-weight:400;
  display:block;
  letter-spacing:-2px; }
.event_txt {
  font-size:var(--text-18);
  padding:0 var(--size-20) var(--size-20);
  border-bottom:3px dotted var(--wakakusa-gray);
 }
.event_txt a {
  transition:var(--transition);
  color:var(--wakakusa-darkgreen);

  text-underline-offset:0.25em;
  text-decoration-line:underline;
  text-decoration-color:currentColor;
  text-decoration-style:solid;
  text-decoration-thickness:0.05em;
 }
.event_txt [class*="el_labelInner"] {
  font-size:var(--text-13);
  margin-left:5px; }
.event_txt a::after {
  content:'\e5c8';
 }
.event_img {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:var(--size-10);
  padding-bottom:var(--size-20);
  border-bottom:3px dotted var(--wakakusa-gray); }
.event_img img {
  display:block;
  aspect-ratio:800 / 533;
  object-fit:cover;
  border-radius:var(--border-radius-12); }
.event_list--monthly .event_month {
  font-size:var(--text-30);
  background:url(/assets/images/mk_circle.svg) no-repeat;
 }
.event_list--monthly .event_monthInner {
  gap:6px;
 }
.event_list--monthly .normalSlide_wrap {
  overflow:hidden;
  padding-bottom:var(--size-20);
  border-bottom:3px dotted var(--wakakusa-gray); }
@media print, screen and (min-width: 769px) {
  ul.event_txt a:hover {
    opacity:1!important;
 }
  .event_txt a:hover::after {
    animation:right 1.5s infinite;
 } }
@media only screen and (max-width: 1070px) {
  .event_body:after {
    top:1%;
    left:28px;
    width:5px;
    height:93%; }
  .event_list {
    grid-template-columns:60px 1fr;

    grid-template-areas:"areaA areaB"
    "areaA areaC"; }
  .event_txt {
    font-size:1.5rem;
    padding:0 0 10px 10px;
    border-bottom:none;

    grid-area:areaB; }

  .event_month {
    font-size:3rem;

    grid-area:areaA;
 }
  .event_month_tuki {
    font-size:11px;
    padding-left:2px;
 }
  .event_img {
    grid-area:areaC;
 }
  .event_txt [class*="el_labelInner"] {
    font-size:11px;
    padding:0.4em; }
  .event_list.event_list--monthly {
    gap:15px;

    grid-template-areas:"areaA areaD"
    "areaE areaE"
    "areaF areaF"; }
  .event_list--monthly .event_txt {display:contents; }
  .event_list--monthly .event_txt>h3 {
    grid-area:areaD;
 }
  .event_list--monthly .event_txt .event_txtInner {
    grid-area:areaE;
 }
  .event_list--monthly .normalSlide_wrap {
    grid-area:areaF; } }
@media screen and (max-width: 430px) {
  .event_body:after {
    height:94%; } }
/*---- jigyo-------------------------------------------------------------*/
.jigyo_wrap .card_ttl {
  font-size:var(--text-17);
  color:var(--wakakusa-darkgreen); }

/* ========================================================================== */
/*---- routine -----------------------------------------------------------*/
/* ========================================================================== */
.schedule_body {
  display:grid;
  gap:var(--size-70);
  margin-top:var(--size-50); }
.schedule_list {
  position:relative;
  display:grid;
  grid-template-columns:1fr 15px 1fr;
  gap:60px; }
.schedule_img img {
  display:block;
  width:100%;
  aspect-ratio:800 / 700;
  object-fit:cover;
  border-radius:var(--border-radius-12); }
.schedule_ttl {
  font-size:var(--text-21);
  line-height:1;
  position:relative;
  display:flex;
  align-items:center;
  gap:5px;
  width:fit-content;
  min-width:300px;
  padding:16px var(--size-30);
  letter-spacing:0;
  color:white;
  border-radius:12px;
  background-image:url(/assets/images/bg_schedule_01.svg);
  background-repeat:repeat;
  background-size:contain; }

.schedule_ttl [class*="el_labelInner"] {
  font-size:var(--text-12);
  flex-shrink:0;
 }
.schedule_bar {
  width:15px;
  height:110%;
  margin-top:90px;
  content:"";
  background-color:rgba(var(--wakakusa-green-rgb), 0.4); }
.schedule_time {
  font-family:var(--font-family-en);
  font-size:var(--text-17);
  font-weight:bold;
  flex-shrink:0;
  margin-right:var(--size-15); }
.schedule_txt {
  margin-top:var(--size-20);
 }
.schedule_txt p {
  font-size:var(--text-15);
  line-height:var(--leading-1\.9);
 }
@media print, screen and (min-width: 769px) {
  .schedule_list:nth-child(even) .schedule_img {
    order:3;
 }
  .schedule_list:nth-child(even) .schedule_bar {
    order:2;
 }
  .schedule_list:nth-child(even) .schedule_inner {
    order:1;
 }
  .schedule_ttl {
    margin-top:40px;
    transform:translateX(-93px); }
  .schedule_list:last-child .schedule_bar {
    height:0;
 }
  .schedule_list:nth-child(even) .schedule_ttl {
    margin-left:auto;
    transform:translateX(104px); } }


@media only screen and (max-width: 768px) {
  .schedule_list {
    position:relative;
    display:grid;
    grid-template-columns:1fr;
    gap:var(--size-30); }
  .schedule_txt::before {
    position:absolute;
    top:0;
    left:20px;
    width:2px;
    height:100%;
    content:"";
    background-color:var(--wakakusa-green);
 }
  .schedule_txt::after {
    font-family:'Material Symbols Rounded';
    font-size:3.5rem;
    line-height:0;
    position:absolute;
    bottom:-1px;
    left:3px;
    display:inline-block;
    content:'\e5c5';
    color:var(--wakakusa-green);

    font-variation-settings:'FILL' 1; }
  .schedule_img {
    margin-left:50px;
 }
  .schedule_img img {
    height:180px;
 }
  .schedule_ttl {
    margin-top:0; }
  .schedule_txt {
    margin:12px 0 12px 50px;
 }
  .schedule_bar {
    display:none;
 } }
/* ========================================================================== */
/*---- voice -----------------------------------------------------------*/
/* ========================================================================== */
/*---- 全体ブロック -------------------------------------------------------------*/
.bl_voice_block {
  position:relative;
  /* 下部のグラデーションボタンが被るため、初期状態の余白を多めに担保 */
  /* margin-bottom:clamp(3.6rem, 3.1542857143rem + 1.1428571429vw, 4.8rem); */
  /* padding-bottom:60px; */ }

.bl_voice_list {
  display:flex;
  flex-direction:column;
  gap:var(--size-70);
 }

/*---- 各ボイスアイテム（基本：PC用 左アイコン・右吹き出し = 1, 3, 5番目） -----------------*/
.bl_voice_item {
  display:flex;
  align-items:flex-start;

  column-gap:40px;
 }
.bl_voice_item_iconBody {
  flex-shrink:0; /* 横幅が潰れるのを防ぐ */
 }

.bl_voice_item_icon {
  height:130px;
  aspect-ratio:1 / 1;
  margin:0 auto;
  padding:30px;
  border-radius:50%;
  background-color:#ffffff; }

.bl_voice_item_comment {
  position:relative;
  flex:1 1 auto;
  padding:var(--size-30);
  border-radius:22px;
  background-color:#ffffff;
 }

.bl_voice_item_ttl {
  font-size:var(--text-26);
  font-weight:var(--font-weight-b);
  line-height:var(--leading-1\.8);
  margin-bottom:var(--size-20); }
.bl_voice_item_ttl .material-symbols-rounded {
  font-size:var(--text-17);
  margin-inline:var(--size-10);
  vertical-align:super; }
.bl_voice_item_sub {
  font-weight:var(--font-weight-b);
  line-height:var(--leading-1\.6);
  text-align:center;

  margin-block:var(--size-15) 0; }

.bl_voice_item_txt {
  font-size:var(--text-15);
  line-height:var(--leading-1\.9);
  margin-bottom:var(--size-20); }
.bl_voice_item_comment .bl_voice_item_txt:last-child {
  margin-bottom:var(--size-10);
 }

/* PC：左側のヒゲ（擬源要素） */
.bl_voice_item_comment::before {
  position:absolute;
  bottom:23px;
  left:clamp(-1.6rem, -1.3028571429rem + -0.7619047619vw, -2.4rem);
  content:url("/assets/images/voice_item.svg");
 }

/*---- ジグザグ配置（PC用 偶数番目を反転：右アイコン・左吹き出し = 2, 4, 6番目） -----------*/
/* even（偶数）にすることで、1番目=左、2番目=右、3番目=左…が実現します */
.bl_voice_item:nth-child(even) {
  flex-direction:row-reverse;
 }

/* PC：右側のヒゲ（偶数番目のみ適用） */
.bl_voice_item:nth-child(even) .bl_voice_item_comment::before {
  right:clamp(-1.6rem, -1.3028571429rem + -0.7619047619vw, -2.4rem);
  left:auto;
  transform:scale(-1, 1);
 }

/*---- 吹き出しリセットスタイル（bl_voice_item--noBubble クラスを付与した場合・ヒゲは残す） -------------*/
/* 1. 写真（アイコン）の丸み・背景・内側余白を消してそのままの四角にする */
.bl_voice_item--noBubble .bl_voice_item_iconBody {
  width:30%;
 }
.bl_voice_item--noBubble .bl_voice_item_icon {
  width:fit-content;
  height:auto;
  aspect-ratio:auto;
  margin-inline:auto;
  padding:0;
  border-radius:var(--border-radius-12);
  background-color:transparent;

  -webkit-mask-image:-webkit-radial-gradient(white, black); }

/* 四角い写真が枠の中で綺麗に収まるための指定 */
.bl_voice_item--noBubble .bl_voice_item_icon img {
  width:auto;
  max-height:400px;
  object-fit:contain;
  border-radius:var(--border-radius-10); }

/* 3. ヒゲ（::before）を表示させたまま位置を維持 */
.bl_voice_item--noBubble .bl_voice_item_comment::before {
  display:block;
 }

/*---- スマートフォン対応（768px以下） --------------------------------------------*/
@media screen and (max-width: 768px) {
  .bl_voice_item--noBubble .bl_voice_item_icon img {
    max-height:300px;
 }
  /* 通常・偶数番目ともに縦並びに統一 */
  .bl_voice_list .bl_voice_item,
  .bl_voice_list .bl_voice_item:nth-child(even) {
    align-items:center;
    flex-direction:column;

    row-gap:16px; /* ヒゲのスペース分少し広げる */
 }
  .bl_voice_item_ttl {
    margin-top:var(--size-10);
 }
  .bl_voice_item_ttl .material-symbols-rounded {
    display:none; }
  /* SP：ヒゲを吹き出しの上中央に配置（上を向くように回転） */
  .bl_voice_item_comment::before,
  .bl_voice_item .bl_voice_item_comment::before,
  .bl_voice_item:nth-child(even) .bl_voice_item_comment::before {
    top:-16px; /* 吹き出しの上に少しはみ出させる */
    right:auto;
    bottom:auto;
    left:50%;
    transform:translateX(-50%) rotate(90deg); /* 元画像の向きに合わせて調整してください */
 }

  /* SP：リセット用クラスがついている時の調整 */
  .bl_voice_item--noBubble {
    row-gap:24px;
 }

  .bl_voice_item--noBubble .bl_voice_item_iconBody {
    width:80%;
 } }

/*---- 「もっと見る」ボタンエリア（グラデーション装飾） ---------------------------------*/
.bl_voice_block .viewMore_btn_area {
  position:absolute;
  z-index:1;
  display:flex;
  align-items:flex-end;
  height:140px; /* グラデーションの高さ */

/* 下にいくほど背景の若草ベージュと同化するマスク */
  background:linear-gradient(180deg, rgba(var(--wakakusa-lightbeige-rgb), 0) 0%, rgb(var(--wakakusa-lightbeige-rgb)) 75%);

  inset:auto 0 0;
 }

.viewMore_btn {
  display:block;
  margin-inline:auto;
  padding:0;
  cursor:pointer;
  text-align:center;
  border:none;
  background:none; }

/* 矢印（指定通りのサイズと初期の反転向きに固定） */
.viewMore_btn_arrow img {
  width:100px;
  height:auto;
  transform:scale(1, -1);
 }

.viewMore_btn_text {
  font-family:var(--font-family-en);
  font-size:var(--text-13); /* 1.3remから共通変数へ変更 */
  font-weight:400;
  margin-top:7px;
  letter-spacing:0.05em;
  text-transform:uppercase; /* テキストを大文字に固定 */
 }


/* ========================================================================== */
/* contact                                                            */
/* ========================================================================== */
.contact_wrap .el_frame-white {
  padding:var(--size-50);
 }
.contact_google {
  width:100%;
  aspect-ratio:1 / 1.15;
  margin-top:var(--size-20);
  border:0; }
@media only screen and (max-width: 768px) {
  .contact_wrap .el_frame-white {
    padding:30px 25px;
 }
  .contact_wrap .el_frame-white {
    border-radius:0;
 }
  .contact_google {
    aspect-ratio:1 / 1.5;
 } }
/* ========================================================================== */
/* admission                                                            */
/* ========================================================================== */
.flow_sections {
  display:flex;
  flex-direction:column;
  gap:var(--size-30);
  margin:var(--size-50) 0;
 }
.flow_section {
  display:grid;
  grid-template-columns:var(--size-50) 1fr ;
  gap:var(--size-30);
  background:white;
 }
.flow_left {
  font-size:var(--text-20);
  position:relative;
  display:grid;
  width:var(--size-50);
  height:100%;
  color:white;

  place-content:center;
  writing-mode:vertical-lr; }
.flow_left::after {
  position:absolute;
  bottom:calc(var(--size-20) * -1);
  width:var(--size-50);
  height:var(--size-20);
  content:"";

  clip-path:polygon(50% var(--size-20), 0% 0%, var(--size-50) 0%);
 }

.flow_section--1 :is(.flow_left, .flow_number),
.flow_section--1 .flow_left::after {
  background-color:var(--wakakusa-pink);
 }
.flow_section--2 :is(.flow_left, .flow_number),
.flow_section--2 .flow_left::after {
  background-color:var(--wakakusa-blue);
 }
.flow_section--3 :is(.flow_left, .flow_number),
.flow_section--3 .flow_left::after {
  background-color:var(--wakakusa-green);
 }
.flow_lists {
  border-top:4px dotted #cccccc;
 }
.flow_lists>li {
  display:grid;
  align-items:center;
  grid-template-columns:var(--size-60) 1fr;
  gap:var(--size-20);
  border-bottom:4px dotted #cccccc;

  padding-block:var(--size-20); }
.flow_number {
  font-family:var(--font-family-en);
  font-size:var(--text-28);
  display:grid;
  width:var(--size-60);
  aspect-ratio:1 / 1 ;
  color:white;
  border-radius:100vmax;

  place-content:center; }
.flow_ttl {
  font-size:var(--text-25);
  font-weight:var(--font-weight-b);
  line-height:var(--leading-1\.8);
  margin-bottom:15px; }
.flow_txt {
  font-size:var(--text-15);
  line-height:var(--leading-1\.7);
 }
@media only screen and (max-width: 768px) {
  .flow_lists>li {
    align-items:flex-start;
 }
  .flow_txt {
    font-weight:var(--font-weight-n);
 } }
/*---- qa-------------------------------------------------------------*/
.el_qa {
  display:flex;
  flex-direction:column;
  gap:var(--size-40);

  margin-block:var(--size-50) var(--size-70);
 }
.el_qa dt {
  font-size:var(--text-19);
  line-height:1.8;
  display:grid;
  grid-template-columns:50px 1fr;
  gap:var(--size-20);
  margin-bottom:var(--size-15);
  padding-bottom:var(--size-15);
  border-bottom:1px solid var(--wakakusa-gray); }
.el_qa dt:before {
  font-size:2.1rem;
  font-weight:var(--font-weight-b);
  line-height:1;
  display:grid;
  aspect-ratio:1 / 1;
  padding:var(--size-10);
  content:"Q";
  transform:translateY(-0.5em);
  color:white;
  border-radius:var(--border-radius-99);
  background:url(/assets/images/menu_bg.png) repeat;
  background-size:contain;

  place-content:center; }
.el_qa dd {
  font-weight:normal;
  line-height:var(--leading-1\.9); }
@media only screen and (max-width: 768px) {
  .el_qa dd {
    font-size:14px; } }
/*----  letter_wrap-------------------------------------------------------------*/
.letter_wrap [target=_blank]::after {
  margin-left:-0.2em;
  padding-left:0; }

/*----  modal_wrap-------------------------------------------------------------*/
/* ページ全体の描画もブレないように保護 */
.wrapper {
  -webkit-backface-visibility:hidden;
          backface-visibility:hidden;
 }
.js_modal {
  overflow-y:auto; /* 縦に長くなったらスクロールバーを出す */
  transform:translate3d(0, 0, 0);

/* 前回のチラつき対策もそのまま残す */
  -webkit-backface-visibility:hidden;
          backface-visibility:hidden;

  -webkit-overflow-scrolling:touch; /* スマホで滑らかにスクロールさせる設定 */
  will-change:opacity, visibility;                                                                                                                                           }
.modal_wrap {
  position:fixed;
  z-index:var(--modal_wrap);
  top:0;
  left:0;
  display:flex;
  visibility:hidden;

/* モーダル全体をスクロール可能にする */
  overflow-y:auto;
  align-items:center;
  flex-direction:column;
  width:100%;
  height:100%;

/* 【重要】GSAP（autoAlpha）と連携するための初期非表示設定 */
  opacity:0;
  background-color:rgba(0, 0, 0, 0.9);

  -webkit-overflow-scrolling:touch;
 }

.modal_content {
  position:relative;
  z-index:10;
  width:95%;
  max-width:1000px;

/* 【修正】margin: auto; は一部のiOS等で高さをバグらせてフッターに隙間を作る原因になるため、上下marginを0にします */
  margin:0 auto;
  padding:60px 0; /* 上下に余白を作り、閉じボタンや画像の端を確保 */
  transform:scale(0.9);
 }

.js_modal_img {
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  border-radius:4px;
  box-shadow:0 10px 50px rgba(0, 0, 0, 0.5);

/* 【重要】1本指スクロールとピンチズームの両立をブラウザに許可 */

  touch-action:pan-x pan-y pinch-zoom;
 }

/* 閉じボタン：常に画面右上に固定 */
.modal_close {
  position:fixed;
  z-index:100;
  top:34px;
  right:-15px;
  cursor:pointer;
 }

.modal_close .material-symbols-rounded {
  font-size:var(--text-24);
  font-weight:bold;
  line-height:1;
  display:grid;
  width:var(--size-50);
  aspect-ratio:1 / 1;
  color:var(--wakakusa-black);
  border-radius:50%;
  background-color:white;
  box-shadow:0 4px 15px rgba(0, 0, 0, 0.3);

  place-content:center;
 }

/* スマホ用微調整 */
@media (max-width: 768px) {
  .modal_close {
    top:40px; /* スマホで見切れないように位置を調整 */
    right:-5px; /* マイナス値をやめて画面内に収めます */
 } }

/* ========================================================================== */
/* Instagram                                                            */
/* ========================================================================== */

.instagram-grid {
  display:grid;
  grid-template-columns:repeat(6, 1fr);
  gap:var(--size-20);
 }
.instagram-item {
  overflow:hidden;
  aspect-ratio:1 / 1;
  transition:var(--transition);
  border-radius:var(--border-radius-10);
  background-color:white;
  box-shadow:0 0.2rem 1.6rem rgb(35 56 81 / 15%); }
.instagram-item img {
  aspect-ratio:1 / 1;
  object-fit:cover;
 }
.instagram-grid a.instagram-item[target=_blank]::after {
  content:none;
 }
@media print, screen and (min-width: 769px) {
  .instagram-item:hover {
    transform:translateY(15px);
    box-shadow:none;
 } }

.error-message {
  text-align:center;
  color:#ff4d4d;

  grid-column:1 / -1; }

@media only screen and (max-width: 768px) {
  .instagram-grid {
    grid-template-columns:repeat(2, 1fr);
 } }

/* ========================================================================== */
/*---- senior_kango -----------------------------------------------------------*/
/* ========================================================================== */
.bl_elder {
  display:flex;
  margin-top:clamp(44px, 7.05vw + 15.82px, 106px);
 }
.bl_elder_img {
  object-fit:cover;
 }
.bl_elder_txtWrap {
  background:url(/assets/images/bg_geometry_white.png) center center/cover;
 }
.bl_elder__voice01 .bl_elder_txtWrap {
  background-color:var(--wakakusa-darkgreen);
 }
.bl_elder__voice02 .bl_elder_txtWrap {
  background-color:var(--wakakusa-pink);
 }
.bl_elder__voice03 .bl_elder_txtWrap {
  background-color:var(--wakakusa-blue);
 }
.bl_elder__voice04 .bl_elder_txtWrap {
  background-color:var(--wakakusa-yellow);
 }
.bl_elder_txtBody {
  position:relative;
  z-index:1;
 }
.bl_elder_ttl {
  font-size:clamp(2rem, 2.05vw + 1.18rem, 3.8rem);
  font-weight:var(--font-weight-b);
  line-height:1.3;
  color:white;
  text-shadow:0 0 14px rgba(0, 0, 0, 0.7); }
.bl_elder_belong {
  font-size:var(--font-size-22);
  line-height:1.8;
  margin-top:clamp(2.2rem, 1.59vw + 1.56rem, 3.6rem);
  margin-bottom:15px; }
.bl_elder_tag {
  font-size:clamp(1.3rem, 0.11vw + 1.255rem, 1.4rem);
  line-height:1.5;
  margin-top:0;
  margin-bottom:2rem;
 }
@media print,
screen and (min-width: 769px) {
  .bl_elder_img {
    width:70%;
    height:400px;
    border-top-left-radius:20px;
    border-bottom-left-radius:20px;
 }
  .bl_elder_txtWrap {
    width:90%;
    min-height:406px;
    margin-top:50px;
    margin-right:-60%;
    padding-bottom:clamp(72px, 1.36vw + 66.55px, 84px);
    border-top-right-radius:20px;
    border-bottom-right-radius:20px;
 }
  .bl_elder_txtBody {
    margin-top:80px;
    margin-left:10%;
 } }
@media screen and (max-width: 768px) {
  .bl_elder {
    flex-direction:column;
    flex-direction:column-reverse;
 }
  .bl_elder_img {
    width:100%;
    height:216px;
 }
  .bl_elder_txtWrap {
    width:100%;
 }
  .bl_elder_txtBody {
    margin-top:-63px;
 }
  .bl_elder_txt {
    margin-top:0;
 } }