/* Googleフォントの読み込み */
.inter{
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
.inter{
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
}
.inter{
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 800;
  font-style: normal;
}

.noto-sans-jp {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
.noto-sans-jp {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
}
.noto-sans-jp {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}

.biz-udpgothic-regular {
  font-family: "BIZ UDPGothic", sans-serif;
  font-weight: 400;
  font-style: normal;
}
.biz-udpgothic-bold {
  font-family: "BIZ UDPGothic", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.zen-maru-gothic-regular {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 400;
  font-style: normal;
}
.zen-maru-gothic-medium {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  font-style: normal;
}
.zen-maru-gothic-bold {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  font-style: normal;
}

/* 共通パーツ */
body{
  color: #3F3F3F;
}
a{
  text-decoration: none;
}
h2.wp-block-heading.section_title  {
  font-family: "Zen Maru Gothic", sans-serif;
font-weight: 700;
font-size: 2.375rem;
line-height: 1.6;
letter-spacing: 0.05em;
margin-top: 0;
    margin-bottom: 3.8rem;
}
p.section_sub_title{
  font-family: "Inter", sans-serif;
font-weight: 700;
font-size: 1.25rem;
line-height: 1;
letter-spacing: 0.05em;
color: #187C7A;
}
h3.wp-block-heading.section_sub_title{
  font-family: "BIZ UDPGothic", sans-serif;
font-weight: 700;
font-size: 1.375rem;
line-height: 1.6;
letter-spacing: 0.08em;
position: relative;
  padding-left: 22px;              
}
/* h3の左側縦ラインを擬似要素で挿入 */
h3.wp-block-heading.section_sub_title::before{
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);    
  width: 3px;                       
  height: 32px;                     
  background: #187C7A;             
  border-radius: 2px;              
}
@media (max-width: 639px){
h2.wp-block-heading.section_title{
  font-size: 2rem;
      margin-bottom: 1.8rem;
}
}
/* 共通ボタン */
  .btn-outline-arrow{
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
        padding: 20px 45px 20px 67px;
        border: 2px solid #187C7A;
    border-radius: 40px;             
    background-color: #FFFFFF;
    color: #187C7A;
    font-weight: 700;                   
    font-size: 1rem;
    line-height: 1;                     
    letter-spacing: 0.05em; 
    box-shadow: 2px 4px 8px 0px #00000026;            
    text-decoration: none;
    white-space: nowrap;
    transition: background-color .2s, color .2s, border-color .2s;
    margin-top: 2.5rem !important;
  }
  /* 矢印を擬似要素で挿入 */
.btn-outline-arrow::before {
  content: "\2192";  /* → */
  position: absolute;
  left: 28px;
  top: 50%;
  transform: translateY(-50%); 
  font-size: 1rem;
  color: #187C7A;
  transition: inherit;
}
  /* ホバー／フォーカス：色反転 */
  .btn-outline-arrow:hover,
  .btn-outline-arrow:focus-visible{
    background-color: #187C7A;
    color: #fff;
    border: 2px solid #187C7A;
  }
  .btn-outline-arrow:hover::before,
  .btn-outline-arrow:focus-visible::before{
    color: #fff;
  }
@media (max-width: 639px){
  a.btn-outline-arrow{
    display: flex;             
    width: max-content;      
    margin: 0 auto;          
  }
}

/* ========== ヘッダー ========== */
header.l-header.l-header--1row {
    background-color: #FBF8F6;
}
.p-global-nav .c-navbar__item>a>span{
font-weight: 500;
font-size: 1.125rem;
line-height: 1.6;
letter-spacing: 0.04em;
}
.p-global-nav .c-navbar__item>a{
padding: 10px 22px;
}
/* ロゴが大きいため、ナビの位置調整 */
.c-row__col.c-row__col--fit.u-invisible-md-down {
    align-self: flex-start; 
    margin-top: 1rem;       
}


/* お問い合わせボタン */
.l-1row-header .p-global-nav .c-navbar__items {
  display: flex;
  align-items: center;
}
.header_contact_btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
 padding: 0 25px;
  background-color: #187C7A;
  color: #fff;
  border: 2px solid #fff;
  border-radius: 32px;
  line-height: 1;               
  text-decoration: none;
  font-weight: 700;
  font-size: 14px;
  transition: all .25s ease;
  margin-left: auto;            
  white-space: nowrap;          
}
/* ホバーで色反転 */
.header_contact_btn:hover {
  background-color: #fff;
  color: #187C7A;
  border-color: #187C7A;
}

/* スクロール時ヘッダーロゴ縮小 */
@media (min-width: 1024px) {
  [data-scrolled="true"] .c-site-branding__title a img {
    width: 75px;
    height: auto;      
  }
}
/* スクロール時の位置調整 */
@media (max-width: 600px) {
  [data-scrolled="true"] .l-header{
    top: 0 !important;
    margin-top: 0 !important;
  }
}

/* ========== aboutセクション ========== */
.wp-block-snow-monkey-blocks-section.about_section {
    padding-bottom: 3.5rem;
}
.wp-block-snow-monkey-blocks-items.about_column1 {
    margin-bottom: 2.5rem;
}
p.about_text{
font-weight: 500;
font-size: 1.125rem;
line-height: 2;
letter-spacing: 0.04em;
margin-top: 1rem;
}
.wp-block-snow-monkey-blocks-items.about_column2 {
    margin-bottom: 6.2rem;
}
@media (max-width: 1023px){
.wp-block-snow-monkey-blocks-section.about_section .wp-block-snow-monkey-blocks-container{
  padding: 0;
}
}

@media (max-width: 639px){
p.about_text{
font-size: 1rem;
}
}

/* 葉っぱの絵を擬似要素で挿入 */
figure.wp-block-image.about_img{
  position: relative;
  overflow: visible;
}

figure.wp-block-image.about_img::after{
  content: "";
  position: absolute;
  top: -18%;
    left: 81%;
        width: 146px;
    height: 74px;
      background-image: url("https://www.gh-miraie.site/wp-content/uploads/2025/08/Layer-1.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  pointer-events: none; 
  z-index: 2;
}
@media (max-width: 1190px){
figure.wp-block-image.about_img::after{
  top: -18%;
left: 75%;
width: 125px;
}
}
@media (max-width: 1040px){
figure.wp-block-image.about_img::after{
        top: -23%;
        left: 79%;
        width: 105px;}
}
@media (max-width: 768px){
  figure.wp-block-image.about_img::after{
top: -23%;
        left: 82%;
        width: 85px;
  }
}
@media (max-width: 730px){
  figure.wp-block-image.about_img::after{
        top: -26%;
        width: 78px;
      }
  }
@media (max-width: 639px){
figure.wp-block-image.about_img::after {
        top: -13%;
        left: 88%;
        width: 78px;
    }
}
@media (max-width: 479px){
figure.wp-block-image.about_img::after {
        top: -23%;
        left: 84%;
        width: 75px;
          }
}

/* 関連事業所ボタン */
.about-card-local .about-card{
  display: block;                 
  text-decoration: none;          
  color: inherit;                 
  margin: 0 0 24px;
}
.about-card-local .about-card__body{
  position: relative;
  background: #fff;
  color: #187C7A;                 
  border: 2px solid #187C7A;
  border-radius: 8px;
  box-shadow: 2px 4px 8px 0 #00000026;
  padding: 21px 49px;             
  transition: background-color .25s, color .25s, border-color .25s, box-shadow .25s;
}
.about-card-local .about-card__title{
  margin: 0 0 .75rem;
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1.8;
  letter-spacing: .05em;
  text-align: center;
  color: inherit;                
}
.about-card-local .about-card__link{
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 20px;
  text-decoration: none;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1;
  letter-spacing: .08em;
  color: inherit;                
}
/* 矢印を擬似要素で挿入 */
.about-card-local .about-card__link::before{
  content: "\2192";              
  display: inline-block;
  line-height: 1;
  color: currentColor;            
  transform: translateY(.02em);
  transition: transform .25s;
}
/* ホバー時 */
.about-card-local .about-card:hover .about-card__body,
.about-card-local .about-card:focus-visible .about-card__body{
  background: #187C7A;
  border-color: #fff;
  color: #fff;                   
  box-shadow: 2px 6px 14px 0 rgba(0,0,0,.25);
}

/* 1023px以下の時だけ改行を有効化 */
.about-card-local br.sp-only { display: none; }
@media (max-width: 1023px) {
  .about-card-local br.sp-only { display: inline; } 
}
@media (max-width: 782px){
.about-card-local .about-card__body {
    padding: 21px 13px;
}
} 
@media (max-width: 639px){
  .wp-block-snow-monkey-blocks-container.btn_container{
    padding: 0;
  }
.wp-block-group.about_card_group {
    display: block;
}
.about-card-local .about-card__title{
  font-size: 18px;
}
} 


/* ========== pointセクション ========== */
.wp-block-snow-monkey-blocks-section.point_section {
    padding-top: 3.2rem;
}
p.point_column_text{
font-weight: 500;
font-size: 1.125rem;
line-height: 2;
letter-spacing: 0.04em;
}
.wp-block-columns.point_column {
    margin-bottom: 3.5rem;
}
@media (max-width: 1023px){
.wp-block-columns.point_column{
  display: block;
}
.wp-block-snow-monkey-blocks-section.point_section .smb-section__inner .c-container{
  padding: 0;
}
}
@media (max-width: 781px){
.point_section p.section_sub_title {
  text-align: center;
}
}
@media (max-width: 639px){
p.point_column_text{
  font-size: 16px;
}
}

.wp-block-snow-monkey-blocks-items.point_items {
    background-color: #C6E4CB;
    border-radius: 20px;
    padding: 60px 35px 105px;
}
.wp-block-snow-monkey-blocks-items-item-free.point_item {
    background-color: #fff;
    border: 2px solid #187C7A;
    border-radius: 8px;
        padding: 27px 0;
        margin-bottom: 0;
}
@media (min-width: 1024px) {
  .wp-block-snow-monkey-blocks-items.point_items .c-row[data-lg-columns="3"] {
       --_item-width: 28.8%;
       justify-content: center;
        gap: 24px;    
      }
}
@media screen and (min-width: 640px) and (max-width: 1023px) {
    .wp-block-snow-monkey-blocks-items.point_items .c-row[data-md-columns="2"] {
        --_item-width: 45%;
        justify-content: center;
        gap: 20px;
    }
}
@media (max-width: 639px){
  .wp-block-snow-monkey-blocks-items.point_items .c-row[data-columns="1"] {
    --_item-width: 97%;
    justify-content: center;
    gap: 10px;
}
.wp-block-snow-monkey-blocks-items.point_items {
    padding: 20px 35px 60px;
}
}

h3.wp-block-heading.point_item_title,
h3.wp-block-heading.point_item_title2 {
  font-family: "BIZ UDPGothic", sans-serif;
font-weight: 700;
font-size: 1.125rem;
line-height: 1.6;
letter-spacing: 0.05em;
}
h3.wp-block-heading.point_item_title{
    margin-top: 1.5rem;
    margin-bottom: 0.2rem;
}
h3.wp-block-heading.point_item_title2 {
    margin-top: 2.4rem;
    margin-bottom: 1.2rem;
}
p.point_item_text{
font-weight: 500;
font-size: 1rem;
line-height: 1.6;
letter-spacing: 0.04em;
}

@media (max-width: 639px){
.wp-block-snow-monkey-blocks-section.point_section .c-container{
  padding: 0;
}
}

/* 葉っぱの絵を擬似要素で挿入 */
.point_section{
  position: relative;
  overflow: visible; 
}
.point_section::before{
  content: "";
  position: absolute;
  top: clamp(-20px, 16vw, 250px);
  left: 0;
  /* transform: translateX(clamp(-100px, -7.5vw, -8px)); */
  transform: translateX(clamp(-100px, -2.5vw, -8px));
  width: clamp(60px, 14vw, 190px);
  aspect-ratio: 120 / 160; 
  background: url("https://www.gh-miraie.site/wp-content/uploads/2025/08/Group-3466191.svg") no-repeat center / contain;
  pointer-events: none;
}
@media (max-width: 1320px) {
  .point_section::before {
    transform: translateX(clamp(-100px, -3.5vw, -8px));
  }
}
@media (max-width: 1210px) {
 .point_section::before {
    top: clamp(-20px, 21vw, 250px);
    transform: translateX(clamp(-100px, -1.5vw, -8px));
    width: clamp(60px, 10vw, 190px);
} 
}
@media (max-width: 1097px) {
    .point_section::before {
        top: clamp(-20px, 28vw, 300px);
    }
}
@media (max-width: 1094px) {
    .point_section::before {
        top: clamp(-20px, 34vw, 500px);
    }
}
@media (max-width: 1023px) {
 .point_section::before {
    /* top: clamp(-20px, 37.5vw, 500px);
    transform: translateX(clamp(-100px, -0.5vw, -5px));
    width: clamp(60px, 8vw, 190px); */

    top: clamp(-20px, 35.5vw, 500px);
        transform: translateX(clamp(-100px, -2.5vw, -5px));
        width: clamp(60px, 6vw, 190px);
} 
}
@media (max-width: 955px) {
 .point_section::before {
    top: clamp(-20px, 41vw, 500px);
} 
}
@media (max-width: 916px) {
 .point_section::before {
   top: clamp(-20px, 43vw, 500px);
} 
}
@media (max-width: 820px) {
 .point_section::before {
    top: clamp(-20px, 52vw, 500px);
} 
}
@media (max-width: 768px) {
 .point_section::before {
        top: clamp(-20px, 56vw, 500px);
        transform: translateX(clamp(-100px, -2.5vw, 3px));} 
}
@media (max-width: 705px) {
 .point_section::before {
    top: clamp(-20px, 62vw, 500px);
} 
}
@media (max-width: 639px) {
    .point_section::before {
        top: clamp(-20px, 59vw, 500px);
                transform: translateX(clamp(-100px, -3.5vw, 3px));
                        width: clamp(45px, 8vw, 190px);
    }
}
@media (max-width: 556px) {
    .point_section::before {
        top: clamp(-20px, 68vw, 500px);
    }
}
@media (max-width: 520px) {
    .point_section::before {
        top: clamp(-20px, 79vw, 500px);
    }
}
@media (max-width: 480px) {
    .point_section::before {
        top: clamp(-20px, 98vw, 500px);
    }
}
@media (max-width: 430px) {
    .point_section::before {
        top: clamp(-20px, 109vw, 500px);
                transform: translateX(clamp(-100px, -4.5vw, 3px));
        width: clamp(50px, 8vw, 190px);
    }
}
@media (max-width: 410px) {
    .point_section::before {
        top: clamp(-20px, 122vw, 500px);
    }
}
@media (max-width: 375px) {
    .point_section::before {
        top: clamp(-20px, 133vw, 500px);
        transform: translateX(clamp(-100px, -5.5vw, 3px));
    }
}

/* ========== guidanceセクション ========== */
.wp-block-snow-monkey-blocks-section.guidance_section {
    margin-top: 0;
}
/* 入居条件 */
.guidance_section h3.wp-block-heading.section_sub_title{
  font-family: "Zen Maru Gothic", sans-serif; 
}
.wp-block-columns.guidance_column {
    border-radius: 20px;
    padding: 60px;
}
li.guidance_list{
font-weight: 700;
font-size: 1.0625rem;
line-height: 1.6;
letter-spacing: 0.04em;
}
/* 2番目・5番目の liスタイル */
.guidance_list:nth-child(2){
  font-weight: 500;
font-size: 0.875rem;
line-height: 1.6;
letter-spacing: 0.04em;
}
.guidance_list:nth-child(5) {
font-weight: 500;
font-size: 1rem;
line-height: 1.6;
letter-spacing: 0.04em;
}

/* リスト本体（既定の・を消す） */
ul.guidance_list { list-style: none; margin: 0; padding: 0; }

/* 各項目 */
ul.guidance_list li.guidance_list{
  position: relative;
  padding-left: 28px;              
  margin: 0 0 15px;
}
ul.guidance_list li.guidance_list:nth-child(1),
ul.guidance_list li.guidance_list:nth-child(4) {
  margin-bottom: 0;
}

/* 自作マーカー（丸） */
ul.guidance_list li.guidance_list::before{
  content: "";
  position: absolute;
  left: 0;
  top: 0.85em;                   
  transform: translateY(-50%);
  width: 15px;                  
  height: 15px;
  border-radius: 50%;
  background: #187C7A;
}

ul.guidance_list li.guidance_list:nth-child(2)::before,
ul.guidance_list li.guidance_list:nth-child(5)::before{
  display: none;                  
}

@media (max-width: 1023px) {
.wp-block-columns.guidance_column{
  display: block;
}
.guidance_section h3.wp-block-heading.section_sub_title {
    margin-bottom: 2rem;
}
}
@media (max-width: 639px) {
  .wp-block-columns.guidance_column{
    padding: 20px;
  }
    .guidance_section h3.wp-block-heading.section_sub_title {
        margin-bottom: 1rem;
    }
  ul.guidance_list li.guidance_list::before {
    width: 5px;
    height: 5px;
}
ul.guidance_list li.guidance_list {
    padding-left: 15px;
}
}


/* 毎月の費用 */
.wp-block-snow-monkey-blocks-box.table_box {
    background-color: #E8F4EA;
    padding: 20px 48px;
    border-radius: 12px;
}



.wp-block-snow-monkey-blocks-information-item.price_table_title {
    padding: 18px 10px 14px;
    margin-top: 0;
    border-bottom: 1px solid #DDDDDD;
}
.wp-block-snow-monkey-blocks-information-item.price_table_title:last-child{
border-bottom: none;
}
.wp-block-snow-monkey-blocks-information-item.price_table_title2{
padding: 34px 10px 18px;
    margin-top: 0;
  }

.wp-block-snow-monkey-blocks-information-item.price_table_title .smb-information__item__label span{
font-weight: 700;
font-size: 1rem;
line-height: 1;
letter-spacing: 0.02em;
}
p.price_table_text{
font-weight: 500;
font-size: 1rem;
line-height: 1.6;
letter-spacing: 0.02em;
}
p.price_table_text2{
font-weight: 400;
font-size: 0.875rem;
line-height: 1.6;
letter-spacing: 0.02em;
margin-top: 0;
}
.wp-block-snow-monkey-blocks-information-item.price_table_title2 span{
font-weight: 700;
font-size: 1.25rem;
line-height: 1;
letter-spacing: 0.02em;
}
p.price_table_text3{
font-weight: 700;
font-size: 1.125rem;
line-height: 1.6;
letter-spacing: 0.02em;
}
p.price_text{
font-weight: 500;
font-size: 1rem;
line-height: 1.6;
letter-spacing: 0.04em;
    margin-top: 1.5rem;
}
@media (min-width: 640px) {
.wp-block-snow-monkey-blocks-information-item.smb-information__item.price_table_title 
  .c-row > .c-row__col:first-child,
  .wp-block-snow-monkey-blocks-information-item.smb-information__item.price_table_title2
  .c-row > .c-row__col:first-child {
        --_item-width: 31%;
    }
}
@media (max-width: 639px) {
  .wp-block-snow-monkey-blocks-box.table_box{
    padding: 20px;
  }
  .wp-block-snow-monkey-blocks-information-item.price_table_title {
    padding: 18px 10px 18px;
}
/* 左列 */
  .wp-block-snow-monkey-blocks-information-item.smb-information__item.price_table_title 
  .c-row > .c-row__col:first-child,
    .wp-block-snow-monkey-blocks-information-item.smb-information__item.price_table_title2 
  .c-row > .c-row__col:first-child {
    margin-bottom: 0rem;
  }
  /* 右列 */
  .wp-block-snow-monkey-blocks-information-item.smb-information__item.price_table_title 
  .c-row > .c-row__col:last-child {
    margin-bottom: 1rem;
  }
}


/* 1日の流れ */
.wp-block-group.flow-row {
    background-color: #E8F4EA;
    border-radius: 60px;
    padding: 13px 48px;
    gap: 50px;
    position: relative;
}
/* 3,4,5番目の .flow-row だけパディングを変える */
.wp-block-group.flow-row:nth-of-type(3),
.wp-block-group.flow-row:nth-of-type(4),
.wp-block-group.flow-row:nth-of-type(5) {
    padding: 22px 48px;
    gap: 37px;
}

/* 縦線 */
.flow-row::before {
  content: "";
  position: absolute;
  left: 123px;              
  top: 20%;
  bottom: 20%;
  width: 2px;
  background: #187C7A;
}

p.flow-row__time{
  font-family: "Inter", sans-serif;
font-weight: 700;
font-size: 1.25rem;
line-height: 1.6;
letter-spacing: 0.05em;
}
p.flow-row__body{
font-weight: 500;
font-size: 1.125rem;
line-height: 1.6;
letter-spacing: 0.05em;
}

@media (max-width: 639px) {
  .wp-block-group.flow-row{
    display: block;
  }
  .flow-row::before {
    display: none;
  }
  p.flow-row__time{
    font-size: 1.125rem;
  }
  p.flow-row__body{
    font-size: 1rem;
  }
  .wp-block-group.flow-row,
  .wp-block-group.flow-row:nth-of-type(3), .wp-block-group.flow-row:nth-of-type(4), .wp-block-group.flow-row:nth-of-type(5) {
    border-radius: 20px;
    padding: 13px 20px;
}
}

/* 葉っぱの絵を擬似要素で挿入 */
.wp-block-snow-monkey-blocks-section.guidance_section{
  position: relative;
  overflow: visible;           
}
.wp-block-snow-monkey-blocks-section.guidance_section::after{
  content: "";
  position: absolute;
right: clamp(-8px, 6vw, 66px);
    bottom: clamp(-12px, -0.3vw, 8px);
    width: clamp(80px, 13vw, 200px);
      aspect-ratio: 160 / 120;        
  background: url("https://www.gh-miraie.site/wp-content/uploads/2025/08/Group-4883.svg")
              no-repeat center / contain;
  pointer-events: none;             
  z-index: 0;                      
}
@media (max-width: 1023px){
  .wp-block-snow-monkey-blocks-section.guidance_section::after{
        right: clamp(-8px, 1vw, 66px);
  }
}
@media (max-width: 639px){
    .wp-block-snow-monkey-blocks-section.guidance_section::after{
bottom: clamp(-12px, 1.7vw, 8px);
  }
}

/* ========== facilityセクション ========== */
.wp-block-snow-monkey-blocks-section.facility_section {
    padding-top: 3.2rem;
    padding-bottom: 3rem;
}
.wp-block-snow-monkey-blocks-items-item-free.facility_item .smb-items__item.smb-items__item--free{
  background-color: #E8F4EA;
  border-radius: 8px;
      padding: 25px 0 35px;
}
h3.wp-block-heading.facility_title{
  font-family: "BIZ UDPGothic", sans-serif;
font-weight: 700;
font-size: 1.375rem;
line-height: 1.6;
letter-spacing: 0.03em;
    margin-top: 1.8rem;
}
.wp-block-snow-monkey-blocks-items-item-free.facility_item {
    margin-bottom: 5rem;
}
p.facility_text{
font-weight: 500;
font-size: 1.125rem;
line-height: 2;
letter-spacing: 0.04em;
}

/* 施設一覧 */
.smb-recent-posts.post_group span.c-entry-summary__term {
    display: none;
}
.smb-recent-posts.post_group h3.c-entry-summary__title{
font-weight: 500;
font-size: 1.25rem;
line-height: 1.8;
letter-spacing: 0.04em;
}
.smb-recent-posts.post_group .c-entry-summary__figure>img, .c-entry-summary__figure>picture>img{
  border-radius: 4px;
}

/* カルーセルの色変更 */
.spider__dots:not([data-thumbnails=true]) .spider__dot {
	background-color: #DDDDDD;
}
.spider__dots:not([data-thumbnails=true]) .spider__dot[aria-current=true] {
	background-color: #187C7A;
}

/* ボタン */
.facility_section .facility-btn-wrap {
  text-align: center;
}
.facility_section .btn-outline-arrow{
    padding: 18px 89px 18px 104px;
    margin-top: 0.9rem !important;
}

@media (max-width: 1023px){
  .wp-block-snow-monkey-blocks-section.facility_section .smb-section__inner .c-container{
    padding: 0;
  }
  .facility_section
  .wp-block-snow-monkey-blocks-container.facility_items_container,
    .facility_section
  .wp-block-snow-monkey-blocks-container.facility_items_container2{

padding: 0;
  }
  h3.wp-block-heading.facility_title {
    font-size: 1.125rem;
}
p.facility_text{
  font-size: 1rem;
}
.smb-recent-posts.post_group h3.c-entry-summary__title{
  font-size: 1.125rem;
}

h3.wp-block-heading.flow_title {
    font-size: 1rem;
}
p.flow_sub_text {
    font-size: 0.9375rem;
}
}
@media (max-width: 639px){
  .facility_section .c-container{
    padding: 0;
  }
  .wp-block-snow-monkey-blocks-items-item-free.facility_item {
    margin-bottom: 1rem;
}
h3.wp-block-heading.facility_title {
    font-size: 1.125rem;
}
}


/* 葉っぱの画像を擬似要素で挿入 */
/* 基準にするセクション */
.wp-block-snow-monkey-blocks-section.facility_section{
  position: relative;
  overflow: visible;
}

/* 葉っぱ画像（装飾） */
.wp-block-snow-monkey-blocks-section.facility_section::before{
  content: "";
  position: absolute;
  display: block;
  aspect-ratio: 160 / 120;
  background: url("https://www.gh-miraie.site/wp-content/uploads/2025/08/leaf02.svg")
              no-repeat center / contain;
  pointer-events: none;
  z-index: 0;

  /* 640px→1440px を滑らかに補間（端は clamp で固定） */
top: clamp(380px, calc(380px + 0.225 * (100vw - 640px)), 400px);

  /* left:   0px → -21px  （左へ移動＝負方向） */
  left:  clamp(-21px, calc(16.8px - 2.625vw), 0px);

  /* width: 92px → 194px */
  width: clamp(92px,  calc(10.4px + 12.75vw), 194px);
}

/* 1440px以上も端値で固定 */
@media (min-width: 1440px){
  .wp-block-snow-monkey-blocks-section.facility_section::before{
    top: 395px; left: -21px; width: 194px;
  }
}
@media (max-width: 850px){
  .wp-block-snow-monkey-blocks-section.facility_section::before{
top: 467px;
    left: -27px;  }
}
@media (max-width: 768px){
  .wp-block-snow-monkey-blocks-section.facility_section::before{
        top: 507px;
       }
}
@media (max-width: 639px){
    .wp-block-snow-monkey-blocks-section.facility_section::before{
  display: none;
    }
}




/* ========== flowセクション ========== */
p.flow_number{
  font-family: "Inter", sans-serif;
font-weight: 500;
font-size: 2.25rem;
line-height: 1;
letter-spacing: 0;
}
figure.wp-block-image.flow_img {
    margin-top: 0.4rem;
}
h3.wp-block-heading.flow_title{
font-weight: 700;
font-size: 1.375rem;
line-height: 1.6;
letter-spacing: 0.08em;
    margin-top: 0.8rem;
    margin-bottom: 0;
}
p.flow_sub_text{
font-weight: 700;
font-size: 1.125rem;
line-height: 1.6;
letter-spacing: 0.08em;
}
@media (max-width: 1023px){
h3.wp-block-heading.flow_title {
    font-size: 1rem;
}
p.has-text-align-center.flow_sub_text{
  font-size: 0.9375rem;
}
}
@media (max-width: 639px){
.flow_section .c-container{
  /* padding: 0; */
}
.flow_items .c-row > .wp-block-snow-monkey-blocks-items-item-free.flow_item:last-child{
    margin-left: auto;
    margin-right: auto;   /* 横方向の余白を自動で均等に→中央寄せ */
  }
      h3.wp-block-heading.flow_title {
        font-size: 1.125rem;
    }
}

/* 緑色の三角矢印を擬似要素で挿入 */
.flow_items{
  --fluid: clamp(0, (100vw - 640px) / 800, 1);      
  --dy: calc(0px + 2px x * var(--fluid));          
  
}
/* 05以外に矢印を表示 */
.flow_items .flow_item:not(:last-child) .flow_img{ position: relative; }
.flow_items .flow_item:not(:last-child) .flow_img::after{
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(calc(-50% + var(--dy)));
  background: url(https://www.gh-miraie.site/wp-content/uploads/2025/08/Polygon-1.svg) no-repeat center / contain;
  z-index: 1;
  pointer-events: none;
  right:  clamp(-60px, calc(-20px - ((100vw - 640px) / 800 * 40)), -20px);
  width:  clamp(10px,  calc(10px  + ((100vw - 640px) / 800 * 46)), 56px);
  height: clamp(10px,  calc(10px  + ((100vw - 640px) / 800 * 32)), 42px);
}
@media (max-width: 1023px){
  .flow_items .flow_item:not(:last-child) .flow_img{ position: relative; }
.flow_items .flow_item:not(:last-child) .flow_img::after{
  right:  clamp(-60px, calc(-20px - ((100vw - 640px) / 800 * 26)), -20px);
}

}
@media (max-width: 639px){
  .flow_items .flow_item:not(:last-child) .flow_img::after{ display: none; }
}

/* ========== consultationセクション ========== */
.wp-block-snow-monkey-blocks-section.consultation_section {
    padding-top: 4rem;
    padding-bottom: 3.8rem;
}
p.consultation_text{
font-weight: 500;
font-size: 1.125rem;
line-height: 2;
letter-spacing: 0.05rem;
}
.consultation_section h2.wp-block-heading.section_title {
    margin-bottom: 2rem;
}
.consultation_section .btn-outline-arrow {
    margin-top: 2rem !important;
}
@media (max-width: 781px){
  h2.wp-block-heading.section_title,
  p.consultation_text {
    text-align: center;
}
  .consultation_section a.btn-outline-arrow {
    display: block;
    width: fit-content;
    margin-inline: auto;
            margin-top: 3rem !important;
        margin-bottom: 3rem !important;
}

figure.wp-block-image.consultation_column_img img{
margin-left: auto;
        margin-right: auto;
      }

}
@media (max-width: 639px){
  p.consultation_text {
    font-size: 1rem;
    text-align: start;
}
/* ダウンロードボタン：PCでは1行、639px以下で<wbr>の位置だけで改行 */
.consultation_section .btn-outline-arrow{ white-space: nowrap; }
  .consultation_section .btn-outline-arrow{
    white-space: normal;       
    word-break: keep-all;  
        padding: 20px 35px 20px 85px;
        line-height: 1.3;
  }
}


/* 葉っぱの絵を擬似要素で挿入 */
.consultation_section{
  position: relative;
  isolation: isolate;      

--leaf-w: clamp(96px, 19vw, 270px);
    --leaf-top: clamp(8px, 2.5vw, 59px);
    --leaf-right: clamp(8px, 4vw, 80px);
}
.consultation_section::after{
  content: "";
  position: absolute;
  top: var(--leaf-top);
  right: var(--leaf-right);
  width: var(--leaf-w);
  aspect-ratio: 1.4 / 1;  
  background: url(https://www.gh-miraie.site/wp-content/uploads/2025/08/leaf08.svg) no-repeat center / contain;
  pointer-events: none;
  z-index: 1;
}
@media (max-width: 1023px){
  .consultation_section{
    --leaf-top: clamp(8px, 10.5vw, 115px);
  }
}

/* ========== ctaセクション ========== */
.wp-block-snow-monkey-blocks-section.smb-section.smb-section--fit.cta_section {
    padding-top: 0.7rem;
    padding-bottom: 0;
}
.c-section.p-section-front-page-content {
    padding-bottom: 2.5rem;
}
.wp-block-columns.cta_column {
    gap: 3px;
}
p.cta_text{
font-weight: 700;
font-size: 1rem;
line-height: 1.6;
letter-spacing: 0.05em;
}
p.cta_tel{
  font-family: "Inter", sans-serif;
font-weight: 700;
font-size: 2rem;
line-height: 1;
letter-spacing: 0.1em;
margin-top: 0.4rem;
}
p.cta_tel a{
  text-decoration: none;
  transition: opacity 0.3s ease; 
}
p.cta_tel a:hover {
  opacity: 0.8;
}

p.cta_fax{
  font-family: "Inter", sans-serif;
font-weight: 700;
font-size: 0.875rem;
line-height: 1;
letter-spacing: 0.09em;
margin-top: 0.5rem;
}
p.btn_text{
font-weight: 700;
font-size: 1rem;
line-height: 1;
letter-spacing: 0.05em;
}
@media (max-width: 741px){
p.cta_tel {
    font-size: 1.8rem;
}  

}

@media (max-width: 639px){
  .wp-block-columns.cta_column {
    gap: 12px;
}
.wp-block-column.cta_img_column{
  flex-basis: 24% !important;
}
}

/* メールボタン */
a.btn-outline-arrow.btn-mail{
    padding: 18px 55px 17px 65px;
    border: 2px solid #ffffff;
    background-color: #187C7A;
    color: #ffffff;
      margin-top: 0.7rem !important;
}
  /* 矢印を擬似要素で挿入 */
a.btn-outline-arrow.btn-mail::before {
  content: "\2192";  /* → */
  position: absolute;
  left: 28px;
  top: 50%;
  transform: translateY(-50%); 
  font-size: 1rem;
  color: #ffffff;
  transition: inherit;
}
  /* ホバー／フォーカス：色反転 */
a.btn-outline-arrow.btn-mail:hover,
a.btn-outline-arrow.btn-mail:focus-visible{
    background-color: #ffffff;
    color: #187C7A;
    border: 2px solid #187C7A;
  }
a.btn-outline-arrow.btn-mail:hover::before,
a.btn-outline-arrow.btn-mail:focus-visible::before{
    color: #187C7A;
  }
@media (max-width: 699px){
a.btn-outline-arrow.btn-mail{
display: inline-flex;             
    width: auto;
    margin: 0; 
        padding: 18px 45px 17px 60px;          
  }
}

/* LINEボタン */
a.btn-outline-arrow.btn-line{
    padding: 18px 53px 17px 59px;
    border: 2px solid #ffffff;
    background-color: #00C300;
    color: #ffffff;
      margin-top: 0.7rem !important;
}
  /* 矢印を擬似要素で挿入 */
a.btn-outline-arrow.btn-line::before {
  content: "\2192";  /* → */
  position: absolute;
  left: 28px;
  top: 50%;
  transform: translateY(-50%); 
  font-size: 1rem;
  color: #ffffff;
  transition: inherit;
}
  /* ホバー／フォーカス：色反転 */
a.btn-outline-arrow.btn-line:hover,
a.btn-outline-arrow.btn-line:focus-visible{
    background-color: #ffffff;
    color: #00C300;
    border: 2px solid #00C300;
  }
a.btn-outline-arrow.btn-line:hover::before,
a.btn-outline-arrow.btn-line:focus-visible::before{
    color: #00C300;
  }
@media (max-width: 639px){
a.btn-outline-arrow.btn-line{
display: inline-flex;             
    width: auto;
    margin: 0; 
            padding: 18px 30px 17px 55px;          
  }
}

/* CTAをTB時2カラムにした時の余白 */
@media (max-width: 1023px){
  .wp-block-snow-monkey-blocks-items.smb-items.cta_items .c-row > .c-row__col:last-child{
    margin-inline: auto;     
    justify-self: center;    
    margin-inline: auto;
    margin-top: 24px;    
    margin-bottom: 16px; 
  }
}
/* CTAをSP時1カラムにした時の余白 */
@media (max-width: 1023px){
  .wp-block-snow-monkey-blocks-items.smb-items.cta_items .c-row > .c-row__col{
    margin-inline: auto;     
    justify-self: center;    
    margin-inline: auto;
    margin-top: 24px;    
    margin-bottom: 16px; 
  }
}

/* ========== フッター ========== */
footer.l-footer.l-footer--default {
    background-color: #FBF8F6;
}
.l-footer-widget-area {
    padding-top: 3.8rem !important;
}
/* フッターの幅を合わせて中央寄せに */
.l-footer--default .l-footer-widget-area .c-container, .c-fluid-container {
    max-width: 89%;
    margin-left: auto;
    margin-right: auto;
}
.l-footer{
  border-top: none;
}
/* フッターメニュー横並び */
.widget_nav_menu ul {
	display: flex;
	justify-content: end;
	flex-wrap: wrap;
}
.widget_nav_menu ul li.menu-item {
	padding: 11px 27px;
}
/* フッターメニュー初めだけ余白あるので他と合わせる */
.widget_nav_menu ul li.menu-item:first-child {
	margin-top: var(--_margin-2);
}

.wp-block-group.footer_logo_group p{
font-weight: 500;
font-size: 1rem;
line-height: 1.6;
letter-spacing: 0.05em;
margin-top: 1.5rem;
}
.widget_nav_menu ul li.menu-item {
    padding: 11px 24px;
}
.widget_nav_menu :where(a){
font-weight: 500;
font-size: 1.125rem;
line-height: 1.6;
letter-spacing: 0.04rem;

}
.wp-block-group.footer_under_nav_group ul li{
padding-right: 0;
}
.wp-block-group.footer_under_nav_group a{
font-weight: 500;
font-size: 0.875rem;
line-height: 1.6;
letter-spacing: 0.04em;
}
.wp-block-group.footer_under_nav_group p{
  font-family: "Inter", sans-serif;
font-weight: 400;
font-size: 0.75rem;
line-height: 1;
letter-spacing: 0;
    margin-top: 0.5rem;
}
.wp-block-group.footer_right_group {
    gap: 7.8rem;
}
/* ホバー時変化 */
.widget.widget_nav_menu ul li a{
  text-decoration: none;
  transition: opacity 0.3s ease;
}
.widget.widget_nav_menu ul li a:hover{
  opacity: 0.8;
}

@media (min-width: 1023px){
.l-footer-widget-area__item{
    flex: 0 0 auto;
  }
  /* 奇数番目 */
  .l-footer-widget-area__item:nth-child(odd){
    --_item-width: 40%;
    flex-basis: var(--_item-width);
  }
  /* 偶数番目 */
  .l-footer-widget-area__item:nth-child(even){
    --_item-width: 60%;
    flex-basis: var(--_item-width);
            align-self: center;
  }
}
@media (min-width: 639px) and (max-width: 1023px) {
  /* 奇数番目 */
  .l-footer-widget-area__item:nth-child(odd){
    --_item-width: 50%;
    flex-basis: var(--_item-width);
                align-self: center;
  }
  /* 偶数番目 */
  .l-footer-widget-area__item:nth-child(even){
    --_item-width: 50%;
    flex-basis: var(--_item-width);
  }
   .wp-block-group.footer_right_group {
gap: 2.5rem;
  }
.widget_nav_menu ul li.menu-item:first-child {
    margin-top: 0;
}

.wp-container-core-group-is-layout-c0d519fa {
    flex-direction: row !important;
    align-items: center;
}
.widget_nav_menu ul li.menu-item:not(:nth-child(5)) {
    margin-top: 0;
    padding-left: 0;
}
.widget_nav_menu ul {
    justify-content: start;
}
}
@media (max-width: 639px){
  figure.wp-block-image img {
    margin-left: auto;
    margin-right: auto;
}
  .widget_nav_menu :where(a){
    font-size: 1rem;
  }
  .widget_nav_menu ul {
    justify-content: center;
}
.wp-container-core-group-is-layout-c0d519fa {
    align-items: center !important;
}
.wp-block-group.footer_right_group {
    gap: 0.8rem;
}
.wp-block-group.footer_under_nav_group ul li {
    padding-right: 24px;
}
}


/* 採用ボタン */
.footer_btn,
a.footer_btn,
button.footer_btn{
  --btn-color: #187C7A;   
  --btn-bg: #fff;         
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-width: 200px;      
  height: 53px;

  padding: 12px 40px;
  border: 2px solid var(--btn-color);
  border-radius: 40px;

  background: var(--btn-bg);
  color: var(--btn-color);
  text-decoration: none;
  line-height: 1;       
  box-sizing: border-box;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .1s ease;
  opacity: 1;            
}
/* ホバー/フォーカス：色を反転 */
.footer_btn:hover,
.footer_btn:focus-visible{
  background: var(--btn-color);
  color: #fff;
  border-color: var(--btn-color);
}

@media (max-width: 1023px){
.footer_btn, a.footer_btn, button.footer_btn {
    margin-top: 1rem !important;
  }

}

/* ========== 固定フッター ========== */
.p-footer-sticky-nav .c-navbar__item > a {
	padding: 0.8rem;
	background-color: #187C7A;
	color: #fff;
	font-size: 1rem;
	font-weight: 600;
	border-radius: 30px;
}
.p-footer-sticky-nav {
	box-shadow: none;
	padding-bottom: 0.2rem;
	background: transparent;
}


/* ========== ドロワーメニュー ========== */
/* ドロワーメニュー 位置*/
/* 背景色 */
nav#drawer-nav {
    background-color: #FBF8F6;
}
/* 全体真ん中寄せ */
.c-drawer__inner {
    text-align: center;
}
/* ロゴ真ん中寄せ、サイズ */
.c-hsm-message-box.c-hsm-message-box_invert.p-hsm-drawer.c-blinking {
    max-width: 50%;
    margin: 0 auto;
        margin-top: 4rem;
    margin-bottom: 2rem;
}

/* 高さ調整 */
[id=drawer-nav].c-drawer--overall .c-drawer__inner {
    height: 100%;
}
/* メニューの文字 */
.c-drawer a{
    color: #3F3F3F !important;
    font-size: 1rem;

}