@charset "utf-8";
html{
overflow-x: hidden;
}
/* ボディ設定*/
body {
	-webkit-text-size-adjust: none;
	font-family: 'Noto Sans JP', sans-serif;
 	font-size: 18px;
	line-height: 30px;
	color: #333333;
  	text-align:left;
  	margin: 0;
  	padding: 0;
	background-color: #fff;
}
h1,h2,h3,h4,h5,h6,p,ul,li,dl, dt, dd{
  	margin: 0;
  	padding: 0;
}
li img,dt img,dd img{
	vertical-align:bottom;
}
ol, ul {
	list-style:none;
}
img{
	max-width: 100%;
	height: auto;
	vertical-align:middle;
	border:0px;
	transition: 1.0s ;
}
a:hover img{
  opacity: 0.7;
}
* {
	box-sizing: border-box;
}

/* リンクの色 */
a {
	COLOR: #1a0dab;
	text-decoration: none;
}
a:link {
  color: #1a0dab;
}
a:visited {
  color: #660099;
}
a:hover {
  color: #4d90fe;
}
a:active {
  color: #c61a09;
}

/*Clearfix*/
.clearfix:after {
	content: "";
	display: block;
	clear: both;
}
.clearfix {
	zoom: 1;
}
/*インデント*/
.txt-ind{
	padding-left: 1em;
	text-indent: -1em;
}

/*全体の枠
---------------------------------------------------------------------------*/
#wrapper{
	width:100%;
}

/*PC・スマホ切り替え*/
@media screen and (max-width: 576px) {
	.pc-only{display: none;}
}
@media screen and (min-width: 576px){
	.br-sp {display: none; }
	.sp-only{display: none;}
}

.sec-box-width-box{
	width: 1826px;
	margin: auto;
}
.sec-box-width02{
	width: 1685px;
	margin: auto;
}
.sec-box-width03{
	width: 1420px;
	margin: auto;
}
.sec-color-w{
	background-color: #fff;
}
.sec-color-w2{
	background-color: #fff;
	padding: 80px 0;
}
.sec-color-p{
	background-color: #fcf5e9;
	padding: 80px 0;
}
.sec-color-g{
	background-color: #f5f8fa;
	padding: 80px 0;
}
.sec-image-g{
	background-image: url("../images/background_img_g.webp");
	background-size: cover;	
	padding: 80px 0;
}
@media screen and (max-width: 1873px) {
	.sec-box-width-box{
		width: 96%;
		margin: auto;
	}
}
@media screen and (max-width: 1735px) {
	.sec-box-width02{
		width: 96%;
		margin: auto;
	}
}
@media screen and (max-width: 1470px) {
	.sec-box-width03{
		width: 96%;
		margin: auto;
	}
}

/*ヘッダー　グローバルナビ
---------------------------------------------------------------------------*/
/* 共通 */
header#top-head {
  padding: 20px;
  width: 100%;
  box-sizing: border-box;
  background: #fff;
}

header .inner {
  max-width: 1826px;
  margin: 0 auto;
}

/* モバイルヘッド */
#mobile-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 35px;
  position: relative;
}

/* ロゴ */
.logo img {
  width: 487px;
  height: 80px;
  object-fit: contain;
}

/* 電話＋アクセス＋点線 */
#mobile-head .icons {
  display: flex;
  align-items: center;
  gap: 35px;
}

#mobile-head .icons a img {
  display: block;
}

#mobile-head .icons .line {
  width: 1px;
  height: 80px;
  border-left: 1px dotted #000;
}

/* グローバルナビ（PC） */
#global-nav {
  max-width: 1826px;
  width: 100%;
  margin: 40px auto 20px;
}

#global-nav ul {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  height: 26px;
  align-items: center;
  text-align: center;
  position: relative;
}

#global-nav ul li {
  font-size: 24px;
  list-style: none;
  position: relative;
}
#global-nav ul li a{
  color: #000;
}
/* 点線の仕切り */
#global-nav ul li:not(:last-child)::after {
  content: "";
  position: absolute;
  right: 0;
  width: 1px;
  height: 26px;
  border-right: 1px dashed #333;
}

/* ハンバーガー（スマホ用） */
#nav-toggle {
  display: none; /* PCでは非表示 */
}
/* PC表示（768px以上）のときは非表示 */
@media screen and (min-width: 769px) {
	#global-nav .sp-gnav-header,
	#global-nav .nav-phone,
	#global-nav .nav-access,
	#global-nav .gnabi-spnomi{
		display: none;
	}
}

