/*
Theme Name: life-time-fukushima
Text Domain: lightning
Description: Lightning is a very simple & easy to customize theme which is based on the Bootstrap. It is also very friendly with custom post types and custom taxonomies. When you add a new one, the breadcrumbs will be adjusted and posts will look beautifully without editing or adding a template files.
Author: Vektor,Inc.
Author URI: https://www.vektor-inc.co.jp
Version: 15.35.0
Requires at least: 6.5
Tested up to: 6.9
Requires PHP: 7.4
Tags: blog, one-column, custom-background, custom-colors, custom-logo, custom-menu, editor-style, featured-images, footer-widgets, full-width-template, sticky-post, theme-options, threaded-comments, translation-ready, block-styles, wide-blocks
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

Lightning WordPress theme, Copyright (C) 2015-2026 Vektor,Inc.
Lightning WordPress theme is licensed under the GPL.

Lightning WordPress Theme bundles the following third-party resources:

Font Awesome icon font, Copyright 2012 Fonticons, Inc.
its fonts are licensed under the terms of the SIL OFL License 1.1, and its code is licensed under the terms of the MIT license
Source: https://fontawesome.com/

Bootstrap framework, Copyright 2011 Bootstrap Authors and Twitter, Inc.
Bootstrap is licensed under the terms of the MIT license
Source: https://getbootstrap.com/

CSS Simple Tree Shaking
CSS Simple Tree Shaking is licensed under the terms of the GNU General Public License v2 license
Source: https://celtislab.net/
*/





/* ========================================================================== */
/* 大見出し */
/* ========================================================================== */

/* -------------------------------------------------------------------------- */
/* 中見出し */
/* -------------------------------------------------------------------------- */

/**/
/* 小見出し */
/**/

/* コメント */



/* ========================================================================== */
/* サイズ指定なしここから */
/* ========================================================================== */
/* -------------------------------------------------------------------------- */
/* 共通ここから */
/* -------------------------------------------------------------------------- */
body {
	font-family: "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", "Meiryo", sans-serif !important;
	letter-spacing: 0.05em;
	color: #434343;
}

@media all and (min-width:1200px) {

	.container,
	.container-lg,
	.container-md,
	.container-sm,
	.container-xl {
		max-width: 1200px;
	}
}
body .container {
	margin: auto;
	padding: 0;
}
body .row {
	margin: 0 auto;
	padding: 0;
}

pre {
	font-size: 100%;
	color: #212121;
}

a,
.mce-content-body a {
	text-decoration: underline;
	color: #212121;
}

a:hover,
.mce-content-body a:hover {
	text-decoration: none;
	color: #999;
}
a img {
	transition: 0.3s;
}
a:hover img,
.mce-content-body a:hover img {
	opacity: 0.8;
}

a[href="#hide-link"] {
	pointer-events: none; /* クリックなどのマウス操作を無効化 */
	cursor: default;      /* カーソルを矢印のままにする */
	color: inherit;       /* 親要素の文字色と同じにする */
	text-decoration: none;/* 下線を消す */
}
li a, p a {
    text-decoration: underline;
    text-decoration-style: solid;
    text-underline-offset: 5px;
    text-decoration-color: rgba(0,0,0,1);
    text-decoration-thickness: 1px;
}

p {
	line-height: 1.5;
	margin: 0.6em 0;
}


body:not(.home) .entry-body p {
	margin: 0.8em 0;
}
body:not(.home) .entry-body table p:empty {
	margin: 0;
	padding: 0;
}

dl:not([class]),
ol:not([class]),
ul:not([class]) {
	margin-top: 1em;
	margin-bottom: 1em;
}

ol:not([class]) li,
ul:not([class]) li {
	margin-bottom: 0;
}

.entry-body ul:not([class]),
.mce-content-body ul:not([class]) {
	list-style-type: none;
}

.entry-body ul:not([class])>li,
.mce-content-body ul:not([class])>li {
	position: relative;
}

.entry-body ul:not([class]) li::before, .mce-content-body ul:not([class]) li::before {
	content: '';
	position: absolute;
	top: 0.65em;
	left: -1em;
	display: block;
	width: 5px;
	height: 5px;
	border-radius: 5px;
	background-color: #F79910;
}
.entry-body ul#sitemap_list li::before {
	content: none;
}

.entry-body ul:not([class])>li>ul:not([class]),
.mce-content-body ul:not([class])>li>ul:not([class]) {
	margin: 0;
}

.entry-body ol:not([class])>li>ul:not([class]),
.mce-content-body ol:not([class])>li>ul:not([class]) {
	margin: 0;
}

.entry-body ul>li>ul.astarisk,
.mce-content-body ul>li>ul.astarisk,
.entry-body ol>li>ul.astarisk,
.mce-content-body ol>li>ul.astarisk {
	padding-left: 2em;
}

.entry-body ul:not([class])>li>ul:not([class])>li::before,
.mce-content-body ul:not([class])>li>ul:not([class])>li::before {
	content: '';
	display: block;
	position: absolute;
	width: 8px;
	height: 8px;
	background-color: transparent;
	left: -18px;
	top: 9px;
	border: 1px solid #212121;
	border-radius: 8px;
}

.entry-body table ul,
.mce-content-body table ul {
	margin: 0;
	padding: 0 1.5em;
}



.table,
table {
	border-collapse: collapse;
	border-spacing: 0;
	width: auto;
	border-top: none;
	margin: 1em 0;
}

.table_max {
	width: 100%;
}

table th {
	color: #333;
	font-size: 1em;
	font-weight: 700;
	text-align: left;
	background-color: #FFFCEC;
}

table td {
	font-size: 1em;
	background-color: #fff;
}

.table tbody tr td,
.table tbody tr th,
.table td,
.table th,
.table thead tr td,
.table thead tr th,
table tbody tr td,
table tbody tr th,
table td,
table th,
table thead tr td,
table thead tr th {
	border: 1px solid #333;
}

.siteContent {
	background-color: transparent;
}
body.single .siteContent, body.post .siteContent {
	padding: 1.5em 0 4em;
}

.home .siteContent {
	padding: 1em;
	background-color: #FFF;
}
.entry-header {
	border-bottom: none;
	text-align: right;
}
.mainSection-marginBottom-on {
	margin-bottom: 2rem;
}

.subSection.sideSection {
	display: none;
}

.js-scrollable {
	white-space: nowrap;
	/* 文字の折り返しはなくす */
}

.gallery .gallery-caption {
	color: #333;
	font-size: 1.25em;
	font-weight: 700;
	margin: 0 0 2em;
}

.gallery dt {
	margin-bottom: 0;
}

img {
    max-width: 100% !important;
    height: auto;
}
iframe {
    margin: 0;
    vertical-align: bottom;
}
/* -------------------------------------------------------------------------- */
/* 共通ここまで */
/* -------------------------------------------------------------------------- */


/* -------------------------------------------------------------------------- */
/* ヘッダーここから */
/* -------------------------------------------------------------------------- */
.site-header, .header_scrolled .site-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000; /* 他の要素より手前に出す */
	background-color: rgba(255,255,255,0.9);
	animation: none !important;
}
.header_scrolled .header-top, .header_scrolled .site-header-logo, .header_scrolled .site-header-sub, .header_scrolled .vk-campaign-text {
	display: block;
}

body.admin-bar .site-header {
    top: 32px; /* PCサイズの管理バーの高さ分ずらす */
}
@media (max-width: 767px) {
    body.admin-bar .site-header {
        top: 46px; /* スマホサイズの管理バーの高さ分ずらす */
    }
}

.site-header-container.container {
	max-width: 100%;
	padding: 0.5em;
	min-height: 120px;
	justify-content: center;
	align-items: center;
}
.site-header-logo {
	margin: 0 0 0 0.5em;
	padding: 0;
}

.site-header + div {
	margin-top: 0 !important;
}

.site-header--layout--nav-float .site-header-logo {
	margin-right: 0em;
	width: 100%;
}

#vk-mobile-nav-menu-btn {
	display: none;
}

/**/
/* メニューここから */
/**/
/* 1. 親要素（コンテナ）をGridにする */
#site-header-container {
	display: grid;
	/* 列の設定： 1列目（ロゴ）は自動、2列目（検索・メニュー）は残り全部（1fr） */
	grid-template-columns: auto 1fr;
	/* 行の設定： 1行目、2行目ともに中身の高さに合わせる */
	grid-template-rows: auto auto;
	/* 要素の隙間（適宜調整してください） */
	column-gap: 2.5em; /* ロゴと右側エリアの隙間 */
	row-gap: 0;    /* 検索ボックスとメニューの縦の隙間 */
	align-items: center; /* 縦方向の中央揃え */
}

/* 2. ロゴ： 1列目で、1行目〜2行目を結合して配置 */
.site-header-logo {
	grid-column: 1 / 2; /* 1列目から2列目の手前まで */
	grid-row: 1 / 3;    /* 1行目から3行目の手前（つまり2行分）まで結合！ */
	margin: 0; /* Lightning標準の余白をリセット */
}

/* 3. 検索ボックス： 2列目、1行目 */
#searchform {
	grid-column: 2 / 3;
	grid-row: 1 / 2;
	justify-self: end; /* 右寄せにする（左寄せがいい場合は start に） */
	margin: 0;
}

/* 4. グローバルメニュー： 2列目、2行目 */
#global-nav {
	grid-column: 2 / 3;
	grid-row: 2 / 3;
	display: flex;
	justify-self: end; /* 右寄せにする */
	justify-content: flex-end;
	width: 100%;       /* メニュー自体の幅をしっかり確保 */
}

/* メニュー自体の位置調整（Lightningの標準スタイル調整） */
#global-nav .vk-menu-acc {
	justify-content: flex-end; /* メニューの項目を右端に揃える */
}

.global-nav-list > li .global-nav-name {
	font-size: calc(1.25em/14*16);
}

.site-header .global-nav-list > li > a {
	margin: 0 0 1em;
	padding: 0.5em 2em 0.5em 2em;
}

.site-header .global-nav-list > li.menu_contact > a {
	padding-left: 4em;
}
.menu_contact a::before {
	position: absolute;
	content: '';
	display: inline-block;
	width: 34px;
	height: 34px;
	background-image: url('/wp/wp-content/themes/life-time-fukushima/img/template/icon_contact.svg');
	background-size: contain;
	left: 0.5em;
}
.global-nav-list > li::before {
	border-bottom: 1px solid #5b4023;
}
body .mob-menu-header-holder {
	width: 0;
}
.mob-menu-logo-holder {
	display: none;
}
body .main-navigation, body .genesis-nav-menu, body #main-header, body #et-top-navigation, body .site-header, body .site-branding, body .ast-mobile-menu-buttons, body .storefront-handheld-footer-bar, body .hide {
	display: block !important;
}
body #mobmenuright li a, body #mobmenuright li a:visited, body #mobmenuright .mobmenu-content h2, body #mobmenuright .mobmenu-content h3, body .mobmenu-left-panel .mobmenu-display-name {
	font-family: "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", "Meiryo", sans-serif !important;
}
body .mob-icon-menu::before {
	content: '\e9d6' !important;
}
body .mobmenu-right-panel li, body .rightmbottom, body .rightmtop {
	padding: 0 2.5em;
}
/**/
/* メニューここまで */
/**/


