@charset "UTF-8";

/*///////////////////////////////////////
全体設定
///////////////////////////////////////*/
*,*:before,*:after {
 box-sizing: border-box;
}

hr{margin: 0;}

html {
 box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
 font-size: 62.5%;
 height: 100%;
 scroll-behavior: smooth;
 scroll-padding-top: 50px;
}

body {
 color: #333;
 font-family: "Zen Maru Gothic", sans-serif!important;
 background:#fff;
 font-size: 16px!important;
 font-weight: 400;
 line-height: 1.8!important;
 margin:0;
 padding:0;
 max-width: 100%;
 height: 100%;
 word-wrap: break-word;
}

img {
 max-width:100%;
 height: auto;
}

a{
 text-decoration: none;
}

a:hover{
 opacity: 0.7;
 transition: 0.8s;
 color:  #3b7352;
}

a:visited{
 /*color: inherit!important;/*親と同じ*/
}

ul{
 padding-left: 0;
}

/*インスタ*/
.sbi_feedtheme_header_text{
 color: #3b7352;
}
.sbi_feedtheme_header_text a{
 color: #3b7352;
}

/*///////////////////////////////////////
フォント
///////////////////////////////////////*/
.zen-maru-gothic-light {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 300;
  font-style: normal;
}

.zen-maru-gothic-regular {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.zen-maru-gothic-medium {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  font-style: normal;
}

.zen-maru-gothic-bold {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.zen-maru-gothic-black {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 900;
  font-style: normal;
}

/*数字のみ別のフォントに*/
.number {
 font-family: 'Quicksand', 'Zen Maru Gothic', sans-serif;
 letter-spacing: 0.05em;
}





/*フェードイン*/
/* 画面外にいる状態 */
.fadein {
 opacity : 0.1;
 transform : translate(0, 50px);
 transition : all 500ms;
}

/* 画面内に入った状態 */
.fadein.scrollin {
 opacity : 1;
 transform : translate(0, 0);
}


/*簡易表示切り替え用*/
.pc { display: block !important; }
.sp { display: none !important; }
@media only screen and (max-width: 750px) {
.pc { display: none !important; }
.sp { display: block !important; }
}
@media only screen and (max-width: 750px) {
img { max-width: 100%; }
}


/*///////////////////////////////////////
画面内に入ったら下から出てくる
fade-upを個別につければ勝手に遅れて徐々に表示される
///////////////////////////////////////*/
.fade-up {
 opacity: 0;
 transform: translateY(30px);
 transition: opacity 0.8s ease, transform 0.8s ease;
}
.fade-up.is-visible {
 opacity: 1;
 transform: translateY(0);
}


/*///////////////////////////////////////
パンくず
///////////////////////////////////////*/
div#breadcrumb {
 font-size: 94%;
 /*background-color: rgba(243,243,243,1.00);*/
}

div#breadcrumb ul{
 padding:5px 5px 5px 20px;
 margin: 0;
}

div#breadcrumb  ul li{
 display:inline;
 line-height:20px;
 font-size: 0.7em;
 font-weight: bold;
}

div#breadcrumb  ul li a{
 color: #3b7352;
}

/*///////////////////////////////////////
ヘッダー
///////////////////////////////////////*/
#site-header {
  background: #fff;
  width: 100%;
  height: 70px;
  /*position: fixed;*/
  top: 0;
  z-index: 999;
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
  transition: top 0.3s;
}
.header-inner {
  max-width: 1200px;
  height: 100%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 20px;
}
.fixed-header {
  position: fixed;
  top: 0;
  left: 0;
  background: #fff;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

/* ロゴ */
.site-logo{
 line-height: 1.2;
 text-align-last: justify;
}
.site-logo a {
 font-size: 1em;
 font-weight: bold;
 color: #525252;
}
.site-logo span {
 display: block;
 font-size: 0.4em;
}

/* ロゴ　フッター */
.site-logo02{
 line-height: 1.2;
}
.site-logo02 a {
 font-size: 1em;
 color: #525252;
}
.site-logo02 span {
 display: block;
 font-size: 0.4em;
}

/* ナビメニュー */
.site-nav ul {
  display: flex;
  list-style: none;
}
.site-nav li {
  margin-left: 30px;
}

/*現在のページに●印*/
.site-nav .current-menu-item > a::before {
 content: "●";
 color: #3b7352;
 margin-right: 5px;
 font-size: 0.9em;
}

/*ホバーアクション*/
.site-nav a {
  font-size: 16px;
  font-weight: bold;
  transition: 0.3s;
  position: relative;
  display: inline-block;
  color: #333;
  text-decoration: none;
  transition: color 0.3s ease;
}
.site-nav a::after {
  content: '';
  position: absolute;
  bottom: -3px;
  left: 0;
  width: 0;
  height: 2px;
  background-color: #3b7352;
  transition: width 0.3s ease;
}
.site-nav a:hover {
  color: #3b7352;
}
.site-nav a:hover::after {
  width: 100%;
}
.site-nav a:hover {
  color: #3b7352;
  transform: translateY(-2px);
}
.site-nav a {
  transition: color 0.3s ease, transform 0.3s ease;
}



/* ハンバーガーアイコン */
#nav-toggle {
  display: none;
  width: 30px;
  height: 25px;
  position: relative;
  cursor: pointer;
  z-index: 1001;
}
#nav-toggle span {
  position: absolute;
  height: 3px;
  width: 100%;
  background: #333;
  left: 0;
  transition: 0.5s;
}
#nav-toggle span:nth-child(1) { top: 0; }
#nav-toggle span:nth-child(2) { top: 11px; }
#nav-toggle span:nth-child(3) { top: 22px; }

/* open時の動き */
body.open #nav-toggle span:nth-child(1) {
  transform: rotate(45deg);
  top: 11px;
}
body.open #nav-toggle span:nth-child(2) {
  opacity: 0;
}
body.open #nav-toggle span:nth-child(3) {
  transform: rotate(-45deg);
  top: 11px;
}

/* SPメニュー初期状態 */
@media screen and (max-width: 768px) {
.site-logo{
 text-align-last: auto;
}

#site-header {
  position: fixed;
  top: 0;
  z-index: 999;
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

  .site-nav {
    position: fixed;
    top: 0;
    right: -100%;
    width: 80%;
    height: 100vh;
    background: #3b7352;
    transition: right 0.4s ease-in-out;
    z-index: 1000;
    padding-top: 80px;
  }
  body.open .site-nav {
    right: 0;
  }
  .site-nav ul {
    flex-direction: column;
    align-items: center;
  }
  .site-nav li {
    margin: 20px 0;
  }

  #nav-toggle {
    display: block;
  }

  .site-nav ul {
    margin-top: 30px;
  }

  .site-nav a{
   color: #fff;
   border-bottom: 3px dotted #fff;
  }
  .site-nav a:visited{
   color: #fff!important;
  }
}

