@charset "UTF-8";



/*共通部分
------------------------------- */
html {
    font-size: 62.5%;
    scroll-behavior: smooth;
    height: 100%;
    width: 100%;
}
body{
    font-size: 1.6rem;
    font-family: 'Noto Sans JP', 'Meiryo', sans-serif;
    line-height: 2;
    letter-spacing: 1.3px;
    color: #000;
}
.wrapper {
    max-width: 1080px;
    margin: 0 auto;
    padding: 0 3%;
}

@media screen and (max-width: 640px) {/* 640px以下*/
	body{
		font-size:1.4rem;/*14px*/
		line-height: 1.8;
		letter-spacing: 1px;
	}
	.wrapper {
		padding: 0 5%;
	}
}

a {
    text-decoration: none;
    color:inherit
}
a:hover {
    opacity: 0.9;
}
img {
    max-width: 100%;
}
table {
    width: 100%;
}
button{
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
}
/* 調整用スタイル */
ul,
li {
  list-style: none;
}

/* pankuzulist */
#pankuzulist{
  margin: 10px 0;
}
.pan_list p{
  font-size: 1.2rem;
  font-weight: 500;
}


/*スマホだけ改行*/
.br-sp{ display: none; }
@media screen and (max-width: 767px) {
  .br-sp{ display: block; }
}

/*PCだけ改行*/
.br-pc{ display: block; }
@media screen and (max-width: 767px) {
  .br-pc{ display: none; }
}


/*----------------------------
scroll_up ｜下から上へ出現
----------------------------*/
.scroll_up {
  transition: 0.8s ease-in-out;
  transform: translateY(30px);
  opacity: 0;
}
.scroll_up.on {
  transform: translateY(0);
  opacity: 1.0;
}
/*----------------------------
scroll_left ｜左から出現
----------------------------*/
.scroll_left {
    -webkit-transition: 0.8s ease-in-out;
    -moz-transition: 0.8s ease-in-out;
    -o-transition: 0.8s ease-in-out;
    transition: 0.8s ease-in-out;
    transform: translateX(-30px);
    opacity: 0;
    filter: alpha(opacity=0);
    -moz-opacity: 0;
}
.scroll_left.on {
    opacity: 1.0;
    filter: alpha(opacity=100);
    -moz-opacity: 1.0;
    transform: translateX(0);
}
/*----------------------------
scroll_right ｜右から出現
----------------------------*/
.scroll_right {
    -webkit-transition: 0.8s ease-in-out;
    -moz-transition: 0.8s ease-in-out;
    -o-transition: 0.8s ease-in-out;
    transition: 0.8s ease-in-out;
    transform: translateX(30px);
    opacity: 0;
    filter: alpha(opacity=0);
    -moz-opacity: 0;
}
.scroll_right.on {
    opacity: 1.0;
    filter: alpha(opacity=100);
    -moz-opacity: 1.0;
    transform: translateX(0);
}


/* ボタン
------------------------------- */
.btn{
    margin-top: 3%;
}
a.btn_more {
  display: block;
  max-width: 350px;
  margin: 0 auto;
  padding: 1rem 3rem;
  background-color: #87BC8E;
  border-radius: 50px;
  box-sizing: border-box;
  text-decoration: none;
  transition: 0.3s;
  color: #fff;
}
a.btn_more span.bl__text {
  display: block;
  position: relative;
  text-align: center;
  letter-spacing: 4px;
}
a.btn_more span.bl__text:before {
  content: '';
  width: 20px;
  height: 20px;
  border-radius: 50%;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  margin: auto;
}
a.btn_more:hover {
  background-color: #57755b;
  opacity: 1;
}
a.btn_link{
	display: block;
	margin: 0 auto;
	padding: 1rem 3rem;
	background-color: #87BC8E;
	border-radius: 50px;
	box-sizing: border-box;
	text-decoration: none;
	transition: 0.3s;
	color: #fff;
}
a.btn_link:hover {
  background-color: #57755b;
  opacity: 1;
}


/* header
------------------------------- */
.header_container{
  display: flex;
  justify-content: space-between;
  padding: 20px 40px 0;
  align-items: center;
}
.header-left img{
  width: 120px;
}

@media print, screen and (min-width: 768px) {/*--768pxより大きい場合-- */
	.header-left img{
	  width: 260px;
	}
}