/**/
/* 装飾画像ここから */
/**/
.firstview_area::before {
	/* content: ''; */
	background-image: url(/wp/wp-content/themes/life-time-fukushima/img/template/img_highlevel.png);
	background-size: contain;
	aspect-ratio: 160/215;
	object-fit: cover;
	width: 130px;
	position: absolute;
	left: 1.5em;
	bottom: 1.5em;
	z-index: 2;
}
.firstview_area::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0.5em;
    z-index: 999;
    width: 800px;
    max-width: 45%;
    height: 100%;
	max-height: 40%;
    margin: 0 auto;
    background-image: url(/wp/wp-content/themes/life-time-fukushima/img/template/img_catchcopy.png);
    aspect-ratio: 1150/434;
    object-fit: cover;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: bottom;
    pointer-events: none;
    opacity: 0;
    animation: fadeInCatchcopy 2.5s ease-out 1s forwards;
}
@keyframes fadeInCatchcopy {
  from {
    opacity: 0;               /* 初期状態：透明 */
    transform: translateY(30px); /* 初期状態：少し下（30px）に配置 */
  }
  to {
    opacity: 1;               /* 終了状態：不透明（完全に表示） */
    transform: translateY(0);   /* 終了状態：元の位置 */
  }
}
/**/
/* 装飾画像ここまで */
/**/



/**/
/* 検索ボックスここから */
/**/
#form_anchor {
	display: flex;
	justify-content: right;
	padding: 0 1.5em;
}


/* 1. 検索ボックス全体の枠組み（formの中のdiv） */
#searchform div {
    display: flex;
    align-items: center;
    background-color: #ffffff;
    border: 1px solid #bbbbbb; /* 外側の薄いグレーの枠線 */
    border-radius: 6px; /* 全体の角丸 */
    padding: 3px; /* 枠線と中のボタンとの間の隙間 */
    width: 100%;
    max-width: 320px; /* 検索ボックスの最大幅（お好みで調整） */
}

/* 2. 検索キーワード入力欄（テキストボックス） */
#searchform #s {
    flex: 1; /* ボタン以外の余ったスペースをすべて入力欄にする */
    border: none; /* 入力欄自体の枠線は消す */
    background: transparent;
    padding: 4px 12px;
    margin: 0;
    box-shadow: none; /* テーマ標準の影などをリセット */
    outline: none; /* クリックした時の黒い枠（または青い枠）を出さない */
}

/* 3. 検索ボタン（緑色） */
#searchform #searchsubmit {
    background-color: #318a00;
    color: #ffffff;
    font-weight: bold;
    font-size: 0.8em;
    border: none;
    border-radius: 4px;
    padding: 3px 0px;
    margin: 0;
    cursor: pointer;
    transition: opacity 0.2s ease;
    max-width: 50px;
	font-size: 0.8em;
}

/* ボタンにマウスを乗せた時（ホバー時）のアクション */
#searchform #searchsubmit:hover {
    opacity: 0.8; /* 少しだけ透過させて押せる感を出す */
}
/**/
/* 検索ボックスここまで */
/**/

/* -------------------------------------------------------------------------- */
/* ヘッダーここまで */
/* -------------------------------------------------------------------------- */



/* -------------------------------------------------------------------------- */
/* ファーストビューここから */
/* -------------------------------------------------------------------------- */

.firstview_area .metaslider .flexslider {
    background: linear-gradient(90deg, #2D8205 0%, #2D8205 50%, #EBE8D8 50%, #EBE8D8 100%);
	margin: 0;
}
.firstview_area ul.slides {
	clip-path: circle(62% at 50% 25%);
	background-color: #fff !important;
}



/**/
/* スライドショーここから */
/**/
.firstview_area .swiper-main {
    background: linear-gradient(90deg, #2D8205 0%, #2D8205 50%, #EBE8D8 50%, #EBE8D8 100%);
	margin: 0;
	overflow: visible;
}
.firstview_area .swiper-main .swiper-wrapper {
	clip-path: circle(62% at 50% 25%);
	background-color: #fff !important;
    aspect-ratio: 1920/900;
    object-fit: cover;
	overflow: hidden;
}
.firstview_area .swiper-main .swiper-wrapper img {
	vertical-align: bottom;
}

/* 縮小時対策 */
.swiper-slide img {
    width: 100%;
}

/**/
/* スライドショーここまで */
/**/




/**/
/* コントロールボタンここから */
/**/

/* 1. ラッパーの指定 (Flexboxコンテナ) */
.metaslider .metaslider-control {
    position: absolute;
    bottom: 1.5em;
    right: 5em;
    z-index: 100;
    display: flex;
    align-items: center;
    gap: 10px;
}

/* 2. 悪さをするデフォルトCSSの「完全無効化」 */
.metaslider .metaslider-control ol,
.metaslider .metaslider-control ul,
.metaslider .metaslider-control li,
.metaslider .metaslider-control div,
.metaslider .metaslider-control a {
    position: relative !important;
    margin: 0 !important;
    top: auto !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
}
.metaslider .metaslider-control .flex-direction-nav li a,
.metaslider .metaslider-control .flex-pauseplay a {
    display: block !important;
}
.metaslider .metaslider-control .flex-control-nav li a {
    margin: 0 6px !important;
}

/* 3. 左右ボタンのulの壁を取り払う */
.metaslider .metaslider-control .flex-direction-nav {
    display: contents !important;
}

/* 4. 並び順（順番）の指定 */
/* ① ドット（ページネーション） */
.metaslider .metaslider-control .flex-control-nav {
    order: 1;
    display: flex !important; /* ドット群を横に並べるため */
    align-items: center;
}
/* ② 左ボタン（Prev） */
.metaslider .metaslider-control .flex-direction-nav .flex-nav-prev {
    order: 2;
}
/* ③ 再生/停止ボタン */
.metaslider .metaslider-control .flex-pauseplay {
    order: 3;
}
/* ④ 右ボタン（Next） */
.metaslider .metaslider-control .flex-direction-nav .flex-nav-next {
    order: 4;
}

.firstview_area .flex-control-paging li a {
    width: 16px;
    height: 16px;
	border: 2px solid #5B4023;
}
.firstview_area #metaslider-id-37 .flexslider .flex-control-nav li a:not(.flex-active) {
    background: #fff;
}
.firstview_area #metaslider-id-37 .flexslider .flex-control-nav li a.flex-active {
    background: #F79910;
	border-color: #F79910;
}

.firstview_area .metaslider.ms-theme-default-base .flexslider .flex-direction-nav li a {
    width: 22px;
    height: 22px;
    background: #5B4023 !important;
}
.firstview_area #metaslider-id-37 .flexslider .flex-direction-nav li a:after {
    transform: scale(0.5);
}

.firstview_area .metaslider .flexslider .flex-pauseplay .flex-play, .firstview_area .metaslider .flexslider .flex-pauseplay .flex-pause {
    width: 22px;
    height: 22px;
    background: #5B4023 !important;
	padding: 0;
	line-height: 18px;
	opacity: 1;
}

.firstview_area .metaslider .flexslider .flex-pauseplay a:before {
    font-size: 10px;
}
.metaslider.ms-theme-default-base .flexslider .flex-pauseplay a:focus {
	outline: none !important;
}

.firstview_area .metaslider .flexslider:focus-within .flex-next, .firstview_area .metaslider .flexslider:hover .flex-next, .firstview_area .metaslider .flexslider:focus-within .flex-prev, .firstview_area .metaslider .flexslider:hover .flex-prev {
	opacity: 1;
}





.firstview_area .swiper-controls {
    position: absolute;
    bottom: 1.5em;
    right: 5em;
    z-index: 100;
    display: flex;
    align-items: center;
    gap: 10px;
}
.firstview_area .swiper-controls .swiper-pagination {
    position: static;
    width: auto;
	display: flex;
}

.firstview_area .swiper-controls .swiper-pagination span{
    width: 16px;
    height: 16px;
	border: 2px solid #5B4023;
	opacity: 1;
}
.firstview_area .swiper-controls .swiper-pagination span:not(.swiper-pagination-bullet-active) {
    background: #fff;
}
.firstview_area .swiper-controls .swiper-pagination span.swiper-pagination-bullet-active {
    background: #F79910;
	border-color: #F79910;
}

.swiper-controls .swiper-button-prev, 
.swiper-controls .swiper-button-next {
    position: static;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;

    /* 1. サイズを「固定」する（min- をつけるのがコツ） */
    width: 22px;
    height: 22px;
    min-width: 22px; /* 横に伸びるのを防ぐ */
    min-height: 22px; /* 縦に伸びるのを防ぐ */
    flex-shrink: 0;   /* 親要素が狭くても潰れないようにする */

    /* 2. 余計な膨らみをリセット */
    padding: 0;
    box-sizing: border-box;

    border-radius: 50%; /* 正円を維持 */
    background: #5B4023 !important;
    cursor: pointer;
}
.firstview_area .swiper-toggle-play {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
	border-radius: 22px;
    padding: 0;
    font-size: 16px;
    line-height: 1;
    cursor: pointer;
    background: #593e22;
    color: #fff;
	border: none;
}

.firstview_area .swiper-button-prev:after {
	transform: scaleX(-1);
}
.firstview_area .swiper-button-next:after {
}
.firstview_area .swiper-button-prev:after, 
.firstview_area .swiper-button-next:after {
	content: '\279C';
    width: 22px;
    height: 22px;
    margin: auto;
    position: relative;
    top: 1px;
	bottom: 0;
    display: inline-block; /* transformやpositionを確実に効かせるため */
    color: #fff;
    font-size: 0.75em;
    font-weight: 700;
    text-align: center;
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    font-weight: bold;
    line-height: 1.75em;
    transition: 0.3s;
	z-index: 1;
}


.firstview_area .metaslider .flexslider .flex-pauseplay .flex-play, .firstview_area .metaslider .flexslider .flex-pauseplay .flex-pause {
    width: 22px;
    height: 22px;
	border-radius: 22px;
    background: #5B4023 !important;
	padding: 0;
	line-height: 18px;
	opacity: 1;
}

.firstview_area .metaslider .flexslider .flex-pauseplay a:before {
    font-size: 10px;
}


/**/
/* コントロールボタンここまで */
/**/


/**/
/* スクロールエフェクトここから */
/**/
/* 親要素（配置の基準） */
.firstview_area {
	position: relative;
}

.scroll-indicator {
    position: absolute;
    display: inline-block;
    width: 40px;   /* 線とテキストが収まる十分な幅 */
    height: 150px; /* 縦線の全体の長さ（お好みで調整） */
	right: 1em;
	bottom: 0;
	z-index: 10;
}
/* 縦線（::before） */
.scroll-indicator::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 2px;
    height: 100%;
    
    /* ベースとなるブラウンの線 */
    background-color: #5B4023;
    
    /* 上に乗せるオレンジの線（最初は見えない位置に配置） */
    background-image: linear-gradient(to bottom, #F79910, #F79910);
    background-repeat: no-repeat;
    
    /* オレンジの線のサイズ（横幅100%、高さ35px） */
    background-size: 100% 35px;
    
    /* アニメーションの指定（2.5秒周期で無限に繰り返す） */
    animation: scroll-line-anim 2.5s cubic-bezier(0.65, 0, 0.35, 1) infinite;
}

/* オレンジの線が流れるアニメーション */
@keyframes scroll-line-anim {
	0% {
        /* 上の枠外からスタート */
        background-position: 0 -35px;
    }
    100% {
        /* 下の枠外までそのまま移動 */
        /* ※ 親要素の height を 150px にしている場合の数値です */
        background-position: 0 150px;
    }
}

