/* Base reset */
*{margin:0;padding:0;box-sizing:border-box;}
html{overflow-y:scroll;box-sizing:content-box;}
body{
  font-family:"Hiragino Maru Gothic ProN","ヒラギノ丸ゴ ProN","メイリオ",Meiryo,sans-serif;
  color:#333; line-height:1.7;
}
/* header の sticky より下の積み重ね順序を確立し、重なりを防ぐ */
main{position:relative; z-index:0;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;height:auto;vertical-align:middle;}
.container{max-width:1000px;margin:0 auto;padding:0 20px;}
.section{padding:64px 0;background-image:url(../img/bg_bar.jpg);background-repeat:repeat-x;background-position:top center;}
.section-title{text-align:center;font-size:24px;margin-bottom:28px;color:#2c3e50;}
.small{font-size:14px;}
.note{color:#666;}
.note.small{font-size:12px;}

/* Background: 全体黄色 */
body,.section{background-color:#FFFFE5;}
.bg-color-1,.bg-color-2{background-color:#FFFFE5;}

/* Header（PC版：固定・背景白）
   container.css の #header{width:980px;height:190px;margin:0 auto} を
   詳細度(1,1,0)で上書きし、横幅をフルに戻す。
   幅制約は内部の .header-inner（max-width:1200px;margin:0 auto）で担う。 */
#header.fixed-header{
  width:100%; height:130px; margin:0;
  position:sticky; top:0; z-index:1000;
  background:#fff; box-shadow:0 2px 10px rgba(0,0,0,.08);
}
.hero-lead::after{
  content:"";
  display:block;
  width:100%;
  height:5px;
  margin-top:12px;
  background:url("../img/bg_bar.jpg") repeat-x left center;
}
.header-inner{
    display: flex;
    gap: 16px;
    align-items: center;
    justify-content: space-between;
    max-width: 1000px;
    margin: 0 auto;
    padding: 10px 20px;
    position: relative;
}
.logo img{height:70px;}
/* ナビ共通 */
.global-nav { width: 750px; }
.global-nav .nav-main{list-style:none;display:flex;align-items:center;justify-content:flex-end;gap:0;}
.global-nav .nav-item{position:relative;flex:none;}
.global-nav .nav-main-link{
  display:block;padding:10px 24px;font-size:18px;font-weight:700;
  color:#00B050;background:none;cursor:default;white-space:nowrap;
}
.global-nav .nav-main-link:hover{color:#008040;}
/* サブメニュー：常に非表示がデフォルト */
/* #header を付与して container.css の #header ul(詳細度101) に勝つ(詳細度121) */
#header .global-nav .nav-sub{
  list-style:none;position:absolute;top:100%;left:50%;transform:translateX(-50%);
  min-width:220px;background:#fff;box-shadow:0 4px 12px rgba(0,0,0,.12);
  padding:8px 0;margin:0;z-index:100;
  display:none;text-align:center;
}
/* PC：親メニューにホバーしたときだけサブを表示 */
#header .global-nav .nav-item:hover > .nav-sub{display:block;}
.global-nav .nav-sub a{
  display:block;padding:10px 16px;font-size:15px;color:#333;
}
.global-nav .nav-sub a:hover{background:#f5f5f5;}
.header-alert{
  max-width:1200px; margin:0 auto; padding:10px 20px 14px;
  color:#c70000; border-top:1px solid #eee;
  display:flex; gap:12px; align-items:baseline; flex-wrap:wrap;
}
.header-alert strong{font-size:14px;}
.header-alert span{font-size:12px; color:#b40000; opacity:.9;}

/* Hamburger */
.hamburger{display:none;flex-direction:column;gap:5px;background:transparent;border:none;cursor:pointer;}
.hamburger span{display:block;width:26px;height:3px;background:#009933;border-radius:3px;}

/* Hero（index_old の #visual スタイルを踏襲：背景画像含む） */
.hero{text-align:center;padding-bottom:40px;}
#visual{
  height:360px;padding:30px 0;overflow:hidden;
  position:relative;
  background:url("../img/bg_main.png");
  background-repeat:repeat;
  background-position:left top;
}
.hero-lead{
  margin:0;padding:12px 0;font-size:40px;font-weight:700;
  color:#2c3e50;text-align:center;
}
.wideslider{
  width:100%;height:300px;text-align:left;
  position:relative;overflow:hidden;
}
.wideslider ul,.wideslider ul li{
  float:left;display:inline;overflow:hidden;
  list-style:none;margin:0;padding:0;
}
.wideslider_base{top:0;position:absolute;}
.wideslider_wrap{top:0;position:absolute;overflow:hidden;}
.slider_prev,.slider_next{
  top:0;overflow:hidden;position:absolute;z-index:100;
  cursor:pointer;box-sizing:content-box;
}
.slider_prev{
  background:url(../img/bt_left.png) no-repeat right center;
  padding-right:25px;
}
.slider_next{
  background:url(../img/bt_right.png) no-repeat left center;
  padding-left:25px;
}
.wideslider .pagination{
  position:absolute;bottom:12px;left:50%;transform:translateX(-50%);
  z-index:101;display:flex;gap:8px;justify-content:center;
}
.wideslider .pagination a{
  display:block;width:12px;height:12px;border-radius:50%;
  background:rgba(255,255,255,.6);text-indent:-9999px;
}
.wideslider .pagination a:hover,.wideslider .pagination a.active{
  background:#fff;
}
.hero-copy{margin-top:20px;}
.hero-copy p{font-size:16px;color:#444;line-height:2.0;}
.hero-message{margin:26px auto 0;}
.hero-message p{font-weight:700;color:#005599;}
.pill-btn{
  display:inline-block; margin-top:18px;
  padding:12px 22px; border-radius:999px;
  background:#009933; color:#fff; font-weight:700; font-size:14px;
}
.pill-btn:hover{opacity:.9;}

/* セクション：タイトル・コンテンツ画像のみ */
.section-title-img{margin:16px 0;text-align:center;}
.section-title-img img{max-width:100%;height:auto;}
.section-content-img{margin:0;text-align:center;}
.section-content-img img{max-width:100%;height:auto;}

/* センターの良いところ：3列グリッド */
.goodpoint-wrap{
  background-image:url(../img/goodpoint_bg.jpg);background-repeat:repeat;
  padding:24px 20px;border-radius:12px;
}
.goodpoint-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:24px;
}
.goodpoint-card{
  background:transparent;
}
.goodpoint-card img{width:100%;height:auto;display:block;}

/* 2カラム動画 */
.video-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:24px;}
.video-col{position:relative;}
.video-wrap{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;}
.video-wrap iframe,.video-wrap video{position:absolute;top:0;left:0;width:100%;height:100%;}

/* Feature */
.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:22px;}
.feature-card{
  background:#fff; border-radius:14px; padding:22px;
  box-shadow:0 0 12px rgba(0,0,0,.05);
}
.feature-card h3{font-size:18px;color:#0b4c6b;margin-bottom:10px;}
.badge-list{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;}
.badge{background:#004466;color:#fff;border-radius:999px;padding:6px 12px;font-size:12px;}
.good-points{margin:10px 0 0 18px;}
.good-points li{margin:6px 0;}
.day-and-interview{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px;}
.timeline{list-style:none;}
.timeline li{padding:8px 0;border-bottom:1px dashed #ddd;}
.timeline .t{display:inline-block;min-width:64px;font-weight:700;color:#0b4c6b;}
.interview{margin-top:10px;padding-left:18px;}
.interview li{margin:10px 0;}
.source-images{margin-top:18px;}
.img-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-top:14px;}
.img-grid figure{background:#fff;border-radius:12px;padding:10px;box-shadow:0 0 10px rgba(0,0,0,.05);}
.img-grid figcaption{font-size:12px;color:#666;margin-top:6px;text-align:center;}

/* PC-8: センターの良いところ 区切りライン */
#feature.section{border-bottom:3px dotted #F5C71A;padding-bottom:60px;}

/* 保育士インタビュー：背景追加（PC-9）＋区切りライン（PC向け） */
#interview.section{background-color:#FFFFE5;border-bottom:3px dotted #F5C71A;}

/* 各園のご紹介：レイアウトは css/container.css の #sec4 を参照 */
#nurseries.section{padding:0;background-color:#ffffff;}
#nurseries .section-title{text-align:center;}
#nurseries .section-title-img img{width:300px;height:auto;}
/* container.css の .area-button-box は ul 未対応のため ul でリストスタイル解除 */
#nurseries .area-button-box{list-style:none;padding:0;margin-left:0;}
#nurseries .area-button-box li{display:inline-block;}

.area-filters{text-align:center;margin-bottom:22px;display:flex;gap:10px;justify-content:center;flex-wrap:wrap;}
.area-badge{
  padding:7px 18px;border-radius:999px;border:none;cursor:pointer;
  background:#004466;color:#fff;font-size:13px;font-weight:700;
}
.nursery-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.nursery-card{
  background:#fff;border-radius:14px;padding:0;
  border:1px solid #eee;overflow:hidden;
}
.nursery-card-img{margin:0;}
.nursery-card-img img{width:100%;height:auto;display:block;vertical-align:middle;}
.nursery-card h3,.nursery-card .small{padding:0 16px;}
.nursery-card h3{font-size:16px;color:#0b4c6b;margin:10px 0 4px;}
.nursery-card .small:last-of-type{padding-bottom:16px;}

/* Greeting */
.greeting-content{
  background:#fff;padding:34px;border-radius:14px;
  box-shadow:0 0 12px rgba(0,0,0,.05);
}
.greeting-sub{margin:18px 0 10px;font-size:16px;color:#0b4c6b;}
.signature{text-align:right;margin-top:18px;font-weight:700;}

/* Recruit */
.recruit-grid{display:grid;grid-template-columns:1fr;gap:18px;}
.recruit-card{
  background:#fff;border-radius:14px;padding:22px;
  box-shadow:0 0 12px rgba(0,0,0,.05);
}
.job-table{width:100%;border-collapse:collapse;margin-top:12px;}
.job-table th,.job-table td{border:1px solid #e6e6e6;padding:10px;vertical-align:top;font-size:14px;}
.job-table th{width:30%;background:#fafafa;}
.job-subhead{margin-top:28px;font-size:16px;color:#00874a;font-weight:700;}
.simple-form{margin-top:10px;}
.form-group{margin-bottom:18px;}
.form-group label{display:block;margin-bottom:8px;font-weight:700;}
.required{color:#c70000;}
.form-group input,.form-group select,.form-group textarea{
  width:100%;padding:12px;border:1px solid #ccc;border-radius:8px;font-size:16px;
}
.form-group textarea{resize:vertical;font-family:inherit;}
.form-agree label{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.form-agree input[type="checkbox"]{width:auto;}
.form-agree a{color:#0b4c6b;text-decoration:underline;}
.form-submit{text-align:center;margin-top:18px;}
.submit-btn{
  background:#009933;color:#fff;border:none;
  padding:14px 36px;border-radius:999px;font-size:16px;font-weight:800;
  cursor:pointer;
}
.submit-btn:hover{opacity:.9;}
.form-message{margin-bottom:14px;padding:12px;border-radius:8px;font-size:14px;}
.form-message:empty{display:none;}
.form-message--success{background:#e8f5e9;color:#2e7d32;}
.form-message--error{background:#ffebee;color:#c62828;}

/* Footer */
footer{text-align:center;}
.footer-bg {
  padding-top: 50px;
  background:#ffffff;
}
.footer-bg img{display:block;margin:0 auto;max-width:1000px;width:100%;height:auto;}
.footer-info{padding:26px 20px;background:#ffffff;}
.footer-company{font-weight:800;margin-bottom:10px;font-size:20px;}
.footer-sns{display:flex;gap:10px;justify-content:center;margin-bottom:14px;}
.footer-sns img{height:44px;display:block;}
.footer-dl{max-width:900px;margin:0 auto;text-align:left;display:grid;gap:6px;}
.footer-dl div{display:grid;grid-template-columns:110px 1fr;gap:10px;font-size:15px;}
.footer-dl dt{color:#444;font-weight:800;}
.footer-dl dd{margin:0;}
.policy-date{text-align:right;font-size:13px;color:#666;margin-bottom:8px;}
.policy-list{margin:10px 0 0 18px;}
.policy-list li{margin:6px 0;}
.policy-contact{margin-top:12px;font-style:normal;line-height:1.8;}
.footer-policy-link{margin-top:12px;}
.footer-policy-link a{color:#0b4c6b;text-decoration:underline;}
.copyright{margin-top:14px;color:#666;font-size:14px;}

/* Floating button */
.floating-btn{position:fixed;right:max(30px, calc((100vw - 1000px) / 2 - 30px - 150px));bottom:80px;z-index:1001;transition:transform .2s;}
.floating-btn img{width:150px;height:150px;border-radius:999px;box-shadow:0 6px 14px rgba(0,0,0,.2);}
.floating-btn:hover{transform:scale(1.04);}

/* 各園のご紹介（#sec4）の狭い画面：詳細な上書きはファイル末尾セクションで実施 */
/*warpper
***************************************/
#wrapper {
  min-width: 980px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  background-position: top center;
  background-repeat: no-repeat;
}
a {
  cursor: pointer;
}
a,
.fade {
  -webkit-transition: 0.5s ease-in-out;
  -moz-transition: 0.5s ease-in-out;
  -o-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
}
a:hover,
.fade:hover {
  opacity: 0.6;
  filter: alpha(opacity=60);
}

.blinking {
  -webkit-animation: blink 1s ease-in-out infinite alternate;
  -moz-animation: blink 1s ease-in-out infinite alternate;
  animation: blink 1s ease-in-out infinite alternate;
}
@-webkit-keyframes blink {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-moz-keyframes blink {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes blink {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.blinking2 {
  -webkit-animation: blink-2 1.5s ease-in-out infinite alternate;
  -moz-animation: blink-2 1.5s ease-in-out infinite alternate;
  animation: blink-2 1.5s ease-in-out infinite alternate;
}
@-webkit-keyframes blink-2 {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-moz-keyframes blink-2 {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes blink-2 {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.mail {
  vertical-align: middle;
}

/*******wideslider*******/
.wideslider {
  width: 100%;
  height: 300px;
  text-align: left;
  position: relative;
  overflow: hidden;
}
.wideslider ul,
.wideslider ul li {
  float: left;
  display: inline;
  overflow: hidden;
}
.wideslider_base {
  top: 0;
  position: absolute;
}
.wideslider_wrap {
  top: 0;
  position: absolute;
  overflow: hidden;
}
.slider_prev,
.slider_next {
  top: 0;
  overflow: hidden;
  position: absolute;
  z-index: 100;
  cursor: pointer;
  box-sizing: content-box;
}
.slider_prev {
  background: url(../img/bt_left.png) no-repeat right center;
  padding-right: 25px;
}
.slider_next {
  background: url(../img/bt_right.png) no-repeat left center;
  padding-left: 25px;
}

/*header
***************************************/
#header {
  width: 980px;
  height: 190px;
  margin: 0px auto 0px auto;
  background-color: #ffffff;
  position: relative;
}

#header h1 {
  margin-bottom: 20px;
  font-size: 0.5rem;
  line-height: 1.5;
}
#header p.logo {
  position: absolute;
  top: 70px;
  left: 0px;
}
#header p.tel {
  position: absolute;
  top: 40px;
  right: 0px;
}
#header p.nyusatsu {
  position: absolute;
  top: 70px;
  left: 190px;
}

#header ul {
  display: flex;
  justify-content: end;
  text-align: center;
}
#header nav > ul > li {
  width: auto;
  font-weight: bold;
  font-size: 110%;
}
#header ul li:first-child {
}
#header ul li a {
  color: #093f60 !important;
}

#header ol.notification-links {
  position: absolute;
  /* top: 70px;
  left: 165px;*/
  top: 10px;
  right: 105px;
}
#header ol.notification-links li {
  line-height: 12px;
}

#header ol.notification-links a {
  font-size: 8px;
  color: #096fb0 !important;
}
/*
#header ul{
position:absolute; top:130px; right:0px;
clear:both;
}
#header ul li{
float:left;
}
*/

@media screen and (min-width: 769px) {
  .sp{display: none}
  .sp-only{display:none;}
}
.pc-only{display:block;}
.interview-sp-imgs{display:none;}
.interview-sp-imgs img{width:100%;height:auto;display:block;}
.interview-sp-voices{display:none;text-align:center;}
.interview-sp-line{width:80%;max-width:320px;height:auto;margin:16px auto;display:block;}
.interview-sp-person{width:50%;max-width:200px;height:auto;margin:8px auto;display:block;}
.interview-sp-text{text-align:left;padding:12px 20px;font-size:0.95rem;line-height:1.8;color:#333;}
.interview-sp-text p{margin-bottom:0.8em;text-indent:1em;}

.nyusatsu{
  max-width: 500px;
  margin: 0 auto 30px;
}

.oshirase-btn {
  font-size: 13px;
  font-weight: bold;
  text-decoration: none;
  display: block;
  text-align: center;
  padding: 3px 10px;
  color: #fff;
  background-color: #eb6878;
  border-radius: 30px;
}
.recruit-txt {
  width: auto;
  position: absolute;
  top: 30px;
  right: 0;
  font-size: 16px;
  line-height: 1.5;
  font-weight: bold;
  text-align: center;
  padding: 2px 10px;
  color: #ff0000;
  border: 1px solid;
}
.recruit-txt a {
  color: #ff0000;
  text-decoration: underline;
}
.recruit-txt span {
  font-size: 12px;
  color: #000;
}

.sns-area {
  position: absolute;
  width: 200px;
  bottom: 85px;
  right: 340px;
  display: flex;
  justify-content: space-between;
}
.sns-area p {
  width: 40px;
}
.sns-area p img {
  width: 100%;
}

/*visual
***************************************/
#visual {
  height: 360px;
  padding: 30px 0;
  overflow: hidden;
  background: url("../img/bg_main.png");
  background-repeat: repeat;
  background-position: left top;
}
/*welcome
***************************************/
#welcome {
  width: 980px;
  height: 150px;
  margin: 0px auto 0px auto;
  position: relative;
}
#welcome p.copy {
  position: absolute;
  top: 30px;
  left: 50%;
  margin-left: -246px;
}
#welcome p.welcome {
  position: absolute;
  top: -40px;
  left: -120px;
}
#welcome p.star1 {
  position: absolute;
  top: -20px;
  left: 100px;
}
#welcome p.star2 {
  position: absolute;
  top: 20px;
  right: 0px;
}

/*sec1
***************************************/
#sec1 {
  padding: 50px 0px 50px 0px;
  overflow: hidden;
  background-image: url("../img/bg_bar.jpg");
  background-repeat: repeat-x;
  background-position: top center;
  background-color: #f6f3ea;
}
#sec1 div.inner {
  width: 980px;
  margin: 0px auto 0px auto;
  position: relative;
}
#sec1 h2 {
  text-align: center;
}
#sec1 ul {
  margin: 50px 0px 0px 0px;
}
#sec1 li {
  width: 265px;
  float: left;
  margin: 0px 90px 0px 0px;
}
#sec1 li:last-child {
  margin: 0px 0px 0px 0px;
}
#sec1 li dl {
  width: 265px;
  height: 450px;
  border: solid 1px #dfdfd0;
  border-radius: 5px;
  background-color: #ffffff;
}
#sec1 li dl h3 {
  padding-top: 15px;
  text-align: center;
  font-size: 1rem;
  line-height: 1.5;
  font-weight: bold;
}
#sec1 li dl p.txt {
  padding: 15px;
  font-size: 0.8rem;
}

/*sec2
***************************************/
#sec2 {
  padding: 50px 0px 50px 0px;
  overflow: hidden;
  background-image: url("../img/bg_bar.jpg");
  background-repeat: repeat-x;
  background-position: top center;
}
#sec2 div.inner {
  width: 980px;
  margin: 0px auto 0px auto;
  position: relative;
}
#sec2 p.icon {
  position: absolute;
  top: 10px;
  left: 140px;
}
#sec2 h2 {
  text-align: center;
}
#sec2 ul {
  margin: 50px 0px 0px 0px;
}
#sec2 li {
  width: 265px;
  float: left;
  margin: 0px 90px 0px 0px;
}
#sec2 li:last-child {
  margin: 0px 0px 0px 0px;
}
#sec2 li dl {
  width: 265px;
  height: 450px;
  border: solid 1px #dfdfd0;
  border-radius: 5px;
  background-color: #ffffff;
}
#sec2 li dl p.txt {
  padding: 15px;
  font-size: 0.8rem;
}