/* オーバーレイ背景 */
.overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.5); /* 半透明の黒 */
  z-index: 998;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s;
}
body.open .overlay {
  opacity: 1;
  pointer-events: auto;
}

/* スクロールを止める */
body.open {
  overflow: hidden;
}



/*///////////////////////////////////////
見出し
///////////////////////////////////////*/
.sec-h2{
 display: block;
 color: #333;
 font-size: 30px;
 margin-top: 0;
 line-height: 1.2;
}
.sec-h2 span{
 display: block;
 color: #3b7352;
 font-size: 0.9em;
}
@media screen and (max-width: 767px) {


}

/*丸付き見出し*/
.section-title {
  position: relative;
  display: flex;
  justify-content: flex-start;
  gap: 10px;
  align-items: flex-end;
  flex-wrap: wrap;
  margin: 50px auto 30px;
}
.section-title h2 {
  position: relative;
  font-weight: bold;
  margin: 0;
  padding-left: 30px;
}
.section-title h2::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 50px;
  height: 50px;
  background: #e4f6e0;
  border-radius: 50%;
  z-index: -1;
}
.section-title span {
  color: #3b7352;
  font-weight: bold;
}

/*左ボーダー*/
.border-left-hd{
 display: block;
 padding-left: 10px;
 font-weight: bold;
 color: #333;
}
.border-left-hd::before{
 background-color: #3b7352;
 border-radius: 5px;
 content: "";
 display: inline-block;
 height: 35px;
 margin-right: 10px;
 vertical-align: top;
 width: 7px;
}

/*///////////////////////////////////////
メインコンテンツ
///////////////////////////////////////*/

/*メインイメージ*/
.mainimg{
 display: block;
 position: relative;
}
.mainimg img{
 width: 100%;
 height: 750px;
 object-fit: cover;
 user-drag: none;
 -webkit-user-drag: none;
 -moz-user-select: none;
}

.img-dark img{
 display: block;
 background-color: #333;
 opacity: 0.7;
}

@media screen and (max-width: 767px) {
.mainimg img{
 height: 600px;
}
}



/*メインイメージ　動画の場合*/
.kv{
  height: 80vh;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
 }
 .video{
  width: 100%;
  height: 80vh;
  background: url(./images/mainimg.jpg) no-repeat center/cover;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  z-index: -1;
 }
 /*何もフィルターつけない場合  */
 .video::after{
  content: '';
  width: 100%;
  height: 100%;
  /*background-color: #fff;*/
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  opacity: .3;
 }

/*
 フィルターつける場合
 .video::after{
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 900px;
  background: rgba(0, 0, 0, 0.3);
  background-image: repeating-linear-gradient(-45deg, rgba(0 0 0 / .2) 0px, rgba(0 0 0 / .2) 1px, rgba(0 0 0 / 0) 0%, rgba(0 0 0 / 0) 50%);
  background-size: 6px 6px;
 }
*/
 .video video{
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
 }



/*メインイメージ　テキスト*/
.imgcontent{
 color:#fff;
 font-weight: bold;
 position: absolute;
 top:20%;
 left: 5%;
 text-shadow: rgba(0, 0, 0, 0.1) 1px 1px 30px, rgba(0, 0, 0, 0.1) -1px 1px 30px, rgba(0, 0, 0, 0.1) 1px -1px 30px, rgba(0, 0, 0, 0.1) -1px -1px 30px;
 font-size:3em;
 line-height: 1.1;
}

#text1, #text2, #text3 {
  display: inline-block;
  overflow: hidden;
  white-space: nowrap;
  transform: scaleX(0);
  transform-origin: left;
}

#text1 {
  animation: s1 6s forwards;
}
@keyframes s1 {
  from { transform: scaleX(0); }
  33% { transform: scaleX(1); }
  to { transform: scaleX(1); }
}

#text2 {
  animation: s2 6s forwards;
}
@keyframes s2 {
  0% { transform: scaleX(0); }
  33% { transform: scaleX(0); }
  66% { transform: scaleX(1); }
  to { transform: scaleX(1); }
}

#text3 {
  animation: s3 6s forwards;
}
@keyframes s3 {
  0% { transform: scaleX(0); }
  66% { transform: scaleX(0); }
  to { transform: scaleX(1); }
}

.text3-size{
 display: block;
 font-size: 16px;
 line-height: 1.8;
 margin-top: 20px;
}
@media screen and (max-width: 767px) {
.text3-size{
 font-size: 16px;
}
}


/*コンテンツ領域*/

main {
 margin: 6rem 0 0 0;
}
section {
 margin: 5rem 0;
 /*padding: 5rem 0;*/
}

.center {
 text-align: center;
 /*margin-bottom: 4rem;*/
}
.container {
 margin: 0 auto;
 max-width: 1200px;
 padding: 0 2.0rem;
 position: relative;
}


/*///////////////////////////////////////
スライダーベーススタイル
///////////////////////////////////////*/
.swiper {
  width: 100%;
  height: 100%;
}
.swiper-slide {
  text-align: center;
  font-size: 18px;
  background: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
}


/*///////////////////////////////////////
ボタン
///////////////////////////////////////*/
/*アイコンボックスメニューボタン*/
.blog-link {
 display: inline-flex;
 align-items: center;
 gap: 8px;
 color: #f39c12;
 font-weight: bold;
 text-decoration: none;
 transition: color 0.3s ease;
}
/*オレンジ*/
.blog-link:hover {
 color: #e67e22;
}
.blog-link:hover .circle-right {
 transform: translateX(4px);
}

/*ピンク*/
.blog-link-p{
 color: #FF70A0;
}
.blog-link-p:hover {
 color: #FFAFCA;
}

/*ブルー*/
.blog-link-b{
 color: #54a7cc;
}
.blog-link-b:hover {
 color: #50afd9;
}

/*ブラウン*/
.blog-link-br{
 color: #d38537;
}
.blog-link-br:hover {
 color: #e38120;
}

/*メインボタン*/
.btn-list {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 gap: 8px;
 padding: 10px 20px;
 border: 2px solid #3b7352;
 border-radius: 15px;
 color: #3b7352;
 font-weight: bold;
 text-decoration: none;
 transition: all 0.3s ease;
 background: #fff;
}
.btn-list:hover {
 background-color: #3b7352;
 color: #fff;
 opacity: 1;
}
.btn-list:hover .circle-right {
 transform: translateX(4px);
}

/*ブルー*/
.btn-list-b{
 border: 2px solid #55A7CC;
 color: #55A7CC;
}
.btn-list-b:hover {
 background-color: #55A7CC;
 color: #fff;
 opacity: 1;
}