/* SCROLLテキスト（::after） */
.scroll-indicator::after {
    content: 'SCROLL';
    position: absolute;
    top: 0px;
    left: 5px;
    color: #5B4023;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0.15em;
    writing-mode: vertical-rl;
	text-shadow: 
		2px  2px 0 #ebe8d8,
	   -2px  2px 0 #ebe8d8,
		2px -2px 0 #ebe8d8,
	   -2px -2px 0 #ebe8d8,
		2px  0px 0 #ebe8d8,
	   -2px  0px 0 #ebe8d8,
		0px  2px 0 #ebe8d8,
		0px -2px 0 #ebe8d8;
}
/**/
/* スクロールエフェクトここまで */
/**/

/* -------------------------------------------------------------------------- */
/* ファーストビューここまで */
/* -------------------------------------------------------------------------- */





/* -------------------------------------------------------------------------- */
/* 特出しメニューここから */
/* -------------------------------------------------------------------------- */
.special_link {
    background-color: #F8F7F1;
}
.special_link_inner ul {
	margin: 0;
    padding: 5em 0.5em 1.5em;
    list-style-type: none;
    display: flex;
    justify-content: center;
    gap: 1.5em;
}
.special_link_inner ul li {
    margin: 0;
    padding: 0;
    position: relative;
    z-index: 1;
    isolation: isolate;
}

.special_link_inner ul li::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    right: -10px;
    bottom: -10px;
    border-radius: 10px;
    background-color: #FFED81;
    z-index: -1;
}
.special_link_inner ul li a {
    width: 450px;
    display: block;
    padding: 0.5em 2.5em 0.5em 1em;
    border: 3px solid #5B4023;
    border-radius: 10px;
    font-size: 2.5em;
    color: #5B4023;
    font-weight: 600;
    text-decoration: none;
	background-color: #fff;
	position: relative;
	overflow: hidden;
	transition: all 0.3s ease;
}
.special_link_inner ul li a::before {
	content: '\279C';
	position: absolute;
	top: 0;
	right: 1.5em;
	bottom: 0;
	z-index: 1;
	width: 36px;
	height: 36px;
	border-radius: 36px;
	margin: auto;
	background-color: #fff;
	font-size: 0.5em;
	font-weight: 700;
	text-align: center;
	font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	font-weight: bold;
	line-height: 1.75em;
	transition: transform 0.3s ease;
}
.special_link_inner ul li a:hover::before {
    transform: translateX(5px);
}

.special_link_inner ul li a::after {
    content: '';
    position: absolute;
    top: 0;
    right: -50px;
    bottom: 0;
	z-index: 0;
    width: 200px;
    height: 200px;
    border-radius: 50%;
    background-color: #ccc;
    margin: auto;
	transition: all 0.3s ease;
}
.special_link_inner ul li:nth-child(1) a::after {
	background-color: #B6EDF0;
}
.special_link_inner ul li:nth-child(2) a::after {
	background-color: #F8D0E5;
}
.special_link_inner ul li a:hover::after {
    transform: scale(4); /* ボタン全体を覆うまで拡大 */
}

.special_link_inner ul li a .text {
	position: relative;
    z-index: 1;
	text-shadow: 
        2px  2px 0 #fff,
       -2px -2px 0 #fff,
       -2px  2px 0 #fff,
        2px -2px 0 #fff,
        0px  2px 0 #fff,
        0px -2px 0 #fff,
       -2px  0px 0 #fff,
        2px  0px 0 #fff;
}
/* -------------------------------------------------------------------------- */
/* 特出しメニューここまで */
/* -------------------------------------------------------------------------- */




/* -------------------------------------------------------------------------- */
/* 紹介ここから */
/* -------------------------------------------------------------------------- */
.introduction_area_inner {
	background: linear-gradient(
		to bottom,
		#F8F7F1 0%,
		#F8F7F1 5%,
		#ECE9D6 5%,  /* 5%の位置で瞬時に切り替え */
		#ECE9D6 70%,
		#F8F7F1 70%, /* 70%の位置で瞬時に切り替え */
		#F8F7F1 100%
	);
	padding: 12.5em 0.5em 5em;
	position: relative;
	isolation: isolate;
}
.introduction_area_inner::before, .introduction_area_inner::after {
	content: '';
	position: absolute;
	left: 0;
	background-image: url(/wp/wp-content/themes/life-time-fukushima/img/template/bg_parts_introduction.svg);
	background-size: cover;
	aspect-ratio: 1920/89.8;
	object-fit: cover;
	width: 100%;
	z-index: -1;
}
.introduction_area_inner::before {
    top: calc(5% + 2px);
    transform: translateY(-100%);
}
.introduction_area_inner::after {
	top: calc(70% - 2px);
	transform: scaleY(-1);
}

.introduction_body.container {
    background-color: #fff;
    padding: 3.5em 5em;
    border-radius: 25px;
}



/**/
/* タイトルここから */
/**/
.introduction_title {
    position: relative;
	margin: 0.25em 0 1.25em;
    font-size: 3.125em;
    text-align: center;
    font-weight: 700;
    color: #5B4023;
}
.introduction_title::before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: -0.25em;
    margin: 0 auto;
    width: 3em;
    height: 4px;
    background-color: #F79910;
}
.introduction_title span {
	display: inline-block;
}
/**/
/* タイトルここまで */
/**/


/**/
/* バナーここから */
/**/
.introduction_bnr_wrap {
    display: flex;
    justify-content: center;
    gap: 1em;
	flex-wrap: wrap;
    padding: 1em 0.5em;
	position: relative;
	z-index: 1;
}
.introduction_bnr_wrap > div {
	min-width: 300px;
}
.introduction_bnr_wrap a {
	
    height: 100px;
    display: flex;
    align-items: stretch;
    text-decoration: none;
    background-color: #5B4023;
    border-radius: 5px;
    border: 3px solid #5B4023;
    overflow: hidden;
}
.introduction_bnr_wrap a img {
    aspect-ratio: 170/ 100;
    object-fit: cover;
    width: 170px;
    transition: transform 5s ease;
    position: relative;
    z-index: 0;
}
.introduction_bnr_wrap a:hover img {
	opacity: 1;
	transform: scale(1.5);
}
.introduction_bnr_wrap a span {
    width: 140px;
    display: flex;
    justify-content: center;
	background-color: #5B4023;
    font-size: 1.375em;
    font-weight: 700;
    color: #fff;
    align-items: center;
    position: relative;
    z-index: 1;
    transition: 0.5s ease;
	overflow: hidden;
}
.introduction_bnr_wrap a span::before {
    content: '';
    position: absolute;
    top: 0;
    left: -150%; /* 枠の左外側に隠しておく */
    width: 100%;
    height: 100%;
    
    /* 斜めの白い光を作る */
    background: linear-gradient(
        120deg,
        transparent,
        rgba(255, 255, 255, 0.4), /* 光の強さ。0.4を上げるとより眩しくなります */
        transparent
    );
    
    /* pointer-events: none; があるとテキスト選択の邪魔になりません */
    pointer-events: none;
}

.introduction_bnr_wrap a:hover span::before {
    left: 150%; /* 右外側まで一気に突き抜ける */
    transition: left 0.6s ease-in-out; /* 光が走る速さ */
}
/**/
/* バナーここまで */
/**/



/**/
/* テキスト＆マップここから */
/**/
.introduction_text {
    padding: 7.5em 0.5em;
	position: relative;
}
.introduction_text::before {
    content: '';
    position: absolute;
    background-image: url(/wp/wp-content/themes/life-time-fukushima/img/template/img_introduction_map.svg);
    background-size: cover;
    aspect-ratio: 434/555.8;
    object-fit: cover;
    width: 430px;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    z-index: 0;
}

.introduction_text p {
    width: fit-content;
    text-align: center;
    font-size: 1.375em;
	font-weight: 500;
	line-height: 2;
	position: relative;
	
}
.introduction_text span {
	display: inline-block;
	/*text-shadow: 
    1px  1px 0 #fff,
   -1px  1px 0 #fff,
    1px -1px 0 #fff,
   -1px -1px 0 #fff;*/
}

a.detaile_link {
    display: block;
    background-color: #F69810;
	border: 2px solid #F69810;
    border-radius: 10px;
    margin: 1em auto;
    padding: 0.5em;
    width: 100%;
    max-width: 300px;
    font-weight: 700;
    font-size: calc(1/22*16*1.125em);
    text-decoration: none;
	position: relative;
	transition: 0.3s;
}
a.detaile_link:hover {
	color: #212121;
	background-color: #fff;
}

a.detaile_link::before {
    content: '\279C';
    position: absolute;
    top: 0;
    right: 1.5em;
    bottom: 0;
    z-index: 1;
    width: 22px;
    height: 22px;
    border-radius: 22px;
    margin: auto;
    background-color: #593E22;
	color: #fff;
    font-size: 0.75em;
    font-weight: 700;
    text-align: center;
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    font-weight: bold;
    line-height: 1.75em;
    transition: transform 0.3s ease;
	transition: 0.3s;
}
a.detaile_link:hover::before {
	right: 1.2em;
}

/**/
/* テキスト＆マップここまで */
/**/



/**/
/* 円形写真リンクここから */
/**/
.introduction_img {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 3.5em 2em;
	margin: 0 0 1.5em;
}
.introduction_img_item {
	text-align: center;
}
.introduction_img_item a {
    text-decoration: none;
}
.introduction_img_item a:hover {
	color: #212121;
}
.introduction_img_item a:hover img {
	opacity: 1;
}

.introduction_img_item a span:has(img) {
    position: relative;
    display: inline-block;
    isolation: isolate;
}

.introduction_img_item a img {
    width: 180px;
    max-width: 100%;
    border-radius: 100%;
	vertical-align: bottom;
}
.introduction_img_item a span:has(img)::before {
    content: '';
    position: absolute;
    left: -2em;
    top: 1em;
    width: 100%;
    height: 100%;
    background-color: var(--item-accent-color);;
    z-index: -1;
    border-radius: 100%;
	transition: 1s;
	transform-origin: right top;
}
.introduction_img_item a:hover span:has(img)::before {
	transform: scale(50%);

}


.introduction_img_item a span:has(img) + span {
    display: flex;
    align-items: center;
	background-color: #fff;
    position: relative;
	width: 250px;
	height: 60px;
    margin: 0.5em auto 0;
    padding: 1em;
	border: 3px solid var(--item-accent-color);
    border-radius: 5px;
    text-align: left;
	font-weight: 700;
	line-height: 1.2;
	overflow: hidden;
	isolation: isolate;
}

.introduction_img_item a span:has(img) + span::before {
    content: '\279C';
    position: absolute;
    top: 0;
    right: 1.5em;
    bottom: 0;
    z-index: 1;
    width: 22px;
    height: 22px;
    border-radius: 22px;
    margin: auto;
    background-color: #593E22;
    color: #fff;
    font-size: 0.75em;
    font-weight: 700;
    text-align: center;
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    font-weight: bold;
    line-height: 1.75em;
    transition: transform 0.3s ease;
    transition: 0.3s;
}
.introduction_img_item a span:has(img) + span::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 1.25em;
    z-index: -1;
    width: 20px;
    height: 20px;
    border-radius: 20px;
    background-color: var(--item-accent-color);
    transition: 1s;
    transform: translateY(-50%) scale(1);
}
.introduction_img_item a:hover span:has(img) + span::after {
	transform: translateY(-50%) scale(30);
}



