/*
Theme Name: 　ゆうゆうの里
*/

/*ベースの設定*/
html{font-size:62.5%; font-weight: 400; font-style: normal;}

:root {
  --content-brand-font: "Noto Sans JP", serif;
  --content-brand-font-en: "Oswald", sans-serif;
  --content-brand-font-min: "Noto Serif jp", serif;
  --content-brand-font-midashi: "Zen Old Mincho", serif;
  --content-brand-green: #37786e;
  --content-brand-purple: #b688bb;
  --content-brand-pink: #ed7fa2;
  --content-brand-lightgreen: #22b173;
  --content-brand-softgreen: #91b4b0;
  --content-brand-orange: #ffb041;
  --content-brand-softyellow: #fffde7;  
  --content-brand-lightgray: #f5f5f5;
  --content-brand-shadow: 1px 1px 5px rgba(0, 0, 0, .75);
}

html,body{width: 100%;}
body{ line-height: 1.5; overflow: hidden; font-family: var(--content-brand-font-min); font-weight: 400; font-size:1.6rem}
a{ text-decoration: none; transition: 0.5s; color: #000000;}
a:visited{}
a:hover img{ opacity: 0.8; transition: 0.5s ;}
a:hover,li:hover,input:hover,p:hover { transition: 0.5s ;}
img{ width:100%; display: block;}
a.btn-simple{ display: block; text-align: right; display: flex; align-items: center; justify-content: flex-end; position: relative;}
a.btn-simple::after{content: ''; width:0.75rem; height:0.75rem; display: block; border-right: 1px solid #000000; border-bottom: 1px solid #000000; transform: rotate(-45deg);}
a.btn-simple:hover{ color: #da3312;}
a.btn-simple:hover::after{ border-right: 1px solid #da3312; border-bottom: 1px solid #da3312;}
strong{font-weight: normal;}

.marker {background:linear-gradient(transparent 60%, #ff0 60%);}


/*トップページSVGアニメーション*/
/* パスは初期状態で非表示 */
  .draw-svg .cls-1 {
    opacity: 0;
    /* ここではダッシュ値は JS でセットするので省略 */
  }

  /* 準備完了＆描画開始クラス */
  .draw-svg .cls-1.ready {
    opacity: 1;
    /* 2秒かけてストロークを引く */
    transition: stroke-dashoffset 2s linear, opacity 0.3s ease-in;
  }

  .cls-1 {
    fill: none;
    stroke: #37786e;
    stroke-miterlimit: 10;
  }
/*装飾*/
.shutter{ opacity: 0;}
.is-visible{ opacity: 1;}
.is-visible.shutter{ position: relative;}
.is-visible.shutter:after{ content: ''; display: block; width:100%;height:100%; position: absolute; top:0; left:0; background-color: #ffffff; animation: shutter-open 1.5s ease-in-out forwards;transform-origin:100% 0}
@keyframes shutter-open{
    from {
    transform: scaleX(1);
  }
  to {
    transform: scaleX(0);
  }
}

.fade{ opacity: 0;}
.is-visible.fade{ position: relative; animation: fade-in 1.5s 0.5s ease-in-out forwards; opacity: 0;}
@keyframes fade-in{
    from {
    opacity:0;
    transform: translateY(-1rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.presentation{}
.slick-dots{ bottom:0}
.slick-dots li button{  display: flex; align-items:center}
.slick-dots li button:before{ top:0; left:0; right:0; bottom:0; margin:auto; font-size:2.4rem}


/*固定ボタン*/

/*BASE*/
.pagehead .inner{ max-width: 1100px; width:95%; margin:0 auto; padding: 1.5rem 0; font-size:1.4rem;}
.pagehead h1{ font-family: var(--content-brand-font); font-weight: 400; margin-bottom: 1.5rem;}
.pagehead .wrap{display: flex; justify-content: space-between; align-items: flex-end;}
.pagehead .branding{ font-size:1.4rem; width:22%}
.pagehead .branding i{ display: block; color: var(--content-brand-green);}
.pagehead .menu{ display: flex; justify-content: space-between; font-family: var(--content-brand-font);}
.pagehead .header-navi{width:75%; }
.pagehead .header-navi li a{ padding:0.5rem; border-bottom:2px solid #ffffff; font-weight: 500; font-size:1.5rem; font-feature-settings: "palt";}
.pagehead .header-navi li a:hover{ border-bottom:2px solid var(--content-brand-green)}
.pagehead .header-navi li.parent .child{ display: none; position: relative;}
.pagehead .header-navi li.parent:hover .child{ display: block; position: absolute; z-index: 5; background-color: rgba(255, 255, 255, .75); padding:0.5rem;}
.pagehead .header-navi li.parent:hover .child a{ display: flex; align-items: center;}
.pagehead .header-navi li.parent:hover .child a::before{content:''; background-color: var(--content-brand-green); width:0.75rem; height:1.0rem; display: block; clip-path: polygon(0 0, 100% 50%, 0 100%); margin-right: 0.5rem;}

.bc{ max-width: 1100px; width:95%; margin:0 auto 2.5rem auto; font-size:1.4rem;}
.site-footer{ background-color: var(--content-brand-softyellow);}
.site-footer .inner{ max-width: 1100px; width:95%; margin:0 auto; display: flex; justify-content: space-between; padding:5.0rem 0}
.site-footer .data{ width:25%;}
.site-footer .data dt i{ display: block; margin-bottom: 0.5rem; font-size:1.8rem}
.site-footer .data .location{ font-size:1.6rem; white-space: nowrap;}
.site-footer .data .tel { font-size:1.6rem; text-align: right; margin-bottom: 2.5rem;}
/*
.site-footer .data .tel { font-size:2.0rem; color: var(--content-brand-green);}
.site-footer .data .tel a{ font-size:3.6rem; color: var(--content-brand-green); letter-spacing: 0.1rem; white-space: nowrap;}
*/


.site-footer .data .groupe_link a{ border: 1px solid var(--content-brand-green); color: var(--content-brand-green); font-family: var(--content-brand-font); font-weight: 500; display: block; text-align: center; padding:0.5rem 0; font-feature-settings: "palt"; font-size:1.5rem}
.site-footer .data .groupe_link a:hover{ background-color: var(--content-brand-green); color: #ffffff;}
.site-footer .footernavi{ display: flex; width:fit-content; font-family: var(--content-brand-font); letter-spacing: 0.15rem;}
.site-footer .footernavi .parent-list{ width:fit-content; padding:0 1.5rem}
.site-footer .footernavi .parent-list>li{ margin-bottom:1.25rem; font-size:1.4rem; line-height: 2.3;}
.site-footer .footernavi .parent-list>li>a{ border-left:0.5rem solid var(--content-brand-green) ;line-height: 1; padding-left: 0.5rem;}

.site-footer .footernavi .child{ padding:0.5rem 0 0 0}
.site-footer .footernavi .child>li{ padding:0.5rem 0 0 0; font-size:1.2rem; padding-left: 1.0rem; line-height: 1.55;}
.site-footer .footernavi .child>li i{ color: var(--content-brand-softgreen);}
.site-footer iframe{ display: block; width:35%;}
.site-footer .bottom-data{ padding:2.5rem 0; border-top: 1px solid #c6c6c6; background-color: #666666; color: #ffffff;}
.site-footer .bottom-data .wrap{ max-width: 1100px; width:95%; margin:0 auto; display: flex; justify-content: space-between; font-size:1.2rem }
.site-footer .bottom-data a{ color: #ffffff;}
.std{ font-size:2.7rem; font-weight: 500; text-align: center; position: relative;}
.std i{ display: block; font-size:1.8rem; position: absolute; top:-2.7rem; margin: auto; left:0; right:0; font-weight: 500;}
.std+figure+p{ font-size:1.8rem}
.std2 { font-size:2.7rem; font-weight: 500; text-align: center; position: relative; text-align: center; color: var(--content-brand-orange); border-bottom:1px solid var(--content-brand-orange); padding:1.5rem 0; width:min(90%,700px); margin: 0 auto 2.5rem auto; display: flex; align-items:center; justify-content: center; letter-spacing: 0.25rem;} 
.std2 i{ display: block; font-size:1.6rem; margin:0 1.5rem; font-weight: 500;}
.std2 small{font-size: 1.4rem; margin: 0 1.5rem; }
.std2+p{ font-size:1.8rem}
.list-std{ width:95%; max-width:1000px; margin:0 auto; display: flex; flex-wrap: wrap; justify-content: space-between;}
.list-std li{ width:31%; margin-bottom:5rem; text-align: center; font-size:1.6rem;}
.list-std li img{ margin-bottom: 1.5rem;}
.list-std li strong{ display: block; font-size:1.8rem; margin-bottom: 1.5rem;}
.list-std li a{ width:90%; margin: 0 auto; justify-content: flex-end; font-size:1.4rem; color: var(--content-brand-green);}
.list-std li a::after{border-color: var(--content-brand-green);}

.fix-bottom{ display: flex; width:24rem; justify-content: space-between; position: fixed; bottom:2.5rem;right:2.5rem; z-index: 1000;}
.fix-bottom a{ display: block; width:47.5%; aspect-ratio: 1 / 1; border-radius:50%; box-shadow: 3px 3px 5px rgba(0, 0, 0, .5);}
.fade-up {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}
.fade-up.show {
  opacity: 1;
  transform: translateY(0);
}


/*TOP*/
.slick-slide{ aspect-ratio: 1740 / 1307;}
.topview{ display: flex; align-items:center}
.topview .slider{ width:62.14%;overflow: hidden;}
.topview .slider img{ border-radius:0 2.5rem 2.5rem 0}
.topview .catchcopy{ width:37.86%; display: flex; justify-content: center; flex-direction: column; align-items: center;}
.topview .catchcopy h2{ font-size:4.5rem; font-family: var(--content-brand-font-midashi); line-height: 1.5; margin-bottom: 2.5rem; font-weight: 400; font-feature-settings: "palt";}
.topview .catchcopy h2 i{ color: var(--content-brand-green); display: inline-block;}
.topview .catchcopy h2 i::first-letter{ color: var(--content-brand-green); letter-spacing: 0.5rem;}
.topview .catchcopy p{ font-weight: 400; line-height: 2; font-size: 2.0rem; letter-spacing: 0.15rem;}
.theme-text{ font-size: 3.0rem; text-align: center; padding:5.0rem; position: relative; color: var(--content-brand-green); font-family: var(--content-brand-font-midashi); letter-spacing: 0.25rem;}
.theme-text svg{ position: absolute; width: 100%; bottom:-5.0rem; left:0}

.top_pr { padding:5.0rem 0; position: relative;}
.top_pr svg{ position: absolute; width: 100%; bottom:45%; left:0;}
.top_pr .inner{ width:98%; max-width:1100px; margin: 0 auto;}
.top_pr .block{ display: flex; align-items: center; padding:5.0rem 0}
.top_pr .block:nth-child(even){ flex-direction:row-reverse;}
.top_pr .block figure{ width:50%; margin:0 2.5rem}
.top_pr .text{ width:50%; display: flex; justify-content: center;}
.top_pr dl{ width: fit-content; position: relative; z-index: 2;}
.top_pr dt{ font-size:4.0rem; line-height: 1.1;font-feature-settings: "palt", "kern"; white-space: nowrap; margin-bottom:1.5rem; font-family: var(--content-brand-font-midashi); font-size:3.4rem; line-height: 1.5; margin-bottom: 5.0rem; letter-spacing: 0.25rem; font-weight: 400;}
.top_pr dt i{ font-size:3.0rem; display: block; color: var(--content-brand-green);}
.top_pr dd { width:fit-content; line-height: 1.8; font-size:1.8rem}
.top_pr dd a{ margin-top: 1.5rem;}
.top_pr_list { background-color:var(--content-brand-softyellow); padding:5.0rem 0 2.5rem 0; margin-bottom: 5.0rem; position: relative;}
.top_pr_list svg{ width:12.85%; max-width:180px; position: absolute; bottom:5.0rem; right:-2.5rem}
.top_pr_list ul{ display: flex; justify-content: space-between; width:98%; max-width:1100px; margin: 0 auto; }
.top_pr_list li{ width:30%; text-align: center;}
.top_pr_list li figcaption{ font-size:2.0rem; padding: 1.5rem; line-height: 1.5; font-family: var(--content-brand-font-midashi); font-weight: 400;;}
.top_pr_list li figcaption i{ display: block; color: var(--content-brand-green); font-size:1.8rem;}
.top_pr_list li p{ font-size: 1.6rem; width:fit-content; margin:0 auto}
.top_pr_list li p a{ padding: 1.5rem 0;}
.top_news .inner{ width:98%; max-width:1100px; margin: 0 auto; display: flex; align-items: center; padding: 2.5rem 0; background-color: var(--content-brand-lightgray);}
.top_news h2{ padding:0 2.5rem; font-size:2.4rem; color: #37786e; text-align: center; font-weight:400;}
.top_news h2 i{ display:block; font-size: 1.2rem;}
.top_news h2 a{ display: block; font-size: 1.0rem;}
.top_news h2 a i{color: var(--content-brand-green); display: inline-block; margin-right: 0.5rem;}
.top_news ul{ padding:0 2.5rem; border-left: 1px solid var(--content-brand-green);}
.top_news li{ padding:0.5rem 0}
.top_guidance .inner{ width:80%; max-width:800px; margin: 0 auto; padding:5.0rem 0}
.top_guidance .inner img{ height: auto;}
.top_guidance svg{ margin-bottom: 2.5rem;}

/*固定ページ*/
.bcwrap{ display: flex; align-items: center;}
.bcwrap .parent{ display: none!important;}
.bcwrap .cf{ display: flex;}
.about .introduction{ text-align: center; margin-bottom: 5.0rem;}
.about .introduction dt{ font-size:4.0rem; color:var(--content-brand-green) ;font-family:  var(--content-brand-font-midashi); width:fit-content; margin:0 auto 2.5rem auto}
.about .introduction dt small{ display: block; font-size:1.6rem; font-family: var(--content-brand-font); font-weight:400; text-align: right; color: #000000; padding-right: 2.5rem;}
.about .introduction dd{ font-size:2.5rem;}
.about .description .text{ font-size:1.6rem; line-height: 2; text-align: center; margin-bottom: 5.0rem;}
.about .description .image{ width:90%; max-width:710px; margin:0 auto 50px auto}
.about .description .image video{width:100%}
.about .detailed-info { padding:5.0rem 0}
.about .detailed-info dl{ max-width:700px; width:90%; margin:0 auto 5.0rem auto;}
.about .detailed-info dt,
.about .detailed-info dd{ padding:0.8rem; border-bottom:1px solid var(--content-brand-green)}
.common-list { padding-bottom: 5.0rem;}
.facility .description { padding-bottom: 5.0rem;}
.facility .description p{ text-align: center; line-height: 2;}
.facility-list{ padding:5.0rem 0}
.residence .description { padding-bottom: 5.0rem;}
.residence .description p{ text-align: center; margin-bottom: 5.0rem; line-height: 2;}
.residence .inpage-navi{ display: flex; max-width: 84.3rem; margin:0 auto; justify-content: space-between;}
.residence .inpage-navi li { width:30%;}
.residence .inpage-navi li a{ display: flex;align-items: center; justify-content: center; flex-direction: column; background-color: #f69f26; color: #ffffff; text-align: center; height: 100%; width:100%}
.residence .inpage-navi i{ display: block; color: #ffffff; text-align: center; background-color: #f2702e; padding:0.5rem 0; width:100%}
.residence .inpage-navi strong{ display: block; width:100%; padding:1.5rem 0}
.residence .inpage-navi .kaigo a{ background-color: #9a7549;}
.residence .inpage-navi a:hover { opacity: 0.75;}
.residence-list { padding-bottom:5.0rem; }
.residence-type{ padding-bottom: 5.0rem;}
.residence-list .std2+p{ text-align: center;}
.residence-list .slider{ padding:2.5rem 0}
.residence-list .slider figure{ padding:1.5rem}
.residence-list .rich_content{ width:90%; max-width:600px; margin:0 auto 5.0rem auto; display: flex; justify-content: space-between; text-align: center;}
/*テスト設置*/
.residence-list .rich_content a{ display: block;}
.residence-list .rich_content img{ height:19rem; margin-bottom: 1.5rem;}
.residence-list li{ padding:1.0rem; cursor: pointer;}
/* /テスト設置 */
.residence-list .layout-list{ width:90%; max-width:600px; margin:0 auto 5.0rem auto; display: flex; text-align: center; justify-content: center;}
.residence-list .layout-list li{ padding:0.75rem; width:calc(25% - 1.5rem); cursor: pointer;}
.residence-list .layout-list li img{ border: 1px solid #dddddd;}
.residence-list .kaigo .std2{ color: #9a7549; border-color: #9a7549;}
.residence-list .kaigo figure{ max-width: 700px; width:95%; margin: 0 auto; padding:2.5rem 0}
.residence-list .note{ width:90%; max-width:900px; margin:0 auto}
.residence-list .note p{ display: flex; line-height: 1.8;}
.residence-list .note a{ color: var(--content-brand-green); text-decoration: underline;}
.common .description p{ text-align: center; margin-bottom: 5.0rem; line-height: 2;}
.meals .description p{ text-align: center; margin-bottom: 5.0rem; line-height: 2;}
.meals .common-list .banner{ max-width:640px; width:95%; margin:0 auto 2.5rem auto;}
.services .description { padding-bottom:5.0rem}
.services .description p{ text-align: center; margin-bottom: 5.0rem; line-height: 2;}
.services .inpage-navi{ display: flex; max-width: 94.2rem; margin:0 auto; justify-content: space-between;}
.services .inpage-navi li { width:24%;}
.services .inpage-navi li a{ display: flex; align-items: center; justify-content: center; flex-direction: column; background-color: #f2702e; color: #ffffff; text-align: center; height: 100%; width:100%; font-size:1.6rem; height: 6.0rem;}
.services .inpage-navi a:hover { opacity: 0.75;}
.service-list { padding: 5.0rem 0;}
.service-list .std2+p{ text-align: center; margin-bottom: 2.5rem;}
.service-list .pic-list{ width:90%; max-width:600px; margin:0 auto; display: flex; justify-content: space-around; text-align: center; flex-wrap: wrap;}
.service-list .pic-list li{ width:48%; margin-bottom: 1.5rem;}
.service-item{ padding:0 0 5.0rem 0}
.service-item figure{ width:min(90%, 640px); margin: 0 auto;}
.activities .description p{ text-align: center; margin-bottom: 5.0rem; line-height: 2;}
.fees .description p{ text-align: center; margin-bottom: 5.0rem; line-height: 2;}
.fee-table{ padding:5.0rem 0}
.fee-table .table-block{ max-width:1000px;width:95%; margin:0 auto 5.0rem auto}
.fee-table .table-block .note{ text-align: right; font-family: var(--content-brand-font); font-size:1.4rem; font-weight: 400;}
.fee-table .table-block table{ width:100%}
.fee-table .table-block th,
.fee-table .table-block td{ padding:1.5rem 0; border:1px solid #666666; font-family: var(--content-brand-font); text-align: center; vertical-align: middle;}
.fee-table .table-block thead{ background-color: #dcdcdc;}
.fee-table .table-block thead th{ width:calc(100% / 6)}
.fee-table .table-block th{ font-weight: 600;}
.fee-table .table-block tbody th{ background-color: #f2f2f2;}
.gray-tr{ background-color: #dcdcdc;}
.harf-table-block{ max-width:1000px; width:95%; margin:0 auto 5.0rem auto; display: flex; justify-content: space-between; font-family: var(--content-brand-font); align-items: center;}
.harf-table-block h4{ font-size:1.8rem; margin-bottom: 1.5rem;}
.harf-table-block .table-box{ width:50%;}
.harf-table-block .table-box table{ width:100%; margin-bottom: 2.5rem;}
.harf-table-block .table-box table th,
.harf-table-block .table-box table td{ width:50%; border: 1px solid #666666; padding:1.5rem 0; text-align: center;}
.harf-table-block .table-box table th{ background-color: #f2f2f2; vertical-align: middle;}
.harf-table-block .text{ width:45%; line-height: 2;}
.harf-table-block .text p{ margin-bottom: 2.5rem;}
.text-block{ max-width:1000px; width:95%; margin:0 auto 5.0rem auto; font-family: var(--content-brand-font);}
.text-block h4{ font-size:1.8rem; margin-bottom:1.5rem}
.text-block p{ margin-bottom: 2.5rem; line-height: 2;}
.harf-table-block .table-box table.cols-3 th,
.harf-table-block .table-box table.cols-3 td{ width:calc(100% / 3); vertical-align: middle;}
.voice-list{ padding:5.0rem 0; max-width:1000px; width:95%; margin:0 auto }
.voice-list li{ margin-bottom: 5.0rem;}
.voice-list li h3{ font-size:2.7rem; font-weight: 500; color: var(--content-brand-orange); margin-bottom: 2.5rem; transform: translateX(-1.5rem);}
.voice-list li .wrap{ display: flex; justify-content: space-between;}
.voice-list li figure{ width:27%;}
.voice-list li figure img{ height: auto;}
.voice-list li .post-content{ width:70%; line-height: 2;}
.voice-list li .voice_data{ font-size:1.4rem; line-height: 1.5; padding:1.0rem 0; border-top:1px solid var(--content-brand-softgreen); border-bottom:1px solid var(--content-brand-softgreen); margin-bottom: 1.5rem;}
.voice-list li .post-content img{ float: right; margin:0 0 0 1.5rem}
.voice-list li .post-content p{ font-size:1.8rem;}

.access .description { padding-bottom: 5.0rem;}
.access .introduction{ text-align: center; margin-bottom: 5.0rem;}
.access .introduction dt{ font-size:2.4rem; margin-bottom: 2.5rem;}
.access .introduction dd{ font-size:1.8rem; line-height: 2}
.access .description .googlemap{ width:90%; max-width:1000px; margin:0 auto 5.0rem auto}
.access .description .googlemap iframe{ display: block; width:100%; height:400px}
.access .description .accessmap{ width:90%; max-width:1000px; margin:0 auto 5.0rem auto}
.access .description .accesslist{ width:90%; max-width:1000px; margin:0 auto 5.0rem auto}
.access .description .accesslist h4{ font-size:1.8rem; font-weight: 500; margin-bottom: 1.5;}
.access .description .accesslist ul{ margin-bottom: 2.5rem;}
.access .description .accesslist li{ line-height: 2;}
.access .description .shuttle-bus h3+p{text-align: center; margin-bottom: 2.5rem; line-height: 2;}
.access .description .shuttle-bus { width:90%; max-width:800px; margin:0 auto 5.0rem auto}
.contact .description { padding-bottom: 5.0rem;}
.contact .description .note{ width:90%; max-width:800px; margin:0 auto 5.0rem auto; line-height: 2;}
.contact .description .note a{ color: var(--content-brand-green); text-decoration: underline;}
.pickup_guidance{ width:90%; max-width:800px; margin:0 auto; padding:5.0rem 0}
.pickup_guidance figure img{ height: auto;}
.select_guidance{ width:90%; max-width:800px; margin:0 auto; padding:5.0rem 0}
.select_guidance li{ padding:2.5rem 0;}
.select_guidance dt{ font-size:2.1rem; display: flex; justify-content: space-between; padding-bottom: 1.5rem; flex-wrap: wrap;}
.select_guidance dt .guidance-title{ font-weight: 400; width:80%}
.select_guidance dt .reserve-btn{ font-size:1.4rem; background-color: var(--content-brand-orange); color: #ffffff; border-radius: 0.75rem; justify-content: space-between; align-items: center; padding: 1.0rem 1.5rem; display: flex; font-family: var(--content-brand-font); font-weight: 600; width:calc(20% - 3.0rem); justify-content: center;}
.select_guidance dd{ font-family: var(--content-brand-font);}
.select_guidance dd.data{ display: flex; justify-content: space-between; border-bottom: 1px solid #dcdcdc; padding-bottom: 1.5rem; margin-bottom: 0.5rem;}
.select_guidance dd .guidance-schedule{ width:35%; font-weight: 400;}
.select_guidance dd .guidance-info{ width:64%; display: flex; flex-wrap: wrap;}
.select_guidance dd .guidance_start{ width:100%; font-size:1.4rem; font-weight: 400; border-bottom: 1px dotted #c6c6c6; padding-bottom: 0.5rem; margin-bottom: 0.5rem;}
.select_guidance dd .guidance_capacity{ width:50%; font-size:1.4rem; font-weight: 400;}
.select_guidance dd .guidance_fee{ width:50%; font-size:1.4rem; font-weight: 400;}
.select_guidance dd.guidance_remarks{ font-size: 1.2rem;}
.guidance_reserve dl.box{ padding:1.0rem 0; text-align: center;}
.guidance_reserve dl.box dt{ font-weight: 400; font-size: 1.4rem; background-color: #c6c6c6;}
.guidance_reserve dl.box dd.guidance_schedule{ background-color: #f2f2f2; padding:0.5rem; font-weight: 600;}
.guidance_reserve dl.box dd.guidance_schedule br{display: block;}
.guidance_reserve dl.box dd small{ font-size:1.2rem; display: block;}
.guidance_reserve dl.box dd .field-note{ display: block; font-weight: 400; padding: 1rem 0;}





/*フォーム*/

div.wpcf7{ width:calc(95% - 50px); max-width:800px; background-color: #ffffff; padding:25px; border-radius:25px; margin:0 auto}
.wpcf7-form{ width:100%; margin: auto;}
.wpcf7-form p.note{ font-size:12px; padding: 15px 0; text-align: right;}
.wpcf7-form p.note i{ color: #da3312;}
.wpcf7-form table{ width: 100%; font-family: var(--content-brand-font);}
.wpcf7-form table th,.wpcf7-form table td{ padding: 1.5rem; vertical-align: top; border-bottom: 1px solid #dcdcdc;}
.wpcf7-form table th{ width:20.0rem; position: relative; font-weight: bold; position: relative; padding-left:4.0rem}
.wpcf7-form table th i{ background-color: #da3312; font-size:1.2rem; display:inline-flex; padding:0.5rem; line-height: 1; color: #ffffff; border-radius: 0.25rem; position: absolute; left:0; top:1.5rem}
.wpcf7-form table th span{ position: absolute; right:15px; display: inline-block; padding: 5px; line-height: 1; color: #da3312; border-radius:5px; font-size: 12px;}
.wpcf7-form table td br{ display: none;}
.wpcf7-form table td i{ display: inline-block; width:130px; text-align: right; margin-right: 5px;}
.your-zipcode,.your-address1,.your-address2{ display: flex; margin-bottom:5px; width:100%; align-items: center; justify-content: space-between;}
.wpcf7-form textarea{ height: 100px;}
.wpcf7-form .privacy{ text-align:center;}
.wpcf7-form .privacy input{ display: block; width:20px; margin:15px auto 5px auto}
.wpcf7-form-control.wpcf7-date.wpcf7-validates-as-date{ font-size:1.8rem; padding:0.5rem}
.wpcf7-form .your-age input{ width:10.0rem!important}
.wpcf7-form .zip-code input{ width:10.0rem!important}
.wpcf7-form input[type="text"],.wpcf7-form input[type="email"],.wpcf7-form textarea{ padding:5px; font-size:18px; width:calc(100% - 12px); border:1px solid #666666;}
.wpcf7-form select{ font-size:1.8rem; padding:5px; margin-bottom: 1.5rem;}
.wpcf7-form .submit{ text-align: center; padding: 25px;}
.wpcf7-form .submit input{ display: block; margin:0 auto; border-radius: 5px; padding:15px 50px; font-size:18px; color: #ffffff; cursor: pointer; background-color:var(--content-brand-orange); border:none}
.wpcf7-form .submit input:hover{ background-color: #e0e0e0; color: #000000;}
.satei .contact-box{ margin-bottom:50px}
.wpcf7-form.invalid .bukken-sonota,.wpcf7-form.invalid .bukken-sonotariyuu{ margin: 0;}
.wpcf7 form .wpcf7-response-output{margin: 2em 0 1em; padding: 15px; border-radius: 15px; text-align: center; font-size:18px; font-weight:bold; background-color: #fbe2cb;}
.bukken-syurui .wpcf7-not-valid-tip,.bukken-riyuu .wpcf7-not-valid-tip{ display: inline-block;}
.wpcf7-not-valid{ background-color: #fbe2cb; }

.wpcf7-form .notice{ text-align: center; background-color: var(--content-brand-pink); padding:1.5rem 0; font-family: var(--content-brand-font); font-weight: 600; color: #ffffff;}
.wpcf7-form .notice strong{ font-size:2.4rem; font-weight: 600; display: inline-block; margin:0.5rem 0}



/*投稿ページ*/

.single .main-eyecatch {width:90%; max-width:800px; margin:0 auto; padding-bottom: 2.5rem;}
.single .main-eyecatch img{ width: 100%; height:auto; display:block}
.single .entry-header{ text-align:center;}
.single .entry-header .data{ display: flex; align-items: center; justify-content: center;}
.single .entry-header .date{ font-size:1.8rem;}
.single .entry-header .category{ font-size:1.6rem; background-color: var(--content-brand-lightgreen); color: #ffffff; padding:0.25rem; line-height: 1; margin:0 0.5rem}
.single .entry-header h1{ font-size:3.2rem; width:90%; margin:0 auto 2.5rem auto;}
.single .entry-header h1 strong{ font-weight: 600;}
.single .entry-header h1 i{ font-size:20px; display: block; color: #000000; padding:15px 0 25px 0}
.single .normal { padding:0 0 50px 0;}
.single article section{ width:90%; max-width:800px; margin:2.5rem auto}
.single article section p{ padding-bottom: 25px; font-size:16px; line-height: 1.8;}
.single article h2{ font-size:24px; font-weight: bold; padding-top: 25px; margin-bottom:25px; font-family:'Noto Serif JP', 'Noto Serif Japanese', "游明朝", YuMincho, 'Noto Serif JP', serif, sans-serif; }
.single article h3{ font-size:20px; font-weight: bold; margin:15px 0; border-bottom:1px solid #000000; padding-bottom: 2px;}
.single article img{ height: auto;}
.single article h4{ font-size:18px; font-weight: bold; color:#000000; padding-top: 15px; margin-bottom:15px}
.single article h5{ font-size:16px; font-weight: bold; padding-top: 15px; margin-bottom:15px}
.single article ul{ padding:0 25px; margin-bottom:15px}
.single article li{ list-style-type: disc;}
.single article table{ margin-bottom:25px}
.single .wp-block-buttons{ text-align: center;}
.single .wp-block-file { text-align: center;}
.single .wp-block-file a:first-child{display: none;}
.navi-single {max-width:800px; width:90%; margin:0 auto; padding:25px 0; display: flex; justify-content: center;}
.navi-single a{ font-size:16px; color: #000000;}
.single .content-area{ border-bottom:1px solid #dddddd; padding-bottom:50px}


/*投稿一覧ページ*/
.archivecontent{ width:95%; max-width:1000px; margin:0 auto; padding:5.0rem 0;}
.archivecontent .archive-list ul{ width:100%; margin:0 auto}
.archivecontent .archive-list li{ margin-bottom:2.5rem; border-bottom: 3px dotted var(--content-brand-green); padding-bottom:2.5rem}
.archivecontent .archive-list li .wrap { display: flex; align-items: center; justify-content: space-between;}
.archivecontent .archive-list li .wrap figure img{ object-fit: cover; aspect-ratio: 1 / 1;}
.archivecontent .archive-list li .wrap figure{ min-width:18.0rem; max-width: 18.0rem;}
.archivecontent .archive-list li .wrap figure .dummy{ border:0.1rem solid var(--content-brand-green) }
.archivecontent .archive-list li .wrap .text{ width:calc(100% - 22.5rem)}
.archivecontent .archive-list li .data{ display: flex; align-items: center;}
.archivecontent .archive-list li .date{ font-size:1.8rem;}
.archivecontent .archive-list li .category{ font-size:1.6rem; background-color: var(--content-brand-lightgreen); color: #ffffff; padding:0.25rem; line-height: 1; margin:0 0.5rem}
.archivecontent .archive-list li .new-post{ font-size:1.8rem; color: #ff0000;}
.archivecontent .archive-list h3{ font-size:2.4rem; font-weight: 400; padding:0.75rem 0}
.archivecontent .archive-list h3 a{ display: block; width:100%; color: #000000;}
.archivecontent .archive-list li a.btn-simple{ justify-content: flex-start; padding-top:1.5rem; font-size:1.4rem; color: var(--content-brand-green);}
.archivecontent .archive-list li a.btn-simple::after{ border-color: var(--content-brand-green);}
.category .pagebottom{ position: absolute; bottom:0; width:100%}
.category .pagebottom img{ display: block; width:100%}
.category .archivecontent section{ z-index: 10; position: relative;}
.link-more{ display: none;}
.blog-wrap{ display: flex; justify-content: space-between; width:95%; max-width:1000px; margin:0 auto; }
.blog-wrap .archivecontent{ width:70%;}
.blog-wrap .archive-navi{ width:25%; padding: 5.0rem 0;}
.blog-wrap .archive-navi h4{ font-size:1.8rem; font-weight: 400; margin-bottom: 0.5rem; color: var(--content-brand-green);}
.blog-wrap .archive-navi ul{ margin: 0 0 2.5rem 0;}
.blog-wrap .archive-navi li{ padding:1.0rem; border-bottom: 1px dotted var(--content-brand-green); display: flex; align-items: center;}
.blog-wrap .archive-navi li:before{ content: ''; background-color: var(--content-brand-green); display: block; width:1.0rem; height:1.4rem; clip-path: polygon(0 0,100% 50%, 0 100%); margin-right: 0.5rem;}

.pagenation li{ padding:0.75rem}
.pagenation li.active{ background-color: transparent; color: #000000; padding:0.75rem}
.pagenation li a{ background-color: transparent; color: #000000; padding:0.75rem}
.pagenation li.next a{ color: #ffffff; text-shadow:none; position: relative; width:1.5rem; height: 2rem; padding: 0;}
.pagenation li.next a:before{ content: ''; display: block; width:1.5rem; height: 2rem; background-color: var(--content-brand-green); display: block; clip-path: polygon(0 0,100% 50%,0 100%); position: absolute;left:0; top:0.25rem}
.pagenation li.next a:hover{ background-color: #ffffff;}
.pagenation li.prev a{ color: #ffffff; text-shadow:none; position: relative; width:1.5rem; height: 2rem; padding: 0;}
.pagenation li.prev a:before{ content: ''; display: block; width:1.5rem; height: 2rem; background-color: var(--content-brand-green); display: block; clip-path: polygon(0 50%,100% 0,100% 100%); position: absolute;right:0; top:0.25rem}
.pagenation li.prev a:hover{ background-color: #ffffff;}



/*404*/
.error-404 { padding:10.0rem 0}
.error-404 h1{ text-align: center; font-size: 3.2rem; color: #000000; margin-bottom:2.5rem; font-family: var(--content-brand-font); font-weight: 400;}
.error-404.not-found .button{ width:50%; max-width:40rem; margin:0 auto; color: #ffffff;}


/*==============================================
●PC版非表示
===============================================*/
.sp{ display:none!important;}







/*===============================================
●レスポンシブ  画面の横幅が1080pxまで
===============================================*/
@media screen and (max-width:1200px){
html{font-size:1vw}
/*.site-footer .data .tel a{font-size:3.0rem}*/
.site-footer .data .location{ font-size:1.3rem}
}


/*===============================================
●レスポンシブ  画面の横幅が880pxまで
===============================================*/
@media screen and (max-width:880px){
}


/*===============================================
●レスポンシブ  画面の横幅が660pxまで
===============================================*/
@media screen and (max-width:660px){
html{font-size:2.3vw}
body{ min-width:320px; background-image:none; font-size:1.8rem}
img{
max-width: 100%;
height: auto;
width /***/:auto;
}
.pc{ display:none!important;}
.sp{ display:block!important;}
.bc{ display: none;}
.pagehead .branding{ width:80%;}
.topview .slick-slide{ aspect-ratio: 707 / 853;}
.site-footer .bottom-data .wrap{ flex-direction: column; align-items: center;}
.site-footer .data .location{ font-size:1.8rem}
.site-footer .data .groupe_link a{ font-size:1.8rem}
.site-footer .bottom-data .wrap{ font-size:1.4rem}

.topview{ display: block; position: relative;}
.topview .slider{ width:95%}
.topview .catchcopy{ width:100%; letter-spacing: 1rem; padding: 10rem 0 0 0;}
.topview .catchcopy p{ letter-spacing: 0.5rem;}
.topview svg{ position: absolute; bottom:35%; width:100%}
.theme-text svg{ bottom:0}

.top_pr .block{ flex-direction: column-reverse!important;}
.top_pr dl{ width:fit-content; margin:0 auto;}
.top_pr dt{ font-size:3.0rem; margin-bottom: 2.5rem;}
.top_pr dd{ margin: 0 auto; font-size:2.0rem}
.top_pr .block figure{ width:80%; margin:0 auto 5.0rem auto}
.top_pr svg{ width:30%; left:auto; right: -1.5rem; bottom:52.5%}
.top_pr_list ul{ display: block; width:80%; margin:0 auto;}
.top_pr_list li{ width:100%; margin-bottom: 2.5rem;}
.top_pr_list li figcaption i{ font-size:2.0rem;}
.top_pr_list li figcaption{ font-size:2.4rem;}
.top_pr_list li p{ font-size:1.8rem}
.top_pr_list svg{ width:30%; bottom:15%}
.top_news .inner{ display: block;}
.top_news ul{ border:none; padding:1.5rem 1.5rem 0 1.5rem; margin:0 auto; width: fit-content;}
.top_news li { margin-bottom: 2.5rem;}
.top_news li .date{ display: block;}
.top_guidance .inner{ width:95%}
.top_pr_list li figcaption i
.top_news h2{ font-size:2.8rem}
.top_news h2 i{ font-size:1.6rem}
.top_news h2 a{ font-size:1.6rem}
.page-mv img{ height: 30vh; object-fit: cover;}
.description .std{ padding:2.5rem 0}
.description .std+figure{ margin-bottom: 5.0rem;}
.about .introduction{ padding:5.0rem 0}
.list-std li{ width:48%}
.list-std li a{ font-size:1.6rem}
.list-std li strong{ font-size:2.0rem}
.residence .inpage-navi{ width:95%}
.residence-list .rich_content img{ height: auto;}
.residence-list .layout-list { flex-wrap: wrap; width:80%}
.residence-list .layout-list li{ width:calc(50% - 1.5rem);}

.std i{ top:0}
.services .inpage-navi{ width:90%; flex-wrap: wrap;}
.services .inpage-navi li.service-item{ width:49%; padding-bottom: 0.75rem;}
.services .inpage-navi li.service-item a{ padding:1.0rem 0}
.std2{ display: block;}
.std2 small{ display: block;}
.voice-list{ width:90%;}
.voice-list li h3{ transform: translateX(0);}
.voice-list li .wrap{ clear: both; display: block;}
.voice-list .wrap figure{ width:100%; margin-bottom: 1.5rem; display: flex; justify-content: center;}
.voice-list .wrap .post-content{ width:100%}
.access .description .googlemap iframe{ height:30.0rem}
.wpcf7-form th{ display: block; width:calc(100% - 5.5rem)!important; border-bottom:none!important; padding-bottom:0!important}
.wpcf7-form table th br{ display: none;}
.wpcf7-form td{ display: block; width:calc(100% - 3.0rem); margin-bottom: 1.5rem;}
.guidance_reserve dl.box dd.guidance_schedule{ font-size:2.1rem}
.select_guidance dt .guidance-title{ display: block; width:fit-content}
.select_guidance dt .reserve-btn{ width:fit-content; margin: 0 0 0 auto;}
.select_guidance dd.data{ display: block;}
.select_guidance dd .guidance-schedule{ width:100%; margin-bottom: 1.5rem;}
.select_guidance dd .guidance-info{ width:100%;}
.select_guidance dd .guidance_start{ margin-bottom: 1.5rem;}

.site-footer .inner{ flex-direction: column; align-items: center;}
.site-footer .data{ width:80%; text-align: center; margin-bottom: 2.5rem;}
.site-footer .data{ width:80%}
.site-footer .footernavi{ display: none;}
.site-footer iframe{ width:100%; height:90vw}
/*.site-footer .data .tel{ padding:1.5rem 0; font-size:3.0rem; transform: translateX(-2.5rem);}*/
/*.site-footer .data .tel a{ font-size:5.0rem }*/

.archivecontent .archive-list li .wrap{ flex-direction: column;}
.archivecontent .archive-list li .wrap figure{ width:80%; margin:0 auto 2.5rem auto}
.archivecontent .archive-list li .wrap .text{ width:75%}
.archivecontent .archive-list li a.btn-simple{ font-size:1.6rem; justify-content: flex-end;}

.blog-wrap{ display: block; }
.blog-wrap .archivecontent{ width:100%;}
.blog-wrap .archive-navi{ width:100%; padding: 5.0rem 0; display: flex; justify-content: space-between;}
.blog-wrap .archive-navi h4{ font-size:1.8rem}
.blog-wrap .archive-navi .block{ width:48%}
.category-news .archivecontent .data{ position: relative;}
.category-news .archivecontent .data .new-post{ position: absolute; left:0; top:-2.0rem}

.fix-bottom{ width:95%; margin:0 auto; right:2.5%; bottom:1.5rem; justify-content: center;}
.fix-bottom a{ width:45%; margin:0 0.75rem; aspect-ratio: 264 / 84; border-radius: 2.5rem; box-shadow: 3px 3px 5px rgba(0, 0, 0, .5);}
.site-footer .bottom-data{ padding-bottom:7.5rem}

}

/*メニューレイアウト*/

.globalMenuSp .wrap{ z-index:99999; overflow-y: scroll; height: 100vh; position: relative; -webkit-overflow-scrolling: touch;}
.globalMenuSp .wrap .branding{ width:66%; margin:0 auto; padding:5.0rem 0}
.globalMenuSp .wrap .logo img{ width:20.0rem; display: block; margin:0 auto}
.globalMenuSp .wrap .footer-navi{ background-color: transparent;}
.globalMenuSp .wrap .description{ font-size:14px; line-height: 1.8; padding:25px 0}
.globalMenuSp .wrap ul{ display: flex; justify-content: space-between; max-width:900px; width:80%; margin:25px auto}
.globalMenuSp .wrap li a{ color: #000000; font-size:2.4rem; display: flex; justify-content: space-between; align-items: center; width:100%; font-feature-settings:"palt"}
.globalMenuSp .wrap li{ text-align: center; width:100%; border-bottom: 1px solid #000000; margin-bottom:25px}
.globalMenuSp .wrap li .child{ display: flex; flex-wrap: wrap; padding-top: 0.75rem;}
.globalMenuSp .wrap li .child a{ display: flex; width:50%; font-size:1.8rem; text-align: left; padding:0.75rem 0; justify-content: flex-start;}
.globalMenuSp .wrap li .child a::before{content:''; background-color: var(--content-brand-green); width:0.75rem; height:1.0rem; display: block; clip-path: polygon(0 0, 100% 50%, 0 100%); margin-right: 0.5rem;}
.globalMenuSp .wrap li .child a.activities{ letter-spacing: -0.25rem;}
.globalMenuSp .wrap li.parent{ padding-bottom: 0.75rem;}




.globalMenuSp .wrap li:hover{ background-color: #eeeeee; border-radius:5px}
.globalMenuSp .wrap li i::first-letter{ font-size:24px; color: #cb000e;}
.globalMenuSp .wrap .data{ font-size:1.8rem;}
/*.globalMenuSp .wrap .data .tel{ padding:1.5rem 0; font-size:3.0rem; color: var(--content-brand-green);}*/
/*.globalMenuSp .wrap .data .tel a{ font-size:5.0rem; color: var(--content-brand-green); }*/
.globalMenuSp .wrap .data .freedial{ width:80%; margin:2.5rem auto; display: block;}