/*グリーン*/
.btn-list-g{
 border: 2px solid #3b7352;
 color: #3b7352;
}
.btn-list-g:hover {
 background-color: #3b7352;
 color: #fff;
 opacity: 1;
}


/*共通*/
.circle-right {
 display: inline-block;
 vertical-align: middle;
 color: currentColor;
 line-height: 1;
 position: relative;
 width: 0.8em;
 height: 0.8em;
 border: 0.075em solid currentColor;
 background: currentColor;
 border-radius: 50%;
 box-sizing: content-box;
 transition: transform 0.3s ease;
}

.circle-right::before {
 content: '';
 width: 0;
 height: 0;
 border-style: solid;
 border-color: transparent;
 border-width: 0.18em 0.31177em;
 border-left-color: #fff;
 border-right: 0;
 transform: translateX(15%);
 position: absolute;
 top: 0;
 left: 0;
 right: 0;
 bottom: 0;
 margin: auto;
}


/*///////////////////////////////////////
セクション区切り
///////////////////////////////////////*/
.gray-back {
 /*background-color: #f5f5f5;*/
 background-color: #fff;
 color: #333;
 padding: 150px 0;
}
.blue-back {
 /*background-color: #1cb4d3;*/
 background-color: #e6f0ff;
 padding: 150px 0;
}

.gray-back {
 position: relative;
}
.gray-back::before {
 border-color: transparent #e6f0ff transparent transparent;
 border-style: solid;
 border-width: 50px 100vw 0 0;
 bottom: 0;
 content: "";
 height: 0;
 position: absolute;
}




/*///////////////////////////////////////
固定ページタイトルエリア
///////////////////////////////////////*/
.pagetitle{
 display: flex;
 justify-content: center;
 align-items: flex-end;
 font-size: 80%;
 font-weight: bold;
 height: 250px;
 margin-top: 70px;
}

/*サービス一覧ページタイトルエリア*/
.pagetitle-service{
 background: url(./images/another01.jpg) no-repeat bottom center / cover;
 /*background: url(./images/titleBG2-1.jpg) no-repeat center center / cover;*/
 /*background-attachment: fixed;*/
 background-color: #fff;
}

/*プライバシーポリシーページタイトルエリア*/
.pagetitle-privacy{
 background: url(./images/titleBG3.jpg) no-repeat center center / cover;
 /*background-attachment: fixed;*/
 background-color: #fff;
}

/*会社概要ページタイトルエリア*/
.pagetitle-company{
 background: url(./images/another01.jpg) no-repeat bottom center / cover;
 /*background: url(./images/titleBG4.jpg) no-repeat bottom center / cover;*/
 /*background-attachment: fixed;*/
 background-color: #fff;
}

/*入所申し込みページタイトルエリア*/
.pagetitle-entry{
 background: url(./images/titleBG5.jpg) no-repeat center center / cover;
 /*background-attachment: fixed;*/
 background-color: #fff;
}

/*求人ページタイトルエリア*/
.pagetitle-rec{
 background: url(./images/titleBG6.jpg) no-repeat top center / cover;
 /*background-attachment: fixed;*/
 background-color: #fff;
}

/*お問い合わせページタイトルエリア*/
.pagetitle-contact{
 background: url(./images/another01.jpg) no-repeat bottom center / cover;
 /*background-attachment: fixed;*/
 background-color: #fff;
}

/*その他ページ*/
.pagetitle-another{
 background: url(./images/another01.jpg) no-repeat bottom center / cover;
 /*background-attachment: fixed;*/
 background-color: #fff;
}



.pagetitle h2{
 display: block;
 padding: 5px 0px;
 background: #fff;
 margin: 0 auto;
 color: #333;
 text-align: center;
 border-radius: 30px 30px 0px 0px;
 font-size: 1.8em;
 width: 280px;
 max-width:100%;
}
.pagetitle h2 span{
 display: block;
 color: #3b7352;
 font-size: 0.8em;
}
@media only screen and (max-width: 800px) {
.pagetitle h2{
 padding: 0px 30px;
 width: 250px;
 font-size: 1.5em;
}
}


/*///////////////////////////////////////
会社概要
///////////////////////////////////////*/


.kaisya-gaiyou {
  border-collapse: collapse;
  width: 100%;
}

.kaisya-gaiyou th,
.kaisya-gaiyou td {
  border-bottom: 1px solid #dbe1e8;
  padding: 15px;
}

.kaisya-gaiyou th {
  /*background: #f9fafc;*/
  text-align: left;
  width: 200px;
  color: #3b7352;
}

@media only screen and (max-width: 800px) {
  .kaisya-gaiyou tr,
  .kaisya-gaiyou th,
  .kaisya-gaiyou td {
    display: block;
    width: auto;
  }

  .kaisya-gaiyou tr:first-child {
    border-top: 1px solid #dbe1e8;
  }

  .kaisya-gaiyou th,
  .kaisya-gaiyou td {
    border-top: none;
  }
}


/*///////////////////////////////////////
お問い合わせフォーム
///////////////////////////////////////*/
/* フォーム全体中央寄せ + 最大幅指定 */
.contact-form {
  max-width: 800px;
  margin: 0 auto;
  background-color: #e4f6e0;
  padding: 5rem;
  border-radius: 30px;
}
.form-item {
  margin: 15px auto;
}

/* 入力項目（テキスト・メール・電話・テキストエリア） */
.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form input[type="tel"],
.contact-form textarea {
  display: block;
  width: 90%;
  font-size: 1em;
  padding: 10px;
  margin: 10px auto;
  border: 1px solid #3b7352;
  border-radius: 0.4rem;
  background-color: #fff;
}

/* 項目ラベル */
.form-item label {
  width: 150px;
  font-weight: bold;
  margin: 10px 0;
}

/* 必須マーク */
.required {
  background-color: #3b7352;
  color: #fff;
  font-size: 0.7em;
  padding: 3px 8px;
  margin-left: 10px;
  border-radius: 3px;
}

/* 送信ボタン */
.form-submit input[type="submit"] {
  background-color: #3b7352;
  color: #fff;
  padding: 2rem;
  border-radius: 0.5rem;
  border: none;
  cursor: pointer;
  font-weight: bold;
  transition: background-color 0.3s;
  font-size: 1.1em;
  margin: 30px auto 0;
  display: block;
}

/* ラジオボタン・チェックボックス 共通ラベル */
.radio-wrap label,
.form-item.agreement label {
  display: inline-flex;
  align-items: center;
  gap: 0.4em;
  cursor: pointer;
  margin-right: 1.2rem;
}