/* スマホ用 */
@media screen and (max-width: 768px) {
  header#top-head {
	padding: 5px 10px;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background: #fff;
    z-index: 2000;
  }

  /* 電話・アクセス非表示 */
  #mobile-head .icons {
    display: none;
  }
  #mobile-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-right: 10px; /* 右にはみ出ないための余白 */
    position: relative;
  }
  /* ハンバーガー本体 */
  #nav-toggle {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 30px;
    height: 25px;
    cursor: pointer;
    z-index: 1001;
  }

  #nav-toggle div span {
    width: 30px;
    height: 3px;
    background-color: #4d4d4d;
    border-radius: 1px;
    transition: 0.3s;
  }

  #nav-toggle div {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
  }
  /* ハンバーガー開閉アニメーション */
	#nav-toggle.open span:nth-child(1) {
	  transform: rotate(45deg) translate(7px, 8.5px);
	}

	#nav-toggle.open span:nth-child(2) {
	  opacity: 0;
	}

	#nav-toggle.open span:nth-child(3) {
	  transform: rotate(-45deg) translate(7px, -8.5px);
	}

  /* スマホメニュー */
  #global-nav {
    position: fixed;
    top: -40px;
    right: -100%;
    width: 100%;
    height: 100%;
    background: #fcf5e9;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    transition: right 0.3s ease;
    z-index: 1000;
    overflow-y: auto; /* 高さを超える場合スクロール可能 */
  }

  #global-nav.active {
    right: 0;
  }

  #global-nav ul {
  width: 80%;
  font-size: 18px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  text-align: center;
  margin: 0;      /* 余白リセット */
  padding: 0;     /* 余白リセット */
  height: auto;   /* 高さを自動に */
  }
	#global-nav ul li {
		font-size: 18px;
		position: relative;
		width: 100%;
	}
	#global-nav li {
		padding: 0 0 10px;
	  border-bottom: 1px dotted #333333;
	}
  #global-nav ul li::after {
    display: none;
  }
	.sp-gnav-header{
		margin: 60px auto 30px;
		text-align: center;
		width: 80%;
	}
	.nav-phone {
	margin-top: 30px; /* メニューと画像の間隔 */
	text-align: center;
	z-index: 900; /* メニューより後ろに */
	}
	.nav-phone img {
	max-width: 300px; /* 適宜サイズ調整 */
	width: 80%;
	height: auto;
	}
	.nav-access {
	margin-top: 30px; /* メニューと画像の間隔 */
	text-align: center;
	z-index: 1901; /* メニューより後ろに */
	}
	.nav-access img {
	max-width: 300px; /* 適宜サイズ調整 */
	width: 100%;
	height: auto;
	}
}



/*メイン画像
---------------------------------------------------------------------------*/
.main-image-box {
  position: relative;
  width: 100%;
  max-width: 1826px;       /* 最大幅 */
  margin: 0 auto;
  border-radius: 20px;     /* 角丸 */
  overflow: hidden;        /* はみ出た部分を隠す */
  height: auto;
  z-index: 1;
}
/* 背景画像（外観） */
.main-image-box img:nth-child(2) {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 20px;     /* 角丸 */
}

.main-image-box img {
  width: 100%;
  height: auto;
  transition: transform 2.0s ease; /* 拡大アニメーション */
}

/* showクラスがついたら拡大 */
.main-image-box.show img {
  transform: scale(1.05); /* 5%拡大 */
}
/* 文字画像 */
.main-image-box img:nth-child(1) {
  position: absolute;
  top: 50%;                /* 縦中央 */
  left: 10%;               /* 左から10% */
  transform: translateY(-50%);
  width: 250px;            /* 元画像サイズ */
  max-width: 20%;          /* 拡大縮小対応 */
  height: auto;
	z-index: 2;
}

/* -----------------------------
   レスポンシブ：スマホ
------------------------------ */
@media screen and (max-width: 768px) {
  .main-image-box {
    height: 560px;         /* 縦基準 */
    overflow: hidden;      /* 横のはみ出しを非表示 */
    margin-top: 100px;      /* ナビゲーションと重ならないように上から60px空ける */
  }

  /* 背景画像 */
  .main-image-box img:nth-child(2) {
    width: auto;           /* 縦基準で縮小 */
    height: 100%;
    object-fit: cover;     /* はみ出た部分は切る */
  }

  /* 文字画像 */
  .main-image-box img:nth-child(1) {
    max-width: 40%;   /* 背景画像に合わせて縮小 */
    max-height: 80%;  /* 背景画像縦基準で縮小 */
  }
}


/*トップページ
---------------------------------------------------------------------------*/
/* 4つの特徴 ----------------------*/
.toku-box {
	width: 100%;
  display: flex;
  flex-wrap: wrap; /* 折り返し可能にする */
  gap: 30px;       /* 要素間の余白 */
  margin: 46px auto 0;
  justify-content: center; /* 中央揃え */
}

.toku-box > div {
  flex: 1 1 250px; /* 幅を基準にして伸縮可 */
  max-width: 397px;
  background-color: #c1ab05;
  border-radius: 20px;
  padding: 30px;
  color: #fff;
  position: relative;
  font-size: 26px;
  line-height: 46px;
  display: flex;
  flex-direction: column; /* テキスト→画像の順に縦並び */
  justify-content: space-between; /* 上下にスペースを分配して高さ揃え */
}
.toku-box > div img {
  max-width: 183px;
  height: auto;
  align-self: flex-end; /* 右下に寄せる */
}
@media screen and (max-width: 1200px) {
  .toku-box > div {
    flex: 1 1 calc(50% - 15px); /* 2列、左右のgap調整 */
	  font-size: 22px;
	  line-height: 40px;
  }
}
@media screen and (max-width: 768px) {
  .toku-box > div {
    flex: 1 1 100%;
	  font-size: 20px;
	  line-height: 30px;
	padding: 10px 20px;
  }
	.toku-box > div img {
	  max-width: 100px;
	}
	.toku-box {
	width: 90%;
	}
}

