@charset "UTF-8";
/* ------------------------------
BASE
------------------------------ */
html {
    font-size: 62.5%;
}
body{
    position: relative;
    margin:0;
    padding:0;
    font-size:14px;
    font-size:1.4rem;
    font-family:'Roboto',"游ゴシック","YuGothic","Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro","ＭＳ ゴシック",sans-serif;
    font-weight: 500;
    color:#000000;
    background:#fff ;
    text-align:center;
}
div ,p ,h1 ,h2 ,h3 ,h4 ,h5 ,h6 ,form ,li ,ul ,ol ,dl ,dd ,dt ,table {
    margin: 0;
    padding: 0;
}
.clear{
    clear:both;
}
.jisage{font-size: 70%;}

/* Micro clearfix */
.clearfix { zoom: 1; }
.clearfix:before,
.clearfix:after { content: ""; display: table; }
.clearfix:after { clear: both; }

.wrap { zoom: 1; }
.wrap:before,
.wrap:after { content: ""; display: table; }
.wrap:after { clear: both; }

blockquote { zoom: 1; }
blockquote:before,
blockquote:after { content: ""; display: table; }
blockquote:after { clear: both; }

.post { zoom: 1; }
.post:before,
.post:after { content: ""; display: table; }
.post:after { clear: both; }

/* サイズ調整用 */
* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}

/* --------------------------------------------------------- 汎用 */
.hid{
    display:none;
}
p{
    line-height:1.8;
}
h4,
h5,
h6{
    font-size:14px;
    font-size: 1.4rem;
}
.smallFont{
    font-size:12px;
    font-size:1.2rem;
}
.largeFont{
    font-size:20px;
    font-size: 2.0rem;
}
.small{
    font-size:10px;
    font-size:1rem;
}
.large{
    font-size:16px;
    font-size: 1.6rem;
}
.alignRight{
    text-align:right;
}
.alignCenter{
    text-align:center;
}
.alignLeft{
    text-align:left;
}
.red{
    color:#FF3300;
}
/* レスポンシブ表示調整 */
.sp{
    display: none;
}
.tablet{
    display: none;
}
/* エラーメッセージ */
.error{
    color:#FF3300;
    margin:1em 0px 1.5em 45px;
    line-height: 1.3;
}
.error li{
    margin:0.5em 0;
    font-weight: bold;
}
iframe{
    max-width: 100%;
}

.btn_jisseki{
    color: #fff !important;
    display: block;
    font-size: 1.7em;
    background-color: #0f5f29;
    max-width: 400px;
    margin: 25px auto;
    padding: 9px;
    border-radius: 25px;
    text-align: center;
}

/* --------------------------------------------------------- リンクの基本色 */
a:link { text-decoration:none; color:#0a9566;transition: color 0.3s ease 0.1s;}
a:visited { text-decoration:none; color:#0a9566; }
a:active { text-decoration:none; color:#0fae78; }
a:hover { text-decoration:none; color:#0fae78;}

/* --------------------------------------------------------- 画像共通 */
img{
    vertical-align:top;
    max-width: 100%;
    transition: opacity 0.3s ease 0.2s;
    height:auto;
}
a:hover img{
    opacity:0.7;
}
img.alignright{
    float:right;
    margin:0px 0px 5px 10px;
}
img.alignleft{
    float:left;
    margin:0px 10px 5px 0px;
}
img.aligncenter{
    float: none;
    margin: 0 auto;
    display: block;
}



/* --------------------------------------------------------- google map */
.googlemap {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 30px;
    height: 0;
    overflow: hidden;
    border:solid 1px #d7d7d7;
}

.googlemap iframe,
.googlemap object,
.googlemap embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* --------------------------------------------------------- 枠組み共通 */
.wrap{
    position: relative;
    max-width:1170px;
    margin:0 auto;
}
.wrap2{
    position: relative;
    padding:0 55px;
}
#overlay{
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100% !important;
    background-color: rgba(0, 0, 0, 0.8);
    z-index: 1 !important;
    filter: alpha(opacity=80) !important;
    -moz-opacity: .8 !important;
    opacity: .8 !important;
}
/* --------------------------------------------------------- header */
#header{
    position: relative;
    width: 100%;
    height: 412px;
    background-color: #0a9566;
    color: #fff;
}

.home #header {
    background-position: 50% 0px!important;
}
/* --------------------------- headline */
#header .headline {
    padding: 18px 18px 38px 18px;
    font-size:10px;
    font-size:1.0rem;
    text-align: left;
    font-weight: normal;
        background-color: rgb(255,255,255,0.77);
    background-color: rgba(255,255,255,0.77);
        position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 10;
}

#header .headline .headline_text {
    width: 35%;
    display: block;
}
/* --------------------------- パスワードページ */
form.post-password-form {
    text-align: center;
    margin: 40px;
}
/* --------------------------- ページタイトル */
#header .pageTTL {
    position: absolute;
    top: 192px;
    left: 0;
    width: 100%;
    height: 150px;
    margin: 0;
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-weight: normal;
}
#header .pageTTL span{
    display: block;
    position: absolute;
    top: 0px;
    left: 0;
    right: 0;
    margin:0 auto;
    font-size:21px;
    font-size:2.1rem;
    letter-spacing: 0.2em;
}
#header .pageTTL span:before{
    position: absolute;
    bottom: -10px;
    left: 0;
    right: 0;
    margin: 0 auto;
    content: " ";
    border-bottom: solid 1px #fff;
    width: 15px;
}
#header .pageTTL strong{
    display: block;
    position: absolute;
    top: 50px;
    left: 0;
    right: 0;
    margin:0 auto;
    font-size:34px;
    font-size:3.4rem;
    letter-spacing: 0.2em;
    font-weight: normal;
}
#header .pageTTL i{
    display: block;
    position: absolute;
    bottom: 25px;
    left: 0;
    right: 0;
    margin:0 auto;
    font-size:14px;
    font-size:1.4rem;
    letter-spacing: 0.1em;
    font-style: normal;
}

.single-doctor #header .pageTTL i.clinicName {
    bottom: 15px;
    font-size:2.2rem;
}

/* --------------------------- logo */

#header .logo {
    position: fixed;
    top: 10px;
    left: calc( 50% - 110px );
    width: 220px;
    height: 50px;
    z-index: 10;
}
/* --------------------------- headerNavContact */
#headerNavContact{
    position: fixed;
    top: 0;
    right: 0;
    display: table;
    z-index: 10;
}
#headerNavContact li{
    display: table-cell;
    list-style: none;
    font-size:13px;
    font-size:1.3rem;
}
#headerNavContact li a{
    display: block;
    width: 180px;
    height: 38px;
    color: #fff;
    line-height: 38px;
    background-color: #0fae78;
    transition: opacity 0.3s ease 0.2s;
}
#headerNavContact li.inquiry a{
    background-color: #0c8e62;
}

#headerNavContact li a:hover{
    opacity: 0.7;
}

/* --------------------------- global navigation */
#gNav {
    z-index: 10;
        position: fixed;
    top: 67px;
    left: 0;
    width: 100%;
}
#gNav ul.menu{
    list-style: none;
    /*font-size: 0;*/
    width: 100%;
    text-align: center;
    display: flex;
    justify-content: space-between;
    z-index: 10;
}

#gNav ul.menu > li {
    width: 20%;
    text-align: center;
    background-color: #0c8e62;
    padding: 0;
    border-right: 1px solid white;
    position: relative;
}

#gNav ul > li > a{
    display: block;
    width: 100%;
    color: white;
    padding: 20px 0;
}

#gNav ul.menu > li:hover > ul{
    display: flex;

}

#gNav ul.menu > li > ul{
    justify-content: flex-start;
    flex-direction: column;
    position: absolute;
    top: 56px;
    left: 0;
    width: 100%;
}

#gNav ul.menu > li ul {
    display: none;
    list-style: disc;
}

#gNav ul > li > ul > li{
    width: 100%;
     background-color: rgba(12,142,98,0.8);
    text-align: left;
    padding-right: 7%;
    padding-left: 20px;
    box-sizing: border-box;
}

#gNav ul > li > ul > li.menu-item-has-children{

    background-image: url(../img/arrow_white_right.png);
    background-repeat: no-repeat;
    background-size: 8px auto;
    background-position: 98% 50%;
}

#gNav ul > li:hover{
    background-color: #0fae78;
}