.introduction_img_item {
    --item-accent-color: #ccc; /* ここで色を一括管理 */
}
.introduction_img_item:nth-child(1) {
	--item-accent-color: #FBECF4;
}
.introduction_img_item:nth-child(2) {
	--item-accent-color: #FFF19C;
}
.introduction_img_item:nth-child(3) {
	--item-accent-color: #FFD598;
}
.introduction_img_item:nth-child(4) {
	--item-accent-color: #E5DCF6;
}
.introduction_img_item:nth-child(5) {
	--item-accent-color: #DCEFBE;
}

.introduction_img_item a span:has(img) + span br:nth-child(1) {
	display: none;
}
/**/
/* 円形写真リンクここまで */
/**/



/**/
/* 紹介エリア下部リンク集ここから */
/**/
.introduction_link {
    display: flex;
    justify-content: center;
    gap: 1em;
	flex-wrap: wrap;
    padding: 4em 0.5em;
}
.introduction_link a img {
    width: 320px;
    max-width: 100%;
	border-radius: 10px;
	box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
	transition: 0.3s;
}
.introduction_link a:hover img {
	box-shadow: 0px 0px 0px rgba(0, 0, 0, 0.3);
}
.longlife-dayori_link {
    text-align: center;
    padding: 0 0.5em;
}
.longlife-dayori_link a img {
    vertical-align: bottom;
    border-radius: 10px;
    box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
    transition: 0.3s;
}
.longlife-dayori_link a:hover img {
    box-shadow: 0px 0px 0px rgba(0, 0, 0, 0.3);
}


/**/
/* 紹介エリア下部リンク集ここまで */
/**/



/* -------------------------------------------------------------------------- */
/* 紹介ここまで */
/* -------------------------------------------------------------------------- */




/* -------------------------------------------------------------------------- */
/* 新着情報ここから */
/* -------------------------------------------------------------------------- */
.news_area_inner {
    background-color: #EDF1E5;
    padding: 7.5em 0.5em 5em;
}
.news_area a.detaile_link {
    font-size: 1.125em;
    text-align: center;
}
body:not(.category):not(.search) .vk_post_title_new {
    display: flex;
    align-items: center;
}

/**/
/* 見出しここから */
/**/
.news_area_title.container {
    position: relative;
}
.news_area_title.container::before {
	content: '';
	position: absolute;
	top: -2em;
	left: 0;
	right: 0;
	bottom: auto;
	margin: 0 auto;
	width: 30px;
	height: 30px;
	background-image: url(/wp/wp-content/themes/life-time-fukushima/img/template/icon_news.svg);
	background-size: contain;
	background-repeat: no-repeat;
}
.news_area_title.container h2 {
    border: none;
    text-align: center;
    font-size: calc(2.125em);
	position: relative;
	padding: 1em 0.5em;
}
.news_area_title.container h2::before {
    content: 'NEWS';
    position: absolute;
    top: -0.25em;
    left: 0;
    right: 0;
    font-size: calc(1em/2.125);
	color: #2D8205;
}
.news_area_title.container h2::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0.65em;
    margin: 0 auto;
    width: 50px;
    height: 3px;
    border-radius: 3px;
    background-color: #F79910;
}

/**/
/* 見出しここまで */
/**/


/**/
/* 新着リストここから */
/**/
.news_area_body.container {
    background-color: #fff;
    padding: 3em 4em;
	border-radius: 15px;
}
.news_area_body.container ul {
    list-style-type: none;
	padding: 0;
}
.news_area_body.container ul li {
    padding: 0.5em 1em;
    border-bottom: 1px dashed #212121;
    display: flex;
    gap: 1em;
    justify-content: flex-start;
}
.news_area_body.container ul li.news-item.sticky-post {
    background-color: #ffefef;
}

.news_area_body.container ul li span.date {
    flex: 0 0 auto;
}
.news_area_body.container ul li a {
    text-decoration: none;
}
.news_area_body.container ul li.news-item.sticky-post a::after {
    content: '重要';
    font-size: 0.75em;
    color: #fff;
    background-color: #f00;
    padding: 0.25em 0.5em;
    vertical-align: text-top;
    white-space: nowrap;
}
/**/
/* 新着リストここまで */
/**/

/* -------------------------------------------------------------------------- */
/* 新着情報ここまで */
/* -------------------------------------------------------------------------- */





/* -------------------------------------------------------------------------- */
/* ピックアップここから */
/* -------------------------------------------------------------------------- */
.pickup_area_inner {
    background: linear-gradient(
		to bottom,
		#EDF1E5 0%,
		#EDF1E5 55%,
		#F8F7F1 55%, /* 70%の位置で瞬時に切り替え */
		#F8F7F1 100%
	);
    padding: 5em 0 2.5em;
    position: relative;
    isolation: isolate;
}



/**/
/* 見出しここから */
/**/
.pickup_area_title.container {
    position: relative;
}
.pickup_area_title.container::before {
	content: '';
	position: absolute;
	top: -2em;
	left: 0;
	right: 0;
	bottom: auto;
	margin: 0 auto;
	width: 30px;
	height: 30px;
	background-image: url(/wp/wp-content/themes/life-time-fukushima/img/template/icon_pickup.svg);
	background-size: contain;
	background-repeat: no-repeat;
}
.pickup_area_title.container h2 {
    border: none;
    text-align: center;
    font-size: calc(2.125em);
	position: relative;
	padding: 1em 0.5em;
}
.pickup_area_title.container h2::before {
    content: 'PICK UP';
    position: absolute;
    top: -0.25em;
    left: 0;
    right: 0;
    font-size: calc(1em/2.125);
	color: #2D8205;
}
.pickup_area_title.container h2::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0.65em;
    margin: 0 auto;
    width: 50px;
    height: 3px;
    border-radius: 3px;
    background-color: #F79910;
}

/**/
/* 見出しここまで */
/**/



/**/
/* スライダーここから */
/**/
.wide_container {
	width: calc(100% - (50px + 0.5em) * 2);
	max-width: calc((350px + 10px) * 4);
	margin: 0 auto;
	padding: 0em;
}




.swiper-pickup {
    position: relative;
    padding: 0; /* 矢印の大きさや余白に合わせて数値を調整してください */
}

.swiper-pickup .swiper-controls {
    position: static; /* メインスライダーの absolute を解除 */
    transform: none;
    margin-top: 20px; /* 画像とドットの隙間 */
    display: flex;
    justify-content: center; /* ドットと停止ボタンを中央寄せ */
    align-items: center;
    gap: 15px; /* ドット群と停止ボタンの間隔 */
}
/* ラッパーに対して矢印を絶対配置する */
.pickup-swiper-wrapper .swiper-button-prev,
.pickup-swiper-wrapper .swiper-button-next {
    position: absolute;
    top: calc(50% - 21px); /* 高さは今まで通りでOK */
    transform: translateY(-50%);
    margin: 0;
    z-index: 10;
}

/* ★ここでマイナス値を指定して外に出す */
.pickup-swiper-wrapper .swiper-button-prev {
    left: -50px; /* 画像やデザインに合わせて調整してください */
}
.pickup-swiper-wrapper .swiper-button-next {
    right: -50px;
    left: auto;
}

/* コントロールバー全体の位置調整 */
.pickup-swiper-wrapper .swiper-controls {
    margin-top: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px;
}



/* 1. コントロールバー全体（ドットとボタンを横並びに） */
.pickup-swiper-wrapper .swiper-controls {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px; /* ドット群と再生ボタンの距離 */
    margin-top: 20px;
}

/* 2. ページネーションコンテナの初期化（重なりを防止） */
.pickup-swiper-wrapper .swiper-pagination {
    position: static; /* Swiperデフォルトのabsolute（絶対配置）を解除 */
    width: auto;
    display: flex;
    align-items: center;
    gap: 10px; /* ドット同士の隙間 */
}

/* 3. ドット本体（非アクティブ：茶色フチ＋白背景） */
.pickup-swiper-wrapper .swiper-pagination-bullet {
    width: 18px;
    height: 18px;
    margin: 0 !important;
    background: #fff;
    border: 3px solid #5B4023;
    opacity: 1;
    border-radius: 50%;
    box-sizing: border-box;
}

/* 4. ドット本体（アクティブ：オレンジ塗りつぶし） */
.pickup-swiper-wrapper .swiper-pagination-bullet-active {
    background: #F79910;
    border-color: #F79910;
}

/* 5. 再生・停止ボタン（茶色の正円） */
.pickup-swiper-wrapper .swiper-toggle-play {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 24px;  /* ドットより一回り大きいサイズ（お好みで22〜26pxに調整） */
    height: 24px;
    min-width: 24px;
    min-height: 24px;
    flex-shrink: 0;
    background: #5B4023;
    color: #fff;
    border: none;
    border-radius: 50%; /* 角丸ではなく「正円」にする */
    font-size: 14px;    /* ⏸や▶アイコンのサイズ */
    line-height: 1;
    padding: 0;
    cursor: pointer;
}


.pickup_area .swiper-button-prev:after {
	transform: scaleX(-1);
}
.pickup_area .swiper-button-next:after {
}
.pickup_area .swiper-button-prev:after, 
.pickup_area .swiper-button-next:after {
	content: '\279C';
    width: 22px;
    height: 22px;
    margin: auto;
    position: relative;
    top: 1px;
	bottom: 0;
    display: inline-block; /* transformやpositionを確実に効かせるため */
    color: #fff;
    font-size: 0.75em;
    font-weight: 700;
    text-align: center;
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    font-weight: bold;
    line-height: 1.75em;
    transition: 0.3s;
	z-index: 1;
}

/**/
/* スライダーここまで */
/**/

/* -------------------------------------------------------------------------- */
/* ピックアップここまで */
/* -------------------------------------------------------------------------- */






/* -------------------------------------------------------------------------- */
/* SNSここから */
/* -------------------------------------------------------------------------- */
.sns_area_inner {
    padding: 2.5em 0.5em 5.5em;
    background-color: #F8F7F1;
    position: relative;
}
.sns_area_inner::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    width: 100%;
    height: 50%;
    background-image: url(/wp/wp-content/themes/life-time-fukushima/img/template/bg_sns.png);
    background-size: 550px;
	opacity: 0.5;
	pointer-events: none;
    z-index: 0;
	mask-image: linear-gradient(to bottom, black calc(100% - 50px), transparent 100%);/* 下部のみフェードアウト */
	mask-image: linear-gradient(to bottom, transparent 0%, black 50px, black calc(100% - 50px), transparent 100%);/*上部フェードイン、下部フェードアウト*/
}


/**/
/* 見出しここから */
/**/
.sns_area_title.container {
    position: relative;
}
.sns_area_title.container::before {
	content: '';
	position: absolute;
	top: 0.25em;
	left: 0;
	right: 0;
	bottom: auto;
	margin: 0 auto;
	width: 30px;
	height: 30px;
	background-image: url(/wp/wp-content/themes/life-time-fukushima/img/template/icon_sns.svg);
	background-size: contain;
	background-repeat: no-repeat;
}
.sns_area_title.container h2 {
    border: none;
    text-align: center;
    font-size: calc(2.125em);
	position: relative;
	padding: 1em 0.5em;
}
.sns_area_title.container h2::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0.75em;
    margin: 0 auto;
    width: 50px;
    height: 3px;
    border-radius: 3px;
    background-color: #F79910;
}

/**/
/* 見出しここまで */
/**/


/**/
/* コンテンツここから */
/**/
.sns_wrap {
    display: flex;
	gap: 2em;
	flex-wrap: wrap;
	align-items: flex-start;
}


