/*
Theme Name: WPテンプレートスタイル
Author: 有限会社Kynoslogic
*/

/* =========================================================================
    ■ 色設定 ■
    メインカラー：#2DB6F2　（ボタン等に使用）
    見出し      ：#003E7B / rgb(0,45,88)
    背景色（薄）：#EAFAFC
    
    ■ Bootstrap v5.3.0使用（CSS,アイコン）
========================================================================= */
/* 
* {
    border: 1px solid red;
} */

/* =========================================================================
    共通設定
========================================================================= */
html {
    font-size: 62.5%;
    scroll-behavior: smooth;
    scroll-padding-top: 90px;
}
a {
    text-decoration: none;
}

/* WEBフォント */
.fn-noto {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}

.fm-montserrat {
    font-family: "Montserrat", sans-serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
}

body {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 1.6rem;
    color: #343434;
}


/* <ul>リスト ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/* ※マーク */
/* contentが日本語の時、文字化けをするのでUnicodeに変換する必要あり */
.list-notice li {
    position: relative;
    margin-left: 2rem;
}
.list-notice li::before {
    content: "\203b";
    position: absolute;
    left: -2rem;
}


/* =========================================================================
    余白
========================================================================= */
.mt-100 {
    margin-top: 100px;
}
.mt-50 {
    margin-top: 50px;
}
.mr-100 {
    margin-right: 100px;
}
.ml-100 {
    margin-left: 100px;
}


/* =========================================================================
    ボタン
========================================================================= */
/* 角丸（枠線・カラー） ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
.btn-radius100-frame {
    border-radius: 100vh;
    border: 1px solid #2DB6F2;
    color: #2DB6F2;
    position: relative;
    display: block;
    transition: all .5s ease-out;
}
.btn-radius100-frame::after {
	content: '';
	position: absolute;
    top: 40%;
    right: 10%;
	width: 8px;
	height: 8px;
	border-top: 2px solid #2DB6F2;
    border-right: 2px solid #2DB6F2;
    transform: rotate(45deg);
    transition: all .5s ease-out;
}
/* hover */
.btn-radius100-frame:hover {
    background-color: #2DB6F2;
    color: #fff;
}
.btn-radius100-frame:hover::after {
    right: 6%;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
}


/* 角丸（枠線・白） ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
.btn-radius100-frame-w {
    border-radius: 100vh;
    border: 2px solid #fff;
    color: #fff;
    font-weight: 700;
    position: relative;
    display: block;
    transition: all .5s ease-out;
}
.btn-radius100-frame-w::after {
	content: '';
	position: absolute;
    top: 40%;
    right: 10%;
	width: 8px;
	height: 8px;
	border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
    transition: all .5s ease-out;
}
/* hover */
.btn-radius100-frame-w:hover {
    background-color: #fff;
    color: #2DB6F2;
}
.btn-radius100-frame-w:hover::after {
    right: 6%;
    border-top: 2px solid #2DB6F2;
    border-right: 2px solid #2DB6F2;
}


/* 角丸（塗りつぶしカラー） ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
.btn-radius100-fill {
    border-radius: 100vh;
    border: 1px solid #2DB6F2;
    background-color: #2DB6F2;
    color: #fff;
    position: relative;
    display: block;
    transition: all .5s ease-out;
}
.btn-radius100-fill::after {
	content: '';
	position: absolute;
    top: 40%;
    right: 10%;
	width: 8px;
	height: 8px;
	border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
    transition: all .5s ease-out;
}
/* hover */
.btn-radius100-fill:hover {
    background-color: #fff;
    color: #2DB6F2;
}
.btn-radius100-fill:hover::after {
    right: 6%;
    border-top: 2px solid #2DB6F2;
    border-right: 2px solid #2DB6F2;
}


