/* http://meyerweb.com/eric/tools/css/reset/
v2.0 | 20110126
License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
    display: block;
}
body {
    line-height: 1;
}
ol, ul {
    list-style: none;
}
blockquote, q {
    quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}

/*ここまでがリセット*/

body {
    font-family: -apple-system, BlinkMacSystemFont, '小塚ゴシック Pro','Kozuka Gothic Pro','Hiragino Sans', 'Hiragino Kaku Gothic ProN', "Yu Gothic" , '游ゴシック  Medium', meiryo, sans-serif;
}

a {
    text-decoration: none;
}

a:hover {
    opacity: 0.7;
}

img {
    max-width: 100%;
}

.center {
    text-align: center!important;
}

.mt_20 {
    margin-top: 20px!important;
}

.mt_40 {
    margin-top: 40px!important;
}

.mt_70 {
    margin-top: 70px!important;
}


.mb_10 {
    margin-bottom: 10px!important;
}

.mb_40 {
    margin-bottom: 40px!important;
}

.mb_70 {
    margin-bottom: 70px!important;
}

.fwb {
    font-weight: bold;
}

.red {
    color: #f00;
    font-weight: bold;
}

.linkbtn {
    color: #fff;
    background: #cea01d;
    display: inline-block;
    text-align: center;
    padding: 5px 30px 8px;
    border-radius: 25px;
}

.r_arrow {
    position: relative;
}

.r_arrow::after{
    position: absolute;
    content: "";
    vertical-align: middle;
    right: 7px;
    box-sizing: border-box;
    width: 5px;
    height: 5px;
    border: 5px solid transparent;
    border-left: 5px solid #fff;
    top: 0;
    bottom: 0;
    margin: auto;
}

.b_arrow {
    position: relative;
}

.b_arrow::after{
    position: absolute;
    content: "";
    vertical-align: middle;
    right: 5px;
    box-sizing: border-box;
    width: 5px;
    height: 5px;
    border: 5px solid transparent;
    border-top: 5px solid #aaa;
    top: 4px;
    bottom: 0;
    margin: auto;
}

.w340 {
    width: 340px;
    text-align: left;
}

.content .att_list {
    background: #fff8e6;
    padding: 20px;
}

.content .att_list li {
    position:relative;
    line-height: 2em;
    text-indent: 1.3em;
}

.content .att_list li:before {
    position: absolute;
    line-height: 2em;
    content: "";
    display: inline-block;
    width: 1em;
    height: 2em;
    background: url(/images/arr.png) no-repeat;
    background-size: contain;
    top: 8px;
    left: 0;
}

.pc {
    display: block;
}

.pc_flex {
    display: flex;
}

.sp {
    display: none!important;
}

/*———————————

ヘッダー

———————————*/


body {
    font-family: 'Noto Serif JP', serif;
}

#news header,
#doctor header,
#about header,
#exam header,
#access header,
#contactpage header {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 10000;
}

#news header>nav,
#doctor header>nav,
#about header>nav,
#exam header>nav,
#access header>nav,
#contactpage header>nav {
    position: unset;
}

#about header>nav,
#exam header>nav,
#access header>nav,
#contactpage header>nav {
    border-bottom: none;
}

#exam.doc header>nav {
    border-bottom: 1px solid #eee;
}

/*header>div {
    display: flex;
}*/

header>div div:first-of-type {
    color: #cea01d;
    background: #00142c;
    width: 36%;
    /*width: 100%;*/
    position: relative;
}

header>div div:last-of-type {
    width: 64%;
    /*width: 100%:*/
}

header ul.slider {
    width: 64%;
}

header>div div:first-of-type h1 {
    position: absolute;
    top: 4%;
    left: 7%;
}

header>div div:first-of-type h1 img {
    width: 200px;
}

header>div div:first-of-type a img {
    width: 200px;
}

header>div div:first-of-type h2 {
    text-align: center;
    position: absolute;
    top: 21%;
    left: 0;
    right: 0;
    margin: auto;
}

header>div div:first-of-type h2 img {
    max-width: 90%;
}

header>nav {
    background: #fff;
    position: absolute;
    z-index: 1000;
    width: 100%;
    border-bottom: 1px solid #eee;
}

header>nav>ul {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    padding: 25px 0;
}

header>nav>ul>li {
    margin: 0 10px;
}

header>nav>ul>li>a {
    color: #cea01d;
    font-size: 16px;
    letter-spacing: 2px;
    padding: 10px;
}

header>nav>ul>li>a:hover {
    text-decoration: underline;
}

header>nav.fixed {
    position: fixed;
    top: 0;
    z-index: 1000;
}

/*ドロップダウンメニュー*/

header>.gnav > ul {
    
}

.gnav > ul > li {
}

.gnav > ul > li a {
}

.gnav > ul > li a:hover {
    
}

ul.menu__second-level {
    visibility: hidden;
    opacity: 0;
    z-index: 1;
}

.gnav  > ul > li:hover {
    -webkit-transition: all .5s;
    transition: all .5s;
}

.gnav  > ul > li:not(:first-of-type) > a:hover {
    background: #cea01d;
    color: #fff;
    opacity: 1;
}


.menu__second-level li {
    border-top: 1px solid #fff;
    text-align: center;
    padding: 10px 0;
    line-height: 1.3;
}

.menu__second-level li a {
    color: #fff;
}

/* 下矢印 */
/*.init-bottom:after {
    content: '';
    display: inline-block;
    width: 6px;
    height: 6px;
    margin: 0 0 0 15px;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}*/

.sp_header {
    display: none;
}


/*シングル*/

.gnav > ul > li.menu__single {
    position: relative;
}

li.menu__single div.nav_flex {
    display: flex;
    justify-content: space-between;
}

li.menu__single div.nav_flex ul:first-of-type {
	left: 0%;
}

li.menu__single div.nav_flex ul:last-of-type {
	left: 110%;
}

