@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/** メインビジュアルテキスト **/
.m-box {
  width:100%;
  margin: 0 auto 2em; /* 外側の余白（上下と中央配置） */
  padding: 1.6em;     /* 内側余白 */
  background-size:cover;
  box-sizing:border-box;
}
.m-box *{
  box-sizing:border-box;
}
.m-textwrap{
  margin:auto;
  width:100%;
  padding: 2em;
  text-align:center;
  box-shadow: 0 0 4px 1px #fff, 0 0 8px 1px #fff inset;/*ふわりとした影*/
	border-radius: 60px;
}
.m-text{
    letter-spacing: 4px;
    margin:0;
	padding: 1em 0.9em;
    color: rgba(255,255,255,0.8);
	font-size: 1.8em;
    background-size:cover;
    background-position:center;
    -webkit-background-clip: text;
}

/** グローバルナビリンク色 **/
.c-gnav > li:hover > a, .c-gnav > .-current > a {
background: transparent;
color: #B6DC90;
	font-weight:bold;
transition: all .25s;
}

/* パンくずリスト */
.p-breadcrumb {
    padding: 0;
}

/* コンテンツタイトル */
/* 固定ページタイトル文字色 */
.c-pageTitle {
    color: #391500;
}
/* 投稿ページタイトル文字色 */
.l-topTitleArea__body {
    color: #391500;
}
.l-topTitleArea .c-postTitle__date {
    border-color: #391500;
}
.l-topTitleArea .c-categoryList, .l-topTitleArea .c-tagList {
    color: #391500;
}
.l-topTitleArea .c-categoryList__link {
    border: 1px solid #391500;
}
.l-topTitleArea .c-categoryList__link, .l-topTitleArea .c-tagList__link {
    background: none;
    color: #391500;
}

/** TOPページお知らせ **/
/* newマーク
.new-mark .p-postList__title::before {
	content: "New!";
	display: inline-block;
	background-color: red;
	color: #fff;
	line-height: 1;
	margin-right: .5em;
	padding: .3em .5em;
	font-size: .7em;
	vertical-align: text-bottom;
} */

/* ホバー背景色 */
.-type-simple .p-postList__item {
  transition: transform 0.3s ease, background-color 0.3s ease, box-shadow 0.3s ease;
}
.-type-simple .p-postList__item:hover {
  background-color: #f4fcee !important;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
}

/* 施設一覧ページ */
.top-offset-8 { position:relative;margin-block-start:-8em !important; }

/* ページ共通 */
/* ヘッダータイトル背景画像 */
@media (min-width: 600px){
	.l-topTitleArea {
		min-height: 280px;
	}
}

/* contents全体上部余白 */
@media(min-width: 600px){
	.l-content{
		padding-top: 1em
	}
}

/* 投稿記事 */
/* 投稿詳細ページ本文上部に余白 */
article.l-mainContent__inner {
  padding-top: 1rem;    /* スマホも最低限の余白を確保 */
  padding-bottom: 1rem;
}
@media (min-width: 600px) {
  article.l-mainContent__inner {
    padding-top: 2rem;  /* PCなど広い画面では余白を広げる */
  }
}

/* 投稿ページ本文に余白 */
.archive .p-postList {
	  margin-top: 1.4rem;
}
@media (min-width: 600px) {
	.archive .p-postList {
	  margin-top: 2.4rem;
	}
}

/* 記事中のh2見出し */

/* SNSシェアボタンの形状を丸に変更 */
.c-shareBtns__btn {
    border-radius: 50%;
    width: 33px;
    height: 33px;
    padding: 7px;
    box-shadow: rgba(50, 50, 93, .25) 0 13px 27px -5px, rgba(0, 0, 0, .3) 0 8px 16px -8px;
}

/* モバイル時の画像とテキスト並び順 */
@media (max-width: 768px)  {
.swell-col-reverse .swell-block-columns__inner{
	flex-direction: column-reverse; 
}
}

/* ボタン追加カラー */
.pink_ {
	--the-btn-color: #ec5196;
	--the-btn-color2: #f3b1b1;
	--the-solid-shadow: rgba(255,0,128,1);
}
.yellow_ {
	--the-btn-color: #ffcc4b;
	--the-btn-color2: #ffb90b;
	--the-solid-shadow: rgba(204,161,31,1);
}
.orange_ {
	--the-btn-color: #f08300;
	--the-btn-color2: #f6ad49;
	--the-solid-shadow: rgba(179,98,0,1);
}
.mizuiro_ {
	--the-btn-color: #34a6ea;
	--the-btn-color2: #9dd3f4;
	--the-solid-shadow: rgba(19,123,185,1);
}
.midori_ {
	--the-btn-color: #00512b;
	--the-btn-color2: #008a48;
	--the-solid-shadow: rgba(0,64,0,1);
}
.rightgreen_ {
	--the-btn-color: #009e87;
	--the-btn-color2: #408080;
	--the-solid-shadow: rgba(19,123,185,1);
}
.yellow-green_ {
	--the-btn-color: #33a15d;
	--the-btn-color2: #33a15d;
	--the-solid-shadow: rgba(8,126,53,1);
}
.purple_ {
	--the-btn-color: #522f60;
	--the-btn-color2: #a59aca;
	--the-solid-shadow: rgba(44,25,51,1);
}