/* 四角（枠線・カラー） ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
.btn-square-frame {
    border: 1px solid #2DB6F2;
    color: #2DB6F2;
    position: relative;
    display: block;
    transition: all .5s ease-out;
}
.btn-square-frame::after {
	content: '';
	position: absolute;
    top: 40%;
    right: 10%;
	width: 8px;
	height: 8px;
	border-top: 2px solid #2DB6F2;
    border-right: 2px solid #2DB6F2;
    transform: rotate(45deg);
    transition: all .5s ease-out;
}
/* hover */
.btn-square-frame:hover {
    background-color: #2DB6F2;
    color: #fff;
}
.btn-square-frame:hover::after {
    right: 6%;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
}

/* 四角（塗りつぶしカラー） ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
.btn-square-fill {
    border: 1px solid #2DB6F2;
    background-color: #2DB6F2;
    color: #fff;
    position: relative;
    display: block;
    transition: all .5s ease-out;
}
.btn-square-fill::after {
	content: '';
	position: absolute;
    top: 40%;
    right: 10%;
	width: 8px;
	height: 8px;
	border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
    transition: all .5s ease-out;
}
/* hover */
.btn-square-fill:hover {
    background-color: #fff;
    color: #2DB6F2;
}
.btn-square-fill:hover::after {
    right: 6%;
    border-top: 2px solid #2DB6F2;
    border-right: 2px solid #2DB6F2;
}


/* =========================================================================
    Header
========================================================================= */
header {
    position: fixed;
    width: 100%;
    background-color: #fff;
    height: 80px;
    z-index: 999;
}

header .h-logo {
    margin-left: 5%;
}
header .h-logo img {
    height: 50px;
}

/* =========================================================================
    グローバルナビゲーション
========================================================================= */
.global-nav {
    /* CVボタンがある時 */
    margin-right: 170px;
}
.global-nav ul {
	position: relative;
	list-style: none;
	display: flex;
	justify-content: center;
}
.global-nav ul li{
    flex: 0 0 auto;
}

/* 2階層目以降は横並びにしない */
.global-nav ul ul{
	display: block;
}

.global-nav ul li a {
	position: relative;
	display: block;
	color: #2D2D2D;
	/* padding: 0 40px; */
    padding-inline: clamp(12px, 2vw, 40px);
	transition: all .3s;
    line-height: 80px;
    white-space: nowrap;
}
.global-nav ul li a:hover {
    color: #2DB6F2;
}

.global-nav ul li li a {
    padding: 20px;
    line-height: normal;
}

/* ２階層目の設定＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
.global-nav .gn-child ul {
    box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.15);
}
/* ２階層目を持つliの矢印の設定 */
.global-nav .gn-child > a::after {
	content: '';
	position: absolute;
    top: 45%;
    right: 20px;
	width: 6px;
	height: 6px;
	border-top: 2px solid #999;
    border-right: 2px solid #999;
    transform: rotate(135deg);
    transition: all .3s;
}

.global-nav .gn-child ul {
    /*絶対配置で位置を指定*/
    position: absolute;
    top: 80px;
    z-index: 4;
    /*子要素を横並びに*/
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    /*形状を指定*/
    background:#fff;
    /* width: auto; */
    padding-left: 20px;
    padding-right: 20px;
    /*はじめは非表示*/
    display: none;
    visibility: hidden;
    opacity: 0;
    /*アニメーション設定*/
    transition: all .3s;
}


.global-nav .gn-child dt {
	overflow: hidden;
    width: 100%;
    height: auto;
	/* height: 20vh; */
	margin:0 0 20px 0;
}
@media screen and (max-width:1200px) {
    /* .global-nav .gn-child dt {
        height: 12vh;
    } */
}
/* 画像設定 */
.global-nav .gn-child img {
    width: 100%;
	transition: all .5s;
	vertical-align: bottom;
}
.global-nav .gn-child img:hover {
    transform: scale(1.1);
}

.global-nav .gn-child dd {
    text-align: center;
}


/*hoverしたら表示*/
.global-nav .gn-child:hover > ul{
    display: flex;
    visibility: visible;
    opacity: 1;
}