li.menu__single ul.menu__second-level {
    position: absolute;
    width: 100%;
    background: #cea01d;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
    top: 29px;
    left: 0;
    width: 200px;
    left: 50%;
    transform: translate(-50%, 0%);
    -webkit-transform: translate(-50%, 0%);
    -ms-transform: translate(-50%, 0%);
}

li.menu__single:hover ul.menu__second-level {
    visibility: visible;
    opacity: 1;
}

/*———————————

トップへ戻るボタン

———————————*/

#page_top{
    width: 50px;
    height: 50px;
    position: fixed;
    right: 30px;
    bottom: 30px;
    background: #bf9623;
    opacity: 0.8;
    border-radius: 50%;
}
#page_top a{
    position: relative;
    display: block;
    width: 50px;
    height: 50px;
    text-decoration: none;
}
#page_top a::before{
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    content: '\f106';
    font-size: 25px;
    color: #fff;
    position: absolute;
    width: 25px;
    height: 25px;
    top: -5px;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    text-align: center;
}

/*———————————

画面右下固定バナー

———————————*/

#fix_bnr {
    position: fixed;
    bottom: 100px;
    right: 0px;
}

/*———————————

TOPページ

———————————*/

#top #sec01 {
    text-align: center;
    background-image: url(/images/sec01bg.png);
    background-repeat: no-repeat;
    background-size:100% auto;/*この場合は高さが自動設定*/
    /*height: 852px;*/
    padding-top: 47.3%;
    position: relative;
    /*margin-top: 97px;*/
    margin-top: 0px;
}

#top #sec01 .inner {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    right: 0;
    margin: auto;
    width: 100%;
}

#top #sec01 .inner h3 {
    font-size: 35px;
    letter-spacing: 10px;
    text-indent: 10px;
    line-height: 1.5;
}

#top #sec01 .inner p {
    font-size: 17px;
    line-height: 1.8;
    letter-spacing: 2px;
    max-width: 620px;
    margin: 20px auto 0;
    text-align: left;
}

#top #sec01 .link01 {
    text-align: left;
    margin: 50px auto 0;
    display: inline-block;
}

#top #sec01 .link01 li {
    margin-bottom: 10px;
}

#top #sec01 .link01 li a {
    color: #fff;
    width: 250px;
    display: inline-block;
    text-align: center;
    padding: 10px 0;
    border-radius: 0px;
    letter-spacing: 2px;
}

#top #sec02 {
    background: #00142c;
    padding: 90px 0 110px;
    text-align: center;
}

#top #sec02 h3 {
    color: #bf9623;
    font-size: 35px;
    letter-spacing: 10px;
    text-indent: 10px;
    line-height: 1.5;
    margin-bottom: 35px;
}

#top #sec02 p {
    color: #bf9623;
    font-size: 16px;
    line-height: 2;
    letter-spacing: 5px;
}

#top #sec02>ul {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

#top #sec02>ul li dl {
    background-repeat: no-repeat;
    height: 550px;
    width: 313px;
    margin: 40px 20px 0;
    position: relative;
}

#top #sec02>ul li:nth-of-type(1) dl {
    background-image: url(/images/sec02a.png);
}

#top #sec02>ul li:nth-of-type(2) dl {
    background-image: url(/images/sec02b.png);
}

#top #sec02>ul li:nth-of-type(3) dl {
    background-image: url(/images/sec02c.png);
}

#top #sec02>ul li dl dt {
    position: absolute;
    top: 225px;
    left: 0;
    right: 0;
    margin: auto;
    font-size: 18px;
    color: #bf9623;
    line-height: 1.4;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 2em;
}

#top #sec02>ul li dl dd {
    position: absolute;
    top: 283px;
    left: 0;
    right: 0;
    margin: auto;
    text-align: left;
    font-size: 15px;
    color: #3b3b3b;
    padding: 0 23px;
    line-height: 1.7;
    letter-spacing: 2px;
}

#top #sec03 {
    background: url(/images/grey.png);
    padding: 90px 0 60px;
    text-align: center;
}

#top #sec03 h3 {
    font-size: 35px;
    letter-spacing: 10px;
    text-indent: 10px;
    line-height: 1.5;
    margin-bottom: 35px;
}

#top #sec03 h4 {
    color: #000;
    font-size: 26px;
    letter-spacing: 10px;
    line-height: 1.5;
    border-bottom: 1px solid #777;
    max-width: 850px;
    margin: 0 auto 35px;
    padding-bottom: 10px;
}

#top #sec03 .dl03 {
    max-width: 850px;
    margin: 0 auto 30px;
}

#top #sec03 .dl03>dt {
    background: #0c1f36;
    color: #fff;
    padding: 13px 0;
    font-size: 22px;
    margin-bottom: 15px;
    letter-spacing: 5px;
}

#top #sec03 .dl03>dd {
    
}

#top #sec03 .dl03>dd>ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

#top #sec03 .dl03>dd>ul>li {
    width: 48%;
}

#top #sec03 .dl03b>dd>ul>li {
    width: 30%;
}

#top #sec03 .dl03>dd>ul>li>dl {
    
}

#top #sec03 .dl03>dd>ul>li>dl>dt {
    margin-bottom: 10px;
}

#top #sec03 .dl03>dd>ul>li>dl>dt>a {
    background: #bf9623;
    color: #fff;
    display: block;
    padding: 10px 0;
    letter-spacing: 2px;
}

#top #sec03 .dl03>dd>ul>li>dl>dd>ul>li {
    border-bottom: 1px solid #bf9623;
    padding: 4px 0px;
}

#top #sec03 .dl03>dd>ul>li>dl>dd>ul>li>a {
    font-size: 15px;
    line-height: 1.7;
    letter-spacing: 2px;
    display: block;
    text-align: left;
    color: #333;
    text-indent: 10px;
    position: relative;
}