/*衣食住----------------------*/
.ishokuju-box {
  display: flex;
  flex-wrap: wrap;
  gap: 80px;       /* 要素間の余白 */
  justify-content: center; /* 横方向中央揃え */
  align-items: center;     /* 縦方向中央揃え */
  margin: 80px auto 0;
	padding-bottom: 100px;
}
.ishokuju-box > div {
  flex: 1 1 calc(50% - 40px); /* 基本2列、gap考慮 */
  max-width: 748px;            /* 最大幅 */
  display: flex;
  flex-direction: column;
  justify-content: center;     /* 高さ中央揃え */
  align-items: flex-start;         /* 中身も中央揃え */
}
.ishokuju-img img{
	width: 100%;
	max-width: 748px;
	height: auto;
}
.ishokuju-txt{
}
.ishokuju-txt h2 span{
	margin-right: 10px;
}
.ishokuju-txt h2{
	color: #c1ab05;
	font-size: 16px;
	font-weight: normal;
}
.ishokuju-txt h3{
	font-size: 42px;
	line-height: 63px;
	margin-top: 50px;
}
.ishokuju-txt p{
	margin-top: 50px;
}
.ishokuju-service{
  display: flex;
  flex-wrap: wrap;
  gap: 20px;       /* 要素間の余白 */
  justify-content: flex-start; /* 横方向中央揃え */
	margin-top: 40px;
}
.ishokuju-service > div{
	background-color: #e79065;
	max-width: 240px;
	height: 44px;
	border-radius: 22px;
	color: #fff;
	text-align: center;
	font-size: 28px;
	font-weight: normal;
	padding: 4px 30px 0;
}

/* 1200px以下でも2列表示（縮小） */
@media screen and (max-width: 1200px) {
  .ishokuju-box > div {
    flex: 1 1 calc(50% - 40px);
  }
}