/*sec3
***************************************/
#sec3 {
  padding: 50px 0px 30px 0px;
  background-image: url("../img/bg_bar.jpg");
  background-repeat: repeat-x;
  background-position: top center;
  background-color: #f6f3ea;
}
#sec3 div.inner {
  width: 980px;
  height: 550px;
  margin: 0px auto 0px auto;
  position: relative;
}
#sec3 p.icon {
  position: absolute;
  top: -70px;
  right: 60px;
}
#sec3 h2 {
  text-align: center;
}
#sec3 p.staff {
  position: absolute;
  bottom: 50px;
  left: 0px;
}
#sec3 p.copy {
  position: absolute;
  top: 140px;
  left: 460px;
}
#sec3 p.copy span {
  font-size: 1.2rem;
  color: #ea9b94;
}

#sec3 p.copy2 {
  position: absolute;
  top: 350px;
  left: 460px;
  padding: 1em;
  border: 1px solid #ff0004;
}
#sec3 p.copy2 span {
  font-size: 1.2rem;
  color: #ea9b94;
}

/*sec4
***************************************/
#sec4 {
  padding: 50px 0px 30px 0px;
  overflow: hidden;
  background-image: url("../img/bg_bar.jpg");
  background-repeat: repeat-x;
  background-position: top center;
}
#sec4 div.inner {
  width: 980px;
  margin: 0px auto 0px auto;
  position: relative;
}
#sec4 h2 {
  text-align: center;
}
#sec4 dl {
  width: 300px;
  margin: 100px 40px 0px 0px;
  float: left;
  text-align: center;
  color: #093f60;
  font-size: 1rem;
  font-weight: bold;
  display: block;
  min-height: 530px;
}
#sec4 dl:nth-child(3n + 1) {
  margin: 100px 0px 0px 0px;
}
#sec4 dl .areaIcon {
  box-sizing: border-box;
  width: 220px;
  height: 30px;
  padding: 0px 10px;
  margin: 0 auto 20px;
  border-top: solid 2px #ccc;
  border-bottom: solid 2px #ccc;
  color: #333;
}
#sec4 dt {
  font-size: 16px;
}
#sec4 dd {
  margin: 0 0 30px;
  font-size: 14px;
  font-weight: normal;
}
#sec4 dd p.detail,
#sec4 dd p.pdf {
  margin: 30px 0px 0px 0px;
}

