@charset "utf-8";
/*
Theme Name:MONAD
Theme URI:https://tcd-theme.com/tcd110/
Description:WordPress theme "MONAD" was developed with a clinic site such as a psychosomatic clinic. It is characterized by gentle animations that give the image of a reassuring clinic, and has features that make it easy to create a medical information page and a FAQ page.
Author:TCD
Author URI:https://tcd-theme.com/
Version:1.5.1
Text Domain:tcd-monad
*/


/* ------------------------------------------------------------------------------------
 web fonts　ウェブフォントファイルを変更した場合はv=1.0の数字を変更（キャッシュ対策）
------------------------------------------------------------------------------------ */
@font-face {
  font-family: 'normal_icon';
  font-weight: normal;
  font-style: normal;
  font-display:swap;
  src: url('fonts/normal_icon.woff?v=1.2') format('woff');
}
@font-face {
  font-family: 'sns_icon';
  font-weight: normal;
  font-style: normal;
  font-display:swap;
  src: url('fonts/sns_icon.woff?v=1.0') format('woff');
}


/* ----------------------------------------------------------------------
 reset css
---------------------------------------------------------------------- */
*,*::before,*::after{ box-sizing:border-box; word-wrap:break-word; word-break:break-word; }
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video
 { margin:0; padding:0; border:0; outline:0; font-size:100%; vertical-align:baseline; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display:block; }