.global-nav .gn-child:hover > a::after {
    top: 50%;
}

/*各ナビゲーション横幅*/
.global-nav .gn-child ul li{
	width: 32%;
}

/*ナビゲーションaタグの形状*/
.global-nav .gn-child ul li a{
	color: #2D2D2D;
}

.global-nav .gn-child ul li a:hover,
.global-nav .gn-child ul li a:active{
    color: #2DB6F2;
}


/* CVボタンの設定＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
header .gn-cv-wrap {
    position: absolute;
    display: block;
    top: 0;
    right: 0;
}
header .gn-cv-wrap a {
    display: block;
    height: 80px;
    background-color: #2DB6F2;
    color: #fff;
    font-weight: bold;
    padding: 0 2.5em;
    line-height: 80px;
    /*アニメーション設定*/
    transition: all .3s;
}
header .gn-cv-wrap a:hover {
    background-color: #fff;
    color: #2DB6F2;
    border: 1px solid #2DB6F2;
    box-sizing: border-box;
}


/* =========================================================================
    トップページ
========================================================================= */

/* スライドショー ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
#top-main-visual {
    width: 100%;
    /* height: 90vh; */
    height: auto;
    overflow: hidden;
    position: relative;
}
#top-main-visual img {
    width: 100%;
    object-fit: cover;
}

/* キャッチコピー ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
#top-main-copy {
    position: absolute;
    /* bottom: 10%;
    left: 5%; */
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    /* width: 90%; */
}
#top-main-copy p {
    color: #fff;
    font-weight: 700;
    /* font-size: 3.6rem; */
    font-size: 5rem;
    letter-spacing: 0.2em;
    text-shadow: rgba(0, 0, 0, 0.9) 0 0 6px;
    text-align: center;

}


/* お知らせ ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
.top-news-wrap {
    box-sizing: border-box;
}

.top-news-wrap h2 {
    color: #003E7B;
    font-size: 3.4rem;
    font-weight: 700;
}

.top-news-wrap .btn-radius100-frame {
    width: 200px;
    text-align: center;
    padding-top: 1rem;
    padding-bottom: 1rem;
}

/* 記事のリスト */
.top-news-wrap dl,
.news-list-wrap dl {
    border-top: 1px solid #C1C1C1;
}

.top-news-wrap dl dt {
    padding-top: 3%;
    font-weight: normal;
}
.top-news-wrap dl dt time,
.news-list-wrap dl dt time {
    color: #707070;
    margin-right: 3em;
    letter-spacing: 0.1em;
}
.news-cat {
    width: 150px;
    display: inline-block;
    text-align: center;
    font-size: 1.4rem;
}
.news-cat.cat1 {
    color: #2DB6F2;
    border: 1px solid #2DB6F2;
}
.news-cat.cat2 {
    color: #E33232;
    border: 1px solid #E33232;
}

.top-news-wrap dl dd {
    font-size: 1.8rem;
    border-bottom: 1px solid #C1C1C1;
}
.top-news-wrap dl dd a {
    display: block;
    color: #000000;
    padding: 1.6rem 0;
    /* はみ出した文字を省略 */
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
    max-width: 600px;
    /*アニメーション設定*/
    transition: all .3s;
}
.top-news-wrap dl dd a:hover {
    color: #2DB6F2;
}


/* 診療時間表 ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
.schedule-examination {
    background-color: #F2F9FC;
}
.schedule-examination table {
    width: 100%;
    text-align: center;
}
.schedule-examination table tr {
    border-bottom: 1px solid #A8A8A8;
}
.schedule-examination table thead th,
.schedule-examination table tbody td {
    color: #003E7B;
    padding: 2rem 0;
}
.schedule-examination table thead th{
    padding-top: 0;
}
.schedule-examination table tbody th {
    color: #343434;
    letter-spacing: 0.05em;
    font-weight: 500;
    width: 9em;
}

/* 休診日 */
.schedule-closed {
    font-weight: 500;
}
.schedule-closed dt {
    color: #003E7B;
    background-color: #fff;
    padding: 0.5rem 2.6rem;
}