/* 768px以下でスマホ1列表示 */
@media screen and (max-width: 1200px) {
  .ishokuju-box > div {
    flex: 1 1 100%;
  }
}
@media all and (max-width:992px){
	.ishokuju-txt h3{
		font-size: 32px;
		line-height: 53px;
		margin-top: 30px;
	}
	.ishokuju-txt p{
		margin-top: 30px;
	}
	.ishokuju-service > div{
		max-width: 240px;
		height: 44px;
		border-radius: 22px;
		font-size: 18px;
		font-weight: normal;
		padding: 4px 30px 0;
	}
}
@media all and (max-width:768px){
	.ishokuju-txt{
		padding: 0 20px;
	}
}
/*510以下 92%*/
@media all and (max-width:576px){
	.ishokuju-txt h3{
		font-size: 24px;
		line-height: 33px;
		margin-top: 20px;
	}
	.ishokuju-txt p{
		margin-top: 20px;
	}
  .ishokuju-service {
    justify-content: center; /* 中央寄せ */
  }

  .ishokuju-service > div {
    width: 100%;
    max-width: 300px;    /* 好きな幅に調整可 */
    margin: 0 auto;      /* 個別要素も中央 */
  }
}
/*ボタン----------------------*/
.button-domi {
    display: flex;
    justify-content: space-between; /* 左右に分ける */
    align-items: center;
    width: 356px;
    height: 60px;
    margin: 0 auto;
    padding: 0 30px;
    border-radius: 30px;
    background-color: #e79065;
    color: #fff; /* 文字色白 */
    font-size: 21px;
    font-weight: bold;
    box-shadow: 0 7px 7px rgba(0,0,0,0.5);
    position: relative;
    cursor: pointer;
    transition: background-color 0.3s; /* ホバーで色変化 */
	border: none;      /* 枠線を消す */
    outline: none;     /* フォーカス時の輪郭を消す */
}
.button-domi span {
    color: #fff; /* 文字色を明示的に白に */
}
.button-domi::after {
    content: '';
    display: inline-block;
    width: 24px;
    height: 24px;
    background-image: url('../images/arrow.webp');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
.button-domi:hover {
    background-color: #d17455; /* 少し暗めの色に */
    box-shadow: 0 2px 2px rgba(0,0,0,0.5);
}
@media all and (max-width:768px){
	.button-domi {
		width: 300px;
		height: 52px;
		border-radius: 26px;
		margin: 0 auto;
		padding: 0 26px;
		font-size: 18px;
		font-weight: bold;
	}
}
.button-domi-aki{
	margin-bottom: 80px;
}

/*特徴・紹介・費用----------------------*/
.top-toku-box {
	display: flex;
	flex-wrap: wrap;
	gap: 80px;       /* 要素間の余白 */
	justify-content: center; /* 横方向中央揃え */
	align-items: flex-start;     /* 縦方向中央揃え */
	margin: auto;
	padding: 20px 0 40px;
}
.top-toku-box > div {
	flex: 1 1 calc(50% - 40px); /* 基本2列、gap考慮 */
	max-width: 748px;            /* 最大幅 */
	display: flex;
	flex-direction: column;
	justify-content: center;     /* 高さ中央揃え */
	align-items: flex-start;         /* 中身も中央揃え */
}
.top-toku-photo img{
	width: 100%;
	max-width: 748px;
	height: auto;
	border-radius: 20px; /* 角丸 */
}
/* 1200px以下でも2列表示（縮小） */
@media screen and (max-width: 1200px) {
  .top-toku-box > div {
    flex: 1 1 calc(50% - 40px);
  }
}

/* 768px以下でスマホ1列表示 */
@media screen and (max-width: 1200px) {
	.top-toku-box {
		gap: 40px;       /* 要素間の余白 */
	}
  .top-toku-box > div {
    flex: 1 1 100%;
  }
}
/*白枠*/
.top-shiro-box{
	width: 100%;
	background-color: #fff;
	border-radius: 20px;
	padding: 80px 80px 60px;
	margin-bottom: 40px;
}

.top-shiro2dan {
	display: flex;
	flex-wrap: wrap;
	gap: 80px;       /* 要素間の余白 */
	justify-content: center; /* 横方向中央揃え */
	align-items: flex-start;     /* 縦方向中央揃え */
	margin: 0 auto 40px;
	padding: 0px;
}
.top-shiro2dan > div {
	flex: 1 1 calc(50% - 40px); /* 基本2列、gap考慮 */
	max-width: 590px;            /* 最大幅 */
	display: flex;
	flex-direction: column;
	justify-content: center;     /* 高さ中央揃え */
	align-items: flex-start;         /* 中身も中央揃え */
}
.top-shiro2dan-photo img{
	width: 100%;
	max-width: 590px;
	height: auto;
	border-radius: 20px; /* 角丸 */
}

@media screen and (max-width: 1200px) {
	.top-shiro2dan {
		gap: 40px;       /* 要素間の余白 */
	}
  .top-shiro2dan > div {
    flex: 1 1 100%;
  }
}
@media all and (max-width:768px){
	.top-shiro-box{
		padding: 30px 14px 40px;
	}
}

/*ラジオ----------------------*/
.radio-box {
	width: 100%;
	background-color: #fff;
	border-radius: 20px;
	padding: 80px 0px;
	display: flex;
	flex-wrap: wrap;
	gap: 20px;       /* 要素間の余白 */
	justify-content: center; /* 横方向中央揃え */
	align-items: center;     /* 縦方向中央揃え */
	margin: 0 auto 0px;
}
.radio-box > div {
	flex: 1 1 calc(50% - 40px); /* 基本2列、gap考慮 */
	max-width: 650px;            /* 最大幅 */
	display: flex;
	flex-direction: column;
	justify-content: center;     /* 高さ中央揃え */
	align-items: flex-start;         /* 中身も中央揃え */
}
.radio-img img{
	width: 100%;
	max-width: 524px;
	height: auto;
}
.radio-txt{}
.radio-txt h3{
	color: #fd7598;
	font-size: 34px;
	line-height: 51px;
	font-weight: bold;
	margin-bottom: 42px;
}
.radio-txt h3 span{
	font-size: 28px;
}
.radio-txt p{}

@media screen and (max-width: 1200px) {
	.radio-box {
		gap: 40px;       /* 要素間の余白 */
	}
  .radio-box > div {
    flex: 1 1 100%;
  }
}

@media all and (max-width:768px){
	.radio-box{
		padding: 30px 14px 40px;
	}
	.radio-txt h3{
		font-size: 22px;
		line-height: 30px;
		margin-bottom: 22px;
	}
	.radio-txt h3 span{
		font-size: 18px;
	}
}

/*アクセス----------------------*/
.top-acc-title{
	margin-bottom: 26px;
}
.top-acc-title .ishokuju-txt{}
.top-acc-title .ishokuju-txt h3{
	margin-top: 30px;
}
.top-acc-title .ishokuju-txt p{
	margin-top: 20px;
}
.top-acc-img {
	display: flex;
	flex-wrap: wrap;
	gap: 80px;       /* 要素間の余白 */
	justify-content: center; /* 横方向中央揃え */
	align-items: flex-start;     /* 縦方向中央揃え */
	margin: auto;
	padding: 20px 0 40px;
}
.top-acc-img > div {
	flex: 1 1 calc(50% - 40px); /* 基本2列、gap考慮 */
	max-width: 748px;            /* 最大幅 */
	display: flex;
	flex-direction: column;
	justify-content: center;     /* 高さ中央揃え */
	align-items: flex-start;         /* 中身も中央揃え */
}
.top-acc-map{}
.top-acc-gmap {
    border-radius: 20px;
    overflow: hidden; /* 角丸の中にiframeを閉じ込める */
    width: 667px;     /* 必要なら幅を指定 */
    max-width: 100%;
}
.top-acc-gmap iframe {
    width: 100%;     /* 幅いっぱいに */
    height: 376px;   /* 高さはそのまま */
    border: 0;
    display: block;
}
.top-acc-btn{}

@media screen and (max-width: 1200px) {
	.top-acc-title{
    width: 667px;     /* 必要なら幅を指定 */
    max-width: 100%;
		margin: 0 auto 26px;
	}
	.top-acc-img {
		gap: 40px;       /* 要素間の余白 */
		justify-content: center; /* 横中央に並ぶ */
		align-items: center;     /* 縦方向も中央に揃える */
	}
	.top-acc-img > div {
		flex: 1 1 100%;
		align-items: center; /* 中身を中央揃えにする */
		text-align: center;  /* テキストも必要なら中央寄せ */
	}
	.top-acc-gmap {
		margin: 0 auto; 
	}
}


/*フッダー
---------------------------------------------------------------------------*/
.fooder_box {
  width: 100%;
  background-color: #c1ab05;
  color: #fff;
}

/* メインフッター（情報＋ナビ） */
.fooder_f_box {
  max-width: 1420px;
	margin: auto;
  padding: 46px 0;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
@media screen and (max-width: 1400px) {
  .fooder_f_box {
    padding: 46px 20px;
  }
}
/* 左側：タイトル・住所・電話 */
.fooder_info_box {
  flex: 1 1 45%;
}

.fooder_title_box a {
  font-size: 24px;
  font-weight: bold;
  color: #fff;
  text-decoration: none;
}

.fooder_add_box {
  margin-top: 30px;
  font-size: 18px;
}

.fooder_tel_box {
  margin-top: 30px;
}

.fooder_tel_box img {
  max-width: 333px;
  height: auto;
}

/* 右側：メニュー */
.fooder_nav_box {
  flex: 1 1 45%;
}

.fooder_nav_box ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.fooder_nav_box li {
  display: flex;
  align-items: center;
  margin-bottom: 15px;
}

.fooder_nav_box li span {
  display: inline-block;
  width: 36px;
  height: 36px;
  margin-right: 13px;
}

.fooder_nav_box li a {
  text-decoration: none;
  color: #fff;
  font-size: 18px;
}

/* -----------------------------
   バナー部分
------------------------------ */
.fooder_bnr_box {
  width: 100%;
  background-color: #fff;
  color: #c1ab05;
  padding: 70px 0;
  box-sizing: border-box;
  text-align: left;
}
.fooder_bnr_box > div p {
  display: flex;
  align-items: center;
  margin: 0 0 56px 0;
  font-size: 18px;
}

.fooder_bnr_box > div p span img {
  margin-right: 10px;
}

/* バナーリスト */
.fooder_bnr_box ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around; /* 上段は左寄せ */
  gap: 10px; /* バナー間の横間隔 */
  list-style: none;
  padding: 0;
  margin: 0 auto;
}
/* 下の行を中央に */
.fooder_bnr_box ul li {
  flex: 0 0 auto; /* 固定幅 */
}
.fooder_bnr_box li {
  margin-bottom: 20px;
}

.fooder_bnr_box li img {
  width: 251px;
  height: 85px;
}

/*コピーライト*/
.copy_right_box{
	background-color: #c1ab05;
	width: 100%;
	margin: 0 auto 0px;
	padding: 40px 20px;
	text-align: center;
	font-size: 14px;
	color: #ffffff;
}

@media screen and (max-width: 768px) {
  .fooder_f_box {
    flex-direction: column;
  }

  .fooder_nav_box {
    margin-top: 30px;
  }

  .fooder_bnr_box ul {
    justify-content: center;
  }
}

@media screen and (max-width: 768px) {
  .fooder_f_box,
  .fooder_nav_box {
    width: 90%;
    margin: 0 auto;
  }
  .fooder_title_box {
	  text-align: center;
  }
  .fooder_title_box a {
    font-size: 20px;
  }

  .fooder_add_box {
	  text-align: center;
    font-size: 16px;
  }

  .fooder_tel_box {
    text-align: center; /* 親を中央揃え */
    margin-bottom: 40px;
  }

  .fooder_tel_box img {
    display: block;
    max-width: 300px;
    width: 100%;      /* 画面幅に合わせて縮小 */
    height: auto;
    margin: 0 auto;   /* 中央配置 */
  }

  .fooder_nav_box ul li {
    width: 100%;
    padding: 10px 30px;                  /* 縦の余白 */
    border-bottom: 1px dotted #fff;   /* 下線 */
    margin: 0;                     /* 上下間隔 */
    text-align: left;
    box-sizing: border-box;
  }

  .fooder_nav_box ul li a {
    width: 100%;
    display: block;
    text-decoration: none;
    color: #fff;
    font-size: 16px;
  }

  .fooder_nav_box li span {
    margin-right: 10px; /* 矢印とテキストの間隔 */
    vertical-align: middle;
  }

  .fooder_nav_box ul {
    padding: 0;
    margin: 10px auto;
    gap: 0; /* 点線で区切るのでgapは不要 */
  }
  .fooder_bnr_box > div p {
    justify-content: center; /* flexアイテムを中央寄せ */
    text-align: center;      /* テキストも中央 */
  }
  .fooder_bnr_box ul li {
    flex: 0 0 48%;      /* 幅を半分に */
    margin-bottom: 20px;
  }
  .fooder_bnr_box ul {
    justify-content: center; /* 下段も中央寄せ */
  }

  .fooder_bnr_box li img {
    max-width: 320px;
    height: auto;
  }
	/*コピーライト*/
	.copy_right_box{
		margin: 0 auto 60px;
	}
}

/*ページトップ
---------------------------------------------------------------------------*/
#scrollToTopBtn {
    position: fixed;
    bottom: 55px;
    right: 20px;
    display: none; /* 初期状態では非表示 */
    border: none;
    padding: 0px;
    border-radius: 30px;
    cursor: pointer;
    font-size: 18px;
    z-index: 1010;
}