#top #sec03 .dl03>dd>ul>li>dl>dd>ul>li>a:before {
    position: absolute;
    content: "";
    vertical-align: middle;
    right: 7px;
    box-sizing: border-box;
    width: 5px;
    height: 5px;
    border: 5px solid transparent;
    border-left: 5px solid #bf9623;
    top: 2px;
    bottom: 0;
    margin: auto;
}

#top #sec03 .ul03 {
    display: flex;
    justify-content: space-between;
    max-width: 850px;
    flex-wrap: wrap;
    margin: 0 auto;
}

#top #sec03 .ul03 li {
    width: 30%;
}

#top #sec03 .ul03 li a{
    background: #bf9623;
    color: #fff;
    display: block;
    padding: 10px 0;
    letter-spacing: 2px;
}


#top #sec04 {
    background: #fff;
    padding: 90px 0 126px;
    text-align: center;
    max-width: 770px;
    margin: 0 auto;
}

#top #sec04 h3 {
    font-size: 35px;
    letter-spacing: 10px;
    text-indent: 10px;
    line-height: 1.5;
    margin-bottom: 35px;
}

#top #sec04>ul {
    max-width: 770px;
    margin: 20px 0;
    text-align: left;
    line-height: 1.7;
}

#top #sec04>ul li {
    border-bottom: 1px solid #ddd;
    padding: 20px 0;
}

#top #sec04>ul dt {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 5px;
    letter-spacing: 2px;
}

#top #sec04>ul dd {
    font-size: 15px;
    letter-spacing: 2px;
    line-height: 1.7;
}

#top #sec04>a {
    float: right;
    background: #bf9623;
    color: #fff;
    padding: 10px 35px;
    letter-spacing: 2px;
}

#top #sec05 {
    background: #fff;
    padding: 90px 0 126px;
    text-align: center;
    max-width: 770px;
    margin: 0 auto;
}

#top #sec05 h3 {
    font-size: 35px;
    letter-spacing: 10px;
    text-indent: 10px;
    line-height: 1.5;
    margin-bottom: 35px;
}

#top #sec05 .ul05 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

#top #sec05 .ul05 li {
    width: 28%;
    margin-bottom: 30px;
    background: #bf9623;
    padding: 1.2%;
}

#top #sec05 .ul05 li a {
    display: block;
}

#top #sec05 .ul05 li a img {

}

#top #sec05 .ul05 li a p {
    font-size: 20px;
    line-height: 1.7;
    color: #fff;
    font-family: 'Noto Serif JP', serif;
    margin-top: 8px;
    position: relative;
}

#top #sec05 .ul05 li a p:before {
    position: absolute;
    content: "";
    vertical-align: middle;
    right: 10px;
    box-sizing: border-box;
    width: 10px;
    height: 10px;
    border: 7px solid transparent;
    border-left: 7px solid #fff;
    top: 2px;
    bottom: 0;
    margin: auto;
}

/*———————————

全ページ下部のcontactセクション

———————————*/

#contact {
    background: #0c1f36;
    padding: 30px 0;
    text-align: center;
}

#top #contact {
    padding: 90px 0;
}

#contact h3 {
    color: #bf9623;
    font-size: 35px;
    letter-spacing: 10px;
    text-indent: 10px;
    line-height: 1.5;
    margin-bottom: 35px;
}

#contact .txt {
    color: #fff;
    font-size: 16px;
    line-height: 1.8;
    letter-spacing: 1px;
}

#contact p.tel {
    color: #fff;
    font-size: 34px;
    margin: 20px 0 35px;
    letter-spacing: 5px;
}

#contact p.tel a {
    font-size: 54px;
    color: #fff;
}

#contact .contact_btn {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

#contact .contact_btn li {
    margin: 0 20px;
}

#contact .contact_btn li a {
    color: #fff;
    line-height: 1.4;
    background: #39506b;
    display: block;
    padding: 10px 35px;
    border-radius: 10px;
    letter-spacing: 2px;
}

/*———————————

TOP以下の下層ページ共通

———————————*/

.content {
    background: #fff;
    padding: 102px 0 0;
    text-align: center;
}

.content section {
    margin-bottom: 100px;
}

.content a {
    text-decoration: underline;
}

.content h1 {
    color: #000;
    font-size: 35px;
    letter-spacing: 10px;
    text-indent: 10px;
    line-height: 1.5;
}

.content .bg-opacity {
    background: rgba(255,255,255,.4);
    height: 100%;
    padding: 80px 0;
}