/* ファーストビュー下【投稿のみ】 ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
#top-fv-btm-post,
#top-fv-btm-post2 {
    background-color: #F2F9FC;
    padding: 50px 0;
}
#top-fv-btm-post .top-news-wrap,
#top-fv-btm-post2 .top-news-wrap {
    padding: 2em 3.5em;
}
#top-fv-btm-post .top-news-wrap dl dd a,
#top-fv-btm-pos2 .top-news-wrap dl dd a {
    max-width: 100%;
}


/* ファーストビュー下【投稿2つ】 ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
#top-fv-btm-post2  .top-news-wrap {
    width: 48%;
}



/* 横長画像 ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
#top-wide-img {
    width: 90%;
    margin: 150px 0;
}
#top-wide-img img {
    width: 100%;
    height: 500px;
    object-fit: cover;
}


/* セクション３ ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
#top-sec3-wrap {
    background-color: #FAFBF9;
    padding: 80px 0;
}

#top-sec3-wrap .sentence-wrap {
    max-width: 800px;
}

#top-sec3-wrap .btn-radius100-frame,
#top-surveying-wrap .card-body .btn-radius100-frame {
    width: 400px;
    max-width: 100%;
    padding: 1em 0 1em 2em;
}


/* アクセス＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
#top-access-wrap {
    font-size: 1.8rem;
    line-height: 1.75;
}

#top-access-wrap dl dt {
    color: #003E7B;
    margin-bottom: 0.5em;
}

#top-access-wrap #point-wrap {
    background-color: #EAFAFC;
    color: #003E7B;
}

/* Goole MAP */
#top-access-wrap #map-max-w {
    max-width: 50%;
}

#top-access-wrap #map-wrap {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 60%;
}
#top-access-wrap #map-wrap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}


/* セクション６：CVボタン＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
#top-sec6-wrap {
    display: block;
    width: 100%;
    padding: 100px 0;
    color: #fff;
    /* 背景画像 */
    background: linear-gradient(rgba(0,45,88,0.7),rgba(0,45,88,0.7)), url("images/photo.jpg") center center no-repeat;
    background-size: cover;
    position: relative;
}

#top-sec6-wrap .heading-1 {
    color: #fff;
}
#top-sec6-wrap p {
    width: 90%;
    max-width: 800px;
}

/* ボタン */
#top-sec6-wrap .btn-radius100-frame-w {
    width: 400px;
    max-width: 100%;
    padding: 1em 0 1em 2em;
}


/* 画像横無限ループアニメーション ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
#top-img-loop ul {
    animation :infinity-scroll-left 80s infinite linear 0.5s both;
}
#top-img-loop ul li {
    width: calc(100vw / 5);
}
#top-img-loop ul li > img {
    width: 100%;
}

/* アニメーション設定 */
@keyframes infinity-scroll-left {
    from {
    transform: translateX(0);
    }
    to {
    transform: translateX(-100%);
    }
}



/* =========================================================================
    Footer
========================================================================= */
footer {
    margin-top: 100px;
    box-sizing: border-box;
}
/* ページトップボタン ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
footer #btn-page-top a {
    border: 1px solid #2DB6F2;
    display: block;
    width: 60px;
    height: 60px;
    color: #2DB6F2;
    /*アニメーション設定*/
    transition: all .3s;
}
footer #btn-page-top a:hover {
    background-color: #2DB6F2;
}
footer #btn-page-top a:hover i {
    color: #fff;
}

/* Footerコンテンツ ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
footer #f-wrap {
    background-color: #F2F9FC;
    padding: 80px 0;
}

/* ロゴ */
footer #f-wrap #f-logo img {
    height: 50px;
}

/* 連絡先情報 */
footer address i {
    color: #003E7B;
}

footer address a {
    color: #2DB6F2;
    text-decoration: underline;
}

footer address #f-tel {
    font-size: 3rem;
}

