@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/
/* -- google font -- */
@import url('https://fonts.googleapis.com/css2?family=Jost:wght@100;200;300;400;500;600;700&display=swap');

:root {
	--theme-color-lightest: #E9F3D7; /* rgba(190, 221, 140) */
	--theme-color-light: #A8D264; /* rgba(168, 210, 100) */
	--theme-color: #92C83E; /* rgba(146, 200, 62) */
	--theme-color-dark: #75A22F; /* rgba(117, 162, 47) */
	--theme-color-darker: #597A23; /* rgba(89, 122, 35) */
	--theme-color-darkest: #1A230A;


	--theme-color-pair-lightest: #FEF5F0; /* rgba(239, 232, 251) */
	--theme-color-pair-lighter: #F9BE94; /* rgba(186, 157, 240) */
	--theme-color-pair-light: #F6A163; /* rgba(155, 113, 233) */
	--theme-color-pair: #F58634; /* rgba(126, 71, 228) */
	--theme-color-pair-dark: #E8680C; /* rgba(95, 31, 212) */
	--theme-color-pair-darker: #B85209; /* rgba(75, 25, 168) */
	--theme-color-pair-darkest: #522404;
}
/* -------------------- 共通ルール ------------------------ */
.br::after {
	content: "\A" ;
	white-space: pre ;
}
body {
	font-family: Jost, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", , "游ゴシック", "メイリオ", YuGothic, Meiryo, sans-serif;
	text-align: justify;
	text-justify: inter-ideograph;
}
div#container {
	overflow: hidden;
}
/* ページタイプ　1カラム（広い）の最大幅 */
.wrap {
	max-width: 1100px;
}
#main{
	/* スクロール案内ボタンを縦方向にずらした（-20px）分必要 */
	margin-top:20px;
	padding: 20px 30px;
}
/*非表示オブジェクト*/
.header, header .date-tags, .single #header-in, .breadcrumb-item .fa-folder, .breadcrumb-item .fa-file, .post-update,
.page .entry-title, .page .date-tags, .page .author-info, div.appeal-content{
	display: none;
}
/* 見出し リセット */
.article h1, .article h2, .article h3, .article h4, .article h5, .article h6, .sidebar h1, .sidebar h2, .sidebar h3, .sidebar h4, .sidebar h5, .sidebar h6{
	font-family: Jost, Arial, "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;
	color: #333;
	border-radius: 0;
}
body:not(.home) .article h1, body:not(.home) .article h2, body:not(.home) .article h3, body:not(.home) .article h4, body:not(.home) .article h5, body:not(.home) .article h6, {
	font-family: Jost, Arial,"新ゴ R", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif!important;
}
.article h1, .article h2, .article h3, .article h4, .article h5, .article h6{
	margin-top: 40px;
	padding: 0;
	background: none;
	border: none;
}
.article header h1 {
	position: relative;
	display: block;
	padding-bottom: 9px;
	border-bottom: 3px solid #eee;
}
.article .m-1 {
	margin: .5em 0 !important;
}
.article .m-2 {
	margin: 1em 0 !important;
}
.article .m-3 {
	margin: 1.5em 0 !important;
}
.article .m-4 {
	margin: 2em 0 !important;
}
.article .m-5 {
	margin: 2.5em 0 !important;
}
.article .m-6 {
	margin: 3em 0 !important;
}
.article .mt-1 {
	margin-top: .5em !important;
}
.article .mt-2 {
	margin-top: 1em !important;
}
.article .mt-3 {
	margin-top: 1.5em !important;
}
.article .mt-4 {
	margin-top: 2em !important;
}
.article .mt-5 {
	margin-top: 2.5em !important;
}
.article .mt-6 {
	margin-top: 3em !important;
}
.article .mb-1 {
	margin-bottom: .5em !important;
}
.article .mb-2 {
	margin-bottom: 1em !important;
}
.article .mb-3 {
	margin-bottom: 1.5em !important;
}
.article .mb-4 {
	margin-bottom: 2em !important;
}
.article .mb-5 {
	margin-bottom: 2.5em !important;
}
.article .mb-6 {
	margin-bottom: 3em !important;
}
header h1::after{
	content: "";
	position: absolute;
	bottom: -3px;
	left: 0;
	height: 2.5px;
	width: 2em;
	background-color: var(--theme-color-pair-dark);
}

h2.catch{
	position: relative;
	display: inline-block;
	margin-bottom: 1em;
}

h2.catch:after {
	content: '';
	position: absolute;
	left: 50%;
	bottom: -5px;/*線の上下位置*/
	display: inline-block;
	width: 460px;/*線の長さ*/
	height: 2px;/*線の太さ*/
	transform: translateX(-50%);/*位置調整*/
	background-color: #eebbcb;/*線の色*/
	border-radius: 2px;/*線の丸み*/
}

.breadcrumb span.sp{
	color: #aaa;
}
.breadcrumb .breadcrumb-item {
	color: var(--theme-color-darker);
}
.cursor-pointer:hover {
	cursor: pointer;
}