/* navigation
------------------------------- */
.page-nav {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 15px 0;
}
.navigation ul{
  display: flex;
  align-items: center;
  font-weight: 500;
}
.mnav li {
  position: relative;
  list-style: none;
  width: 160px;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  color: #3C5260;
}
.mnav li::before {
  content: "";
  position: absolute;
  transform: translateY(-50%); /* 線の中央を揃える */
  left: 0;
  width: 1px; /* 罫線の幅を調整 */
  height: 60%; /* 罫線の長さを調整 */
  background-color: #0078A3; /* 罫線の色を調整 */
  transform: skewX(-30deg); /* 左斜め */
}
.ti-bl{
	position:relative
}
.main-image {
	width: 100%;
}
.main-image img {
  width: 100%;
  height: auto; 
}
.mokuhyo{
	text-align: center;
	margin: 5% 0;
	position: absolute;
	top: 90%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
}
.mokuhyo img{
    width: 100%;
    max-width: 540px;
}

@media screen and (max-width: 767px) {/*--767pxより小さい場合-- */
    .page-nav {
        display: none;
    }
}

@media print, screen and (min-width: 960px) {/*--960pxより大きい場合-- */
  .header__nav__sp {
      position: static;
      transform: initial;
      background-color: inherit;
      height: inherit;
      display: flex;
      justify-content: end;
      width: 1220px;
  }
	.sp-container{
		display:none;
	}
}


/* ハンバーガーメニュー*/
.sp-container {
  position: fixed;
  top: 0;
  right: 0;
  padding-top: 10px;
  z-index: 200;
}
.menu {
  list-style: none;
  position: fixed;
    top: 0px;
  right: 0;
  width: 100%;
  height: 100vh;
  padding: 0;
  margin: 0;
  clear: both;
  background: #cce6cf;
  transform: translateY(-100%);
  transition: transform 0.3s ease-in-out;
}
.menu.active {
  transform: translateY(0);
	top: 60px;
}

/* Hamburger menu button */
.menu-btn:checked ~ .menu {
  transform: scale(1, 1);
  transform-origin: top;
  transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
}

/* Hamburger menbu text */
.menu a {
  text-decoration: none;
  font-weight: 500;
  letter-spacing: 2px;
  font-size: 1.5rem;
  text-transform: capitalize;
  color: #000;
  opacity: 0;
  transition: 0.5s;
}
.menu li {
  border-top: 1px dotted rgb(56 138 145);
  padding: 6px 0;
  margin: 0 25px;
  opacity: 0;
  transition: 0.5s;
}
.menu-btn:checked ~ .menu a,
.menu-btn:checked ~ .menu li {
  opacity: 1;
  transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.2s;
}
.menu-btn {
  display: none;
}
.menu-icon {
  display: inline-block;
  position: relative;
  cursor: pointer;
  padding: 24px 14px;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.navicon {
  background: #616161;
  display: block;
  height: 3px;
  width: 35px;
  position: relative;
  transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
}
.navicon:before,
.navicon:after {
  content: "";
  display: block;
  height: 100%;
  width: 80%;
  position: absolute;
  background: #616161;
  transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
}
.navicon:before {
  top: 9px;
}
.navicon:after {
  bottom: 9px;
}
.menu .sp-sns {
  display: flex;
  width: 25%;
  margin: 0 auto;
  border-top: initial;
}
.sp-sns a {
  display: inline-block; /* a要素をブロック要素として扱い、パディングを適用 */
  margin: 0 3px; /* アイコンの間の余白 */
  padding: 0 3px; /* アイコンの中央揃え */
}

/* Hamburger Menu Animation Start */
.menu-btn:checked ~ .menu-icon .navicon:before {
  transform: rotate(-45deg);
}
.menu-btn:checked ~ .menu-icon .navicon:after {
  transform: rotate(45deg);
}
.menu-btn:checked ~ .menu-icon:not(.steps) .navicon:before {
  top: 0;
}
.menu-btn:checked ~ .menu-icon:not(.steps) .navicon:after {
  bottom: 0;
}
.menu-btn:checked ~ .menu-icon .navicon {
  background: rgba(0, 0, 0, 0);
  transition: 0.2192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
}

@media print, screen and (min-width: 648px) {/*--648pxより大きい場合-- */
	.menu.active {
	  transform: translateY(0);
		top:105px;
	}
}




/* 施設案内
------------------------------- */
#topInfo{
  padding: 220px 0 5%;
}
.institution-bl{
    display: block;
}
.institution-cts{
    width: 100%;
    margin-bottom: 15%;
}
.institution-cts:first-child{
	margin-right:3%;
}
.enphoto img{
    border-radius: 20px;
}
.enttl{
	margin-bottom: 2%;
}
.enttl h3{
	font-family: "Zen Old Mincho", serif;
    font-size: 180%;
}
.enttl h3::before{
    content: "";
    border-left: 6px solid #8FCB96;
    padding-left: 15px;
}
.cella{
	width: 20%;
	border-top: 2px dotted #8FCB96;
	color:#288934;
}
.cellb{
	border-top: 2px dotted #8FCB96;
}
table tr:last-child .cella,
table tr:last-child .cellb {
  border-bottom: 2px dotted #8FCB96;
}
.cella,
.cellb {
	padding: 5px 0;
}
.entelno{
  font-family: 'Outfit', sans-serif;
}
.entelno {
  display: flex;
  flex-direction: column;
  gap: 10px;
	margin:10px 0;
}
.entelno p {
  font-size: 200%;
  font-weight: 500;
  display: flex;
  align-items: center;
	line-height: normal;
}
.entelno span {
    background-color: #87BC8E;
    padding: 0px 12px;
    font-size: 70%;
    border-radius: 10px;
    margin-right: 15px;
    display: inline-flex;
    align-items: center;
    height: 30px;
    color: #fff;
}
.linkhp{
	font-size: 120%;
	border-radius: 50px;
	color: #fff;
	text-align: center;
	margin: 20px 0;
}