footer address #f-tel i {
    font-size: 2rem;
}

footer address .btn-radius100-fill {
    width: 200px;
    padding: 0.5em;
    font-weight: 700;
    font-size: 2rem;
    text-decoration: none;
    text-align: center;
}
footer address .btn-radius100-fill::after,
footer address .btn-radius100-fill:hover::after {
    border: none;
}

/* SNSリンクボタン */
footer #sns-wrap li {
    margin-right: 1em;
}
footer #sns-wrap li a {
    background-color: #fff;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all .7s;
}
footer #sns-wrap li a:hover {
    box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.15);
}

/* 診療時間表 */
footer .schedule-examination {
    background-color: #fff;
}
footer .schedule-closed dt {
    background-color: #EAFAFC;
}

/* リンク一覧 */
footer #f-link h2 {
    color: #003E7B;
    font-size: 2.6rem;
    font-weight: 700;
    letter-spacing: 0.1em;
}

footer #f-link ul li {
    margin-bottom: 0.75em;
}
footer #f-link i.bi {
    color: #003E7B;
}
footer #f-link a {
    color: #2DB6F2;
}


/* バナー ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
footer #f-banner-wrap ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
footer #f-banner-wrap li {
    padding: 0 0.5em;
    max-width: 320px;
}
/* hover */
footer #f-banner-wrap li:hover img {
    box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.15);
}


/* 著作権表示 ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
footer #f-copy {
    color: #003E7B;
    margin: 50px auto;
}



/* =========================================================================
    下層ページ
========================================================================= */
#subpage-title-wrap {
    margin-top: 100px;
    margin-bottom: 100px;
}

#subpage-title-wrap h1 {
    padding-top: 60px;
    padding-bottom: 60px;
    color: #003E7B;
    font-size: 5rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    margin-left: 10%;
}
#subpage-title-wrap #sp-title-img {
    /* width: 70%; */
    width: 50%;
    height: 40vh;
    max-height: 300px;
    overflow: hidden;
}
#subpage-title-wrap #sp-title-img img {
    width: 100%;
    object-fit: cover;
}


/* =========================================================================
    Google reCAPTCHA 認証バッジ非表示
========================================================================= */
.grecaptcha-badge {
    visibility: hidden;
}


/* =========================================================================
    固定ページ内のGoogle MAP
========================================================================= */
/* Goole MAP */
.page-map-wrap {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 50%;
}
.page-map-wrap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}


/* =========================================================================
    レイアウト
========================================================================= */
.w1000-container {
    width: 100%;
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
}


/* =========================================================================
    ボタン
========================================================================= */
/* 採用情報：応募する */
.btn-w400 {
    width: 100%;
    max-width: 400px;
}


/* =========================================================================
    事業案内
========================================================================= */
/* ページ内リンク */
#business-nav-wrap {
    margin-bottom: 4em; 
}

/* #business-nav-wrap .btn-rc-down {
    line-height: 1.2;
} */

.btn-rc-down {
    display: block;
    width: 100%;
    height: 60px;
    background-color: #E5F8FF;
    color: #0074C1;
    border: 1px solid #0074C1;
    border-radius: 5px;
    font-size: 1.8rem;
    text-decoration: none;
    text-align: center;
    position: relative;
    transition: all .4s ease;
}
.btn-rc-down span {
    position: absolute;
    right: 1em;
}
.btn-rc-down:hover {
    background-color: #fff;
}

/* リーフレットボタン */
.btn-leaflet {
    width: 350px;
    max-width: 100%;
}