#scrollToTopBtn:hover {
}


/*CTA
---------------------------------------------------------------------------*/
.cta-container {
    display: none;
}


/*690以下 510*/
@media all and (max-width:768px){
    .cta-container {
        display: flex;
        justify-content: space-around;
        text-align: center;
        padding: 1px;
        background-color: #f9f9f9;
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
		z-index: 1000;
    }
    .cta-container a{
        color: #fff;
    }
    .cta-button {
        background-color: #ff7900;
        color: white;
        border: none;
        padding: 10px 10px;
        margin: 5px;
        font-size: 16px;
        cursor: pointer;
        border-radius: 5px;
        width: 92%;
        max-width: 300px;
    }
    .cta-button:hover {
        background-color: #ff7900;
    }
}
/*510以下 92%*/
@media all and (max-width:576px){
}

/*下線が動く
---------------------------------------------------------------------------*/
.underline_movement a::after {
position: absolute;
left: 0;
content: '';
width: 100%;
height: 1px;
background: #e79065;
bottom: -1px;               /*アンダーラインがaタグの下端から現れる*/
transform: scale(0, 1);     /*アンダーラインの縮尺比率。ホバー前はx方向に0*/
transform-origin: left top; /*変形（アンダーラインの伸長）の原点がaタグ（各メニュー）の左端*/
transition: transform 0.5s; /*変形の時間*/
}