.facebook_area {
    flex: 1 0 calc(50% - 2em);
    display: flex;
    justify-content: right;
	flex-wrap: wrap;
}
.facebook_title {
    flex: 0 1 500px;
	height: fit-content;
    margin: 0 0 0.75em;
    padding: 0.25em 3em;
    border-radius: 10px;
    background-color: #0866FF;
    color: #fff;
    font-size: 1.125em;
    font-weight: 700;
    position: relative;
}
.facebook_title::before {
    content: '';
    position: absolute;
    top: calc(50%);
    left: 1em;
	transform: translateY(-50%);
    width: 20px;
    height: 20px;
    background-image: url(/wp/wp-content/themes/life-time-fukushima/img/template/icon_facebook.svg);
}

.facebook_content {
    flex: 0 1 500px;
    padding: 10px;
    background-color: #fff;
    position: relative;
	width: 100%;
	max-width: 500px;
}

.instagram_area {
    flex: 1 0 calc(50% - 2em);
    display: flex;
    justify-content: left;
	flex-wrap: wrap;
}

.instagram_title {
    flex: 0 1 500px;
	height: fit-content;
    margin: 0 0 0.75em;
    padding: 0.25em 3em;
    background-color: #D93073;
    color: #fff;
    font-size: 1.125em;
    font-weight: 700;
    border-radius: 10px;
    position: relative;
}
.instagram_title::before {
    content: '';
    position: absolute;
    top: calc(50%);
    left: 1em;
	transform: translateY(-50%);
    width: 20px;
    height: 20px;
    background-image: url(/wp/wp-content/themes/life-time-fukushima/img/template/icon_instagram.svg);
}
.instagram_content {
    flex: 0 1 500px;
    padding: 5px 10px 10px;
    background-color: #fff;
    position: relative;
}

.youtube_area {
    flex: 0 1 100%;
    display: flex;
    justify-content: center;
	position: relative;
}

.youtube_area a img {
    vertical-align: bottom;
    filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.8));
    border-radius: 10px;
	transition: 0.3s;
}
.youtube_area a img:hover {
	filter: drop-shadow(0px 0px 0px rgba(0, 0, 0, 0.8));
	opacity: 1;
}
/**/
/* コンテンツここまで */
/**/


/* -------------------------------------------------------------------------- */
/* SNSここまで */
/* -------------------------------------------------------------------------- */






/* -------------------------------------------------------------------------- */
/* リンクここから */
/* -------------------------------------------------------------------------- */
.link_area_inner {
    padding: 7.5em 0.5em;
	background-color: #f8f7f1;
}


/**/
/* 見出しここから */
/**/
.link_area_title.container {
    position: relative;
}
.link_area_title.container::before {
	content: '';
	position: absolute;
	top: -2em;
	left: 0;
	right: 0;
	bottom: auto;
	margin: 0 auto;
	width: 30px;
	height: 30px;
	background-image: url(/wp/wp-content/themes/life-time-fukushima/img/template/icon_link.svg);
	background-size: contain;
	background-repeat: no-repeat;
}
.link_area_title.container h2 {
    border: none;
    text-align: center;
    font-size: calc(2.125em);
	position: relative;
	padding: 1em 0.5em;
}
.link_area_title.container h2::before {
    content: 'LINK';
    position: absolute;
    top: -0.25em;
    left: 0;
    right: 0;
    font-size: calc(1em/2.125);
	color: #2D8205;
}
.link_area_title.container h2::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0.65em;
    margin: 0 auto;
    width: 50px;
    height: 3px;
    border-radius: 3px;
    background-color: #F79910;
}

/**/
/* 見出しここまで */
/**/



/**/
/* コンテンツここから */
/**/
.link_area_body.container {
    max-width: calc((236px + 10px) * 4);
}
.link_area #metaslider_98.flexslider ul.slides {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
    transform: none !important;
}
.link_area #metaslider_98.flexslider ul.slides li {
	margin: 0 !important;
    width: auto !important;
}

.metaslider.ms-theme-clarity .flexslider .slides li:focus-within {
    outline: none !important;
}




.link_area_body.container {
    max-width: calc((236px + 10px)*4);
}
.link_area ul.link_block_list {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
    transform: none !important;
	list-style-type: none;
	margin: 0;
	padding: 0;
}
.link_area ul.link_block_list li {
	margin: 0 !important;
    width: auto !important;
}

/**/
/* コンテンツここまで */
/**/


/* -------------------------------------------------------------------------- */
/* リンクここまで */
/* -------------------------------------------------------------------------- */





/* -------------------------------------------------------------------------- */
/* ページトップへここから */
/* -------------------------------------------------------------------------- */
.page-top-btn {
    position: fixed;
    bottom: 30px; /* 画面下からの距離（お好みで調整） */
    right: 30px;  /* 画面右からの距離（お好みで調整） */
    width: 90px;
    height: 90px;
    z-index: 99;  /* 他の要素の下に隠れないようにする */
    opacity: 0;   /* 初期状態は透明 */
    visibility: hidden; /* 初期状態は非表示（クリックできないようにする） */
    transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease; /* フワッと表示させるアニメーション */
}

.page-top-btn.is-show {
    opacity: 1;
    visibility: visible;
}

.page-top-btn:hover {
    opacity: 0.8;
}

/* -------------------------------------------------------------------------- */
/* ページトップへここまで */
/* -------------------------------------------------------------------------- */




/* -------------------------------------------------------------------------- */
/* フッターここから */
/* -------------------------------------------------------------------------- */
footer.site-footer {
    font-size: 1em;
    border-top: none;
    background-color: #F8F1E3;
    border-bottom: 15px solid #F79910;
}
.footer_area_inner {
    padding: 2.5em 0.5em 0.5em;
	background-color: #F8F1E3;
}
.footer_area_title.container {
    text-align: center;
}

.small_container {
	max-width: 550px;
	margin: 1em auto;
	padding: 0 1em;
}
.footer_area_body_item {
	display: flex;
	justify-content: space-between;
	gap: 1em;
}
.footer_area_body_item_contact {
    font-weight: 500;
}

/**/
/* お問い合わせボタンここから */
/**/
.btn_contact {
    margin: 1em 0;
}
a.btn.btn-primary {
    position: relative;
    padding: 0.5em 4em 0.5em 3em;
    background-color: #fff;
    border: 2px solid #5B4023;
    border-radius: 10px;
    color: #5B4023;
    font-weight: 700;
	transition: 0.3s;
}
a.btn.btn-primary::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0.75em;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background-color: #fff;
    background-image: url(/wp/wp-content/themes/life-time-fukushima/img/template/icon_mail.svg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 20px 15px;
}
a.btn.btn-primary::after {
    content: '\279C';
    position: absolute;
    top: 0px;
    right: 1.5em;
    bottom: 0px;
    z-index: 1;
    width: 22px;
    height: 22px;
	border: 1px solid #fff;
    border-radius: 22px;
    margin: auto;
    background-color: rgb(89, 62, 34);
    color: rgb(255, 255, 255);
    font-size: 0.75em;
    text-align: center;
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    font-weight: bold;
    line-height: 1.75em;
    transition: 0.3s;
}

a.btn.btn-primary:hover {
	color: #fff;
	background-color: #5B4023;
}
a.btn.btn-primary:hover::after {
	transform: translateX(5px);
}

a.btn.btn-primary:active {
    background-color: #593e22 !important;
    border-color: #593e22 !important;
}
/**/
/* お問い合わせボタンここまで */
/**/


/**/
/* フッターリンクここから */
/**/
.footer_area_body_item_sitemap ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
    gap: 2em;
}
.footer_area_body_item_sitemap ul li {
    position: relative;
}
.footer_area_body_item_sitemap ul li:not(:last-child)::after {
    content: '';
    width: 1px;
    height: 1em;
    position: absolute;
    right: -1em;
    top: 50%;
    transform: translateY(-50%);
    background-color: #212121;
}

.footer_area_body_item_contact span {
	display: inline-block;
}
/**/
/* フッターリンクここまで */
/**/


/**/
/* コピーライトここから */
/**/
.site-footer-copyright p {
    margin: 0;
    padding: 0.5em 0.5em 1.5em;
}

/**/
/* コピーライトここまで */
/**/


/* -------------------------------------------------------------------------- */
/* フッターここまで */
/* -------------------------------------------------------------------------- */






/* -------------------------------------------------------------------------- */
/* 下層ページここから */
/* -------------------------------------------------------------------------- */

/**/
/* ヘッダーここから */
/**/
body:not(.home) {
    margin-top: 120px;
}

body:not(.home)::before {
	content: '';
	width: 100%;
	height: 300px;
	display: block;
	background-image: url(/wp/wp-content/themes/life-time-fukushima/img/template/bg_pagetop.png);
	background-size: cover;
	display: none;
}

body.page-child:not(.home)::before {
	background-image: url(/wp/wp-content/themes/life-time-fukushima/img/template/bg_pagetop_page.jpg);
}
body.page-parent:not(.home)::before {
	background-image: url(/wp/wp-content/themes/life-time-fukushima/img/template/bg_pagetop_menu.jpg);
}

/**/
/* ヘッダーここまで */
/**/


/**/
/* コンテンツエリアここから */
/**/
div#breadcrumb {
    padding: 1.5em 0.5em;
    font-weight: 500;
}
.breadcrumb-list li {
	display: inline;
}
.breadcrumb-list li:after {
    content: ">";
}
.site-body {
	background-image: url(/wp/wp-content/themes/life-time-fukushima/img/template/bg_pagemain.svg);
	background-size: 100px;
	background-color: #F8F7F1;
	padding: 0 0.5em 4em;
}
.date.container {
    text-align: right;
    padding: 1em 0;
}
.site-body-container {
	display: flex;
	flex-wrap: wrap;
	gap: 0 2em;
	justify-content: space-between;
}
#main.main-section--col--two {
	width: auto;
	flex: 1 0 calc(80% - 2em);
}
.sub-section.sub-section--col--two {
	width: auto;
	flex: 1 0 calc(20% - 2em);
}
.sub-section, 
.subSection {
    content-visibility: visible !important;
    contain-intrinsic-size: none !important;
}
.site-body-container::after {
	display: none;
}

.page-header {
	min-height: 0;
	background-color: #2D8205;
	border-radius: 5px;
	position: relative;
	overflow: hidden;
	flex: 1 0 100%;
}
.page-header::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	transform: translate(-20%,-40%);
	width: 90px;
	height: 90px;
	border-radius: 100%;
	background-color: #266B05;
	z-index: 0;
}
.page-header::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	transform: translate(-50%,50%);
	width: 90px;
	height: 90px;
	border-radius: 100%;
	background-color: #F79910;
	z-index: 1;
}

.page-header-inner.container {
	position: relative;
}
.page-header-inner.container::before {
	content: '';
	position: absolute;
	right: 0;
	bottom: 0;
	transform: translate(20%,40%);
	width: 90px;
	height: 90px;
	border-radius: 100%;
	background-color: #266B05;
	z-index: 0;
}
.page-header-inner.container::after {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	transform: translate(50%,-50%);
	width: 90px;
	height: 90px;
	border-radius: 100%;
	background-color: #F79910;
	z-index: 1;
}


h1.page-header-title {
	padding: 0.5em 2em;
	font-size: 1.875em;
	text-align: left;
}

