@charset "utf-8";
/* ===========================================================
 *
 * ニューロアソシエイツ2025 スタイルシート
 * Last UpDate : 2026/02/27
 *
=========================================================== */

/* ----------------------------------------------------------
	style.css
---------------------------------------------------------- */
/* zen-maru-gothic-regular - japanese */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Zen Maru Gothic';
  font-style: normal;
  font-weight: 400;
  src: url('./fonts/zen-maru-gothic-v19-japanese-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* zen-maru-gothic-700 - japanese */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Zen Maru Gothic';
  font-style: normal;
  font-weight: 700;
  src: url('./fonts/zen-maru-gothic-v19-japanese-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* noto-sans-jp-regular - japanese */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400;
  src: url('noto-sans-jp-v56-japanese-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* noto-sans-jp-700 - japanese */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 700;
  src: url('noto-sans-jp-v56-japanese-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* noto-sans-jp-900 - japanese */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 900;
  src: url('noto-sans-jp-v56-japanese-900.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}



/* noto-serif-jp-regular - japanese */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Noto Serif JP';
  font-style: normal;
  font-weight: 400;
  src: url('noto-serif-jp-v33-japanese-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* noto-serif-jp-700 - japanese */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Noto Serif JP';
  font-style: normal;
  font-weight: 700;
  src: url('noto-serif-jp-v33-japanese-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* noto-serif-jp-900 - japanese */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Noto Serif JP';
  font-style: normal;
  font-weight: 900;
  src: url('noto-serif-jp-v33-japanese-900.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}


/* ----------------------------------------------------------
 common
---------------------------------------------------------- */

html{ font-size: 62.5%; scroll-behavior: smooth; scroll-padding-top: 220px; }
body {
	color: #333;
	background-color: #fff;
	font-family: 'Noto Sans JP',"Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
	font-weight: 400;
	font-style: normal;
	letter-spacing: 1px;
	font-feature-settings: "palt";
	font-size: 16px;
	font-size: 1.6rem;
	margin: 0;
	padding-top: 80px;
}

body.fontb{ font-family: 'Noto Sans JP'; }
body.fontc{ font-family: 'Noto Serif JP'; }


/*
@media all and (-ms-high-contrast: none) {
  *::-ms-backdrop, .h2Wrap{ line-height: 1.7 !important; }

}
*/


.mb0{ margin-bottom: 0 !important; }
.mt40{ margin-top: 40px !important; }

/* a.anker{ display: block; padding-top: 100px; margin-top: -100px; } */

:root{
	--main-color: #09c5a8;
	--second-color: #4ba371;
	--btn-color: #327dc0;
	--footer-color: #1e5383;
	--att-color: #d4a21c;
}

strong{ font-weight: bold !important; }


/* 非表示用 */
.noneSP		{ display: none !important; }
/* ----------------------------------------------------------
 link
---------------------------------------------------------- */
a:link		{ color: #333; text-decoration: none; }
a:visited	{ color: #333; text-decoration: none; }
a:hover		{ color: var(--main-color); text-decoration: none; }
a:active	{ color: var(--main-color); text-decoration: none; }

a { transition: 0.5s ease-in-out; }

/* ----------------------------------------------------------
 header
---------------------------------------------------------- */
header{ position: fixed; top: 0; width: 100%; height: 50px; z-index: 100; background-color: #fff; box-shadow: 0px 8px 16px -6px rgba(0,0,0,0.1); display: flex; justify-content: space-between; align-items: center; }

.header_sec{ display: flex; height: auto; padding-top: 10px; }

.header_logo{ flex-basis: 55%; margin-left: 2%; }
.header_logo img{ width: 100%; height: auto; max-width: 263px; max-height: 47px; }
.header_logo a:hover{ opacity: .6; }

.header_logo_sec{ padding-top: 0; }
.header_logo_sec a{ display: block; }

.header_sns{ flex-basis: 23%; margin: 0 60px 0 auto; }
.header_sns_list{ display: flex; justify-content: space-around; }
.header_sns_item{}
.header_sns_item a{ display: block; font-size: 2.5rem; color: var(--btn-color); }
.header_sns_item a:hover{ opacity: .6; }

.gnavi{ }
.header_tel{ display: none; }
.header_yoyaku01{ display: none; }
.header_yoyaku02{ display: none; }





#menu-btn{ display: none; }
#menu-content{ width: 100%; margin: 0; list-style-type: none; position: relative; }
#menu-content > li{ float: left; width: 23%; transition: all .2s; }
#menu-content > li > a{ position: relative; display: block; line-height: 1.4; font-size: 1.9rem; text-decoration: none;	font-weight: 700; /* height: 50px; */ padding-top: 20px; }
#menu-content > li > a span{ display: block; font-size: 1.2rem; font-weight: 400; }
#menu-content > li > a:after{ position: absolute; content: ""; width: 60%; height: 3px; left: 50%; background-color: var(--main-color); bottom: 1px; transform: translateX(-50%) scaleX(0); transform-origin: center; transition: transform .3s; }
/*
#menu-content > li > a:hover::after,
#menu-content > li > a:focus-visible::after{
  transform: translateX(-50%) scaleX(1);
}
*/

#menu-content > li > a > .blogicon-chevron-down{ margin-right: 5px; }
#menu-content > li > ul.second-content{ visibility: hidden; opacity: 0; position: absolute; padding-left: 0; list-style-type: none;	width: 15%; left: 27%; top: 80px; box-shadow: 1px 1px 7px #bbb; }
#menu-content > li:hover > ul.second-content{ visibility: visible; opacity: 1; transition: opacity 0.2s, visibility 0.2s; background-color: #fff; }
#menu-content > li > ul.second-content > li{ border-bottom: 1px solid #ccc; }
#menu-content > li > ul.second-content > li > a{ position: relative; display: block; line-height: 40px; font-size: 1.6rem; text-decoration: none; padding: 10px; }
#menu-content > li > ul.second-content > li > a:hover{ background: #eee; transition: all .2s; }
#menu-content > li > ul.second-content > li:hover > a,
#menu-content > li > ul.second-content > li > a.current{ background: #eee; }

@media screen and (max-width: 1199px) {
#navArea nav{
	position: fixed;
	top: 0;
	left: -1000px;
	bottom: 0;
	width: 80%;
	background: #fff;
	overflow-x: hidden;
	overflow-y: auto;
	transition: all 0.3s;
	z-index: 3;
	opacity: 0;
}
#navArea.open nav{ left: 0; opacity: 1;  z-index: 99; }
#navArea  nav .inner{ padding: 25px; }
#navArea nav .inner ul{ list-style: none; margin: 0; padding: 0; flex-wrap: wrap; }
#navArea nav .inner ul.header_sns_list{ display: block; }
#navArea nav .inner ul li{ position: relative; margin: 0; }
#navArea nav .inner ul li a{ display: block; color: #333; font-size: 1.8rem; font-weight: 700; text-decoration: none; transition-duration: 0.2s; flex-wrap: wrap; }
.toggle_btn {
    display: block;
    position: fixed;
    top: 0;
    right: 0;
    width: 50px;
    height: 50px;
	background-color: var(--main-color);
    transition: all .3s;
    cursor: pointer;
    z-index: 3;
  }
  .toggle_btn span {
    position: absolute;
    left: 13px;
    width: 26px;
    height: 2px;
    background-color: #fff;
    border-radius: 4px;
    transition: all 0.3s;
}
.toggle_btn span:nth-child(1){ top: 15px; }
.toggle_btn span:nth-child(2){ top: 25px; }
.toggle_btn span:nth-child(3){ bottom: 13px; }
.open .toggle_btn span{ background-color: #fff; }
.open .toggle_btn span:nth-child(1){ transform: translateY(10px) rotate(-45deg); }
.open .toggle_btn span:nth-child(2){ opacity: 0; }
.open .toggle_btn span:nth-child(3){ transform: translateY(-10px) rotate(45deg); }
#mask{ display: none; transition: all .3s; }
.open #mask{ display: block; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: #000; opacity: 0.5; z-index: 2; cursor: pointer; }
#menu-content{ border-top: 1px solid #ccc; }
#menu-content > li{ width: 100%; margin-bottom: 15px; }
#menu-content > li:hover{ background: none; }
#menu-content > li > a{ padding: 15px 10px; font-weight: 700; font-size: 1.6rem; border-bottom: 1px solid #ccc; line-height: normal !important; text-align: left; }
#menu-content > li > ul.second-content{ visibility: visible; opacity: 1; width: 100%; position: relative; box-shadow: none; margin-top: 10px; margin-left: 20px; }
.open #menu-content > li > ul.second-content{ position: relative; }
#menu-content > li > ul.second-content > li{ width: 100%; text-align-last: left; }
#menu-content > li > ul.second-content > li > a{ padding-left: 15px; font-size: 1.4rem; line-height: 1.3; position: relative; text-align: left;  }
#menu-content > li > ul.second-content > li > a:hover{ background: none; }
#menu-content > li > ul.second-content > li > a:before{ content: ''; width: 4px; height: 4px; border-top: solid 1px var(--main-color); border-right: solid 1px var(--main-color); position: absolute; left: 0px; top: 16px; transform: rotate(45deg); }
}

#menu-content .header_sns_item i{ font-size: 2rem; margin-right: 10px; vertical-align: middle; }



.header_att{ position: absolute; top: 50px; width: 100%; background-color: var(--btn-color); text-align: center; color: #fff; font-size: 1.3rem; font-weight: 400; padding: 5px; z-index: 2; }


#menu{ display: none; }

.header-nav{ display: none; }



/* ----------------------------------------------------------
 footer
---------------------------------------------------------- */
footer{ background-color: var(--footer-color); padding: 30px 0 100px 0; }

.footer_tit{ font-size: 2.3rem; color: #fff; text-align: center; font-weight: 700; letter-spacing: 2px; margin-bottom: 10px; }
.footer_add{ font-size: 1.2rem; color: #fff; text-align: center; margin-bottom: 20px; }
.footer_unei{ color: rgba(255,255,255,.3); font-size: 1rem; text-align: center; }

.footer_navi{ margin-bottom: 20px; }
.footer_navi_list{ display: flex; justify-content: center; }
.footer_navi_item{}
.footer_navi_item a{ display: block; font-size: 1.6rem; color: #fff; }


.btm_menu{ position: fixed; bottom: -90px; left: 0; right: 0; width: 100%; margin: 0 auto; z-index: 99; background: var(--second-color); padding: 10px 0 5px 0; border-top: 2px solid #fff; }
.btm_menu_list{ display: flex; justify-content: space-between; }
.btm_menu_item{ flex: 1; border-right: 2px solid #fff; text-align: center; }
.btm_menu_item:last-child{ border-right: none; }
.btm_menu_item a{ display: block; text-align: center; font-size: 1.7rem; font-weight: 700; color: #fff; padding: 10px 10px; }
.btm_menu_item a i{ font-size: 2.2rem; margin-right: 5px; }


/* ----------------------------------------------------------
 hx
---------------------------------------------------------- */
.h1_wrap{ background-color: #f5f5f5; padding-bottom: 11px; padding-top: 0px; }
h1{ font-size: 2.5rem; color: var(--second-color); text-align: center; font-weight: 700; margin-bottom: 0px; line-height: 1.3; padding-top: 20px; }

h2{}
h2.h2_top01{ font-size: 2.2rem; color: var(--second-color); text-align: center; font-weight: 700; margin-bottom: 20px; }

.page_sec h2{ font-size: 2.2rem; color: var(--btn-color); font-weight: 700; text-align: center; padding: 10px 0; border-top: 2px solid var(--btn-color); border-bottom: 2px solid var(--btn-color); letter-spacing: 1px; margin-bottom: 20px; }
.features h2{ font-size: 2.2rem; color: #222; padding: 0; margin-bottom: 10px; border-top: 0; border-bottom: 0; }
.features h2 span{ color: var(--second-color); }


.page_sec h3{ position: relative; font-size: 2rem; color: var(--second-color); font-weight: 700; text-align: center; padding: 5px 0; letter-spacing: 1px; margin-bottom: 30px; }
h3:before{ content: ''; position: absolute; top: -5px; display: inline-block; width: 80%; height: 2px; left: 50%; transform: translateX(-50%); background-color: var(--second-color); }
h3:after{ content: ''; position: absolute; bottom: -5px; display: inline-block; width: 80%; height: 2px; left: 50%; transform: translateX(-50%); background-color: var(--second-color); }

.page_sec h4{ font-size: 1.8rem; font-weight: 700; color: var(--second-color); line-height: 1.2; margin-bottom: 10px; }


/* ぱんくず */
 
.breadcrumbs_sec{ margin-top: 0; letter-spacing: 2px; text-align: center; } 
.breadcrumbs_sec > span{ display: inline-block; position: relative; color: #999; font-size: 1rem; }
.breadcrumbs_sec > span span{ margin-left: 15px; }
.breadcrumbs_sec > span a span{ margin-left: 0; }
.breadcrumbs_sec > span:first-child span{ margin-left: 0; }
.breadcrumbs_sec > span br{ display: none; }
.breadcrumbs_sec > span:before{ content: "/"; display: block; position: absolute; top: 0; left: 5px; color: #999; font-size: 12px; }
.breadcrumbs_sec span:first-child:before{ content: ""; margin-left: 0; display: none; }
.breadcrumbs_sec > span a{ color: #999; font-size: 1rem; margin: 0 0 0 20px; }
.breadcrumbs_sec > span:first-child a{ margin: 0 0 0 0; }
.breadcrumbs_sec span a:hover{ opacity: 0.6; }

/* ----------------------------------------------------------
 contents
---------------------------------------------------------- */

/* ページ内アンカーナビ */
.main_nav{ width: 100%; margin: 0 auto 40px auto; background-color: #376092; padding: 15px; }
.main_nav nav{}
.main_nav .menu{ display: flex; justify-content: center; flex-wrap: wrap; gap: 0 25px; }
.main_nav .menu-item{ position: relative; font-size: 1.5rem; }
.main_nav .menu-item a{ color: #fff; font-size: 1.5rem; font-weight: 700; }
.main_nav .menu-item:before{ content: "/"; position: absolute; top: 0; left: -15px; color: #fff; }
.main_nav .menu-item:nth-child(1):before{ content: ""; display: none; }
.main_nav .menu-item:nth-child(5):before{ content: "/"; position: absolute; top: 0; left: -15px; }




.top_img_wrap{ position: relative; padding-top: 0px; width: 100%; overflow: hidden; }
.top_img{}
.top_img img{ width: 100%; height: auto; display: block; }
.top_img .slick-list { overflow: hidden !important; }

.top_catch{ position: absolute; width: 100%; top: 50%; left: auto; right: auto; text-align: center; margin: 0 auto; z-index: 2; font-size: 2rem; color: #666; font-weight: 700; }
.top_catch span{}
.top_catch p{ font-size: 1.5rem; }

.marker{
font-weight: bold;

/* 最初は元の文字色（継承） */
color: inherit;

/* マーカー背景 */
background-image: linear-gradient(to right, #4ba371 50%, transparent 50%);
background-repeat: no-repeat;
background-size: 200% 100%;
background-position: 100% 0;

/* アニメーション */
transition: background-position 0.6s ease, color 0.6s ease;

/* テキスト周りの余白（左だけ少し広め） */
display: inline-block;
padding: .05em .1em .05em .3em; 
/* 上   右   下   左 */
}

.marker.is-active{
background-position: 0 0;
color: #fff;
}





.top_btn01{ width: 85%; margin: 0 auto 20px auto; }
.top_btn01 a{ position: relative; display: block; color: #fff; font-size: 1.6rem; font-weight: 700; text-align: center; padding: 10px; border-radius: 5px; background-color: var(--btn-color); border: 1px solid var(--btn-color); }
.top_btn01 a:before{ content: "\e900"; font-family: 'icomoon' !important; display: block; position: absolute; top: 10px; right: 10px; font-size: 2rem; color: #fff; font-weight: normal; }
.top_btn01 a:hover{ }

.top_feature{ position: relative; background-color: #f5f5f5; padding: 30px 0 20px 0; }

.top_feature_list{ width: 90%; margin: 0 auto; display: flex; justify-content: space-between; flex-wrap: wrap; }
.top_feature_item{ position: relative; flex-basis: 48%; margin-bottom: 30px; }
.top_feature_item a:hover{ opacity: .6; }
.top_feature_item_num01{ position: absolute; top: -15px; left: 10px; width: 30px; height: 30px; background-color: var(--main-color); border-radius: 100%; color: #fff; z-index: 2; text-align: center; font-weight: 700; font-size: 2.2rem; line-height: 25px; }
.top_feature_item_img01{ margin-bottom: 10px; }
.top_feature_item_img01 img{ width: 100%; height: auto; }
.top_feature_item_txt01{ font-size: 1.6rem; font-weight: 600; text-align: center; line-height: 1.3; }
.top_feature_item_txt01 span{ color: #d4a21c; }

.top_feature_btn01{ position: absolute; bottom: -20px; left: 0; right: 0; margin: 0 auto; }


.top_btn{ width: 90%; margin: 0 auto; padding: 50px 0 30px 0; }
.top_bnt_list{ display: flex; justify-content: space-between; }
.top_btn_item{ flex-basis: 31%; }
.top_btn_item a{ display: block; border: 1px solid var(--main-color); color: var(--main-color); font-size: 1.7rem; font-weight: 700; text-align: center; padding: 15px 10px; border-radius: 5px; }
.top_btn_item a:hover{ background-color: var(--main-color); color: #fff; }
.top_btn_item a i{ font-size: 5rem; }
.top_btn_item a p{}


.top_type{ background-color: #f5f5f5; padding: 30px 0; }
.top_type_list{ width: 90%; margin: 0 auto 20px auto; display: flex; justify-content: space-around; flex-wrap: wrap; }
.top_type_item{ flex: 1 0 auto; margin: 0 5px 10px 5px; }
.top_type_item a{ display: block; font-size: 1.6rem; font-weight: 700; text-align: center; color: var(--second-color); background-color: #fff; border-radius: 10px; padding: 10px; }
.top_type_item a:hover{ background-color: var(--second-color); color: #fff; }
.top_type_btn01{ margin-bottom: 0; }


.top_main01{ width: 90%; margin: 0 auto 20px auto; padding-top: 30px; }
.top_main01_img01{ margin-bottom: 10px; }
.top_main01_img01 img{ width: 100%; height: auto; }
.top_main01_txt01{ font-size: 1.5rem; line-height: 1.4; font-weight: 700; margin-bottom: 20px; }

.top_column{ background-color: #f5f5f5; padding: 30px 0; }
.top_column_sec{ width: 90%; margin: 0 auto; }
.top_column_list{ margin-bottom: 20px; }
.top_column_item{ display: flex; justify-content: flex-start; align-items: center; flex-wrap: wrap; border-bottom: 1px solid #ccc; padding-bottom: 10px; margin-bottom: 10px; }
.top_column_date01{ font-size: 1.4rem; color: #666; margin-right: 10px; }
.top_column_cat01{ /* background-color: var(--main-color); color: #fff; font-size: 1.4rem; padding: 2px 10px; border-radius: 40px; */ }
.top_column_tit01{ flex-basis: 100%; font-size: 1.6rem; font-weight: 700; margin-top: 5px; }

.top_column .top_btn01 a{ background-color: var(--second-color); border-color: var(--second-color); }
.top_column .top_btn01 a:hover{ color: var(--second-color); }


.page_sec{ width: 90%; margin: 0 auto 60px auto; }
.page_sec .wp-block-column p{ letter-spacing: 2px; line-height: 1.6; margin-bottom: 20px; }


.clinichours_list{ width: 90%; margin: 0 auto 20px auto; }
.clinichours_item{ display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }
.clinichours_tit01{ flex-basis: 35%; color: #fff; font-size: 1.6rem; font-weight: 700; text-align: center; padding: 5px; border-radius: 5px; }
.clinichours_time01{ flex-basis: 55%; font-size: 2.2rem; font-weight: 700; }
.clinichours_item_closed .clinichours_time01{ font-size: 1.9rem; }
.clinichours_item_am .clinichours_tit01,
.clinichours_item_pm .clinichours_tit01{ background-color: var(--main-color); }

.clinichours_item_closed .clinichours_tit01{ background-color: #de8562; }

.yoyaku_btn{ width: 80%; margin: 0 auto; }
.yoyaku_btn a{ display: block; color: #fff !important; font-size: 2rem; text-align: center; font-weight: 700; padding: 10px; background-color: var(--second-color); border: 1px solid var(--second-color); border-radius: 5px; text-decoration: none !important; }
.yoyaku_btn a i{ margin-right: 10px; }
.yoyaku_btn a:hover{ color: var(--second-color) !important; background-color: #fff; }

.flow_list{}
.flow_item{ display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 20px; }
.flow_item_img01{ position: relative; flex-basis: 20%; display: flex; align-items: center; }
/*
.flow_item_img01:after{ display: block; content: ""; position: absolute; left: 20px; top: 0; background-color: #ddd; width: 3px; transform: translate(-50%,-50%); height: 200px; }
*/
.flow_item_img01 img{ width: 100%; height: auto; border-radius: 100%; }
.flow_sec01{ flex-basis: 75%; display: flex; align-items: center; flex-wrap: wrap; }
.flow_item_step01{ background-color: #f9ebcc; font-size: 1.3rem; color: #e19a00; font-weight: 700; padding: 3px 10px; border-radius: 5px; margin-right: 10px; }
.flow_item_tit01{ font-size: 2.2rem; font-weight: 700; letter-spacing: 2px; }
.flow_item_txt01{ flex-basis: 100%; font-size: 1.5rem; line-height: 1.5; letter-spacing: 2px; margin-top: 5px; }

.flow_item_img01:after{ content: ""; position: absolute; top: 120%; left: 49%; z-index: -1; width: 3px; height: 120%; background-image: linear-gradient(to bottom, #ddd, #ddd 2px); background-size: 2px 9px; background-position: right bottom; background-repeat: repeat-y; }

.flow_item:last-child .flow_item_img01:after{ display: none; }


.mri_list{ width: 90%; margin: 0 auto; }
.mri_item{ display: flex; margin-bottom: 10px; }
.mri_item_tit01{ flex-basis: 60%; background-color: var(--main-color); border-radius: 5px 0 0 5px; padding: 10px; text-align: center; font-size: 1.6rem; color: #fff; font-weight: 700; }
.mri_item_txt01{ flex-basis: 40%; background-color: #eee; border-radius: 0 5px 5px 0; padding: 10px; text-align: center; font-size: 1.6rem; font-weight: 700; }


.pay_sec{ width: 80%; margin: 0 auto; }
.pay_list{ width: 90%; margin: 0 auto; display: flex; justify-content: space-between; }
.pay_item{ flex-basis: 49%; background-color: var(--main-color); border-radius: 10px; padding: 10px; text-align: center; }
.pay_item_ico01{ color: #fff; font-size: 5rem; }
.pay_item p{ color: #fff; font-size: 1.7rem; font-weight: 700;  }

.gallery01 img{ border-radius: 10px; }

.details{ line-height: 1.5; width: 100%; margin: 0 auto 20px; background-color: #eee; border-radius: 10px; margin-bottom: 10px; }
.details__summary{ position: relative; display: block; font-size: 1.78rem; font-weight: 700; cursor: pointer; margin: 0; padding: 10px 40px 10px 16px; }
.details__summary::-webkit-details-marker{ display: none; }
.details__content{ overflow: hidden; margin: 0; padding-left: 16px; padding-right: 16px; font-size: 1.4rem; }
.details__content > *{ margin: 0; padding-top: 0px; }
.details__content > *:last-child{ padding-bottom: 16px; }

/* ▼矢印アイコン（after） */
.details summary::after{ position: absolute; right: 15px; top: 0; bottom: 0; margin: auto 0; content: ''; display: inline-block; width: 7px; height: 7px;	margin-left: 8px;	border-bottom: 3px solid var(--main-color);	border-right: 3px solid var(--main-color); transform: rotate(45deg); transition: transform .3s;	align-self: center; }
.details[open] summary::after {
	transform: rotate(225deg);
}

.feature_tit01{ width: 80px;  background-color: #f9ebcc; font-size: 1.3rem; text-align: center; color: #e19a00; font-weight: 700; padding: 3px 10px; border-radius: 5px; margin: 0 auto 10px auto; }

.features .page_sec{ margin: 0 auto 40px auto; }

.features_btn{ width: 85%; margin: 0 auto 20px auto; }
.features_btn a{ position: relative; display: block; color: #fff !important; font-size: 1.6rem; font-weight: 700; text-align: center; padding: 10px; border-radius: 5px; background-color: var(--btn-color); border: 1px solid var(--btn-color); text-decoration: none !important; }
.features_btn a:before{ content: "\e900"; font-family: 'icomoon' !important; display: block; position: absolute; top: 10px; right: 10px; font-size: 2rem; color: #fff; font-weight: normal; }
.features_btn a:hover{ background-color: #fff; color: var(--btn-color); }

.w80{ width: 80%; margin: 0 auto; }

.doctor p{ font-size: 1.6rem; letter-spacing: 1px; line-height: 1.6; margin-bottom: 20px; }


.column_blocks{ position: relative; width: 90%; margin: 60px auto 30px auto; background-color: #eee; padding: 30px 15px 15px 15px; border-radius: 10px; }
.column_blocks_tit{ position: absolute; top: -15px; left: 0; right: 0; margin: 0 auto; color: #fff; font-size: 1.6rem; width: 200px; padding: 3px; text-align: center; border-radius: 40px; background-color: var(--btn-color); letter-spacing: 1px; font-weight: 700; }
.column_blocks_tit i{ margin-right: 10px; }
.column_blocks_tit01{ font-size: 1.6rem; color: var(--btn-color); text-align: center; font-weight: 700; }
.column_blocks_txt01{ font-size: 1.4rem; text-align: justify; }
.column_blocks_url01{ text-align: right; }
.column_blocks_url01 a i{ margin-right: 5px; }
.column_blocks_url01 a{ display: block; font-size: 1.2rem; letter-spacing: 2px; color: #1e2f92; font-weight: 700; }


.page_sec a{ color: var(--btn-color); text-decoration: underline; }
.page_sec a:hover{ text-decoration: none; }

.page_sec p.txt02{ font-size: 1.4rem; }

.wp-element-caption{ text-align: center; font-size: 1.3rem; }

.table01 table{ border-top: 1px solid #ccc; }
.table01 table th{ font-size: 1.8rem; background-color: #f5f5f5; padding: 10px 10px; border-bottom: 1px solid #ccc; }
.table01 table td{ font-size: 1.8rem; padding: 20px 10px; border-bottom: 1px solid #ccc; }

/*
.table02{}
.table02 table th{ font-size: 1.8rem; background-color: #f5f5f5; padding: 10px 20px; border: 1px solid #ccc;  }
.table02 table td{ font-size: 1.8rem; padding: 20px; border: 1px solid #ccc; }
*/

.table02{}
.table02 table th{ font-size: 1.5rem; background-color: #f5f5f5; border: 1px solid #ccc; padding: 5px; }
.table02 table td{ font-size: 1.6rem; border: 1px solid #ccc; padding: 5px; }


.voice_sec{}
.voice_list{}
.voice_item{ background-color: #f5f5f5; padding: 20px; border-radius: 10px; margin-bottom: 20px; }
.voice_tit01{ font-size: 2rem; font-weight: 700; margin-bottom: 10px; }
.voice_txt01{ font-size: 1.6rem; line-height: 1.8; margin-bottom: 10px; }
.voice_type01{ text-align: right; font-size: 1.6rem; }



/* よくある質問 */
.faq_sec{ width: 90%; margin: 60px auto 80px auto !important; }

.faq_accordion{ margin-bottom: 15px; border-radius: 10px; background-color: #f5f5f5; }
.faq_accordion summary{ position: relative; display: flex;justify-content: space-between; align-items: center; padding: 15px 30px 15px 45px; color: #131f43; font-size: 1.7rem; font-weight: 400; cursor: pointer; line-height: 1.3; }

/* デフォルトマーカー非表示 */
.faq_accordion summary::-webkit-details-marker{	display: none; }

/* ▼矢印アイコン（after） */
.faq_accordion summary::after{ position: absolute; right: 15px; top: 0; bottom: 0; margin: auto 0; content: ''; display: inline-block; width: 7px; height: 7px;	margin-left: 8px;	border-bottom: 3px solid var(--main-color);	border-right: 3px solid var(--main-color); transform: rotate(45deg); transition: transform .3s;	align-self: center; }

/* ▼Qマーク（before） */
.faq_accordion summary::before{
	content: "Q.";
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	left: 15px;
	top: 45%;
	transform: translateY(-50%); /* ←縦中央揃え */
	width: 20px; /* アイコン領域確保 */
	height: 20px;
	font-size: 2.5rem;
	color: var(--main-color);
	font-family: 'Zen Old Mincho';
	font-weight: 700;
}

.faq_accordion[open] summary::after {
	transform: rotate(225deg);
}

.faq_accordion p {
	transform: translateY(-10px);
	opacity: 0;
	margin: 0;
	padding: 20px;
	transition: transform .5s, opacity .5s;
	
	background-color: #eee;
	border-radius: 0 0 10px 10px;
}

.faq_accordion[open] p {
	transform: none;
	opacity: 1;
	margin: 0;
}


.page_sec .wp-block-list{ margin-left: 20px; }
.page_sec .wp-block-list li{ list-style-type: disc; }
.page_sec ol.wp-block-list li{ list-style-type: decimal; }

.ol_num{ margin-left: 30px; }
.ol_num li{ list-style-type: decimal; font-size: 1.4rem; }
.ol_num li a{ text-decoration: underline; font-size: 1.4rem; }
.ol_num li a:hover{ text-decoration: none; }




.table_history01 table{}
.table_history01 table th{ padding: 10px; border-bottom: 1px solid #ccc; white-space: nowrap; }
.table_history01 table td{ padding: 10px; border-bottom: 1px solid #ccc; }


.main_news{ width: 90%; margin: 0 auto; }

.news_tit h1{ margin-bottom: 20px; }

.news_detail h2:before,
.news_detail h2:after,
.news_detail h3:before,
.news_detail h3:after{ display: none; }

.news_detail h2{ border-bottom: 2px solid #ccc; padding: 5px; margin-bottom: 20px; }
.news_detail h3{ background-color: #f5f5f5; font-weight: 700; padding: 10px; margin-bottom: 20px; }
.news_detail h4{ font-weight: 700; margin-bottom: 10px; }


.column_cat{ background-color: #ddd; padding: 20px 0 10px 0; margin-top: 5px; }
.column_cat_list{ width: 90%; margin: 0 auto 20px auto; display: flex; justify-content: space-between; flex-wrap: wrap; }
.column_cat_list li{ flex: 1 0 auto; margin: 0 .5% 10px .5%; }
.column_cat_list li a{ display: block; font-size: 1.6rem; font-weight: 700; text-align: center; color: var(--second-color); background-color: #fff; border-radius: 5px; padding: 5px; }
.column_cat_list li a:hover{ background-color: var(--second-color); color: #fff; }
.top_type_btn01{ margin: 0 auto; }


.news_sec{ flex-basis: 100%; }
.news_list{ margin-top: 10px; }
.news_item{ display: flex; align-items: center; flex-wrap: wrap; padding-bottom: 10px; margin-bottom: 10px; width: 100%; border-bottom: 1px solid #ccc; }
.archive .news_item{ flex-wrap: nowrap; }
.news_date{ flex-basis: 13%; font-size: 1.3rem; padding: 3px 0; margin-right: 10px;  }
.news_cat{ flex-basis: 85%; font-size: 1.5rem; letter-spacing: 2px; }
.news_cat p{ font-size: 1.5rem !important; letter-spacing: 2px; margin-bottom: 0 !important; }
.news_cat_news{ background-color: var(--main-color); }

.category__item { display:inline-block; margin-right: .2em; }
.category__item:last-child { margin-right: 0; }
a.category__link{ display: inline-block; border: 1px solid var(--second-color); color: var(--second-color); padding: 2px 6px; margin: 0 1px 1px 0; font-size: 1.2rem; }
a:hover.category__link{ background-color: var(--second-color); color: #fff; }

.top_column_cat01 a.category__link{ display: inline-block; border: 1px solid var(--second-color); color: var(--second-color); padding: 2px 6px; margin: 0 1px 1px 0; font-size: 1.2rem; }
.top_column_cat01 a:hover.category__link{ background-color: var(--second-color); color: #fff; }


.tag__item { display:inline-block; margin-right: .5em; }
.tag__item:last-child { margin-right: 0; }
a.tag__link{ display: inline-block; color: var(--second-color); padding: 3px 8px; margin: 0 5px 5px 0; }
a:hover.tag__link{ opacity: .6; }


.news_tit{ flex-basis: 100%; font-size: 2.5rem; letter-spacing: 2px; margin-bottom: 5px;  }
.news_tit h1{ text-align: left; margin-bottom: 30px; padding-top: 10px; }
.news_sec h2{ width: 100%; font-size: 1.8rem; text-align: left; margin: 0; padding: 10px 0 0 0; font-weight: 700; background: transparent; margin-bottom: 20px; }

.news_tit h2:before,
.news_tit h2:after{ display: none; }


.news_detail p{ margin-bottom: 20px; }
.news_detail a{ text-decoration: underline; }
.news_detail a:hover{ text-decoration: none; }

.news_detail ul{ margin-left: 30px; margin-bottom: 20px; }
.news_detail ul li{ list-style-type: disc; }


.profileTxtSet a{ text-decoration: underline !important; }
.profileTxtSet a:hover{ text-decoration: none !important; }

.news_thumb{ margin-right: 10px; }

.thumb-100{
  width: 100px;
  height: 100px;
  object-fit: cover; /* はみ出しをトリミングして正方形に */
	margin-right: 10px;
}

.wp-pagenavi{ width: 90%; margin: 40px auto 80px auto; display: flex; justify-content: center; }
.wp-pagenavi a{ display: block; font-size: 1.8rem; text-align: center; color: var(--main-color); background-color: #fff; border-color: var(--main-color) !important; width: 30px; height: 30px; line-height: 29px; padding: 0 !important; }
.wp-pagenavi a:hover{ background-color: var(--main-color); color: #fff; }
.wp-pagenavi span.current{ display: block; width: 32px; height: 32px; line-height: 29px; text-align: center; background-color: var(--main-color); color: #fff; border: 1px solid var(--main-color) !important; margin: 2px; }

.wp-pagenavi span{
	text-decoration: none;
	border: 1px solid var(--main-color) !important;
	width: 32px; height: 32px; line-height: 29px; padding: 0 !important;
	text-align: center;
}


.sidebar{ flex-basis: 100%; }

.sidebar_sec{ background-color: #f5f5f5; margin-bottom: 40px; }
.sidebar_sec h3{ position: relative; background-color: var(--main-color); color: #fff; font-size: 2rem; font-weight: 700; padding: 10px; letter-spacing: 2px; margin-bottom: 0; }


.sidebar_sec h3:before{ display: none; }
.sidebar_sec h3:after{ display: none; }

.sidebar_sec01{ padding: 20px 30px 10px 30px; }

.sidebar_sec01_list > li,
.sidebar_sec01_item{ position: relative; padding: 0px 0px 0px 1em; font-size: 1.4rem; letter-spacing: 1px; margin-bottom: 10px; }
.sidebar_sec01_list > li:before,
.sidebar_sec01_item:before{ position: absolute; top: 50%; left: 0px; transform: translateY(-50%); width: 0px; height: 0px; border: 0.3em solid transparent; border-left: 0.4em solid #aaa; content: ""; }
.sidebar_sec01_item a:hover{ opacity: .6; }
.sidebar_sec01_item a img{ /* width: 100%; height: auto; */ }
.sidebar_sec01_thumb{ margin-bottom: 5px; }
.sidebar_sec01_title{ /* font-weight: 700; */ }

.wpp-cards{ margin: 0 !important; }
.wpp-list li{ font-size: 14px !important; }
.wpp-cards li .wpp-post-title {
    margin-bottom: 0.5em;
    font-size: 1.6rem !important;
    line-height: 1.2;
}


/* single.php pagination */

.pagination{ margin: 60px auto 0 auto; padding-top: 40px; border-top: 1px solid var(--main-color); }
.pagination ul{ width: 100%; margin: 0 auto 100px auto; display: flex; justify-content: space-between; }
.pagination ul li{ flex-basis: 32%; position: relative; }
.pagination ul li:before{ display: none; content: ''; width: 6px; height: 6px; border-top: solid 1px #ccc; border-right: solid 1px #ccc; position: absolute; top: 20px; }
.pagination ul li:nth-child(1):before{ transform: rotate(225deg); left: 30px; }
.pagination ul li:nth-child(2):before{ display: none; }
.pagination ul li:nth-child(3):before{ transform: rotate(45deg); right: 30px; }


.pagination ul li a{ display: block; border: 1px solid var(--main-color); color: var(--main-color); font-size: 15px; font-weight: 500; padding: 10px; text-align: center; background-color: #fff; transition:all .3s ease; text-decoration: none; border-radius: 5px; }
.pagination ul li a:hover{ background: var(--main-color); color: #fff; opacity: 1; }
.pagination ul li.next{ text-align: left; }
.pagination ul li.next i{ margin-right: 20px; }
.pagination ul li:nth-child(2) {  }
.pagination ul li:nth-child(2) a{ display: block; text-decoration: none; }
.pagination ul li.next a,
.pagination ul li.prev a{ display: block; background: var(--main-color); color: #fff; text-decoration: none; }
.pagination ul li.next a:hover,
.pagination ul li.prev a:hover{ background: #fff; color: var(--main-color); }
.pagination ul li.prev i{ margin-left: 20px; }
.pagination ul li.next span,
.pagination ul li.prev span{ display: block; border: 1px solid #b0cdea; color: #fff; background: #ccc; font-size: 15px; font-weight: 500; padding: 10px; text-align: center; border-radius: 5px; }


.pagination ul li.next.nopost:before,
.pagination ul li.prev.nopost:before{ border-top: solid 1px var(--main-color); border-right: solid 1px var(--main-color); }



.sitemap ul.wp-block-list{ margin-bottom: 30px; }
.sitemap ul.wp-block-list > li{ font-size: 2rem; margin-bottom: 10px; }
.sitemap ul.wp-block-list > li > ul{ margin-top: 5px; margin-left: 40px; }
.sitemap ul.wp-block-list > li > ul > li{ font-size: 1.6rem; }




/* ----------------------------------------------------------
 TAB CSS
---------------------------------------------------------- */
@media screen and (min-width: 521px){

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

/* フォントサイズ10px=62.5% */
html{ font-size: 50%; }

/* 基本のフォントサイズ */
body{ font-size: 1.8rem; padding-top: 0; }

/* 非表示用 */
.noneTAB		{ display: none !important; }

/* ----------------------------------------------------------
 header
---------------------------------------------------------- */
header{ position: fixed; top: 0; width: 100%; height: 50px; z-index: 100; background-color: #fff; box-shadow: 0px 8px 16px -6px rgba(0,0,0,0.1); display: flex; justify-content: space-between; align-items: center; }

.header_logo{ flex-basis: 55%; margin-left: 0%; }
.header_logo img{ width: 100%; height: auto; max-width: 263px; max-height: 47px; }
.header_logo a:hover{ opacity: .6; }

.header_sec{ display: flex; height: auto; padding-top: 0; width: 100%; }

.header_logo_sec{ padding-top: 0; margin-left: 2%; }
.header_logo_sec a{ display: block; text-align: left; }

.header_sns{ flex-basis: 28%; margin: 0; position: absolute; right: 80px; left: auto; }
.header_sns_list{ display: flex; justify-content: space-around; }
.header_sns_item{ margin: 0 5%; }
.header_sns_item a{ display: block; font-size: 3rem; color: var(--btn-color); }
.header_sns_item a:hover{ opacity: .6; }

.gnavi{ }
.header_tel{ display: none; }
.header_yoyaku01{ display: none; }
.header_yoyaku02{ display: none; }

.header_att{ font-size: 1.6rem; }


/* ぱんくず */
 
.breadcrumbs_sec{ margin-top: 0; letter-spacing: 2px; text-align: center; } 
.breadcrumbs_sec > span{ display: inline-block; position: relative; color: #999; font-size: 1rem; }
.breadcrumbs_sec > span span{ margin-left: 15px; }
.breadcrumbs_sec > span a span{ margin-left: 0; }
.breadcrumbs_sec > span:first-child span{ margin-left: 0; }
.breadcrumbs_sec > span br{ display: none; }
.breadcrumbs_sec > span:before{ content: "/"; display: block; position: absolute; top: -3px; left: 5px; color: #999; font-size: 12px; }
.breadcrumbs_sec span:first-child:before{ content: ""; margin-left: 0; display: none; }
.breadcrumbs_sec > span a{ color: #999; font-size: 1rem; margin: 0 0 0 20px; }
.breadcrumbs_sec > span:first-child a{ margin: 0 0 0 0; }
.breadcrumbs_sec span a:hover{ opacity: 0.6; }

/* ----------------------------------------------------------
 footer
---------------------------------------------------------- */
.btm_menu{ position: fixed; bottom: -90px; left: 0; right: 0; width: 100%; margin: 0 auto; z-index: 99; background: var(--second-color); padding: 10px 0 5px 0; border-top: 2px solid #fff; }
.btm_menu_list{ display: flex; justify-content: space-between; }
.btm_menu_item{ flex: 1; border-right: 2px solid #fff; text-align: center; }
.btm_menu_item:last-child{ border-right: none; }
.btm_menu_item a{ display: block; text-align: center; font-size: 1.9rem; font-weight: 700; color: #fff; padding: 10px 10px; }
.btm_menu_item a i{ font-size: 2.5rem; margin-right: 5px; }


	
/* ----------------------------------------------------------
 hx
---------------------------------------------------------- */
.h1_wrap{ background-color: #f5f5f5; padding-bottom: 11px; padding-top: 70px; }



/* ----------------------------------------------------------
 contents
---------------------------------------------------------- */
.top_img_wrap{ position: relative; padding-top: 0px; width: 100%; }
.top_img{}
.top_img img{ width: 100%; height: auto; z-index: -1; }

.top_catch{ position: absolute; width: 100%; top: 60%; left: auto; right: auto; text-align: center; margin: 0 auto; z-index: 2; font-size: 3rem; color: #666; font-weight: 700; }
.top_catch span{}
.top_catch p{ font-size: 2rem; }

.marker{
font-weight: bold;

/* 最初は元の文字色（継承） */
color: inherit;

/* マーカー背景 */
background-image: linear-gradient(to right, #4ba371 50%, transparent 50%);
background-repeat: no-repeat;
background-size: 200% 100%;
background-position: 100% 0;

/* アニメーション */
transition: background-position 0.6s ease, color 0.6s ease;

/* テキスト周りの余白（左だけ少し広め） */
display: inline-block;
padding: .05em .1em .05em .3em; 
/* 上   右   下   左 */
}

.marker.is-active{
background-position: 0 0;
color: #fff;
}





.top_btn01{ width: 350px; margin: 0 auto 20px auto; }
.top_btn01 a{ position: relative; display: block; color: #fff; font-size: 1.6rem; font-weight: 700; text-align: center; padding: 10px; border-radius: 5px; background-color: var(--btn-color); border: 1px solid var(--btn-color); }
.top_btn01 a:before{ content: "\e900"; font-family: 'icomoon' !important; display: block; position: absolute; top: 10px; right: 10px; font-size: 2rem; color: #fff; font-weight: normal; }
.top_btn01 a:hover{ }

.top_feature{ position: relative; background-color: #f5f5f5; padding: 30px 0 20px 0; }

.top_feature_list{ width: 90%; margin: 0 auto; display: flex; justify-content: space-between; flex-wrap: wrap; }
.top_feature_item{ position: relative; flex-basis: 48%; margin-bottom: 30px; }
.top_feature_item_num01{ position: absolute; top: -15px; left: 10px; width: 30px; height: 30px; background-color: var(--main-color); border-radius: 100%; color: #fff; z-index: 2; text-align: center; font-weight: 700; font-size: 2.2rem; line-height: 25px; }
.top_feature_item_img01{ margin-bottom: 10px; }
.top_feature_item_img01 img{ width: 100%; height: auto; }
.top_feature_item_txt01{ font-size: 2rem; font-weight: 600; text-align: center; line-height: 1.3; }
.top_feature_item_txt01 span{ color: #d4a21c; }

.top_feature_btn01{ position: absolute; bottom: -20px; left: 0; right: 0; margin: 0 auto; }


.top_btn{ width: 90%; margin: 0 auto; padding: 50px 0 30px 0; }
.top_bnt_list{ display: flex; justify-content: space-between; }
.top_btn_item{ flex-basis: 31%; }
.top_btn_item a{ display: block; border: 1px solid var(--main-color); color: var(--main-color); font-size: 2rem; font-weight: 700; text-align: center; padding: 15px 10px; border-radius: 5px; }
.top_btn_item a:hover{ background-color: var(--main-color); color: #fff; }
.top_btn_item a i{ font-size: 5.5rem; }
.top_btn_item a p{}


.top_type{ background-color: #f5f5f5; padding: 30px 0; }
.top_type_list{ width: 90%; margin: 0 auto 20px auto; display: flex; justify-content: flex-start; flex-wrap: wrap; }
.top_type_item{ flex: 1 0 auto; margin: 0 1% 10px 1%; }
.top_type_item a{ display: block; font-size: 2rem; font-weight: 700; text-align: center; color: var(--second-color); background-color: #fff; border-radius: 10px; padding: 10px; }
.top_type_item a:hover{ background-color: var(--second-color); color: #fff; }
.top_type_btn01{ margin-bottom: 0; }


.top_main01{ width: 90%; margin: 0 auto 20px auto; padding-top: 30px; }
.top_main01_img01{ margin-bottom: 10px; }
.top_main01_img01 img{ width: 100%; height: auto; }
.top_main01_txt01{ font-size: 1.8rem; line-height: 1.4; font-weight: 700; margin-bottom: 20px; }

.top_column{ background-color: #f5f5f5; padding: 30px 0; }
.top_column_sec{ width: 90%; margin: 0 auto; }
.top_column_list{ margin-bottom: 20px; }
.top_column_item{ display: flex; justify-content: flex-start; align-items: center; flex-wrap: wrap; border-bottom: 1px solid #ccc; padding-bottom: 10px; margin-bottom: 10px; }
.top_column_date01{ font-size: 1.4rem; color: #666; margin-right: 10px; }
.top_column_cat01{ /* background-color: var(--main-color); color: #fff; font-size: 1.4rem; padding: 2px 10px; border-radius: 40px; */ }
.top_column_tit01{ flex-basis: 100%; font-size: 1.8rem; font-weight: 700; margin-top: 5px; }

.top_column .top_btn01 a{ background-color: var(--second-color); border-color: var(--second-color); }
.top_column .top_btn01 a:hover{ color: var(--second-color); }



}
/* ----------------------------------------------------------
TAB CSS END
---------------------------------------------------------- */

/* ----------------------------------------------------------
PC CSS
---------------------------------------------------------- */
@media print, screen and (min-width: 1200px){

/* フォントサイズ10px */
html{ font-size: 62.5%; }

/* 基本のフォントサイズ */
body{ font-size: 16px; font-size: 1.8rem; }

/* 非表示用 */
.nonePC		{ display: none !important; }

/* ----------------------------------------------------------
 header
---------------------------------------------------------- */
header{ position: fixed; top: 0; width: 100%; height: 150px; z-index: 100; background-color: #fff; box-shadow: 0px 8px 16px -6px rgba(0,0,0,0.1); display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; }

.header_sec{ height: 100px; }

.header_logo{ flex-basis: 30%; margin-left: 2%; }
.header_logo img{ width: 100%; height: auto; max-width: 335px; max-height: 50px; }
.header_logo a:hover{ opacity: .6; }

.header_logo_sec{ padding-top: 25px; text-align: left; }
.header_logo_sec a{ display: block; }

.header_sns{ /* flex-basis: 25%; margin-right: 50px; */ position: absolute; right: 550px; top: 30px; width: 12%; max-width: 150px; z-index: 2; }
.header_sns_list{ display: flex; justify-content: space-around; }
.header_sns_item{}
.header_sns_item a{ display: block; font-size: 3.5rem; color: var(--btn-color); }
.header_sns_item a:hover{ opacity: .6; }


.toggle_btn{ display: none; }

.gnavi{ flex-basis: 100%; background-color: #f5f5f5; }

#navArea{ width: 1150px; margin: 0 auto; }

#menu-content{ width: 100%; margin: 0; list-style-type: none; position: relative; display: flex; flex-wrap: nowrap; justify-content: center; }
#menu-content > li{ float: none; width: auto; flex: 1 0 auto; margin: 0 1%; text-align: center; }
#menu-content > li > a{ position: relative; display: block; font-size: 1.8rem; text-decoration: none;	font-weight: 700; /* height: 50px; */ padding-top: 0 !important; height: 50px; line-height: 50px; }
#menu-content > li > a span{ display: block; font-size: 1.2rem; font-weight: 400; }
#menu-content > li > a:after{ position: absolute; content: ""; width: 60%; height: 3px; left: 50%; background-color: var(--main-color); bottom: 1px; transform: translateX(-50%) scaleX(0); transform-origin: center; transition: transform .3s; }

#menu-inner{ display: none; }



.header-nav{ display: block; }
.header-list {
  display: flex;
  justify-content: center;
}
.header-item {
  transition: background-color .3s;
}
.header-item:hover {
  background-color: #99c2e7;
}
.header-item a {
  display: block;
	color: #222;
  padding: 10px;
	font-weight: 700;
}
.header-item > a:hover{ color: #fff; background-color: #99c2e7; }
.megaMenu {
  background-color: #99c2e7;
  height: 0;
  left: 0;
  overflow: hidden;
  position: absolute;
  text-align: center;
  transition: height .3s;
  width: 100%;
	padding: 0 10%;
}
.megaMenu-list {
  padding-bottom: 30px;
  padding-top: 30px;
}
.megaMenu-item {
  display: inline-block;
}
.megaMenu-item a{}
.megaMenu-item a:hover{ color: #fff; }
/* メニューをhoverした時のスタイル */
.header-item:hover .megaMenu {
  height: auto;
}




.header_tel{ display: block; position: absolute; right: 270px; top: 10px; font-size: 3rem; font-weight: 700; text-align: right; }
.header_tel i{ font-size: 2.1rem; margin-right: 5px; color: var(--second-color); }
.header_tel p{ font-size: 1.2rem !important; font-weight: normal; margin-bottom: 0 !important; }
.header_tel span{ display: inline-block !important; }
.header_tel br{ display: none; }

.tooltip .tooltiptext {
  visibility: hidden;
  width: 300px;
  background-color: #fff;
  color: #666;
  border-radius: 6px;
  padding: 10px;
  position: absolute;
  z-index: 99999;
  top: 100%;
  left: auto;
	right: -40%;
  transform: translateX(-50%); /* 中央基準で左に50%ずらす */
  margin-top: 4px;             /* 元要素とのすき間 */
	font-size: 1.6rem !important;
	font-weight: normal;
	border: 2px solid #eee;
	text-align: left;
}
.tooltip .tooltiptext span{ font-weight: 700; }

.tooltip:hover .tooltiptext {
  visibility: visible;
}


/*モーダルを開くボタン*/
.modal-open{ cursor: pointer; }
/*モーダル本体の指定 + モーダル外側の背景の指定*/
.modal-container{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	text-align: center;
	background: rgba(0,0,0,50%);
	padding: 40px 20px;
	overflow: auto;
	opacity: 0;
	visibility: hidden;
	transition: .3s;
  box-sizing: border-box;
}
/*モーダル本体の擬似要素の指定*/
.modal-container:before{
	content: "";
	display: inline-block;
	vertical-align: middle;
	height: 100%;
}
/*モーダル本体に「active」クラス付与した時のスタイル*/
.modal-container.active{
	opacity: 1;
	visibility: visible;
}
/*モーダル枠の指定*/
.modal-body{
	position: relative;
	display: inline-block;
	vertical-align: middle;
	max-width: 500px;
	width: 90%;
}
/*モーダルを閉じるボタンの指定*/
.modal-close{
	position: absolute;
	display: flex;
  align-items: center;
  justify-content: center;
	top: -40px;
	right: -40px;
	width: 40px;
	height: 40px;
	font-size: 40px;
	color: #fff;
	cursor: pointer;
}
/*モーダル内のコンテンツの指定*/
.modal-content{
	background: #fff;
	text-align: left;
	padding: 30px;
}
.modal-content p{ font-size: 1.8rem !important; font-weight: 700; margin-bottom: 10px; }
.modal-content br{ display: block; }
.modal-content ul{ margin-left: 30px; }
.modal-content ul li{ list-style-type: disc; font-size: 1.6rem; }
.modal-content a{ text-decoration: underline; }
.modal-content a:hover{ text-decoration: none; }








.header_yoyaku01{ display: block; position: absolute; right: 150px; top: 0; width: 100px; text-align: center; z-index: 2; }
.header_yoyaku01 a{ display: flex; align-items: center; align-content: center; justify-content: center; flex-wrap: wrap; color: #fff; font-size: 1.6rem; background-color: var(--main-color); height: 100px; text-align: center; font-weight: 700; }

.header_yoyaku01 a i{ flex-basis: 100%; display: block; font-size: 3.2rem; margin-bottom: 10px; }
.header_yoyaku01 a:hover{ color: var(--main-color); background-color: #fff; }

.header_yoyaku02{ display: block; position: absolute; right: 0; top: 0; width: 150px; text-align: center; z-index: 2; }
.header_yoyaku02 a{ display: flex; align-items: center; align-content: center; justify-content: center; flex-wrap: wrap; color: #fff; font-size: 1.6rem; background-color: var(--second-color); height: 100px; text-align: center; font-weight: 700; }
.header_yoyaku02 a i{ flex-basis: 100%; display: block; font-size: 3.2rem; margin-bottom: 10px; }
.header_yoyaku02 a:hover{ color: var(--second-color); background-color: #fff; }


.header_yoyaku01 a p,
.header_yoyaku02 a p{ margin-bottom: 0 !important; }

.header_att{ position: fixed; top: 150px; width: 100%; background-color: var(--btn-color); text-align: center; color: #fff; font-size: 2.3rem; font-weight: 700; padding: 5px; z-index: 10; }


/* ----------------------------------------------------------
 footer
---------------------------------------------------------- */
/* ページ下部 固定メニュー */
.btm_menu{ display: none; }

footer{ background-color: var(--footer-color); padding: 30px 0; }

.footer_tit{ font-size: 3.3rem; color: #fff; text-align: center; font-weight: 700; letter-spacing: 2px; margin-bottom: 10px; }
.footer_add{ font-size: 1.8rem; color: #fff; text-align: center; margin-bottom: 20px; }
.footer_unei{ color: rgba(255,255,255,.3); font-size: 1.2rem; text-align: center; }


/* ----------------------------------------------------------
 hx
---------------------------------------------------------- */
.h1_wrap{ background-color: #f5f5f5; padding-bottom: 20px; padding-top: 180px; }
h1{ font-size: 4rem; color: var(--second-color); text-align: center; font-weight: 700; margin-bottom: 0px; line-height: 1.3; padding-top: 40px; }

h2{}
h2.h2_top01{ font-size: 2.7rem; color: var(--second-color); text-align: center; font-weight: 700; margin-bottom: 20px; }

.page_sec h2{ font-size: 3rem; color: var(--btn-color); font-weight: 700; text-align: center; padding: 10px 0; border-top: 2px solid var(--btn-color); border-bottom: 2px solid var(--btn-color); letter-spacing: 1px; margin-bottom: 40px; }
.features h2{ font-size: 3rem; color: #222; padding: 0; margin-bottom: 20px; border-top: 0; border-bottom: 0; }
.features h2 span{ color: var(--second-color); }


.page_sec h3{ position: relative; font-size: 2rem; color: var(--second-color); font-weight: 700; text-align: center; padding: 5px 0; letter-spacing: 1px; margin-bottom: 30px; }
h3:before{ content: ''; position: absolute; top: -5px; display: inline-block; width: 40%; height: 2px; left: 50%; transform: translateX(-50%); background-color: var(--second-color); }
h3:after{ content: ''; position: absolute; bottom: -5px; display: inline-block; width: 40%; height: 2px; left: 50%; transform: translateX(-50%); background-color: var(--second-color); }

.page_sec h4{ font-size: 1.8rem; font-weight: 700; color: var(--second-color); line-height: 1.2; margin-bottom: 10px; }


/* ぱんくず */
 
.breadcrumbs_sec{ margin-top: 0; letter-spacing: 2px; text-align: center; } 
.breadcrumbs_sec > span{ display: inline-block; position: relative; color: #999; font-size: 1.3rem; }
.breadcrumbs_sec > span span{ margin-left: 15px; }
.breadcrumbs_sec > span a span{ margin-left: 0; }
.breadcrumbs_sec > span:first-child span{ margin-left: 0; }
.breadcrumbs_sec > span br{ display: none; }
.breadcrumbs_sec > span:before{ content: "/"; display: block; position: absolute; top: 0; left: 5px; color: #999; font-size: 12px; }
.breadcrumbs_sec span:first-child:before{ content: ""; margin-left: 0; display: none; }
.breadcrumbs_sec > span a{ color: #999; font-size: 1.3rem; margin: 0 0 0 20px; }
.breadcrumbs_sec > span:first-child a{ margin: 0 0 0 0; }
.breadcrumbs_sec span a:hover{ opacity: 0.6; }





/* ----------------------------------------------------------
 contents
---------------------------------------------------------- */
.top_img_wrap{ position: relative; padding-top: 0px; width: 100%; height: 80vh; }
.top_img{ height: 87vh; padding-top: 180px; overflow: hidden; }
.top_img img{ width: 100%; height: auto; z-index: -1; }

.top_catch{ position: absolute; width: auto; top: 250px; left: 40px; right: auto; text-align: left; margin: 0 auto; z-index: 2; font-size: 5rem; color: #666; font-weight: 700; }
.top_catch span{}
.top_catch p{ font-size: 3rem; }

.marker{
font-weight: bold;

/* 最初は元の文字色（継承） */
color: inherit;

/* マーカー背景 */
background-image: linear-gradient(to right, #4ba371 50%, transparent 50%);
background-repeat: no-repeat;
background-size: 200% 100%;
background-position: 100% 0;

/* アニメーション */
transition: background-position 0.6s ease, color 0.6s ease;

/* テキスト周りの余白（左だけ少し広め） */
display: inline-block;
padding: .05em .1em .05em .3em; 
/* 上   右   下   左 */
}

.marker.is-active{
background-position: 0 0;
color: #fff;
}





.top_btn01{ width: 350px; margin: 0 auto 20px 40px; }
.top_btn01 a{ position: relative; display: block; color: #fff; font-size: 1.8rem; font-weight: 700; text-align: center; padding: 10px; border-radius: 5px; background-color: var(--btn-color); border: 1px solid var(--btn-color); }
.top_btn01 a:before{ content: "\e900"; font-family: 'icomoon' !important; display: block; position: absolute; top: 10px; right: 10px; font-size: 2rem; color: #fff; font-weight: normal; transition: .3s all; }
.top_btn01 a:hover{ background-color: #fff; color: var(--btn-color); }
.top_btn01 a:hover:before{ color: var(--btn-color); }

.top_feature{ position: relative; background-color: #f5f5f5; padding: 30px 0 20px 0; }

.top_feature_list{ width: 90%; margin: 40px auto 20px auto; display: flex; justify-content: space-between; flex-wrap: wrap; }
.top_feature_item{ position: relative; flex-basis: 24%; margin-bottom: 30px; }
.top_feature_item_num01{ position: absolute; top: -25px; left: 10px; width: 50px; height: 50px; background-color: var(--main-color); border-radius: 100%; color: #fff; z-index: 2; text-align: center; font-weight: 700; font-size: 3.2rem; line-height: 45px; }
.top_feature_item_img01{ margin-bottom: 10px; }
.top_feature_item_img01 img{ width: 100%; height: auto; }
.top_feature_item_txt01{ font-size: 2.2rem; font-weight: 600; text-align: center; line-height: 1.3; }
.top_feature_item_txt01 span{ color: #d4a21c; }
.top_feature_item_txt01 br{ display: none; }

.top_feature_btn01{ position: absolute; bottom: -20px; left: 0; right: 0; margin: 0 auto; }


.top_btn{ width: 60%; margin: 0 auto; padding: 90px 0 50px 0; }
.top_bnt_list{ display: flex; justify-content: space-between; }
.top_btn_item{ flex-basis: 31%; }
.top_btn_item a{ display: block; border: 1px solid var(--main-color); color: var(--main-color); font-size: 2.2rem; font-weight: 700; text-align: center; padding: 25px 10px; border-radius: 5px; }
.top_btn_item a:hover{ background-color: var(--main-color); color: #fff; }
.top_btn_item a i{ font-size: 6rem; }
.top_btn_item a p{}


.top_type{ background-color: #f5f5f5; padding: 30px 0; }
.top_type_list{ width: 1100px; margin: 0 auto 20px auto; display: flex; justify-content: space-between; flex-wrap: wrap; }
.top_type_item{ flex: 1 0 auto; margin: 0 .5% 10px .5%;  }
.top_type_item a{ display: block; font-size: 1.8rem; font-weight: 700; text-align: center; color: var(--second-color); background-color: #fff; border-radius: 10px; padding: 10px; }
.top_type_item a:hover{ background-color: var(--second-color); color: #fff; }
.top_type_btn01{ margin: 0 auto; }


.top_main_list{ width: 80%; margin: 0 auto; display: flex; justify-content: space-between; padding-bottom: 40px; }
.top_main_item{ flex-basis: 48%; }

.top_main01 h2{ font-size: 4rem; }

.top_main01{ width: 84%; margin: 0 auto 20px auto; padding-top: 30px; }
.top_main01_img01{ margin-bottom: 10px; }
.top_main01_img01 img{ width: 100%; height: auto; }
.top_main01_txt01{ font-size: 1.5rem; line-height: 1.4; font-weight: 700; margin-bottom: 20px; }

.top_main01 .top_btn01{ margin: 0 auto; }

.top_column{ background-color: #f5f5f5; padding: 30px 0 40px 0; }
.top_column_sec{ width: 800px; margin: 0 auto; }
.top_column_list{ margin-bottom: 20px; }
.top_column_item{ display: flex; justify-content: flex-start; align-items: center; flex-wrap: wrap; border-bottom: 1px solid #ccc; padding-bottom: 10px; margin-bottom: 10px; }
.top_column_date01{ font-size: 1.4rem; color: #666; margin-right: 10px; }
.top_column_cat01{ /* background-color: var(--main-color); color: #fff; font-size: 1.4rem; padding: 2px 10px; border-radius: 40px; */ }
.top_column_tit01{ flex-basis: 100%; font-size: 2rem; font-weight: 700; margin-top: 5px; }

.top_column .top_btn01{ margin: 0 auto; }
.top_column .top_btn01 a{ background-color: var(--second-color); border-color: var(--second-color); }
.top_column .top_btn01 a:hover{ color: var(--second-color); background-color: #fff; }
.top_column .top_btn01 a:before{ transition: all .3s; }
.top_column .top_btn01 a:hover:before{ color: var(--second-color); }


.clinichours_list{ width: 90%; margin: 0 auto 20px auto; display: flex; justify-content: space-between; }
.clinichours_item{ flex-basis: 33%; display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }
.clinichours_tit01{ flex-basis: 35%; color: #fff; font-size: 1.8rem; font-weight: 700; text-align: center; padding: 5px; border-radius: 5px; }
.clinichours_time01{ flex-basis: 55%; font-size: 2.4rem; font-weight: 700; }
.clinichours_item_closed .clinichours_time01{ font-size: 2.1rem; }
.clinichours_item_am .clinichours_tit01,
.clinichours_item_pm .clinichours_tit01{ background-color: var(--main-color); }

.clinichours_item_closed .clinichours_tit01{ background-color: #de8562; }

.yoyaku_btn{ width: 300px; margin: 0 auto; }
.yoyaku_btn a{ display: block; color: #fff !important; font-size: 2rem; text-align: center; font-weight: 700; padding: 10px; background-color: var(--second-color); border: 1px solid var(--second-color); border-radius: 5px; text-decoration: none !important; }
.yoyaku_btn a i{ margin-right: 10px; }
.yoyaku_btn a:hover{ color: var(--second-color) !important; background-color: #fff; }

.flow_list{ width: 800px; margin: 0 auto; }
.flow_item{ display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 20px; }
.flow_item_img01{ position: relative; flex-basis: 20%; display: flex; align-items: center; }
/*
.flow_item_img01:after{ display: block; content: ""; position: absolute; left: 20px; top: 0; background-color: #ddd; width: 3px; transform: translate(-50%,-50%); height: 200px; }
*/
.flow_item_img01 img{ width: 100%; height: auto; border-radius: 100%; }
.flow_sec01{ flex-basis: 75%; display: flex; align-items: center; flex-wrap: wrap; }
.flow_item_step01{ background-color: #f9ebcc; font-size: 1.5rem; color: #e19a00; font-weight: 700; padding: 3px 10px; border-radius: 5px; margin-right: 10px; }
.flow_item_tit01{ font-size: 2.4rem; font-weight: 700; letter-spacing: 2px; }
.flow_item_txt01{ flex-basis: 100%; font-size: 1.7rem; line-height: 1.5; letter-spacing: 2px; margin-top: 5px; }

.flow_item_img01:after{ content: ""; position: absolute; top: 100%; left: 49%; z-index: -1; width: 3px; height: 100%; background-image: linear-gradient(to bottom, #ddd, #ddd 2px); background-size: 2px 9px; background-position: right bottom; background-repeat: repeat-y; }

.flow_item:last-child .flow_item_img01:after{ display: none; }


.mri_list{ display: flex; justify-content: space-between; width: 90%; margin: 0 auto; }
.mri_item{ flex-basis: 48%; display: flex; margin-bottom: 10px; }
.mri_item_tit01{ flex-basis: 60%; background-color: var(--main-color); border-radius: 5px 0 0 5px; padding: 10px; text-align: center; font-size: 1.8rem; color: #fff; font-weight: 700; }
.mri_item_txt01{ flex-basis: 40%; background-color: #eee; border-radius: 0 5px 5px 0; padding: 10px; text-align: center; font-size: 1.8rem; font-weight: 700; }


.pay_sec{ width: 400px; margin: 0 auto; }
.pay_list{ width: 90%; margin: 0 auto; display: flex; justify-content: space-between; }
.pay_item{ flex-basis: 49%; background-color: var(--main-color); border-radius: 10px; padding: 10px; text-align: center; }
.pay_item_ico01{ color: #fff; font-size: 5rem; }
.pay_item p{ color: #fff; font-size: 2rem; font-weight: 700;  }

.gallery01{ width: 800px; margin: 0 auto; }
.gallery01 img{ border-radius: 10px; width: 100% !important; height: auto !important; }

.details{ line-height: 1.5; width: 100%; margin: 0 auto 20px; background-color: #eee; border-radius: 10px; margin-bottom: 10px; }
.details__summary{ position: relative; display: block; font-size: 2rem; font-weight: 700; cursor: pointer; margin: 0; padding: 10px 40px 10px 16px; }
.details__summary::-webkit-details-marker{ display: none; }
.details__content{ overflow: hidden; margin: 0; padding-left: 16px; padding-right: 16px; font-size: 1.6rem; }
.details__content > *{ margin: 0; padding-top: 0px; }
.details__content > *:last-child{ padding-bottom: 16px; }


.feature_tit01{ width: 120px;  background-color: #f9ebcc; font-size: 2rem; text-align: center; color: #e19a00; font-weight: 700; padding: 3px 10px; border-radius: 5px; margin: 0 auto 10px auto; }

.features .page_sec{ margin: 0 auto 40px auto; }

.features_btn{ width: 350px; margin: 0 auto 20px auto; }
.features_btn a{ position: relative; display: block; color: #fff !important; font-size: 1.8rem; font-weight: 700; text-align: center; padding: 10px; border-radius: 5px; background-color: var(--btn-color); border: 1px solid var(--btn-color); text-decoration: none !important; }
.features_btn a:before{ content: "\e900"; font-family: 'icomoon' !important; display: block; position: absolute; top: 10px; right: 10px; font-size: 2rem; color: #fff; font-weight: normal; transition: all .3s; }
.features_btn a:hover{ background-color: #fff; color: var(--btn-color) !important; }
.features_btn a:hover:before{ color: var(--btn-color) !important; }

.w80{ width: 80%; margin: 0 auto; }

.doctor p{ font-size: 1.7rem; margin-bottom: 20px; }


.column_blocks{ position: relative; width: 400px; margin: 60px auto 30px auto; background-color: #eee; padding: 30px 15px 15px 15px; border-radius: 10px; }
.column_blocks_tit{ position: absolute; top: -15px; left: 0; right: 0; margin: 0 auto; color: #fff; font-size: 1.8rem; width: 200px; padding: 3px; text-align: center; border-radius: 40px; background-color: var(--btn-color); letter-spacing: 1px; font-weight: 700; }
.column_blocks_tit i{ margin-right: 10px; }
.column_blocks_tit01{ font-size: 2rem; color: var(--btn-color); text-align: center; font-weight: 700; margin-bottom: 5px; }
.column_blocks_txt01{ font-size: 1.6rem; text-align: justify; margin-bottom: 5px; }
.column_blocks_url01{ text-align: right; }
.column_blocks_url01 a i{ margin-right: 5px; }
.column_blocks_url01 a{ display: block; font-size: 1.4rem; letter-spacing: 2px; color: #1e2f92; font-weight: 700; }


.page_sec{ width: 1100px; margin: 0 auto 60px auto; }
.page_sec a{ color: var(--btn-color); text-decoration: underline; }
.page_sec a:hover{ text-decoration: none; }

.page_sec p.txt02{ font-size: 1.4rem; }

.wp-element-caption{ text-align: center; font-size: 1.3rem; }

.table01 table{ border-top: 1px solid #ccc; }
.table01 table th{ font-size: 1.8rem; background-color: #f5f5f5; padding: 10px 10px; border-bottom: 1px solid #ccc; }
.table01 table td{ font-size: 1.8rem; padding: 20px 10px; border-bottom: 1px solid #ccc; }

.table02{}
.table02 table th{ font-size: 1.8rem; background-color: #f5f5f5; padding: 10px 20px; border: 1px solid #ccc;  }
.table02 table td{ font-size: 1.8rem; padding: 20px; border: 1px solid #ccc; }


.wp-block-image figcaption{ font-size: 1.3rem !important; }

/* よくある質問 */
.faq_sec{ width: 1000px; margin: 60px auto 80px auto !important; }

.faq_accordion{ margin-bottom: 15px; border-radius: 10px; background-color: #f5f5f5; }
.faq_accordion summary{	display: flex;justify-content: space-between; align-items: center; position: relative; padding: 20px 20px 20px 55px; color: #131f43; font-size: 2rem; font-weight: 400; cursor: pointer; line-height: 1.3; }

/* デフォルトマーカー非表示 */
.faq_accordion summary::-webkit-details-marker{	display: none; }

/* ▼矢印アイコン（after） */
.faq_accordion summary::after{ content: ''; display: inline-block; width: 7px; height: 7px;	margin-left: 8px;	border-bottom: 3px solid var(--main-color);	border-right: 3px solid var(--main-color); transform: rotate(45deg); transition: transform .3s;	align-self: center; }

/* ▼Qマーク（before） */
.faq_accordion summary::before{
	content: "Q.";
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	left: 20px;
	top: 45%;
	transform: translateY(-50%); /* ←縦中央揃え */
	width: 20px; /* アイコン領域確保 */
	height: 20px;
	font-size: 2.5rem;
	color: var(--main-color);
	font-family: 'Zen Old Mincho';
	font-weight: 700;
}

.faq_accordion[open] summary::after {
	transform: rotate(225deg);
}

.faq_accordion p {
	transform: translateY(-10px);
	opacity: 0;
	margin: 0;
	padding: 20px;
	transition: transform .5s, opacity .5s;
	
	background-color: #eee;
	border-radius: 0 0 10px 10px;
}

.faq_accordion[open] p {
	transform: none;
	opacity: 1;
	margin: 0;
}



.main_news{ display: flex; justify-content: space-between; width: 1100px; margin: 60px auto; padding: 0 0 80px 0; }

.news_sec{ flex-basis: 65%; }
.news_list{}
.news_item{ display: flex; flex-wrap: wrap; align-items: center; padding-bottom: 10px; margin-bottom: 10px; width: 100%; border-bottom: 1px solid #ccc; }
.archive .news_item{ flex-wrap: nowrap; }
.news_date{ flex-basis: 13%; font-size: 1.3rem; padding: 3px 0; margin-right: 10px;  }
.news_cat{ flex-basis: 85%; font-size: 1.5rem; letter-spacing: 2px; }
.news_cat p{ font-size: 1.5rem !important; letter-spacing: 2px; margin-bottom: 0 !important; }
.news_cat_news{ background-color: var(--main-color); }

.category__item { display:inline-block; margin-right: .5em; }
.category__item:last-child { margin-right: 0; }
a.category__link{ display: inline-block; border: 1px solid var(--second-color); color: var(--second-color); padding: 3px 8px; margin: 0 5px 5px 0; font-size: 1.6rem; }
a:hover.category__link{ background-color: var(--second-color); color: #fff; }

.top_column_cat01 a.category__link{ display: inline-block; border: 1px solid var(--second-color); color: var(--second-color); padding: 3px 8px; margin: 0 3px 3px 0; font-size: 1.4rem; }
.top_column_cat01 a:hover.category__link{ background-color: var(--second-color); color: #fff; }


.tag__item { display:inline-block; margin-right: .5em; }
.tag__item:last-child { margin-right: 0; }
a.tag__link{ display: inline-block; color: var(--second-color); padding: 3px 8px; margin: 0 5px 5px 0; }
a:hover.tag__link{ opacity: .6; }


.news_tit{ flex-basis: 100%; font-size: 2.5rem; letter-spacing: 2px; margin-bottom: 5px;  }
.news_tit h1{ text-align: left; margin-bottom: 30px; padding-top: 10px; }
.news_sec h2{ width: 100%; font-size: 2rem; margin-top: 5px; text-align: left; margin: 0; padding: 10px; font-weight: 700; background: transparent; margin-bottom: 0px; margin-bottom: 20px; }

.news_detail p{ margin-bottom: 20px; }
.news_detail a{ text-decoration: underline; }
.news_detail a:hover{ text-decoration: none; }

.news_detail ul{ margin-left: 30px; margin-bottom: 20px; }
.news_detail ul li{ list-style-type: disc; }


.profileTxtSet a{ text-decoration: underline !important; }
.profileTxtSet a:hover{ text-decoration: none !important; }

#toc_container {
background: #f9f9f9;
border: 1px solid #aaa;
padding: 10px 20px;
margin-bottom: 1em;
width: auto;
display: table;
font-size: 95%
}

.thumb-100{
  width: 100px;
  height: 100px;
  object-fit: cover; /* はみ出しをトリミングして正方形に */
	margin-right: 10px;
}


.column_cat{ background-color: #ddd; padding: 30px 0 20px 0; margin-top: 5px; }
.column_cat_list{ width: 90%; margin: 0 auto 20px auto; display: flex; justify-content: space-between; flex-wrap: wrap; }
.column_cat_list li{ flex: 1 0 auto; margin: 0 .5% 10px .5%; }
.column_cat_list li a{ display: block; font-size: 1.8rem; font-weight: 700; text-align: center; color: var(--second-color); background-color: #fff; border-radius: 10px; padding: 10px; }
.column_cat_list li a:hover{ background-color: var(--second-color); color: #fff; }
.top_type_btn01{ margin: 0 auto; }


.news_tit h2:before,
.news_tit h2:after{ display: none; }
.news_tit .new{ color: #f00; font-size: 1.5rem; margin-right: 10px; }
.news_txt{ font-size: 1.6rem; letter-spacing: 3px; line-height: 2; }

.single-column .news_tit h1{ color: #222; font-size: 3rem; font-weight: 900; font-family: 'Noto Sans JP'; margin-bottom: 20px; padding: 10px 0 0 0; }
.single-column .news_detail h2{ width: 100%; color: #222; font-size: 3rem; font-weight: 700; font-family: 'Noto Sans JP'; margin-bottom: 20px; padding: 20px 0 20px 40px; text-align: left; letter-spacing: 2px; border-top: 2px solid #13beb8; border-bottom: 2px solid #13beb8; position: relative; background: transparent; }
.single-column .news_detail h2:before,
.single-column .news_detail h2:after{ display: none; }
.single-column .news_detail h2:before{ position: absolute; top: 20px; left: 0; display: block; content: "\e900"; font-family: 'icomoon'; color: #818181; font-size: 3rem; width: auto; height: auto; background-color: transparent; transform: translateX(0); font-weight: normal; }
.single-column .news_detail h2:first-letter{ color: #13beb8; }
.single-column .news_detail h3{ background-color: #eee; padding: 10px 20px; border-radius: 10px; margin-bottom: 20px; font-size: 2.4rem; font-weight: 700; }
.single-column p{ font-size: 1.8rem; letter-spacing: 2px; line-height: 1.8; margin-bottom: 20px; }

.news_single_sec .news_item{ border-bottom: 0; }
.news_single_sec .news_tit{ font-weight: 500; padding: 10px 0; border-bottom: 1px solid var(--main-color); margin-bottom: 20px; }


.wp-pagenavi{ width: 90%; margin: 40px auto 80px auto; display: flex; justify-content: center; }
.wp-pagenavi a{ display: block; font-size: 1.8rem; text-align: center; color: var(--main-color); background-color: #fff; border-color: var(--main-color) !important; width: 30px; height: 30px; line-height: 29px; padding: 0 !important; }
.wp-pagenavi a:hover{ background-color: var(--main-color); color: #fff; }
.wp-pagenavi span.current{ display: block; width: 32px; height: 32px; line-height: 29px; text-align: center; background-color: var(--main-color); color: #fff; border: 1px solid var(--main-color) !important; margin: 2px; }

.wp-pagenavi span{
	text-decoration: none;
	border: 1px solid var(--main-color) !important;
	width: 32px; height: 32px; line-height: 29px; padding: 0 !important;
	text-align: center;
}


.sidebar{ flex-basis: 30%; }

.sidebar_sec{ background-color: #f5f5f5; margin-bottom: 40px; }
.sidebar_sec h3{ position: relative; background-color: var(--main-color); color: #fff; font-size: 1.8rem; font-weight: 500; padding: 15px; letter-spacing: 2px; margin-bottom: 0; }


.sidebar_sec h3:before{ display: none; }
.sidebar_sec h3:after{ display: none; }

.sidebar_sec01{ padding: 20px 30px 20px 30px; }

.sidebar_sec01_list{}
.sidebar_sec01_list > li,
.sidebar_sec01_item{ position: relative; padding: 0px 0px 0px 1em; font-size: 1.6rem; letter-spacing: 1px; margin-bottom: 10px; }
.sidebar_sec01_list > li:before,
.sidebar_sec01_item:before{ position: absolute; top: 50%; left: 0px; transform: translateY(-50%); width: 0px; height: 0px; border: 0.3em solid transparent; border-left: 0.4em solid #aaa; content: ""; }
.sidebar_sec01_item a:hover{ opacity: .6; }
.sidebar_sec01_item a img{ /* width: 100%; height: auto; */ }
.sidebar_sec01_thumb{ margin-bottom: 5px; }
.sidebar_sec01_title{ /* font-weight: 700; */ }



/* single.php pagination */

.pagination{ margin: 60px auto 0 auto; padding-top: 40px; border-top: 1px solid var(--main-color); }
.pagination ul{ width: 100%; margin: 0 auto 100px auto; display: flex; justify-content: space-between; }
.pagination ul li{ flex-basis: 20%; position: relative; }
.pagination ul li:before{ display: block; content: ''; width: 6px; height: 6px; border-top: solid 1px #fff; border-right: solid 1px #fff; position: absolute; top: 20px; }
.pagination ul li:nth-child(1):before{ transform: rotate(225deg); left: 20px; }
.pagination ul li:nth-child(2):before{ display: none; }
.pagination ul li:nth-child(3):before{ transform: rotate(45deg); right: 20px; }


.pagination ul li a{ display: block; border: 1px solid var(--main-color); color: var(--main-color); font-size: 15px; font-weight: 500; padding: 10px; text-align: center; background-color: #fff; transition:all .3s ease; text-decoration: none; border-radius: 5px; }
.pagination ul li a:hover{ background: var(--main-color); color: #fff; opacity: 1; }
.pagination ul li.next{ text-align: left; }
.pagination ul li.next i{ margin-right: 20px; }
.pagination ul li:nth-child(2) {  }
.pagination ul li:nth-child(2) a{ display: block; text-decoration: none; }
.pagination ul li.next a,
.pagination ul li.prev a{ display: block; background: var(--main-color); color: #fff; text-decoration: none; }
.pagination ul li.next a:hover,
.pagination ul li.prev a:hover{ background: #fff; color: var(--main-color); }
.pagination ul li.prev i{ margin-left: 20px; }
.pagination ul li.next span,
.pagination ul li.prev span{ display: block; border: 1px solid #b0cdea; color: #fff; background: #ccc; font-size: 15px; font-weight: 500; padding: 10px; text-align: center; border-radius: 5px; }


.pagination ul li.next.nopost:before,
.pagination ul li.prev.nopost:before{ border-top: solid 1px var(--main-color); border-right: solid 1px var(--main-color); }

.pagination ul li:hover:before{ border-top: solid 1px var(--main-color); border-right: solid 1px var(--main-color) }



}
/* ----------------------------------------------------------
 PC CSS END
---------------------------------------------------------- */