@media print, screen and (min-width: 768px) {/*--768pxより大きい場合-- */
	.institution-bl{
		display: flex;
		justify-content: space-between;
	}
	.institution-cts{
		width: 50%;
		margin-bottom: 0;
	}
}



/* お知らせ
------------------------------- */
#topTopics{
  padding: 5% 0;
}
.topTopics-bl{
  display: flex;
  align-items: stretch;
  justify-content: space-between;
}
.tT-ttl{
	margin-bottom: 4%;
}
.tT-contents-ttl {
	font-size: 3.5rem;
	line-height: 1;
	letter-spacing: 2px;
	color: #707070;
	font-family: "Zen Old Mincho", serif;
	font-weight: 500;
	position: relative;
	margin-bottom: 10px;
	text-align: center;
}
.tT-contents-ttl::after {
	content: "";
	display: block;
	width: 100%;
	height: 20px;
	background-image: url(../images/dotted.png);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 5% auto;
	margin-top: 10px;
}
.tT-ttl img{
	width: 80px;
}
.top-news{
  flex: 2;
}
.top-news_list{
  padding: 20px 15px;
}
.top-news__item{
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  padding: 10px 0;
  margin: 0 -10px 0 0;
}
.top-news__item-date {
  font-weight: 500;
  width: 135px;
}
.top-news__item-title {
  flex: 1 1 0%;
  min-width: 50%;
}
.top-news article:first-of-type .top-news__item {
	border-top: 3px double #c8c8c8;
}.top-news article:last-of-type .top-news__item {
	border-bottom: 3px double #c8c8c8;
}
.top-news article:not(:first-of-type) .top-news__item {
	border-top: 1px dashed #c8c8c8;
}