/* 子ページリストここから */
.site-body-container.container .main-section > :nth-child(2) > .entry-body {
	margin-top: 3em;
}
.child-pages-list {
	margin: 3em 0;
	padding: 2.5em 3em;
	border-radius: 20px;
	background-color: #fff;
	box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
}
.child-pages-list ul {
	list-style-type: none;
	margin: 0 auto;
	padding: 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	justify-content: start;
	gap: 1em;
}
.child-pages-list ul li {
	margin: 0;
	padding: 0;
	overflow: hidden;
}
.child-pages-list ul li a {
	display: flex;
	align-items: center;
	padding: 1em;
	background-color: #EBE8D8;
	border-radius: 10px;
	height: 100%;
	font-size: 1.5em;
	font-weight: 700;
	text-decoration: none;
	text-shadow: 1px 1px 0 #EBE8D8, -1px 1px 0 #EBE8D8, 1px -1px 0 #EBE8D8, -1px -1px 0 #EBE8D8;
	position: relative;
	z-index: 1;
	isolation: isolate;
	overflow: hidden;
	transition: 0.3s;
}
.child-pages-list ul li a:hover {
	color: #333;
}

.child-pages-list ul li a::before {
	content: '';
	position: absolute;
	top: -1px;
	right: -1px;
	z-index: -1;
	transform: translate(45%, -40%);
	background-color: #fef1a6;
	width: 80px;
	height: 80px;
	border-radius: 100%;
	transition: 1.5s;
}
.child-pages-list ul li a:hover::before {
	transform: scale(15);
}

.child-pages-list ul li a::after {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	z-index: -1;
	transform: translate(45%, -40%);
	background-color: #2D8205;
	width: 80px;
	height: 80px;
	border-radius: 100%;
	transition: 0.3s;
}
.child-pages-list ul li a:hover::after {
	/*transform: scale(15);*/
}
/* 子ページリストここまで */



/*メインコンテンツここから */
.main-section .entry-body {
	padding: 3em;
	background-color: #fff;
	border-radius: 20px;
	box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
	isolation: isolate;
}

.main-section .entry-body > h2:first-child {
    margin-top: 0;
}
.mce-content-body > h2:first-child {
    margin-top: 0.5em;
}

.main-section .entry-body h2, .mce-content-body h2 {
	position: relative;
	margin: 1.25em 0 1em;
	padding: 0.75em 1em;
	background-color: #F79910;
	border: none;
	border-radius: 10px;
	color: #333333;
	font-size: 1.625em;
}
.main-section .entry-body h2::after, .mce-content-body h2::after {
  content: '';
  position: absolute;
  left: 1px;
  bottom: 5px;
  display: block;
  width: 100%;
  height: 5px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='5' viewBox='0 0 12 5'%3E%3Ccircle cx='2.5' cy='2.5' r='2.5' fill='%23FCE0B8'/%3E%3C/svg%3E");
  background-repeat: repeat-x;
}

.main-section .entry-body h3, .mce-content-body h3 {
	position: relative;
	margin: 1.25em 0 1em;
	padding: 0.75em 1em;
	background-color: transparent;
	border: 1px solid #5B4023;
	border-radius: 10px;
	color: #333333;
	font-size: 1.25em;
}
.main-section .entry-body h3::before, .mce-content-body h3::before {
	content: '';
	position: absolute;
	z-index: -1;
	top: 5px;
	left: 5px;
	width: 100%;
	height: 100%;
	border-radius: 10px;
	background-color: #FEF1A6;
}
.main-section .entry-body h3::after, .mce-content-body h3::after {
	display: none;
}

.main-section .entry-body h4, .mce-content-body h4 {
	position: relative;
	margin: 1.25em 0 1em;
	padding: 0.75em 1em 0.75em 2.5em;
	background-color: transparent;
	border-radius: 10px;
	color: #333333;
	font-size: 1.125em;
}
.main-section .entry-body h4::before, .mce-content-body h4::before {
	content: '';
	position: absolute;
	z-index: -1;
	top: 50%;
	left: 0.75em;
	transform: translateY(-50%);
	width: 22px;
	height: 22px;
	background-image: url(/wp/wp-content/themes/life-time-fukushima/img/template/icon_h4.svg);
	background-repeat: no-repeat;
}
.main-section .entry-body h4::after, .mce-content-body h4::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	display: block;
	width: 100%;
	height: 6px;
	border-top: 1px solid #FFED81;
	border-bottom: 3px solid #2D8205;
	background-color: transparent;
}

.main-section .entry-body h5, .mce-content-body h5 {
	position: relative;
	margin: 1.25em 0 1em;
	padding: 0.75em 1em 0.75em 2.5em;
	background-color: transparent;
	border: none;
	border-radius: 10px;
	color: #333333;
	font-size: 1.0625em;
}
.main-section .entry-body h5::before, .mce-content-body h5::before {
	content: '';
	position: absolute;
	z-index: -1;
	top: 50%;
	left: 0.75em;
	transform: translateY(-50%);
	width: 22px;
	height: 22px;
	background-image: url(/wp/wp-content/themes/life-time-fukushima/img/template/icon_h5.svg);
	background-repeat: no-repeat;
}
.main-section .entry-body h5::after, .mce-content-body h5::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	display: block;
	width: 100%;
	height: 3px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='3' viewBox='0 0 16 3'%3E%3Ccircle cx='1.5' cy='1.5' r='1.5' fill='%23F79910'/%3E%3Ccircle cx='9.5' cy='1.5' r='1.5' fill='%232D8205'/%3E%3C/svg%3E");
	background-repeat: repeat-x;
}

.main-section .entry-body h6, .mce-content-body h6 {
	position: relative;
	margin: 1.25em 0 1em;
	padding: 0.75em 1em 0.75em 2.5em;
	background-color: transparent;
	border: none;
	border-radius: 10px;
	color: #333333;
	font-size: 1em;
}
.main-section .entry-body h6::before, .mce-content-body h6::before {
	content: '';
	position: absolute;
	z-index: -1;
	top: 50%;
	left: 0.75em;
	transform: translateY(-50%);
	width: 18px;
	height: 14px;
	background-image: url(/wp/wp-content/themes/life-time-fukushima/img/template/icon_h6.svg);
	background-repeat: no-repeat;
}
.main-section .entry-body h6::after, .mce-content-body h6::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	display: block;
	width: 100%;
	height: 2px;
	background-color: #E1D2C2;
}

#main.main-section--col--two.main-section--col--one {
	flex: 1 0 100%;
}
/* メインコンテンツここまで */



/* サイドバーここから */
.postListText_singleTermLabel {
	display: none;
}

.site-body-container.container .sub-section > :first-child {
	margin-top: 3em;
}
.widget.widget_link_list, aside.widget.widget_media {
	border: 1px solid #2D8205;
}
.sub-section-title {
	background-color: #2D8205;
	margin: 0;
	padding: 0;
}
.sub-section-title, aside.widget.widget_media .sub-section-title {
	display: block;
	padding: 0.25em 1em;
	border-bottom: 1px solid #2D8205;
	color: #fff;
	font-size: 1.125em;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
	transition: 0.3s;
}
.sub-section-title a {
	text-decoration: none;
}
.sub-section-title a:hover {
	color: #fff;
	text-decoration: underline;
}

.site-body-container.container .sub-section-title::after {
	display: none;
}
.sub-section-title + ul, aside.widget.widget_media .sub-section-title + .vk_posts {
	margin: 0;
	background-color: #fff;
}
.sub-section-title + ul > li > a, aside.widget.widget_media .sub-section-title + .vk_posts > div {
	width: 100%;
	margin: 0;
	padding: 1em 2em 1em 1em;
	position: relative;
	transition: 0.3s;
	color: #333;
	font-size: 1.125em;
}
.sub-section-title + ul > li > a::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 1em;
	width: 0.6em;
	height: 0.6em;
	border-top: 2px solid currentcolor; 
	border-right: 2px solid currentcolor;
	transform: translateY(-50%) rotate(45deg); 
}
.sub-section-title + ul > li > a {
	border-bottom: none;
}
.sub-section-title + ul > li:not(:last-child) {
	border-bottom: 1px solid #2D8205;
}
.sub-section-title + ul > li > a:hover {
	background-color: #DCEFBE;
	color: #333;
}

.widget_link_list .sub-section-title + ul > li > a + .children a {
	padding: 0.75em 1em 0.75em 2.5em;
	background-color: #f4f4f4;
	border: none;
	border-top: 1px dashed #333;
	position: relative;
}
.widget_link_list .sub-section-title + ul > li > a + .children a::before {
	content: '';
	position: absolute;
	top: 1.5em;
	left: 1.5em;
	width: 3px;
	height: 3px;
	background-color: #333;
	border-radius: 100%;
}

/*
.widget_link_list .sub-section-title + ul > li > a + .children a::before {
	content: '';
	position: absolute;
	top: 1.3em;
	left: 1.5em;
	width: 0.5em;
	height: 0.75em;
	border-top: 1px solid currentcolor;
	border-right: 1px solid currentcolor;
	transform: translateY(-50%) rotate(-180deg);
}
*/
aside.widget.widget_media .sub-section-title + .vk_posts > div:not(:last-child) {
	border-bottom: 1px solid #2d8205;
}
.sub-section-title + ul > li > a, aside.widget.widget_media .sub-section-title + .vk_posts > div span.postListText_date.published {
	display: block;
	float: none;
}

aside.widget.widget_media .sub-section-title + .vk_posts > div a {
	color: #333;
	text-decoration: none;
}
aside.widget.widget_media .sub-section-title + .vk_posts > div a::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
}
aside.widget.widget_media .sub-section-title + .vk_posts > div a::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 1em;
	width: 0.6em;
	height: 0.6em;
	border-top: 2px solid currentcolor;
	border-right: 2px solid currentcolor;
	transform: translateY(-50%) rotate(45deg);
}
aside.widget.widget_media .sub-section-title + .vk_posts > div a:hover {
	color: #333;
}
aside.widget.widget_media .sub-section-title + .vk_posts > div {
	background-color: #fff;
	transition: 0.3s;
}
aside.widget.widget_media .sub-section-title + .vk_posts > div:hover {
	background-color: #DCEFBE;
}

.widget_link_list li.page_item.page-item-889 {
    display: none;
}
/* サイドバーここまで */



/* 検索結果ここから */
.site-body > .site-body-container:first-child {
    padding-top: 3em;
}
.post-list.vk_posts.vk_posts-mainSection {
	width: 100%;
	margin: 0;
	padding: 1.5em 1.5em 2.5em 1.5em;
	background-color: #fff;
	box-sizing: border-box;
	border-radius: 20px;
}
ul.page-numbers li a, ul.page-numbers li span.page-numbers {
	text-decoration: none;
	background-color: #fff;
}
ul.page-numbers li span.page-numbers.current {
	background-color: #2d8205;
}
.search .main-section {
    width: 100%;
}
/* 検索結果ここまで */

/* カテゴリーここから */
.category .page-header {
    margin-top: 3em;
}
.category #main {
    width: 100%;
}
.category .date {
	display: none;
}
.category .vk_post-postType-post a {
	text-decoration: none;
}
.category .vk_post-postType-post {
    padding: 1em;
}
.category .vk_post-postType-post.sticky-post {
    background-color: #ffefef;
}
.category .vk_post-postType-post.sticky-post a::after {
    content: '重要';
    font-size: 0.75em;
    color: #fff;
    background-color: #f00;
    padding: 0.25em 0.5em;
    vertical-align: text-top;
    white-space: nowrap;
}
/* カテゴリーここまで */