#gNav ul.menu > li > ul > li:hover ul{
    display: flex;
}

#gNav ul.menu > li > ul > li ul {
    justify-content: flex-start;
    flex-direction: column;
    position: absolute;
    top: 55px;
    left: 100%;
    width: 100%;
}


#gNav ul.hnavi2{
    margin-top: 25px;
}
#gNav ul.hnavi2 li,
#foot_banner ul.hnavi2 li{
    font-size:13px;
    font-size:1.3rem;
}

#gNav ul.hnavi2 .navi-online a,
#foot_banner ul.hnavi2 .navi-online a{
    /*background-color: #1c39a0;
    padding: 7px 17px;*/
        background-color: #0aad78;
    padding: 7px 10px;
    border-radius: 5px;
    /*font-size: 4vw;*/
}

#gNav ul.hnavi2 .navi-mall a,
#foot_banner ul.hnavi2 .navi-mall a{
    /*background-color: #bd2828;
    padding: 7px 17px;*/
            background-color: #0aad78;
    padding: 7px 10px;
    border-radius: 5px;
    /*font-size: 4vw;*/
}
#gNav ul.hnavi2 .navi-shoukei a,
#foot_banner ul.hnavi2 .navi-shoukei a{
    /*background-color: #5b1ba5;
    padding: 7px 17px;*/
            background-color: #0aad78;
    padding: 7px 10px;
    border-radius: 5px;
    /*font-size: 4vw;*/
}
#gNav ul.sp{
    display: none;
}
#gNav li{
    display: inline-block;
    vertical-align: top;
    font-size:14px;
    font-size:1.4rem;
}
#gNav li.current a:before,
#gNav li.current a:after{
    display: none;
}


/* --------------------------- pankuzu */
#pankuzu {
    position: absolute;
    bottom: 20px;
    left: 55px;
    font-size:12px;
    font-size:1.2rem;
    line-height: 1;
    letter-spacing: 0.1em;
    text-align: left;
}
#pankuzu ul{
    text-align: left;
}
#pankuzu li{
    padding: 0em 0;
    display: inline-block;
    list-style: none;
    color: #fff;
}
#pankuzu a{
    display: inline-block;
    text-decoration: underline;
    color: #fff;
    transition: opacity 0.3s ease 0.2s;
}
#pankuzu a:hover{
    opacity: 0.7;
}

#pankuzu li + li:before{
    content: ">";
    margin: 0 0.7em;
}
/* --------------------------------------------------------- fixedNav */
#fixedNav{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 90px;
    background-color: rgba(255, 255, 255, 0.85);
    color: #000;
    text-align: left;
    z-index: 10000;
    transition: .8s;
    transform: translateY(-100%);
}
#fixedNav.fixed {
    transform: translateY(0);
}
#fixedNav .logo{
    display: block;
}
#fixedNav .logo img{
    position: absolute;
    width: auto;
    height: 50px;
    top: 20px;
    left: 55px;
}

#fixedNav ul.hnavi2{
    top: 42px;
}

#fixedNav ul.hnavi2 a{
    padding: 7px 17px;
    color: #fff;
}

#fixedNav ul.hnavi2 .navi-mall a{
    background-color: #bd2828;

}
#fixedNav ul.hnavi2 .navi-shoukei a{
    background-color: #5b1ba5;
}

#fixedNav ul{
    position: absolute;
    bottom: 55px;
    right: 55px;
    list-style: none;
    font-size: 0;
    width: 70%;
    text-align: right;
}
#fixedNav li{
    display: inline-block;
    padding-left:2em;
    vertical-align: top;
    font-size:13px;
    font-size:1.3rem;
}
#fixedNav li a{
    position: relative;
    display: block;
    font-weight: bold;
    color: #000;
    transition: opacity 0.3s ease 0.2s;
}
#fixedNav li a:hover{
    opacity: 0.7;
}
#fixedNav li.current a{
    padding-bottom: 4px;
    border-bottom: solid 2px #000;
}
/* hoverでborderがアニメーション表示 */
#fixedNav li a:before,
#fixedNav li a:after {
    width: 0;
    height: 2px;
    background: #000 none repeat scroll 0 0;
    bottom: -6px;
    content: "";
    display: inline-block;
    position: absolute;
    transition: all 0.8s ease 0s;
}
#fixedNav li a:before {
    left: 50%;
}
#fixedNav li a:after {
    right: 50%;
}
#fixedNav li a:hover:before,
#fixedNav li a:hover:after {
    width: 50%;
}

#fixedNav li.current a:before,
#fixedNav li.current a:after{
    display: none;
}
/* ipad iphone Androidではhoverのborderアニメーションを表示 */
#fixedNav.touch li a:before,
#fixedNav.touch li a:after {
    display: none;
}

/* --------------------------------------------------------- contents */
#main{
    clear:both;
    padding: 0px 0 0px 0;
    text-align: left;
}
#contents{
}
#main p.note{
    margin:1em 0;
    font-size:10px;
    font-size:1.0rem;
}
#main p.caution{
    margin:1em 0;
    font-size:10px;
    font-size:1.0rem;
    color: #fafafa;
}
#side{
}

/* --------------------------------------------------------- footer 共通エリア */

/* --------------------------- footer 医院経営塾とは */
#academyLink{
    min-height: 544px;
    margin: 50px 55px 50px 55px;
    /*padding: 90px 0 0 0;*/
    /*padding: 90px 80px 0;*/
    padding: 50px 80px 50px;
    background-image: url(../img/footer_academy_bg2d.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 50% 0%;
    color: #fff;
    text-align: center;
    /*　180122追記　*/
    width: 980px;
    margin: 50px auto 55px;
    padding: 50px 30px 50px;
}
#academyLink h3{
    position: relative;
    margin-bottom: 80px;
    /*font-size: 22px;
    font-size: 2.2rem;*/
    font-size: 4.8rem;
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    letter-spacing: 0.2em;
}
#academyLink h3:before{
    position: absolute;
    bottom: -25px;
    left: 0;
    right: 0;
    margin: 0 auto;
    content: " ";
    border-bottom: solid 1px #fff;
    width: 15px;
}
#academyLink h4{
    margin-bottom: 35px;
    /*font-size: 16px;
    font-size: 1.6rem;*/
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    letter-spacing: 0.2em;
    font-size: 2.4rem;
    line-height: 1.7em;
}
#academyLink h4.clbk { color: #000; font-size: 2.8rem; }
#academyLink p{
    letter-spacing: 0.1em;
}
#academyLink p.txtthin {
    font-weight: normal;
    margin-bottom: 24px;
    font-size: 120%;
}
#academyLink p.semititle {
    font-size: 2.1rem;
}
#academyLink p.featurea3 {
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-size: 2.1rem;
    letter-spacing: 0.2em;
    line-height: 2.5em;
    margin-bottom: 85px;
}
#academyLink p.txtbk { color: #000; font-size: 120%; }
#academyLink .basiccsbox {
    border: solid 1px #000;
    padding: 40px;
    margin-bottom: 55px;
    /* 180122追記 */
    margin: 0px auto 55px;
    width: 85%;
}
#academyLink ul.basiccourse { list-style: none; /*margin-left: 20%; 180122追記*/ margin-left: 11%; }
#academyLink ul.basiccourse li { text-align: left; margin-bottom: 34px; font-size: 1.9rem; color: #000; letter-spacing: 0.05em; }
#academyLink ul.basiccourse li .smalltxt { font-weight: normal; font-size: 80%; margin-left: 10px; letter-spacing: 0.05em; }
#academyLink a.btn{
    display: block;
    width: 270px;
    height: 60px;
    margin:55px auto 0 auto;
    border:solid 1px #fff;
    color: #fff;
    line-height: 60px;
    letter-spacing: 0.2em;
    transition: background-color 0.3s ease 0.2s;
    background-image: url(../img/arrow_white_right.png);
    background-repeat: no-repeat;
    background-size: 8px auto;
    background-position: 238px 50% ;
    background-color: #0fae78;
}
#academyLink a.btn:hover{
    background-color: rgba(255, 255, 255, 0.2);
}