.underline_movement a:hover::after {
transform: scale(1, 1);     /*ホバー後、x軸方向に1（相対値）伸長*/
}
.underline_movement_top a {
border-bottom: 1px solid #e79065;
}
@media all and (max-width:982px){
	.underline_movement {
		position:static;
		bottom: 0px; 
		transform: none;
		transform-origin: center;
		transition: unset;
	}
	.underline_movement_top a {
		border-bottom: none;
	}
}

/*フェードイン
---------------------------------------------------------------------------*/
.fade-item {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 1.0s ease, transform 1.0s ease;
}
.fade-item.show {
  opacity: 1;
  transform: translateY(0);
}


/*パンくず
---------------------------------------------------------------------------*/
.pankuzu-line{
	width: 100%;
	background-color: #f5f8fa;
	margin-bottom: 28px;
}
.pankuzu{
	padding: 15px;
	max-width: 1826px;
	text-align: left;
	margin: 3px auto;
	font-size: 16px;
}
.breadcrumb {
  margin: 0;
  padding: 0;
  list-style: none;
}

.breadcrumb li {
  display: inline;/*横に並ぶように*/
  list-style: none;
  font-weight: normal;/*太字*/
}

.breadcrumb li:after {/* >を表示*/
  content: '/';
  padding: 0 0.2em;
  color: #666666;
}

.breadcrumb li:last-child:after {
  content: '';
}

.breadcrumb li a {
  text-decoration: none;
  color: #666666;/*色*/
}

.breadcrumb li a:hover {
  text-decoration: underline;
}
.breadcrumb li a:hover {
  text-decoration: underline;
}
.pankuzu-home{
	margin-left: 5px;
}
.pankuzu-home-img{
	 vertical-align: middle;
	margin-top: -3px;
}
@media screen and (max-width: 768px) {
	.pankuzu-line{
		margin-top: 88px;
		margin-bottom: 10px;
	}
	.pankuzu{
		padding: 3px 15px;
		font-size: 12px;
	}
}
/*サブタイトル
---------------------------------------------------------------------------*/
.sub-title-box {
  position: relative;
  width: 100%;
  max-width: 1826px;       /* 最大幅 */
  margin: 0 auto 80px;
  border-radius: 20px;     /* 角丸 */
  overflow: hidden;        /* はみ出た部分を隠す */
  height: auto;
  z-index: 1;
}
/* 背景画像（外観） */
.sub-title-box img{
  width: 100%;
  height: auto;
  display: block;
  border-radius: 20px;     /* 角丸 */
}
.sub-title-box img {
  width: 100%;
  height: auto;
  transition: transform 2.0s ease; /* 拡大アニメーション */
}
/* showクラスがついたら拡大 */
.sub-title-box.show img {
  transform: scale(1.05); /* 5%拡大 */
}
/* 文字 */
.sub-title-box h1{
  position: absolute;
  top: 50%;                /* 縦中央 */
  left: 19%;               /* 左から% */
  transform: translateY(-50%);
	z-index: 2;
	color: #fff;
	font-size: 46px;
	font-weight: bold;
}

@media screen and (max-width: 768px) {
  .sub-title-box h1{
	font-size: 22px;
	left: 10%;  
  }
}

.sub-catchphrase{
	width: 100%;
	padding: 0 0 80px;
}
.sub-catchphrase h3{
	width: 900px;
	margin: auto;
	text-align: center;
	font-size: 32px;
	line-height: 56px;
}
@media all and (max-width:992px){
	.sub-catchphrase h3{
		width: 90%;
		font-size: 22px;
		line-height: 36px;
	}
}

/* 特徴
---------------------------------------------------------------------------*/
.feature-box-plus {
	align-items: center;     /* 縦方向中央揃え */
}
.sandan-img-box {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;       /* 要素間の余白 */
	justify-content: center; /* 横方向中央揃え */
	align-items: flex-start;     /* 縦方向中央揃え */
	margin: auto;
	padding: 60px 0;
}
.sandan-img-box > div {
	flex: 1 1 calc(30% - 60px); /* 基本2列、gap考慮 */
	max-width: 748px;            /* 最大幅 */
	display: flex;
	flex-direction: column;
	justify-content: center;     /* 高さ中央揃え */
	align-items: flex-start;         /* 中身も中央揃え */
}
.sandan-img-box img{
	width: 100%;
	max-width: 456px;
	height: auto;
	border-radius: 20px; /* 角丸 */
	margin-bottom: 15px;
}
.sandan-img-box p{
	padding: 0 30px;
}
@media all and (max-width:1200px){
	.sandan-img-box p{
		padding: 0 10px;
	}
}
@media all and (max-width:768px){
	.sandan-img-box {
		display: flex;
		flex-wrap: wrap;
		gap: 30px;       /* 要素間の余白 */
		justify-content: center; /* 横方向中央揃え */
		align-items: center;     /* 縦方向中央揃え */
		margin: auto;
		padding: 60px 20px;
	}
	.sandan-img-box > div {
		flex: 1 1 100%;
		width: 748px;
		margin: auto;
	}
	.sandan-img-box img{
		width: 100%;
		max-width: 748px;
		text-align: center;
	}
	.sandan-img-box p{
		padding: 0 10px;
	}
}

