/* =========================================================
   介護施設 コーポレートサイト用 CSS（全面リニューアル版）
   このファイルの中身で、既存のCSSファイルをまるごと置き換えてください。
   ※ 横幅がpx固定のレイアウト（写真とテキストの2カラム部分など）は
     崩れの原因になりやすいため、意図的に元の数値のまま残しています。
   ========================================================= */

:root{
  /* ---- 介護施設らしい「安心・清潔・あたたかさ」を軸にした配色 ---- */
  --forest-900:#2E3A32;   /* 見出し・本文の濃色（黒より柔らかい） */
  --forest-700:#3F5A48;   /* メインカラー（深緑） */
  --forest-500:#6B8A76;   /* サブカラー */
  --sage-100:#EAF1EC;     /* うすい緑背景 */
  --sand-50:#FBF8F2;      /* 生成りの背景色 */
  --apricot:#DC8B5B;      /* 差し色（あたたかいアプリコット） */
  --apricot-dark:#C4703F;
  --line:#E3DED1;         /* 枠線・区切り線（生成り系） */
  --text:#2E3A32;
  --text-sub:#5B6B60;

  --radius-lg:18px;
  --radius-md:12px;
  --radius-sm:8px;
  --shadow-soft:0 4px 18px rgba(46,58,50,0.08);
  --shadow-hover:0 10px 28px rgba(46,58,50,0.14);
  --ease:cubic-bezier(.4,0,.2,1);
}

* {
margin: 0px;
padding: 0px;
font-family:"Hiragino Kaku Gothic ProN","ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"游ゴシック体",YuGothic,"ＭＳ Ｐゴシック",Helvetica,Arial,Verdana,sans-serif;
}
h1, h2, h3, h4, h5, h6, strong, b {
font-weight:bold;
}

/* ---- 今回いちばん重要な変更点：文字サイズを全体的に拡大 ---- */
body {
font-size: 100%;
}
html>body {
font-size: 16px; /* 元は13px。高齢の方・ご家族にも読みやすいサイズに */
}
img {
border:none;
margin: 0px;
padding: 0px;
vertical-align:middle;
}
a {
outline:none;
}
body {
line-height:180%; /* 元は150%。行間を広めにして読みやすく */
color:var(--text);
-webkit-font-smoothing:antialiased;
letter-spacing:.02em;
}
.clear {
clear:both;
}
.clearfix {zoom:1;}
.clearfix:after {
  content: "";
  display: block;
  clear: both;
}
.hide {
display:none;
}
a {
color:var(--forest-700);
text-decoration:underline;
transition:color .2s var(--ease), opacity .2s var(--ease);
}
a:hover {
	opacity:1;
	color:var(--apricot-dark);
}
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible {
	outline: 3px solid var(--apricot);
	outline-offset: 2px;
}
body{
	text-align:center;
	background:var(--sand-50);
}
.wrapper {
	background:var(--sand-50);
}
#container, #container_sub {
	background:var(--sand-50);
}
#content {
	width:980px;
	margin:0 auto;
	text-align:left;
}
#main {
	width:730px;
	float:right;
}
#sidebar {
	width:220px;
	float:left;
}
#footer {
	clear:both;
}
#header {
	width: 980px;
	margin: 0 auto;
	position:relative;
	text-align: left;
}
#header h1 {
	padding:36px 0 28px 0;
	width: 640px;
	line-height: 1.3;
}
#header h1 a {
	font-size:26px;
	font-weight:bold;
	text-decoration:none;
	color:var(--forest-900);
	letter-spacing:.03em;
}
#head_nav {
	position:absolute;
	top:8px;
	right:0;
	width:340px;
	text-align: right;
}
#header ul, #header li {
	list-style:none;
	display:inline;
	padding:0 0 0 5px;
}
#head_nav ul li a:hover img {
	opacity:0.75;
}