/* --------------------------- footer 私たちの提供サービス */
#serviceLink{
    margin: 0px 0 50px 0;
    padding: 90px 0 75px 0;
    background-color: #0fae78;
    color: #fff;
    text-align: center;
}
#serviceLink h3{
    position: relative;
    margin-bottom: 55px;
    font-size: 22px;
    font-size: 2.2rem;
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    letter-spacing: 0.2em;
}
#serviceLink h3:before{
    position: absolute;
    bottom: -25px;
    left: 0;
    right: 0;
    margin: 0 auto;
    content: " ";
    border-bottom: solid 1px #fff;
    width: 15px;
}
#serviceLink p{
    max-width: 570px;
    margin:0 auto 45px auto;
    font-size:14px;
    font-size:1.4rem;
    letter-spacing: 0.15em;
}
#serviceLink a.btn{
    display: block;
    width: 270px;
    height: 60px;
    margin:55px auto 0 auto;
    border:solid 1px #fff;
    color: #fff;
    line-height: 60px;
    letter-spacing: 0.2em;
    transition: background-color 0.3s ease 0.2s;
    background-image: url(../img/arrow_white_right.png);
    background-repeat: no-repeat;
    background-size: 8px auto;
    background-position: 238px 50% ;
}
#serviceLink a.btn:hover{
    background-color: #1ec089;
}
#serviceLink li a{
    display: block;
    padding:95px 0 25px 0;
    color: #fff;
    transition: background-color 0.3s ease 0.2s;
}
#serviceLink li a:hover{
    background-color: #1ec089;
}

#serviceLink ul{
    list-style: none;
    border:solid 1px #fff;
    font-size: 0;
}
#serviceLink li{
    display: inline-block;
    width: 33%;
    font-size: 14px;
    font-size: 1.4rem;
}
#serviceLink li:nth-child(n+4){
    border-top:solid 1px #fff;
}
#serviceLink li:nth-child(n+4) a{
    /*padding:23px 0 20px 0;*/
}
#serviceLink li:nth-child(3n-1){
    width: 34%;
    border-right:solid 1px #fff;
    border-left:solid 1px #fff;
}
#serviceLink li.practitioner a,
#serviceLink li.tax_accounting a,
#serviceLink li.talentconsulting a,
#serviceLink li.keisho a,
#serviceLink li.mall a,
#serviceLink li.consult a{
    background-image: url(../img/ic_hospital.png);
    background-repeat: no-repeat;
    background-size: 37px auto;
    background-position: 50% 35px;
    font-size: 18px;
    font-size: 1.8rem;
}
#serviceLink li.tax_accounting a{
    background-image: url(../img/ico_note.png);
}
#serviceLink li.talentconsulting a{
    background-image: url(../img/ico_function.png);
}
#serviceLink li.keisho a{
    background-image: url(../img/ic_shokei.png);
}
#serviceLink li.mall a{
    background-image: url(../img/ic_mall.png);
}
#serviceLink li.consult a{
    background-image: url(../img/ic_person.png);
}

/* --------------------------- footer 3つバナーエリア */
#footer3Link {
    margin: 57px 0;
}

#footer3Link ul {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 30px;
    padding: 0;
}

#footer3Link li {
    position: relative;
    list-style: none;
    text-align: left;
    float: none;
    width: auto;
}

#footer3Link li p {
    position: absolute;
    top: -15px;
    left: 0;
    right: 0;
    margin: auto;
    text-align: center;
}

#footer3Link li p > span {
    display: inline-block;
    padding: 5px 8px;
    margin: auto;
    background: #0fae78;
    font-size: 12px;
    font-size: 1.2rem;
    color: #fff;
    z-index: 1000;
}

#footer3Link li a {
    display: block;
}
/* --------------------------- footer バナー＆SNS */
#footerBanner{
    clear:both;
    padding: 30px 0px 25px 0px;
    background: #cbcbcb;
}
#footerBanner .wrap {
}
#footerBanner .wrap > ul{
    width: 100%;
    font-size: 0;
}
#footerBanner .wrap > ul > li{
    display: inline-block;
    width: 49%;
    /*  max-width: 570px;*/
    list-style: none;
    vertical-align: top;
    font-size: 12px;
    font-size: 1.2rem;
}
#footerBanner .banner {
    margin-right: 1%;
}
#footerBanner .banner ul{
    font-size: 0;
}
#footerBanner .banner li{
    width: 50%;
    padding:5px;
    list-style: none;
    display: inline-block;
    text-align: center;
}
#footerBanner .sns {
    margin-left: 1%;
}

/* --------------------------- footer お問い合わせ */
#footerContact{
    clear:both;
    padding: 50px 0 35px 0;
    background: #848b90;
    font-size: 13px;
    font-size: 1.3rem;
    letter-spacing: 0.1em;
    color: #fff;
}
#footerContact h3{
    position: relative;
    margin-bottom: 80px;
    font-size: 22px;
    font-size: 2.2rem;
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    letter-spacing: 0.2em;
}
#footerContact h3:before{
    position: absolute;
    bottom: -25px;
    left: 0;
    right: 0;
    margin: 0 auto;
    content: " ";
    border-bottom: solid 1px #fff;
    width: 15px;
}

#footerContact li{
    float: left;
    width: 50%;
    list-style: none;
}
#footerContact li h4{
    margin-bottom: 30px;
    letter-spacing: 0.1em;
}
#footerContact p.number{
    margin-bottom: 20px;
    font-size: 17px;
    font-size: 1.7rem;
    letter-spacing: 0.2em;
    line-height: 1.5;
}
#footerContact p.number .tel{
    font-size: 25px;
    font-size: 2.5rem;
    vertical-align: middle;
}
#footerContact p.number a{
    color: #fff;
}
#footerContact .form a.btn{
    display: inline-block;
    width: 270px;
    height: 55px;
    background: #fff;
    text-align: center;
    vertical-align: middle;
    line-height: 55px;
    transition: opacity 0.3s ease 0.1s;
    color: #000;
}
#footerContact .form a.btn:hover{
    opacity: 0.7;
    color: #000;

}

/* --------------------------- footer */
#footer{
    clear:both;
    background: #3d4042;
    font-size: 12px;
    font-size: 1.2rem;
    color: #fff;
}
#footer a:link { text-decoration:none; color:#fff; }
#footer a:visited { text-decoration:none; color:#fff; }
#footer a:active { text-decoration:none; color:#aaa; }
#footer a:hover { text-decoration:none; color:#aaa;}


/* -------------------- footerCorpinfo */
#footerCorpinfo {
    padding: 70px 0 50px 0;
    text-align: left;
}
#footerCorpinfo > li{
    float: left;
    position: relative;
    width: 31.5%;
    list-style:none;
    text-align: left;
}
#footerCorpinfo li:nth-child(2){
    margin:0 2.7%;
}


#footerCorpinfo { zoom: 1; }
#footerCorpinfo:before,
#footerCorpinfo:after { content: ""; display: table; }
#footerCorpinfo:after { clear: both; }

#footerCorpinfo h3{
    margin-bottom: 25px;
    font-size: 16px;
    font-size: 1.6rem;
}

/* --------------------footerNav */
#footerNav {
    padding: 40px 0 5px 0;
    text-align: left;
    letter-spacing: 0.05em;
    border-top: solid 1px #51575b;
}
#footerNav { zoom: 1; }
#footerNav:before,
#footerNav:after { content: ""; display: table; }
#footerNav:after { clear: both; }

#footerNav li{
    list-style:none;
}
#footerNav > li{
    float: left;
    position: relative;
    width: 31.5%;
    list-style:none;
    text-align: left;
}
#footerNav > li:nth-child(2){
    margin:0 2.7%;
}

#footerNav > li li{
    line-height: 2.5;
}
#footerNav > li li li{
    padding-left:2em;
}
#footerNav > li li li li{
    padding-left:1em;
}
#footerNav > li li li ul a:before{
    content: "-";
    padding: 0.5em;
}
#footerNav > li li.inquiry{
    padding: 2em 0;
}


#foot_banner{
    /*background-color: #0fae78;*/
    width: 100%;
    position: fixed;
    bottom: 0;
        background-color: #ffffffcf;
}

#foot_banner .foot_banner_left {
    float: left;
    width: 37%;
    padding: 0 0 10px 0;
}
#foot_banner .foot_banner_left img{
    width: 50%;
}

#foot_banner .foot_banner_right {
    /* float: right; */
    margin: 15px auto;
    /* width: 57%; */
}
#foot_banner .foot_banner_right ul{

}
#foot_banner .foot_banner_right li{
    display: inline-block;
    margin: 0 10px;

}
#foot_banner .foot_banner_right li a{
    color: #fff;

}