/* 汎用 フレックスボックス（画像付）*/
body.home .flex-box {
	height: 30vh;
	top: -134px; /* 134 px で swiper にフィット*/
}
.flex-box.item-2 .item{
	position: relative;
	display: flex;
	overflow: hidden;
	width: calc( 100% / 2 );
}
.flex-box.item-3 .item{
	position: relative;
	display: flex;
	overflow: hidden;
	width: calc( 100% / 3 - .5px);
}
.flex-box .item:before {
	content: "";
	display: block;
	padding-top: 100%;
}
.flex-box .item img{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin-left: 0;
	object-fit: cover;
	-webkit-transform: scale(1.3);
	transform: scale(1.3);
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}
.flex-box .item img:hover{
	margin-left: 30px;
	opacity: .6;
}
.flex-box .title {
	width: 100%;
	height: 60px;
	color: var(--theme-color-dark);
	text-align: center;
	font-size: 1rem;
	font-family: "新ゴ R";
	padding: auto 0;
	margin-top: auto;
	backdrop-filter: blur(6px);
	background-color: rgba(255, 255, 255, 0.7);
	text-shadow: 2px 2px 5px #fff;
	z-index: 2;
}

/* ------------------------ swiper ---------------------- body直下に設置 */
#top-container {
	position: relative;
	top: -30px;
	z-index:0;
}
.swiper {
	width: 100%;
	overflow: hidden;
}
.swiper-slide {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
}
#top-container, .swiper-slide .slide-img, .swiper-slide img {
	width: 100vw;
	height: calc(100vh - 30vh); /* home 画面の flex-box の高さ */
}
.swiper-slide img {
	filter: brightness(.9);
}
.slide-content {
	position: absolute;
	padding: 20px;
	color: #fff;
	z-index: 9;
}
/* スライドガラス状のエフェクト */
.slide-content.sld-1, .slide-content .slide-title {
	text-shadow: 
		#333 1px 1px 5px, #ccc -1px 1px 10px,
		#333 1px -1px 5px, #ccc -1px -1px 10px;
}
.slide-content .slide-title {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-size: 2.6rem;
	line-height: 1.2;
}
.slide-content .subjects {
	font-family: "新ゴ B";
	font-size: 2rem;
}
.slide-content .text-logo{
	width: 80%;
	height: 80%;
	filter: drop-shadow(1px 1px 5px #333) drop-shadow(1px 1px 10px #ccc); 
}
.slide-content.sld-1 .slide-title {
	font-size: 3.4rem;
}
.slide-content .slide-title span {
	margin-right: 10px;
}
.slide-content .sub-title {
	font-family: Jost;
	font-weight: 500;
	font-size: 1.8rem;	
}
@keyframes zoomUp {
	0% {
		transform: scale(1);
	}
	100% {
		transform: scale(1.3);
	}
}
@keyframes blur{
	0% {
		filter: blur(100px);
	}
	100% {
		filter: blur(0);
	}
}
.swiper-slide-active .slide-img,
.swiper-slide-duplicate-active .slide-img,
.swiper-slide-prev .slide-img {
	animation: zoomUp 10s linear 0s 1 normal both, blur 1s ease-in-out;
	/*  animation: zoomUp 10s linear 0s 1 normal both; */
}
.slide-img img {
	display: block;
	object-fit: cover;
}
header.article-header {
	display: none;
}
#top-container .scroll-icon-box {
	position: absolute;
	left: calc(50% - 30px);
	bottom: 5px;
	z-index: 99;
	transition: 1s linear;
}
#top-container .scroll-icon-box:hover {
	transform: scale(1.1);
	transition-duration: .5s;
	animation-timing-function: ease;
	filter: drop-shadow(1px 1px 5px #333) drop-shadow(1px 1px 10px #ccc); 
}

#top-container .scroll-icon {
	width: 60px;
	height: 60px;
}
#top-container .scroll-icon-box .text {
	font-size: .8rem;
	color: white;
	font-family: Jost;
}
#top-container .scroll-icon-box a {
	text-decoration: none;
}
/* サイトトップ以外 headline ｜ カテゴリー見出し用 */
div#body_top_box{
	position: relative;
	max-width: 1222px;
	margin: 120px auto 0;
	z-index: 1; /* 直下itemの被さり防止 */
}
.headline_box{
	display: table;
	position: absolute;
	padding: 0 20px;
	text-align: center;
	color: #fff;
	width: 250px;
	height: 250px;
	font-size: 1.8rem;
	line-height: 1.2;
	backdrop-filter: blur(6px);
	background-color: rgba(255, 255, 255, 0.5);
	border-radius: 6px;
	text-shadow: 
		#666 1px 1px 5px, #ccc -1px 1px 10px,
		#666 1px -1px 5px, #ccc -1px -1px 10px;
	z-index: 2;
}
.headline {
	display: table-cell;
	vertical-align: middle;
	padding: 0 4px;
}

.headline h1.title-en{
	font-size: 2.1rem;
	font-weight: 500;
	font-family: Jost;
	border: none;
	display: block;
}
.headline .title-jp{
	display: block;
	font-size: 1rem;
	font-weight: normal;
	margin-top: 6px;
	color: var(--theme-color-pair-lightest);
}
#body_top_overlay {
	content: '';
	background: rgba(0, 90, 135, 0.4);
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0px;
	left: 0px;
	z-index: 1;
}
img.w-100, #body_top_img {
	width: 100%;
	max-height: 400px;
	object-fit: cover;
}
img.head-img {
	height: 300px;
	object-fit: cover;
}