/* =========================================================================
    レスポンシブ：タブレット以下
========================================================================= */
@media screen and (max-width:1025px){
	
    /* =========================================================================
        Header
    ========================================================================= */
    header,
    header .h-logo {
        height: 50px;
    }
    header .h-logo img {
        height: 30px;
    }

    /* =========================================================================
        グローバルナビゲーション
    ========================================================================= */
    .global-nav {
        position: fixed;
        top: 0;
        right: -120%;
        /* left: 0; */
        width: 100%;
        height: 100vh;
        background: #fff;
        transition: all 0.6s;
        margin: 0;
    }
    .global-nav.mnactive {
        right: 0;
        z-index: 999;
    }

    /* スクロール設定 */
    .global-nav.mnactive .gn-sp-wrap {
        position: fixed;
        z-index: 999; 
        width: 100%;
        height: 100vh;/*表示する高さ*/
        overflow: auto;
        -webkit-overflow-scrolling: touch;
    }

    /* メニューボタン部分装飾 */
    .global-nav ul {
        position: absolute;
        z-index: 999;
        top: 50px;
        display: block;
        width: 100%;
    }
    .global-nav ul li {
        border-bottom: 1px solid #BCBCBC;
    }
    .global-nav ul li:first-of-type {
        border-top: 1px solid #BCBCBC;
    }

    .global-nav ul li a {
        display: block;
        padding: 0 2em;
        width: 100%;
    }

    /* 2階層目 ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
    /* 装飾 */
    .global-nav .gn-child ul.gnc-menu {
        position: relative;
        /* z-index: 9999; */
        padding: 0;
        top: 0;
        box-shadow: none;
        display: none;
    }
    .global-nav .gn-child ul.gnc-menu li {
        display: block;
        width: 100%;
    }
    .global-nav ul.gnc-menu li a {
        padding-left: 3em;
        padding-right: 3em;
    }
    .global-nav .gn-child ul.gnc-menu li:last-child {
        border-bottom: none;
    }

    .global-nav .gn-child dt {
        display: none;
    }
    .global-nav .gn-child dd {
        text-align: left;
    } 

    /* 開閉ボタン ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
    .openbtn {
        position: fixed;
        z-index: 99999;
        top: 10px;
        right: 5%;
        width: 40px;
        height: 40px;
    }
    .openbtn span {
        display: inline-block;
        transition: all .4s;
        position: absolute;
        /* left: 14px; */
        height: 2px;
        border-radius: 2px;
        background-color: #2DB6F2;
        width: 100%;
    }

    .openbtn span:nth-of-type(1) {
        top:10px;	
    }
    .openbtn span:nth-of-type(2) {
        top:20px;
    }

    /* 閉じる */
    .openbtn.active span:nth-of-type(1) {
        transform: translateY(4px) rotate(-45deg);
    }
    
    .openbtn.active span:nth-of-type(2) {

        transform: translateY(-6px) rotate(45deg);
    }

    /* CVボタン ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
    header .gn-cv-wrap {
        position: fixed;
        z-index: 9;
        top: auto;
        bottom: 0;
        width: 100%;
        text-align: center;
    }
    header .gn-cv-wrap a {
        height: 60px;
        padding: 0;
        display: flex;
        justify-content: center;
        align-items: center;
        width: 90%;
        margin: 0 auto 3%;
    }


    /* =========================================================================
        スライダー
    ========================================================================= */
    /* スライドショー ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
    #top-main-visual {
        margin-top: 50px;
        /* height: 60vh; */
    }
    #top-main-visual img {
        width: auto;
        height: 100%;
    }


    /* =========================================================================
        ファーストビュー下ブロック
    ========================================================================= */
    #top-fv-btm.mt-100 {
        margin-top: 50px;
    }

    /* お知らせ ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
    .top-news-wrap h2 {
        font-size: 2.4rem;
    }
    .top-news-wrap dl dt {
        padding-top: 6%;
    }
    .top-news-wrap dl dt time {
        margin-right: 3em;
    }

    .top-news-wrap .btn-radius100-frame {
        margin: 2em auto 0;
    }

    /* 診療時間表 ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
    .schedule-examination {
        margin-top: 60px;
    }
    .schedule-examination table tbody th {
        width: 6em;
    }


    /* 横長画像 ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
    #top-wide-img {
        width: 100%;
        margin: 80px 0;
    }
    #top-wide-img img {
        height: 250px;
    }

    /* アクセス＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
    /* Goole MAP */
    #top-access-wrap #map-max-w {
        max-width: 100%;
    }

    /* セクション６：CVボタン＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
    #top-sec6-wrap .mt-100 {
        margin-top: 50px;
    }

    /* 画像横無限ループアニメーション ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
    #top-img-loop ul li {
        width: calc(100vw / 3);
    }

    /* =========================================================================
        Footer
    ========================================================================= */
    footer {
        margin-bottom: 150px;
    }
    
    footer #btn-page-top.mr-100 {
        margin-right: 10%;
    }

    footer #f-wrap {
        padding: 40px 0; 
    }

    /* 連絡先情報 */
    footer address .btn-radius100-fill {
        margin-top: 1em;
    }

    /* バナー ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
    footer #f-banner-wrap {
        overflow-x: auto;
        margin-left: 5%;
    }
    footer #f-banner-wrap ul {
        flex-wrap: nowrap;
        padding-left: 5px;
    }
    footer #f-banner-wrap li {
        flex: 0 0 auto;
    }
    footer #f-banner-wrap li img {
        width: 200px;
        display: block;
    }

    /* =========================================================================
        下層ページ
    ========================================================================= */
    #subpage-title-wrap {
        margin-top: 50px;
    }
    #subpage-title-wrap h1 {
        font-size: 4rem;
        margin-left: 5%;
        margin-right: 5%;
    }
}