/* TOP-お問い合わせ
------------------------------- */
.contact-banner{
    text-align: center;
}
.contact-banner button{
    display: block;
    max-width: 1000px;
    margin: 0 auto;
    padding: 1rem 3rem;
    background-color: #87BC8E;
    border-radius: 50px;
    box-sizing: border-box;
    text-decoration: none;
    transition: 0.3s;
    color: #fff;
    width: 100%;
}
.contact-banner button a{
    color: #fff;
    font-size: 170%;
    font-family: 'Zen Old Mincho';
}
.contact-banner button a::before {
    content: "";
    display: inline-block;
    width: 30px; 
    height: 30px;
    background-image: url(../images/mail.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain; 
    margin-right: 10px; 
	vertical-align: bottom;
}
.contact-banner button:hover{
    background-color: #57755b;
}

/*福祉の心
------------------------------- */
.linen-moji{
	line-height: 3;
	letter-spacing: 2px;
	font-family: "Zen Old Mincho", serif;
	font-weight: 500;
	position: relative;
	margin-bottom: 10px;
}

.linen-three{
	font-size: 2rem;
	font-family: "Zen Old Mincho", serif;
	font-weight: 500;
	position: relative;
	margin-bottom: 15px;
	padding: 0px 35px;
}
.linen-three::before{
	content: "";
	display: inline-block;
	width: 30px; 
	height: 30px;
	background-image: url(../images/ichi.png);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain; 
	margin-right: 10px; 
	vertical-align: text-top;
}


/* footer
------------------------------- */
footer{
    border-top: 1px solid #D3D3D3;
    background-color: #F4F4E6;
}
.page-footer{
	padding: 3% 0;
	text-align: center;
}
.footer-logo{
  margin-bottom: 20px;
}
.footer-logo img{
  width: 145px;
}
.footer-access{
  font-size: 1.3rem;
  margin: 10px 0;
}
.footer-pp{
    font-size: 1.1rem;
    display: flex;
    justify-content: center;
}

.small{
  text-align: center;
  padding: 10px 0;
  background-color: #87BC8E;
  color: #fff;
}
.copyright{
  font-size:1rem ;
}



/* page title
------------------------------- */
#page_title{
    background-color: #87BC8E;
}
.page_title_block{
  padding:5% 0;
  text-align: center;
}
.page_title_block h2{
    font-family: 'Zen Old Mincho';
    font-size: 200%;
    letter-spacing: 10px;
    color: #fff;
    font-weight: 600;
    line-height: 1.5;
}


/* page
------------------------------- */
.main_contents{
  margin-top: 90px;
  margin-bottom: 90px;
}


/* ［page］お問い合わせフォーム
------------------------------- */
.form_ttl{
  color: #223C81;
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: 2px;
	margin-bottom:5px;
}
.contact--item{
	background-color: #f4f4f4;
	padding: 20px 20px 40px;
	border-radius: 10px;
	border: 4px solid #dae1ee;
}
.contact--item__list{
    padding: 10px 10px;
    background-color: #fff;
    border-radius: 10px;
}
.contact--item__list li{
    font-weight: 600;
    padding-left: 10px;
    letter-spacing: 1px;
}
.contact--item_btn a{
	color: #fff;
	background-color: #23518e;
	padding: 10px 50px;
	font-size: 1.2rem;
}
.contact--tel{
	font-size: 2rem;
	font-weight: 700;
	background-image: url(../images/icon_tel.png);
	background-repeat: no-repeat;
	background-size: 35px;
	background-position: left;
	margin-left: 8%;
	padding-left: 20px;
}
.contact--formbtn{
	justify-content:center;
}
.c-comment{
	font-size:1.3rem;
}
#cf-tbl{
	border-radius: 5px;
	padding-top: 20px;
}
#cf-tbl table{
	width: 100%;
	border-collapse: collapse;
}
#cf-tbl table tr th,
#cf-tbl table tr td{
	padding: 1em;
	text-align: left;
	vertical-align: top;
	border-width: 1px;
	vertical-align: middle;
}
#cf-tbl table tr th{
	width: 25%;
	padding-left: 3%;
}


/* ------ラジオボタンデザイン------ */
.wpcf7-list-item.first {
  margin: 0;
}
.wpcf7-list-item-label {
  cursor: pointer;
  display: flex;
}
/* デフォルトのボタン */
input[type="radio"] {
  opacity: 0; /* デフォルトのボタンを非表示 */
  position: absolute;
}
input[type="checkbox"] {
  opacity: 0; /* デフォルトのボタンを非表示 */
  position: absolute;
}
/* チェック前のボタン */
.wpcf7-list-item-label::before {
  background: #fff;
  border: 1px solid #333;
  border-radius: 100%; 
  content: "";
  height: 1.2em;
  margin-bottom: auto;
  margin-right: .5em;
  margin-top: auto;
  transition: background-color .5s; 
  width: 1.2em;
}
/* チェック後のボタン */
input[type="radio"]:checked + .wpcf7-list-item-label::before {
  background-color: #45c6d4; /* チェック後の中心の色 */
  box-shadow: inset 0 0 0 3px #fff; /* 中心の色のスタイル */
}
input[type="checkbox"]:checked + .wpcf7-list-item-label::before {
  background-color: #45c6d4; /* チェック後の中心の色 */
  box-shadow: inset 0 0 0 3px #fff; /* 中心の色のスタイル */
}
/* --------------------------------- */