#foot_banner .foot_banner_online{
    display:none;
}



/* -------------------- copyright */
address{
    display: block;
    padding: 15px 0;
    font-style:normal;
    font-size: 10px;
    font-size: 1.0rem;
    letter-spacing: 0.1em;
    text-align: center;
}


.mailmagazineForm input[type="submit"]:nth-child(2) {
    display: none !important;
}



/* ----------------------------------------------------------------------------

▼▼▼ ウィンドウサイズ1170px以下にのみ適用されるcss ▼▼▼

---------------------------------------------------------------------------- */
@media only screen and (max-width: 1170px) {

    /* --------------------------------------------------------- 汎用パーツ */
    /* レスポンシブ表示調整 */
    .pc{
        display: none;
    }
    .tablet{
        display: block;
    }



    /* --------------------------------------------------------- header */
    #gNav ul{
        width: 69%;
        right: 2%;
    }
    #header .headline{
        padding-left: 2%;
    }
    #pankuzu{
        left: 2%;
    }
    /* --------------------------------------------------------- fixed nav */
    #fixedNav ul{
        width: 60%;
        right: 2%;
        bottom: 10px;
    }
    #fixedNav li{
        margin-bottom:1.0em;
    }


    /* --------------------------------------------------------- 枠組み共通 */
    .wrap{
        padding:0 5%;
    }

    /* --------------------------------------------------------- pankuzu */

    /* --------------------------------------------------------- contents */
    #main{
    }
    #contents{
        width:100%;
        float: none;
    }

    #side{
        width:100%;
        float: none;
    }

    /* --------------------------------------------------------- footer */

    #academyLink{
        margin-left: 5%;
        margin-right: 5%;

        max-width: 100%;
    }
    #academyLink .pc {
        display: block;
    }
    #serviceLink ul{
        margin-left: 5%;
        margin-right: 5%;
        padding: 0;
    }





}



/* ----------------------------------------------------------------------------

▼▼▼ ウィンドウサイズ768px以下にのみ適用されるcss ▼▼▼

---------------------------------------------------------------------------- */

@media screen and (max-width: 768px){

    /* --------------------------------------------------------- 汎用パーツ */
    /* レスポンシブ表示調整 */
    .sp{
        display: block;
    }
    br.sp{
        display: inline;
    }
    /* 画像回り込み解除 */
    img.alignleft{
        display: block;
        float: none;
        margin: 0 auto 10px auto;
    }
    img.alignright{
        float: none;
        margin: 0 auto 10px auto;
    }

    /* --------------------------------------------------------- 枠組み共通 */
    .wrap{
        margin:0;
        padding:0 3%;
    }

    /* --------------------------------------------------------- header */
    .home #header {
        background-position: 15% 0%!important;
    }
    #header{
        height: auto;
    }
    #header .logo{
        position: static;
        margin-left: 3%;
    }
    #header .logo img {
    filter: drop-shadow(1px 1px 2px #fff);
}

    #headerNavContact {
        display: none;
    }
    /* --------------------------- headline */
    #header .headline{
        padding-right:50px;
        padding-left:3%;
        background-color: transparent;
        position: relative;
    }

    #header .headline .headline_text {
        width: 100%;
    }
    /* --------------------------- global navigation */
    #gNav { position: static; top: 0; right: 0; width: 100%; height: 100%; overflow-y: scroll; }
    #gNav ul.menu{
        display: none;
        z-index: 10000;
        position: absolute;
        top: 50px;
        left:0;
        right: 0;
        width: 100%;
        margin:auto;
        text-align: center;
        letter-spacing: 0.05em;
    }

    #gNav ul > li:hover{
        background-color: #0c8e62;
    }
    #gNav ul.menu li{
        width: 100%;
        margin-bottom: 0;
        border-right: none;
        text-align: left;
        border-bottom: 1px solid white;
    }

    #gNav ul.menu li a{
        padding-left: 20px;
    }

    #gNav ul.menu li ul {
        display: block;
        padding-left: 20px;
        top: 0;
        position: relative;
    }

    #gNav ul.menu > li > ul > li {
        padding-right: 0;
        padding-left: 0;
        background-position: 98% 22px;
    }

    #gNav ul.menu li ul li ul{
        display: block;
        padding-left: 20px;
        top: 0;
        left: 0;
        position: relative;
    }

    #gNav ul.menu li ul li ul li{
        padding-left: 0;
    }
    #gNav ul.menu li ul li:last-child{
        border-bottom: none;
    }
    #gNav li{
        display: block;
        padding:0;
    }
    #gNav li a{
        padding:1em 0em;
    }
    #gNav li.current a{
        padding-bottom: 1em;
        border-bottom: solid 0px #fff;
    }

    #gNav .btn{
        width: 50px ;
        height: 50px;
        padding:12px 10px;
        background-color: #0fae78;
        position: fixed;
        top: 0;
        right: 0;
        z-index: 10
    }
    .menu-trigger,
    .menu-trigger span {
        display: inline-block;
        transition: all .4s;
        box-sizing: border-box;
    }
    .menu-trigger {
        position: relative;
        width: 24px;
        height: 24px;
    }
    .menu-trigger span {
        position: absolute;
        left: 0;
        width: 100%;
        height: 2px;
        background-color: #fff;
        border-radius: 4px;
    }
    .menu-trigger span:nth-of-type(1) {
        top: 0;
    }
    .menu-trigger span:nth-of-type(2) {
        top: 10px;
    }
    .menu-trigger span:nth-of-type(3) {
        bottom: 0;
    }
    .menu-trigger.active span:nth-of-type(1) {
        top: -10px;
        -webkit-transform: translateY(20px) rotate(-45deg);
        transform: translateY(20px) rotate(-45deg);
    }
    .menu-trigger.active span:nth-of-type(2) {
        opacity: 0;
    }
    .menu-trigger.active span:nth-of-type(3) {
        bottom: -8px;
        -webkit-transform: translateY(-20px) rotate(45deg);
        transform: translateY(-20px) rotate(45deg);
    }

    #gNav .btn.active{
        background-color: transparent;
        z-index: 10000;
    }
    /* hoverでborderがアニメーションを非表示 */
    #gNav li a:before,
    #gNav li a:after {
        display: none;
    }



    /* --------------------------- fixedNav */
    #fixedNav {
        display: none;
    }

    /* --------------------------- ページタイトル */
    #header .pageTTL {
        position: static;
        padding:50px 3%;

        width: 100%;
        height: auto;
    }
    #header .pageTTL span{
        position: relative;
        margin-bottom: 30px;
        font-size:16px;
        font-size:1.6rem;
    }
    #header .pageTTL strong{
        position: static;
        font-size:24px;
        font-size:2.4rem;
    }
    #header .pageTTL i{
        position: static;
        margin-top:15px;
    }

    #pankuzu{
        position: static;
        padding:10px 3%;
        font-size: 10px;
        font-size: 1.0rem;
    }
    #pankuzu li{
        margin-top:0.5em;
        margin-bottom:0.5em;
    }


    /* --------------------------------------------------------- main */

    /* --------------------------- footer 医院経営塾とは */
    #academyLink{
        margin: 0px 0;
        padding: 50px 3% 50px 3%;
        max-width: 100%;
    }
    #academyLink h3{
        margin-bottom:60px;
        /*font-size: 2.8rem;*/
        font-size: 2.4rem;
    }
    #academyLink h4{
        margin-bottom:20px;
        /*font-size: 2rem;*/
        font-size: 1.7rem;
    }
    #academyLink h4.clbk {
        font-size: 100%;
    }
    #academyLink p{
        text-align: left;
    }
    #academyLink p.semititle {
        font-size: 1.7rem;
        text-align: center;
    }
    #academyLink p.txtthin { font-size: 100%; }
    #academyLink p.featurea3 {
        font-size: 110%;
        line-height: 2.0em;
    }
    #academyLink p.txtbk {
        font-size: 100%;
    }
    #academyLink a.btn{
        margin-top: 25px;
        text-align: center;
    }
    #academyLink .basiccsbox {
        padding: 9%;
        margin-bottom: 40px;
    }
    #academyLink ul.basiccourse {
        margin-left: 0;
    }

    /* --------------------------- footer 私たちの提供サービス */
    #serviceLink{
        margin: 0px 0;
        padding: 60px 3% 30px 3%;
    }

    #serviceLink p{
        width: 100%;
        margin:0 auto 30px auto;
        text-align: left;
    }
    #serviceLink a.btn{
        margin-top:20px;
        width: 100%;
        background-position: 95% 50% ;
    }
    #serviceLink ul{
        margin: 0;
    }
    #serviceLink li a{
        display: block;
        padding:80px 0 15px 0;
        transition: background-color 0.3s ease 0.2s;
        border-bottom:solid 1px #fff;
    }

    #serviceLink .wrap{
        padding: 0;
    }
    #serviceLink ul{
        border:solid 1px #fff;
    }
    #serviceLink li{
        display: block;
        width: 100%;
    }
    #serviceLink li:nth-child(n+4){
        border-top:solid 0px #fff;
    }
    #serviceLink li:nth-child(n+4) a{
        /*padding:20px;*/
    }
    #serviceLink li:nth-child(3n-1){
        width: 100%;
        border-right:solid 0px #fff;
        border-left:solid 0px #fff;
    }
    #serviceLink li:last-child a{
        border:solid 0px #fff;
    }
    #serviceLink li.practitioner a,
    #serviceLink li.tax_accounting a,
    #serviceLink li.talentconsulting a{
        background-position: 50% 20px;
    }

    /* --------------------------- footer 3つバナーエリア */
    #footer3Link {
        margin: 30px 0;
    }
    #footer3Link li{
        float: none;
        width: 100%;
        margin-bottom: 40px;
        text-align: center;
    }
    #footer3Link li:nth-child(2){
        margin:0;
        margin-bottom: 40px;
    }
    #footer3Link li:last-child{
        margin-bottom: 0px;
    }


    /* --------------------------- footer バナー＆SNS */
    #footerBanner{
        padding: 25px 0px 25px 0px;
    }
    #footerBanner .wrap > ul{
        display: block;
        width: 100%;
    }
    #footerBanner .wrap > ul > li{
        display: block;
        width: 100%;
        max-width:100%;
        margin-bottom: 10px;
    }
    #footerBanner .banner ul{
        font-size: 0;
    }
    #footerBanner .banner li{
        width: 50%;
        padding:5px;
        list-style: none;
        display: inline-block;
        text-align: center;
    }
    #footerBanner .banner {
        margin-right: 0;
    }
    #footerBanner .sns {
        margin-left: 0;
    }

    #foot_banner .foot_banner_right ul {
        /*margin: 0 0 7px 7vw;
        padding: 0;*/
        margin: 0;
    padding: 0;
    display: inline;
    }
    #foot_banner .foot_banner_left{
        width: 100%;
        padding:0 0 5px;
    }
    #foot_banner .foot_banner_left img {
        width: 70%;
    }

    #foot_banner .foot_banner_right {
        margin: 8px 20px 10px 0;
    width: 100%;
    }
    #foot_banner .foot_banner_right li {
        display: table-cell;
        margin: 0 10px;
            padding: 10px 0;

    }
    #foot_banner .foot_banner_right li a{
        font-size: 3.2vw;
        margin: 5px 5px;
    }
    #foot_banner .foot_banner_right .navi-online{
    /*display:none;*/
}
    
    #foot_banner .foot_banner_online{
        display:block;
    }
    #foot_banner .foot_banner_online a{
    display: block;
    width: 80%;
    background-color: #fff;
    margin: 6px auto;
    padding: 7px;
    font-size: 5vw;
    border-radius: 5px;
}
	#gNav ul.hnavi2 .navi-online a, 