/* side ボタン */
#side_menu {
	position: fixed;
	right: 0;
	top: calc(70vh - 400px - 80px);
	/* background-color: var(--theme-color-darkest); */
	z-index: 99999;
	opacity: .8;
	/*transition: 1s cubic-bezier(.22, 1, .36, 1) 0s;*/
	transition: .7s cubic-bezier(.22, 1, .36, 1) 0s;
}
#side_menu:hover{
	animation: 2s easeInOut;
}
body:not(.home) #side_menu {
	top: 200px;
}
#side_menu .item {
	position: relative;
	color: white;
	width: 80px;
	height: 80px;
	border: 1px solid rgba(255,255,255, .8);
	filter: drop-shadow(1px 1px 2px #000);
	transition: 1s linear;
}
#side_menu.active {
	opacity: 0;
}
#side_menu .item:hover {
	transition-duration: .5s;
	animation-timing-function: ease;
	background-color: var(--theme-color-darker);
	opacity: 1;
}
#side_menu .item:nth-child(2) {
	border-top: none;
}
#side_menu .item i{
	display: block;
	font-size: 1rem;
	margin-bottom: 4px;
}
#side_menu .item a{
	display: block;
	font-family: Jost;
	font-size: .75rem;
	font-weight: 500;
	text-decoration: none;
	color: white;
}
a.phone{
	font-size: 1.6rem;
	font-family: Jost;
	font-weight: 600;
	text-decoration: none;
}
/* 電話発信、PC無効 */
/*
a[href^="tel:"] {
pointer-events: none;
}
*/
.alert-box{
	border: none;
	background: rgba(238,187,203,0.2);
}
.alert-box::before{
	color: #eebbcb;
}
.information-box{
	border: none;
	background: rgba(28,163,143,0.1);
}
.information-box::before{
	color: var(--theme-color);
}

.tbl-time{
	text-align: center;
	table-layout: fixed;
	height: 180px;
}
.tbl-time th:first-child{
	width: 160px;
}
.tbl-time td{
	color: var(--theme-color-dark);
}
/* 本文リストを"Font Awesome 5 Free"で飾る */
ul {
	list-style: none;
	padding-left: 1em;
}
ul li::before{
	font-family: "Font Awesome 5 Free";
	font-weight: bold;
	margin-right: 3px;
	color: var(--theme-color-pair);
}
ul.check_circle li::before{
	padding-right: 6px;
	color: #eebbcb;
	content: '\f058'; /* アイコンのunicode */	
}
ul.check_circle li{
	padding-left:1.2em;
	text-indent:-1.2em;
}
ul.sinryo li{
	text-align: left;
	padding-left:1rem;
	text-indent:-1.3rem;
}
.home ul.sinryo li {
	font-size: 1rem;
}
ul.sinryo li:before{
	content: '\f0f1';
}
ul.github li:before {
	opacity: 0.2;
	content: '\f113';
}/* リスト（バス）を"Font Awesome 5 Free"で飾る */
ul.cmt li:before {
	padding-right: 6px;
	color: #eebbcb;	
	content: '\f27a'; /* アイコンのunicode */
}
/* 本文リストを"Font Awesome 5 Free"で飾る */
ul {
	list-style: none;
	padding-left: 1em;
}

/* カタカナ順（ア、イ、ウ、エ、オ...）にする場合 */
.iroha-list {
  list-style-type: katakana;
}
/* リスト（聴診器）を"Font Awesome 5 Free"で飾る */
div.catch .policy{
	font-size: 1em;
	line-height: 2em;
}
div.catch{
	display: flex;
	flex-direction: column;
	text-align:center;
}

div.map {
	position: relative;
	height: 450px;
	width: 100%;
	overflow: hidden;
}
.map iframe {
	position: absolute;
	top: -150px;
	left: 0;
	width: 100%;
	height: calc(100% + 150px + 150px);
	pointer-events: none;
}
.rich_font {
	font-family: "リュウミン R-KL" !important;
}
.rich_font_bold {
	font-family: "リュウミン B-KL" !important;
}
span.en{
	position: relative;
	left: -6px;
	font-size: 13px;
	color: var(--theme-color);
}
span.jp{
	font-size: 28px;
}
h2.blockTtl{
	margin-top: 0;
	font-family: "新ゴ R";
}
.yakushoku{
	font-size: 0.8em;
	font-weight: normal;
}
.doctor{
	font-size: 1.2em;
}
dl.dangumi{
	padding-left: 6em;
}
.dangumi dd:nth-of-type(2n), .dangumi dt:nth-of-type(2n){
	/* color: #00a497; */
}
.dangumi dt, .dangumi dd{
	float: left;
	margin: 0;
}
.dangumi dt{
	clear: left;
	float: left;
	margin-left: -6em;
}
/* カテゴリー別一覧の個別記事につくカテゴリー非表示 */
.entry-card-categorys{
	display: none !important;
}
.archive-title{
	font-weight: normal;
}
/* カテゴリー別一覧のカテゴリーの飾りアイコン追加 */
.archive-title span::before{
	font-family: "Font Awesome 5 Free";
	opacity: .6;
	color: #E35C70;
}

/* カテゴリー別一覧の記事間の余白 */
a.a-wrap{
	margin-bottom: 0;
}
/* カテゴリー別一覧ページの各記事の飾りアイコン */
.entry-card-title::before{
	font-family: "Font Awesome 5 Free";
	padding-right: 4px;	
	color: var(--theme-color);
}
/* お知らせの各記事タイトルにアイコン追加 */
.category-news .entry-card-title::before {
	content: '\f27a';
}
/* 子どもの病気の各記事タイトルにアイコン追加 */
.category-sickness .entry-card-title::before {
	content: '\f113';
	font-weight: 400!important;

}

/* アイキャッチ画像 */
img.eye-catch-image{
	height: 30vh;
	object-fit: cover;
}