@media screen and (max-width:768px){
	#cf-tbl{
	width: 100%;
	}

	#cf-tbl table,
	#cf-tbl table tbody,
	#cf-tbl table tr,
	#cf-tbl table tr th,
	#cf-tbl table tr td{
	display: block;
	}

	#cf-tbl table{
	width: 100%;
	border-width: 0 0 1px 0;
	}

	#cf-tbl table tr th,
	#cf-tbl table tr td{
	width: 95.7%;
	padding: 3% 2%;
	}

	#cf-tbl table tr td{
	border-width: 0px 1px 0px 1px;
	}
}

/*「必須」文字デザイン*/
.required{
    font-size: .8em;
    font-weight: 400;
    padding: 5px;
    color: #cb001d;
}

/*「任意」文字デザイン*/
.optional{
font-size:.8em;
padding: 5px;
background: #000080;
color: #fff;
border-radius: 3px;
margin-right: 5px;
}

/* 入力項目を見やすく */
input.wpcf7-form-control.wpcf7-text,
textarea.wpcf7-form-control.wpcf7-textarea {
	width: 95%;
	padding: 10px 10px;
	margin-right: 10px;
	border: 1px solid #d0d5d8;
	border-radius: 10px;
	background-color: #fff;
    line-height: 30px;
	font-size:1.5rem;
}
::placeholder {
  color: #989898;
}
textarea.wpcf7-form-control.wpcf7-textarea {
	height: 200px;
}

/* 「送信する」ボタン */
input.wpcf7-submit {
	display: block;
	padding: 15px;
	width: 400px;
	background: #87BC8E;
	color: #fff;
	font-size: 1.6rem;
	font-weight: 500;
	margin: 15px auto 0;
	border: none;
	border-radius:5px;
}
select.wpcf7-form-control{
	padding: 5px 45px;
}

@media screen and (max-width:768px){
	input.wpcf7-submit {
	width: 250px;
	}
}

input.wpcf7-submit:hover {
	opacity:0.7;
}

/* 同意チェック */
.acceptance__ch{
	text-align:center;
	margin: 4% 0;
}
.acceptance__ttl{
	font-weight:700;
}
.acceptance__ttl strong{
	color:#0000B2;
	font-weight:700;
}
.acceptance__txt{
	margin-bottom: 25px;
}
.acceptance__btn{
    border: 1px solid #d9d9d9;
    padding: 10px;
    width: 80%;
    margin: 0 auto;
    background-color: #fff;
}
.optional {
    font-size: 1rem;
    padding: 5px;
    color: #000;
    background-color: #fff;
    margin-right: 5px;
}

@media screen and (max-width:768px){
	.acceptance__btn{
		width: 95%;
	}
}

/* エラーメッセージを見やすく */
span.wpcf7-not-valid-tip,
.wpcf7-response-output.wpcf7-validation-errors {
	color: red;
	font-weight: 600;
}



/* archive*/
.main_column{
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 auto;
  padding-top: 4%;
  padding-bottom: 4%;
}
.topics_contents{
  padding: 0;
  margin-right: 0px;
  flex: 1 1 0%;
}
.main_inner{
  padding: 0;
  margin: 0;
}
.post{
	margin:0 0%;
	padding: 0 0 2rem;
}
.post h2 {
	margin: 0px 0 10px;
	padding-bottom: 2px;
	font-size: 1rem;
	font-weight: 500;
	color: #5f6a5f;
	border-bottom: 1px solid #c0d1dc;
}
.wp-block-latest-posts__list li{
	border-bottom: 1px dotted #d0d0d0;
	padding: 10px 0;
}

@media print, screen and (min-width: 960px) {
	.topics_contents{
		margin-right: 20px;
	}
	.post h2 {
		margin: 10px 0;
		font-size: 130%;
		font-weight: normal;
	}
}