/* お問い合わせここから */
.wpcf7cp-btns {
    display: flex;
    justify-content: center;
    gap: 20px; /* ボタン同士の間隔 */
    margin-top: 2em;
}
.wpcf7cp-btns button {
    appearance: none;
    padding: 15px 40px;
    font-size: 16px;
    font-weight: bold;
    border-radius: 8px; /* 角を少し丸く */
    cursor: pointer;
    transition: all 0.3s ease; /* ホバー時の変化を滑らかに */
    box-sizing: border-box;
    min-width: 180px; /* ボタンの最小幅を揃える */
}
.wpcf7cp-cfm-edit-btn {
    background-color: #ffffff !important;
    color: #2D8205 !important;
    border: 2px solid #2D8205 !important;
}

.wpcf7cp-cfm-edit-btn:hover {
    background-color: #f2f9ef !important; /* ホバー時にうっすら緑にする */
}
.wpcf7cp-cfm-submit-btn {
    background-color: #2D8205 !important;
    color: #ffffff !important;
    border: 2px solid #2D8205 !important;
    box-shadow: 0 4px 6px rgba(45, 130, 5, 0.2); /* ほんのり緑色の影をつける */
}

.wpcf7cp-cfm-submit-btn:hover {
    background-color: #236604 !important; /* ホバー時に少し濃い緑にする */
    border-color: #236604 !important;
    transform: translateY(2px); /* 押したような沈み込みエフェクト */
    box-shadow: 0 2px 3px rgba(45, 130, 5, 0.2);
}
input.wpcf7-form-control.wpcf7-submit.has-spinner {
    background-color: #2D8205;
    border-color: #2D8205;
}
/* 個人情報保護方針同意チェックボックスの調整 */
.privacy-acceptance {
    font-size: 15px;
}

.privacy-acceptance label {
    display: inline-flex;
    align-items: center;
    cursor: pointer;
}

.privacy-acceptance input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin-right: 8px;
    accent-color: #2D8205; /* チェックボックスの色をキーカラーに */
}

.privacy-acceptance a {
    color: #2D8205;
    text-decoration: underline;
    font-weight: bold;
}

.privacy-acceptance a:hover {
    text-decoration: none;
}

.privacy-acceptance span {
    display: inline-block;
	padding: 0;
    font-weight: bold;
    line-height: 1;
}
body:not(.contact) .grecaptcha-badge {
	display: none !important;
}
body.contact .grecaptcha-badge {
	bottom: 150px !important;
}
/* お問い合わせここまで */

iframe {
  max-width: 100%;
}

/* ② 動画（YouTube, Shorts, Vimeoなど）
   元のアスペクト比（縦長・横長など）を維持したまま縮小させる */
iframe[src*="youtube.com"],
iframe[src*="youtu.be"],
iframe[src*="vimeo.com"] {
  width: 100%;
  height: auto; 
}

/* ③ 地図（Google Maps）
   高さはタグの指定（height="450"など）を維持し、幅だけを圧縮する */
iframe[src*="google.com/maps"] {
  width: 100%;
  /* heightを上書きしないことで、元の縦幅が維持されます */
}




/* 目次の親コンテナ（3カラムのGrid設定） */
.toc-grid-container {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* 均等に3列配置 */
    gap: 15px; /* アイテム同士の隙間（お好みで調整してください） */
    margin: 2em 0;
}

/* 目次の各アイテム */
.toc-grid-item {
    display: flex;
    align-items: center;
}

/* 目次のリンクテキスト */
.toc-grid-item a {
    display: block;
    width: 100%;
    padding: 0.75em;
	border: 2px solid #2D8205;
    border-radius: 10px;
    text-align: center;
    color: #2D8205;
    font-size: 1.125em;
    text-decoration: none;
    font-weight: bold;
    line-height: 1.4;
    transition: 0.3s;
}

/* ホバー時の挙動 */
.toc-grid-item a:hover {
    color: #fff;
	background-color: #2D8205;
}

/* スマホ閲覧時（レスポンシブ対応）の設定 */
@media screen and (max-width: 768px) {
    .toc-grid-container {
        /* スマホなどの画面幅が狭い場合は、見やすさを優先して1列（縦並び）にします */
        grid-template-columns: 1fr;
        gap: 10px;
    }
}

/**/
/* コンテンツエリアここまで */
/**/





/* -------------------------------------------------------------------------- */
/* 下層ページここまで */
/* -------------------------------------------------------------------------- */



/* -------------------------------------------------------------------------- */
/* ログイン時プレビューここから */
/* -------------------------------------------------------------------------- */
.post-attributes-help-text, .notice-warning, .nf-insert-form, #wpfooter, #wp-admin-bar-comments, #wp-admin-bar-duplicate-post, #wp-admin-bar-new-content, #wp-admin-bar-view, #wp-admin-bar-customize {
	display: none !important;
}

/* -------------------------------------------------------------------------- */
/* ログイン時プレビューここまで */
/* -------------------------------------------------------------------------- */


/* ========================================================================== */
/* サイズ指定なしここまで */
/* ========================================================================== */



/* ========================================================================== */
/* 1199px以下ここから */
/* ========================================================================== */
@media all and (max-width:1199px) {


	/* -------------------------------------------------------------------------- */
	/* 紹介ここから */
	/* -------------------------------------------------------------------------- */
	.introduction_body.container {
		padding: 3.5em 2em;
	}
	.introduction_title {
		font-size: 2em;
	}

	/* -------------------------------------------------------------------------- */
	/* 紹介ここまで */
	/* -------------------------------------------------------------------------- */

	
	/* -------------------------------------------------------------------------- */
	/* 下層ページここから */
	/* -------------------------------------------------------------------------- */
	#main.main-section--col--two, .sub-section.sub-section--col--two {
		flex: 1 0 100%;
		max-width: 100%;
	}	
	/* -------------------------------------------------------------------------- */
	/* 下層ページここまで */
	/* -------------------------------------------------------------------------- */

}



/* ========================================================================== */
/* 1199px以下ここまで */
/* ========================================================================== */



/* ========================================================================== */
/* 1099px以下ここから */
/* ========================================================================== */
@media all and (max-width:1099px){
	

	/* -------------------------------------------------------------------------- */
	/* ヘッダーここから */
	/* -------------------------------------------------------------------------- */
	body {
		margin-top: 80px;
	}
	#global-nav {
		display: none;
	}
	.site-header-logo img {
		max-width: 220px !important;
	}
	.site-header-container.container {
		min-height: 80px;
	}

	#searchform {
		margin: 1.5em auto;
		max-width: 250px;
	}

	
	.mobmenu-left-panel .mobmenu-left-bt, .mobmenu-right-panel .mobmenu-right-bt {
		top: 10px !important;
	}
	.wp-mobile-menu li:last-child a {
		max-width: 250px;
		margin: 1.5em auto 0;
		padding: 0.5em 0.5em 0.5em 1em;
		border: 1px solid #5b4023;
		border-radius: 100px;
		background-color: #fff;
		text-align: center;
		color: #5b4023 !important;
		font-size: 1.125em !important;
		font-weight: 500 !important;
		position: relative;
		transition: 0.3s;
	}
	.wp-mobile-menu li:last-child a:hover {
		color: #fff !important;
		background-color: #5b4023 !important;
	}


	.wp-mobile-menu li:hover:last-child {
		background-color: transparent !important;
	}
	body .mobmenu-right-panel .wp-mobile-menu li {
		padding: 0;
	}
	body .mobmenu-right-panel .wp-mobile-menu li a {
		padding: 0.5em 1.5em;
		font-weight: 500 !important;
	}

	.menu_contact a::before {
		top: calc(50%);
		left: 1em;
		transform: translateY(-50%);
	}
	/* -------------------------------------------------------------------------- */
	/* ヘッダーここまで */
	/* -------------------------------------------------------------------------- */


	/* -------------------------------------------------------------------------- */
	/* 特出しメニューここから */
	/* -------------------------------------------------------------------------- */

	.special_link_inner ul li a {
		font-size: 1.5em;
		padding: 1em 2.5em 1em 1em;
	}
	.special_link_inner ul li a::before {
		font-size: 0.85em;
	}


	/* -------------------------------------------------------------------------- */
	/* 特出しメニューここまで */
	/* -------------------------------------------------------------------------- */





	/* -------------------------------------------------------------------------- */
	/* SNSここから */
	/* -------------------------------------------------------------------------- */
	.sns_area #eapps-instagram-feed-1 .eapps-instagram-feed-header-inner, .sns_area #eapps-instagram-feed-2 .eapps-instagram-feed-header-inner {
		flex-direction: column !important;
	}
	/* -------------------------------------------------------------------------- */
	/* SNSここまで */
	/* -------------------------------------------------------------------------- */



	/* -------------------------------------------------------------------------- */
	/* 下層ページここから */
	/* -------------------------------------------------------------------------- */
	body:not(.home) {
		margin-top: 80px;
	}
	body:not(.home)::before {
		height: 150px;
	}
	/* -------------------------------------------------------------------------- */
	/* 下層ページここまで */
	/* -------------------------------------------------------------------------- */

}
/* ========================================================================== */
/* 1099px以下ここまで */
/* ========================================================================== */