#sec4 dd p.pdf a {
  line-height: 1;
}

#sec4 dd p.pdf img.arrow {
  vertical-align: bottom;
  margin-left: 5px;
}

.area-button-box {
  display: flex;
  justify-content: center;
  margin: 50px auto 0;
}
.area-button-box li a {
  width: 18%;
  text-align: center;
  margin: 0 15px;
  background: #093f60;
  padding: 1em 1.5em;
  border-radius: 5px;
  color: #fff;
  font-size: 120%;
}

/*sec5
***************************************/
#sec5 {
  padding: 50px 0px 10px 0px;
  background-image: url(../img/bg_bar.jpg);
  background-repeat: repeat-x;
  background-position: top center;
  background-color: #f6f3ea;
  margin-bottom: 100px;
}
#sec5 div.inner {
  width: 980px;
  margin: 0px auto 0px auto;
  position: relative;
}
#sec5 div.message-box {
  margin: 50px 0px;
}
#sec5 p {
  line-height: 2.;
  margin-bottom: 20px;
}
#sec5 p.icon {
  position: absolute;
  top: -70px;
  right: 60px;
}
#sec5 h2 {
  text-align: left;
  font-size: 1.3rem;
  font-weight: bold;
}
#sec5 p.staff {
  position: absolute;
  bottom: 50px;
  left: 0px;
}
#sec5 p.copy {
  position: absolute;
  top: 140px;
  left: 460px;
}
#sec5 p.copy span {
  font-size: 1.2rem;
  color: #ea9b94;
}