/* ラジオボタン */
.radio-wrap input[type="radio"] {
  appearance: none;
  width: 20px;
  height: 20px;
  border: 2px solid #3b7352;
  background: #fff;
  border-radius: 50%;
  position: relative;
  flex-shrink: 0;
}
.radio-wrap input[type="radio"]:checked::before {
  content: "";
  position: absolute;
  background-color: #e06d28;
  width: 10px;
  height: 10px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
}

/* チェックボックス全体の配置 */
.form-item.agreement {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1.5rem;
}

/* チェックボックス本体 */
.form-item.agreement input[type="checkbox"] {
  appearance: none;
  width: 22px;
  height: 22px;
  border: 2px solid #3b7352;
  background: #fff;
  border-radius: 4px;
  position: relative;
  margin: 0;
  cursor: pointer;
}

/* 選択時の✔表示 */
.form-item.agreement input[type="checkbox"]:checked::before {
 content: "✔";
 color: #fff;
 font-size: 14px;
 text-align: center;
 line-height: 22px;
 width: 22px;
 height: 22px;
 background-color: #e06d28;
 border-radius: 4px;
 position: absolute;
 top: -2px;
 left: -2px;
}

/* チェックボックス右のテキスト */
.form-item.agreement span {
  line-height: 1;
  display: inline;
}

.wpcf7 form.sent .wpcf7-response-output{
 border-color: orange;
 background: orange;
 border-radius: 15px;
 font-size: 1.1em;
 font-weight: bold;
 padding: 20px;
 text-align: center;
}

.contact-form a{
 color: #3b7352;
}

/* レスポンシブ（スマホ時） */
@media (max-width: 768px) {
  .form-item {
    flex-direction: column;
    align-items: flex-start;
  }
  .form-item label {
    width: 100%;
    text-align: left;
  }
  .contact-form{
   padding: 2rem;
  }
}



/*///////////////////////////////////////
フッター
///////////////////////////////////////*/

.footer {
 padding: 2rem;
 font-size: 15px;
 color: #333;
 background-color: #e4f6e0;
 margin-top: auto;
 border-top: 0.8px solid #fff;
}

.footer a{
 /*font-weight: bold!important;*/
 color: #333!important;
}

.sub-menu{
 display: block!important;
}
.sub-menu li{
 margin: 0!important;
 line-height: 1.8;
}

.copyright {
 text-align: center;
 padding: 0;
 margin-top: 30px;
}

.contact-fixed{
 display: flex;
 flex-wrap: wrap;
 justify-content: center;
 align-items: center;
 position: fixed;
 width: 100px;
 height: 100px;
 border-radius: 50%;
 background: #3b7352;
 color: #fff;
 font-weight: bold;
 right: 10px;
 bottom: 10px;
 font-size: 0.7em;
 padding: 10px;
}
.contact-fixed div{
 display: block;
 width: 100%;
 text-align: center;
}
.contact-fixed div i{
 font-size: 2em;
}
.contact-fixed:hover{
 cursor: pointer;
 color: #fff;
}
.contact-fixed:visited{
 color: #fff!important;
}

@media (min-width: 768px) {
  .md-flex {
    display: flex;
  }

  .md-justify-between {
    justify-content: space-between;
  }
}


/*///////////////////////////////////////
記事詳細ページ
///////////////////////////////////////*/

/*コメント削除*/
.wp-block-latest-comments__comment-meta{
 display: none;
}

/*本文エリア*/
.single-main{
 /*display: flex;*/
 margin: 0 auto;
 justify-content: space-around;
}
.single-area{
 display: block;
 width: 100%;
 height: fit-content;/*高さを記事のコンテンツに合わせる*/
 padding: 0px;
 /*border: 2px solid #ddd;*/
 /*border-top: 5px solid #002588;*/
}

/*ウィジェットエリア*/
.widget-area{
 display: block;
 width: 25%;
 padding: 30px;
 border: 1.5px solid #ddd;
 height: fit-content;
}
.widget-area ul{
  padding-left: 0;
}
.widget-area li{
 list-style: none;
}
.widget-area li a{
 display: block;
 color: #333;
 /*adding-top: 20px;*/
 border-bottom: 1px solid #ddd;
}
.widget-title{
 color: #002588;
 font-weight: bold;
 font-size: 1em;
}
.widget select{
 padding: 10px;
 width: 100%;
 font-size: 1em;
 border: none;
 border-bottom: 1px solid #ddd;
}
.wp-block-heading{
 display: block;
 margin: 10px 0;
 font-size: 1em;
}

@media screen and (max-width: 768px){
.single-main{
 flex-wrap: wrap;
}
.single-area{
 width: 100%;
 padding: 0px;
}
.widget-area{
 width: 100%;
 margin-top: 30px;
 padding: 20px;
}
}

/*アイキャッチ*/
.blog-detail__image{
 margin: 30px auto;
 text-align: center;
}

/*本文*/
.blog-detail__body{
 display: block;
 margin: 30px auto;
 text-align: left;
 /*padding: 30px 0;*/
}


.blog-content {
  /*white-space: pre-line;*/
}
.blog-content p {
 margin: 0;
}
.blog-content div:empty,
.blog-content p:empty {
  display: none;
}

/*前後の記事へ*/
.prev-next-link a {
  border-bottom: 1px #ddd solid;
  display: block;
  text-decoration: none;
  padding: 14px 40px;
  color: #0bd;
}
.prev-next-link a:hover {
  background-color: #f6f6f6;
}
.prev-next-link a:first-child {
  border-top: 1px #ddd solid;
}
.prev-next-label {
  font-size: .825rem;
  color: #333;
  margin-bottom: 10px;
}
/* Images */
.thumb-wrap {
  display: flex;
}
.thumb-wrap p {
  margin: 0 0 0 16px;
}
.thumb-wrap img {
  width: 80px;
  height: 100%;
}

/* Larger devices */
@media ( min-width: 600px) {
  .prev-next-link {
    display: flex;
  }
  .prev-next-link a {
    flex: 1;
  }
  .prev-next-link a,
  .prev-next-link a:first-child {
    border: none;
  }
  .next-link {
    text-align: right;
  }
}


/*///////////////////////////////////////
テキストボックス
///////////////////////////////////////*/
.txtBox{
 display: block;
 margin: 30px auto 50px;
 width: 100%;
 text-align: left;
 font-size: 14px;
 line-height: 1.5;
}
.txtBox_center{
 display: block;
 margin: 30px auto 50px;
 width: 100%;
 text-align: center;
 font-size: 14px;
 line-height: 1.5;
}
@media screen and (max-width: 768px){
.txtBox{
 text-align: left;
 margin: 10px auto 20px;
}
.txtBox_center{
 text-align: left;
}
}