.content .h3bg {
    background-image: url(/images/kv2.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    margin-top: 6px;
    margin-bottom: 50px;
    
}

.content h2 {
    color: #000;
    font-size: 26px;
    letter-spacing: 9px;
    line-height: 1.5;
    border-bottom: 1px solid #777;
    max-width: 850px;
    margin: 0 auto 35px;
    padding-bottom: 10px;
    
    padding-top: 160px;
    margin-top: -160px;
}

.content h3 {
    font-size: 21px;
    letter-spacing: 3px;
    background: #dde7f3;
    max-width: 850px;
    margin: 40px auto 30px;
    color: #333;
    padding: 10px 0;
    text-align: left;
    text-indent: 12px;
}

.content h3 span {
    color: #cea01d;
    font-size: 13px;
    letter-spacing: 1px;
    display: block;
}

.content h4 {
    font-size: 19px;
    text-align: left;
    max-width: 850px;
    margin: 50px auto 15px;
    letter-spacing: 2px;
}

.content p {
    color: #555;
    font-size: 15px;
    line-height: 1.7;
    letter-spacing: 2px;
    max-width: 850px;
    margin: 0 auto 10px;
    text-align: left;
}

.content ul {
    margin: 0 auto 10px;
    text-align: left;
    max-width: 850px;
}

.content ul li {
    color: #555;
    font-size: 15px;
    line-height: 1.7;
    letter-spacing: 2px;
}

.content table caption {
    font-size: 18px;
    margin-bottom: 10px;
    font-weight: bold;
}

.content table {
    max-width: 850px;
    margin: 30px auto;
    width: 100%;
    font-size: 14px;
    text-align: left;
    border-collapse: collapse;
    letter-spacing: 3px;
}

.content table th {
    border: 1px solid #ccc;
    padding: 10px;
    vertical-align: middle;
    background: #f2f3f4;
}

.content table td {
    border: 1px solid #ccc;
    padding: 10px;
    vertical-align: middle;
    background: #fff;
    line-height: 1.4;
}

.content .txt_img {
    display: flex;
    justify-content: space-between;
    align-items: self-start;
    max-width: 850px;
    margin: 0 auto;
}

.content .txt_img p {
    margin: 0 20px 10px 0;
}

.content .txt_img ul:first-child {
    margin: 0 20px 10px 0;
}

.content .txt_img div {
    width: 100%;
    max-width: 400px;
}

.content .txt_img img {
    width: 100%;
    max-width: 400px;
}

/*.content>section {
    padding: 70px 0;
    background: url(/images/grey.png);
}

.content>section:nth-of-type(2n) {
    background: none;
}*/

/*———————————

パンくずリスト

———————————*/

.breadcrumb {
    padding: 0;
    list-style: none;
    max-width: 850px;
    text-align: left;
    margin: 0 auto;
}

.breadcrumb li {
    display: inline;/*横に並ぶように*/
    list-style: none;
}

.breadcrumb li:after {/* ▶を表示*/
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: '\f0da';
    padding: 0 0.2em;
    color: #ccc;
}

.breadcrumb li:last-child:after {
    content: '';
}

.breadcrumb li a {
    text-decoration: none;
    color: #888;
    letter-spacing: 1px;
    font-size: 13px;
}

.breadcrumb li:first-child a:before {
    /*家アイコン*/
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: '\f015';
    font-size: 1.1em;
    color: #0c1f36;
}

.breadcrumb li a:hover {
    text-decoration: underline;
}

/*———————————

/news/

———————————*/

#news .content ul {
    max-width: 850px;
    margin: 0 auto 20px;
    text-align: left;
    line-height: 1.7;
}

#news .content ul li {
    border-bottom: 1px solid #ddd;
    padding: 20px 0;
}

#news .content ul li dl {

}

#news .content ul li dl dt {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 5px;
}

#news .content ul li dl dt dd {
    font-size: 14px;
}

span.news_date {
    margin-right: 1rem;
}

/*———————————

/doctor/

———————————*/

/*
#doctor .content h4 {
    font-size: 20px;
    margin: 30px 0 18px;
}

#doctor .content h4 span {
    color: #cea01d;
    font-size: 13px;
    letter-spacing: 0px;
    display: block;
}

#doctor .content p span {
    display: block;
}

#doctor .content p {
    line-height: 1.4;
    max-width: 1000px;
    margin-bottom: 10px;
}

#doctor .content ul {
    display:inline-block;
    margin: 0 auto;
}

#doctor .content ul li {
    line-height: 1.4;
}

#doctor .img_area {
    background-image: url(/images/doctor.png);
    background-repeat: no-repeat;
    background-position: right top;
    padding: 20px 0 30px;
}

#doctor .img_area .img_area_inner {
    max-width: 800px;
    margin: 0 auto;
    text-align: left;
    padding-right: 400px;
}

#doctor .content .name {
    font-weight: bold;
    font-size: 17px;
    color: #000;
}
*/

/*———————————

about

———————————*/

#about .content {
    /*padding: 139px 0 0;*/
}

#about .content .about_top {
    max-width: 850px;
    margin: 0 auto 10px;
    position: relative;
}

#about .content .about_top p {
    position: absolute;
    left: 0%;
    top: 22%;
    font-size: 20px;
    /*background: #fff;*/
    padding: 20px 30px 30px 140px;
}

#about .content .about_top p span {
    font-size: 38px;
}

#about .content .about_flex {
    display: flex;
    max-width: 850px;
    margin: 0 auto;
    justify-content: center;
    flex-wrap: wrap;
}

#about .content .about_flex>li {
    margin: 0 30px 40px;
    text-align: center;
}

#about .content .about_flex img {
    max-width: 350px;
}

#about .content h5 {
    text-align: left;
    max-width: 850px;
    margin: 50px auto 15px;
    background: none;
    padding: 0;
    text-indent: 0px;
}

#about .content h5 span {
    color: #cea01d;
    font-size: 13px;
    letter-spacing: 1px;
    display: block;
    line-height: 2;
}

#about .content table {
    text-align: center;
}

#about .content .map {
    max-width: 850px;
}

#about .content .root {
    max-width: 850px;
}

#about .content .root li {
    margin-bottom: 45px;
}

#about .content .root li dl {

}

#about .content .root li dl dt {
    margin-bottom: 20px;
    text-align: center;
}

#about .content .root li dl dd {
    display: flex;
    max-width: 850px;
    margin: 0 auto 20px;
    justify-content: center;
    flex-wrap: wrap;
}

#about .content .root li dl dd a {
    margin: 0 30px;
    position: relative;
}

#about .content .root li dl dd img {
    max-width: 360px;
}

#about .content .root li dl dd span {
    position: absolute;
    bottom: 12px;
    right: 5px;
    background: #fff;
    width: 30px;
    line-height: 2;
    text-align: center;
    color: #333;
}

#about .content .acc_bnr {
    display: flex;
    /*justify-content: space-between;*/
    justify-content: center;
    align-items: center;
    max-width: 850px;
    margin: 40px auto;
}

#about .content .access_bnr {
    /*margin: 60px auto 0px;*/
    margin: 0px;
    text-align: center;
}