#sec5 p.copy2 {
  position: absolute;
  top: 350px;
  left: 460px;
  padding: 1em;
  border: 1px solid #ff0004;
}
#sec5 p.copy2 span {
  font-size: 1.2rem;
  color: #ea9b94;
}
#sec5 div.align-right {
  text-align: right;
}

/*footer
***************************************/
#footer {
  margin: 60px 0px 0px 0px;
  border-top: solid 20px #ffe324;
  background-color: #eeeeee;
  font-size: 0.8rem;
}
#footer div.inner {
  width: 980px;
  height: auto;
  margin: 20px auto 20px auto;
  position: relative;
}
#footer p.icon {
  position: absolute;
  top: -120px;
  left: 0px;
  z-index: 10;
}
#footer p.pagetop {
  position: absolute;
  top: -60px;
  right: 0px;
  z-index: 10;
}

#footer ul {
  margin: 0px auto 0px auto;
  padding: 30px 0px;
  display: table;
  table-layout: fixed;
  width: 980px;
}
#footer ul li {
  display: table-cell;
  vertical-align: middle;
  text-align: center;
}
#footer ul li a {
  color: #093f60;
}

#footer .copyright {
  margin: 0px 0px 0px 0px;
  background-color: #ffffff;
}
#footer .copyright p {
  padding: 0px 0px 30px 0px;
  text-align: center;
  color: #929292;
  font-size: 0.5rem;
}
#footer .copyright p.tel {
  padding: 20px 0px 20px 0px;
  border-top: solid 1px #eeeeee;
  display: flex;
  flex-direction: column;
  align-items: center;
}
#footer .attention p {
  color: #dc143c;
  font-size: 14px;
  font-weight: bold;
  margin-bottom: -10px;
}