/*タイトル---------------------*/
h2.under {
    width: 100%;
    font-size: 30px;
    line-height: 50px;
    padding: 0 0 10px;
    margin: 0 auto 80px;
    text-align: center; /* 中央寄せ */
    position: relative; /* 擬似要素を相対位置で配置するため */
}

h2.under::after {
    content: "";
    display: block;
    width: 80px;        /* 線の横幅 */
    height: 3px;        /* 線の高さ */
    background-color: #c1ab05; /* 線の色 */
    margin: 10px auto 0; /* 上に少し余白を作り、中央寄せ */
}
@media screen and (max-width: 768px) {
	h2.under {
		width: 100%;
		font-size: 26px;
		line-height: 30px;
		padding: 0 0 10px;
		margin: 0 auto 40px;
		text-align: center; /* 中央寄せ */
		position: relative; /* 擬似要素を相対位置で配置するため */
	}
}

/*流れ---------------------*/
.nyuukyo-flow-box {
  width: 100%;
}
.nyuukyo-flow-kou {
  display: flex;
  align-items: flex-start; /* 上揃え */
  gap: 20px;              /* nyuukyo-flow-no とテキストの間隔 */
  margin-bottom: 40px;    /* 下の空き */
  flex-wrap: wrap;         /* スマホ時に折り返す */
}

.nyuukyo-flow-no {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background-color: #00a296;
  color: #fff;
  font-size: 24px;
  font-weight: bold;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-shrink: 0; /* 小さい画面でも縮まない */
}

.nyuukyo-flow-txt {
  flex: 1; /* 残りの幅を使う */
}

.nyuukyo-flow-txt h4 {
  font-size: 26px;
  font-weight: bold;
  margin: 0 0 10px 0;
}
.nyuukyo-flow-txt p {
  margin: 0;
  text-align: left;
}
.nyuukyo-flow-txt span {
  font-size: 0.8em;
}
@media screen and (max-width: 768px) {
	.nyuukyo-flow-box {
	  padding: 0 20px;
	}
	.nyuukyo-flow-no {
	  width: 36px;
	  height: 36px;
	  border-radius: 50%;
	  background-color: #00a296;
	  color: #fff;
	  font-size: 18px;
	  font-weight: bold;
	  display: flex;
	  justify-content: center;
	  align-items: center;
	  flex-shrink: 0; /* 小さい画面でも縮まない */
	}
	.nyuukyo-flow-txt h4 {
	  font-size: 22px;
	  font-weight: bold;
	  margin: 0 0 10px 0;
	}
}

/*施設紹介
---------------------------------------------------------------------------*/
.facility-zu{
	text-align: center;
	margin-bottom: 80px;
}
.facility-zu img{
	width: 100%;
	max-width: 1179px;
	height: auto;
}
@media screen and (max-width: 768px) {
	.facility-zu{
		padding: 0 20px;
	}
}
.sandan-img-box-plus p{
	text-align: center;
	margin: 0 auto;
}
.sandan-img-box-plus > div {
  align-items: center;  /* ← 中身を横中央に */
}
/* 992px以下で2列 */
@media screen and (max-width: 992px) {
  .sandan-img-box-plus > div {
    flex: 1 1 calc(50% - 30px); /* 2列にする + gap調整 */
    max-width: 100%;            /* 必要に応じて幅制限解除 */
  }
}
@media screen and (max-width: 768px) {
  .sandan-img-box-plus > div {
    flex: 1 1 100%;
  }
}
/*アイコン並べる---------*/
.setsubi-icon ul {
  display: flex;
  flex-wrap: wrap;       /* 横幅いっぱいで折り返す */
  justify-content: center; /* 折り返し行も中央揃え */
  gap: 20px;             /* li間の間隔 */
  padding: 0;
  margin: 0;
  list-style: none;
}

.setsubi-icon li {
  display: flex;
  flex-direction: column; /* 画像の下に文字 */
  align-items: center;    /* 中央揃え */
  width: calc((100% - 20px * 4) / 5); /* 5列で間隔20pxを考慮 */
  box-sizing: border-box;
  text-align: center;
  margin-bottom: 20px; /* 行間の余白 */
}

.setsubi-icon li img {
  max-width: 100%;
  height: auto;
  display: block;
  margin-bottom: 2px; /* 画像と文字の間隔 */
}

/* レスポンシブ対応例 */
/* 992px以下は3列 */
@media screen and (max-width: 992px) {
  .setsubi-icon li {
    width: calc((100% - 20px * 2) / 3);
  }
}

/* 768px以下は2列 */
@media screen and (max-width: 768px) {
  .setsubi-icon li {
    width: calc((100% - 20px) / 2);
  }
  .setsubi-icon {
    padding: 0 20px;
	  font-size: 16px;
  }
}

/*介護サービス*/
.sub-title-text{
	width: 80%;
	margin: -40px auto 80px;
	text-align: center;
}