/* ---- メインビジュアル：角丸カード化（幅は元のまま） ---- */
.mainSlideIn {
	box-sizing:content-box;
	width:730px;
	padding:30px 0 0;
}
.bx-wrapper {
    margin-bottom:40px !important;
	height:304px !important;
}
#mainSlide{
	margin:0;
}
#mainSlide li {
	height:304px !important;
	width:730px;
	position:relative;
	background:rgba(46,58,50,0.08);
	overflow:hidden;
	border-radius:var(--radius-lg);
	box-shadow:var(--shadow-soft);
}
#mainSlide li img {
	position:absolute;
	left:0;
	width:730px;
	height:auto;
}
.bx-wrapper .bx-pager.bx-default-pager a {
	background: #d8cfba;
	text-indent: -9999px;
	display: block;
	width: 9px;
	height: 9px;
	margin: 0 8px;
	outline: 0;
	cursor:pointer;
	border-radius:9px;
}
.bx-wrapper .bx-pager.bx-default-pager a:hover ,
.bx-wrapper .bx-pager.bx-default-pager a.active {
	background: var(--forest-700);
	opacity:0.9;
}
.bx-wrapper .bx-controls-direction a {
	width:44px;
	height:44px;
	margin:0;
	top:130px;
	cursor:pointer;
	border-radius:50%;
	transition:transform .2s var(--ease);
}
.bx-wrapper .bx-controls-direction a:hover{
	transform:scale(1.08);
}
.bx-wrapper .bx-prev {
	background:url(https://assets.toriaez.jp/thp2/pc/images/143/btn-slider_001.png) 15px center no-repeat var(--forest-700);
	opacity:0.85;
	left:10px;
}
.bx-wrapper .bx-prev:hover {
	background-color:var(--forest-900);
	opacity:1;
}
.bx-wrapper .bx-next {
	background:url(https://assets.toriaez.jp/thp2/pc/images/143/btn-slider_002.png) 18px center no-repeat var(--forest-700);
	opacity:0.85;
	right:10px;
}
.bx-wrapper .bx-next:hover {
	background-color:var(--forest-900);
	opacity:1;
}

#lead_area {
	margin:40px 0;
}
#lead_area #site_discription {
	width: 345px;
	float: left;
	line-height: 1.8;
	font-size:1.05em;
	color:var(--text);
}
#lead_area .block#site_discription {
	width: 100%;
}
#site_discription h2 {
	font-size:18px;
	font-weight:bold;
	color:var(--forest-900);
	margin-bottom:10px;
}
#lead_area #cover {
	width:375px;
	float: right;
	background-color:#fff;
	text-align:center;
	border-radius:var(--radius-md);
	box-shadow:var(--shadow-soft);
	overflow:hidden;
}
#lead_area #cover p {
	width:365px;
	margin:0 auto;
	padding:5px 0 5px 0;
}
#lead_area #cover p img{
	max-width:365px;
}

/* ---- お知らせ：カード化（元は border5px+padding15pxで合計730。
       border幅を減らした分は左右のpaddingを変えずに上下だけ余裕を持たせています） ---- */
#topics {
	width:690px;
	background-color:#fff;
	border: var(--line) 2px solid;
	border-radius:var(--radius-lg);
	padding: 20px 15px;
	margin-bottom: 36px;
	box-shadow:var(--shadow-soft);
}
h3.topics-title {
	font-size:18px;
	font-weight: bold;
	padding: 0 0 0 14px;
	margin: 0 0 15px 0;
	border-left: var(--apricot) 5px solid;
	color:var(--forest-900);
}
#topics .topics-entry {
	max-height:200px;
    height: auto;
	overflow-x : hidden;
	overflow-y : auto;
}
#topics dl {
	font-size:15px;
}
#topics dt {
	color: var(--forest-700);
	font-weight:bold;
	float: left;
}
#topics dd {
	border-bottom: var(--line) dashed 1px;
	padding: 0 0 10px 100px;
	margin: 0 0 10px 0;
}