#foot_banner ul.hnavi2 .navi-online a {
    font-size: 4vw;
}


    /* --------------------------- footer お問い合わせ */
    #footerContact{
        padding: 40px 0 0px 0;
    }

    #footerContact li{
        float: none;
        width: 100%;
        padding-bottom:3em;
    }
    #footerContact li h4{
        margin-bottom: 1em;
        letter-spacing: 0.1em;
    }
    #footerContact p.number{
        margin-bottom:0.5em;
    }
    #footerContact .form a.btn{
        width: 270px;
        max-width: 100%;
    }


    /* -------------------- footerCorpinfo */
    #footerCorpinfo {
        padding: 20px 0 20px 0;
    }
    #footerCorpinfo > li{
        float: none;
        width: 100%;
        padding-bottom: 2.5em;
    }
    #footerCorpinfo li:nth-child(2){
        margin:0 ;
    }
    #footerCorpinfo > li:last-child{
        padding-bottom: 0em;
    }
    #footerCorpinfo h3{
        margin-bottom: 0.5em;
    }
    /* --------------------footerNav */
    #footerNav {
        padding: 20px 0 20px 0;
    }
    #footerNav > li{
        width: 100%;
        float: none;
    }
    #footerNav li:nth-child(2){
        margin:0 ;
    }
    #footerNav > li li.inquiry{
        padding: 2em 0;
    }

    #foot_banner{

    }
    #foot_banner img{
        width: 100%;
    }

    #no1kou,
    #no2kou{
        width:100% !important;
    }
    #no1kou a img,
    #no2kou a img{
    width: 48% !important;
    margin: 0 0 20px;
    }

}


/* footer3Link 中央揃え・可変対応 */
#footer3Link ul{
    display: flex;
    justify-content: center;
    gap: 30px;
    flex-wrap: wrap;
    padding: 0;
    margin: 0 auto;
}

#footer3Link li{
    float: none;
    width: auto;
    margin: 0;
    list-style: none;
    text-align: center;
}

/* ヘッダー全体を下げる */

.home #header {
    padding-top: 70px !important;
}

#footer3Link {
  display: flex;
  justify-content: center;
  gap: 30px;
  flex-wrap: wrap;
}

#footer3Link a {
  display: block;
  width: 48%;
  max-width: 500px;
}

#footer3Link img {
  width: 100%;
  height: auto;
  display: block;
}

#footer3Link {
  display: flex !important;
  justify-content: space-around !important;
  align-items: center !important;
  gap: 30px !important;
  margin: 50px auto !important;
  padding: 0 !important;
  width: 100% !important;
}

#footer3Link a {
  display: block !important;
  width: 45% !important;
  max-width: 480px !important;
}

#footer3Link img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
}


#footer3Link .footer3LinkList {
  display: flex !important;
  justify-content: center !important;
  align-items: flex-start !important;
  gap: 30px !important;
  padding: 0 !important;
  margin: 50px auto !important;
  list-style: none !important;
}

#footer3Link .footer3LinkList li {
  position: relative !important;
  width: 45% !important;
  max-width: 480px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

#footer3Link .footer3LinkList li a {
  display: block !important;
}

#footer3Link .footer3LinkList li img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
}

#footer3Link .footer3LinkList li p {
  position: absolute !important;
  top: -18px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  margin: 0 !important;
  z-index: 2 !important;
}

#footer3Link .footer3LinkList li p span {
  display: inline-block !important;
  white-space: nowrap !important;
}

#footer3Link .footer3LinkList {
  display: flex !important;
  justify-content: center !important;
  align-items: flex-start !important;
  gap: 30px !important;
  margin: 50px auto !important;
  padding: 0 !important;
  list-style: none !important;
}

#footer3Link .footer3LinkList li {
  position: relative !important;
  width: 45% !important;
  max-width: 480px !important;
  margin: 0 !important;
  padding-top: 28px !important;
  list-style: none !important;
}

#footer3Link .footer3LinkList li a {
  display: block !important;
}

#footer3Link .footer3LinkList li img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
}

#footer3Link .footer3LinkList li p {
  position: absolute !important;
  top: 0 !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  margin: 0 !important;
  padding: 0 !important;
  z-index: 2 !important;
  text-align: center !important;
}

#footer3Link .footer3LinkList li p span {
  display: inline-block !important;
  white-space: nowrap !important;
  background: #0fae78 !important;
  color: #fff !important;
  padding: 8px 18px !important;
}

#footer3Link .footer3LinkList {
  display: flex !important;
  justify-content: center !important;
  gap: 30px !important;
  list-style: none !important;
  margin: 50px auto !important;
  padding: 0 !important;
}

#footer3Link .footer3LinkList li {
  width: 45% !important;
  max-width: 480px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;

  display: flex !important;
  flex-direction: column-reverse !important;
  align-items: center !important;
}