/* 投稿記事のタイトルにつけるアイコン */
.post .entry-title::before{
	font-family: "Font Awesome 5 Free";
	padding-right: 6px;	
	color: var(--theme-color);
	opacity: .6;
}
/* お知らせ（記事）のタイトルにつけるアイコン */
.category-news-post .entry-title::before{
	content: '\f27a'; /* アイコンのunicode */	
}
/* 子どもの病気（記事）のタイトルにつけるアイコン */
.category-sickness-post .entry-title::before{
	content: '\f113'; /* アイコンのunicode */	
}
/* 子どもの病気（記事）のタイトル */
.article .entry-title{
	font-weight: normal;
}
/* information-box 輪郭なし */
.information-box{
	border: none;
	padding: 20px 40px;
}

/* カテゴリーラベル */
.cat-label,.cat-link{
	background-color: #B2D71D;
}
/* コンテンツ内は両端揃え */
.entry-content{
	line-height: 1.5;
	text-align: justify;
	text-justify: inter-ideograph;
}

/* ▼本文内修飾 */
.page_section{
	margin-top: 3rem;
	line-height: 1.55;
	clear: both;
}
.page_section:nth-child(1){
	margin-top: 0;
}
.page_section__header {
	display: flex;
	align-items: center;
	position: relative;
	padding-bottom: 1rem;
	margin-bottom: 1.5rem;
	border-bottom: 1px solid #eee;
}
h2.page_section__title{
	font-family: "新ゴ R";
	margin-top: 0;
	margin-bottom: 0;
	padding-top: 0;
	padding-bottom: 0;
}
h2.page_section__title::after{
	content: "";
	position: absolute;
	bottom: -1.5px;
	left: 0;
	height: 2.5px;
	width: 2em;
	background-color: var(--theme-color-pair-dark);
}
body:not(.single) .page_section__body{
	margin-left: 2em;
}
strong{
	font-family: "新ゴ R";
}
/* ▲本文内修飾 */

/* ▲Topページのバナー用 */