/*///////////////////////////////////////
アーカイブページ
///////////////////////////////////////*/
.blog-item{
 display: block;
 border-bottom: 1px dashed #ddd;
 color: #333;
 padding-bottom: 10px;
}
.blog-item__thumbnail-image{
 display: block;
 width: 100%;
 height: 150px;
 object-fit: cover;
}
.blog-item__content{
 margin-left: 30px;
}
.blog-item__title{
 margin: 0 0 20px;
 color: #333;
}
.blog-item__read{
 color: #333;
 font-size: 0.9em;
 font-weight: 500;
}
.blog-item__button{
 display: block;
 padding: 5px 10px;
 background-color: #333;
 color: #fff;
 text-align: center;
}
.blog-list__wrap{
 display: block;
 padding: 10px 0;
 border-bottom: 1px dashed #ddd;
}


/*アイキャッチ付き一覧　category-event.php　参照*/
.arciveTitle{
 font-size: 30px;
}
.arciveList{
 display: flex;
 /*flex-wrap: wrap;*/
 justify-content: space-between;
}
.arcive-inner{
 display: flex;
 flex-wrap: wrap;
 width: 73%;
}
.blog-list__list-item{
 display: block;
 margin: 10px;
}
.blog-img02{
 display: block;
 border-radius: 30%;
 width: 100%;
 overflow: hidden;
 height: 200px;
}
.blog-img02 img{
 width: 100%;
 height: 200px;
 object-fit: cover;
 border-radius: 30%;
 transition: transform .6s ease;
}
.blog-img02 img:hover{
 transform: scale(1.1);
}
.blog-item__thumbnail-image{
 display: block;
 width: 100%;
 height: 150px;
 object-fit: cover;
}
.blog-item__content{
 margin-left: 30px;
}
.blog-item__title{
 margin: 0 0 0px;
 color: #333;
 font-size: 15px;
}
.blog-item__read{
 color: #333;
 font-size: 0.9em;
 font-weight: 500;
}
.blog-item__button{
 display: block;
 padding: 5px 10px;
 background-color: #000;
 color: #fff;
 text-align: center;
}

.blog-detail_cate{
 color: #3b7352!important;
 font-weight: bold;
 font-size: 0.9em;
}

.pagination{
 display: block;
 width: 100%;
}


@media screen and (max-width: 768px){
.arciveList,
.arcive-inner{
 display: block;
 width: 100%;
}
.blog-list__list-item{
 display: block;
 width: 95%;
 margin: 30px auto;
}
.blog-img02,
.blog-img02 img{
 border-radius: 10%;
}

}


/*ページャー*/
.page-numbers{
 display: flex;
 margin: 30px auto;
 align-items: center;
 justify-content: center;
}
.page-numbers{
 padding-left: 0;
}
.page-numbers li{
 list-style: none;
}
.page-numbers a{
 list-style: none;
 display: block;
 border-radius: 50%;
 font-weight: bold;
 width: 50px;
 height: 50px;
 background: #3b7352;
 text-align: center;
 line-height: 50px;
 color: #fff;
 margin: 5px;
}
.page-numbers span{
 list-style: none;
 display: block;
 width: 50px;
 height: 50px;
 background: #fff;
 color: #3b7352;
 font-weight: bold;
 text-align: center;
 line-height: 50px;
}

@media screen and (max-width: 768px){
.blog-item{
 flex-wrap: wrap;
}
.blog-item__thumbnail-image{
 display: block;
 height: 100%;
}
.blog-item__title{
 display: block;
 margin: 10px auto;
}
.navigation{
 position: initial;
 opacity: 1;
 width: 100%;
}
}



/*///////////////////////////////////////
レスポンシブ表示
///////////////////////////////////////*/
@media screen and (max-width: 768px){

/*ヘッダー*/
#header{
 height: 60px;
}

.header {
 flex-direction: column;
 /*margin-bottom: 10px;*/
}

.sitetitle {
 font-size: 1.1em;
}

.header-box {
 display: none;
}


/*スライダー*/
.mainslider .sliderImg img, .mainslider .sliderImg video{
 height: 100vh;
}
.slideContent{
 font-size: 1.2em;
}


/*見出し*/
h2{
 font-size: 1.5em;
}

/*メインコンテンツ*/

.imgcontent{
 max-width: 90%;
 top:35%;
 font-size: 1.5em;
}

/*フッター*/
#nav ul{
 display: inline-block;
}
#nav li{
 display: inline-block;
 width: 160px;
}

}



/*///////////////////////////////////////
お知らせ
///////////////////////////////////////*/
/*メインビジュアル表示用*/
.headnews{
 display: flex;
 flex-wrap: wrap;
 justify-content: center;
 position: absolute;
 left: 5%;
 bottom: 5%;
 background: #fff;
 padding: 5px;
 border-radius: 60px;
 width: 500px;
 max-width: 100%;
}
.headnews h2{
 display: block;
 width: 93%;
 font-size: 16px;
 color: #3b7352;
 border-bottom: 1px solid #3b7352;
 padding-bottom: 5px;
 margin-bottom: 5px;
}

.headnews div{
 display: block;
 width: 100%;
 margin-bottom: 10px
}

.headnews div a{
 display: flex;
 gap: 30px;
 color: #4c4c4c;
 font-weight: 500;
 margin: 0px 20px;
}
.headnews div a p{
 margin: 0;
}
.headnews-title{
 display: block;
 text-overflow: ellipsis;
 white-space: nowrap;
 overflow: hidden;
}