/** フッター直前 **/
/* CTA */
.cover-hover {
  position: relative;
  overflow: hidden;
}
.cover-hover img {
  width: 100%;
  height: auto;
  transition: transform 0.4s ease, filter 0.4s ease;
}
.cover-hover:hover img {
  transform: scale(1.05);
  filter: brightness(1.1);
}

/* フッター前余白 */
#before_footer_widget {
    margin-top: 0;
}

/** フッター **/
.l-footer__widgetArea {
    background: #fffdfa;
}
.l-footer__foot{
	color: #ffffff;
    background: #391500;
}
/* フッター01 */
.footer-box {
	padding: .5em;
}
.footer-logo {
  display: block;
  margin-bottom: 1em;
}
.footer-info-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.footer-info-list li {
  padding: 0.2em 0;
  color: #333;
}
.l-footer__widgetArea{
	padding-top: 2.5rem
}

/* フッターメニュー */
.l-footer__nav li:first-child a {
border-left: none;
}
.l-footer__nav a {
border: none;
}
.l-footer__nav a:hover {
color: #B6DC90;
text-decoration: none;
transition: all .25s;
}

/* フッターメニュー縦線なし */
.l-footer__nav li:first-child a {
border-left: none;
}
.l-footer__nav a {
border: none;
}

/** お問い合わせページ **/
/* フォーム全体のスタイリング */
.custom-form {
    max-width: 90%; /* フォーム全体の最大幅を指定し、中央寄せでバランスを整える */
    margin: 0 auto; /* 中央に配置 */
    font-family: 'Arial', sans-serif; /* フォーム全体のフォントを指定 */
    color: #333; /* テキストの色を濃いグレーに設定 */
}
.custom-form label {
    display: inline-block; /* ラベルを独立したブロック要素として扱う */
    margin-bottom: 8px; /* ラベル下に余白を追加して間隔を調整 */
    font-weight: bold; /* ラベルの文字を強調 */
    font-size: 14px; /* ラベルの文字サイズを調整 */
}
/* 必須ラベルのスタイリング */
.custom-form .required {
    display: inline-block; /* 必須ラベルをインラインで表示 */
    margin-left: 5px; /* ラベルと必須マークの間隔を調整 */
    padding: 2px 6px; /* 内側の余白を設定して視認性を向上 */
    font-size: 12px; /* 必須ラベルの文字サイズを指定 */
    color: #fff; /* テキスト色を白に設定 */
    background-color: #84bc48; /* 必須ラベルの背景色をメインカラーに設定 */
    border-radius: 3px; /* ラベルを角丸にして柔らかい印象に */
    /*font-weight: bold; /* ラベルの文字を太字に */
}
/* 入力フィールド */
.custom-form input[type="text"],
.custom-form input[type="email"],
.custom-form input[type="tel"],
.custom-form textarea {
    width: 100%; /* フィールド幅をフォームに合わせて最大化 */
    padding: 10px; /* 内側の余白を設定して入力しやすくする */
    margin-bottom: 30px; /* 各フィールドの下に余白を設定して間隔を広げる */
    border: 2px solid #93c465; /* メインカラーを枠線に適用 */
    border-radius: 5px; /* 入力フィールドを角丸に */
    background: #f8f9fa; /* フィールド背景を薄いグレーに設定 */
    font-size: 14px; /* フィールド内テキストのサイズを指定 */
    transition: border-color 0.3s ease, background-color 0.3s ease; /* フォーカス時のスムーズな変化を設定 */
}
.custom-form input[type="text"]:focus,
.custom-form input[type="email"]:focus,
.custom-form input[type="tel"]:focus,
.custom-form textarea:focus {
    border-color: #84bc48; /* フォーカス時の枠線色を強調 */
    outline: none; /* ブラウザデフォルトのフォーカス枠を削除 */
    background: #effae6; /* フォーカス時の背景色をメインカラーの薄いバリエーションに変更 */
}
/* 送信ボタンの調整 */
.custom-form input[type="submit"] {
    display: block; /* ブロック要素として中央揃えしやすく設定 */
    width: 80%; /* ボタン幅を適度に制限 */
    margin: 0 auto; /* ボタンを中央寄せ */
    padding: 12px 20px; /* ボタン内側の余白を調整 */
    border: none; /* 枠線を削除してシンプルなデザインに */
    border-radius: 25px; /* ボタンを丸みのある形状に設定 */
    background: #52ac45; /* ボタン背景にメインカラーを適用 */
    color: #fff; /* ボタン文字を白に設定 */
    font-size: 16px; /* ボタン文字のサイズを指定 */
    cursor: pointer; /* ボタンにホバーポインタを表示 */
    transition: background-color 0.3s ease; /* ホバー時の背景色変更をスムーズに */
}
.custom-form input[type="submit"]:hover {
    background: #93c465; /* ボタンホバー時にメインカラーの濃いバリエーションを表示 */
}

/* gnSec18 */
.arkp-gnSec18 .ark-block-section__bodyInner {
    display: flex;
    flex-direction: column;
}
.arkp-gnSec18 .arkp-gnSec18__body {
    width: 100%; 
}
.arkp-gnSec18 .arkp-gnSec18__heading {
    font-size: 1.75rem;
    font-weight: bold;
    line-height: 1.5 !important;
}
.arkp-gnSec18 .arkp-gnSec18__txt {
    font-size: .875rem;
    margin-top: 1rem !important;
}
.arkp-gnSec18 .arkp-gnSec18__imgWrapper > img {
    width: 100%;   
}

/* reCa */
.grecaptcha-badge { visibility: hidden; }