/* グローバルメニュー */
/* navi メニュー */
#header-container .navi {
	position: absolute;
	text-shadow: 1px 1px 1px #000;
	width: 100%;
	top: 0;
	left: 0;
	background-color: rgba(0, 45, 51, .1);
}
.fixed-header #navi, body:not(.home) #navi{
	font-size: 1rem;
	width: 100%;
	background-color: rgba(255, 255, 255, .9);
	-webkit-transition: all .4s ease 0s,background .6s ease .2s;
	transition: all .4s ease 0s,background .6s ease .2s;
	-webkit-overflow-scrolling: touch;
	overflow-scrolling: touch;
	border-bottom: solid 2px var(--theme-color-lighter);
	box-shadow: 0 1px 2px -1px rgba(0,0,0,.1), 0 3px 4px 0 rgba(0,0,0,.1), 0 1px 10px 0 rgba(0,0,0,.1);
}
#navi .home-top-btn {
	position: absolute;
	width: 200px;
	height: 100%;
	padding: 8px 20px;
	/*background-color: var(--theme-color-dark);*/
}
#navi .home-top-btn a{
	vertical-align: middle;
}
.home-top-btn .home_text_logo {
	transition: 0.5s linear;
	filter: drop-shadow(1px 1px 3px rgba(0, 0, 0, .8));
}
.home-top-btn .home_text_logo:hover {
	transform: scale(1.1);
	filter: drop-shadow(1px 1px 4px rgba(0, 0, 0, .9)) drop-shadow(1px 1px 3px rgba(255, 255, 255, .8));
}
#navi .navi-in a{
	font-size: 1rem;
	font-family: Jost, Arial, "新ゴ R", YuGothic, "メイリオ", Meiryo, sans-serif!important;
	font-weight: 600;
}
.navi-in >ul .sub-menu > li .item-label{
	text-shadow: none;
}
#navi i{
	opacity: .7;
}
.fixed-header #navi a, body:not(.home) #navi a{
	color: #000;
	text-shadow: none;
}
#footer li {
	position: relative;
}
#footer a {
	color: #333;
	display: block;
}
#footer a:hover {
	font-weight: bold;
}
#header-container .navi.hide{
	transform: translateY(-100%);
}
#navi .navi-in a:hover, .navi-footer-in a:hover{
	background-color: var(--theme-color-dark); /*テーマカラーより若干濃く*/
}
#navi a:hover i, .navi-footer-in a:hover i{
	color: #FFF; /*テーマカラーより若干濃く #004A7F #0068b7 rgba(0, 104, 183) */
	opacity: 1;
}
/* navi メニュー内ホームボタン */
a.home_btn{
	/*	display: none;*/
	width: 50px;
	height: 50px;
	position: absolute;
}
.naviFixed a.home_btn{
	display: block;
}
.home_logo {
	width: 40px;
	height: 40px;
	margin: 10px;
	filter: drop-shadow(1px 1px 1px #444) drop-shadow(1px 1px 1px rgba(255, 255, 255, .7));
	transition: 0.5s linear;
}
.home_logo:hover {
	filter: drop-shadow(1px 1px 1px #444) drop-shadow(1px 1px 5px rgba(255,255,255, .5));
	transform: scale(1.2);
	animation-timing-function: ease;
}
.bottom_title {
	font-family: "新ゴ R";
}
/*navメニューのサブメニュー*/
.navi-in > ul .sub-menu{
	box-shadow: 2px 2px 4px;
}
.navi-in > ul .sub-menu > li .item-label {
	color: #333;
}
.navi-in > ul .sub-menu > li .item-label:hover {
	color: white;
}
/* トップページでのみ、メニューのトップページボタンを非表示 */
.home #navi ul li:first-child {
	display: none;
}

/*著者情報を消す*/
.page .author-info {
	display: none;
}

/*著者情報を消す*/
.post .author-info {
	display: none;
}

.flex-wrap {
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.d-block {
	display: block;
}
.d-inline-block {
	display: inline-block;
}
.d-flex {
	display: -ms-flexbox;
	display: flex;
}
.d-row {
	flex-direction: row;
}
.d-col {
	flex-direction: column;
}
.d-center {
	justify-content: center;
	align-items: center;
}
.flex-col {
	-ms-flex-direction: column;
	flex-direction: column;
}
.flex-md-row {
	-ms-flex-direction: row;
	flex-direction: row;
}
.align-items-center {
	-ms-flex-align: center;
	align-items: center;
}
.between {
	-webkit-box-pack:justify;
	-ms-flex-pack:justify;
	justify-content:space-between;
}
.align-center {
	margin: 0 auto;
}
.text-center {
	text-align: center;
}
.text-justify {
	text-align: justify;
	text-justify: inter-ideograph;
}
.title_center_line{
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.9rem;
}
.title_center_line::before, .title_center_line::after{
	border-top: 1px solid var(--theme-color);
	width: 5rem;
	content: "";
}
.title_center_line::before{
	margin-right: .8rem;
}

.title_center_line::after {
	margin-left: .8rem;
}
.text-white {
	color: white;
}
.text-shadow {
	text-shadow: 1px 1px 1px #000;
}
.z-999 {
	z-index: 999;
}
/* Recent post widget */
.rpwe-block li {
	margin-top: 10px!important;
}
.rpwe-summary {
	line-height: 1.6;
}
/*リンクボタン*/
a.button-rounded {
	display: inline-block;
	position: relative;
	box-sizing: border-box;
	text-decoration: none;
	color: var(--theme-color-pair-dark);
	height: 66px;
	background: #fff;
	border: 2px solid var(--theme-color-pair-dark);
	border-radius: 5rem;
	font-size: 19px;
	line-height: 19px;
	letter-spacing: -0.3px;
	padding: 21px 40px 20px;
	margin: 20px 0;
	vertical-align: middle;
	color: #f3656f;
}

a.button {
	display: inline-block;
	position: relative;
	box-sizing: border-box;
	text-decoration: none;
	color: white;
	height: 66px;
	background: var(--theme-color-dark);
	font-size: .9rem;
	line-height: 1.8;
	letter-spacing: -0.3px;
	padding: 21px 40px 20px;
	margin: 20px 0;
	vertical-align: middle;
}
a.button:hover {
	background: var(--theme-color-darker);
}

img.doctor {
	width: 50%;
	height: 50%;
}
.news-box {
	display: block;
	position: relative;
	padding-top: 24px;
	text-align: left;

}
.news-box h3{
	font-size: 1.2rem;
	margin: .5rem 0;
}
.news-box .category {
	position: absolute;
	top: 0;
	right: 0;
	font-size: .8rem;
	padding: 3px 6px;
	background-color: var(--theme-color-dark);
}
.news-box .category a{
	color: white;
	text-decoration: none;
}
.news-box .date {
	display: inline-block;
	font-size: .75rem;
	padding: 2px 4px;
	background-color: var(--theme-color-lighter);
}
.news-box .excerpt {
	font-size: 1.1rem;
	padding: 2px 4px;
}
.news-box .permalink a{
	color: #333;
	font-size: 1rem;
	padding: 2px 4px;
}
.news-box p {
	margin: 6px 0;
}
.single .alert-box p {
	margin-bottom: 10px;
}
/* ダウンロードボックス */
.download-box {
	background: #f3fafe;
	border: 1px solid #bde4fc;
	padding: 10px 20px 10px 72px;
	border-radius: 4px;
	position: relative;
	display: block;
	margin-top: 1em;
	margin-bottom: 1em;
}
/* ダウンロードボックス（アイコン） */
.download-box::before{
	content: '\f019';
	color: #87cefa;
	border-right: 1px solid #bde4fc;	
	font-family: "Font Awesome 5 Free";
	font-weight: bold;
	font-size: 50px;
	position: absolute;
	top: -13px;
	left: 13px;
	padding-right: .15em;
	line-height: 1em;
	top: 50%;
	margin-top: -.5em;
	width: 44px;
	text-align: center;
}
.search-edit, input[type="text"]{
	border-radius: 0;
}
.prof_midashi {
	display: inline-block;
	font-size: 1rem;
	padding: 4px 30px;
	border: 1px solid var(--theme-color-dark);
	background: #fff;
}
}
.clearfix:after {
	display: block;
	clear: both;
	content: "";
}
/* content_header*/
div.content_header{
	text-align: center;
	margin: 100px 0 60px;
}
.catch_en {
	font-size: 1.3rem;
	font-weight: 400;
	color: var(--theme-color-light);
}
.catch_jp {
	font-size: 1.5rem;
	font-weight: bold;
	color: #333;
	margin-top: 20px;
}
hr.full-wide {
	opacity: .3;
	margin-top: 80px;
	margin-bottom: 40px;
}
.desc {
	font-size: 1rem;
	line-height: 1.8;
}
/* 院内紹介 */
body.page-facility .column-wrap .text {
	font-size: .98rem;
	padding: 60px;
	border: 1px solid #ccc;
}
body.page-facility .content-in {
	max-width: 980px;
}
body.page-facility h3.catch {
	color: var(--theme-color-dark);
}
body.page-facility h3.catch-pair {
	color: var(--theme-color-pair-dark);
}
body.page-facility .column-wrap {
	justify-content: flex-start;
	margin-bottom: 0!important;
}

.full-wide {
	position: relative;
	width: 100vw;
	left: 50%;
	right: 50%;
	padding: 0;
	margin: 30px -50vw;
	background-repeat: no-repeat;
	background-position: center center;
}
/* -------------------------- アクセス --------------------------- */
.map {
	position: relative;
	padding-top: 300px;
	height: 450px;
	width: 100%;
	overflow: hidden;
}
.map iframe {
	position: absolute;
	top: -150px;
	left: 0;
	width: 100%;
	height: calc(100% + 150px + 150px);
	pointer-events: none;
}
.map--gray iframe{
	-webkit-filter: grayscale(100%);
	-moz-filter: grayscale(100%);
	-o-filter: grayscale(100%);
	-ms-filter: grayscale(100%);
	filter: grayscale(100%);
}
.access-box {
	position: relative;
}
.balloon-pin{
	position: absolute;
	top: calc(50% - 150px);
	left: calc(50% - 70px);
	display: flex;
	width: 120px;
	height: 120px;
	border-radius: 50%;
	align-items: center;
	justify-content: center;
	background-color: var(--theme-color);
	font-family: "UD新ゴ コンデンス90 M";
	font-size: 1rem;
	color: white;
	z-index: 999;
}
/* google ストリートビュー用バルーン位置  */
.balloon-pin.streetview {
	top: calc(50% - 170px);
	left: calc(50% - 50px);
}
.balloon-pin:before{
	content: "";
	position: absolute;
	width: 0;
	height: 0;
	left: calc(50% - 10px);
	bottom: -20px;
	border-style: solid;
	border-width: 30px 9px 0 9px;
	border-color: var(--theme-color) transparent transparent transparent;
}
.balloon-pin, .balloon-pin:after {
	filter: drop-shadow(1px 1px 5px rgba(0,0,0,.8));
	z-index: 1;
	transition: 2s linear;
}
.balloon-pin:hover {
	animation: fadeOut 2s ease 0s 1 forwards;
}
@keyframes fadeOut {
	0% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}
.column-wrap.column-3.access-gallery > div {
	width: calc(100% / 3);
}
.blank-box {
	padding: .5em;
	border: 1px solid;
}
.blank-box.bb-tab .bb-label {
	border: 1px solid;
	font-weight: bold;
}
.blank-box.bb-purple{
	border-color: #8E5ADC;
}

/* footer */
#footer_banner .item {
	position: relative;
	display: flex;
	align-items: center;
	width: calc(100vw / 4);
	height: 170px;
	overflow: hidden;
}
#footer_banner .item a {
	display: block;
	width: 100%;
	color: white;
	padding: 60px 30px;
	margin: auto 0;
	text-decoration: none;	
	font-size: 1rem;
	font-weight: bold;
	z-index: 999;
}
#footer_banner .overlay {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	z-index: 2;
	background: -moz-linear-gradient(left, rgba(34,58,88,1) 0%, rgba(34,58,88,0) 50%);
	background: -webkit-linear-gradient(left, rgba(34,58,88,1) 0%, rgba(34,58,88,0) 50%);
	background: linear-gradient(to right, rgba(34,58,88,1) 0%, rgba(34,58,88,0) 50%);
}
#footer_banner .image {
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	z-index: 1;
	overflow: hidden;
	transition: 1s linear;
}
#footer_banner .item:hover .image {
	transform: scale(1.25);
	transition-duration: .5s;
	animation-timing-function: ease;
}
/* footer ---------------------------------------------*/
#footer {
	margin-top: 0;
	padding: 0;
	background-color: var(--theme-color-dark);
}
.footer-bottom {
	padding: 0;
	width: 100vw;
	left: 50%;
	right: 50%;
	margin: 24px -50vw 0;
}
.navi-footer {
	background-color: #efefef;
}
#footer .copyright {
	padding: 18px 0;
	margin: 0;
}
#footer li {
	margin: 18px 0;
	border-left: none;
}
#footer a {
	color: #555;
	padding: 0 20px;
	transition: 0.5s linear;
}
#footer a:hover {
	transform: scale(1.1);
}
/* サイドバーのお知らせ */
.rpwe-block h3 {
	font-size: 1rem!important;
	padding: 0;
}