#footer3Link .footer3LinkList li a {
  display: block !important;
  width: 100% !important;
}

#footer3Link .footer3LinkList li img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
}

#footer3Link .footer3LinkList li p {
  position: static !important;
  transform: none !important;
  margin: 0 0 -10px 0 !important;
  padding: 0 !important;
  text-align: center !important;
  z-index: 2 !important;
}

#footer3Link .footer3LinkList li p span {
  display: inline-block !important;
  background: #0fae78 !important;
  color: #fff !important;
  padding: 8px 18px !important;
  white-space: nowrap !important;
}

.keishoList ul {
  max-height: 400px;   /* 高さ調整（ここ自由に変えられる） */
  overflow-y: auto;    /* 縦スクロール */
  overflow-x: hidden;  /* 横は出さない */
}

.category-shoukei img {
  max-width: 45%;
}
.category-shoukei img.alignleft,
.category-shoukei img.aligncenter,
.category-shoukei img {
  max-width: 45% !important;
  width: 45% !important;
}
.intensiveCourse.wrap::before,
.intensiveCourse.wrap::after {
  display: none;
}

#footer3Link {
  margin: 0px auto !important;
}

.page-tax_accounting #header .pageTTL span {
  display: none;
}


.academyButtons {
  text-align: center;
  max-width: 1000px;
  margin: 40px auto;
}

.academyBtn {
  display: inline-block;
  width: 300px;
  padding: 18px 10px;
  margin: 10px;
  background: #2BAE66; /* 医業総研グリーン */
  color: #fff;
  text-decoration: none;
  font-weight: bold;
  border-radius: 6px;
  box-shadow: 0 4px 0 #1f8e52;
  transition: 0.2s;
}

.academyBtn span {
  font-size: 14px;
  font-weight: normal;
}

.academyBtn:hover {
  transform: translateY(2px);
  box-shadow: 0 2px 0 #1f8e52;
  background: #24995a;
}

/* スマホ */
@media screen and (max-width:640px){
  .academyBtn {
    width: 90%;
  }
}

.academyButtons {
  text-align: center;
  max-width: 1000px;
  margin: 40px auto;
}

.academyBtn {
  display: inline-block;
  width: 300px;
  padding: 18px 10px;
  margin: 10px;

  /* ▼ここが変更ポイント */
  background: #fff;
  color: #2BAE66;
  border: 2px solid #2BAE66;

  text-decoration: none;
  font-weight: bold;
  border-radius: 6px;
  transition: 0.2s;
  text-align: center;
}

.academyBtn span {
  font-size: 14px;
  font-weight: normal;
}

/* ホバーで反転（めちゃ重要） */
.academyBtn:hover {
  background: #2BAE66;
  color: #fff;
}

@media screen and (max-width:640px){
  .academyBtn {
    width: 90%;
  }
}

.academyCatch {
  background: linear-gradient(135deg, #2BAE66 0%, #24995a 100%);
  padding: 40px 30px;
  margin-bottom: 40px;
  color: #fff;
}

.academyCatch .label {
  display: inline-block;
  background: #f6e05e;
  color: #0c8e62;
  font-weight: bold;
  padding: 5px 15px;
  margin-bottom: 15px;
}

.academyCatch h2 {
  font-size: 30px;
  line-height: 2;
  font-weight: bold;
}

@media screen and (max-width:640px){
  .academyCatch h2 {
    font-size: 30px;
  }
}


.topResultsBox {
  max-width: 1100px;
  margin: 60px auto;
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid #ddd;
  padding: 30px;
}

.topResultsTitle {
  text-align: center;
  font-family: "Times New Roman", serif;
  font-size: 28px;
  letter-spacing: 0.15em;
  margin: 0 0 25px 0;
  color: #333;
}

.tableScroll {
  max-height: 420px;
  overflow-y: auto;
}

.tableScroll th {
  position: sticky;
  top: 0;
  background: #fff;
  z-index: 2;
}

.topResultsBox {
  max-width: 1100px;
  margin: 60px auto;
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid #ddd;
  padding: 30px;
}

.topResultsTitle {
  text-align: center;
  font-family: "Times New Roman", serif;
  font-size: 28px;
  letter-spacing: 0.15em;
  margin: 0 0 25px 0;
  color: #333;
}

.tableScroll {
  max-height: 420px;
  overflow-y: auto;
  overflow-x: auto;
}

.tableScroll table.result {
  width: 100%;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

.tableScroll table.result thead th {
  position: sticky !important;
  top: 0 !important;
  z-index: 20 !important;
  background: #ffffff !important;
}

.resultScrollBox {
  max-height: 450px;
  overflow-y: auto;
  overflow-x: auto;
  border: 1px solid #e5e5e5;
  margin: 30px auto;
}

.resultScrollBox table.result {
  width: 100%;
  border-collapse: collapse;
}

.resultScrollBox table.result thead th {
  position: sticky;
  top: 0;
  z-index: 10;
  background: #fff;
  border-bottom: 1px solid #ddd;
}

.resultScrollBox table.result th,
.resultScrollBox table.result td {
  padding: 14px 12px;
  vertical-align: top;
}

.resultSearchBox {
  max-width: 1170px;
  margin: 30px auto 10px;
  text-align: right;
}

#resultSearchInput {
  width: 320px;
  max-width: 100%;
  padding: 10px 14px;
  border: 1px solid #0fae78;
  font-size: 14px;
}

.resultScrollBox {
  border-radius: 6px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

#gNav {
  z-index: 9999;
}

#header {
  z-index: 9999;
}

body {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
}

h1, h2, h3 {
  font-family: "Noto Serif JP", serif;
}

.resultScrollBox {
  max-width: 1170px;
  margin: 30px auto;
  padding: 0 20px;
}

.resultSearchBox {
  max-width: 1170px;
  margin: 0 auto 20px;
  padding: 0 20px;
  text-align:center;
}

.doctorList {
  max-width: 1170px;
  margin: 0 auto 30px;
}

.page-id-17962 {
  background: none !important;
}

.page-id-17962 #main {
  background-image: none !important;
  background-color: #fff !important;
}

.page-id-17962 #contents {
  background-image: none !important;
  background-color: transparent !important;
}
/* =========================
   検索ボックス
========================= */
.shoukeiSearchBox {
  max-width: 900px;
  margin: 30px auto 10px;
  text-align: right;
}

#shoukeiSearchInput {
  width: 320px;
  max-width: 100%;
  padding: 12px 16px;
  border: 1px solid #0fae78;
  font-size: 14px;
  box-sizing: border-box;
}

/* =========================
   件数表示
========================= */
#shoukeiResultCount {
  max-width: 900px;
  margin: 0 auto 15px;
  color: #666;
  font-size: 14px;
}

/* =========================
   スクロールボックス（高さ900px）
========================= */
.shoukeiScrollBox {
  max-width: 900px;
  height: 900px; /* ←ここが今回の変更ポイント */
  overflow-y: auto;
  overflow-x: auto;
  margin: 0 auto 40px;
  border: 1px solid #e5e5e5;
  background: #fff;
}

/* =========================
   テーブルリスト
========================= */
.shoukeiTableList {
  list-style: none;
  margin: 0;
  padding: 0;
}

.shoukeiTableList li {
  display: flex;
}

/* =========================
   ヘッダー固定（超重要）
========================= */
.shoukeiTableList li.title {
  position: sticky;
  top: 0;
  z-index: 10;
  background: #fff;
  border-bottom: 2px solid #ddd;
  font-weight: bold;
}

/* =========================
   行デザイン
========================= */
.shoukeiTableList li a {
  display: flex;
  width: 100%;
  text-decoration: none;
  color: inherit;
}

.shoukeiTableList li span {
  padding: 14px 12px;
  box-sizing: border-box;
  border-bottom: 1px solid #eee;
}

/* =========================
   カラム幅
========================= */
.shoukeiTableList .number {
  width: 15%;
}

.shoukeiTableList .b-area {
  width: 15%;
}

.shoukeiTableList .area {
  width: 30%;
}

.shoukeiTableList .price {
  width: 20%;
}

.shoukeiTableList .course {
  width: 20%;
}

/* =========================
   hover（プロっぽさ出る）
========================= */
.shoukeiTableList li a:hover {
  background: #f7f7f7;
}