#about .content .access_bnr a {
    background: linear-gradient(to bottom, #0c1f36, #476384);
    color: #fff;
    display: inline-block;
    font-size: 22px;
    padding: 14px 27px;
    border-radius: 15px;
    line-height: 1.4;
}

#about .content .access_bnr a span {
    font-size: 44px;
}


/*———————————

/search/

———————————*/

.searchnav {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
}

.searchnav li {
    margin-bottom: 10px;
    width: 32%;
}

.searchnav li a {
    position: relative;
    display: block;
}

.searchnav li a:hover {
    text-decoration: underline;
}

.searchnav li a:before {
    position: absolute;
    content: "";
    vertical-align: middle;
    right: 68px;
    box-sizing: border-box;
    width: 5px;
    height: 5px;
    border: 5px solid transparent;
    border-left: 5px solid #bf9623;
    top: 2px;
    bottom: 0;
    margin: auto;
}

/*———————————

/exam/

———————————*/

#exam .content {
    /*padding: 117px 0 0;*/
}

#exam .content table.doc_table td a {
    float: right;
    /*margin-top: 15px;*/
}

#exam #link1b {
    padding-top: 270px;
    margin-top: -270px;
}


/*———————————

/exam/gastroscope/

———————————*/

#exam.scope .content .scope_list {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
}

#exam.scope .content .scope_list>li {
    width: 30%;
}

#exam.scope .content .scope_list>li dl {

}

#exam.scope .content .scope_list>li dl dt {
    font-size: 17px;
    text-align: center;
    background: #0c1f36;
    color: #fff;
    margin-bottom: 10px;
    padding: 5px 0;
}

#exam.scope .content .scope_list>li dl dd {

}

#exam.scope .content .scope_list>li dl dd ul {

}

#exam.scope .content .scope_list>li dl dd ul li {
    list-style: inside;
}

#exam.scope .content .gas_list>li {
    margin-bottom: 60px;
    position: relative;
}

#exam.scope .content .gas_list>li>dl>dt {
    font-weight: bold;
    font-size: 18px;
    padding: 8px 0 8px 15px;
    text-align: left;
    margin: 0 0 15px;
    background: #0c1f36;
    color: #fff;
}

#exam.scope .content .gas_list>li>dl>dd>dl {
    margin: 20px 0;
}

#exam.scope .content .gas_list>li>dl>dd>dl>dt {
    font-weight: bold;
}

#exam.scope .content table {
    margin: 50px auto;
    text-align: center;
}

#exam.scope .content .gas_list>li:not(:last-of-type)::after {
    content: "";
    display: block;
    position: absolute;
    bottom: -34px;
    left: 50%;
    width: 0;
    height: 0;
    transform: translateX(-50%);
    border: 12px solid transparent;
    border-top: 12px solid #0c1f36;
    border-bottom-width: 0;
}

/*———————————

/exam/doc/

———————————*/

#exam.doc .content h4 {
    padding-top: 200px;
    margin-top: -200px;
}

#exam.doc .content p {
    text-align: center;
}


/*———————————

/access/

———————————*/

/*#access .content {
    padding: 139px 0 0;
}

#access .content table {
    text-align: center;
}

#access .content .map {
    max-width: 850px;
}

#access .content .root {
    max-width: 850px;
}

#access .content .root li {
    margin-bottom: 45px;
}

#access .content .root li dl {

}

#access .content .root li dl dt {
    margin-bottom: 20px;
    text-align: center;
}

#access .content .root li dl dd {
    display: flex;
    max-width: 850px;
    margin: 0 auto 20px;
    justify-content: center;
    flex-wrap: wrap;
}

#access .content .root li dl dd a {
    margin: 0 30px;
    position: relative;
}

#access .content .root li dl dd img {
    max-width: 360px;
}

#access .content .root li dl dd span {
    position: absolute;
    bottom: 12px;
    right: 5px;
    background: #fff;
    width: 30px;
    line-height: 2;
    text-align: center;
    color: #333;
}

#access .content .acc_bnr {
    display: flex;
    justify-content: center;
    align-items: center;
    max-width: 850px;
    margin: 40px auto;
}

#access .content .access_bnr {
    margin: 0px;
    text-align: center;
}

#access .content .access_bnr a {
    background: linear-gradient(to bottom, #0c1f36, #476384);
    color: #fff;
    display: inline-block;
    font-size: 22px;
    padding: 14px 27px;
    border-radius: 15px;
    line-height: 1.4;
}

#access .content .access_bnr a span {
    font-size: 44px;
}*/

/*———————————

/contact/

———————————*/

#contactpage .content {
    padding: 139px 0 0;
}

.content .form  {
    max-width: 650px;
}

.content .form .label-danger {
    color: red;
}

.content .form li {
    margin-bottom: 10px;
    border-bottom: 1px dotted #ccc;
    padding-bottom: 10px;
}

.content .form li dl {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
}

.content .form li dl dt {
    width: 50%;
}

.content .form li.birth dd select {
    width: 60px;
}

.content .form li dl dd {
}

.content select {
    width: 246px;
    padding: 5px;
}

.content input[type="text"] {
    width: 234px;
    padding: 5px;
}

.content input[type="email"] {
    width: 234px;
    padding: 5px;
}

.content textarea {
    resize: vertical;
    min-width: 234px;
    max-width: 500px;
    min-height: 100px;
    max-height: 250px;
    padding: 5px;
}

.content .formbtn {
    display: flex;
    justify-content: center;
}

.content .formbtn li {
    margin: 0 10px;
}

.content .form input,
.content .form textarea {
    outline: none;
    border: 1px solid #aaa;
    -webkit-transition: all .3s;
    transition: all .3s;
}
.content .form input:focus,
.content .form textarea:focus {
    box-shadow: 0 0 7px #1abc9c;
    border: 1px solid #1abc9c;
}

/*———————————

ヘッダーナビ下部のサブナビ

———————————*/