/* Display Post plugin */
#content ul.display-posts-listing{
	display: flex;
	flex-direction: column;
}
#content ul.display-posts-listing li.listing-item{
	position: relative;
	padding-left: 0;
	padding-bottom: 10px;
	text-indent: 0;
	display: table-cell;
	line-height: 1.2;
	border-top: 2px dotted #ddd;
}
.display-posts-listing .title, .display-posts-listing .date, .display-posts-listing .excerpt{
	display: inline-block;
	margin: 4px;
}
.display-posts-listing .title{
	display: block;
	font-weight: bold;
	text-decoration: none;
}
.display-posts-listing .date {
	position: absolute;
	top: 0;
	right: 0;
	font-size: .85rem;
	background-color: #eee;
	margin-top: 0;
	padding: 3px 6px;
	border-radius: 4px;
}
.display-posts-listing .excerpt{
	font-size: .95rem;
}
.display-posts-listing .excerpt-more{
	display: none;
}
input.search-edit {
	font-size: .95rem;
}
#map:hover{
	cursor: pointer;
}
/* フッター手前のお問い合わせボックス */
.toiawase-box {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: .95rem;
}
.toiawase-box .hifuka {
	font-size: 1.2rem;
	font-family: "新ゴ R";
}
.toiawase-box .home_logo {
	width: 50px;
	height: 50px;
	color: #585756;
}
.toiawase-box img.footer-text-logo {
	width: 65%;
	height: 65%;
}
.toiawase-box h2 {
	font-size: 1.5rem;
	text-align: center;
	line-height: 1;
}
.toiawase-box .en {
	font-family: Jost;
	font-size: 1.4rem;
	color: #585756;
}
.toiawase-box .address {
	font-size: 1rem;
}
.go-to-top-button {
	width: 60px;
	height: 60px;
	border-radius: 0;
	filter: drop-shadow(1px 1px 2px rgba(0,0,0, .5));
}
/* クリニック案内の表 */
dl.clinic_info {
	text-align: left;
	margin: 0 50px;
	border-bottom: 1px solid #ccc;
	background-color: #efefef;
	display: flex;
	flex-wrap: wrap;
}
dl.clinic_info dt {
	width: 200px;
}
dl.clinic_info dd {
	width: calc(100% - 210px);

}
dl.clinic_info dt, dl.clinic_info dd {
	line-height: 200%;
	padding: 12px;
	border-top: 1px solid #ccc;	
}