.mr-20 {
  margin-bottom: 18px;
}

/* =====================================================
   スマホ用上書き（container.css 由来の固定幅を解除）
   ※ファイル末尾に置くことで詳細度同一時も必ず勝つ
   ===================================================== */
@media (max-width: 768px){
  /* 横スクロール完全防止 */
  /* ※html/body に overflow-x:hidden を置くと position:sticky が壊れるため #wrapper のみに設定 */
  html { font-size: 18px; scroll-padding-top: 100px; }
  body { overflow-x: hidden; }
  #wrapper { min-width: 0; max-width: 100vw; overflow-x: hidden; }

  /* モバイルは fixed に切り替え（overflow-x:hidden の影響を受けない） */
  #header.fixed-header { position: fixed; top: 0; left: 0; right: 0; }
  /* fixed にした分、main の先頭をヘッダー高さ分下げてコンテンツが隠れないようにする */
  main { padding-top: 140px; }

  /* header-inner を static にして global-nav が #header 全幅を基準にできるようにする */
  .header-inner { position: static; }

  /* ナビ関連の固定幅・PC用設定をすべて解除 */
  /* .global-nav { width:750px } が left:0;right:0 より優先されてはみ出る原因 → auto に */
  .global-nav { width: auto; }
  /* #header ul { display:flex; justify-content:end } が nav-main に適用されるのを上書き */
  #header .global-nav .nav-main { display: flex; justify-content: flex-start; }
  /* container.css 由来の #header nav > ul > li { width:25% } を解除 */
  #header nav > ul > li { width: 100%; font-size: 1rem; }


  /* sec4 inner の固定幅を解除して1カラム縦並びにする */
  #sec4 div.inner { width: 100%; padding: 0 0.5rem; }
  #sec4 dl {
    width: 100%;
    margin: 1.25rem 0 0;
    float: none;
    min-height: 0;
  }
  #sec4 dl:nth-child(3n+1) { margin: 1.25rem 0 0; }
  #sec4 dt { font-size: 0.9rem; }
  #sec4 dd { font-size: 0.8rem; margin: 0 0 0.5rem; }
  /* 市ボタンを横並びに（4市を必ず1行に収める） */
  #sec4 .area-button-box { flex-direction: row; flex-wrap: nowrap; gap: 0; justify-content: center; margin-top: 1rem; }
  #sec4 .area-button-box li { flex: 1; white-space: nowrap; text-align: center; }
  #sec4 .area-button-box li a { display: block; width: auto; padding: 0.5em 0.3em; font-size: 0.8rem; margin: 0 2px; }
}