html { -webkit-text-size-adjust:100%; }
ul, ol { list-style:none; }
blockquote , q { quotes:none; }
blockquote:before, blockquote:after, q:before, q:after { content:''; content: none; }
a:focus { outline:none; }
ins { text-decoration:none; }
mark { font-style:italic; font-weight:bold; }
del { text-decoration:line-through; }
abbr[title], dfn[title] { border-bottom:1px dotted; cursor:help; }
table { border-collapse:collapse; border-spacing:0; width:100%; }
hr { display:block; height:1px; border:0; border-top:1px solid #ddd; margin:0; padding:0; }
button, input, select, textarea { outline:0; -webkit-box-sizing:border-box; box-sizing:border-box; font-size:100%; }
input, textarea { background-image: -webkit-linear-gradient(hsla(0,0%,100%,0), hsla(0,0%,100%,0)); -webkit-appearance: none; border-radius:0; /* Removing the inner shadow, rounded corners on iOS inputs */ }
input[type="checkbox"]{ -webkit-appearance: checkbox; }
input[type="radio"]{ -webkit-appearance: radio; }
select, option { color:#000; -webkit-text-fill-color:#000; /* iOSでの文字色を黒に設定 */ -webkit-appearance: none; /* デフォルトのスタイルを無効にする */ }
button { appearance: none; -webkit-appearance: none; }
button::-moz-focus-inner, input::-moz-focus-inner { border:0; padding:0; }
iframe { max-width:100%; }
svg { display:block; }
*:focus { outline:none; }
h1, h2, h3, h4, h5, h6 { font-weight:600; }

/* clearfix */
.clearfix::after { display:block; clear:both; content:""; }

/* chromeで画像を縮小した際にぼやけるのを防止 */
@media screen and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm) {
  img { image-rendering: -webkit-optimize-contrast; }
}


/* ----------------------------------------------------------------------
 基本設定
---------------------------------------------------------------------- */
html { height:100%; position:relative; overflow-x:hidden; scroll-behavior:smooth; scroll-padding-top:170px; }
html:has(body.home) { scroll-padding-top:0; }
body { min-height:100%; line-height:1; width:100%; position:relative; overscroll-behavior-y:none; -webkit-font-smoothing:antialiased; }
body.admin-bar { /*! padding-top:32px; */ }
a { color:#000; text-decoration:none; }
.post_content a, .widget_block a, .textwidget a { color:var(--content_link_color); }
@media(hover: hover) {
  a:where(:hover) { color:rgba(0,0,0,0.6); }
}
a, a:before, a:after, input { transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease; }
.clear { clear:both; }
.hide { display:none; }
.post_content { word-wrap: break-word; }
a[href^="tel:"] { pointer-events:none; text-decoration:none !important; }
.mobile_device a[href^="tel:"] { pointer-events:auto; }


/* レイアウト */
#container { position:relative; z-index:1; overscroll-behavior-y:none; overflow:clip; }
#main_content { width:960px; margin:0 auto; padding:70px 0 150px; position:relative; display:flex; flex-wrap:wrap; justify-content:space-between; }
body.show_sidebar_left #main_content { flex-direction:row-reverse; }
body.single:not(:has(#side_col)) #main_content { display:block; }
#main_col { width:calc(100% - 290px); }
body.hide_sidebar #main_col { margin:0 auto; }
body.single:not(:has(#side_col)) #main_col { width:auto; }
body.single-post #main_col { width:100%; }
body.single-post.show_sidebar #main_col { width:calc(100% - 290px); }
#side_col { width:250px; position:relative; }


/* 文字サイズとフォントタイプ */
body, input, textarea { font-size:var(--content_font_size); font-family:var(--content_font_type); }
.rich_font, .p-vertical { font-size:var(--catch_font_size); font-family:var(--catch_font_type); }
.rich_font_1 { font-family:var(--tcd-font-type1); }
.rich_font_2 { font-family:var(--tcd-font-type2); }
.rich_font_3 { font-family:var(--tcd-font-type3); }
.rich_font_logo { font-family: var(--log_font_family); font-weight: var(--tcd-logo-font-weight) !important;}
@media screen and (max-width:1200px) {
  .rich_font, .p-vertical { font-size:calc(var(--catch_font_size) + var(--catch_font_size_sp) / 2); }
}
@media screen and (max-width:800px) {
  body { font-size:var(--content_font_size_sp); }
  .rich_font, .p-vertical { font-size:var(--catch_font_size_sp); }
}


/* 角丸画像 */
img.round { border-radius:10px; }
body.image_shape_type2 img.round { border-radius:0px; }




/* ----------------------------------------------------------------------
 共通パーツ
---------------------------------------------------------------------- */
/* メインカラーを文字に適用 */
.main_color { color:var(--main_color) !important; }


/* デザインボタン */
a.design_button {
  border-radius:70px; min-width:280px; height:70px; line-height:1.5; padding:0 1.5em; text-align:center; position:relative; overflow:hidden; font-size:16px; z-index:1; color:#fff !important; border:1px solid var(--main_color); background:var(--main_color); text-decoration: none;
  transition: border-color 0.2s ease 0s, color 0.2s ease 0s, background-color 0.2s ease 0s, opacity 1.4s ease 0s, transform 1.4s cubic-bezier(0.22, 1, 0.36, 1) 0s !important;
	display:inline-flex; justify-content:center; align-items:center; font-weight:600; text-decoration:none !important;
}
@media(hover: hover) {
  a.design_button:hover { border-color:var(--main_color_light); background:var(--main_color_light); color:#fff !important; text-decoration:none !important; }
}


/* スクロールアニメーション */
.inview { position:relative; transform: translate3d(0,50px,0); opacity:0; transition: opacity 1.4s ease 0s, transform 1.4s cubic-bezier(0.22, 1, 0.36, 1) 0s; }
.inview.animate, body.no_page_animation .inview { transform: translate3d(0,0,0); opacity:1; }


/* swiperの矢印ナビ */
.swiper-nav-button { width:50px; height:50px; border:none; z-index:200; transition: opacity 0.75s ease; }
.swiper-button-prev { left:-25px; right:auto; }
.swiper-button-next { left:auto; right:-25px; }
.swiper-button-next:after, .swiper-button-prev:after { display:none; }
.swiper-button-next:before, .swiper-button-prev:before {
  font-family:'normal_icon'; font-size:22px; top:2px; position:relative; color:#000;
  -webkit-font-smoothing: antialiased; transition: color 0.25s ease !important;
}
.swiper-button-prev:before { content:'\e90f'; left:0px; }
.swiper-button-next:before { content:'\e910'; right:0px;}
.swiper-button-disabled { opacity:0 !important; pointer-events:auto !important; }
@media(hover: hover) {
  .swiper-nav-button:hover:before { color:#aaa; }
}


/* swiperのドットナビ */
.swiper-pagination { z-index:10; position:absolute; top:auto; bottom:0px; left:auto; }
.swiper-pagination span { background:#ddd; border:none; width:10px; height:10px; opacity:1; margin:0 8px !important; transition: background 0.25s ease; }
.swiper-pagination span.swiper-pagination-bullet-active { background:#000; pointer-events:none; }
@media(hover: hover) {
  .swiper-pagination span:hover { background:#000; }
}
/* サムネイルver */
.sc_image_carousel_nav { text-align:center; margin-top:50px; }
.sc_image_carousel_nav .swiper-wrapper { display:inline-flex; -webkit-user-select:none; user-select:none; width:auto; position:relative; }
.sc_image_carousel_nav .swiper-slide { background:#ddd; border:none; width:10px !important; height:10px; opacity:1; margin:0 8px !important; border-radius:100%; cursor:pointer; transition: background 0.25s ease; }
.sc_image_carousel_nav .swiper-slide.swiper-slide-thumb-active { transform:scale(1.4); background:#000; }
@media(hover: hover) {
  .sc_image_carousel_nav .swiper-slide:hover { background-color:#000; }
}




/* ----------------------------------------------------------------------
 トップページ ヘッダースライダー
---------------------------------------------------------------------- */
/* トップページのレイアウト */
body.home { display:flex; flex-direction:column; }
body.home > * { order:10; }
body.home #js-body-start { order:0; }
body.home #header_message { order:1; }
#header_slider_container { order:1; }
#news_ticker { order:2; }


/* スライダーの外枠 */
#header_slider_container { width:calc(100% - 80px); height:calc(100vh - 160px); position:relative; overflow:hidden; margin:40px 40px 0; border-radius:15px; }
#header_slider_container.design_type2 { margin:0; width:100%; height:calc(100vh - 120px); border-radius:0; }
#header_slider_container.height_type2 { height:auto; aspect-ratio:16 / 9; max-height:calc(100vh - 160px); }
body.image_shape_type2 #header_slider_container { border-radius:0; }


/* スライダーエリア */
#header_slider { height:100%; width:100%; position:relative; overflow:hidden; }
#header_slider .swiper-wrapper { height:100%; width:100%; position:relative; }
#header_slider .item { width:100%; height:100%; position:relative; overflow:hidden; will-change:transform; }
#header_slider .item_inner { width:100%; height:100%; position:relative; overflow:hidden; display:flex; flex-wrap:wrap; justify-content:center; align-items:center; will-change:transform; }
#header_slider .bg_image { width:100%; height:100%; position:absolute; top:0px; left:0px; z-index:1; will-change:transform; display:block; margin:0; }
#header_slider .bg_image img { width:100%; height:100%; display:block; margin:0; object-fit:cover; }
#header_slider .bg_image .mobile { display:none; }


/* コンテンツ */
#header_slider_fixed_content { height:100%; width:100%; position:absolute; top:0; left:0; overflow:hidden; z-index:3; display:flex; flex-wrap:wrap; justify-content:center; align-items:center; }
.header_slider_content { color:#fff; position:absolute; z-index:100; text-align:center; width:100%; padding:0 80px; }
.header_slider_content a { color:#fff; text-decoration:underline; }
@media(hover: hover) {
  .header_slider_content a:hover { color:rgba(255,255,255,0.5); }
}

#header_slider_container .logo { position:absolute; top:30px; left:30px; z-index:5; }
#header_slider_container.design_type2 .logo { top:40px; left:40px; }
#header_slider_container .logo img { display:block; max-width:200px; height:auto; }
#header_slider_container .logo img.mobile { display:none; }

.header_slider_content .catch { line-height:1.5; position:relative; font-weight:600; }
.header_slider_content .desc { line-height:2.6; font-weight:500; font-size:18px; }
.header_slider_content .catch + .desc { margin:30px 0 0 0; }
.header_slider_content .link_button { margin:35px 0 0 0; }
.header_slider_content span { display:block; }
.header_slider_content span.empty { width:2em; height:2em; }

#header_slider_fixed_content.layout_type2 .header_slider_content { writing-mode:vertical-rl; text-align:left; margin:0 auto; width:auto; padding:6em 0; }
#header_slider_fixed_content.layout_type2 .header_slider_content .catch { line-height:2; }
#header_slider_fixed_content.layout_type2 .header_slider_content .desc { line-height:2.6; }
#header_slider_fixed_content.layout_type2 .header_slider_content .catch + .desc { margin:0 30px 0 0; }

body.use_page_animation #header_slider_container .logo { opacity:0; }
body.use_page_animation.start_first_animation #header_slider_container .logo { opacity:1; transition:opacity 1.2s ease 0.2s; }
body.use_page_animation .header_slider_content span, body.use_page_animation .header_slider_content .item { opacity:0; transform:translate3d(0,30px,0); }
body.use_page_animation .header_slider_content span.animate, body.use_page_animation .header_slider_content .item.animate { opacity:1; transform:translate3d(0,0,0); transition:opacity 1.8s ease 0.2s, transform 1.8s ease 0.2s; }
	

/* ズームアウトアニメーション --------------------------------------------------------- */
#header_slider.animation_type_zoom_out .item.p-effect-slidein .bg_image,
#header_slider.animation_type_zoom_out .item.p-effect-slidein.p-effect-reverse .bg_image { transform: translate3d(0, 0, 0); transition-property: transform; }
#header_slider.animation_type_zoom_out .item.p-effect-slideout .bg_image { transform: translate3d(0, 0, 0); transition-property: transform; }
#header_slider.animation_type_zoom_out .item.p-effect-reverse .bg_image { transform: translate3d(0, 0, 0); }
#header_slider.animation_type_zoom_out .item.p-effect-slideout.p-effect-reverse .bg_image { transform: translate3d(0, 0, 0); transition-property: transform; }
#header_slider.animation_type_zoom_out .bg_image img { transform:scale(1.4); }
#header_slider.animation_type_zoom_out .item.p-effect-slidein .bg_image img { transform:scale(1); transition: transform 10.0s linear 0s; }
#header_slider.animation_type_zoom_out .item.p-effect-slideout .bg_image img { transform:scale(1); transition: transform 10.0s linear 0s; }


/* ズームインアニメーション ----------------------------------------------------------- */
#header_slider.animation_type_zoom_in .item.p-effect-slidein .bg_image,
#header_slider.animation_type_zoom_in .item.p-effect-slidein.p-effect-reverse .bg_image { transform: translate3d(0, 0, 0); transition-property: transform; }
#header_slider.animation_type_zoom_in .item.p-effect-slideout .bg_image { transform: translate3d(0, 0, 0); transition-property: transform; }
#header_slider.animation_type_zoom_in .item.p-effect-reverse .bg_image { transform: translate3d(0, 0, 0); }
#header_slider.animation_type_zoom_in .item.p-effect-slideout.p-effect-reverse .bg_image { transform: translate3d(0, 0, 0); transition-property: transform; }
#header_slider.animation_type_zoom_in .bg_image img { transform:scale(1); }
#header_slider.animation_type_zoom_in .item.p-effect-slidein .bg_image img { transform:scale(1.2); transition: transform 10.0s linear 0s; }
#header_slider.animation_type_zoom_in .item.p-effect-slideout .bg_image img { transform:scale(1.2); transition: transform 10.0s linear 0s; }


/* 動画 */
#header_slider .bg_video { width:100%; height:100%; position:absolute; top:0; left:0; object-fit:cover; pointer-events: none; }
#header_slider .bg_youtube { width:100%; height:100%; max-width: none; position:absolute; top:0; left:0; pointer-events: none; }
#header_slider .overlay { width:100%; height:100%; position:absolute; top:0; left:0; z-index:5; }


/* ニュースティッカー */
#news_ticker { position:relative; overflow:hidden; left:60px; top:-80px; margin-bottom:-60px; z-index:5; width:400px; height:60px; background:#fff; border-radius:10px; }
#header_slider_container.design_type2 + #news_ticker { left:40px; top:-100px; }
#news_ticker_carousel { width:400px; height:60px; }
#news_ticker .item { opacity:0; height:60px; line-height:60px; position:relative; padding:0 30px; }
#news_ticker .item:first-child { opacity:1; }
#news_ticker .item .content { display:flex; flex-wrap:nowrap; }
#news_ticker .date { color:#999; flex: 0 0 auto; font-size:14px; font-weight:500; transition: color 0.25s ease; display:block; position:relative; padding:0 0 0 20px; margin:0 20px 0 0; }
#news_ticker .date:before { font-family:'normal_icon'; content:'\e903'; font-size:18px; position:absolute; left:0; top:calc(50% + 0.5px); transform: translateY(-50%); -webkit-font-smoothing: antialiased; }
#news_ticker .title { font-size:14px; transition: color 0.25s ease; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; visibility:visible; }
#news_ticker .item.no_date .title { width:100%; }
body.use_page_animation #news_ticker { opacity:0; }
body.use_page_animation.start_first_animation #news_ticker { opacity:1; transition:opacity 1.2s ease 0.2s; }




/* ----------------------------------------------------------------------
 コンテンツビルダー
---------------------------------------------------------------------- */
#content_builder { background:#fff; position:relative; z-index:2; overflow:hidden; }
#content_builder .link_button { margin-top:70px; text-align:center; }
.cb_white_bg + .cb_white_bg { padding-top:0; scroll-margin-top:170px; }
#content_builder section:last-child { padding-bottom:150px; }


/* デザインヘッダー */
:is(.design_header, .tcdce-body .design_header) { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; width:960px; margin:0 auto 120px; position:relative; z-index:10; }
:is(.design_header, .tcdce-body .design_header).direction_type1 { display:block; margin-bottom:70px; }
:is(.design_header, .tcdce-body .design_header).direction_type1 .content { text-align:center; }
:is(.design_header, .tcdce-body .design_header).direction_type2 .content { writing-mode:vertical-rl; text-align:left; }
:is(.design_header, .tcdce-body .design_header) .catch { line-height:1.6; font-size:var(--headline_font_size); font-family:var(--headline_font_type); color:var(--main_color); font-weight:600; margin:-8px 0 0 0; width:auto; }
:is(.design_header, .tcdce-body .design_header) .catch a { color:var(--main_color); text-decoration:underline; }
:is(.design_header, .tcdce-body .design_header).direction_type2 .catch { margin:0; text-align:left; }
:is(.design_header, .tcdce-body .design_header) .desc { line-height:2.6; margin-bottom:-10px; text-align:center; font-size:18px; }
:is(.design_header, .tcdce-body .design_header) .desc a { color:var(--main_color); }
:is(.design_header, .tcdce-body .design_header).direction_type2 .desc { line-height:2.6; margin-bottom:0; text-align:left; }
:is(.design_header, .tcdce-body .design_header) .desc .mobile { display:none; }
:is(.design_header, .tcdce-body .design_header) .catch + .desc { margin:27px 0 -10px 0; }
:is(.design_header, .tcdce-body .design_header).direction_type2 .catch + .desc { margin:0 25px 0 0; }
:is(.design_header, .tcdce-body .design_header) .image_area { width:100%; position:relative; margin-top:120px; }
:is(.design_header, .tcdce-body .design_header) .image { max-width:100%; height:auto; border-radius:10px; display:block; }
:is(.design_header, .tcdce-body .design_header) .bg_image { position:absolute; top:0; left:0; transform: translate3d(-50%,-50%,0); z-index:-1; display:block; pointer-events:none; transition: margin 0.5s ease-out, opacity 1.0s ease 0.2s; }
:is(.design_header, .tcdce-body .design_header) .bg_image.position_center_top { left:50%; }
:is(.design_header, .tcdce-body .design_header) .bg_image.position_right_top { left:auto; right:0; transform: translate3d(50%,-50%,0); }
:is(.design_header, .tcdce-body .design_header) .bg_image.position_left_middle { top:50%; }
:is(.design_header, .tcdce-body .design_header) .bg_image.position_center_middle { top:50%; left:50%; transform: translate3d(-50%,-50%,0); }
:is(.design_header, .tcdce-body .design_header) .bg_image.position_right_middle { top:50%; left:auto; right:0; transform: translate3d(50%,-50%,0); }
:is(.design_header, .tcdce-body .design_header) .bg_image.position_left_bottom { top:auto; bottom:0; transform: translate3d(-50%,50%,0); }
:is(.design_header, .tcdce-body .design_header) .bg_image.position_center_bottom { top:auto; bottom:0; left:50%; transform: translate3d(-50%,50%,0); }
:is(.design_header, .tcdce-body .design_header) .bg_image.position_right_bottom { top:auto; bottom:0; left:auto; right:0; transform: translate3d(50%,50%,0); }
:is(.design_header, .tcdce-body .design_header) + .post_content { margin-top:-10px !important; }
:is(.design_header, .tcdce-body .design_header) .bg_image.color { width:380px; height:380px; }
:is(.design_header, .tcdce-body .design_header) .bg_image.color span:first-child { display:block; width:100%; height:100%; background-image: radial-gradient(circle closest-side, #00bffb 0%, transparent 90%); filter:blur(35px); position:absolute; left:0; top:0; z-index:1; }
:is(.design_header, .tcdce-body .design_header) .bg_image.color span:last-child { display:block; width:20%; height:20%; background-image: radial-gradient(circle closest-side, #00bffb 0%, transparent 90%); filter:blur(10px); position:absolute; left:50%; top:50%; transform: translate(-50%, -50%); z-index:2; }
body.image_shape_type2 :is(.design_header, .tcdce-body .design_header) .image { border-radius:0; }
@media(hover: hover) {
  :is(.design_header, .tcdce-body .design_header) .catch a:hover { color:rgba(var(--main_color_hex),0.5); text-decoration:underline; }
  :is(.design_header, .tcdce-body .design_header) .desc a:hover { text-decoration:underline; }
}


/* デザインコンテンツ */
.cb_design_content { padding:120px 0; overflow:hidden; scroll-margin-top:120px; }
.cb_design_content .image_area { width:960px; margin:0 auto; position:relative; display:flex; flex-wrap:wrap; justify-content:space-between; }
.cb_design_content .image_area.one_item { justify-content:center; }
.cb_design_content .image_area .item { max-width:calc(50% - 15px); position:relative; }
.cb_design_content .image_area.one_item .item { max-width:100%; }
.cb_design_content .image_area .image { display:block; border-radius:10px; max-width:100%; height:auto; margin:0 auto; }
.cb_design_content .bg_image { position:absolute; top:0; left:0; transform: translate3d(-50%,-50%,0); z-index:-1; display:block; pointer-events:none; transition: margin 0.8s ease-out; }
.cb_design_content .item:nth-child(2) .bg_image { transition-duration:1.5s; }
.cb_design_content .bg_image.mobile { display:none; }
.cb_design_content .bg_image.position_center_top { left:50%; }
.cb_design_content .bg_image.position_right_top { left:auto; right:0; transform: translate3d(50%,-50%,0); }
.cb_design_content .bg_image.position_left_middle { top:50%; }
.cb_design_content .bg_image.position_center_middle { top:50%; left:50%; transform: translate3d(-50%,-50%,0); }
.cb_design_content .bg_image.position_right_middle { top:50%; left:auto; right:0; transform: translate3d(50%,-50%,0); }
.cb_design_content .bg_image.position_left_bottom { top:auto; bottom:0; transform: translate3d(-50%,50%,0); }
.cb_design_content .bg_image.position_center_bottom { top:auto; bottom:0; left:50%; transform: translate3d(-50%,50%,0); }
.cb_design_content .bg_image.position_right_bottom { top:auto; bottom:0; left:auto; right:0; transform: translate3d(50%,50%,0); }
.cb_design_content .bg_image.color { width:380px; height:380px; }
.cb_design_content .bg_image.color span:first-child { display:block; width:100%; height:100%; background-image: radial-gradient(circle closest-side, #00bffb 0%, transparent 90%); filter:blur(35px); position:absolute; left:0; top:0; z-index:1; }
.cb_design_content .bg_image.color span:last-child { display:block; width:20%; height:20%; background-image: radial-gradient(circle closest-side, #00bffb 0%, transparent 90%); filter:blur(10px); position:absolute; left:50%; top:50%; transform: translate(-50%, -50%); z-index:2; }
body.image_shape_type2 .cb_design_content .image_area .image { border-radius:0; }


/* 2カラム */
.cb_two_column { padding:120px 0; scroll-margin-top:120px; }
.cb_two_column .item_list { width:960px; margin:0 auto; }
.cb_two_column .item { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; position:relative; margin:0 0 70px 0; }
.cb_two_column .item:nth-child(2n) { flex-direction:row-reverse; }
.cb_two_column .item:last-of-type { margin-bottom:0; }
.cb_two_column .item .image_wrap { margin-bottom:auto; width:calc(50% - 15px); height:auto; position:relative; overflow:hidden; z-index:2; }
.cb_two_column .item .image_wrap img { width:100%; height:auto; border-radius:10px; }
.cb_two_column .item .content { width:50%; padding:0 0 0 60px; z-index:2; }
.cb_two_column .item:nth-child(2n) .content { padding:0 60px 0 0; }
.cb_two_column .item .desc { line-height:2.6; }
.cb_two_column .item .desc a { color:var(--content_link_color); }
.cb_two_column .link { margin-top:40px; font-size:18px; position:relative; color:var(--main_color); padding-right:30px; display:inline-block; }
.cb_two_column .link:after { content:"\e910"; font-family:normal_icon; display:block; position:absolute; right:0px; top:1px; font-size:16px; transition: all 0.25s ease; }
.cb_two_column .bg_image { position:absolute; top:0; left:0; transform: translate3d(-50%,-50%,0); z-index:-1; display:block; pointer-events:none; transition: margin 0.8s ease-out; }
.cb_two_column .item:nth-child(2n) .bg_image { transition-duration:1.5s; }
.cb_two_column .bg_image.position_center_top { left:50%; }
.cb_two_column .bg_image.position_right_top { left:auto; right:0; transform: translate3d(50%,-50%,0); }
.cb_two_column .bg_image.position_left_middle { top:50%; }
.cb_two_column .bg_image.position_center_middle { top:50%; left:50%; transform: translate3d(-50%,-50%,0); }
.cb_two_column .bg_image.position_right_middle { top:50%; left:auto; right:0; transform: translate3d(50%,-50%,0); }
.cb_two_column .bg_image.position_left_bottom { top:auto; bottom:0; transform: translate3d(-50%,50%,0); }
.cb_two_column .bg_image.position_center_bottom { top:auto; bottom:0; left:50%; transform: translate3d(-50%,50%,0); }
.cb_two_column .bg_image.position_right_bottom { top:auto; bottom:0; left:auto; right:0; transform: translate3d(50%,50%,0); }
.cb_two_column .bg_image.color { width:380px; height:380px; }
.cb_two_column .bg_image.color span:first-child { display:block; width:100%; height:100%; background-image: radial-gradient(circle closest-side, #00bffb 0%, transparent 90%); filter:blur(35px); position:absolute; left:0; top:0; z-index:1; }
.cb_two_column .bg_image.color span:last-child { display:block; width:20%; height:20%; background-image: radial-gradient(circle closest-side, #00bffb 0%, transparent 90%); filter:blur(10px); position:absolute; left:50%; top:50%; transform: translate(-50%, -50%); z-index:2; }
@media(hover: hover) {
  .cb_two_column .item .desc a:hover { text-decoration:underline; }
  .cb_two_column .link:hover { color:rgba(var(--main_color_hex),0.7); }
	.cb_two_column .link:hover:after { right:-5px; }
}
body.image_shape_type2 .cb_two_column .item .image_wrap img { border-radius:0; }


/* サービス一覧 */
.cb_service_list { padding:120px 0; background:#f6f6f6; scroll-margin-top:120px; }
.cb_service_list .design_header { margin-bottom:70px; }
.cb_service_list .design_header.direction_type1:not(:has(.desc)) { margin-bottom:60px; }
.cb_service_list .service_list { width:960px; margin:0 auto -30px; display:flex; flex-wrap:wrap; }
.cb_service_list .service_list .item { width:calc(100% / 3 - 20px); margin:0 30px 30px 0; padding-bottom:35px; background:#fff; border-radius:10px; display:block; transition: box-shadow 0.5s ease; }
.cb_service_list .service_list .item:nth-child(3n) { margin-right:0; }
.cb_service_list.cb_white_bg .service_list .item { box-shadow:0 0 30px 0 rgba(0,0,0,0), inset 0 0 0 1px #ddd; }
.cb_service_list .service_list .image_wrap { margin-bottom:25px; border-radius:10px 10px 0 0; width:100%; height:auto; position:relative; overflow:hidden; z-index:2; aspect-ratio:300 / 180; }
.cb_service_list .service_list .image_wrap img { width:100%; height:100%; position:absolute; top:0; left:0; object-fit:cover; }
.cb_service_list .service_list .title { line-height:1.5; padding:0 40px; color:var(--main_color); font-size:24px; text-align:center; }
.cb_service_list .service_list .desc { font-size:16px; color:#000; line-height:2; max-height:6em; overflow:hidden; visibility:visible; padding:0 40px; margin-top:15px; }
.cb_service_list .service_list .desc span { display:-webkit-inline-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
@media(hover: hover) {
	.cb_service_list .service_list .item:hover { box-shadow:0 0 30px 0 rgba(0,0,0,0.2); position:relative; mix-blend-mode:multiply; }
  .cb_service_list.cb_white_bg .service_list .item:hover { box-shadow:0 0 30px 0 rgba(0,0,0,0.2), inset 0 0 0 1px #ddd; }
}
body.image_shape_type2 .cb_service_list .service_list .item { border-radius:0; }
body.image_shape_type2 .cb_service_list .service_list .item .image_wrap { border-radius:0; }


/* ブログ一覧 */
.cb_blog_list { padding:120px 0; scroll-margin-top:120px; }
.cb_blog_list .design_header { margin-bottom:70px; }
.cb_blog_list .design_header.direction_type1:not(:has(.desc)) { margin-bottom:60px; }
.index_post_carousel_wrap { position:relative; width:960px; margin:0 auto; }
.cb_blog_list .swiper-button-prev { left:-30px; top:150px; }
.cb_blog_list .swiper-button-next { right:-30px; top:142px; }
.cb_blog_list .swiper-nav-button { background:#fff;  width:60px; height:60px; border-radius:100%; box-shadow:0 0 10px 0 rgba(0,0,0,0.2); }
.cb_blog_list .swiper-nav-button:before { font-size:16px; }
.cb_blog_list .swiper-button-prev:before { }
.cb_blog_list .swiper-button-next:before { left:1px; }
.index_post_carousel { text-align:center; }
.index_post_carousel .blog_list { display:inline-flex; width:auto; }
.index_post_carousel .item { text-align:left; }
.index_post_carousel .item:last-of-type { margin-right:0 !important; }
body.image_shape_type2 .blog_list .image_wrap { border-radius:0; }


/* お知らせ */
.cb_news_list { padding:120px 0; scroll-margin-top:120px; }
.cb_news_list .news_list { width:960px; margin:0 auto; }
.cb_news_list .design_header { margin-bottom:70px; }
.cb_news_list .design_header.direction_type1:not(:has(.desc)) { margin-bottom:60px; }


/* フリースペース */
.cb_free_space { position:relative; margin:0 auto; width:960px; padding:120px 0; scroll-margin-top:120px; }
.cb_free_space .design_header { margin-bottom:70px; }
.cb_free_space .design_header.direction_type1:not(:has(.desc)) { margin-bottom:60px; }
.cb_free_space.wide_content { width:auto; }


/* 固定ページを表示する場合 */
#front_page_contents { padding:120px 0; }
#front_page_contents .post_content { margin:0 auto; }




/* ----------------------------------------------------------------------
 固定ページ
---------------------------------------------------------------------- */
#page_contents { padding:120px 0 150px; overflow:hidden; }
body.page #page_contents .post_content { width:960px; margin:0 auto; }


/* ボタン */
/*.q_button_wrap { margin-top:60px; }*/
/*p + .q_button_wrap { margin-top:70px; }*/
table + .q_button_wrap { margin-top:120px; }


/* デザイン見出し1 */
.post_content .design_headline1 { text-align:center; font-size:30px !important; margin:105px 0 40px 0; margin-bottom:40px !important; font-family:var(--headline_font_type); color:var(--main_color); font-weight:600; }
.post_content .design_headline1 + p:not(:has(img)) { margin-top:-7px; }
.post_content p:has(img) + .design_headline1 { margin-top:115px; }
body.single-service .post_content p:has(img) + .design_headline1 { margin-top:75px; }
.post_content .design_headline1 + p:has(img) { margin-top:110px; }
.post_content .post_row + .design_headline1 { margin-top:115px; }
.post_content .design_headline1:first-child { margin-top:-5px !important; }


/* 囲み枠 */
.q_frame .design_headline1 { margin-bottom:60px !important; }
.q_frame .q_button_wrap { margin-top:60px; }


/* LPページ */
#lp_page_header { width:100%; height:580px; position:relative; overflow:hidden; display:flex; flex-wrap:wrap; justify-content:center; align-items:center; }
#lp_page_header.style_type3 { height:100vh; }
body:has(#header) #lp_page_header.style_type3 { height:calc(100vh - 120px); }
#lp_page_header .logo { position:absolute; top:30px; left:30px; z-index:5; }
#lp_page_header .logo a { display:block; transition:opacity 0.25s ease; }
#lp_page_header .logo img { display:block; }
#lp_page_header .logo img.mobile { display:none; }
@media(hover: hover) {
  #lp_page_header .logo a:hover { opacity:0.5; }
}
body.use_page_animation #lp_page_header .logo { opacity:0; transition:opacity 1.2s ease 0.2s; }
body.use_page_animation.start_first_animation #lp_page_header .logo { opacity:1; }
#lp_page_header .content { position:absolute; z-index:5; color:#fff; display:flex; flex-direction:column; align-items:flex-start; }
#lp_page_header.layout_type2 .content, #lp_page_header.layout_type5 .content { align-items:center; text-align:center; }
#lp_page_header.layout_type3 .content, #lp_page_header.layout_type6 .content { align-items:flex-end; text-align:right; }
#lp_page_header .catch { position:relative; font-weight:600; margin-bottom:-8px; font-size: calc(var(--lp_page_header_catch) * 1px); line-height: clamp(1.2, calc(60 / var(--lp_page_header_catch)), 1.8); }
#lp_page_header .desc { font-weight:600; margin-bottom:-10px; font-size: calc(var(--lp_page_header_sub_catch) * 1px); line-height: clamp(1.2, calc(60 / var(--lp_page_header_sub_catch)), 1.8); }
#lp_page_header .desc + .catch { margin-top:30px; }
#lp_page_header .catch + .desc { margin-top:30px; }
#lp_page_header * > .link_button { margin-top:40px; }
#lp_page_header .content span { display:block; }
#lp_page_header .content span.empty { width:2em; height:2em; }
#lp_page_header .content.direction_type2 { justify-content:center; align-items:start !important; writing-mode:vertical-rl; text-align:left !important; margin:0 auto; max-height:calc(100% - 100px); }
#lp_page_header.layout_type1 .content.direction_type2, #lp_page_header.layout_type4 .content.direction_type2 { justify-content:flex-end; }
#lp_page_header.layout_type5 .content.direction_type3, #lp_page_header.layout_type6 .content.direction_type2 { justify-content:flex-start; }
#lp_page_header .content.direction_type2 .catch { margin-top:0 !important; }
#lp_page_header .content.direction_type2 .desc { margin-top:0 !important; }
#lp_page_header .content.direction_type2 .catch + .desc { margin-right:20px; }
body.use_page_animation #lp_page_header .content.direction_type1 > * { opacity:0; transform:translate3d(0,30px,0); }
body.use_page_animation #lp_page_header .content.direction_type1 > *.animate { opacity:1; transform:translate3d(0,0,0); transition:opacity 1.8s ease 0.2s, transform 1.8s ease 0.2s; }
body.use_page_animation #lp_page_header .content.direction_type2 span { opacity:0; transform:translate3d(0,30px,0); }
body.use_page_animation #lp_page_header .content.direction_type2 span.animate { opacity:1; transform:translate3d(0,0,0); transition:opacity 1.8s ease 0.2s, transform 1.8s ease 0.2s; }
#lp_page_header .image { width:100%; height:100%; z-index:1; display:block; position:absolute; top:0; left:0; display:block; margin:0; }
#lp_page_header .image img { width:100%; height:100%; margin:0; position:absolute; top:0; left:0; object-fit:cover; }
#lp_page_header .overlay { width:100%; height:100%; position:absolute; top:0; left:0; z-index:2; }
#lp_style1_content { border:1px solid #ddd; margin:120px auto; box-shadow:0 0 20px 5px rgba(0,0,0,0.1); overflow:hidden; }
#lp_style1_content #lp_page_header .content { width:100%; padding:0 100px; }
#lp_style1_content #page_contents { padding-left:100px; padding-right:100px; }
body.lp_header_style1:not(.start_scroll) #header { box-shadow:none !important; }
body.lp_header_style1 #lp_style1_content { margin-top:70px; }


/* 採用情報 */
.recruit_page_list { padding:0 !important; margin:0 !important; display:flex; flex-wrap:wrap; }
.recruit_page_list li { list-style-type:none; margin:0 !important; padding:0 !important; width:50%; }
.recruit_page_table th { width:200px; vertical-align:middle; }


/* アバウトページ */
.short { padding:0 100px; }
:is(.tcdce-body) .image_with_bg, .image_with_bg { position:relative; margin-top:110px; margin-bottom:115px; }
.image_with_bg .bg_image { position:absolute; top:0; left:0; transform: translate3d(-50%,-50%,0); z-index:-1; display:block; pointer-events:none; transition: margin 0.5s ease-out, opacity 1.0s ease 0.2s; }
.image_with_bg .bg_image.position_center_top { left:50%; }
.image_with_bg .bg_image.position_right_top { left:auto; right:0; transform: translate3d(50%,-50%,0); }
.image_with_bg .bg_image.position_left_middle { top:50%; }
.image_with_bg .bg_image.position_center_middle { top:50%; left:50%; transform: translate3d(-50%,-50%,0); }
.image_with_bg .bg_image.position_right_middle { top:50%; left:auto; right:0; transform: translate3d(50%,-50%,0); }
.image_with_bg .bg_image.position_left_bottom { top:auto; bottom:0; transform: translate3d(-50%,50%,0); }
.image_with_bg .bg_image.position_center_bottom { top:auto; bottom:0; left:50%; transform: translate3d(-50%,50%,0); }
.image_with_bg .bg_image.position_right_bottom { top:auto; bottom:0; left:auto; right:0; transform: translate3d(50%,50%,0); }


/* スタッフ一覧 */
#staff_list { width:960px; margin:0 auto; }
#page_header:not(:has(.image)):not(:has(.desc)) + #page_contents #staff_list { margin-top:-50px; }
.design_header + #staff_list { margin-top:60px; }
body:has(#staff_list) .design_header { margin-bottom:60px; }
#staff_list .item { display:flex; flex-wrap:wrap; border-bottom:1px solid #ddd; margin:0 0 70px; padding:0 0 70px; }
#staff_list .item:last-of-type { border:none; margin:0; padding:0; }

#staff_list .layout_type1 { justify-content:space-between; border-bottom:none; padding-bottom:0 !important; margin-bottom:120px; }
#staff_list .layout_type1 .image { width:calc(50% - 25px); }
#staff_list .layout_type1 .image img { display:block; max-width:100%; height:auto; border-radius:15px; }
#staff_list .no_post .image_area { pointer-events:none; }
#staff_list .layout_type1 .content { width:calc(50% - 25px); }
#staff_list .layout_type1 .content .desc { line-height:2.6; margin-bottom:60px; }
#staff_list .layout_type1 .name_area { position:relative; }
#staff_list .layout_type1 .content .position { color:var(--main_color); margin-bottom:30px; }
#staff_list .layout_type1 .content .name { font-family:var(--headline_font_type); font-size:24px; }
#staff_list .layout_type1 .link { margin-top:30px; display:inline-block; }
#staff_list .link { color:var(--main_color); font-size:16px; padding-right:25px; position:relative; }
#staff_list .link:after { content:"\e910"; font-family:normal_icon; display:block; position:absolute; right:0px; top:1px; font-size:14px; transition: all 0.25s ease; }
@media(hover: hover) {
	#staff_list .link:hover { color:rgba(var(--main_color_hex),0.5);  }
	#staff_list .link:hover:after { right:-5px; }
}
#staff_list .layout_type1 .content .sns_button_list { margin-top:30px; }
#staff_list .layout_type1 .post_content { width:100% !important; border:1px solid #ddd; border-radius:15px; padding:50px; margin-top:70px !important; }
body.image_shape_type2 #staff_list .layout_type1 .post_content { border-radius:0; }
#staff_list .layout_type1 .doctor_career { display:flex; flex-wrap:wrap; margin:0 0 -10px 0; }
#staff_list .layout_type1 .doctor_career dt { width:110px; font-weight:500; }
#staff_list .layout_type1 .doctor_career dd { width:calc(100% - 110px); }
#staff_list .layout_type1 .post_content .design_headline1 { font-size:24px !important; margin:0 0 35px !important; }
body.image_shape_type2 #staff_list .layout_type1 .image img { border-radius:0; }

#staff_list .layout_type2 .image { width:350px; }
#staff_list .layout_type2 .image img { width:100%; height:auto; display:block; border-radius:10px; }
#staff_list .layout_type2 .content { width:calc(100% - 350px); padding:0 0 0 50px; }
#staff_list .layout_type2 .content .position { color:var(--main_color); margin-bottom:30px; }
#staff_list .layout_type2 .name_area { display:flex; flex-wrap:wrap; align-items:center; margin:0 0 60px 0; position:relative; }
#staff_list .layout_type2 .content .name { font-family:var(--headline_font_type); font-size:24px; }
#staff_list .layout_type2 .content .sns_button_list { margin:5px 0 0 30px; }
#staff_list .layout_type2 .link { display:inline-block; position:absolute; right:0; }
#staff_list .layout_type2 .content .desc { line-height:2.6; }
body.image_shape_type2 #staff_list .layout_type2 .image img { border-radius:0; }


/* FAQページ */
.faq_category_sort_button { width:960px; margin:0 auto 70px !important; }
#faq_content_list { width:960px; margin:0 auto; }
#faq_content_list .faq_content { border:1px solid #ddd; border-radius:10px; padding:50px; margin-bottom:70px; }
#faq_content_list .faq_content:last-of-type { margin-bottom:0; }
#faq_content_list .faq_content .headline { font-size:28px; font-family:var(--headline_font_type); color:var(--main_color); text-align:center; margin-bottom:50px; }
#faq_content_list .faq_list { margin-bottom:0; }


/* FAQ */
.faq_list { width:100%; max-width:100%; margin:0 auto 35px; }
.faq_list .headline { font-size:24px; color:#7ea0c8; margin-bottom:45px; padding:0; text-align:center; }
.faq_list .item { border:1px solid #ddd; margin:0 0 -1px 0; position:relative; background:#fff; }
.faq_list .title { font-size:var(--content_font_size); cursor: pointer; margin:0; font-weight:500; line-height:1.8; padding:21px 55px 21px 30px; margin-bottom:0; position:relative; transition:color 0.4s ease; }
.faq_list .title span { display:block; position:relative; padding:0 0 0 50px; }
.faq_list .title span:before { content:'Q'; font-family:Arial; width:30px; height:30px; line-height:30px; font-size:16px; background:var(--main_color); display:inline-block; border-radius:100%; color:#fff; text-align:center; position:absolute; left:0; top:50%; transform: translateY(-50%); }
.faq_list .title:before { content:''; display:block; position:absolute; right:25px; height:1px; width:11px; background:#000; top:calc(50% + 2px); transform: translateY(-50%); }
.faq_list .title:after { content:''; display:block; position:absolute; right:30px; height:11px; width:1px; background:#000; top:calc(50% + 2px); transform: translateY(-50%); }
.faq_list .title.active:after { display:none; }
.faq_list .desc_area { height:0; overflow:hidden; transition:height 0.2s cubic-bezier(0.54, 0.07, 0.38, 0.9); }
.faq_list .desc { line-height:2.6; padding:20px 30px; border-top:1px solid #ddd; background:#f8f8f8; transition:opacity 0.7s ease; opacity:0; }
.faq_list .desc span { display:block; }
.faq_list .title.active { color:var(--main_color); }
.faq_list .desc a { color:var(--content_link_color) !important; }
@media(hover: hover) {
  .faq_list .title:hover { color:var(--main_color); }
	.faq_list .desc a:hover { text-decoration:underline; }
}
.faq_list .title.active + .desc_area > .desc { opacity:1; transition:opacity 1s ease; }
@media (max-width: 800px) {
  .faq_list .title { font-size:var(--content_font_size_sp); padding:20px 55px 15px 20px; }
  .faq_list .title span { padding:0 0 0 40px; }
  .faq_list .title span:before { width:25px; height:25px; line-height:25px; font-size:14px; top:calc(50% - 2px); }
  .faq_list .desc { padding:20px; font-size:14px; line-height:2; }
  .faq_list .title:before { right:20px; }
  .faq_list .title:after { right:25px; }
}




/* ----------------------------------------------------------------------
 ページヘッダー
---------------------------------------------------------------------- */
#page_headline { height:85px; font-size:var(--headline_font_size); font-family:var(--headline_font_type); line-height:1.6; font-weight:600; color:#fff; background:var(--main_color); display:flex; flex-wrap:wrap; justify-content:center; align-items:center; position:relative; z-index:10; }
#page_header { width:100%; height:auto; aspect-ratio:1450 / 420; position:relative; overflow:hidden; display:flex; flex-wrap:wrap; justify-content:center; align-items:center; }
body.page #page_header { min-height:420px; }
body.page #page_header.layout_type1:not(:has(img)) { padding-top:120px; }
#page_header .image { width:100%; height:100%; z-index:1; display:block; position:absolute; top:0; left:0; display:block; margin:0; }
#page_header .image img { width:100%; height:100%; position:absolute; top:0; left:0; object-fit:cover; }
#page_header .overlay { width:100%; height:100%; position:absolute; top:0; left:0; z-index:2; }
#page_header .image.mobile { display:none; }
#page_header .content { z-index:3; color:#fff; position:relative; margin:0 auto; text-align:center; }
#page_header.layout_type2 .content { padding:50px 0; writing-mode:vertical-rl; text-align:left; }
#page_header .catch { line-height:1.6; font-size:var(--headline_font_size); font-family:var(--headline_font_type); font-weight:600; margin:-8px 0; }
#page_header.layout_type2 .catch { margin-top:0; }
#page_header .desc { line-height:2.6; font-size:18px; margin-bottom:-10px; }
#page_header .desc.mobile { display:none; }
#page_header .desc a { color:#fff; text-decoration:underline; transition:color 0.25s ease !important; }
@media(hover: hover) {
  #page_header .desc a:hover { color:rgba(255,255,255,0.5); }
}
#page_header.layout_type2 .desc { line-height:2.6; margin-bottom:0; }
#page_header .catch + .desc { margin:27px 0 -10px 0; }
#page_header.layout_type2 .catch + .desc { margin:0 25px 0 0; }
#page_header:not(:has(.image)) { aspect-ratio:unset !important; min-height:inherit !important; overflow:visible; }
#page_header:not(:has(.image)) .content { color:#000; }
#page_header.layout_type2:not(:has(.image)) .content { padding:120px 0 0; }
#page_header:not(:has(.image)) .catch { color:var(--main_color); }
#page_header:not(:has(.image)) + #page_contents { overflow:visible; }
body.use_page_animation #page_header .content * { opacity:0; }
body.use_page_animation #page_header.layout_type2 .content * { transform: translate3d(0,50px,0); }
body.use_page_animation.start_first_animation #page_header .content *:nth-child(1) { opacity:1; transition:opacity 1.8s ease 0s; }
body.use_page_animation.start_first_animation #page_header .content *:nth-child(2), body.use_page_animation.start_first_animation #page_header .content *:nth-child(3) { opacity:1; transition:opacity 1.8s ease 0.8s; }
body.use_page_animation.start_first_animation #page_header.layout_type2 .content *:nth-child(1) { transform: translate3d(0,0,0); transition:opacity 1.8s ease 0.3s, transform 1.8s cubic-bezier(0.22, 1, 0.36, 1) 0s; }
body.use_page_animation.start_first_animation #page_header .content *:nth-child(2), body.use_page_animation.start_first_animation #page_header .content *:nth-child(3) { transform: translate3d(0,0,0); transition:opacity 1.8s ease 1.1s, transform 1.8s cubic-bezier(0.22, 1, 0.36, 1) 0.8s; }


/* 説明文 */
#page_header_catch { text-align:center; font-size:28px; font-family:var(--headline_font_type); color:var(--main_color); font-weight:500; margin:0 0 45px 0; transform: translate3d(0,0,0) !important; transition: opacity 1.8s ease 0s !important; }
#container:not(:has(#page_header_desc)) #page_header_catch { margin-bottom:70px; }
#page_header_desc { text-align:center; margin:-10px 0 58px; transform: translate3d(0,0,0) !important; transition: opacity 1.8s ease 0s !important; }
#page_header_desc .desc { font-size:18px; }
#page_header_desc .desc.mobile { display:none; }
#page_header_desc.layout_type2 .desc { writing-mode:vertical-rl; text-align:left; line-height:2.6; margin:0 auto 10px; display:inline-block; }
#page_header_desc.layout_type2 .desc.mobile { display:none; }

/* パンくずリンク */
#bread_crumb { position:relative; z-index:3; border-bottom:1px solid #ddd; }
#bread_crumb ul { width:960px; height:70px; line-height:70px; margin:0 auto; display:flex; flex-wrap:nowrap; }
#bread_crumb li { flex: 0 0 auto; font-size:14px; padding:0 22px 0 10px; position:relative; }
#bread_crumb li:after { font-family:'normal_icon'; content:'\e910'; font-size:11px; color:#000; display:block; position:absolute; right:0px; top:0px; -webkit-font-smoothing: antialiased; }
#bread_crumb li:last-of-type:after { display:none; }
#bread_crumb li:last-of-type { flex: 0 1 auto; padding-right:0; color:rgba(0,0,0,0.6); overflow:hidden; white-space: nowrap; text-overflow: ellipsis; visibility:visible; }
#bread_crumb li a { color:#000; display:inline; }
@media(hover: hover) {
  #bread_crumb li a:hover { color:rgba(0,0,0,0.6); }
}
#bread_crumb li.category { flex: 0 1 auto; overflow:hidden; white-space: nowrap; text-overflow: ellipsis; visibility:visible; }
#bread_crumb li.category a:after { content:' ,'; }
#bread_crumb li.category a:last-of-type:after { display:none; }
#bread_crumb li.home { flex: 0 0 35px !important; padding:0; }
#bread_crumb li.home a { position:relative; }
#bread_crumb li.home a span { display:none; }
#bread_crumb li.home a:before { font-family:'normal_icon'; content:'\e90c'; font-size:12px; color:#000; display:inline-block; top:-1px; position:relative; -webkit-font-smoothing: antialiased; }
@media(hover: hover) {
  #bread_crumb li.home a:hover:before { color:rgba(0,0,0,0.6); }
}




/* ----------------------------------------------------------------------
 サービスアーカイブ
---------------------------------------------------------------------- */
#archive_service { width:960px; margin:0 auto; padding:120px 0 150px; }
#service_content_list .service_content { border:1px solid #ddd; border-radius:10px; padding:50px; margin:0 0 70px 0; }
body.image_shape_type2 #service_content_list .service_content { border-radius:0; }
#service_content_list .service_content:last-of-type { margin-bottom:0; }
#service_content_list .service_content .title { line-height:1.6; font-family:var(--headline_font_type); font-size:30px; text-align:center; margin:-10px 0 40px 0; }
#service_content_list .service_content .title a { color:var(--main_color); display:block; }
#service_content_list .service_content .content { display:flex; flex-wrap:wrap; align-items:center; }
#service_content_list .service_content .image_area { width:50%; display:block; }
#service_content_list .service_content .image_wrap { border-radius:10px; width:100%; height:auto; position:relative; overflow:hidden; z-index:2; aspect-ratio:430 / 260; }
#service_content_list .service_content .image_wrap img { width:100%; height:100%; position:absolute; top:0; left:0; object-fit:cover; }
#service_content_list .service_content .desc_area { width:50%; padding:0 0 0 50px; }
#service_content_list .service_content .desc { line-height:2.6; max-height:7.2em; overflow:hidden; visibility:visible; }
#service_content_list .service_content .desc span { display:-webkit-inline-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
#service_content_list .service_content .link { display:inline-block; margin-top:40px; font-size:16px; position:relative; color:var(--main_color); padding-right:25px; }
#service_content_list .service_content .link:after { content:"\e910"; font-family:normal_icon; display:block; position:absolute; right:0px; top:1px; font-size:15px; transition: all 0.25s ease; }
#service_content_list .service_content .check_list_headline { border:1px solid #ddd; margin-top:50px; display:flex; flex-wrap:wrap; justify-content:center; align-items:center; color:var(--main_color); position:relative; font-size:18px; padding:20px 70px; font-weight:500; line-height:1.5; }
#service_content_list .service_content .check_list { background:#f6f6f6; border:1px solid #ddd; border-top:none; padding:50px; }
#service_content_list .service_content .check_list_headline.active + .check_list { display:block; }
#service_content_list .service_content .check_list ul { display:flex; flex-wrap:wrap; margin-bottom:-10px; }
#service_content_list .service_content .check_list li { width:50%; line-height:1.6; margin:0 0 10px 0; }
@media(hover: hover) {
  #service_content_list .service_content .title a:hover, #service_content_list .service_content .link:hover { color:rgba(var(--main_color_hex),0.7); }
	#service_content_list .service_content .link:hover:after { right:-5px; }
}
body.image_shape_type2 #service_content_list .service_content .image_wrap { border-radius:0; }




/* ----------------------------------------------------------------------
 サービス詳細
---------------------------------------------------------------------- */
#single_service { width:960px; margin:0 auto; padding:120px 0 150px; }
#service_header_desc { line-height:2.6; padding:0 80px; margin:-10px 0 110px 0; position:relative; }
#service_header { border:1px solid #ddd; border-radius:10px; position:relative; padding:80px; margin-bottom:80px; }
body.image_shape_type2 #service_header { border-radius:0; }
#service_header > .headline {
	font-size:18px; font-family:var(--headline_font_type); color:var(--main_color);
	display:flex; flex-wrap:wrap; align-items:center;
	width:calc(100% - 160px); position:absolute; left:80px; top:0; transform: translate(0, -50%);
}
#service_header > .headline span { background:#fff; line-height:1.6; padding:20px 30px; border:1px solid #ddd; border-radius:10px; display:flex; flex-wrap:wrap; align-items:center; margin:0 auto; }
body.image_shape_type2 #service_header > .headline span { border-radius:0; }
#service_header .image img { display:block; border-radius:10px; margin:0 0 50px 0; max-width:100%; height:auto; }
#service_header .image:only-child img { margin-bottom:0; }
#service_header .post_content { margin:0 0 40px 0; }
#service_header .check_list { background:#f6f6f6; border-radius:10px; padding:60px; }
body.image_shape_type2 #service_header .check_list { border-radius:0; }
#service_header .check_list ul { display:flex; flex-wrap:wrap; margin-bottom:-10px; }
#service_header .check_list li { width:50%; line-height:1.6; margin:0 0 10px 0; }
#single_service #category_sort_button { margin:110px 0 0 0; }
body.image_shape_type2 #service_header .image img { border-radius:0; }




/* ----------------------------------------------------------------------
 お知らせアーカイブ
---------------------------------------------------------------------- */

/* カテゴリーソートボタン */
#news_category_sort_button_wrap { margin:-25px auto 45px; position:relative; z-index:1; transform: translate3d(0,0,0) !important; transition: opacity 1.8s ease 0s !important;　}
#news_category_sort_button_slider { position:relative; width:auto; text-align:center; }
#news_category_sort_button { -webkit-user-select:none; user-select:none; width:auto; position:relative; display:inline-flex !important; }
#news_category_sort_button .item { font-size:16px; height:70px; line-height:70px; flex: 0 0 auto !important; width:auto !important; order:2; }
#news_category_sort_button .item.active_menu a { pointer-events:none; color:var(--main_color); }
#news_category_sort_button .item.active_menu { /*order:1;*/ }
#news_category_sort_button a { display:block; height:100%; padding:0 20px; }
@media(hover: hover) {
  #news_category_sort_button a:hover { color:rgba(0,0,0,0.6); }
}
#news_category_sort_button_wrap .swiper-button-next:before, #news_category_sort_button_wrap .swiper-button-prev:before { color:#000; font-size:18px; }
#news_category_sort_button_wrap .swiper-button-prev { left:-60px; right:auto; top:32px; }
#news_category_sort_button_wrap .swiper-button-next { left:auto; right:-60px; top:32px; }
@media(hover: hover) {
  #news_category_sort_button_wrap .swiper-button-next:hover:before, #news_category_sort_button_wrap .swiper-button-prev:hover:before { color:#aaa; }
}


/* 記事一覧 */
#archive_news { padding:120px 0 150px; width:960px; margin:0 auto; }
#container:has(#bread_crumb) #archive_news { padding-top:70px; }
.news_list { background:#fafafa; border-radius:10px; padding:20px 45px; border:1px solid #ddd; }
body.image_shape_type2 .news_list { border-radius:0; }
.news_list .item { border-bottom:1px solid #ddd; display:flex; flex-wrap:nowrap; align-items:center; height:70px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; visibility:visible; }
.news_list .item:last-of-type { border:none; }
.news_list .date { color:#999; position:relative; font-size:14px; padding-left:20px; margin-right:30px; font-family: 'Arial';}
.news_list .date:before { font-family:'normal_icon'; content:'\e903'; font-size:16px; position:absolute; top:calc(50% + 0.5px); transform: translateY(-50%); left:0; -webkit-font-smoothing: antialiased; }
.news_list .title { font-size:16px; font-weight:500; transition: color 0.25s ease; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; visibility:visible; }
@media(hover: hover) {
  .news_list .item a:hover { color:rgba(0,0,0,0.6); }
}



/* ----------------------------------------------------------------------
 お知らせ詳細
---------------------------------------------------------------------- */
#single_news_header { margin-bottom:50px; position:relative;  }
#single_news_header .meta { display:flex; flex-wrap:nowrap; align-items:center; margin:0 0 22px 0; }
#single_news_header .category { display:inline-block; text-align:center;  font-size:14px; margin-left:20px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; visibility:visible; }
#single_news_header .category a { display:inline; white-space:nowrap; color:var(--main_color); }
#single_news_header .category a:after { content:' ,'; margin:0 5px 0 0; }
#single_news_header .category a:last-of-type:after { display:none; }
#single_news_header .date_list { flex: 0 0 auto;  font-family: 'Arial';}
#single_news_header .title { font-size:var(--single_title_font_size); font-family:var(--single_title_font_type); font-weight:600; line-height:1.5; }
#single_news_header .image { margin-top:40px; position:relative; width:100%; height:auto; position:relative; overflow:hidden; aspect-ratio:670 / 430; border-radius:10px; display:block; }
#single_news_header .image img { width:100%; height:100%; position:absolute; top:0; left:0; object-fit:cover; }
@media(hover: hover) {
  #single_news_header .category a:hover { color:rgba(var(--main_color_hex),0.6); }
}
body.image_shape_type2 #single_news_header .image { border-radius:0; }


/* 関連記事 */
#related_news { margin-top:70px; }
#related_news .headline { font-size:24px; text-align:center; margin-bottom:50px; font-family:var(--headline_font_type); }
#related_news .news_list { padding:15px 40px; }




/* ----------------------------------------------------------------------
 ブログアーカイブページ
---------------------------------------------------------------------- */
#archive_blog { padding:120px 0 150px; width:960px; margin:0 auto; }
#container:has(#bread_crumb) #archive_blog { padding-top:70px; }
#archive_blog #no_post { text-align:center; }


/* カテゴリーソートボタン */
#category_sort_button { margin:0 0 70px 0; text-align:center; }
#category_sort_button ol { display:inline-flex; flex-wrap:wrap; }
#category_sort_button ol li { font-size:16px; width:320px; border:1px solid #ddd; margin:0 -1px -1px 0; }
#category_sort_button ol li a { display:block; height:100%; line-height:1.5; display:flex; flex-wrap:wrap; align-items:center; text-align:left; padding:22px 70px 22px 30px; position:relative; background:#fff; }
#category_sort_button ol li.active_menu a { color:var(--main_color); pointer-events:none; }
#category_sort_button ol li a:after { content:"\e910"; font-family:normal_icon; display:block; position:absolute; right:30px; top:50%; transform: translate3d(-10px,-50%,0); font-size:16px; color:var(--main_color); opacity:0; transition: opacity 0.25s ease, transform 0.25s ease; }
#category_sort_button.arrow_down ol li a:after { content:"\e90e"; transform: translate3d(0,calc(-50% - 10px),0); }
#category_sort_button .headline { height:70px; line-height:70px; font-family:var(--headline_font_type); background:var(--main_color); color:#fff; font-size:26px; margin-bottom:-1px; position:relative; }
#category_sort_button.small_size ol { display:flex; }
#category_sort_button.small_size li { flex: 1 1 0%; width:auto; }
@media(hover: hover) {
	#category_sort_button ol li a:hover { color:var(--main_color); }
	#category_sort_button ol li a:hover:after { opacity:1; transform: translate3d(0,-50%,0); }
  #category_sort_button.arrow_down ol li a:hover:after { transform: translate3d(0,-50%,0); }
}


/* 記事一覧 */
#archive_blog  .blog_list { margin:0 auto -70px; }
.blog_list:not(.swiper-wrapper) { display:flex; flex-wrap:wrap; }
.blog_list .item { position:relative; display:flex; flex-direction:column; height:auto; }
.blog_list .item:not(.swiper-slide) { width:calc(100% / 3 - 20px); margin:0 30px 60px 0; }
.blog_list .item:nth-child(3n):not(.swiper-slide) { margin-right:0; }
.blog_list .animate_background { display:block; }
.blog_list .image_wrap { margin-bottom:30px; border-radius:10px; width:100%; height:auto; position:relative; overflow:hidden; z-index:2; aspect-ratio:1 / 1; }
.blog_list .image_wrap img { width:100%; height:100%; position:absolute; top:0; left:0; object-fit:cover; }
.blog_list .item:not(:has(.category_list)) .image_wrap { margin-bottom:25px; }
.blog_list .content {  }
.blog_list .title { font-size:18px; line-height:1.8; max-height:3.6em; overflow:hidden; visibility:visible; }
.blog_list .title span { display:-webkit-inline-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.blog_list .category_list {
	height:40px; min-width:120px; max-width:100%; border:1px solid var(--main_color); color:var(--main_color); display:inline-block; text-align:center; 
	font-size:14px; padding:0 25px; border-radius:40px; margin-bottom:22px;
}
.blog_list .category_list ul { max-width:100%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; visibility:visible; }
.blog_list .category_list ul li { display:inline; }
.blog_list .category_list a { display:inline; height:40px; line-height:40px; color:var(--main_color); white-space:nowrap; }
.blog_list .category_list a:after { content:' ,'; margin:0 5px 0 0; }
.blog_list .category_list li:last-of-type a:after { display:none; }
.blog_list .date_list { margin:22px 0 0; font-family: 'Arial';}
@media(hover: hover) {
	.blog_list a:hover { color:rgba(0,0,0,0.6); }
  .blog_list .category_list a:hover { color:rgba(var(--main_color_hex),0.6); }
}


/* 日付（他のページでも使用） */
.date_list { display:flex; flex-wrap:wrap; margin-bottom:-10px; position:relative; }
.date_list .date { color:#999; position:relative; font-size:14px; padding-left:20px; margin-right:10px; margin-bottom:10px; }
.date_list .date:before { font-family:'normal_icon'; content:'\e903'; font-size:18px; position:absolute; top:calc(50% + 0.5px); transform: translateY(-50%); left:0; -webkit-font-smoothing: antialiased; }
.date_list .update { color:#999; position:relative; font-size:14px; padding-left:20px; margin-bottom:10px; }
.date_list .update:before { font-family:'normal_icon'; content:'\e91f'; font-size:18px; position:absolute; top:calc(50% + 0.5px); transform: translateY(-50%); left:0; -webkit-font-smoothing: antialiased; }


/* ページナビ */
.page_navi { margin:70px 0 0 0; z-index:10; position:relative; }
.page_navi ul { margin:0; text-align:center; display:flex; flex-wrap:wrap; justify-content:center; }
.page_navi li { margin:0 7px 0 0; }
.page_navi li:last-of-type { margin:0; }
.page_navi a, .page_navi .current, .page_navi .dots { border-radius:5px; font-family:"Arial"; background:#fff; border:1px solid #ddd; color:#000; font-size:14px; width:50px; height:50px; line-height:50px; display:inline-block; text-align:center; }
@media(hover: hover) {
  .page_navi a:hover { background:var(--main_color); border-color:var(--main_color); color:#fff; }
}
.page_navi .dots { display:block; text-indent:-100px; overflow:hidden; position:relative; line-height:1; }
.page_navi .dots:before { text-indent:0; display:block; color:#000; content:'\e942'; font-family:'normal_icon'; font-size:30px; right:9px; top:12px; position:absolute; }
.page_navi .current { color:#fff !important; background:var(--main_color); border-color:var(--main_color); }
.page_navi .next, .page_navi .prev { position:relative; }
.page_navi .next span, .page_navi .prev span { display:none; }
.page_navi .next:before, .page_navi .prev:before { font-family:'normal_icon'; font-size:12px; top:0; position:relative; -webkit-font-smoothing: antialiased; transition:none !important; }
.page_navi .prev:before { content:'\e90f'; left:0px; }
.page_navi .next:before { content:'\e910'; right:0px;}


/* 検索結果 */
body.search #page_header_desc { margin-bottom:110px; }
body.search #page_header_desc .catch { font-size:30px; }


/* 投稿者アーカイブ */
#author_archive_header { border-radius:10px; padding:70px; margin-bottom:70px; background:#f6f6f6; }
body.image_shape_type2 #author_archive_header { border-radius:0; }
#author_archive_header .name_area { text-align:center; flex: 0 0 auto; }
#author_archive_header .name_area img { width:130px; height:130px; border-radius:100%; margin:0 0 20px 0; }
#author_archive_header .name { font-size:20px; line-height:1.4; font-weight:500; }
#author_archive_header .sns_button_list { margin-top:22px; justify-content:center; }
#author_archive_header .sns_button_list li { margin:0 7px 5px; }
#author_archive_header .desc { margin:60px 0 -10px; }
#author_archive_header .desc p { line-height:2.6; }
#author_archive_header .desc a { color:var(--content_link_color); }
@media(hover: hover) {
  #author_archive_header .desc a:hover { text-decoration:underline; }
}




/* ----------------------------------------------------------------------
 ブログ詳細ページ
---------------------------------------------------------------------- */
body.single-post #article { }


/* タイトルエリア */
#single_post_header { margin-bottom:50px; position:relative;  }
#single_post_header .meta { display:flex; flex-wrap:nowrap; align-items:center; height:40px; margin:0 0 22px 0; }
#single_post_header .category_list {
	height:40px; min-width:120px; max-width:100%; border:1px solid var(--main_color); color:var(--main_color); display:inline-block; text-align:center; 
	font-size:14px; padding:0 25px; border-radius:40px; margin-right:20px; 
}
#single_post_header .category_list ul { max-width:100%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; visibility:visible; }
#single_post_header .category_list ul li { display:inline; }
#single_post_header .category_list a { display:inline; height:40px; line-height:40px; color:var(--main_color); white-space:nowrap; }
#single_post_header .category_list a:after { content:' ,'; margin:0 5px 0 0; }
#single_post_header .category_list li:last-of-type a:after { display:none; }
#single_post_header .date_list { flex: 0 0 auto; font-family: 'Arial';}
#single_post_header .title { font-size:var(--single_title_font_size); font-family:var(--single_title_font_type); font-weight:600; line-height:1.5; }
#single_post_header .image { border-radius:10px; margin-top:40px; position:relative; width:100%; height:auto; position:relative; overflow:hidden; aspect-ratio:670 / 430; display:block; }
#single_post_header .image img { width:100%; height:100%; position:absolute; top:0; left:0; object-fit:cover; }
@media(hover: hover) {
  #single_post_header .category_list a:hover { color:rgba(var(--main_color_hex),0.6); }
}
body.image_shape_type2 #single_post_header .image { border-radius:0; }


/* 本文 */
@media(hover: hover) {
  .post_content a:hover { text-decoration:underline; }
}


/* SNSボタン */
#single_share_top { margin:50px 0 50px; padding:0; }
#single_share_bottom { margin:50px 0 0; }


/* コピーボタン */
.single_copy_title_url { text-align: center; }
.single_copy_title_url_btn {
  font-family:var(--content_font_type); font-size:14px; color:#000; background:#fff; border:3px solid #ccc; cursor:pointer; line-height:54px; min-width:300px; padding: 0 15px;
  transition-property:background-color, color; transition-duration:0.3s; transition-timing-function:ease;
}
@media(hover: hover) {
  .single_copy_title_url_btn:hover { color:rgba(0,0,0,0.6) !important; }
}
.single_copy_title_url_btn.copied { background:#ccc; color:#fff; pointer-events:none; }
#single_copy_title_url_top { margin:0 0 40px 0; }
#single_copy_title_url_btm { margin:40px 0 0; }


/* ページ分割 */
#post_pagination { margin:40px 0 50px; padding:0; clear:both; font-size:0; text-align:center; }
#post_pagination a, #post_pagination p { border-radius:5px; margin:0 7px 0 0; font-family:"Arial"; background:#fff; border:1px solid #ddd; color:#000 !important; font-size:14px; width:50px; height:50px; line-height:50px; display:inline-block; text-align:center; text-decoration:none; }
#post_pagination p { color:#fff !important; background:var(--main_color); border-color:var(--main_color); }
@media(hover: hover) {
  #post_pagination a:hover { background:var(--main_color); border-color:var(--main_color); color:#fff !important; }
}


/* メタ情報 */
#post_tag_list { display:flex; flex-wrap:wrap; margin:50px 0 -5px; }
#post_tag_list a { background:#f6f6f6; display:inline-block; height:35px; line-height:35px; padding:0 15px; margin:0 5px 5px 0; border-radius:4px; font-size:14px; }
@media(hover: hover) {
  #post_tag_list a:hover { background:var(--main_color); color:#fff !important; }
}


/* バナー */
#blog_free_space { margin-top:50px; }
#featured_plan { padding:60px; }
#featured_plan h3 { font-size:24px; margin:0 0 20px 0; }


/* プロフィール */
.author_profile { background:#f5f5f5; margin:50px 0 0; position:relative; padding:35px 40px; display:flex; flex-wrap:wrap; justify-content:center; align-items:center; border-radius:10px; }
body.image_shape_type2 .author_profile { border-radius:0; }
.author_profile .avatar_area { display:block; width:120px; height:120px; border-radius:100%; position:relative; }
.author_profile .image_wrap { display:block; width:120px; height:120px; border-radius:100%; position:relative; overflow:hidden; z-index:2; }
.author_profile .image_wrap img { display:block; width:100%; height:100% !important; z-index:2; object-fit:cover; position:absolute; top:0; left:0; }
.author_profile .info { height:100%; width:calc(100% - 120px); position:relative; }
.author_profile .info_inner { padding:0 0 0 40px; }
.author_profile .name { font-size:18px; margin:0 0 5px 0; font-weight:600; line-height:1.4; }
.author_profile .desc { line-height:2; margin:0; font-size:14px; max-height:4em; overflow:hidden; visibility:visible; }
.author_profile .desc span { display:-webkit-inline-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.author_profile .desc a { color:var(--content_link_color); }
@media(hover: hover) {
  .author_profile .name a:hover { color:rgba(0,0,0,0.5); }
  .author_profile .desc a:hover { text-decoration:underline; }
}
.author_profile .sns_button_list { text-align:left; margin-top:10px; }


/* ナビゲーション */
#next_prev_post2 { margin:50px 0 0 ; position:relative; display:flex; flex-wrap:wrap; }
#next_prev_post2 .item { border:1px solid #ddd; height:120px; width:50%; position:relative; display:flex; flex-wrap:wrap; align-items:center; }
#next_prev_post2 .item:nth-of-type(2) { margin-left:-1px; justify-content:flex-end; }
#next_prev_post2 .item:before { font-family:'normal_icon'; font-size:16px; position:absolute; top:calc(50% + 2px); transform: translateY(-50%); color:#000; -webkit-font-smoothing: antialiased; transition: color 0.25s ease !important; }
#next_prev_post2 .prev_post:before { content:'\e90f'; left:25px; }
#next_prev_post2 .next_post:before { content:'\e910'; right:25px; }
#next_prev_post2 .item.next_post:nth-of-type(1) { margin-left:50%; justify-content:flex-end; }
#next_prev_post2 .title {
  position:relative; font-weight:500; margin-top:2px;
  font-size:16px; line-height:1.6; max-height:3.2em; overflow:hidden; visibility:visible;
  word-wrap:break-word; word-break:break-all;
}
#next_prev_post2 .prev_post .title { padding:0 30px 0 70px; }
#next_prev_post2 .next_post .title { padding:0 70px 0 30px; }
#next_prev_post2 .title span { display:-webkit-inline-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
#next_prev_post2 .nav { display:none; }
@media(hover: hover) {
  #next_prev_post2 a:hover { color:rgba(0,0,0,0.6) !important; }
	#next_prev_post2 a:hover:before { color:rgba(0,0,0,0.6) !important; }
}


/* 関連記事 */
#single_related_post { margin-top:70px; position:relative; }
#single_related_post .headline { text-align:center; line-height:1; font-size:24px; font-family:var(--headline_font_type); font-weight:500; margin:0 0 50px 0; }
#single_related_post .link_button {text-align:center; margin-top:0px; }
#related_post_carousel { text-align:center; }
#single_related_post .blog_list { display:inline-flex !important; width:auto !important; }
#single_related_post .blog_list .title { font-size:16px; max-height:5.4em; font-weight:500; text-align:left; }
#single_related_post .blog_list .title span { -webkit-line-clamp:3; }
#related_post_carousel_wrap { position:relative; }
#related_post_carousel .blog_list .item:last-of-type { margin-right:0 !important; }
#single_related_post .swiper-button-prev { left:-60px; top:100px; }
#single_related_post .swiper-button-next { right:-60px; top:100px; }
body.single:not(:has(#side_col)) #single_related_post .swiper-button-prev { top:150px; }
body.single:not(:has(#side_col)) #single_related_post .swiper-button-next { top:150px; }


/* 広告 */
#single_banner_top { margin:0 auto 50px; }
#single_banner_bottom { margin:50px auto 0px; }
#single_banner_shortcode { margin:15px auto 45px; }
#single_free_space { margin:80px auto 0; }
body.single-news #single_free_space { margin-top:50px; }
img.single_banner_image { max-width:100%; height:auto; display:block; margin:0 auto; }
.single_banner { line-height:2.6; }
.single_banner img { max-width:100%; height:auto; }
.single_banner a img { -webkit-transition: filter 0.3s ease; transition: filter 0.3s ease; }
@media(hover: hover) {
  .single_banner a:hover img { filter: brightness(80%); }
}


/* 添付画像 */
body.attachment #page_contents { padding-top:120px; }
@media screen and (max-width:800px) {
  body.attachment #page_contents { padding-top:40px; }
}



/* ----------------------------------------------------------------------
　ページ上部　ヘッダー
---------------------------------------------------------------------- */
#header { z-index:100; position:sticky; top:0px; left:0px; width:100%; height:120px; background:#fff; display:flex; }
body.no_fixed_header #header { position:relative; }
body.header_sticky_active #header { box-shadow:0 0 10px 1px rgba(0,0,0,0.2); }
body.no_fixed_header.header_sticky_active #header { box-shadow:none; }
body.admin-bar #header { top:32px; }
@media screen and (max-width: 1300px) {
  body.admin-bar #header { top:32px; }
}
@media screen and (max-width: 782px) {
  body.admin-bar #header { top:46px; }
}


/* ロゴ */
#header_logo { height:100%; padding:0 40px; display:inline-flex; flex-wrap:wrap; justify-content:center; align-items:center; z-index:10; flex: 0 1 auto; position:relative; }
#header_logo picture { display:flex; flex-wrap:wrap; align-items:center; margin:0; height:100%; }
#header_logo img { display:block; max-height:calc(100% - 20px); width:auto; }
#header_logo a { height:100%; display:flex; transition: opacity 0.25s ease; align-items: center;}
@media(hover: hover) {
  #header_logo a:hover { opacity:0.5; }
}
#header_logo a .logo_text { font-weight:500; line-height:1.2; width:100%; text-align:center; }
#header_logo img.mobile { display:none; }


/* 検索フォーム */
#header_search { height:120px; width:70px; z-index:4; position:relative; flex: 0 0 auto; margin:0 0 0 20px; }
#header_search form  { position:relative; height:100%; }
#header_search .input_area { position:absolute; top:0px; right:70px; width:340px; padding-left:40px; height:100%; background:#fff; opacity:0; pointer-events:none; transition: opacity 0.5s ease; }
#header_search.active .input_area, #header_search:hover .input_area { opacity:1; pointer-events:auto; }
#header_search .input_area input { border:1px solid #ddd; height:50px; width:100%; padding:0 25px; background:#fff; border-radius:50px; top:35px; right:5px; position:relative; }
#header_search .search_button { position:absolute; right:0px; top:0px; }
#header_search .search_button input { display:block; width:70px; height:120px; cursor:pointer; background:none; border:none; }
#header_search .search_button:before {
  display:block; font-family:'normal_icon'; color:#000; font-size:16px; content:'\e94c'; pointer-events:none; font-weight:500;
  left:15px; top:50%; transform: translate(0%, -50%); position:absolute; transition: color 0.2s ease;
}
#header_search .search_button:hover:before { color:rgba(0,0,0,0.6) !important; }


/* 電話番号 */
#header_tel { height:120px; z-index:4; position:relative; flex: 0 0 auto; margin:0 40px 0 0; display:flex; flex-direction:column; justify-content:center; }
#header_tel .tel { position:relative; font-size:24px; color:var(--main_color); }
#header_tel .tel:before { content:'\e919'; font-family:normal_icon; font-size:24px; position:relative; top:2px; left:0; margin:0 5px 0 -5px; }
#header_tel .desc { font-size:14px; margin:10px 0 -5px 0; line-height:1.5em; text-align:center; }
#header_tel .desc a { color:var(--content_link_color); }
@media(hover: hover) {
  #header_tel .desc a:hover { text-decoration:underline; }
}


/* グローバルメニュー */
#global_menu { height:120px; z-index:4; margin-left:auto; }
#header:not(:has(#header_search)) #global_menu { margin-right:40px; }
#global_menu:hover {  }
#global_menu > ul { position:relative; display:inline-flex; flex-wrap:nowrap; }
#global_menu > ul > li {  position:relative; line-height:1; text-align:center; font-size:16px; margin:0 0 0 40px; }
#global_menu > ul > li > a { color:#000; text-decoration:none; height:120px; line-height:120px; display:block; position:relative; }
#global_menu > ul > li > ul {
	box-shadow:0 0 10px 0 rgba(0,0,0,0.2); border-radius:7px; background:#fff; display:block; width:240px; transition: transform 0.5s ease, opacity 0.5s ease;
	position:absolute; top:0; left:-30px; transform: translate3d(0,110px,0); opacity:0; pointer-events:none; margin:0; padding:10px 0; z-index:100;
}
#global_menu > ul > li:nth-last-child(1) > ul, body.menu_layout_type2 #global_menu > ul > li:nth-last-child(2) > ul, body.menu_layout_type2 #global_menu > ul > li:nth-last-child(3) > ul { left:auto; right:-30px; }
body:not(.header_sticky_active) #global_menu > ul > li > ul { top:auto; bottom:0; transform: translate3d(0,-112px,0); }
body.menu_dark_color #global_menu > ul > li > ul { background:var(--main_color); }
#global_menu > ul > li.active > ul { transform: translate3d(0,92px,0); opacity:1; pointer-events:auto; }
body:not(.header_sticky_active) #global_menu > ul > li.active > ul { transform: translate3d(0,-92px,0); }
#global_menu ul ul ul { display:block; }
#global_menu ul ul li { line-height:1.5; font-size:14px; padding:0; margin:0; text-align:left; position:relative; display:block; }
#global_menu ul ul a { color:#000; display:block; position:relative; padding:12px 30px 10px; height:auto; line-height:1.6; margin:0; }
body.menu_dark_color #global_menu ul ul a { color:#fff; }
#global_menu ul ul ul a { padding-left:calc(1em + 30px); }
#global_menu ul ul ul ul a { padding-left:calc(2em + 30px); }
#global_menu ul ul ul ul ul a { padding-left:calc(3em + 30px); }
#global_menu ul ul a:after { content:"\e910"; font-family:normal_icon; display:block; position:absolute; right:15px; top:calc(50% + 2px); transform: translate3d(-10px,-50%,0); font-size:14px; color:var(--main_color); opacity:0; transition: opacity 0.25s ease, transform 0.25s ease; }
body.menu_dark_color #global_menu ul ul a:after { color:#fff; }
#global_menu > ul > li.current-menu-parent > a, #global_menu ul li.current-menu-item > a, #global_menu > ul > li.active > a { color:var(--main_color); }
@media(hover: hover) {
  #global_menu ul a:hover { color:var(--main_color); }
	#global_menu ul ul a:hover:after { opacity:1; transform:translate3d(0px,-50%,0); }
}

body.menu_layout_type2 #global_menu > ul > li > ul { display:flex; flex-wrap:wrap; width:380px; }
body.menu_layout_type2 #global_menu > ul > li > ul > li { width:50%; font-size:14px; }
body.menu_layout_type2 #global_menu > ul > li > ul > li.header_menu { width:100%; font-size:16px; border-bottom:1px solid #ddd; }
body.menu_layout_type2 #global_menu > ul > li > ul > li.header_menu { padding-bottom:7px; margin-bottom:10px; }
body.menu_dark_color.menu_layout_type2 #global_menu > ul > li > ul > li.header_menu { border-color:rgba(255,255,255,0.4); }


/* ドロワーメニュー */
#drawer_menu {
  display:none; position:fixed; top:0px; right:0; width:400px; height:100vh; height:100dvh; overflow:auto; z-index:99999; background:var(--main_color); padding-bottom:30px;
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1); -webkit-overflow-scrolling: touch; pointer-events:none; transform: translate3d(100%,0,0);
}
#drawer_menu_button { display:none; }
#drawer_menu_overlay { opacity:0; pointer-events:none; content:''; width:100%; height:100%; background:rgba(0,0,0,0.6); display:block; position:fixed; top:0; left:0; z-index:9999; transition: opacity 0.5s ease; }


/* ヘッダーメッセージ */
#header_message {
	position:relative; z-index:20; width:100%; 
	display:flex; flex-wrap:wrap; justify-content:center; align-items:center;
  min-height:50px; text-align: center; font-size:14px; font-weight:600; padding:15px 20px;
}
body.hide_page_header_bar #header_message { width:100%; margin-left:0; }
#header_message .label { display:block; color:inherit; line-height:1.4; padding:0 20px; }
@media(hover: hover) {
  #header_message a.label:hover { text-decoration: underline; }
}


/* サイドボタン */
#side_icon_button { position:fixed; right:0; top:50%; transform: translate3d(calc(100% + 10px),-50%,0); z-index:100; transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1); }
body.start_scroll #side_icon_button { transform: translate3d(0,-50%,0); }
body.start_scroll.hide_side_icon_button #side_icon_button { transform: translate3d(calc(100% + 10px),-50%,0); }
body.home.start_scroll #side_icon_button { transform: translate3d(calc(100% + 10px),-50%,0); }
body.home.start_scroll.show_side_icon_button #side_icon_button { transform: translate3d(0,-50%,0); }
body.home.start_scroll.show_side_icon_button.hide_side_icon_button #side_icon_button { transform: translate3d(calc(100% + 10px),-50%,0); }
#side_icon_button.position_fix { transform: translate3d(0,-50%,0) !important; }
body.hide_side_icon_button #side_icon_button { transform: translate3d(calc(100% + 10px),-50%,0) !important; }
body.hide_side_icon_button #side_icon_button.position_fix { transform: translate3d(0,-50%,0) !important; }
#side_icon_button a { display:block; width:80px; height:80px; background:000; color:#fff; display:flex; flex-direction:column; justify-content:center; text-align:center; }
#side_icon_button a:last-of-type { border-bottom:none; }
#side_icon_button .label { font-size:12px; line-height:1.4; padding:0 15px; }
#side_icon_button .icon { font-family: 'normal_icon'; font-size:22px; margin:0 0 5px 0; font-weight:100; }
#side_icon_button .icon.icon_type_sns { font-family:"sns_icon"; font-size:18px; font-weight:400; }
#side_icon_button .icon.Bed { font-size:25px; }
#side_icon_button .icon.Bar { font-size:25px; }
#side_icon_button .icon.HotSpring { font-size:23px; }
#side_icon_button .icon.User { font-size:24px; }
#side_icon_button .icon.Bookmark { font-size:22px; }
#side_icon_button .icon.Twitter { font-size:16px; }
#side_icon_button .icon.Facebook { font-size:21px; }
#side_icon_button .icon.LINE { font-size:20px; }
#side_icon_button .icon.no_icon { display:none; }




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


/* フッターバナー */
#footer_banner { display:flex; flex-wrap:nowrap; width:100%; }
#footer_banner .item { flex: 1 1 0%; }
#footer_banner .image_wrap { width:calc(100% + 1px); height:auto; position:relative; overflow:hidden; z-index:2; aspect-ratio:480 / 160; }
#footer_banner:has(.item:nth-child(4)) .image_wrap { min-height:160px; max-width:calc(100vw / 4); }
#footer_banner .image_wrap img { width:100%; height:100%; position:absolute; top:0; left:0; object-fit:cover; }
#footer_banner .overlay { width:100%; height:100%; position:absolute; top:0; left:0; z-index:3; }
#footer_banner .title { font-size:16px; padding:0 20px; line-height:1.5; display:flex; flex-wrap:wrap; justify-content:center; align-items:center; text-align:center; height:70px; border-right:1px solid #ddd; }
#footer_banner .item:last-of-type .title { border-right:none; }


/* 住所 */
#footer_info_area { background:var(--main_color); color:#fff; padding:60px 0 50px; }
#footer_info_area_inner { width:960px; margin:0 auto; display:flex; flex-wrap:wrap; }
#footer_info_area_inner > .post_content { flex: 1 1 0%; font-size:16px; }
#footer_info_area_inner > .post_content:first-of-type { padding-right:35px; }
#footer_info_area_inner > .post_content:last-of-type { padding-left:35px; }
#footer_info_area a { color:#fff !important; text-decoration:underline; }
@media(hover: hover) {
  #footer_info_area a:hover { color:rgba(255,255,255,0.5) !important; }
}
#footer_info .tel { position:relative; font-size:24px; }
#footer_info .tel:before { content:'\e919'; font-family:normal_icon; font-size:24px; position:relative; top:2px; left:0; margin:0 5px 0 -5px; }


/* 営業時間 */
.post_content .sc_schedule { margin-bottom:1em; }
.post_content .sc_schedule table { table-layout:fixed !important; }
.post_content .sc_schedule td { background:none !important; border:none !important; border-bottom:1px solid #ddd !important; padding:20px 0 !important; text-align:center; font-size:14px; line-height:1.5 !important; }
.post_content .sc_schedule td.col1 { width:105px !important; }
.post_content .sc_schedule tr:first-child td { padding-top:10px !important; }
.post_content .sc_schedule tr:last-child td { border-bottom:none !important; padding-bottom:0 !important; }
.post_content .sc_schedule { font-size:16px; }
#footer .sc_schedule td { border-color:rgba(255,255,255,0.6) !important; }


/* メニュー */
#footer_menu { width:960px; margin:0 auto; display:flex; flex-wrap:wrap; padding:65px 0; }
#footer_menu nav { flex: 1 1 0%; }
#footer_menu li { margin-bottom:25px; line-height:1.5; font-size:14px; }
#footer_menu li:last-of-type { margin-bottom:0; }
#footer_menu li a { display:block; }
@media(hover: hover) {
	#footer_nav li a:hover { color:rgba(255,255,255,0.5); }
}


/* SNS */
#footer_bottom { position:relative; border-top:1px solid #ddd; height:70px; }
#footer_sns { position:absolute; left:40px; top:calc(50% + 5px); transform: translateY(-50%); }


/* コピーライト */
#copyright { line-height:1.5; top:50%; transform: translateY(-50%); position:relative; font-size:14px; text-align:center; }
#lp_copyright { line-height:1; height:70px; line-height:70px; top:auto; transform:none; border-top:1px solid #ddd; text-align:center; }


/* 上部へ戻る*/
#return_top {
	border-radius:100%; background:#fff; border:1px solid #ddd; display:block; height:65px; width:65px; text-decoration:none; z-index:100; position:relative;
  position:fixed; right:40px; bottom:0px; z-index:999; transform: translate3d(0,100%,0); transition: all 0.35s;
}
#return_top.active { transform: translate3d(0,0,0); bottom:40px; }
#return_top span { display:none; }
#return_top:before {
  color:#000; font-family:'normal_icon'; content:'\e911'; font-size:16px; display:block; width:16px;
  position:absolute; top:25px; left:24px;
}
@media(hover: hover) {
  #return_top:hover:before { color:#999; }
}


/* フッターバー */
.p-footer-bar { display:none; }



/* SNSボタン（全箇所共通） */
.sns_button_list { z-index:20; display:flex; flex-wrap:wrap; margin-bottom:-5px; }
.sns_button_list li { font-size:12px; margin:0 15px 5px 0; position:relative; }
.sns_button_list li:last-of-type { margin-right:0; }
.sns_button_list li a {
	display:block; text-align:center; position:relative; overflow:hidden;
  width:18px; height:18px;
}
.sns_button_list li a span { display:none; }
.sns_button_list li a:before {
  font-family:'sns_icon','normal_icon'; font-size:16px; display:block;
  position:absolute; left:50%; top:50%; transform: translate(-50%, -50%);
  transition: opacity 0.3s ease; -webkit-font-smoothing: antialiased;
}
.sns_button_list.color_type1 li a:before { color:#000; }
@media(hover: hover) {
  .sns_button_list li a:hover:before { opacity:0.5; }
}
.sns_button_list li.line a:before { content:'\e909'; font-size:18px; }
.sns_button_list li.twitter a:before { content:'\e950'; font-size:15px; }
.sns_button_list li.facebook a:before { content:'\e944'; font-size:18px; }
.sns_button_list li.insta a:before { content:'\ea92'; font-size:15px; }
.sns_button_list li.pinterest a:before { content:'\e905'; font-size:18px; }
.sns_button_list li.youtube a { width:19px;}
.sns_button_list li.youtube a:before { content:'\ea9d'; font-size:18px; }
.sns_button_list li.tiktok a:before { content:'\e94d'; }
.sns_button_list li.contact a:before { content:'\e900'; font-size:20px; }
.sns_button_list li.rss a:before { content:'\e90b'; font-size:14px; margin-left:1px; }
.sns_button_list li.user_url a:before { content:'\e942'; margin-left:0.7px; }
.sns_button_list li.note a { width:18px;}
.sns_button_list li.note a:before {
  content: '';
  display: inline-block;
  width: 1em;
  height: 1em;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 100 100'%3E%3Cpath d='M10 10.4968C25.408 10.4968 46.504 9.70479 61.648 10.1208C81.952 10.6408 89.624 19.5048 89.888 41.3448C90.152 53.7208 89.888 89.1048 89.888 89.1048H67.896C67.896 58.1368 68.008 53.0168 67.896 43.2568C67.632 34.6568 65.2 30.5768 58.584 29.7928C51.592 29.0088 31.992 29.6808 31.992 29.6808V89.1448H10V10.4968Z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center; top:50%;
}
.sns_button_list.color_type2 li { margin:0 15px 5px 0; }
.sns_button_list.color_type2 li:last-of-type { margin-right:0; }
.sns_button_list.color_type2 li a { width:25px; height:25px; }
.sns_button_list.color_type2 li a:before { font-size:24px; }
.sns_button_list.color_type2 li.line a:before { color:#00B900; }
.sns_button_list.color_type2 li.twitter a:before { color:#000; font-size:19px; }
.sns_button_list.color_type2 li.facebook a:before { color:#1877f2; font-size:26px; }
.sns_button_list.color_type2 li.insta a:before { color:#e4405f; font-size:23px; }
.sns_button_list.color_type2 li.pinterest a:before { color:#bd081c; font-size:24px; }
.sns_button_list.color_type2 li.youtube a:before { color:#f00; }
.sns_button_list.color_type2 li.tiktok a:before { color:#000; font-size:20px; }
.sns_button_list.color_type2 li.contact a:before { color:#00729f; }
.sns_button_list.color_type2 li.rss a:before { color:orange; font-size:19px; }
.sns_button_list.color_type2 li.user_url a:before { color:#00729f; }


/* フッターバー */
#dp-footer-bar {
  position:fixed; right:0px; bottom:0px; z-index:999; width:100%;
}
.open_menu #dp-footer-bar { display:none; }
.dp-footer-bar-type1 #dp-footer-bar {
  opacity:0;
	-webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
  transition: opacity 0.35s, transform 0.35s;
}
.dp-footer-bar-type1 #dp-footer-bar.active {
  opacity:1;
}
.dp-footer-bar-type2 #dp-footer-bar {
  -webkit-transform: translate3d(0,100%,0); transform: translate3d(0,100%,0);
  -webkit-transition: -webkit-transform 0.35s; transition: transform 0.35s;
}
.dp-footer-bar-type2 #dp-footer-bar.active {
  -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0);
}


/* フッターバー　アイコン無しタイプ */
#dp-footer-bar {
  height:50px;
  display:-webkit-box; display:-webkit-flex; display:flex;
  -webkit-flex-wrap:wrap; flex-wrap:wrap;
}
#dp-footer-bar a {
  height:50px; line-height:50px; display:block; text-align:center; font-size:12px; padding:0 20px; text-decoration:none !important;
  -webkit-flex: 1 1 0%; flex: 1 1 0%;
}




/* ----------------------------------------------------------------------
 ウィジェット
---------------------------------------------------------------------- */
/* 基本設定 */
.widget_content { margin:0 0 40px 0; position:relative; font-size:14px; }
.widget_content:last-of-type { margin-bottom:0; }
.widget_content ul { margin:0; }
.widget_content li { line-height:2; padding:2px 0; margin:0 0 10px 0; }
.widget_content a { text-decoration:none; }
.widget_content img { height:auto; max-width:100%; }
.widget_headline { color:var(--main_color); font-weight:600; font-size:16px; line-height:1.5; margin:0 0 15px 0; position:relative; padding:0 10px; }


/* タブ記事 */
.tab_post_list_widget { position:relative; background:#fff; }
.widget_tab_post_list_button { position:relative; z-index:10; display:flex; flex-wrap:wrap; }
.widget_tab_post_list_button div {
  font-size:14px; height:60px; line-height:60px; flex: 1 1 0%; text-align:center; cursor:pointer; border:1px solid #ddd; font-weight:600;
	overflow:hidden; white-space:nowrap; text-overflow:ellipsis; visibility:visible;
  display:block; position:relative; transition: all 0.25s ease;
}
.widget_tab_post_list_button div.active { pointer-events:none; border-bottom:1px solid #fff; }
@media(hover: hover) {
	.widget_tab_post_list_button div:hover { color:#aaa; }
}
.widget_tab_post_list_button div:last-of-type { border-left:none; }
.widget_tab_post_list { opacity:0; pointer-events:none; position:absolute; top:60px; left:0; width:100%; border:1px solid #ddd; border-top:none; }
.widget_tab_post_list.active { opacity:1; pointer-events:initial; position:relative; top:0; left:0px; width:auto; z-index:10; }
.widget_tab_post_list li { margin:0; padding:0; border-bottom:1px solid #ddd; line-height:1; }
.widget_tab_post_list li:last-of-type { border-bottom:none; }
.widget_tab_post_list a { padding:20px; display:flex; flex-wrap:wrap; height:120px; }
.widget_tab_post_list a:not(:has(img)) { height:auto; }
.widget_tab_post_list .image_wrap { display:block; width:80px; height:80px; border-radius:5px; position:relative; z-index:1; overflow:hidden; }
.widget_tab_post_list .image_wrap .image { object-fit:cover; width:100%; height:100%; position:absolute; top:0; left:0; }
.widget_tab_post_list .title_area { width:calc(100% - 80px); padding:0 0 0 20px; display:flex; flex-wrap:wrap; align-items:center; }
.widget_tab_post_list .title { font-size:14px; line-height:1.6; max-height:4.8em; word-break:break-all; overflow:hidden; }
.widget_tab_post_list .title span { display:-webkit-inline-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
.widget_tab_post_list li.no_post { padding:20px !important; font-size:14px; line-height:2; }
.widget_tab_post_list.no_image a { display:block; }
.widget_tab_post_list.no_image .title_area { width:auto; display:block; height:auto; padding:0; }
.no_tab + .widget_tab_post_list { border:none !important; }
.no_tab + .widget_tab_post_list li { padding:0; border:none; }
.no_tab + .widget_tab_post_list .title_area { border-bottom:1px solid #ddd; border-right:1px solid #ddd; padding:0 20px; }
.no_tab + .widget_tab_post_list li:first-of-type .title_area { border-top:1px solid #ddd; }
@media(hover: hover) {
  .widget_tab_post_list a:hover { color:rgba(0,0,0,0.6) !important; }
}
body.image_shape_type2 .widget_tab_post_list .image_wrap { border-radius:0; }


/* お知らせスライダー */
.news_slider_widget { position:relative; box-shadow:inset 0 0 0 1px #ddd; border-radius:10px; overflow:hidden; }
.widget_news_carousel { position:relative; }
.news_slider_widget a { display:block; }
.news_slider_widget .image_wrap { margin:0; display:block; width:100%; height:100%; position:relative; z-index:1; overflow:hidden; aspect-ratio:250 / 160; }
.news_slider_widget .image { object-fit:cover; width:100%; height:100% !important; display:block; overflow:hidden; position:absolute; top:0; left:0; z-index:2; }
.news_slider_widget .content { padding:20px; }
.news_slider_widget .content:not(:has(img)) { padding:15px 20px; }
.news_slider_widget .title { font-size:14px; line-height:1.6; max-height:3.2em; overflow:hidden; visibility:visible; font-weight:500; }
.news_slider_widget .title span { display:-webkit-inline-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.news_slider_widget .swiper-pagination { position:relative; top:0; margin:7px 0 10px 0;  }
.news_slider_widget .swiper-pagination span { margin:0 4px !important; }
body.image_shape_type2 .news_slider_widget { border-radius:0; }


/* サービススライダー */
.service_slider_widget { position:relative; box-shadow:inset 0 0 0 1px #ddd; border-radius:10px; overflow:hidden; }
.widget_news_carousel { position:relative; }
.service_slider_widget a { display:block; }
.service_slider_widget .image_wrap { margin:0; display:block; width:100%; height:100%; position:relative; z-index:1; overflow:hidden; aspect-ratio:250 / 160; }
.service_slider_widget .image { object-fit:cover; width:100%; height:100% !important; display:block; overflow:hidden; position:absolute; top:0; left:0; z-index:2; }
.service_slider_widget .content { padding:15px 20px; display:flex; flex-wrap:wrap; justify-content:center; transition: color 0.25s ease; }
.service_slider_widget .title { font-size:14px; line-height:1.6; max-height:3.2em; overflow:hidden; visibility:visible; font-weight:500; }
.service_slider_widget .title span { display:-webkit-inline-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.service_slider_widget .swiper-pagination { position:relative; top:0; margin:0 0 20px 0;  }
.service_slider_widget .swiper-pagination span { margin:0 4px !important; }
body.image_shape_type2 .service_slider_widget { border-radius:0; }


/* バナー */
.widget_banner a { display:block; color:#000 !important; text-decoration:none !important; background:#fff; }
.widget_banner .image_wrap { width:100%; height:auto; aspect-ratio:250 / 140; position:relative; z-index:1; overflow:hidden; border-radius:10px; margin-bottom:10px; }
.widget_banner .image_wrap img { object-fit:cover; width:100%; height:100% !important; display:block; overflow:hidden; position:absolute; top:0; left:0; z-index:2; }
.widget_banner .title { display:block; text-align:center; }
@media(hover: hover) {
  .widget_banner a:hover { color:#999 !important; }
}
body.image_shape_type2 .widget_banner .image_wrap { border-radius:0; }


/* 検索 */
.widget_search label { display:none; }
#searchform { background:#fff; height:60px; border:1px solid #ddd; }
#searchform #s { border:none; background:none; padding:0 20px; margin:0; width:calc(100% - 50px); height:60px; }
#searchform #searchsubmit {
  border:none; background:none; width:50px; height:60px; z-index:200; position:relative;
  cursor:pointer; display:block; text-indent:-300px; overflow:hidden;
}
#searchform .submit_button  { position:relative; width:50px; height:60px; float:right; top:0px; }
#searchform .submit_button:before {
  text-indent:0; display:block; width:50px; height:60px; line-height:60px; text-align:center; cursor:pointer; z-index:1;
  position:absolute; font-family:'normal_icon'; color:#333; font-size:16px; content:'\e94c'; right:2px; top:1px; font-weight:600;
	transition: color 0.2s ease; -webkit-font-smoothing: antialiased;
}
@media(hover: hover) {
  #searchform .submit_button:hover:before { color:rgba(0,0,0,0.5) !important; }
}


/* デフォルトのタグ一覧 */
.widget_tag_cloud .tagcloud {
	margin:0 0 -6px 0; padding:0; position:relative;
  display:-webkit-box; display:-webkit-flex; display:flex;
  -webkit-flex-wrap:wrap; flex-wrap:wrap;
}
.widget_tag_cloud .tagcloud a { margin:0 6px 6px 0; font-size:14px !important; display:block; background:#f6f6f6; padding:0px 20px; border-radius:4px; height:36px; line-height:36px; }
@media(hover: hover) {
  .widget_tag_cloud .tagcloud a:hover { background:var(--main_color) !important; color:#fff !important; }
}


/* デフォルトの最近の記事 */
.widget_recent_entries li { padding:15px 20px; margin:0; border:1px solid #ddd; border-bottom:none; display:flex; flex-direction:column; }
.widget_recent_entries li:last-of-type { border-bottom:1px solid #ddd; }
.widget_recent_entries li a { display:block; font-size:14px; line-height:1.8; width:100%; order:2; }
.widget_recent_entries li a br { display:none; }
.widget_recent_entries .post-date { position:relative; color:#999; font-size:14px; margin:-5px 0 5px 0; display:block; width:100%; order:1; padding-left:20px; }
.widget_recent_entries .post-date:before { font-family:'normal_icon'; content:'\e903'; font-size:18px; position:absolute; top:calc(50%); transform: translateY(-50%); left:0; -webkit-font-smoothing: antialiased; }
body.mobile_device .widget_recent_entries .post-date:before { margin-top:1px; }


/* デフォルトのカテゴリー */
.widget_categories ul:first-of-type { position:relative; border-top:1px solid #ddd; }
.widget_categories ul:first-of-type ul { border:none; }
.widget_categories li { margin:0; padding:0; position:relative; }
.widget_categories li a { display:block; background:#fff; border-bottom:1px solid #ddd; padding:0 10px; overflow:hidden; position:relative; width:100%; height:60px; line-height:60px; }
.widget_categories li li a { padding-left:calc(10px + 1em); }
.widget_categories li li li a { padding-left:calc(10px + 2em); }
.widget_categories li .title { display:block; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; visibility:visible; }
.widget_categories li .post-count { background:#f2f2f2; width:40px; height:40px; line-height:40px; border-radius:100%; text-align:center; font-size:12px; position:absolute; right:10px; top:11px; pointer-events:none; }
@media(hover: hover) {
  .widget_categories li a:hover { color:rgba(0,0,0,0.6) !important; }
}


/* デフォルトのアーカイブ */
.widget_archive ul:first-of-type { position:relative; border-top:1px solid #ddd; }
.widget_archive ul:first-of-type ul { border:none; }
.widget_archive li { margin:0; padding:0; position:relative; }
.widget_archive li a { display:block; background:#fff; border-bottom:1px solid #ddd; padding:0 10px; overflow:hidden; position:relative; width:100%; height:60px; line-height:60px; }
.widget_archive li li a { padding-left:calc(10px + 1em); }
.widget_archive li li li a { padding-left:calc(10px + 2em); }
.widget_archive li .post-count { background:#f2f2f2; width:40px; height:40px; line-height:40px; border-radius:100%; text-align:center; font-size:12px; position:absolute; right:10px; top:11px; }
@media(hover: hover) {
  .widget_archive li a:hover { color:rgba(0,0,0,0.6) !important; }
}


/* デフォルトの固定ページ */
.widget_pages ul:first-of-type { position:relative; border-top:1px solid #ddd; }
.widget_pages ul:first-of-type ul { border:none; }
.widget_pages li { margin:0; padding:0; position:relative; }
.widget_pages li a { display:block; background:#fff; border-bottom:1px solid #ddd; padding:0 10px; overflow:hidden; position:relative; width:100%; height:60px; line-height:60px; }
.widget_pages li li a { padding-left:calc(10px + 1em); }
.widget_pages li li li a { padding-left:calc(10px + 2em); }
@media(hover: hover) {
  .widget_pages li a:hover { color:rgba(0,0,0,0.6) !important; }
}


/* デフォルトのナビ　*/
.widget_nav_menu ul:first-of-type { position:relative; border-top:1px solid #ddd; }
.widget_nav_menu ul:first-of-type ul { border:none; }
.widget_nav_menu li { margin:0; padding:0; position:relative; }
.widget_nav_menu li a { display:block; background:#fff; border-bottom:1px solid #ddd; padding:0 10px; overflow:hidden; position:relative; width:100%; height:60px; line-height:60px; }
.widget_nav_menu li li a { padding-left:calc(10px + 1em); }
.widget_nav_menu li li li a { padding-left:calc(10px + 2em); }
@media(hover: hover) {
  .widget_nav_menu li a:hover { color:rgba(0,0,0,0.6) !important; }
}


/* デフォルトのメタウィジェット */
.widget_meta ul:first-of-type { position:relative; border-bottom:1px solid #ddd; }
.widget_meta ul:first-of-type ul { border:none; }
.widget_meta li { margin:0; padding:0; position:relative; }
.widget_meta li a { display:block; background:#fff; border:1px solid #ddd; border-bottom:none; padding:0 30px; overflow:hidden; position:relative; width:100%; height:60px; line-height:60px; }
.widget_meta li li a { padding-left:calc(30px + 1em); }
.widget_meta li li li a { padding-left:calc(30px + 2em); }
@media(hover: hover) {
  .widget_meta li a:hover { color:rgba(0,0,0,0.6) !important; }
}


/* デフォルトのコメントウィジェット */
.widget_recent_comments li { font-size:14px; line-height:1.8; border:1px solid #ddd; border-bottom:none; margin:0; padding:15px 20px; }
.widget_recent_comments li:last-of-type { margin-bottom:0; border-bottom:1px solid #ddd; }
.widget_recent_comments li > a { display:block; }
.widget_recent_comments .comment-author-link a { color:#999; }
.widget_recent_comments .comment-author-link a:hover { color:#ccc; }
.widget_recent_comments li br { display:none; }


/* デフォルトのブロック */
.widget_block { font-size:16px; line-height:2.6; }
.widget_block .wp-block-archives-list li a, .widget_block .wp-block-categories-list li a { color:#000 !important; }
#footer .widget_block a { text-decoration:underline; }
@media(hover: hover) {
  .widget_block a:hover { text-decoration:underline; }
  .widget_block .wp-block-archives-list li a:hover, .widget_block .wp-block-categories-list li a:hover { color:rgba(0,0,0,0.6) !important; text-decoration:none; }
}


/* デフォルトのテキストウィジェット */
.widget_text .textwidget { font-size:14px; line-height:2.6; }
#footer .widget_text .textwidget a { text-decoration:underline; }
@media(hover: hover) {
  .widget_text .textwidget a:hover { text-decoration:underline; }
}


/* デフォルトのアーカイブとカテゴリー　ドロップダウンメニュー */
.widget_archive form, .widget_categories form { position:relative; }
.widget_archive select, .widget_categories select {
	border:1px solid #ddd; background:#fff;  width:100%; height:60px; padding:0 20px; font-size:14px; cursor:pointer;
  -webkit-appearance:none; appearance:none;
}
.widget_archive .screen-reader-text, .widget_categories .screen-reader-text  {
	display:block; clip:auto; clip-path:none; pointer-events:none;
	height:60px; width:50px; margin:0;
	position:absolute; right:5px; text-indent:-300px;
}
.widget_archive .screen-reader-text:before, .widget_categories .screen-reader-text:before {
  font-family:'normal_icon'; content:'\e90e'; text-align:center; text-indent:0;
  display:block; font-size:14px; width:14px; height:14px; line-height:14px; z-index:10;
  position:absolute; right:15px; top:25px; -webkit-font-smoothing: antialiased;
}


/* カレンダー */
#calendar_wrap { padding:0; margin:-6px 0 -20px; }
#wp-calendar { margin:0 auto; width:100%; font-size:14px; border-collapse:collapse; table-layout:fixed;}
#wp-calendar caption { padding:7px 0; font-size:16px; font-weight:600; }
#wp-calendar thead th, #wp-calendar tfoot td { padding:12px 10px; line-height:2; }
#wp-calendar thead th { font-weight:500; }
#wp-calendar tbody th, #wp-calendar tbody td { padding:0; margin:0; line-height:1; text-align:center; }
#wp-calendar tbody span, #wp-calendar tbody a { display:block; width:100%; height:auto; aspect-ratio:1 /1; display:flex; flex-wrap:wrap; justify-content:center; align-items:center; }
#wp-calendar tbody a { border-radius:100%; background:#f6f6f6; color:#000; width:calc(100% - 6px); margin-left:3px; }
@media(hover: hover) {
  #wp-calendar tbody a:hover { color:#fff; background:var(--main_color) !important; }
  #footer #wp-calendar tbody a:hover { color:#fff !important; background:rgba(255,255,255,0.4) !important; }
}
#wp-calendar tbody td[colspan] span { aspect-ratio:unset; }
.wp-calendar-nav { font-size:14px; padding:20px 0; width:100%;  }
.wp-calendar-nav .wp-calendar-nav-prev { width:40%; float:left; }
.wp-calendar-nav .wp-calendar-nav-next { width:40%; float:right; text-align:right; }


/* デフォルトのギャラリー */
.widget_media_gallery .gallery-item { margin-top:0 !important; }


/* RSS */
.widget_rss .widget_headline a { color:var(--main_color); }
.widget_rss .rss-widget-feed { display:none; }
.widget_rss ul li { font-size:14px; margin:0; padding:20px 20px 15px; border:1px solid #ddd; border-bottom:none; display:flex; flex-wrap: wrap; }
.widget_rss ul li:last-of-type { border-bottom:1px solid #ddd; }
.widget_rss ul li .rss-date { -ms-flex-order:1; order:1; color:#999; font-size:13px; line-height:1; margin-right:10px; }
.widget_rss ul li cite { -ms-flex-order:2; order:2; color:#999; font-size:13px; line-height:1; }
.widget_rss ul li .rsswidget { -ms-flex-order:3; order:3; display:block; width:100%; margin:0; line-height:1.6; }
.widget_rss ul li .rssSummary { -ms-flex-order:4; order:4; color:#999; font-size:13px; margin: -0.35em 0; line-height:1.6; }
.widget_rss .rss-date { position:relative; font-family:Arial; }
.widget_rss .rsswidget ~ .rss-date, .widget_rss .rsswidget ~ cite { margin-bottom:10px; }
.widget_rss .rsswidget ~ .rssSummary { margin-top:calc(10px - 0.35em); }
@media(hover: hover) {
  .widget_rss .widget_headline a:hover { color:rgba(var(--main_color_hex),0.6); }
}



/* ----------------------------------------------------------------------
 404ページ
---------------------------------------------------------------------- */
body.error404 #footer, body.error404 #footer_banner, body.error404 #return_top, body.error404 #side_icon_button,
body.search-no-results #footer, body.search-no-results #footer_banner, body.search-no-results #return_top, body.search-no-results #side_icon_button { display:none; }
body.error404 #copyright, body.search-no-results #copyright { display:none; }
#no_search_result { min-height:calc(100vh - 120px); min-height:calc(100dvh - 120px); display:flex; flex-wrap:wrap; justify-content:center; align-items:center; position:relative; }
#no_search_result .content { z-index:100; width:100%; margin-top:0px; padding-block: 150px;}
#no_search_result.has_image .content { color:#fff; }
#no_search_result.has_image .content p a { color:#fff !important; text-decoration:underline; }
#no_search_result .headline { text-align:center; margin:0 0 40px 0; font-size:42px; font-family:var(--headline_font_type); }
#no_search_result .desc { text-align:center; margin:0 auto 50px; width:800px; }
#no_search_result .desc:last-child { margin-bottom:0; }
#no_search_result .overlay { width:100%; height:100%; position:absolute; z-index:2; }
#no_search_result .bg_image { width:100%; height:100%; position:absolute; top:0; left:0; z-index:1; display:block; overflow:hidden; }
#no_search_result .bg_image img { width:100%; height:100%; position:absolute; top:0; left:0; object-fit:cover; }
#no_search_result form { height:50px; width:400px; position:relative; margin:0 auto; }
#no_search_result .input_area input { position:absolute; left:0px; width:100%; height:50px; border:none; background:#f3f3f3; z-index:1; padding:0 60px 0 25px; border-radius:50px; z-index:1; }
#no_search_result .search_button input { position:absolute; right:0px; top:0px; border:none; background:none; width:50px; height:50px; z-index:2; cursor:pointer; }
#no_search_result .search_button label { position:absolute; right:0px; top:0px; z-index:10; width:50px; height:50px; display:block; pointer-events:none; }
#no_search_result .search_button label:before { display:block; font-family:'normal_icon'; color:#000; font-size:14px; content:'\e94c'; top:19px; right:20px; position:absolute; transition: color 0.2s ease; -webkit-font-smoothing: antialiased; }
@media(hover: hover) {
  #no_search_result.has_image .content p a:hover { color:rgba(255,255,255,0.5) !important; }
  #no_search_result .search_button:hover label:before { color:rgba(0,0,0,0.6); }
}
#no_search_result.has_bg_image .content { color:#fff; }
#no_search_result.has_bg_image .input_area input { background:#fff; }
#no_search_result .tag_list { text-align:center; width:730px; margin:60px auto;}
#no_search_result .desc + .tag_list { margin-top:50px; }
#no_search_result .wp-tag-cloud { display:inline-flex; flex-wrap:wrap; margin:0 0 -5px; }
#no_search_result .wp-tag-cloud li { margin:0 2px 4px; display:block; }
#no_search_result .wp-tag-cloud a { background:#f3f3f3; height:35px; line-height:35px; display:block; border-radius:4px; padding:0 15px; font-size:14px !important; }
#no_search_result.has_image .wp-tag-cloud a { background:none; color:#fff; border:1px solid rgba(255,255,255,0.5); }
@media(hover: hover) {
	#no_search_result .wp-tag-cloud a:hover { background:var(--main_color); border-color:var(--main_color); color:#fff; }
	#no_search_result.has_image .wp-tag-cloud a:hover { background:none; border:1px solid rgba(255,255,255,0.5); color:rgba(255,255,255,0.5); }
}
#no_search_result .copyright { position:absolute; bottom:0; left:0; z-index:99999; width:100%; line-height:1.5; border-top:1px solid #ddd; text-align:center; padding:19px 20px; font-size:14px; }
#no_search_result.has_image .copyright { border-color:rgba(255,255,255,0.3); color:#fff; }
#no_search_result.has_image .copyright a { color:#fff; text-decoration:underline; }
@media(hover: hover) {
	#no_search_result.has_image .copyright a:hover { color:rgba(255,255,255,0.5); }
}


/* ----------------------------------------------------------------------
 コメント
---------------------------------------------------------------------- */
/* 基本設定 */
#comments { margin:80px 0 0 0; position:relative; }
#comments .headline { text-align:center; line-height:1; font-size:24px; font-family:var(--headline_font_type); font-weight:500; margin:0 0 50px 0; }


/* コメント・トラックバックのタブ */
#comment_header { position:relative; margin:0 0 20px; }
#comment_tab { margin:0; display:-webkit-box; display:-webkit-flex; display:flex; overflow:hidden; }
#comment_tab li { text-align:center; margin:0; -webkit-flex: 1 1 0%; flex: 1 1 0%; }
#comment_tab li a, #comment_tab li p { font-size:12px; padding:15px 15px; line-height:1.6; display:block; text-decoration:none; background:#f6f6f6; color:#000; }
@media(hover: hover) {
  #comment_tab li a:hover { color:#fff !important; background:var(--main_color_light); }
}
#comment_tab li.active a { background:var(--main_color); }
#comment_tab li.active a, #comment_header #comment_closed p { color:#fff; position:relative; }
#comment_tab li.active a { pointer-events:none; }


/*  コメントの基本部分 */
.commentlist { list-style-type:none; margin:0; padding:0; }
.comment { margin:0 0 20px; padding:20px 20px 0; background:#fff; border:1px solid #ddd; }
#comments .post_content { margin:0; padding:5px 0 0 0; background:none; }


/* コメントの情報部分 */
.comment-meta { position:relative; margin:0 0 10px 0; }

.comment-meta-left { display:flex; flex-wrap:wrap; align-items:center; }
#comments .avatar { margin:0 15px 0 0; width:50px; height:50px; border-radius:100%; }
.comment-name-date { }

a.admin-url { text-decoration:underline; }
a.guest-url { text-decoration:underline; }

.comment-name-date { margin:0; font-size:14px; }
.comment-date { color:#888; margin:10px 0 0 0; }

.comment-act { font-size:14px; position:absolute; top:5px; right:0px; padding:0; margin:0; }
.comment-act li { display:inline; margin:0; }
.comment-reply a, .comment-reply a:visited { border-right:1px solid #aaa; padding:0 10px 0 0; margin:0 6px 0 0; }
.comment-edit a, .comment-edit a:visited { border-left:1px solid #aaa; padding:0 0 0 10px; margin:0 0 0 6px; }


/* コメント本文 */
#comments .post_content p { margin:0 0 15px 0; line-height:1.8; }
#comments .post_content blockquote span { margin:0 0 -1em 0; display:block; }


/* メッセージ、警告文 */
.comment-note { display:block; font-size:11px; margin:0 0 1em 0; color:#33a8e5; border:1px solid #94ddd4; padding:10px 15px; background:#d6f4f0; }
.comment_closed { border:1px solid #ccc; text-align:center; margin:0 35px 15px 0; padding:15px; background:#fefefe; }
.no_comment { padding-bottom:15px; }
.comment_message { margin:0 0 25px 0; font-size:16px; }


/* トラックバック */
.commentlist .ping-link { margin:0 0 25px 0; }
.commentlist .ping-meta { margin:0 0 15px 0; }
#trackback_url_area { margin:0 0 25px 0; }
#trackback_url_area label { font-size:11px; display:block; margin:0 0 5px 0; }
#trackback_url_area input { border:1px solid #ddd; padding:5px 10px; width:100%; }


/* ページナビ */
#comment_pager { margin:0 0 10px; height:24px; }
#comment_pager a, #comment_pager span { display:inline; float:left; margin:0 10px 0 0; }
#comment_pager .current { text-decoration:underline; }


/* コメントフォーム */
.comment_form_wrapper { margin:0 0 0px; padding:20px; border:1px solid #ddd; background:#fff; }
.comment .comment_form_wrapper { margin:0 0 20px; }

#cancel_comment_reply a { background:#eee; margin:0 0 1em 0; padding:15px; border-radius:50px; text-align:center; display:block; }
@media(hover: hover) {
  #cancel_comment_reply a:hover { background:var(--main_color); color:#fff !important; }
}

#comment_user_login p { padding:10px 0; margin:0; line-height:1; font-size:14px; }
#comment_user_login span { margin:0 0 0 40px; }

#comment_login { margin:0; padding:3px 30px 10px 30px; }
#comment_login p { margin:0; padding:12px 0 11px 36px; line-height:1; }
#comment_login a { margin:0 0 0 20px; padding:0; }

#guest_info { padding:0; width:100%; }
#guest_info div { margin:0 0 12px 0; text-align:left; }
#guest_info input { margin:0; padding:5px 10px; border:1px solid #ccc; width:100%; background:#fff; }
#guest_info input:focus { border:1px solid var(--main_color); }
#guest_info label { display:block; margin:0 0 10px 0; padding:0; font-size:12px; }
#guest_info span { margin:0 10px 0 0; }

#comment_textarea textarea {
  margin:15px 0 0; width:100%; height:150px; font-size:16px; line-height:1.8; overflow:auto; padding:10px;
  background:#fff; color:#000; border:1px solid #ccc;
}
#comment_textarea textarea:focus { border:1px solid var(--main_color); }

#submit_comment_wrapper { text-align:center; }
#submit_comment { color:#fff; background:var(--main_color); border:none; cursor:pointer; font-size:14px; width:200px; height:50px; margin:20px auto 0; display:block; border-radius:50px; transition: all 0.2s ease; }
@media(hover: hover) {
  #submit_comment:hover { background:var(--main_color_light); color:#fff; }
}

#input_hidden_field { display:none; }


/* パスワード保護 */
.password_protected { text-align:center; margin:0 38px 30px; padding:10px 20px; color:#fff; background:#3db4b2; border-radius:5px; }
.password_protected p { font-size:12px; margin:0; line-height:1.6; }




/* ----------------------------------------------------------------------
　アニメーションの設定
---------------------------------------------------------------------- */
/* 下から上へスライド */
@keyframes tcd_slide_up {
  0% { opacity:0; bottom:-30px; }
  100% { opacity:1; bottom:0; }
}


/* ズームアウト */
@keyframes tcd_zoom_out {
  0% { transform: scale(1.0); }
  100% { transform: scale(1.3); }
}


/* ズームイン */
@keyframes tcd_zoom_in {
  0% { transform: scale(1.3); }
  100% { transform: scale(1.0); }
}


/* フェードイン */
@keyframes tcd_fade_in {
  0% { opacity:0; }
  100% { opacity:1; }
}


/* フェードアウト */
@keyframes tcd_fade_out {
  0% { opacity:1; }
  100% { opacity:0; }
}


/* 右に移動 */
@keyframes tcd_move_right {
  0% { opacity:0; right:30px; }
  100% { opacity:1; right:0; }
}


/* 左に移動 */
@keyframes tcd_move_left {
  0% { opacity:0; left:30px; }
  100% { opacity:1; left:0; }
}


/* 下に移動 */
@keyframes tcd_move_down {
  0% { opacity:0; top:-30px; }
  100% { opacity:1; top:0; }
}


/* 上に移動 */
@keyframes tcd_move_up {
  0% { opacity:0; bottom:-30px; }
  100% { opacity:1; bottom:0; }
}


/* ポップアップ */
@keyframes tcd_pop_up {
  0% { transform: scale(.1); opacity:0; }
  100% { transform: none; opacity:1; }
}




/* ----------------------------------------------------------------------
 WordPress プリセットスタイル
---------------------------------------------------------------------- */


/* パスワード保護 */
.c-pw { margin-top:50px; }
.c-pw__box { font-size:16px; padding:40px; border:1px solid #ddd; background:#fff; }
.c-pw__box-inner { width:100%; height:50px; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }
.c-pw__box-desc { line-height:1.8!important; margin:-0.4em 0 2em!important; }
.c-pw__box-input { display:block; flex:1; border:none; background:#eee; height:100%; padding: 0 20px; }
.c-pw__btn--submit { display:block; min-width:150px; height:100%; padding:0 1em; background:#111; color:#fff!important; border:0; cursor:pointer; }
.c-pw__btn--submit:hover { background:#333; }
.c-pw__box-error { color:red; font-size:12px; }
@media (max-width:800px) {
  .c-pw { margin-top:40px; }
  .c-pw__box { font-size:14px; padding:20px; }
  .c-pw__box-inner { height:40px; }
  .c-pw__box-desc { margin-bottom:1em!important; }
  .c-pw__box-input { width:calc(100% - 100px); padding:0 10px; }
  .c-pw__btn--submit { min-width:auto; width:100px; }
}


/* Cardlink style - カードリンクのスタイル */
.cardlink { margin: 2em 0 !important; }


/* Google Mapの設定 */
.p-btn {
  -webkit-box-sizing: border-box; box-sizing: border-box;
  display: inline-block; min-width: 180px; height: 50px; padding: 0 15px; border-radius: 0;
  color: #fff; font-size: 14px; line-height: 50px; text-align: center;
}
@media screen and (max-width: 767px) {
  .p-btn { height: 45px; font-size: 12px; line-height: 45px; }
}


/* ブロックエディタ */
.wp-block-social-links a { color:#fff !important; }
.has-small-font-size { font-size:.8125em !important; }
.has-normal-font-size,
.has-regular-font-size { font-size:1em !important; }
.has-medium-font-size { font-size:1.25em !important; }
.has-large-font-size { font-size:2.25em !important; }
.has-huge-font-size, .has-larger-font-size { font-size:2.625em !important; }
.has-text-align-left { text-align:left !important; }
.has-text-align-right { text-align:right !important; }
.wp-block-embed { margin-bottom:50px; }
.wp-block-image { margin-bottom:50px; }
.wp-block-columns { margin-bottom:50px; }
@media (max-width:800px) {
  .wp-block-embed { margin-bottom:35px; }
  .wp-block-image { margin-bottom:35px; }
  .wp-block-columns { margin-bottom:35px; }
}


/* ブロックエディターのテーブルブロックの調整 */
.wp-block-table { overflow:visible !important; margin-bottom:50px; }
.wp-block-table table { margin-bottom:0; }
.wp-block-table .wp-element-caption { padding:30px 0 0; text-align:center; }
.wp-block-table.is-style-stripes { border-bottom:none !important; }
.wp-block-table.is-style-stripes td, .wp-block-table.is-style-stripes th,
.wp-block-table .has-background td, .wp-block-table .has-background th {
  background-color:transparent; border:none !important;
}


/* レスポンシブ説明文 */
.responsive_desc { margin-bottom:2em; }
.responsive_desc .mobile { display:none; }
@media (max-width: 800px) {
  .responsive_desc .pc { display:none; }
  .responsive_desc .mobile { display:block; }
}


/* グレー背景のボックス */
.gray_bg { background: #f5f5f5; padding:50px; border-radius:10px; margin-bottom:40px; }
.gray_bg + .post_row { margin-top:80px; }
.gray_bg .speech_balloon:last-child { margin-bottom:0 !important; }
.gray_bg .sc .speech_balloon { margin-bottom:2.5em !important; }
.gray_bg .sc:last-child .speech_balloon { margin-bottom:0 !important; }
.gray_bg .qt_google_map:last-child { margin-bottom:0 !important; }
.gray_bg .sc .qt_google_map { margin-bottom:35px !important; }
.gray_bg .sc:last-child .qt_google_map { margin-bottom:0 !important; }
@media screen and (max-width: 1300px){
  .gray_bg { padding:50px; }
}
@media screen and (max-width: 800px){
  .gray_bg { margin-bottom:35px; padding:30px; }
  .gray_bg + .post_row { margin-top:40px; }
}


/* 縦書き */
.vertical_text { writing-mode:vertical-rl; position:relative; left:50%; transform: translateX(-50%); margin:50px 0 !important; padding:0 !important; text-align:left !important; line-height:1.5 !important; }
@media (max-width: 800px) {
  .vertical_text { margin:40px 0 !important; }
}


/* タブコンテンツ */
.qt_tab_content_wrap { position:relative; margin-bottom:2em; }
.qt_tab_content_header { display:flex; flex-wrap:wrap; }
.qt_tab_content_header .item { cursor:pointer; flex: 1 1 0%; text-align:center; height:70px; line-height:70px; font-size:16px; border-bottom:3px solid #ddd; color:#999; transition: color 0.25s ease, border-color 0.25s ease; font-weight:600; }
.qt_tab_content_header .item.active { pointer-events:none; border-color:#000; color:#000; }
@media(hover: hover) {
  .qt_tab_content_header .item:hover { color:#000; }
}
.qt_tab_content_main { position:relative; background:#fafafa; }
.qt_tab_content { opacity:0; visibility:hidden; position:absolute; top:0; padding:3em; }
.qt_tab_content.active { opacity:1; visibility:visible; position:relative; transition: opacity 0.3s linear 0s; }
.qt_tab_content img { display:block; margin:0 auto; }
.qt_tab_content .desc { text-align:center; margin:10px 0 -10px; }
@media (max-width: 800px) {
	p + .qt_tab_content_wrap { margin-top:-20px; }
  .qt_tab_content { padding:2em; }
  .qt_tab_content .desc { margin:10px 0 -5px; }
}


/* デザインテーブル */
.post_content .design_table { border:none !important; }
.post_content .design_table th, .post_content .design_table td { border-color:rgba(255,255,255,0.5) !important; }
.post_content .design_table tr:first-child td { background:#238c00; color:#fff; font-weight:600 !important; }
.post_content .design_table.red_color tr:first-child td { background:#d93600; }
.post_content .design_table.blue_color tr:first-child td { background:#008c8c; }
.post_content .design_table tr:nth-child(even) td { background:#f6f6f6 !important; }
@media screen and (max-width:1000px) {
  .post_content .design_table td { padding:10px 25px; font-size:14px; }
}
@media screen and (max-width:800px) {
	.post_content .design_table { width:580px !important; margin:0 auto; }
}




/* ----------------------------------------------------------------------
 シェアボタン
---------------------------------------------------------------------- */
.share_button_list.top { }
.share_button_list ul { display:flex; flex-wrap:wrap; margin:0 -3px -3px 0; }
.share_button_list.large_size ul { margin:0 -5px -5px 0; }
.share_button_list li { flex: 1 1 0%; margin:0 3px 3px 0; max-width:100px; }
.share_button_list.large_size li { flex: 0 0 auto; width:calc(25% - 5px); margin:0 5px 5px 0; max-width:inherit; }
.share_button_list a { display:block; text-align:center; position:relative; height:30px; background:#000; color:#fff; border-radius:3px; display:flex; flex-wrap:wrap; justify-content:center; align-items:center; line-height:32px; }
.share_button_list.mono a { line-height:30px; background:#f2f2f2; color:#000; border:1px solid #ddd; }
.share_button_list.large_size a { height:40px; line-height:42px; }
.share_button_list.large_size.mono a { line-height:40px; }
.share_button_list .label { font-size:12px; position:relative; font-family:Arial; }
.share_button_list a:before { font-family:'sns_icon'; display:block; color:#fff; margin-right:5px; position:relative; transition: color 0.25s ease; -webkit-font-smoothing: antialiased; }
.share_button_list.mono a:before { color:#000; }
.share_button_list .twitter_button a:before { content:'\e950'; font-size:12px; top:-1px; }
.share_button_list .facebook_button a:before { content:'\e944'; font-size:18px; top:-1px; }
.share_button_list .hatena_button a:before { content:'\e908'; font-size:14px; top:0px; }
.share_button_list .pocket_button a:before { content:'\e90a'; font-size:16px; top:0px; }
.share_button_list .rss_button a:before { content:'\e90b'; font-size:12px; top:0px; }
.share_button_list .feedly_button a:before { content:'\e907'; font-size:15px; top:0px; }
.share_button_list .pinterest_button a:before { content:'\e905'; font-size:16px; top:0px; }
.share_button_list .line_button a:before { content:'\e909'; font-size:16px; top:0px; }
.share_button_list .note_button a:before {
  content: '';
  display: inline-block;
  width: 0.9em;
  height: 0.9em;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 100 100'%3E%3Cpath d='M10 10.4968C25.408 10.4968 46.504 9.70479 61.648 10.1208C81.952 10.6408 89.624 19.5048 89.888 41.3448C90.152 53.7208 89.888 89.1048 89.888 89.1048H67.896C67.896 58.1368 68.008 53.0168 67.896 43.2568C67.632 34.6568 65.2 30.5768 58.584 29.7928C51.592 29.0088 31.992 29.6808 31.992 29.6808V89.1448H10V10.4968Z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center; top:0px;
}
.share_button_list.color .twitter_button a { background:#000; border-color:#000; }
.share_button_list.color .facebook_button a { background:#35629a; border-color:#35629a; }
.share_button_list.color .hatena_button a { background:#3c7dd1; border-color:#3c7dd1; }
.share_button_list.color .pocket_button a { background:#ee4056; border-color:#ee4056; }
.share_button_list.color .rss_button a { background:#ffb53c; border-color:#ffb53c; }
.share_button_list.color .feedly_button a { background:#6cc655; border-color:#6cc655; }
.share_button_list.color .pinterest_button a { background:#d4121c; border-color:#d4121c; }
.share_button_list.color .line_button a { background:#00B900; border-color:#00B900; }
.share_button_list.color .note_button a { background:#fff; border:1px solid #ddd; color:#000; box-sizing:content-box; top: -1px; }
@media(hover: hover) {
  .share_button_list.color .twitter_button a:hover { background:#666; }
  .share_button_list.color .facebook_button a:hover { background:#1f3669; }
  .share_button_list.color .hatena_button a:hover { background:#0270ac; }
  .share_button_list.color .pocket_button a:hover { background:#c53648; }
  .share_button_list.color .rss_button a:hover { background:#e09900; }
  .share_button_list.color .feedly_button a:hover { background:#5ca449; }
  .share_button_list.color .pinterest_button a:hover { background:#a42f35; }
	.share_button_list.color .line_button a:hover { background:#009100; border-color:#009100; }
  .share_button_list.color .note_button a:hover { background:#eee; border-color:#ddd; }
  .share_button_list.mono .twitter_button a:hover { background:#000; border-color:#000; }
  .share_button_list.mono .facebook_button a:hover { background:#35629a; border-color:#35629a; }
  .share_button_list.mono .hatena_button a:hover { background:#3c7dd1; border-color:#3c7dd1; }
  .share_button_list.mono .pocket_button a:hover { background:#ee4056; border-color:#ee4056; }
  .share_button_list.mono .rss_button a:hover { background:#ffb53c; border-color:#ffb53c; }
  .share_button_list.mono .feedly_button a:hover { background:#6cc655; border-color:#6cc655; }
  .share_button_list.mono .pinterest_button a:hover { background:#d4121c; border-color:#d4121c; }
  .share_button_list.mono .line_button a:hover { background:#00B900; border-color:#00B900; }
  .share_button_list.mono .note_button a:hover { background:#000000; border-color:#000000; }
  .share_button_list.mono .note_button a:hover:before {
    content: '';
    display: inline-block;
    width: 0.9em;
    height: 0.9em;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 100 100'%3E%3Cpath d='M10 10.4968C25.408 10.4968 46.504 9.70479 61.648 10.1208C81.952 10.6408 89.624 19.5048 89.888 41.3448C90.152 53.7208 89.888 89.1048 89.888 89.1048H67.896C67.896 58.1368 68.008 53.0168 67.896 43.2568C67.632 34.6568 65.2 30.5768 58.584 29.7928C51.592 29.0088 31.992 29.6808 31.992 29.6808V89.1448H10V10.4968Z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center; top:0px;
  }
  .share_button_list.mono a:hover { color:#fff; }
  .share_button_list.mono a:hover:before { color:#fff; }
}
@media screen and (max-width:800px) {
  .share_button_list .label { display:none; }
  .share_button_list.large_size .label { display:inline; }
  .share_button_list.large_size a { height:35px; line-height:37px; }
  .share_button_list.large_size.mono a { line-height:35px; }
  .share_button_list a:before { margin:0; }
  .share_button_list.large_size a:before { margin-right:5px; }
  .share_button_list .twitter_button a:before { top:0px; }
  .share_button_list .facebook_button a:before { top:-1px; }
  .share_button_list.large_size .facebook_button a:before { top:-1px; }
  .share_button_list .hatena_button a:before { top:0px;}
  .share_button_list .pocket_button a:before { top:0px; }
  .share_button_list .feedly_button a:before { top:-1.5px; }
  .share_button_list .rss_button a:before { top:-1px; }
}
@media screen and (max-width:500px) {
	.share_button_list li { max-width:inherit; }
  .share_button_list.large_size li { width:calc(50% - 5px); max-width:inherit; }
}
.share_button_list_default ul { display:flex; flex-wrap:wrap; margin:0 -3px -10px 0; }
.share_button_list_default li { margin:0 3px 3px 0; }
.share_button_list_default li.pocket_button { width:90px !important; }
.share_button_list_default li.note_button { margin-left:2px; }




/* ----------------------------------------------------------------------
 Contact form 7
---------------------------------------------------------------------- */
.wpcf7 .wpcf7-submit, .wpcf7 .wpcf7-previous { -webkit-transition:all .3s; -webkit-box-sizing:border-box; box-sizing:border-box; display:block; position:relative; width:225px; height:48px; margin:30px auto 0; border:none !important; outline:none; background-color:#333333; color:#fff; font-size:14px; line-height:1.5; text-align:center; text-decoration:none; cursor:pointer; transition:all .3s; }
.wpcf7 .wpcf7-previous + br { display: none; }
@media(hover: hover) {
  .wpcf7 .wpcf7-submit:hover, .wpcf7 .wpcf7-previous:hover { background-color:#666666; }
}
.wpcf7 form .wpcf7-response-output { margin: 2em 0.5em 2em; padding:0; border: none; text-align:center; }
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output { color:#dc3232; font-size: 1em; }




/* MONAD スタイルシート */

/* TCDCE対応のため、以下移設 */

:is(.post_content, .post_content .tcdce-body) p { line-height:2.6; margin:0 0 2em 0; }

/* ----------------------------------------------------------------------
 Google Map
---------------------------------------------------------------------- */
.qt_google_map { width:100%; height:500px; background:#ddd; margin:0 0 35px 0 !important; }
.qt_google_map:last-child { margin-bottom:0 !important; }
.qt_google_map .qt_googlemap_embed { width:100%; height:500px; }
.qt_google_map .pb_googlemap_custom-overlay-inner { display: -webkit-box; display: -ms-flexbox; display: flex; position: absolute; top: -80px; left: -50px; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; width: 100px !important; height: 100px !important; border-radius: 50%; font-size: 16px; text-align: center; padding:0 15px; box-sizing:border-box; font-weight:600; }
.qt_google_map .pb_googlemap_custom-overlay-inner::after { display: block; position: absolute; right: 0; bottom: -15px; left: 0; width: 0; height: 0; margin: auto; border-width: 16px 5px 0 5px; border-style: solid; content: ""; }
@media screen and (max-width: 800px) {
  .qt_google_map { height:320px; }
  .qt_google_map .qt_googlemap_embed { height:320px; }
  .qt_google_map .pb_googlemap_custom-overlay-inner { transform:scale(0.8); left:-50px; top:-80px; }
}


/* ----------------------------------------------------------------------
 Column layout - カラムレイアウト
---------------------------------------------------------------------- */
:is(.post_row, .tcdce-body .post_row) {
  line-height:2.4; margin:70px 0;
  display:flex; flex-wrap:wrap; align-items:flex-start;
  gap: unset;
}
.post_col { flex: 1 1 0%; }
.post_col-2 { margin-right:50px; width:calc(50% - 25px); }
.post_col-3 { margin-right:25px; }
.post_col:last-of-type { margin-right:0; }
.post_col p:last-of-type:not(:has(img)) { margin-bottom:-10px; }
@media screen and (max-width: 1100px) {
  .post_col-2 { margin-right:30px; width:calc(50% - 15px); }
  .post_col:last-of-type { margin-right:0; }
}
@media screen and (max-width: 800px) {
  .post_row { margin:30px 0; }
  .post_col-2 { margin-right:20px; width:calc(50% - 10px); }
  .post_col:last-of-type { margin-right:0; }
}
@media screen and (max-width: 600px) {
  :is(.post_row, .tcdce-body .post_row) {
    display:block;
  }
  .post_row { display:block; line-height:2; }
  .post_col { margin-bottom:2em; }
  .post_col-2 { margin-right:0px; width:auto; }
  .post_col-3 { margin-right:0px; }
}


/* ----------------------------------------------------------------------
 table
---------------------------------------------------------------------- */
:is(.post_content .tcdce-body) table {
  margin:0 0 50px 0; width:100% !important; border-collapse:collapse !important;
  table-layout:auto; word-break: break-all; word-wrap: break-all;
}
:is(.post_content .tcdce-body) .s_table table { margin-bottom:50px; }
:is(.post_content .tcdce-body) td, :is(.post_content .tcdce-body) th { border:1px solid #ddd !important; padding:18px 30px 16px !important; line-height:2.2; background:#fff; }
:is(.post_content .tcdce-body) th { background:#f7f7f7; font-weight:normal; }
@media screen and (max-width:800px) {
  :is(.post_content .tcdce-body) table { margin:0 0 35px 0; }
}
/* table style */
:is(.post_content .tcdce-body) table.table_no_border th, :is(.post_content .tcdce-body) table.table_no_border td { border:none; padding-left:0; }
:is(.post_content .tcdce-body) table.table_border_serumtal th, :is(.post_content .tcdce-body) table.table_border_serumtal td { border-left:none; border-right:none; padding-left:0; }


:is(.post_content .tcdce-body) ul, .post_content ul { list-style:circle outside none; }



/* ----------------------------------------------------------------------
 design header
---------------------------------------------------------------------- */
@media screen and (max-width: 600px) {
  :is(.tcdce-body) .image_with_bg, .image_with_bg { position:relative; margin-top:30px; margin-bottom:35px; }

  :is(.design_header, .tcdce-body .design_header){
    width: auto;
    margin: 0 0 40px;
  }
  :is(.design_header, .tcdce-body .design_header) .catch{
    font-size: var(--headline_font_size_sp);
  }
  :is(.design_header, .tcdce-body .design_header) .desc{
    font-size: 16px;
  }
  :is(.design_header, .tcdce-body .design_header).direction_type2 .catch + .desc{
    margin: 0 15px 0 0;
  }
  :is(.design_header, .tcdce-body .design_header).direction_type2 .desc{
    line-height: 2.2;
  }
  :is(.design_header, .tcdce-body .design_header) .desc .mobile{
    display:block;
  }
}

.c-preloader__logo-text {
  font-family: var(--log_font_family);
  font-weight:var(--tcd-logo-font-weight, 600);
  font-size: var(--tcd-preloader-logo-font-size-pc);
  color: var(--tcd-preloader-logo-font-color);
  line-height: 1.5;
}

@media screen and (max-width: 800px) { 
  .c-preloader__logo-text {
  font-size: var(--tcd-preloader-logo-font-size-sp);
  }
}

#no_search_result .tcdce-box {
  text-align: left;
}

#no_search_result .custom_ul li {
    text-align: left;
}

#no_search_result .custom_ol li {
    text-align: left;
}

#no_search_result .tcdce-sb-content {
    text-align: left;
}

#no_search_result .tcdce-button {
  text-decoration: none !important;
}



/* 事務局  ------------------------------------------------------------------*/
body.page-id-328 h2.wp-block-heading,
body.page-id-342 h2.wp-block-heading,
body.page-id-340 h2.wp-block-heading,
body.page-id-338 h2.wp-block-heading,
body.page-id-336 h2.wp-block-heading,
body.page-id-334 h2.wp-block-heading,
body.page-id-332 h2.wp-block-heading,
body.page-id-330 h2.wp-block-heading,
body.page-id-358 h2.wp-block-heading,
body.page-id-133 h2.wp-block-heading,
body.page-id-1485 h2.wp-block-heading
{text-decoration: underline 5px #ec7a83;}

/* ひかり乳児院  ------------------------------------------------------------------*/
body.page-id-106 h1#page_headline,
body.page-id-109 h1#page_headline,
body.page-id-111 h1#page_headline,
body.page-id-123 h1#page_headline,
body.page-id-125 h1#page_headline,
body.page-id-127 h1#page_headline,
body.page-id-129 h1#page_headline,
body.page-id-131 h1#page_headline,
body.page-id-133 h1#page_headline,
body.page-id-525 h1#page_headline,
body.page-id-605 h1#page_headline,
body.page-id-617 h1#page_headline,
body.page-id-623 h1#page_headline
{background-color:#ffff73;
text-shadow: 1px 1px 2px #AAAAAA; /* 影の設定 */
}

body.page-id-106 h2.wp-block-heading,
body.page-id-109 h2.wp-block-heading,
body.page-id-111 h2.wp-block-heading,
body.page-id-123 h2.wp-block-heading,
body.page-id-125 h2.wp-block-heading,
body.page-id-127 h2.wp-block-heading,
body.page-id-129 h2.wp-block-heading,
body.page-id-131 h2.wp-block-heading,
body.page-id-133 h2.wp-block-heading,
body.page-id-525 h2.wp-block-heading,
body.page-id-605 h2.wp-block-heading,
body.page-id-617 h2.wp-block-heading,
body.page-id-623 h2.wp-block-heading
{text-decoration: underline 5px #ffff73;}

/* 豊橋若草育成園  ------------------------------------------------------------------*/
body.page-id-557 h1#page_headline,
body.page-id-629 h1#page_headline,
body.page-id-621 h1#page_headline,
body.page-id-625 h1#page_headline,
body.page-id-627 h1#page_headline,
body.page-id-619 h1#page_headline,
body.page-id-631 h1#page_headline,
body.page-id-633 h1#page_headline,
body.page-id-635 h1#page_headline,
body.page-id-637 h1#page_headline
{background-color:#b9c828;}

body.page-id-557 h2.wp-block-heading,
body.page-id-629 h2.wp-block-heading,
body.page-id-621 h2.wp-block-heading,
body.page-id-625 h2.wp-block-heading,
body.page-id-627 h2.wp-block-heading,
body.page-id-619 h2.wp-block-heading,
body.page-id-631 h2.wp-block-heading,
body.page-id-633 h2.wp-block-heading,
body.page-id-635 h2.wp-block-heading,
body.page-id-637 h2.wp-block-heading
{text-decoration: underline 5px #b9c828;}


/* 岩西保育園  ------------------------------------------------------------------*/
body.page-id-559 h1#page_headline,
body.page-id-639 h1#page_headline,
body.page-id-641 h1#page_headline,
body.page-id-643 h1#page_headline,
body.page-id-645 h1#page_headline,
body.page-id-647 h1#page_headline,
body.page-id-649 h1#page_headline,
body.page-id-651 h1#page_headline
{background-color:#fb9c5f;}

body.page-id-559 h2.wp-block-heading,
body.page-id-639 h2.wp-block-heading,
body.page-id-641 h2.wp-block-heading,
body.page-id-643 h2.wp-block-heading,
body.page-id-645 h2.wp-block-heading,
body.page-id-647 h2.wp-block-heading,
body.page-id-649 h2.wp-block-heading,
body.page-id-651 h2.wp-block-heading
{text-decoration: underline 5px #fb9c5f;}


/* 豊橋あゆみ学園  ------------------------------------------------------------------*/
body.page-id-561 h1#page_headline,
body.page-id-561 h1#page_headline,
body.page-id-653 h1#page_headline,
body.page-id-655 h1#page_headline,
body.page-id-657 h1#page_headline,
body.page-id-659 h1#page_headline,
body.page-id-661 h1#page_headline,
body.page-id-663 h1#page_headline,
body.page-id-665 h1#page_headline,
body.page-id-667 h1#page_headline,
body.page-id-669 h1#page_headline,
body.page-id-671 h1#page_headline,
body.page-id-2637 h1#page_headline,
body.page-id-673 h1#page_headline
{background-color:#EB5F94;}

body.page-id-561 h2.wp-block-heading,
body.page-id-561 h2.wp-block-heading,
body.page-id-653 h2.wp-block-heading,
body.page-id-655 h2.wp-block-heading,
body.page-id-657 h2.wp-block-heading,
body.page-id-659 h2.wp-block-heading,
body.page-id-661 h2.wp-block-heading,
body.page-id-663 h2.wp-block-heading,
body.page-id-665 h2.wp-block-heading,
body.page-id-667 h2.wp-block-heading,
body.page-id-669 h2.wp-block-heading,
body.page-id-671 h2.wp-block-heading,
body.page-id-2637 h2.wp-block-heading,
body.page-id-673 h2.wp-block-heading
{text-decoration: underline 5px #EB5F94;}


/* 豊橋くすのき学園  ------------------------------------------------------------------*/

body.page-id-563 h1#page_headline,
body.page-id-675 h1#page_headline,
body.page-id-677 h1#page_headline,
body.page-id-679 h1#page_headline,
body.page-id-687 h1#page_headline,
body.page-id-689 h1#page_headline,
body.page-id-685 h1#page_headline,
body.page-id-683 h1#page_headline,
body.page-id-681 h1#page_headline,
body.page-id-691 h1#page_headline,
body.page-id-693 h1#page_headline,
body.page-id-2635 h1#page_headline,
body.page-id-695 h1#page_headline
{background-color:#9dd14c;}

body.page-id-563 h2.wp-block-heading,
body.page-id-675 h2.wp-block-heading,
body.page-id-677 h2.wp-block-heading,
body.page-id-679 h2.wp-block-heading,
body.page-id-687 h2.wp-block-heading,
body.page-id-689 h2.wp-block-heading,
body.page-id-685 h2.wp-block-heading,
body.page-id-683 h2.wp-block-heading,
body.page-id-681 h2.wp-block-heading,
body.page-id-691 h2.wp-block-heading,
body.page-id-693 h2.wp-block-heading,
body.page-id-2635 h2.wp-block-heading,
body.page-id-695 h2.wp-block-heading
{text-decoration: underline 5px #9dd14c;}


/* 豊橋ゆたか学園  ------------------------------------------------------------------*/
body.page-id-565 h1#page_headline,
body.page-id-697 h1#page_headline,
body.page-id-699 h1#page_headline,
body.page-id-701 h1#page_headline,
body.page-id-703 h1#page_headline,
body.page-id-705 h1#page_headline,
body.page-id-707 h1#page_headline,
body.page-id-709 h1#page_headline,
body.page-id-711 h1#page_headline,
body.page-id-713 h1#page_headline,
body.page-id-715 h1#page_headline,
body.page-id-717 h1#page_headline,
body.page-id-719 h1#page_headline,
body.page-id-731 h1#page_headline,
body.page-id-723 h1#page_headline,
body.page-id-725 h1#page_headline
{background-color:#f794bf;}

body.page-id-565 h2.wp-block-heading,
body.page-id-697 h2.wp-block-heading,
body.page-id-699 h2.wp-block-heading,
body.page-id-701 h2.wp-block-heading,
body.page-id-703 h2.wp-block-heading,
body.page-id-705 h2.wp-block-heading,
body.page-id-707 h2.wp-block-heading,
body.page-id-709 h2.wp-block-heading,
body.page-id-711 h2.wp-block-heading,
body.page-id-713 h2.wp-block-heading,
body.page-id-715 h2.wp-block-heading,
body.page-id-717 h2.wp-block-heading,
body.page-id-719 h2.wp-block-heading,
body.page-id-731 h2.wp-block-heading,
body.page-id-723 h2.wp-block-heading,
body.page-id-725 h2.wp-block-heading
{text-decoration: underline 5px #f794bf;}


/* 豊橋ちぎり寮  ------------------------------------------------------------------*/
body.page-id-567 h1#page_headline,
body.page-id-743 h1#page_headline,
body.page-id-729 h1#page_headline,
body.page-id-731 h1#page_headline,
body.page-id-733 h1#page_headline,
body.page-id-735 h1#page_headline,
body.page-id-737 h1#page_headline,
body.page-id-739 h1#page_headline,
body.page-id-2039 h1#page_headline,
body.page-id-741 h1#page_headline
{background-color:#538cbb;}

body.page-id-567 h2.wp-block-heading,
body.page-id-567 h2.wp-block-heading,
body.page-id-743 h2.wp-block-heading,
body.page-id-729 h2.wp-block-heading,
body.page-id-731 h2.wp-block-heading,
body.page-id-733 h2.wp-block-heading,
body.page-id-735 h2.wp-block-heading,
body.page-id-737 h2.wp-block-heading,
body.page-id-739 h2.wp-block-heading,
body.page-id-2039 h2.wp-block-heading,
body.page-id-741 h2.wp-block-heading
{text-decoration: underline 5px #538cbb;}


/* 豊橋にしぐち学園  ------------------------------------------------------------------*/
body.page-id-569 h1#page_headline,
body.page-id-743 h1#page_headline,
body.page-id-745 h1#page_headline,
body.page-id-747 h1#page_headline,
body.page-id-749 h1#page_headline,
body.page-id-751 h1#page_headline,
body.page-id-753 h1#page_headline,
body.page-id-755 h1#page_headline,
body.page-id-757 h1#page_headline,
body.page-id-759 h1#page_headline
{background-color:#8bcbdf;}

body.page-id-569 h2.wp-block-heading,
body.page-id-743 h2.wp-block-heading,
body.page-id-745 h2.wp-block-heading,
body.page-id-747 h2.wp-block-heading,
body.page-id-749 h2.wp-block-heading,
body.page-id-751 h2.wp-block-heading,
body.page-id-753 h2.wp-block-heading,
body.page-id-755 h2.wp-block-heading,
body.page-id-757 h2.wp-block-heading,
body.page-id-759 h2.wp-block-heading
{text-decoration: underline 5px #8bcbdf;}


/* ワークス岩西  ------------------------------------------------------------------*/
body.page-id-571 h1#page_headline,
body.page-id-761 h1#page_headline,
body.page-id-763 h1#page_headline,
body.page-id-765 h1#page_headline,
body.page-id-767 h1#page_headline,
body.page-id-769 h1#page_headline,
body.page-id-771 h1#page_headline,
body.page-id-773 h1#page_headline,
body.page-id-775 h1#page_headline,
body.page-id-2633 h1#page_headline,
body.page-id-777 h1#page_headline
{background-color:#260600;}

body.page-id-571 h2.wp-block-heading,
body.page-id-761 h2.wp-block-heading,
body.page-id-763 h2.wp-block-heading,
body.page-id-765 h2.wp-block-heading,
body.page-id-767 h2.wp-block-heading,
body.page-id-769 h2.wp-block-heading,
body.page-id-771 h2.wp-block-heading,
body.page-id-773 h2.wp-block-heading,
body.page-id-775 h2.wp-block-heading,
body.page-id-2633 h2.wp-block-heading,
body.page-id-777 h2.wp-block-heading
{text-decoration: underline 5px #260600;}


/* 相談支援センター木もれ陽  ------------------------------------------------------------------*/
body.page-id-573 h1#page_headline,
body.page-id-779 h1#page_headline,
body.page-id-781 h1#page_headline,
body.page-id-783 h1#page_headline,
body.page-id-785 h1#page_headline,
body.page-id-787 h1#page_headline,
body.page-id-789 h1#page_headline,
body.page-id-791 h1#page_headline,
body.page-id-793 h1#page_headline,
body.page-id-795 h1#page_headline,
body.page-id-797 h1#page_headline,
body.page-id-799 h1#page_headline,
body.page-id-801 h1#page_headline,
body.page-id-803 h1#page_headline
{background-color:#fec912;}

body.page-id-573 h2.wp-block-heading,
body.page-id-779 h2.wp-block-heading,
body.page-id-781 h2.wp-block-heading,
body.page-id-783 h2.wp-block-heading,
body.page-id-785 h2.wp-block-heading,
body.page-id-787 h2.wp-block-heading,
body.page-id-789 h2.wp-block-heading,
body.page-id-791 h2.wp-block-heading,
body.page-id-793 h2.wp-block-heading,
body.page-id-795 h2.wp-block-heading,
body.page-id-797 h2.wp-block-heading,
body.page-id-799 h2.wp-block-heading,
body.page-id-801 h2.wp-block-heading,
body.page-id-803 h2.wp-block-heading
{text-decoration: underline 5px #fec912;}


/* グループホーム  ------------------------------------------------------------------*/
body.page-id-575 h1#page_headline,
body.page-id-805 h1#page_headline,
body.page-id-807 h1#page_headline,
body.page-id-809 h1#page_headline,
body.page-id-811 h1#page_headline,
body.page-id-813 h1#page_headline,
body.page-id-815 h1#page_headline,
body.page-id-817 h1#page_headline,
body.page-id-819 h1#page_headline,
body.page-id-821 h1#page_headline,
body.page-id-823 h1#page_headline,
body.page-id-825 h1#page_headline,
body.page-id-827 h1#page_headline,
body.page-id-829 h1#page_headline,
body.page-id-2055 h1#page_headline,
body.page-id-2057 h1#page_headline,
body.page-id-2059 h1#page_headline,
body.page-id-2061 h1#page_headline,
body.page-id-2063 h1#page_headline,
body.page-id-2065 h1#page_headline,
body.page-id-2067 h1#page_headline,
body.page-id-2069 h1#page_headline
{background-color:#5c498e;}

body.page-id-575 h2.wp-block-heading,
body.page-id-805 h2.wp-block-heading,
body.page-id-807 h2.wp-block-heading,
body.page-id-809 h2.wp-block-heading,
body.page-id-811 h2.wp-block-heading,
body.page-id-813 h2.wp-block-heading,
body.page-id-815 h2.wp-block-heading,
body.page-id-817 h2.wp-block-heading,
body.page-id-819 h2.wp-block-heading,
body.page-id-821 h2.wp-block-heading,
body.page-id-823 h2.wp-block-heading,
body.page-id-825 h2.wp-block-heading,
body.page-id-827 h2.wp-block-heading,
body.page-id-829 h2.wp-block-heading,
body.page-id-2055 h2.wp-block-heading,
body.page-id-2057 h2.wp-block-heading,
body.page-id-2059 h2.wp-block-heading,
body.page-id-2061 h2.wp-block-heading,
body.page-id-2063 h2.wp-block-heading,
body.page-id-2065 h2.wp-block-heading,
body.page-id-2067 h2.wp-block-heading,
body.page-id-2069 h2.wp-block-heading
{text-decoration: underline 5px #5c498e;}


/* ケアハウスかなだ  ------------------------------------------------------------------*/
body.page-id-578 h1#page_headline,
body.page-id-831 h1#page_headline,
body.page-id-833 h1#page_headline,
body.page-id-835 h1#page_headline,
body.page-id-839 h1#page_headline,
body.page-id-837 h1#page_headline,
body.page-id-841 h1#page_headline
{background-color:#780026;}

body.page-id-578 h2.wp-block-heading,
body.page-id-831 h2.wp-block-heading,
body.page-id-833 h2.wp-block-heading,
body.page-id-835 h2.wp-block-heading,
body.page-id-839 h2.wp-block-heading,
body.page-id-837 h2.wp-block-heading,
body.page-id-841 h2.wp-block-heading
{text-decoration: underline 5px #780026;}




nav.items-justified-center {
    /* 1. 枠線の色と太さ */
    border: 1px solid #ccc; /* 1pxの薄いグレー（#ccc）の実線 */

    /* 2. 丸角の指定 */
    border-radius: 8px; /* 角を8ピクセル丸くする */

    /* 3. 要素がわかりやすいように内側に余白を設定（任意） */
    padding: 10px; 
}
/* 1. 親コンテナ (ul) の設定 */
.wp-block-navigation__container {
    /* リスト項目を横並びにする */
    display: flex;
    /* 画面幅が狭い場合でも折り返さないようにする (通常メニューの動作) */
    flex-wrap: nowrap; 
    /* リストの点やデフォルトの余白を消す */
    list-style: none;
    padding: 0;
    margin: 0;
    /* アイテムが多い場合、はみ出た分をスクロール可能にする（任意） */
    overflow-x: auto;
    /* ブラウザによっては Flexbox のデフォルトで中央寄せになっている可能性がありますが、
       左寄せにしたい場合は 'justify-content: flex-start;' を設定します。 */
    justify-content: center; /* 既存のクラスに基づいて中央寄せを維持 */
}

/* 2. リストアイテム (li) の設定 */
.wp-block-navigation-item {
    /* メニュー項目間の間隔を調整 */
    margin: 0 10px; /* 左右に10pxの余白 */
    /* 項目が常に同じサイズになる必要がなければ、幅の指定は不要です */
    flex-shrink: 0; /* 画面が狭くなっても縮小しないようにする */
}

/* 3. リンク (a) の設定 */
.wp-block-navigation-item__content {
    /* リンクをブロック要素にして、パディング（クリック領域）を確保 */
    display: block;
    padding: 8px 15px; 
    /* 下線を消す */
    text-decoration: none;
    /* 見やすい文字色を設定 */
    color: #333; 
    /* フォントサイズの調整（任意） */
    font-size: 16px;
    /* 角丸と背景色を設定して「ボタン」風にする（任意） */
    /* background-color: #f7f7f7; */
    /* border-radius: 5px; */
    /* transition: background-color 0.3s; */
}

/* 4. マウスオーバー時のスタイル (任意) */
.wp-block-navigation-item__content:hover {
    /* マウスオーバー時に色を変えて操作性を高める */
    color: #0073aa; /* 例: 青色 */
    /* background-color: #eee; */
}
/* 1. リスト全体 (ul) の設定 */
.wp-block-post-template {
    list-style: none; /* リストのマーカーを非表示 */
    padding: 0;      /* デフォルトのパディングを削除 */
    margin: 0;       /* デフォルトのマージンを削除 */
}

/* 2. 各お知らせ項目 (li) の設定 */
.wp-block-post {
    /* 項目間に区切り線を追加 */
    border-bottom: 1px dashed #ddd; /* 薄いグレーの点線で区切る */
    padding: 10px 0; /* 上下に余白を追加 */
    margin: 0;
    
    /* 既存のFlexboxレイアウトを活かしつつ、間隔を調整 */
    display: flex; 
    align-items: center; /* 垂直方向の中央揃えを維持 */
}

/* 最後の項目には区切り線を付けない (任意) */
.wp-block-post:last-child {
    border-bottom: none;
}

/* 3. 日付とタイトルのコンテナ (.wp-block-columns) の設定 */
/* li要素内で日付とタイトルを確実に横並びにする */
.wp-block-post > .wp-block-columns {
    display: flex;
    width: 100%; /* 親要素の幅いっぱいに広げる */
    margin: 0; /* 不要なマージンを削除 */
    padding: 0;
}

/* 4. 日付 (time) の設定 */
.wp-block-post-date {
    font-size: 0.9em; /* 文字を少し小さく */
    color: #666;     /* グレーにして目立ちすぎないように */
    white-space: nowrap; /* 日付が途中で改行しないように */
    padding-right: 20px; /* タイトルとの間にスペースを作る */
    flex-shrink: 0; /* 縮小させない */
}

/* 5. タイトル (h5) の設定 */
.wp-block-post-title {
    margin: 0; /* h5のデフォルトマージンを削除 */
    font-size: 1.0em; /* 標準的なサイズに調整 */
    font-weight: normal; /* 太字を解除してシンプルに */
}

/* リンク (a) のスタイル調整 */
.wp-block-post-title a {
    text-decoration: none; /* 下線を非表示 */
    color: #333; /* リンク色を標準に */
}

/* マウスオーバー時のスタイル (任意) */
.wp-block-post-title a:hover {
    color: #0073aa; /* ホバーで色を変える */
    text-decoration: underline; /* 下線を表示 */
}
/* カテゴリーリンク（a要素）にスタイルを適用 */
.taxonomy-category a {
    /* 1. 枠線と丸角の指定 */
    border: 1px solid #ccc; /* 薄いグレーの細い枠線 */
    border-radius: 4px;     /* 角を丸くする (小さめに設定) */
    
    /* 2. 背景と文字色 */
    background-color: #f5f5f5; /* 非常に薄いグレーの背景色 */
    color: #333;               /* 文字色を濃いグレーに */

    /* 3. 表示と余白 */
    display: inline-block; /* 枠のサイズを内容に合わせ、余白を設定可能にする */
    padding: 3px 8px;      /* 上下3px、左右8pxの余白を設定 */
    text-decoration: none; /* 下線を非表示にする */
    
    /* 4. フォントサイズ (任意) */
    font-size: 0.9em; 
    white-space: nowrap; /* テキストが途中で改行しないように */
}

/* ホバー時のスタイル (任意) */
.taxonomy-category a:hover {
    background-color: #e0e0e0; /* ホバーで背景色を少し濃くする */
    border-color: #aaa;        /* 枠線の色も濃くする */
}
/* 最新の投稿ブロック内の画像に適用 */
.wp-block-latest-posts img {
    /* 角の丸みを設定 */
    border-radius: 8px; /* 8ピクセル丸くする。お好みの値に変更してください */
    
    /* 古いブラウザでの互換性を高めるために、必要であればオブジェクトフィットを設定（任意） */
    /* object-fit: cover; */
    /* width: 100%; */
    /* height: auto; */
}
/*  figureタグ内のimg要素の設定 */
figure.marukado img {
    /* 画像を丸角にする */
    border-radius: 8px; /* 例として8px。お好みの丸み具合で調整してください */
    
    /* 画像がコンテナの幅いっぱいに広がるように設定（任意） */
    display: block;
    width: 100%;
    height: auto;
}
/* 固定ページの始まりの上部余白がデフォルトは広いので対処 ------------------------------------------------------------------*/
#page_contents{padding-top:20px;}

/* スライダーブロックの画像を丸角 ------------------------------------------------------------------*/
.ub_image_slider img{border-radius: 8px;}

/* 固定リスト一覧をメニュー化 ------------------------------------------------------------------*/
/* 1. 親リスト (ul) の設定 */
.wp-block-page-list {
    /* Flexboxを有効にして、項目を横並びにする */
    display: flex;
    
    /* 項目が多い場合に、画面幅に合わせて折り返すかどうか（折り返さない設定） */
    flex-wrap: wrap; 
    
    /* リストの点（マーカー）やデフォルトの余白を削除 */
    list-style: none;
    padding: 0;
    margin: 0;
    /* 項目全体を中央に配置する (任意) */
    justify-content: center;

}

/* 2. リストアイテム (li) の設定 */
.wp-block-pages-list__item {
    /* 項目間の間隔を調整 */
    margin: 0 15px; /* 左右に15pxの余白を追加 */
    list-style: none;
	/* 画面が狭くなっても項目が縮小しないように設定（重要） */
    flex-shrink: 0; 
}

/* 3. リンク (a) の設定 */
.wp-block-pages-list__item__link {
    /* リンクをブロック要素にし、クリック領域を確保 */
    display: block;
    padding: 10px 0; /* 上下に余白を追加 */
    
    /* 下線を非表示にする */
    text-decoration: none;
    
    /* 文字色とフォントサイズ（任意） */
	color:#333!important;

    

}

/* 4. 現在のページ（current-menu-item）の強調 (任意) */
.wp-block-pages-list__item.current-menu-item .wp-block-pages-list__item__link {
/* 背景色と文字色 */
  background-color: #f0f0f0; /* 薄いグレー */
  color: #333333;           /* 濃いグレーの文字 */
  
  /* 角丸と余白 */
  border-radius: 8px;       /* 角丸の半径（数値を変えると丸みが変わります） */
  padding: 10px;       /* 上下 左右の余白 */
  
  /* デザイン調整 */
  text-decoration: none;    /* 下線を消す */
  display: inline-block;    /* 幅と高さを持たせる */
  transition: 0.3s;         /* 変化を滑らかに */
}

/* 5. ホバー時のスタイル (任意) */
.wp-block-pages-list__item__link:hover {
    color: #ddd!important;
    /* transition: color 0.3s; */
}
/* イメージカバーブロックを丸くする。 ------------------------------------------------------------------*/
.wp-block-cover.marukado{
	border-radius: 8px; /* 8ピクセル丸くする。お好みの値に変更してください */
}
/* 沿革のテーブル表示 ------------------------------------------------------------------*/
/* テーブルのセルのボーダーをリセットし、下線のみを点線にする */
.wp-block-table.enkaku td {
    /* デフォルトのボーダーをリセット */
    border: none!important;
    
    /* セルの下側だけに点線を適用 */
    border-bottom: 1px dashed #ccc!important; 
    
    /* 適切なパディングを設定 */
    padding: 10px 15px; 
    
    /* 縦積みのための設定を無効化（PC表示） */
    display: table-cell; 
}
.wp-block-table.enkaku td:nth-child(odd) {
	width:200px;
}
/* テーブル全体の枠線やセルの結合設定 */
.wp-block-table.enkaku table {
    width: 100%; /* 幅を親要素いっぱいに広げる */
    border-collapse: collapse; /* セルの境界線を重ねる */
    border: none;              /* テーブル全体の枠線を消す */
}

/* 最終行の下線を消す (任意) */
.wp-block-table.enkaku tr:last-child td {
    border-bottom: none;
}
/* フッターの営業時間エリアは使用しないので非表示 ------------------------------------------------------------------*/
.sc_schedule{
	display:none;
}
/* フッターにバナー表示エリア ------------------------------------------------------------------*/
.footer-banner-area {
    /* Flexboxを有効にする */
    display: flex;
    
    /* 子要素（リンク付き画像）の塊全体を水平方向の中央に配置 */
    justify-content: center; 
    
    /* 子要素間の間隔を5pxに設定 */
    gap: 5px; 
    
    /* 必要に応じてコンテナの幅を指定（通常は100%） */
    width: 100%;
    
    /* 親要素の初期余白をリセット（念のため） */
    padding: 0;
    margin: 0;
}

.footer-banner-area a {
    /* リンク要素（aタグ）の初期余白をリセット */
    margin: 30px 0;
    padding: 0;
}

.footer-banner-area img {
    /* 画像をブロック要素にして、インライン要素特有の行間余白を消す */
    display: block;
    /* 画像がコンテナをはみ出さないように最大幅を指定 */
    max-width: 100%;
    height: auto;
}


@media (max-width: 600px) {
    /* 1. テーブル行 (tr) をブロック要素にして積み重ねる */
    .wp-block-table.enkaku tr {
        display: block;
        margin-bottom: 15px; /* 各レコード（行）の間に大きな間隔を作る */
        border: 1px solid #ddd; /* レコードごとに薄い外枠を付ける（任意） */
        border-radius: 5px;
    }
    
    /* 2. テーブルセル (td) をブロック要素にして縦に並べる */
    .wp-block-table.enkaku td {
        display: block; /* 重要な設定: セルを縦積みにする */
        width: auto;    /* 幅の指定を解除 */
        padding: 8px 15px; 
        
        /* 縦積みにするため、セルの下線をリセット */
        border-bottom: none;
    }
    
    /* 3. 各レコードの最後のセルに区切り線を追加 (レコード全体の区切り線として機能) */
    .wp-block-table.enkaku tr > td:last-child {
        border-bottom: 1px dashed #ccc;
    }

    /* 4. 1列目 (日付・項目名) の強調と装飾 */
    .wp-block-table.enkaku tr > td:first-child {
		width:auto;
        font-weight: bold; /* 日付を太字にする */
        background-color: #f7f7f7; /* 背景色を付けて見出しのようにする */
        border-bottom: 1px solid #eee; /* 日付と内容を区切る細線 */
    }
}
/******************************/
/** コンタクトフォームの装飾 **/
/******************************/
/*　フォーム全体　*/
#cf7-area {
width:100%;
margin: 0 auto;

}
#cf7-area input[type="checkbox"] {
  transform: scale(2.0);
  margin: 10px; /* 拡大した分、周りに余白を作ると重なりを防げます */
  cursor: pointer;
}
#cf7-area input[type="radio"] {
  /* サイズの指定（30px × 30px） */
  width: 20px;
	height: 20px;
}
.cf7-item {
display: flex;
align-items: flex-start;
justify-content: flex-start;

}

.cf7-q {
width: 30%;
margin: 0 0 0 10px;
}

.cf7-a {
width: 60%;
}

/*　見出し　*/
.form-heading
{
width: 100%;
background-color: #191970;
border-left: 1em solid #6495ED;
border-radius: 2px;
color: #ffffff;
font-weight: bold;
padding: 1em .8em;
margin: 0 0 2em;
}

.form-heading p {
margin: 0;
}

/* 各項目共通 */
#cf7-area label{
font-weight:bold;
}

#cf7-area input[type=”text”],#cf7-area input[type=”email”],#cf7-area input[type=”tel”],#cf7-area textarea {
background: #F0F8FF;
width:500px;
margin-left:10px;
}

#cf7-area input[type=”text”]:focus,#cf7-area input[type=”email”]:focus,#cf7-area input[type=”tel”]:focus,#cf7-area textarea:focus {

outline: 0;
}

#cf7-area input[type=”checkbox”], #cf7-area input[type=”radio”]{
appearance: auto;
}

#cf7-area .wpcf7-list-item {
display: block;
}

#cf7-area textarea{
height:200px;
padding: 0.625em 0.4375em;
}

.cf7-accept-check{
text-align: center;
margin: 10px auto;
}

.cf7-submit {
width: 40%;
margin: 0 auto;
text-align: center;
}

#cf7-area input[type=”submit”]
{
width: 100%;
background-color: #191970;
color: #ffffff;
border-radius: 5px;
font-size: 1.2em;
padding: 1em 10px;
}

#cf7-area input[type=”submit”]:hover
{

}

.cf7-btn{
width: 40%;
margin: 0 auto;
text-align: center;
}

/*　必須ラベル　*/
.cf7-req{
color: red;
margin-left: 10px;

}

@media screen and (max-width:768px){
.cf7-item {
display: block;
}

#cf7-area label{
display: block;
margin-bottom: 10px;
}

.cf7-q {
width: 100%;
margin: 0;
}

.cf7-a {
width: 100%;
}

#cf7-area input[type=”text”], #cf7-area input[type=”email”], #cf7-area input[type=”tel”], #cf7-area textarea{
margin-left: 0;
}

.cf7-submit{
width: 90%;
}
}

/******************************/
/** コンタクトフォームの装飾 END **/
/******************************/

/******************************/
/** 各施設ページの投稿一覧 **/
/******************************/
/* リスト全体のスタイル（点などを消す場合） */
.custom-post-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* 各行の設定 */
.custom-post-list li {
  display: flex;
  align-items: center; /* 縦方向の中央揃え */
  margin-bottom: 8px;  /* 行間の調整 */
}

/* 日付の幅を固定 */
.post-date {
  flex: 0 0 80px; /* 幅を100pxに固定（必要に応じて調整） */
  margin-right: 15px;

}

/* カテゴリの幅を固定 */
.post-category {
  flex: 0 0 100px; /* カテゴリの最大文字数に合わせて調整 */
  margin-right: 15px;
  text-align: center; /* カテゴリ名を中央に寄せる場合 */
  background: #eee;   /* （任意）背景をつけるとズレが分かりにくくなります */
  padding: 2px 5px;
  font-size: 0.8em;
  border-radius: 3px;
}

/* タイトルは残りの幅をすべて使う */
.post-title {
  flex: 1;
  text-decoration: none;
  color: #333;
}
/* 実際のページ（フロントエンド）では非表示にする */
.editor-only-note {
    display: none !important;
}
/******************************/
/** 採用エントリーボタンの装飾 **/
/******************************/
/* ボタンの外側の余白調整 */
.recruit-entry {
    text-align: center; /* 中央寄せにしたい場合 */
    margin: 20px 0;
}

/* ボタン本体のスタイル */
.recruit-entry a {
    display: inline-block;
    background-color: #ec7a83; /* 指定の背景色 */
    color: #ffffff;            /* 文字色（白） */
    text-decoration: none;     /* 下線を消す */
    font-weight: bold;         /* 文字を太く */
    padding: 15px 40px;        /* 上下左右の余白（ボタンの大きさ） */
    border-radius: 50px;       /* 角丸（大きくするとカプセル型になります） */
    transition: all 0.3s ease; /* 動きをなめらかに */
    box-shadow: 0 4px 15px rgba(236, 122, 131, 0.3); /* 軽い影 */
}

/* マウスを乗せた時（ホバー）の動き */
.recruit-entry a:hover {
    background-color: #d6656e; /* 少し濃い色にする */
    transform: translateY(-2px); /* 少し上に浮かす */
    box-shadow: 0 6px 20px rgba(236, 122, 131, 0.4); /* 影を強める */
    color: #ffffff; /* ホバー時も白を維持 */
}

/* スマホ対応：クリックした瞬間の演出 */
.recruit-entry a:active {
    transform: translateY(0);
    box-shadow: 0 2px 10px rgba(236, 122, 131, 0.3);
}
/******************************/
/** 採用エントリーボタンの装飾 END **/
/******************************/

/******************************/
/** 時間フローテーブル **/
/******************************/
.wp-block-table.table_flow td {
    /* デフォルトのボーダーをリセット */
    border: none!important;
    
    /* セルの下側だけに点線を適用 */
    border-bottom: 1px dashed #ccc!important; 
    
    /* 適切なパディングを設定 */
    padding: 10px 15px; 
    
    /* 縦積みのための設定を無効化（PC表示） */
    display: table-cell; 
}
.wp-block-table.table_flow tr:first-child {
    font-weight:bold;
  }
.wp-block-table.table_flow td:first-child {
    background-color: #f0f0f0;
	border-bottom: 1px dashed #fff!important;
  }

/******************************/
/** 時間フローテーブル END **/
/******************************/

.wp-block-navigation__submenu-container{
	display:none;
}

/******************************/
/* 事前に Font Awesome 等の読み込みが必要です */
/******************************/

.wp-block-file a[href$=".pdf"] {
	font-size: 1rem; /* root em: <html>要素のサイズを基準にする */
	display:block;
  margin-right: 5px;
margin-bottom:1em;

}