/* ---- 記事ブロック：幅固定の2カラムなので外側にpaddingは足さず、
       内側のentry/figureにbox-sizing:border-boxで安全にpaddingを入れています ---- */
.article_box {
	margin-bottom:56px;
	clear:both;
	background:#fff;
	border-radius:var(--radius-lg);
	border:1px solid var(--line);
	box-shadow:var(--shadow-soft);
	overflow:hidden;
}
.article_title h2 {
	font-size:20px;
	padding: 18px 20px 16px 20px;
	margin-bottom: 0;
	background:var(--sage-100);
	color:var(--forest-900);
	border-bottom:1px solid var(--line);
}
.article_box .entry {
	font-size:16px;
	width:450px;
	float:left;
	padding:20px 0 20px 20px;
	box-sizing:border-box;
	line-height:1.85;
}
.article_box .article_figure {
	width:230px;
	float:right;
	padding:20px 20px 20px 0;
	box-sizing:border-box;
}
.article_box .article_figure img{
	width:100%;
	border-radius:var(--radius-md);
}
.article_box .article_figure p {
	background: var(--sage-100);
	padding: 6px;
	border-radius:var(--radius-md);
}
.article_box .article_figure span {
	display:block;
	font-size:13px;
	padding:5px 2px 2px 2px;
	color:var(--text-sub);
}
.no-img .entry {
	float:none;
	width:100%;
	padding:20px;
}
.article_box .entry table {
 	border-collapse:collapse;
    border:var(--line) 1px solid;
	width:100%;
}
.article_box .entry table th,
.article_box .entry table td {
	border:var(--line) 1px solid;
	padding:12px;
}
.article_box .entry table th{
	background:var(--sage-100);
	color:var(--forest-900);
}

#inquiry {
	text-align:center;
}
#inquiry a{
	display:inline-block;
	padding:16px 40px;
	border-radius:999px;
	background:linear-gradient(135deg, var(--forest-700), var(--forest-900));
	color:#fff !important;
	text-decoration:none !important;
	font-weight:bold;
	font-size:1.1em;
	letter-spacing:.05em;
	box-shadow:var(--shadow-soft);
	transition:transform .2s var(--ease), box-shadow .2s var(--ease);
}
#inquiry a:hover{
	transform:translateY(-2px);
	box-shadow:var(--shadow-hover);
}

/* ---- グローバルナビ：はっきり見える大きめボタンに ---- */
#global_nav {
	margin-bottom:30px;
}
#global_nav dl{
	overflow:hidden;
}
#global_nav dl dt{
	background:linear-gradient(180deg, var(--forest-500), var(--forest-700));
	padding: 20px 0;
	border-radius:var(--radius-sm);
	margin-bottom:3px;
	transition:transform .2s var(--ease);
}
#global_nav dl dt:hover {
	background:linear-gradient(180deg, var(--forest-700), var(--forest-900));
	transform:translateX(3px);
}
#global_nav dl dt a{
	display:block;
	font-size:14px;
	font-weight:bold;
	color: #fff;
	text-decoration:none;
	padding: 0 25px 0 15px;
	background:none;
}
#global_nav dl dd {
	background: var(--forest-700);
	padding: 18px 0;
	border-radius:var(--radius-sm);
	margin-bottom:3px;
	transition:transform .2s var(--ease), background-color .2s var(--ease);
}
#global_nav dl dd:hover {
	background: var(--forest-900);
	transform:translateX(3px);
}
#global_nav dl dd a{
	display:block;
	font-size:13px;
	color: #fff;
	text-decoration:none;
	padding: 0 25px 0 28px;
	background:none;
}