/* =========================================================================
    レスポンシブ　タブレット（小）
========================================================================= */
@media screen and (max-width:850px){
    /* =========================================================================
        下層ページ
    ========================================================================= */
    #subpage-title-wrap h1 {
        font-size: 3rem;
    }

    #subpage-title-wrap #sp-title-img {
        width: 70%;
        height: 30vh;
        max-height: 250px;
    }

    
    /* ボタン ============================================ */
    .btn-rc-down {
        font-size: 1.6rem;
    }

}


/* =========================================================================
    レスポンシブ：スマートフォン
========================================================================= */
@media screen and (max-width:600px){
    /* =========================================================================
        Header
    ========================================================================= */
    header .h-logo {
        max-width: 70%;
    }

    /* =========================================================================
        スライダー
    ========================================================================= */
    /* スライドショー ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
    #top-main-visual {
        margin-top: 50px;
        /* height: 60vh; */
    }
    #top-main-visual img {
        width: auto;
        height: 100%;
    }

    /* キャッチコピー ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
    #top-main-copy {
        top: 50%;
        bottom: auto;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 90%;
    }
    #top-main-copy p {
        font-size: 2.6rem;
        text-align: center;

    }
    
    /* =========================================================================
        トップページ
    ========================================================================= */
    /* ファーストビュー下【投稿のみ】 ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */ 
    #top-fv-btm-pi .top-news-wrap {
        margin-bottom: 60px;
    }

    /* ファーストビュー下【投稿のみ】 ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
    #top-fv-btm-post .top-news-wrap {
        padding: 2em;
    }

    /* 画像横無限ループアニメーション ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
    #top-img-loop ul li {
        width: calc(100vw / 2);
    }


    /* =========================================================================
        Footer
    ========================================================================= */
    footer {
        margin-bottom: 100px;
    }

    /* ロゴ */
    footer #f-wrap #f-logo img {
        height: 40px;
    }

    /* 連絡先情報 */
    footer address .btn-radius100-fill {
        width: 100%;
    }

    /* =========================================================================
        下層ページ
    ========================================================================= */
    #subpage-title-wrap {
        margin-bottom: 50px;
    }
    #subpage-title-wrap #sp-title-img {
        width: 90%;
        max-height: 150px;
    }
}

/* =========================================================================
    レスポンシブ：スマートフォン（小）
========================================================================= */
@media screen and (max-width:375px){
    /* リーフレットボタン */
    .btn-leaflet {
        width: 380px;
        font-size: 1.5rem;
    }
}