/* ========================================================================== */
/* 991px以下ここから */
/* ========================================================================== */
@media all and (max-width:991px){
	.container {
		max-width: 100%;
	}



	/* -------------------------------------------------------------------------- */
	/* 特出しメニューここから */
	/* -------------------------------------------------------------------------- */
	.special_link_inner ul {
		margin: 0;
		padding: 5em 0.5em 1.5em;
		list-style-type: none;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: 1.5em;
	}
	.special_link_inner ul li a {
		width: 350px;
	}

	/* -------------------------------------------------------------------------- */
	/* 特出しメニューここまで */
	/* -------------------------------------------------------------------------- */



	/* -------------------------------------------------------------------------- */
	/* 紹介ここから */
	/* -------------------------------------------------------------------------- */
	.introduction_area_inner {
		background: linear-gradient( to bottom, #F8F7F1 0%, #F8F7F1 2.5%, #ECE9D6 2.5%, #ECE9D6 70%, #F8F7F1 70%, #F8F7F1 100% );
		padding: 7.5em 0.5em 5em;
	}
	.introduction_area_inner::before {
		top: calc(2.5% + 2px);
	}
	.introduction_text {
		padding: 5em 0.5em;
		position: relative;
	}
	.introduction_text::before {
		top: auto;
		bottom: 5em;
		transform: translateY(-20%);
		width: 250px;
	}
	.introduction_img_item a span:has(img) + span::before {
		font-size: 0.9em;
	}

	/* -------------------------------------------------------------------------- */
	/* 紹介ここまで */
	/* -------------------------------------------------------------------------- */



	/* -------------------------------------------------------------------------- */
	/* 下層ページここから */
	/* -------------------------------------------------------------------------- */
	.main-section {
		margin-bottom: 0;
	}
	.child-pages-list {
		
		margin: 3em 0 0;
	}


	/* -------------------------------------------------------------------------- */
	/* 下層ページここまで */
	/* -------------------------------------------------------------------------- */


}
/* ========================================================================== */
/* 991px以下ここまで */
/* ========================================================================== */





/* ========================================================================== */
/* 767px以下ここから */
/* ========================================================================== */
@media all and (max-width:767px){

	/* -------------------------------------------------------------------------- */
	/* 共通ここから */
	/* -------------------------------------------------------------------------- */
	/* 画像単体、およびキャプション付き画像のクラスを対象にする */
    img.alignleft,
    img.alignright,
    .wp-caption.alignleft,
    .wp-caption.alignright {
        float: none !important;          /* 回り込みを強制解除 */
        display: block !important;       /* ブロック要素に変更 */
        margin: 0 auto 1.5em !important; /* 中央寄せにして、下に余白を作る */
        max-width: 100% !important;      /* 画面幅からはみ出さないようにする */
        height: auto !important;         /* 縦横比を維持する */
    }
	/* -------------------------------------------------------------------------- */
	/* 共通ここまで */
	/* -------------------------------------------------------------------------- */


	/* -------------------------------------------------------------------------- */
	/* ファーストビューここから */
	/* -------------------------------------------------------------------------- */
	.firstview_area::before {
		width: 80px;
		left: 0.5em;
		bottom: 0.5em;
	}
	.scroll-indicator {
		width: 40px;
		height: 120px;
		right: 0;
	}


	/* -------------------------------------------------------------------------- */
	/* ファーストビューここから */
	/* -------------------------------------------------------------------------- */





	/* -------------------------------------------------------------------------- */
	/* 特出しメニューここから */
	/* -------------------------------------------------------------------------- */
	.special_link_inner ul li a {
		width: 280px;
	}
	.special_link_inner ul li a::after {
		width: 160px;
		height: 160px;
	}

	/* -------------------------------------------------------------------------- */
	/* 特出しメニューここまで */
	/* -------------------------------------------------------------------------- */


	/* -------------------------------------------------------------------------- */
	/* 紹介ここから */
	/* -------------------------------------------------------------------------- */
	.introduction_text::before {
		width: 220px;
	}
	.introduction_text p {
		font-size: 1.125em;
	}
	.introduction_text a.detaile_link::before {
		font-size: 1em;
	}
	.longlife-dayori_link a img {
		max-width: 400px !important;
	}

	/* -------------------------------------------------------------------------- */
	/* 紹介ここまで */
	/* -------------------------------------------------------------------------- */






	/* -------------------------------------------------------------------------- */
	/* 新着情報ここから */
	/* -------------------------------------------------------------------------- */
	.news_area_inner {
		background-color: #EDF1E5;
		padding: 7.5em 0.5em 4.5em;
	}
	.news_area_body.container {
		padding: 1.5em 2em;
	}

	/* -------------------------------------------------------------------------- */
	/* 新着情報ここまで */
	/* -------------------------------------------------------------------------- */





	/* -------------------------------------------------------------------------- */
	/* SNSここから */
	/* -------------------------------------------------------------------------- */
	.youtube_area a img {
		max-width: 300px !important;
	}
	/* -------------------------------------------------------------------------- */
	/* SNSここまで */
	/* -------------------------------------------------------------------------- */




	/* -------------------------------------------------------------------------- */
	/* ページトップへここから */
	/* -------------------------------------------------------------------------- */
	.page-top-btn {
        width: 60px;
        height: 60px;
        bottom: 20px;
        right: 20px;
    }
    .page-top-btn img {
        width: 100%;
        height: auto;
    }


	/* -------------------------------------------------------------------------- */
	/* ページトップへここまで */
	/* -------------------------------------------------------------------------- */
	


	/* -------------------------------------------------------------------------- */
	/* リンクここから */
	/* -------------------------------------------------------------------------- */
	.link_area ul.link_block_list {
		grid-template-columns: repeat(3, 1fr);
	}
	/* -------------------------------------------------------------------------- */
	/* リンクここまで */
	/* -------------------------------------------------------------------------- */



		
	/* -------------------------------------------------------------------------- */
	/* 下層ページここから */
	/* -------------------------------------------------------------------------- */
	.main-section .entry-body {
		padding: 1.5em;
	}
	.child-pages-list {
		padding: 2em 1.5em;
	}
	.child-pages-list ul {
		gap: 1em;
	}
	.child-pages-list ul {
		font-size: 0.8em;
	}
	
	/* テーブルを囲む要素のスタイル */
	.table-scroll-wrapper {
		overflow-x: auto;
		white-space: nowrap;
		-webkit-overflow-scrolling: touch;
		margin-bottom: 1.5em;
		width: 100%;
		
		/* ▼ ここから追加・修正 ▼ */
		max-width: 100%; /* 親要素の幅を絶対に超えさせない */
		box-sizing: border-box; /* paddingやborderを含めて幅を計算させる */
	}

	/* （必要に応じて）テーブルが潰れすぎるのを防ぐ */
	.table-scroll-wrapper table {
		min-width: 600px; /* ここは表の内容に合わせて調整してください */
		max-width: none; /* 親の制限を受けないようにする */
	}
	.table-scroll-wrapper {
		/* 前述のコードに加えて */
		min-width: 0; /* Flexboxの子要素が中身に合わせて無限に広がるのを防ぐおまじない */
	}

	.category .vk_post-postType-post {
		margin: 0;
		width: 100%;
	}
	
	/* -------------------------------------------------------------------------- */
	/* 下層ページここまで */
	/* -------------------------------------------------------------------------- */

}
/* ========================================================================== */
/* 767px以下ここまで */
/* ========================================================================== */





/* ========================================================================== */
/* 599px以下ここから */
/* ========================================================================== */
@media all and (max-width:599px){

	/* -------------------------------------------------------------------------- */
	/* ファーストビューここから */
	/* -------------------------------------------------------------------------- */
	.firstview_area::before {
		width: 60px;
	}
	.firstview_area .swiper-controls {
		position: absolute;
		bottom: 0.5em;
		right: 3em;
		z-index: 100;
		display: flex;
		align-items: center;
		gap: 10px;
	}
	.scroll-indicator::after {
		font-size: 14px;
	}
	.scroll-indicator {
		width: 30px;
		height: 90px;
		right: 0;
	}
	.firstview_area .swiper-controls {
		bottom: -2em;
		right: 1.5em;
	}
	.firstview_area::after {
		bottom: 0;
	}
	/* -------------------------------------------------------------------------- */
	/* ファーストビューここまで */
	/* -------------------------------------------------------------------------- */


	.special_link_inner ul li a {
		width: 230px;
	}

	/* -------------------------------------------------------------------------- */
	/* 紹介ここから */
	/* -------------------------------------------------------------------------- */
	.introduction_body.container {
		padding: 2em 1em 0.5em;
	}
	a.detaile_link {
		max-width: 200px;
	}
	.introduction_title {
		font-size: 1.75em;
	}
	.introduction_text {
		padding: 1.5em 0.5em 2em;
	}
	.introduction_img {
		gap: 1.5em 0.5em;
		margin: 0 0 2em;
	}
	.introduction_img_item a img {
		width: 140px;
	}
	.introduction_img_item a span:has(img)::before {
		left: -0.5em;
		top: 0.7em;
	}
	.introduction_img_item a span:has(img) + span {
		width: 150px;
		margin: 0 auto;
		padding: 1em 1.5em 1em 0.5em;
	}
	.introduction_img_item a span:has(img) + span::before {
		right: 0.25em;
		width: 20px;
		height: 20px;
		border-radius: 20px;
		line-height: 1.5em;
	}
	.introduction_img_item a span:has(img) + span::after {
		right: 0.25em;
	}
	.introduction_img_item a span:has(img) + span br:nth-child(1) {
		display: block;
	}
	.introduction_link div {
		max-width: calc(50% - 1em);
	}
	.longlife-dayori_link a img {
		max-width: 100% !important;
	}
	.introduction_text::before {
		width: 200px;
		opacity: 0.5;
		bottom: 2em;
	}
	/* -------------------------------------------------------------------------- */
	/* 紹介ここまで */
	/* -------------------------------------------------------------------------- */



	/* -------------------------------------------------------------------------- */
	/* 新着情報ここから */
	/* -------------------------------------------------------------------------- */
	.news_area_inner {
		padding: 5em 0.5em 1.5em;
	}
	.news_area_body.container {
		padding: 1.5em;
	}
	.news_area_body.container ul li {
		flex-direction: column;
		gap: 0em;
	}
	/* -------------------------------------------------------------------------- */
	/* 新着情報ここまで */
	/* -------------------------------------------------------------------------- */


	/* -------------------------------------------------------------------------- */
	/* SNSここから */
	/* -------------------------------------------------------------------------- */
	.facebook_area {
		flex: 1 0 calc(100%);
	}
	.instagram_area {
		flex: 1 0 calc(100%);
	}
	/* -------------------------------------------------------------------------- */
	/* SNSここまで */
	/* -------------------------------------------------------------------------- */



	/* -------------------------------------------------------------------------- */
	/* フッターここから */
	/* -------------------------------------------------------------------------- */
	.page-top-btn {
		width: 40px;
		height: 40px;
		bottom: 20px;
		right: 10px;
	}
	/* -------------------------------------------------------------------------- */
	/* フッターここまで */
	/* -------------------------------------------------------------------------- */



	/* -------------------------------------------------------------------------- */
	/* 下層ページここから */
	/* -------------------------------------------------------------------------- */
	.site-body-container.container .main-section > :nth-child(2) > .entry-body {
		margin-top: 1.5em;
	}
	h1.page-header-title {
		padding: 0.5em 1em;
	}
	.child-pages-list ul {
		grid-template-columns: 1fr;
	}
	div#breadcrumb {
		padding: 1em 0.5em;
	}
	/* -------------------------------------------------------------------------- */
	/* 下層ページここまで */
	/* -------------------------------------------------------------------------- */

}
/* ========================================================================== */
/* 599px以下ここまで */
/* ========================================================================== */







/* ========================================================================== */
/* 480px以下ここから */
/* ========================================================================== */
@media all and (max-width:480px){
	/* -------------------------------------------------------------------------- */
	/* 特出しリンクここから */
	/* -------------------------------------------------------------------------- */
	.special_link_inner ul {
		padding: 4.5em 0.5em 1.5em;
	}
	.special_link_inner ul li a {
		width: 170px;
		padding: 1.25em 1.25em 1.25em 0.5em;
		font-size: 1.35em;
	}
	.special_link_inner ul li a::before {
		width: 24px;
		height: 24px;
		border-radius: 24px;
		font-size: 0.7em;
		right: 0.75em;

	}
	.special_link_inner ul li a::after {
		width: 120px;
		height: 120px;
	}
	/* -------------------------------------------------------------------------- */
	/* 特出しリンクここまで */
	/* -------------------------------------------------------------------------- */


	/* -------------------------------------------------------------------------- */
	/* 紹介ここから */
	/* -------------------------------------------------------------------------- */
	.introduction_area_inner {
		background: linear-gradient( to bottom, #F8F7F1 0%, #F8F7F1 1.5%, #ECE9D6 1.5%, #ECE9D6 70%, #F8F7F1 70%, #F8F7F1 100% );
		padding: 6em 0.5em 5em;
	}
	.introduction_area_inner::before {
		top: calc(1.5% + 2px);
	}
	/* -------------------------------------------------------------------------- */
	/* 紹介ここまで */
	/* -------------------------------------------------------------------------- */



	/* -------------------------------------------------------------------------- */
	/* リンクここから */
	/* -------------------------------------------------------------------------- */
	.link_area ul.link_block_list {
		grid-template-columns: repeat(2, 1fr);
		gap: 5px 10px;
	}

	/* -------------------------------------------------------------------------- */
	/* リンクここまで */
	/* -------------------------------------------------------------------------- */


	/* -------------------------------------------------------------------------- */
	/* 下層ページここから */
	/* -------------------------------------------------------------------------- */
	.category .vk_post-postType-post {
		padding: 1em 0;
	}
	/* -------------------------------------------------------------------------- */
	/* 下層ページここまで */
	/* -------------------------------------------------------------------------- */

}/* ========================================================================== */
/* 480px以下ここまで */
/* ========================================================================== */