/* ---- サイドバー各ボックス：固定幅がないので自由にカード化してOK ---- */
#about {
	clear:both;
	margin-bottom:30px;
	background:#fff;
	border-radius:var(--radius-md);
	box-shadow:var(--shadow-soft);
	overflow:hidden;
}
h3.about_title {
	background-color:var(--forest-900);
	color:#fff;
	padding:12px 15px;
	font-size:15px;
	font-weight:bold;
}
#about li {
	list-style:none;
	background:none;
	border-bottom:1px solid var(--line);
	font-size:13px;
	padding: 0;
}
#about li:last-child{
	border-bottom:none;
}
#about li:hover {
	background:var(--sage-100);
}
#about li a{
	display:block;
	font-size:14px;
	text-decoration:none;
	padding:12px 15px;
	color:var(--text);
	background:none;
}

#blog {
	margin-bottom:30px;
	background: #fff;
	border-radius:var(--radius-md);
	box-shadow:var(--shadow-soft);
	overflow:hidden;
}
h3.blog_title {
	background-color:var(--forest-900);
	color:#fff;
	padding:12px 15px;
	font-size:15px;
	font-weight:bold;
}
#blog  dt {
	padding: 12px 15px 4px 15px;
	font-size:13px;
	color: var(--forest-700);
	font-weight:bold;
	background: #fff;
}
#blog  dd  {
	padding: 0 15px 12px 15px;
	font-size:13px;
	background: #fff;
	border-bottom: var(--line) dashed 1px;
}
.more-btn-area {
	padding: 10px 15px;
	text-align: right;
}
.more-btn-area a:hover img{
	opacity:0.8;
}

#qrcode{
	background: #fff;
	margin-bottom:30px;
	border-radius:var(--radius-md);
	box-shadow:var(--shadow-soft);
	overflow:hidden;
}
h3.qrcode_title {
	background-color:var(--forest-900);
	color:#fff;
	padding:12px 15px;
	font-size:15px;
	font-weight:bold;
}
#qrcode img {
	float: left;
	margin: 20px 10px;
}
#qrcode p{
	float: right;
	width: 90px;
	margin: 20px 10px 20px 0;
	line-height: 1.6;
	font-size:12px;
	color:var(--text-sub);
}

#footer {
	background:linear-gradient(180deg, var(--forest-900), #202B24);
	position:relative;
}
#footer #copyright {
	padding:30px 0;
}
#footer #copyright address {
	font-style:normal;
	color:#fff;
	letter-spacing:.05em;
}
#pagetop {
	clear:both;
	width:980px;
	margin: 30px auto 20px;
}
#pagetop .pagetopIn {
	text-align:right;
}
#pagetop .pagetopin a:hover img{
	opacity:0.8;
}
h3.page_title {
	font-size:22px;
	text-align:left;
	margin:50px 0 10px 0;
	color:var(--forest-900);
}
#page_title h3{
	text-align:left;
	color:#fff;
	padding:1px;
	margin-left:25px;
	font-size:13px;
}
#pnkz {
	font-size:13px;
	text-align:left;
	margin-bottom: 73px;
	color:var(--text-sub);
}