.service-jigyousho {
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
	justify-content: center; /* 横方向中央揃え */
	align-items: center;     /* 縦方向中央揃え */
	margin: auto;
	padding: 0px 0 40px;
}
.service-jigyousho > div {
	flex: 1 1 calc(50% - 40px); /* 基本2列、gap考慮 */
	max-width: 748px;            /* 最大幅 */
	display: flex;
	flex-direction: column;
	justify-content: center;     /* 高さ中央揃え */
	align-items: flex-start;         /* 中身も中央揃え */
	background-color: #f5f8fa;
	border-radius: 20px;
	padding: 60px 20px;
	text-align: center;
}
.service-jigyousho > div h3{
	text-align: center;
	font-size: 34px;
	line-height: 51px;
	margin: 0 0 24px;
	width: 100%;
}
.service-jigyousho > div p{
	text-align: center;
	width: 100%;
}

/* 768px以下でスマホ1列表示 */
@media screen and (max-width: 1200px) {
	.service-jigyousho {
		gap: 40px;       /* 要素間の余白 */
	}
  .service-jigyousho > div {
    flex: 1 1 100%;
  }
	.service-jigyousho{
		width: 96%;
	}
}
@media screen and (max-width: 768px) {
	.service-jigyousho > div h3{
		text-align: center;
		font-size: 22px;
		line-height: 30px;
		margin: 0 0 14px;
	}
	.service-jigyousho > div {
		padding: 30px 10px;
	}
}


/*費用
---------------------------------------------------------------------------*/
.muryou-box{
	width: 100%;
	max-width: 920px;
	margin: auto;
	padding: 50px;
	background-color: #fff;
	border-radius: 20px;
}
.muryou-txt-01 {
	width: 100%;
	max-width: 710px;
  height: 60px;
  margin: auto;
  background-color: #006fd0;
  border-radius: 30px;
  color: #fff;
  text-align: center;
	font-size: clamp(16px, 4vw, 30px);
  
  display: flex;
  align-items: center;  /* ←縦中央 */
  justify-content: center; /* ←横中央 */
}
.muryou-txt-02{
	width: 100%;
	text-align: center;
	font-size: 60px;
	font-weight: bold;
	line-height: 1.8em;
}
.muryou-txt-03{
	width: 100%;
	text-align: center;
	font-size: 72px;
	line-height: 1.2em;
	font-weight: bold;
	color: #ff0000;
}
@media screen and (max-width: 922px) {
	.muryou-txt-01 {
	  height: 50px;
	  border-radius: 25px;
		font-size: 25px;
	}
	.muryou-txt-02{
		font-size: 55px;
	}
	.muryou-txt-03{
		font-size: 65px;
	}
}
@media screen and (max-width: 768px) {
	.muryou-box{
		width: 90%;
		padding: 30px 50px;
	}
	.muryou-txt-01 {
	  height: 46px;
	  border-radius: 18px;
		font-size: 20px;
	}
	.muryou-txt-02{
		font-size: 36px;
	}
	.muryou-txt-03{
		font-size: 40px;
	}
}
@media all and (max-width:576px){
	.muryou-box{
		width: 90%;
		padding: 30px 10px;
	}
	.muryou-txt-01 {
	  height: 40px;
	  border-radius: 20px;
		font-size: 16px;
	}
	.muryou-txt-02{
		font-size: 22px;
	}
	.muryou-txt-03{
		font-size: 30px;
	}
}

/*表-----------*/
.ryoukin-center-txt{
	text-align: center;
	margin-bottom: 80px;
}
.ryoukin-table{
	width: 800px;
	margin: auto;
	margin-bottom: 80px;
}
.ryoukin-table table {
  width: 100%;
  border-collapse: collapse;
}

.ryoukin-table th,
.ryoukin-table td {
  border: 1px solid #000;
  padding: 12px 16px;
  text-align: left;
}

.ryoukin-table th {
  background-color: #f5f8fa;
  text-align: center;
}

td.ryoukin-table-center{
	text-align: center;
}
td.ryoukin-table-right{
	text-align: right;
}
@media all and (max-width:840px){
	.ryoukin-table{
		width: 90%;
	}
	.ryoukin-bikou{
		font-size: 14px;
		line-height: 1.2em;
	}
}


/*運営会社
---------------------------------------------------------------------------*/
/*運営会社*/
.unei-company-box{
	text-align: center;
}
.unei-company-box p{
	margin-bottom: 26px;
}
.unei-company-box span{
	font-size: 0.85em;
}
.unei-company-title{
	margin-bottom: 26px;
}
.unei-map-box{
	width: 1110px;
	margin: auto;
}
.unei-map-box p{
	margin: 0 0 40px;
}
.unei-map-img{
	text-align: center;
	margin-top: 40px;
}
@media all and (max-width:1200px){
	.unei-map-box{
		width: 90%;
		margin: auto;
	}
}

/*グループバナー*/
.sandan-ul-img-box{
	width: 830px;
	margin: auto;
}
.sandan-ul-img-box ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* PC時：3列 */
  gap: 20px; /* バナー間の余白 */
  list-style: none;
  padding: 0;
  margin: 0 auto;
  max-width: 1200px;
}

/* 922px以下：2列に変更 */
@media screen and (max-width: 922px) {
  .sandan-ul-img-box ul {
    grid-template-columns: repeat(2, 1fr);
  }
	.sandan-ul-img-box{
		width: 80%;
		text-align: center;
	}
}

/* スマホ（600px以下など）：1列 */
@media screen and (max-width: 576px) {
  .sandan-ul-img-box ul {
    grid-template-columns: 1fr;
  }
	.sandan-ul-img-box img{
		max-width: 280px;
		margin: auto;
	}
}

/* 各バナー画像を100%に調整 */
.sandan-ul-img-box li img {
  width: 100%;
  height: auto;
  display: block;
}