/* wow.js 調整*/
@-webkit-keyframes fadeInUpSmall {
	from {
		opacity: 0;
		-webkit-transform: translate3d(0, 60%, 0);
		transform: translate3d(0, 60%, 0);
	}

	to {
		opacity: 1;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}
@keyframes fadeInUpSmall {
	from {
		opacity: 0;
		-webkit-transform: translate3d(0, 60%, 0);
		transform: translate3d(0, 60%, 0);
	}

	to {
		opacity: 1;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}
.animate__fadeInUpSmall {
	-webkit-animation-name: fadeInUpSmall;
	animation-name: fadeInUpSmall;
}
/* アクセスページ ------------------- */
/* js タブでコンテンツ切替*/
.access-text-logo {
	position: absolute;
	max-width: 22vw;
	top: 50%;
	left: calc(50% - 11vw);
	opacity: .6;
}
.access-tab-bg{
	width:100vw;
	height:450px;
	object-fit:cover;
	object-position: 50% 75%;
	filter: brightness( .8);
}
.tab-group{
	position: absolute;
	bottom: 0;
	justify-content: space-arround;
	margin: 0!important;
}
.tab-group .tab{
	width: 220px;
	height: 60px;
	font-family: Jost;
	font-weight: 500;
	color: white;
	border: 1px solid #ddd;
	border-bottom: none;
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
	text-align:center;
	cursor:pointer;
	backdrop-filter: blur(6px);
	background-color: rgba(255, 255, 255, 0.5);
}
.tab:hover {
	color: #666;
	background: white;
}
.panel-group{
	width: 100%;
	border:solid 1px #CCC;
	border-top:none;
	background:#eee;
}
.panel{
	display:none;
}
.tab.is-active{
	background: white;
	color: var(--theme-color-dark);
	transition: all 0.2s ease-out;
}
.panel.is-show{
	display:block;
}

/* アクセス ---------------------- */
.park-box {
	margin: 80px 0;
	padding: 60px 80px 40px;
	justify-content: space-between;
	border: 1px solid #ccc;
}
.park-box .item {
	width: calc(50% - 50px);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.park-box h2.title {
	font-family: "新ゴ R";
	color: #333;
	margin: 20px 0;
	font-size: 1.3rem;
}
.park-box p.desc {
	margin-bottom: auto;
	padding-bottom: 20px;
}
.park-box img {
	width: 100%;
	height: 350px;
	margin-top: auto;
	object-fit: cover;
}
/* クリニック案内 */
.info-function {
	max-width: 800px;
	margin: 20px 0;
}
.info-function .item{
	width: calc(100% / 3 - 15px);
	border: 1px solid var(--theme-color-light);
	border-radius: 6px;
	padding: 40px 30px; 
}
.info-function .item img{
	width: 80px;
	height: auto;
	filter: invert(72%) sepia(26%) saturate(6428%) hue-rotate(1deg) brightness(105%) contrast(102%);
	opacity: .8;
}
.info-function .item h4.title {
	font-family: "新ゴ R";
	margin: 10px 0;
}
.info-function .item .subtitle {
	font-family: "游ゴシック";
	font-weight: normal;
	font-size: 1rem;
	color: var(--theme-color-pair-dark);
	margin-bottom: auto;
}
.sp_show {
	display:none;
}
/* 院長略歴 */
.prof_midashi {
	display: inline-block;
	font-size: 1rem;
	padding: 4px 30px;
	border: 1px solid var(--theme-color-dark);
	margin: 20px 0 ;
}
dt,dd {
	margin: 0!important; /* ブラウザの初期値をクリア */
	padding: 0!important; /* ブラウザの初期値をクリア */
}
.dlTable {
	display: flex; /* 子要素のdtとddを横並びにする */
	flex-wrap: wrap; /* 1つのdtとddで1行になるよう改行させる */
}
.dlTable dt,
.dlTable dd {
	box-sizing: border-box; /* widthの計算を楽にするため */
	padding: 8px 0!important; /* 各セルに余白を取る */
}
.dlTable dt {
	width: 140px; /* dt（見出し項目）の横幅を120pxに指定 */
}
.dlTable dd {
	width: calc(100% - 140px); /* テーブル幅からdtを引いた分の横幅を指定。 */
}
/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1240px以下*/
@media screen and (max-width: 1240px){
	/*必要ならばここにコードを書く*/
}

/*1030px以下*/
@media screen and (max-width: 1030px){
	/*必要ならばここにコードを書く*/
	ul.sinryo{
		padding-left: 0 !important;
	}
	.page_section__body{
		margin-left: 1em;
	}
	.article ul{
		padding-left: 6px;
		margin-top: 0.5em;
	}
	li.menu-item{
		font-size: 1.2em;
	}
	li.menu-item i{
		color:#ea4e4e;
		opacity: .6;
	}
}
/*833px以下*/
@media screen and (max-width: 833px){
	main#main.main {
		margin-top: 0;
	}
	div#body_top_box {
		margin-top: 0;
	}
	.tbl-time th:first-child{
		width: 120px;
	}
	.hp-none{
		display: none;
	}
	.sickness_list article.item {
		width: calc(100% / 2 - 40px);
		margin: 30px auto;
	}
	.column-wrap {
		flex-direction: column;
	}
	.column-wrap .item, .column-wrap .item .image {
		width: 100%;
	}
	.sp-justify {
		text-align: justify;
		text-justify: inter-ideograph;
	}
	.no_br br {
		display:none;
	}
	.d-row:not(.not-col) {
		flex-direction: column;
	}
	.d-row .item {
		width: 100%!important;
	}
	.home .d-row .item {
		height: 30vh;
	}
	.page-access .flex-box .item {
		height: 40vh;
	}
	.park-box .item {
		width: 100%!important;
	}
	.park-box {
		padding: 20px;
	}
	.tab-group .tab{
		width: 160px;
	}
	.headline_box{
		width: 50%;
		height: auto;
		padding: 30px 0;
	}
	#side_menu {
		position: absolute;
		top: 0!important;
		background-color: rgba(255,255,255,.1);
		opacity: .7;
	}
	.slide-content {
		width: 90%!important;
		padding: 6px;
	}
	.slide-content .subjects, .slide-content .sub-title{
		font-size:1.2rem;
	}
	.slide-content .slide-title{
		font-size: 1.6rem!important;
		font-family: "リュウミン B-KL";
	}
	.home .flex-box {
		height: auto!important;
		top: -110px!important;
	}
	.info-function .item {
		margin-bottom: 10px;
	}
	#navi .home-top-btn{
		display: none;
	}
}