#side-area{
	margin:30px auto;
	padding:20px;
	background:#fff;
	border-radius:var(--radius-md);
	border: 2px solid var(--line);
	box-shadow:var(--shadow-soft);
}
#foot-area{
	margin:30px auto 30px auto;
	padding:20px;
	background:#fff;
	border-radius:var(--radius-md);
	border: 2px solid var(--line);
	box-shadow:var(--shadow-soft);
}
#map,#profile,#form {
width:730px;
margin:0 auto;
}
#map iframe{
	margin-bottom:30px;
	width: 730px;
	height: 500px;
	border-radius:var(--radius-md);
}
#form {
padding-bottom:60px;
}
#form table, #map table, #profile table {
width:730px;
text-align:left;
border-collapse: collapse;
border: 2px solid var(--line);
margin:0 auto 30px auto;
}
#form th, #map th, #profile th {
width:180px;
border: 1px solid var(--line);
background-color:var(--sage-100);
font-size: 1em;
font-weight: bold;
text-align: center;
padding: 1.1em;
vertical-align:middle;
color:var(--forest-900);
}
#form td, #map td, #profile td {
line-height:180%;
border: 1px solid var(--line);
background-color:#fff;
padding: 1.1em;
}
.ptb {
padding:.6em 0;
}
#contact_submit td {
padding: 1.4em 0;
text-align:center;
border:none;
background:none;
}
.warning span{
color:#C0392B;
}
.validation_span{
color:#C0392B;
}
#lead_s{
	line-height:180%;
	margin-bottom: 30px;
	font-size:1.05em;
}
.validation-advice {
margin-top: 4px;
color: #C0392B;
}
.warning {
line-height :160%;
padding:0 0 6px 0;
}
.w_mark {
color: var(--text-sub);
}
.thaks {
line-height: 170%;
padding :0 16px 40px 0;
}
input,textarea {
color:var(--text);
padding:.6em .5em;
border:1px solid var(--line);
border-radius:var(--radius-sm);
font-size:1em;
}
input:focus,textarea:focus {
background:var(--sage-100);
border-color:var(--forest-500);
outline:none;
box-shadow:0 0 0 3px rgba(107,138,118,0.2);
}
#map th, #profile th , .map th, .profile th {
width: 22%;
}
#map td, #profile td , .map td, .profile td {
word-break:break-all;
}
#side-area img{
	max-width: 100%;
	border-radius:var(--radius-sm);
}
#foot-area img{
	max-width: 100%;
	border-radius:var(--radius-sm);
}
.box ul, .box1 ul, .box2 ul, .box3 ul,
.articleBox ul, .entry_box ul, .entryBox ul,
.article-box ul, .article ul, .article_box ul{
    list-style-type: disc;
}
.box ol, .box1 ol, .box2 ol, .box3 ol,
.articleBox ol, .entry_box ol, .entryBox ol,
.article-box ol, .article ol, .article_box ol {
    list-style-type: decimal;
}
.box ul, .box1 ul, .box2 ul, .box3 ul,
.articleBox ul, .entry_box ul, .entryBox ul,
.article-box ul, .article ul, .article_box ul,
.box ol, .box1 ol, .box2 ol, .box3 ol,
.articleBox ol, .entry_box ol, .entryBox ol,
.article-box ol, .article ol, .article_box ol {
    margin-left: 22px;
}
#side-area table,.side-area table,
#foot-area table,.foot-area table{
    border-collapse: collapse;
	width:100%;
}
#side-area table th,.side-area table th,
#side-area table td,.side-area table td,
#foot-area table th,.foot-area table th,
#foot-area table td,.foot-area table td
{
    border: var(--line) 1px solid;
    padding: 10px;
}
.article_box img {
    max-width: 100%;
}
.box_entry1 img,.box_entry2 img {
    max-width: 100%;
}
.entryText img,.entryTextBox img,.box-entry1 img,.box-entry2 img,
.article-txt img,.article-entry img,.entry-box img {
    max-width: 100%;
}

/* ---- 動きを抑えたい方への配慮 ---- */
@media (prefers-reduced-motion: reduce) {
  *{
    transition:none !important;
    animation:none !important;
  }
}

/* ---- スマホ表示 ---- */
@media (max-width: 768px){
	#content{ width: auto; padding: 0 16px; }
	#main{ width: 100%; float: none; }
	#sidebar{ width: 100%; float: none; margin-top: 24px; }
	#map,#profile,#form{ width: 100%; }
	#map iframe{ width: 100%; height: 320px; }
	.article_box .entry,
	.article_box .article_figure{
		float:none;
		width:100%;
		padding:20px;
	}
	.article_title h2{
		font-size:18px;
	}
}
/* お問い合わせ・Contact・Accessボタンの画像を緑系に寄せる */
#head_nav img,
#inquiry img {
	filter: hue-rotate(-125deg) saturate(1.15) brightness(0.92);
	transition: opacity .2s ease, filter .2s ease;
}
#head_nav a:hover img,
#inquiry a:hover img {
	opacity: 0.85;
}