.shoukeiScrollBox {
  max-width: 900px;
  height: 900px;
  overflow-y: auto;
  margin: 0 auto 40px;
  border: 1px solid #e5e5e5;
  background: #fff;
}

/* これを追加 */
.shoukeiTableList {
  min-height: 100%;
}

.shoukeiTableList {
  min-height: 100%;
  display: block;
}

.shoukeiScrollBox {
  padding-top: 0 !important;
}

.shoukeiTableList {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.shoukeiTableList li.title {
  margin-top: 0 !important;
}

/* 事業承継ページ専用（category-shoukei） */

/* ヘッダー前面に */
.category-shoukei #header {
  position: relative;
  z-index: 9999;
}

/* ナビを後ろに */
.category-shoukei #gNav {
  position: relative;
  z-index: 1;
}

/* ロゴ潰れ防止 */
.category-shoukei #header img {
  height: auto !important;
  max-height: none !important;
  width: auto !important;
}

/* 右上の「開業相談」ボタン消す */
.category-shoukei a[href*="consult"],
.category-shoukei a[href*="inquiry"] {
  display: none !important;
}

#fixedNav .navi-online {
  display: none !important;
}

.shokei_mokuji {
  list-style: none;
  padding-left: 0;
}

.taxServiceList,
.shoukeiMeritList {
  list-style: none;
  padding-left: 0;
}

#footerContact h3 {
  text-align: center;
}

/* テキストを中央揃え */
.page-id-18159 .copy.wrap .text {
  text-align: center;
}

/* 画像を中央＋サイズ調整 */
.page-id-18159 .copy.wrap .picture {
  text-align: center;
}

.page-id-18159 .copy.wrap .picture img {
  display: block;
  margin: 20px auto;
  width: 400px;
  max-width: 100%;
  height: auto;
}

.page-id-18159 .copy.wrap .text {
  text-align: center !important;
}

.page-id-18159 .copy.wrap .picture img {
  display: block !important;
  margin: 20px auto !important;
  width: 400px !important;
}

.page-id-18159 #contents p {
  text-align: center;
}

.page-id-18159 .copy.wrap .text h3 {

  text-align: center;


.page-id-18159 .picture {
  text-align: center;
}

.page-id-18159 .picture img {
  display: inline-block;
  width: 400px; /* 好きなサイズに調整OK */
  height: auto;
}

.page-id-18159 .picture {
  text-align: center !important;
}

.page-id-18159 #main {
  text-align: center !important;
}

.mallList ul {
  max-height: 600px;
  overflow-y: scroll;
  border: 1px solid #ccc;
}

.mallScroll {
  max-height: 600px;
  overflow-y: auto;
  border: 1px solid #ccc;
}

/* ヘッダー固定 */
.mallScroll .title {
  position: sticky;
  top: 0;
  background: #fff;
  z-index: 10;
  border-bottom: 2px solid #ccc;
}

/* 横並び整形 */
.mallScroll li {
  display: flex;
  padding: 10px;
  border-bottom: 1px solid #eee;
}

.mallScroll .status {
  width: 100px;
}

.mallScroll .area {
  width: 150px;
}

.mallScroll .name {
  flex: 1;
}

.resultScrollBox {
  max-height: 600px;
  overflow-y: auto;
  border: 1px solid #ccc;
}

/* テーブル固定 */
.result {
  width: 100%;
  border-collapse: collapse;
}

.result th,
.result td {
  padding: 10px;
  border-bottom: 1px solid #eee;
  text-align: left;
}

/* ヘッダー固定（これが重要） */
.result thead th {
  position: sticky;
  top: 0;
  background: #fff;
  z-index: 10;
  border-bottom: 2px solid #ccc;
}

.doctorScrollBox {
  max-height: 600px;
  overflow-y: auto;
  border: 1px solid #ccc;
}

.doctorTable {
  width: 100%;
  border-collapse: collapse;
}

.doctorTable th,
.doctorTable td {
  padding: 10px;
  border-bottom: 1px solid #eee;
  text-align: left;
}

/* ヘッダー固定 */
.doctorTable thead th {
  position: sticky;
  top: 0;
  background: #fff;
  z-index: 10;
  border-bottom: 2px solid #ccc;
}

.doctorTable .thumb {
  width: 100px;
}

.doctorTable img {
  width: 80px;
  height: auto;
}

.doctorScrollBox {
  max-height: 600px;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 20px 0;
  border: 1px solid #ddd;
}

.doctorScrollBox .doctorList {
  margin-top: 0;
}

.doctorScrollBox {
  height: 800px;
  overflow-y: auto;
  overflow-x: hidden;
  border: 1px solid #ddd;
  padding: 20px;
  box-sizing: border-box;
}

.doctorScrollBox .doctorList {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.doctorScrollBox .doctorList li {
  float: none !important;
  width: calc(33.333% - 14px);
  margin: 0 !important;
  box-sizing: border-box;
}

@media screen and (max-width: 640px) {
  .doctorScrollBox .doctorList li {
    width: 100%;
  }
}

#header {
  background-color: #fff !important;
}


.page-id-18159 #footerContact h3 {
  margin-top: 40px !important;
}

.page-id-18159 #footerContact h3 {
  margin-bottom: 0 !important;
}

#footerBanner .wrap,
#footerContact .wrap,
#footer .wrap {
  max-width: 100% !important;
  width: 100% !important;
}

#footerBanner,
#footerContact,
#footer {
  width: 100vw;
  margin-left: calc(50% - 50vw);
}

#footerNav ul {
  list-style: none;
  padding-left: 0;
  text-align: center;
}

#footerNav li {
  display: inline-block;
  margin: 0 10px;
}

body.page-id-18159 #footerNav ul {
  list-style: none !important;
  padding-left: 0 !important;
  text-align: center !important;
}

body.page-id-18159 #footerNav li {
  display: block !important;
  margin: 5px 0 !important;
  float: none !important;
}

html body.page-id-17962 #footer3Link {
  margin: 80px auto !important;
}

body #main p.caution {
 

/* footerNav内の入れ子リストを中央寄せ */
#footerNav,
#footerNav ul,
#footerNav li {
  text-align: center !important;
  list-style: none !important;
  padding-left: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  float: none !important;
}

#footerNav ul ul,
#footerNav li ul {
  display: block !important;
  width: 100% !important;
  padding-left: 0 !important;
}

#footerNav a {
  display: inline-block !important;
  text-align: center !important;
}

/* フッター全体の余白 */
#footer {
  padding-top: 50px !important;
}

/* 株式会社 日本医業総研 の上に余白 */
#footer .footer-company {
  margin-top: 40px !important;
  text-align: center !important;
}

/* 会社概要・個人情報保護方針・プライバシーポリシーを縦並び中央 */
#footerNav {
  list-style: none !important;
  padding: 0 !important;
  margin: 40px auto 20px !important;
  text-align: center !important;
}

#footerNav li {
  display: block !important;
  list-style: none !important;
  margin: 10px auto !important;
  padding: 0 !important;
  float: none !important;
  text-align: center !important;
}

#footerNav li a {
  display: inline-block !important;
  text-align: center !important;
}

#footerNav {
  display: flex;
  justify-content: center;   /* 全体を中央に */
  gap: 60px;                 /* 要素同士の間隔 */
  list-style: none;
  padding: 0;
  margin: 40px auto 20px;
}

#footerNav li {
  list-style: none;
}


display:flex;
justify-content:space-around;
width:50%;

.triangle-buttons {
  position: relative;
  width: 30px;
  max-width: 90px;
  margin: auto;
  height: 30px;
}
.triangle-buttons .btn {
  position: absolute;
  width: 30px;
  transition: 0.3s;
}

.triangle-buttons .btn img {
  width: 30px;
  display: block;
  border-radius: 8px;
}

/* 上（頂点） */
.triangle-buttons .btn-top {
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}

/* 左 */
.triangle-buttons .btn-left {
  bottom: 0;
  left: 0;
}

/* 右 */
.triangle-buttons .btn-right {
  bottom: 0;
  right: 0;
}

/* ホバー演出（おすすめ） */
.triangle-buttons .btn:hover {
  transform: scale(1.05);
  z-index: 10;
}

.triangle-buttons img {
  width: 120px !important;
  height: auto !important;
}

.triangle-buttons {
  position: relative;
  width: 300px;
  height: 260px;
  margin: 100px auto;
}

.triangle-buttons .btn {
  position: absolute;
  width: 120px;
}