.infoBG{
 background-image: repeating-linear-gradient(113deg, #262626, #262626 2px, #333 2px, #333 12px);
 background-attachment: fixed;
 padding-bottom: 50px;
}

.news-list2-wrap{
 display: grid;
 grid-template-columns: 300px 1fr;
 /*background: #FFF5ED;*/
 background: #e4f6e0;
 padding: 30px;
 border-radius: 30px;
}

.news-list2{
 list-style: none outside;
 margin: 0;
 padding: 0;
}
.news-list2 .item a{
 display: flex;
 flex-wrap: nowrap;
 text-decoration: none;
 gap: 30px;
 align-items: center;
 color: #333;
 padding: 20px 30px;
 font-weight: bold;
}

.news-list2 .item {
 background: #fff;
 color: #333;
 border-radius: 50px;
 margin-bottom: 10px;
}

.news-list2 .item:first-child a{
 /* border-top: 1px solid #CCC;*/
}
.news-list2 .item .date{
 margin: 0;
 min-width: 170px;
 font-size: 16px;
 padding: 0 20px 0 0;

}
.news-list2 .item .cate{
 display: inline-block;
 background-color: #002588;
 width: 100px;
 font-size: 16px;
 color: #fff;
 padding: 0px;
 margin: 0px 35px 0px 0px;
 text-align: center;
}

/*カテゴリーごとに色変え　クラス名はカテゴリースラッグ名と同じにする*/
.cate-event{
  display: inline-block;
  width: 100px;
  font-size: 16px;
  color: #fff;
  padding: 0px;
  margin: 0px 35px 0px 0px;
  text-align: center;
  background-color: #fcba03;
}


.news-list2 .item .title{
 margin: 0;
 width: 100%;
 text-align: left;
 font-size: 1.1em;
}
.news-list2 .item a:hover .title{
 /*color: #3b7352;*/
 color: #3b7352;
}

.news-more{
 display: inline-block;
 font-weight: bold;
 margin-top: 15px;
 margin-bottom: 20px;
}


@media screen and (max-width: 767px){
/*メインビジュアル表示用*/
.headnews{
 left: 50%;
 transform: translateX(-50%);
 -webkit-transform: translateX(-50%);
 -ms-transform: translateX(-50%);
 width: 350px;
 max-width: 100%;
}

.news-list2{
 margin-top: 20px;
}
.news-list2-wrap{
 display: block;
 padding: 20px;
}

.news-list2 .item a{
  display: block;
  flex-wrap: wrap;
  padding: 20px;
}
.news-list2 .item .date{
  min-width: 100px;
}
.news-list2 .item .title{
  margin-top: 0px;
}
}


/*///////////////////////////////////////
プライバシーポリシー
///////////////////////////////////////*/
.privacy_h3{
 display: block;
 background-color: #0b52a0;
 text-align: left;
 font-size: 1.2em;
 color: #fff;
 margin: 30px auto 0px;
 padding: 10px;
}


/*///////////////////////////////////////
フッターメニュー
///////////////////////////////////////*/

/*お問い合わせエリア*/
.footer_contact{
 display: block;
 background: #3b7352;
 border-radius: 30px 30px 0 0;
 padding: 50px 20px;
 color: #fff;
 line-height: 1.8;
}
.contact-area{
 display: grid;
 grid-template-columns: repeat(2,400px);
 justify-content: center;
 gap: 50px;
 align-items: center;
 margin-top: 20px;
 color: #fff;
}

.contact-area a{
 display: flex;
 align-items: center;
 gap: 30px;
 background: #fff;
 border-radius: 20px;
 padding: 20px;
 color: #333!important;
 font-size: 1.5em;
 font-weight: bold;
 height: 100px;
}
.contact-area a img{
 display: block;
 width: 40px;
 margin: 0;
 text-align: center;
}
.fotter-tel{
 font-size: 1.5em;
}

.footerMenu{
 text-align: left;
}
.footerMenu ul{
 display: flex;
 list-style: none;
 padding-left: 0;
}
.footerMenu li{
 display: block;
 margin: 0 20px;
}
.footerMenu  > li > a{
 display: block;
 padding: 0 15px;
 line-height: 40px;
 color: #00459B;
 font-size: 15px;
 text-decoration: none;
}

.footerMenu i{
 vertical-align: middle;
}

@media screen and (max-width: 767px){
.footerMenu ul{
 display: block;
}

.contact-area{
 display: block;
}
.contact-area a{
 margin-bottom: 10px;
 font-size: 1em;
 height: 80px;
}
.fotter-tel{
 font-size: 1.2em;
}
}


/*///////////////////////////////////////
インデックス
///////////////////////////////////////*/
/*アイコンボックスメニュー*/
.top-box-menu{
 display: grid;
 grid-template-columns: repeat(3,1fr);
 gap: 50px;
}
@media screen and (max-width: 767px){
.top-box-menu{
 grid-template-columns: 1fr;
}
}
.top-box-menu img{
 display: block;
 height: 100px;
 margin: 0 auto;
}
/*薄オレンジ*/
.boxorange{
 display: block;
 border-radius: 10px;
 position: relative;
 padding: 20px;
 background-color: #ffeedc;
}
.boxorange h2{
 display: block;
 border-radius: 10px;
 background: #ff9200;
 color: #fff;
 padding: 10px;
 text-align: center;
 font-size: 16px;
 margin-top: 0;
}
.boxorange p{
 display: block;
 text-align: left;
 font-weight: 500;
 font-size: 14px;
}

/*薄ピンク*/
.boxpink{
 display: block;
 border-radius: 10px;
 position: relative;
 padding: 20px;
 background-color: #FFF0F5;
}
.boxpink h2{
 display: block;
 border-radius: 10px;
 background: #ff96ba;
 color: #fff;
 padding: 10px;
 text-align: center;
 font-size: 16px;
 margin-top: 0;
}
.boxpink p{
 display: block;
 text-align: left;
 font-weight: 500;
 font-size: 14px;
}

/*薄ブルー*/
.boxblue{
 background-color: #d4f2ff;
}
.boxblue h2{
 display: block;
 border-radius: 10px;
 background: #54a7cc;
 color: #fff;
 padding: 10px;
 text-align: center;
 font-size: 16px;
 margin-top: 0;
}

.boxbrown{
 background-color: #ffe7d2;
}
.boxbrown h2{
 display: block;
 border-radius: 10px;
 background: #d38537;
 color: #fff;
 padding: 10px;
 text-align: center;
 font-size: 16px;
 margin-top: 0;
}

/*インデックス施設紹介*/
.about-wrap{
 display: grid;
 grid-template-columns: 1fr 500px;
 gap: 50px;
 align-items: flex-start;
}
.about-wrap img{
 display: block;
 border-radius: 30px;
 width: 500px;
 height: 500px;
 object-fit: cover;
}
.about-txt{
 display: block;
 line-height: 1.8;
}
.btn-flex{
 display: flex;
 align-items: flex-start;
 gap: 30px;
 flex-wrap: wrap;
}
@media screen and (max-width: 767px){
.about-wrap{
 grid-template-columns: 1fr;
 gap: 20px;
}
.about-txt{
 order: 2;
}
.btn-flex{
 display: block;
}
.btn-flex a{
 margin-bottom: 10px;
}
.about-wrap img{
 margin: 0 auto;
 width: 300px;
 height: 300px;
 order: 1;
}
}

/*背景*/
.mainbg{
 /*background: url(./images/mainbg.png) no-repeat center center / cover;*/
 /*background: url(./images/mainbg02.png) no-repeat center center / cover;*/
 background: url(./images/mainbg03.png) no-repeat center center / cover;
 background-attachment: fixed;
 /*background-color: #fff;*/
}
@media screen and (max-width: 767px){
.mainbg{
 /*background: url(./images/mainbg_sp.png) no-repeat center center / cover;*/
 /*background: url(./images/mainbg02_sp.png) no-repeat center center / cover;*/
 background: url(./images/mainbg03_sp.png) no-repeat center center / cover;
 background-attachment: fixed;
}
}

.bg01{
 background: url(./images/secbg01.png) no-repeat bottom center / cover;
}
.locationBox{
 display: block;
 background: #fff;
 padding: 20px;
 border-radius: 30px;
 line-height: 1.8;
 max-width: 800px;
}
.locationBox h2{
 margin-top: 10px;
}

/*ループスライダー*/
.loop-slider {
  overflow: hidden;
  width: 100%;
  padding: 20px 0;
  margin-top: 30px;
}

.loop-track {
  display: flex;
  width: calc(280px * 18 + 20px * 13); /* 画像×枚数＋マージン（画像数注意） */
  animation: scrollLoop 60s linear infinite;
}

@keyframes scrollLoop {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

.loop-item {
  flex: 0 0 auto;
  margin-right: 20px;
  position: relative;
}
.loop-item:nth-child(odd) {
  transform: translateY(10px);
}
.loop-item:nth-child(even) {
  transform: translateY(-10px);
}
.loop-item img {
  width: 280px;
  height: 180px;
  object-fit: cover;
  border-radius: 16px;
  display: block;
}

@media (max-width: 768px) {
  .loop-track {
    width: calc(200px * 12 + 20px * 13); /* スマホ用に再計算 */
    animation: scrollLoopSP 60s linear infinite;
  }

  @keyframes scrollLoopSP {
    0% {
      transform: translateX(0);
    }
    100% {
      transform: translateX(-50%);
    }
  }

  .loop-item img {
    width: 200px;
    height: 130px;
  }
}



/*インデックスブログ一覧*/
.blog-sec-title{
 display: flex;
 flex-wrap: wrap;
 gap: 30px;
 align-items: baseline;
}

.news-list{
 display: grid;
 grid-template-columns: repeat(3,1fr);
 justify-content: center;
 gap: 10px;
 list-style: none outside;
 padding: 0;
}
.news-list .item a{
 text-decoration: none;
 color: #fff;
 padding: 15px 0px 15px 0px;
}
.news-list .item {
 background: #fff;
 color: #333;
 padding: 10px 10px 0px;
 position: relative;
 height: auto;
}
.news-list .item:first-child a{
 /* border-top: 1px solid #CCC;*/
}
.news-list .item .date{
 margin: 0;
 min-width: 120px;
 font-size: 16px;
 color: #333;
 padding: 0 20px 0 0;
 text-align: left;
}
.news-list .item .title{
 width: 100%;
 color: #333;
 font-weight: bold;
 text-align: left;
 margin-top: 5px;
}
 .news-list .item a:hover .title{
   color: #3b7352;
 }

.blog-img{
 display: block;
 width: 100%;
 overflow: hidden;
 height: 230px;
 border-radius:20px;
 margin-bottom: 10px;
}
.blog-img img{
 width: 100%;
 height: 230px;
 object-fit: cover;
 transition: transform .6s ease;
}
.blog-img img:hover{
 transform: scale(1.1);
}

.blog-new {
	color: #fff;
	background: #e60033;
	font-size: 0.75em;
	padding: 2px 6px;
	border-radius: 4px;
	margin-left: 5px;
}


/*記事詳細ページ*/
.single-date{
 display: inline-block;
 background: #3b7352;
 padding: 10px 60px;
 text-align: center;
 margin: 10px 0;
 font-weight: bold;
 color: #fff;
 border-radius: 10px;
 font-size: 1.2em;
}
.blog-detail__title{
 margin: 0;
}

 @media screen and (max-width: 767px){
 .news-list .item a{
   flex-wrap: wrap;
   padding: 15px 0px;
 }
 .news-list .item .date{
   min-width: 100px;
 }
 .news-list .item .title{
   margin-top: 5px;
 }
 .news-list{
  grid-template-columns: 1fr;
 }
 }


/*求人*/
.bg02{
 background: url(./images/secbg02.png) no-repeat top center / cover;
 /*background-attachment: fixed;*/
 background-color: #fff;
}


/*///////////////////////////////////////
つきがわのサービス
///////////////////////////////////////*/
.servicetop{
 display: block;
 font-size: 1.2em;
 color: #3b7352;
}
.bigtxt{
 font-size: 30px;
 font-weight: bold;
 position: relative;
}

.housin-wrap{
 display: grid;
 grid-template-columns: repeat(2,1fr);
 align-items: start;
 gap: 30px;
 margin-top: 30px;
}
.housin-wrap h3{
 display: block;
 border-bottom: 3px dotted #3b7352;
 margin-bottom: 0;
}
.housin-wrap img{
 border-radius: 30px;
}
.grid {
 direction: rtl; /* ← 右から左に並ぶ！ */
}
.grid > * {
 direction: ltr; /* 子要素内のテキストは通常に戻す */
}
 @media screen and (max-width: 767px){
.housin-wrap{
 grid-template-columns: 1fr;
}
.bigtxt{
 font-size: 23px;
}
}

.koudou-wrap {
 display: grid;
 grid-template-columns: repeat(3, 1fr);
 gap: 15px;
 counter-reset: number;
 list-style: none;
 padding: 0;
 margin: 0 auto;
 max-width: 90%;
}
.koudou-wrap li {
 position: relative;
 background: #fff;
 border: 2px solid #3b7352;
 padding: 1em 1em 1em 1em;
 border-radius: 12px;
 transition: background-color 0.3s, transform 0.3s, box-shadow 0.3s;
 text-align: center;
 font-weight: bold;
}
.koudou-wrap li::before {
 counter-increment: number;
 content: "0" counter(number);
 position: absolute;
 top: -12px;
 left: -12px;
 background: #3b7352;
 color: #fff;
 width: 38px;
 height: 38px;
 display: flex;
 align-items: center;
 justify-content: center;
 font-weight: bold;
 border-radius: 50%;
 box-shadow: 0 3px 8px rgba(0,0,0,0.2);
}
.koudou-wrap li:hover {
 background-color: #e4f6e0;
 transform: translateY(-3px);
 box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}
 @media screen and (max-width: 767px){
.koudou-wrap {
 grid-template-columns: 1fr;
 margin-top: 40px;
}
}

.yunit-wrap{
 display: grid;
 grid-template-columns: 500px 500px;
 gap: 10px;
 justify-content: center;
 margin-bottom: 50px;
}
.yunit{
 display: block;
 border-right: 1px solid #ddd;
 padding: 0 70px;
}
.yunit h4{
 color:#3b7352;
 font-size:1.2em;
}
.yunit img{
 border-radius: 30px;
 width: 100%;
 height: 230px;
 object-fit: cover;
}

.short-wrap{
 display: grid;
 grid-template-columns: 300px 1fr;
 gap: 30px;
}
.short-wrap img{
 border-radius: 30px;
}

@media screen and (max-width: 767px){
.yunit-wrap{
 grid-template-columns: 1fr;
}
.yunit{
 display: block;
 border-right: none;
 border-bottom: 1px solid #ddd;
 padding: 0px 0px;
 margin-bottom: 20px;
}
.short-wrap{
 grid-template-columns: 1fr;
}
}


/*///////////////////////////////////////
法人概要
///////////////////////////////////////*/
.about-rinen-wrap{
 display: block;
 background: #e4f6e0;
 padding: 30px;
 border-radius: 30px;
 margin-bottom: 30px;
}
.about-rinen-wrap h3 span{
 color:#3b7352;
 margin-right:10px;
 font-size:1.2em;
}
.about-rinen-inner{
 display: grid;
 grid-template-columns: repeat(2,1fr);
 grid-template-rows: 200px 200px;
 gap: 30px;
}
.about-rinen{
 display: flex;
 gap: 30px;
 align-items: center;
 background: #fff;
 padding: 20px;
 font-size: 1.3em;
 font-weight: bold;
 border-radius: 30px;
}
.about-rinen img{
 height: 130px;
}
.about-last{
 display: block;
 font-size: 1em;
}

@media screen and (max-width: 767px){
.about-rinen-inner{
 display: block;
}
.about-rinen{
 display: block;
 font-size: 1em;
 text-align: center;
 margin-bottom: 20px;
}
.about-rinen img{
 display: block;
 margin: 10px auto;
}
}

.aboutBG{
 background: url(./images/aboutbg_g.png) no-repeat top center / cover;
}
.gaiyou-wrap{
 display: block;
 background: #fff;
 padding: 20px;
 border-radius: 30px;
 margin: 30px 0;
}
.floor{
 display: grid;
 grid-template-columns: repeat(3,1fr);
 gap: 30px;
}
@media screen and (max-width: 767px){
.floor{
 display: block;
 margin: 5px auto;
}
}

/* 動画を囲うdiv */
.youtube {
 position: relative;
 width:100%; /* 横幅は100%にしておく(ここを変えたい場合は実装コード2の方法を確認してください) */
 height:0; /* 高さは0にしておく(padding-topで高さを指定するため) */
 padding-top: 56.25%; /* 高さを指定(16:9) */
}
/* YouTube埋め込み用のiframe */
.youtube iframe{
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
}


/*決算*/
.financial-reports {
 display: grid;
 grid-template-columns: repeat(3,1fr);
 list-style: none;
 padding: 0;
 margin: 1em 0;
 gap: 10px;
}
.financial-reports li {
 margin: 0;
}
.financial-reports a {
 display: inline-block;
 background-color: #3b7352;
 color: #fff;
 padding: 10px 16px;
 border-radius: 6px;
 text-decoration: none;
 font-weight: bold;
 transition: background-color 0.3s ease;
 font-size: 1.2em;
}
.financial-reports a:hover {
 background-color: #fff;
 color: #3b7352;
 border: 3px solid #3b7352;
 border-radius: 10px;
}
@media screen and (max-width: 767px){
.financial-reports {
 grid-template-columns: 1fr;
}
}

/*///////////////////////////////////////
採用情報
///////////////////////////////////////*/
.accordion {
 margin-bottom: 15px;
 border: 1px solid #3b7352;
 border-radius: 8px;
 overflow: hidden;
}
.accordion-header {
 background: #3b7352;
 color: #fff;
 width: 100%;
 font-size: 1.1em;
 text-align: left;
 padding: 20px 16px;
 border: none;
 cursor: pointer;
 font-weight: bold;
 position: relative;
}

.accordion-header::after {
  content: "+";
  position: absolute;
  right: 16px;
  font-size: 1.2rem;
  transition: transform 0.3s ease;
}

.accordion-header.active::after {
  content: "-";
  transform: rotate(180deg);
}

.accordion-content {
  display: grid;
  grid-template-columns: 300px 1fr;
  max-height: 0;
  overflow: hidden;
  align-items: center;
  transition: max-height 0.6s ease, padding 0.6s ease;
  padding: 0;
}

.accordion-content div {
  display: block;
  padding: 20px;
  background: #fff;
  border-radius: 30px;
}

.accordion-content.open {
  max-height: 2000px;
  padding: 10px 0;
}

@media screen and (max-width: 767px) {
  .accordion-content {
    display: block;
  }
  .accordion-content img {
    display: block;
    max-width: 80%;
    margin: 0 auto;
  }
}

.syokusyu-wrap{
 background: #fff;
 border: 1px solid #3b7352;
 padding: 20px 40px;
 border-radius: 30px;
}
.syokusyu-wrap h4{
 color:#3b7352;
 font-size:1.2em;
}
.syokusyu{
 display: grid;
 grid-template-columns: repeat(3,1fr);
 gap: 20px;
}
.syokusyu li{
 display: block;
 background: #e4f6e0;
 padding: 20px 0;
 text-align: center;
 color: #333;
 font-weight: bold;
 font-size: 1.1em;
 border-radius: 20px;
}
@media screen and (max-width: 767px) {
.syokusyu{
 grid-template-columns:1fr;
}
}


/*///////////////////////////////////////
bbpressカスタマイズ
///////////////////////////////////////*/
.bbp-topic-form,
.bbp-login-form {
 /*display: none;*/
}

.bbp-form .bbp-form p:nth-child(3) {
 /*display: none;*/
}
.bbp-form .bbp-form p:nth-child(3),
.bbp-form .bbp-form p:nth-child(4) {
 /*display: none;*/
}
.bbp-breadcrumb,
#favorite-1319,
#subscribe-1319,
#subscription-toggle{
 display: none;
}

#bbpress-forums,.bbp-reply-content,.bbp-meta{
  font-size: 16px;
  line-height: 1.6;
}
#bbp_reply_submit {
 font-size: 16px;
 padding: 8px 16px;
 background-color: #3b7352;
 color: #fff;
 border-radius: 6px;
 text-decoration: none;
 display: inline-block;
 margin-top: 10px;
 transition: background-color 0.3s ease;
 border: none;
}

#bbp_reply_submit:hover {
 background-color: #e06d28;
 cursor: pointer;
}

/* タグ入力欄を非表示 */
#bbp_topic_tags {
  display: none !important;
}
label[for="bbp_topic_tags"] {
  display: none !important;
}

/* 購読チェックボックスを非表示 */
#bbp_topic_subscription,
label[for="bbp_topic_subscription"] {
  display: none !important;
}



/*///////////////////////////////////////
職員専用掲示板
///////////////////////////////////////*/
.bbs-list{
 list-style: none;
 text-align: left;
 font-size: 1.1em;
}
.bbs-list li{
 list-style: none;
 text-align: left;
 font-size: 1.1em;
 font-weight: bold;
 display: block;
 border-bottom: 1px dotted #ddd;
}
.bbs-list li a{
 display: block;
 color: #333;
 padding: 20px 0;
}
.bbs-list li span{
 color: #3B7352;
 margin-right: 10px;
}