/*768px以下*/
@media screen and (max-width: 768px){
	/*必要ならばここにコードを書く*/
	time.rpwe-time{
		font-size:0.7em;
		color: #fff !important;
		left: 0;
		width: 74px;
		margin-top:6px;
		margin-left:4px;
		background-color: rgba(28,163,143,1) !important;
		box-shadow: 2px 2px 2px 1px rgba(255,255,255,0.5);
	}
	.rpwe-summary{
		width: 100% !important;
	}
	.access-gallery {
		display: none;
	}
	.content_header p.desc {
		text-align: justify;
		margin: 10px;
	}
	.content_header br {
		margin-bottom: 1rem;
	}
	/* クリニック案内 */
	dl.clinic_info {
		margin: 0 10px;
		font-size: .8rem;
	}
	dl.clinic_info dt {
		width: 100px;
	}
	dl.clinic_info dd {
		margin-left: 100px;
	}
	dl.clinic_info dt, dl.clinic_info dd {
		padding: 12px 10px;
	}
	.desc.text-center {
		text-align: justify;
	}

}
/*600px以下*/
@media screen and (max-width: 600px){
	/*必要ならばここにコードを書く*/
	.slide-content .slide-title {
		font-size: 1.6rem;
	}
	.slide-content.sld-1 .slide-title {
		font-size: 2rem;
	}
	body.page-facility .column-wrap .text {
		order: 2;
		border: none;
		padding: 10px 0 60px;
	}
	body.page-facility .column-wrap .img {
		order: 1;
		margin: 0;
	}
	body.page-facility h3.catch, body.page-facility h3.catch-pair {
		margin: 0 0 10px;
	}
	.navi-footer-in > .menu-footer li.menu-item {
		width: auto;
	}
	a.button {
		font-size: .85rem;
		padding: 20px;
	}
	.toiawase-box .address {
		font-size: 1rem;
	}
	#side-btn {
		top: 38%;
		left: calc(100vw - 45px);
	}
	.title_center_line::before, .title_center_line::after{
		width: 4rem;
		/*border-top: 1px solid var(--theme-color-dark);*/
	}
	.headline_box {
		width: calc(100vw / 2);
		height: calc(100vw / 3);
	}
	.no_br {
		text-align: justify;
	}
	.no_br br {
		display: none;
		text-align: justify;
	}
}

/*480px以下*/
@media screen and (max-width: 480px){
	/*必要ならばここにコードを書く*/
	#top-container, .swiper-slide .slide-img, .swiper-slide img {
		height: calc(100vh - 50vh); /* home 画面の flex-box の高さ */
	}
	/* 汎用 フレックスボックス（画像付）*/
	body.home .flex-box {
		height: 25vh!important;
	}
	main#main.main {
		padding: 10px;
	}
	#top-container .scroll-icon {
		width: 40px;
		height: 40px;
	}
	.hp-nd {
		display: none;
	}
	.slide-content {
		top: 36%;
	}
	#side_menu {
		opacity: .4;
		top: calc(50% - 60px);
	}
	#side_menu .item {
		width: 40px;
		height: 40px;
	}
	#side_menu .item i{
		margin: 0;
	}
	.d-row .item {
		width: 100% !important;
	}
	.park-box img {
		height: 200px;
	}
	.sp_show {
		display:inline;
	}
	body:not(.home) .article h2 {
		font-size: 1.2rem;
	}
}