.subnav {
    display: flex;
    justify-content: center;
    padding: 6px 0 0;
    border-bottom: 1px solid #ccc;
    background: #eee;
    border-top: 1px solid #ccc;
    flex-wrap: wrap;
}

.subnav li {
    margin: 0 8px 6px;
}

.subnav li a {
    background: #fff;
    color: #333;
    font-size: 15px;
    padding: 4px 23px 5px;
    border-radius: 6px 13px;
    position: relative;
    display: inline-block;
}

.subnav li a::after{
    position: absolute;
    content: "";
    vertical-align: middle;
    right: 7px;
    box-sizing: border-box;
    width: 5px;
    height: 5px;
    border: 5px solid transparent;
    border-top: 5px solid #aaa;
    top: 5px;
    bottom: 0;
    margin: auto;
}

/*———————————

フッター

———————————*/

footer nav {
    background: #00142c;
}

footer nav ul {
    max-width: 1200px;
    margin: 0 auto;
    background: #00142c;
    display: flex;
    justify-content: flex-start;
    padding: 25px 0px;
    flex-wrap: wrap;
}

footer nav ul li {
    margin-right: 25px;
}

footer nav ul li a {
    color: #fff;
    font-size: 16px;
}

footer nav ul li a:hover {
    text-decoration: underline;
}

footer .logoarea {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px 0;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
}

footer .logoarea a {
    margin-right: 30px;
}

footer .copy {
    font-size: 12px;
    text-align: center;
    padding: 15px 0;
    border-top: 1px solid #ddd;
}

#tracking01 {
	position: fixed;
	top: 50%;
	transform: translate(0, -50%);
	right: 0;
	z-index: 1001;
}

#tracking01 .bnr01 {
	width: 120px;
	height: 200px;
	background: #0a2f62;
}

#tracking01 a {
	display: block;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	height: 100%;
	text-align: center;
	line-height: 1.4;
}

#tracking01 .bnr01 a {
	color: #fff;
}

#tracking01 .bnr01 a img {
	width: 70%;
	display: block;
	margin-bottom: -45px;
}

/*———————————

トップページ案内

———————————*/

/* この案内が不要となった時は#sec01のmargin-topを97pxに戻す */

#top #att {
    margin-top: 97px;
    padding-top: 4%;
    text-align: center;
    background: #eee;
    padding-bottom: 4%;
    margin-bottom: 40px;
	line-height: 1.5;
}

#top #att h3 {
    font-size: 20px;
    margin-bottom: 20px;
    font-weight: 700;
    color: red;
}


#top #att ul {
    border: 3px red solid;
    padding: 15px;
    background: #fff;
	text-align: left;
	width: 80%;
    margin: 0 auto;
}

#top #att ul li {
    color: red;
    font-weight: bold;
    text-indent: -1.2em;
	padding-left: 1.2em;
    font-size: 19px;
    letter-spacing: 4px;
    display: inline-block;
	margin: 7px 0;
}

#top #bnr_area {
    text-align: center;
    padding-bottom: 40px;
}

#top #bnr_area p {
    
}

#top #bnr_area p a {
    
}

#top #bnr_area p a img {
    display: inline-block;
}

/* /news/一覧のぺージャー */

#news .content h2.screen-reader-text {
    display: none;
}

#news .content ul.page-numbers {
    display: flex;
    justify-content: center;
}

#news .content ul.page-numbers li {
    border: none;
    margin: 0 10px;
}