/* Responsive */
@media (max-width: 900px){
  .feature-grid,.day-and-interview,.recruit-grid{grid-template-columns:1fr;}
  .nursery-cards{grid-template-columns:repeat(2,1fr);}
  .video-grid{grid-template-columns:1fr;}
}
/* スマホ共通：文字拡大（980px制約解除はファイル末尾の上書きで対応） */
@media (max-width: 768px){
  body{font-size:1rem;}
  .section-title{font-size:1.3rem;}
}
/* スマホ：FV画像を横幅に収める */
@media (max-width: 768px){
  #visual{
    height: 300px;
    min-height:200px;
    padding-top:2.5rem;
    width:100%;
    overflow:hidden;
  }
  /* wideslider_base は JS が 500px 幅で初期化 → transform:scale で全幅に拡大 */
  #visual .wideslider_base{left:0!important;}
  #visual .wideslider ul li img{width:100%;height:100%;object-fit:cover;}
  .hero-lead{font-size:1.2rem;}
}
/* スマホ：ハンバーガーでナビ表示 */
@media (max-width: 768px){
  .hamburger{display:flex;}
  .global-nav{display:none;position:absolute;top:100%;left:0;right:0;width:auto;background:#fff;box-shadow:0 8px 16px rgba(0,0,0,.12);z-index:999;max-height:calc(100vh - 130px);overflow-y:auto;}
  .fixed-header.is-nav-open .global-nav{display:block;}
  .global-nav .nav-main{flex-direction:column;align-items:stretch;}
  .global-nav .nav-item{position:static;}
  .global-nav .nav-main-link{font-size:1rem;color:#00B050;background:#f5f5f5;cursor:pointer;}
  /* スマホではメニューを開いたときにサブメニューを常時表示 */
  #header .global-nav .nav-sub{position:static;left:auto;transform:none;min-width:0;box-shadow:none;padding:4px 0 4px 1.5rem;background:#fff;display:block;text-align:left;}
  #header .global-nav .nav-sub a{font-size:0.95rem;}
  #header .global-nav .nav-item:hover > .nav-sub{display:block;}
  .floating-btn img{width:5rem;height:5rem;}
  .header-alert{padding-bottom:0.6rem;}
  .nursery-cards{grid-template-columns:1fr;}

  /* M-3: ヘッダー背景を白に（明示） */
  #header.fixed-header{background-color:#ffffff;}

  /* M-1: ロゴ・ハンバーガー拡大 */
  .logo img{height:56px;}
  .hamburger{min-width:44px;min-height:44px;justify-content:center;align-items:center;}
  .hamburger span{width:30px;height:3px;}

  /* M-4: キャッチコピー位置調整（画像下に配置） */
  .hero-lead{font-size:1.1rem;padding:10px 16px;}

  /* M-5: センターの良いところ 1列 */
  .goodpoint-grid{grid-template-columns:1fr;}

  /* M-7: 保育士インタビュー SP版はテキスト+画像を表示 */
  #interview .pc-only{display:none;}
  .interview-sp-voices{display:block;}
  .video-grid{grid-template-columns:1fr;}

  /* M-6/M-8: セクション区切りライン */
  #feature.section{border-top:none;border-bottom:none;}
  #interview.section{border-top:none;border-bottom:none;}

  /* M-10: 各園紹介 背景白 */
  #nurseries.section{background-color:#ffffff;}
  /* M-11: 社長あいさつ等 背景白 */
  #greeting.section{background-color:#ffffff;}
  #recruit.section{background-color:#ffffff;}

  /* M-12: セクション間 区切りライン */
  .section{border-bottom:2px solid #E0E0E0;margin-bottom:0;}
  .section:last-child{border-bottom:none;}

  /* M-13: フッター文字拡大 */
  .footer-company{font-size:18px;}
  .footer-dl div{font-size:14px;}
  .footer-info{padding:20px 16px;}
  .copyright{font-size:13px;}
}