.triangle-buttons .btn img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 8px;
}

/* 上 */
.btn-top {
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}

/* 左 */
.btn-left {
  bottom: 0;
  left: 0;
}

/* 右 */
.btn-right {
  bottom: 0;
  right: 0;
}

.result th.area,
.result td.area {
	text-align: left;
	padding-left: 40px;
}

.result th.status,
.result td.status {
	text-align: center;
}

.status-badge {
	display: inline-block;
	min-width: 90px;
	padding: 6px 12px;
	text-align: center;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
}

.status-badge.opening {
	background-color: #0fae78;
	color: #fff;
}

.status-badge.opened {
	background-color: #ddd;
	color: #333;
}

.result {
	width: 90%;
	margin: 0 auto;
	table-layout: fixed;
}

.result th,
.result td {
	padding: 14px 18px;
}

.result th.status,
.result td.status {
	width: 140px;
}

.result th.area,
.result td.area {
	width: 180px;
}

.result th.name,
.result td.name {
	width: auto;
}

.result {
	width: 78%;
	margin: 0 auto;
	border-collapse: collapse;
	table-layout: auto;
}

.result th,
.result td {
	padding: 14px 12px;
	text-align: left;
	vertical-align: middle;
}

.result th.status,
.result td.status {
	width: 140px;
	padding-left: 20px;
}

.result th.area,
.result td.area {
	width: 160px;
	padding-left: 10px;
}

.result th.name,
.result td.name {
	width: auto;
}

.result td.status {
	text-align: left;
}

.result td.status span,
.result td.status .opening {
	display: inline-block;
	background: #19b56b;
	color: #fff;
	padding: 6px 18px;
	font-size: 12px;
	font-weight: bold;
	border-radius: 2px;
	line-height: 1;
}

.category-doctor #header {
    padding-top: 40px;
    box-sizing: border-box;
}



@media screen and (max-width: 768px) {

.topCircle ul {
    display: flex;
    overflow-x: auto;
    gap: 16px;
    padding: 0 16px 20px;
}

.topCircle li {
    flex: 0 0 220px;
}

.topCircle li a {
    width: 80px;
    height: 80px;
}

}

@media screen and (max-width: 768px) {

.mainCopy {
    font-size: 28px;
    line-height: 1.5;
    padding: 0 20px;
}

}

@media screen and (max-width: 768px) {

  .main_company {
    display: flex !important;
    overflow-x: auto !important;
    gap: 16px !important;
    padding: 0 16px 24px !important;
    box-sizing: border-box !important;
  }

  .main_company dl {
    flex: 0 0 180px !important;
    width: 180px !important;
    height: 180px !important;
    margin: 0 !important;
  }

  .main_company dl a {
    width: 180px !important;
    height: 180px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 50% !important;
    font-size: 22px !important;
    line-height: 1.4 !important;
    text-align: center !important;
  }

}


/* =========================================
   スマホ：フッター上部リンク・SNS調整
========================================= */
@media screen and (max-width: 768px) {

  /* メルマガ・ブログのエリア */
  #footer3Link {
    width: 100% !important;
    padding: 40px 16px 32px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  #footer3Link .wrap,
  #footer3Link ul,
  #footer3Link li {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  #footer3Link ul {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 14px !important;
  }

  #footer3Link li img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
  }

  #footer3Link li p {
    font-size: 11px !important;
    line-height: 1.4 !important;
    text-align: center !important;
  }


  /* SNSボタンエリア */
  #footerBanner {
    width: 100% !important;
    padding: 32px 16px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  #footerBanner .wrap,
  #footerBanner ul {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  #footerBanner ul {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 14px !important;
  }

  #footerBanner li {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  #footerBanner li img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
  }

}


/* =========================================
   スマホ：メルマガ・ブログ／SNS 横幅調整
========================================= */
@media screen and (max-width: 768px) {

  /* メルマガ・ブログ */
  #footer3Link .footer3LinkList {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    padding: 0 16px !important;
    box-sizing: border-box !important;
  }

  #footer3Link .footer3LinkList li {
    width: calc(50% - 6px) !important;
    margin: 0 !important;
    float: none !important;
  }

  #footer3Link .footer3LinkList li img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
  }

  /* SNS */
  #footerBanner .sns-list {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    padding: 0 16px !important;
    box-sizing: border-box !important;
  }

  #footerBanner .sns-list li {
    width: calc(50% - 6px) !important;
    margin: 0 !important;
    float: none !important;
  }

  #footerBanner .sns-list li img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
  }

}

/* =========================================
   スマホ：フッター下部リンク縦並び
========================================= */

@media screen and (max-width: 768px) {

  #footer ul,
  #footer .footerInner ul {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 18px !important;

    padding: 0 !important;
    margin: 0 auto 30px !important;

    width: 100% !important;
  }

  #footer ul li,
  #footer .footerInner ul li {
    width: 100% !important;
    text-align: center !important;
  }

}

/* =========================================
   スマホ：フッターポリシーリンク縦並び
========================================= */

@media screen and (max-width: 768px) {

  .footer-policy-links {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

}

/* =========================================
   スマホ：本文テキスト最適化
========================================= */

@media screen and (max-width: 768px) {

  h2,
  h3,
  p {
    word-break: keep-all !important;
    overflow-wrap: break-word !important;
    line-height: 1.9 !important;
  }

  h2 {
    font-size: 2rem !important;
    letter-spacing: 0.08em !important;
  }

  p {
    font-size: 1rem !important;
    line-height: 2 !important;
  }

}

/* =========================================
   新規開業ページ：リード文
========================================= */

.lead-message {
  text-align: center;
  line-height: 2;
  font-size: 1.2rem;
  letter-spacing: 0.05em;
}

@media screen and (max-width: 768px) {

  .lead-message {
    text-align: center !important;
    font-size: 1rem !important;
    line-height: 2.2 !important;
    padding: 0 20px !important;
    box-sizing: border-box !important;
  }

}

/* =========================================
   スマホ：STEP背景画像表示
========================================= */

@media screen and (max-width: 768px) {

  .managementList li.step01 {
    background-image: url("https://dev.lets-nns.co.jp/wp-content/themes/lets-nns-2019p2/img/page-management-ph01.png") !important;
    background-repeat: no-repeat !important;
    background-position: center top !important;
    background-size: cover !important;
  }

}

@media screen and (max-width: 768px) {

  body .managementList li.step01 {
    background: url("https://dev.lets-nns.co.jp/wp-content/themes/lets-nns-2019p2/img/page-management-ph01.png") center top / cover no-repeat !important;
  }

}

/* =========================================
   スマホ：STEP背景画像を画像タグで表示
========================================= */

.sp-step-bg {
  display: none;
}

@media screen and (max-width: 768px) {
  .sp-step-bg {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 0 28px !important;
  }
}


/* =========================================
   スマホ：事業承継ページ 目次ボタン調整
========================================= */

@media screen and (max-width: 768px) {

  .shokei_mokuji li a {
    width: 78% !important;
    max-width: 300px !important;
    min-height: 58px !important;
    margin: 14px auto !important;
    padding: 10px 14px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    font-size: 0.9rem !important;
    line-height: 1.45 !important;
    border-radius: 8px !important;
    box-sizing: border-box !important;
  }

}

.blogArticle .post,
.blogArticleWrap .post {
  display: block !important;
  height: auto !important;
  min-height: 200px !important;
  overflow: visible !important;
  opacity: 1 !important;
  visibility: visible !important;
  margin-top: 40px !important;
  color: #000 !important;
}

.blogArticle,
.blogArticleWrap,
#contents {
  overflow: visible !important;
  height: auto !important;
}

.blogPostBody {
  display: block !important;
  height: auto !important;
  min-height: 300px !important;
  overflow: visible !important;
  opacity: 1 !important;
  visibility: visible !important;
  margin-top: 40px !important;
  color: #000 !important;
  font-size: 15px !important;
  line-height: 2 !important;
  text-align: left !important;
}

/* ブログ本文：過去のブログ一覧の余白を詰める */
.blogPostBody p {
  margin-top: 0 !important;
  margin-bottom: 0.4em !important;
  line-height: 1.8 !important;
}

/* 空の改行だけの段落を消す */
.blogPostBody p:empty {
  display: none !important;
}

/* brによる空きすぎ対策 */
.blogPostBody br {
  line-height: 1 !important;
}