@media screen and (max-width: 559px) {
    
    .pc {
        display: none!important;
    }
    
    .pc_flex {
        display: none!important;
    }
    
    .sp {
        display: block!important;
    }
    
    body{
        overflow-x: hidden;
    }
    
    header>div>div {
        display: block;
    }
    
    header .sp_header {
        display: block;
        height: 67px;
        width: 100%;
        background: #00142c;
    }
    
    header>div div:first-of-type h1 {
        position: absolute;
        top: 21%;
        left: 2%;
    }
    
    header>div div:first-of-type a.pages {
        position: absolute;
        top: 21%;
        left: 2%;
    }
    
    header .hero div h2 {
        z-index: 1000;
        width: 100%;
        top: 161%;
    }
    
    header .hero div:first-of-type {
        position: unset;
    }
    
    header>div div:last-of-type {
        width: 100%;
    }
    
    header>div>div div:last-of-type {
        width: 100%;
    }
    
    header>div div:first-of-type {
        width: 100%;
    }
    
    .viewer ul {
        opacity: 0.6;
        max-width: 559px;
        height: 300px;
    }
    
    .viewer ul li {
        overflow: hidden;
    }

    
    .viewer ul li img {
        max-width: 200%;
        width: 200%;
        margin-left: -46%;
    }
    
    /* ハンバーガーメニュー */
    
    header .nav_toggle {
        display: block;
        position: relative;
        width: 1.75rem;
        height: 1.5rem;
    }
    header .nav_toggle i {
        display: block;
        width: 100%;
        height: 2px;
        background-color: #fff;
        position: absolute;
        transition: transform .5s, opacity .5s;
    }
    header .nav_toggle i:nth-child(1) {
        top: 0;
    }
    header .nav_toggle i:nth-child(2) {
        top: 0;
        bottom: 0;
        margin: auto;
    }
    header .nav_toggle i:nth-child(3) {
        bottom: 0;
    }
    
    header .nav_toggle.show i:nth-child(1) {
        transform: translateY(10px) rotate(-45deg);
    }
    header .nav_toggle.show i:nth-child(2) {
        opacity: 0;
    }
    header .nav_toggle.show i:nth-child(3) {
        transform: translateY(-12px) rotate(45deg);
    }
    
    header .gnav {
        position: fixed;
        top: 67px;
        left: 0;
        right: 0;
        bottom: 0;
        padding: 1rem 0;
        opacity: 0;
        visibility: hidden;
        transition: opacity .5s, visibility .5s;
    }
    
    header .gnav.show {
        opacity: 0.9;
        visibility: visible;
        height: 348px;
    }
    
    header .gnav.fixed {
        top: 67px;
    }
    
    header .sp_header {
        position: fixed;
        z-index: 100000;
        width: 100%;
        top: 0;
    }
    
    header .sp_header>div {
        height: 100%;
    }
    
    header .sp_header div .ham {
        position: absolute;
        top: 21px;
        right: 15px;
        z-index: 1000;
        width: auto;
    }
    
    header .hero {
        position: relative;
        padding-top: 0px;
    }
    
    
    
    
    
    /* ハンバーガーメニュー ここまで */
    
    
    
    #news header>nav,
    #doctor header>nav,
    #about header>nav,
    #exam header>nav,
    #access header>nav,
    #contactpage header>nav {
        position: absolute;
    }
    
    
    header>div div:first-of-type h2 {
        top: 31%;
        width: 48%;
    }
    
    
    
    
    
    header .gnav ul {
        padding: 5px 0;
        display: block;
    }
    header .gnav ul li {
        border-bottom: 1px solid #bf9623;
        padding: 4px 0px;
    }
    header .gnav ul li:first-of-type {
        display: none;
    }
    header .gnav ul li a {
        font-size: 13px;
        line-height: 1.7;
        letter-spacing: 2px;
        display: block;
        text-align: left;
        color: #333;
        text-indent: 10px;
        position: relative;
    }
    
    header .gnav ul li a:before {
        position: absolute;
        content: "";
        vertical-align: middle;
        right: 7px;
        box-sizing: border-box;
        width: 5px;
        height: 5px;
        border: 5px solid transparent;
        border-left: 5px solid #bf9623;
        top: 2px;
        bottom: 0;
        margin: auto;
    }
    
    #top #sec01 {
        padding-top: 50px;
        margin-top: 0;
        padding-bottom: 20px;
    }
    #top #sec01 .inner {
        top: 50px;
        left: 0;
        transform: translate(0%, 0%);
        right: 0;
        position: unset;
    }
    
    #top #sec01 .inner h3 {
        font-size: 27px;
        line-height: 1.8;
        margin-bottom: 56px;
        letter-spacing: 2px;
    }
    
    #top #sec01 .inner p {
        font-size: 13px;
        margin-top: 10px;
        padding: 0 20px;
    }
    
    #top #sec01 .link01 {
        margin: 22px auto 0;
    }
    
    #top #sec02 {
        padding: 40px 0 60px;
    }
    #top #sec02 h3 {
        font-size: 24px;
        line-height: 1.8;
        margin-bottom: 0px;
        letter-spacing: 2px;
    }
    
    #top #sec02>ul {
        display: block;
    }
    #top #sec02>ul li dl {
        width: 313px;
        margin: 40px auto 0;
    }
    
    
    
    
    
    
    
    
    
    #top #sec03 {
        padding: 40px 20px;
    }
    #top #sec03 h3 {
        font-size: 27px;
        line-height: 1.8;
        margin-bottom: 20px;
        letter-spacing: 10px;
    }
    #top #sec03 h4 {
        font-size: 22px;
        letter-spacing: 5px;
    }
    
    #top #sec03 .dl03>dd>ul>li {
        width: 90%;
        margin: 0 auto 20px;
    }
    
    #top #sec03 .dl03>dd>ul>li>dl>dt {
        font-size: 14px
    }
    #top #sec03 .dl03>dd>ul>li>dl>dd>ul>li>a {
        font-size: 13px;
    }
    
    #top #sec03 .dl03b>dd>ul>li {
        width: 90%;
    }
    
    
    
    
    
    #top #sec04 {
        padding: 40px 20px 60px;
    }
    #top #sec04 h3 {
        font-size: 27px;
        line-height: 1.8;
        margin-bottom: 0px;
        letter-spacing: 10px;
    }
    
    #top #sec05 {
        padding: 40px 20px 60px;
    }
    #top #sec05 h3 {
        font-size: 27px;
        line-height: 1.8;
        margin-bottom: 0px;
        letter-spacing: 10px;
    }
    #top #contact {
        padding: 40px 20px;
    }
    #contact h3 {
        font-size: 27px;
        line-height: 1.8;
        margin-bottom: 10px;
    }
    
    
    #contact p.tel {
        font-size: 19px;
        margin: 15px 0;
    }
    
    #contact p.tel a {
        font-size: 24px;
    }
    
    #contact .contact_btn li {
        margin: 10px auto;
        width: 85%;
    }
    #contact .contact_btn li a {
        padding: 10px 0;
    }
    footer nav ul {
        justify-content: space-around;
        padding: 10px 0px;
    }
    
    footer nav ul li {
        margin-right: 0;
        margin: 5px 0;
        width: 40%;
        text-align: center;
    }
    footer .logoarea {
        padding: 20px;
        justify-content: center;
        font-size: 13px;
        line-height: 1.5;
    }
    footer .logoarea a {
        margin: 0px 0 12px;
    }
	#tracking01 {
		top: auto;
		right: auto;
		bottom: 0;
		left: 0;
		transform: none;
		width: 100%;
	}
	#tracking01 .bnr01 {
		width: auto;
		height: auto;
	}
	#tracking01 .bnr01 a br {
		display: none;
	}
	#tracking01 .bnr01 a img {
		margin: 0 2.5% 0 0;
		width: 13%;
	}
    
    .content,
    #about .content,
    #exam .content,
    #access .content,
    #contactpage .content{
        padding: 72px 0 0;
    }
    
    .content .bg-opacity {
        padding: 15px 0;
    }
    
    .content .h3bg {
        margin-bottom: 30px;
    }
    
    .content h1 {
        font-size: 24px;
    }
    
    .breadcrumb {
        padding: 0 0 0 10px;
    }
    
    .content section {
        margin-bottom: 40px;
        padding: 0 20px;
    }
    
    #about .content .about_top p {
        left: -1%;
        top: 18%;
        font-size: 12px;
        padding: 10px 28px 15px 30px;
    }
    
    #about .content .about_top p span {
        font-size: 23px;
    }
    #about .content h5 {
        margin: 20px auto 5px;
    }
    
    .content h2 {
        color: #000;
        font-size: 18px;
        margin: 25px auto 20px;
        padding-top: 80px;
        letter-spacing: 2px;
        margin-top: -80px;
    }
    
    .content .txt_img {
        display: block;
        margin: 0 auto 20px;
    }
    
    .content .txt_img p {
        margin: 0 0px 20px 0;
    }
    
    .content h3 {
        font-size: 15px;
        margin: 30px auto 10px;
        line-height: 1.5;
        padding: 8px;
        text-indent: 0px;
    }
    
    #about .content .access_bnr a {
        font-size: 15px;
        padding: 10px 16px;
        width: 90%;
    }

    #about .content .access_bnr a span {
        font-size: 30px;
    }
    
    #contact {
        padding: 20px;
    }
    
    .linkbtn {
        padding: 5px 5px 6px;
        display: block;
        font-size: 14px;
    }
    
    .content .txt_img ul:first-child {
        margin: 0 0px 10px 0;
    }
    
    #exam .doc_table tr {
        display: block;
        margin-bottom: 10px;
    }
    
    #exam .doc_table th {
        padding: 5px;
        line-height: 1.5;
        display: block;
        margin: 0 auto;
        width: 95%;
    }
    
    #exam .doc_table td {
        padding: 5px;
        line-height: 1.5;
        display: block;
        margin: 0 auto;
        width: 95%;
        overflow: hidden;
    }
    
    #exam .doc_table td a {
        margin-top: 10px;
        font-size: 11px;
        letter-spacing: 1px;
        display: inline-block;
        padding: 3px 22px 4px;
    }
    .subnav {
        display: none;
    }
    footer nav {
        display: none;
    }
    #contact .txt {
        font-size: 14px;
    }
    #exam #link1b {
        padding-top: 136px;
        margin-top: -136px;
    }
    
    .content table th {
        padding: 5px;
        font-size: 12px;
        line-height: 1.5;
    }
    .content table td {
        padding: 5px;
        font-size: 12px;
        line-height: 1.5;
    }
    #about .content .root li dl dd img {
        width: 100%;
    }
    #about .content .root li dl dt {
        text-align: left;
        text-indent: -1rem;
        padding-left: 1rem;
    }
    #about .content .root li dl dd {
        margin: 0 auto 0;
    }
    span.news_date {
        margin-right: 0;
        display: block;
        font-size: 12px;
    }
    #exam.doc .content h2 {
        padding-top: 88px;
        margin-top: -88px;
    }
    #exam.doc .content h2#link1 {
        padding-top: 115px;
        margin-top: -88px;
    }
    #sec00 {
        text-align: center;
        padding: 28px 5px;
        letter-spacing: 1px;
        font-weight: bold;
        background: url(/images/grey.png);
    }
    #sec00 .txt01 {
        font-size: 11px;
        line-height: 2;
    }
    #sec00 .txt02 {
        font-size: 13px;
        margin-top: 30px;
    }
    #sec00 .txt02 .txt02a {
        font-size: 17px;
        margin: 0 2px;
    }
    #sec00 .txt02 .txt02b {
        font-size: 30px;
        font-style: italic;
    }
    
    .content .form li.birth dd select {
        width: 61px;
    }
    .content .form li dl dt {
        width: 100%;
    }
    .content .form li {
        width: 252px;
        margin: 0 auto;
    }
    .content .form li dl dd {
        width: 100%;
    }
    
    #exam.scope .content .scope_list>li {
        width: 100%;
    }
    
    #exam.scope .content .gas_list>li>dl>dt {
        font-size: 15px;
    }
    .content table caption {
        font-size: 13px;
    }
    #top #sec04>ul dt {
        font-size: 15px;
    }
    #top #sec04>ul dd {
        font-size: 13px;
    }
    #about .content .root li dl dd a {
        margin: 0 auto;
    }
    .content p {
        font-size: 13px;
    }
    .content ul li {
        font-size: 13px;
    }
    #about .content .about_flex>li {
        margin: 0 auto 40px;
    }
    #about .content .about_flex img {
        width: 100%;
    }
    #news .content ul li dl dt {
        font-size: 15px;
    }
    #fix_bnr {
        bottom: 0px;
    }
    /*#page_top {
        bottom: 140px;
    }*/
    footer {
        margin-bottom: 116px;
    }
    #about .content .access_bnr {
        margin-bottom: 20px;
    }
    #about .content .acc_bnr {
        display: block;
    }
    #about .content .acc_bnr a img {
        height: auto;
    }
    header .gnav ul.menu__second-level {
        display: none;
    }
    .searchnav {
        display: block;
    }
    .searchnav li {
        width: auto;
    }
    .searchnav li a:before {
        right: 0px;
    }
    .content .att_list li {
        padding-left: 1.3em;
        text-indent: 0em;
    }
    #top #att {
        padding: 6%;
        margin-top: 0px;
        margin-bottom: 10px;
    }
    #top #att h3 {
        font-size: 16px;
        margin-bottom: 10px;
    }
	#top #att ul li {
		font-size: 14px;
		letter-spacing: 1px;
		margin: 4px 0;
		text-indent: -1.1em;
    	padding-left: 1.1em;
	}
	
	#top #att ul {
    padding: 5px;
    width: 95%;
}
	
    #top #bnr_area {
        padding-top: 10px;
        text-align: center;
        padding-bottom: 7px;
    }
	#page_top {
		bottom: 18vw;
	}
	li.menu__single div.nav_flex {
		display: none;
	}

}