@charset "utf-8";


/*-----------------------------------------------
breadcrumb
-----------------------------------------------*/
#breadCrumbs {
    width: 980px;
    margin: 0 auto;
    padding: 10px 0 30px;
}

#breadCrumbs li {
    display: inline;
}

#breadCrumbs li a {
    color: #f47255;
    margin: 0 8px 0 0;
}

#breadCrumbs li span {
    margin: 0 8px 0 0;
}

@media screen and (max-width: 768px) {
    #breadCrumbs {
        width: 100%;
    }

    #breadCrumbs {
        margin: 0;
        padding: 2%;
        font-size: 12px;
    }

    #breadCrumbs li {
        display: inline;
    }

    #breadCrumbs li,
    #breadCrumbs li span {
        margin: 0 10px 0 0;
    }
}

/*-----------------------------------------------
bnrArea
-----------------------------------------------*/
@media screen and (max-width: 768px) {
    .bnrArea {
        margin: 20px 0;
        padding: 5px 10px;
        background: #dfdfd0;
    }

    .bnrArea ul {
        display: table;
        width: 100%;
    }

    .bnrArea li {
        display: table-cell;
        padding: 5px;
        width: 50%;
        box-sizing: border-box;
    }
}

/*-----------------------------------------------
Footer
-----------------------------------------------*/
#footer {
    padding: 20px 0;
    background: #f57256;
    border-top: 20px solid #f0f0e1;
}

#footer a {
    color: #fff;
}

#footer a:hover {
    color: #ffd8be;
}

#footer .footTitle01 {
    color: #fff;
    margin: 0 0 10px;
    padding: 0 0 10px 30px;
    background: url(../img/common/ico_footer01.png) no-repeat left 4px;
    border-bottom: 1px dotted #fff;
}

.footList {
    float: left;
    font-size: 14px;
}

.footList01 {
    width: 260px;
}

.footList02 {
    width: 300px;
}

.footList03 {
    width: 240px;
}

.footList04 {
    width: 170px;
}

.footList li {
    margin: 0 0 4px;
}

.footList .ico {
    padding: 0 0 0 14px;
    background: url(../img/common/ico_disc01.png) no-repeat left 4px;
}

.footList li ul {
    margin: 4px 0 0;
}

.footList li ul li {
    padding: 0 0 0 14px;
    background: url(../img/common/ico_arrow02.png) no-repeat left 4px;
}

.footList .innerList {
    float: left;
}

.footList .innerList01 {
    margin: 0 10px 0 0;
}

#footer .copy {
    color: #fff;
    text-align: center;
    margin: 30px 0 0;
}

@media screen and (max-width: 768px) {
    #footer {
        padding: 3%;
        background: #f57256;
        color: #fff;
        border: none;
    }

    #footer .footTitle01,
    #footer .listWrap {
        display: none;
    }

    #footer .logo {
        font-size: 18px;
    }

    #footer .access {
        display: table;
        width: 100%;
    }

    #footer .access address {
        display: table-cell;
        font-style: normal;
    }

    /*#footer .access .map{
    display:table-cell;
    width:50%;
    vertical-align:bottom;
}*/
    .map {
        position: relative;
        padding-bottom: 56.25%;
        padding-top: 30px;
        height: 0;
        overflow: hidden;
    }

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

    .footList01,
    .footList02,
    .footList03,
    .footList04 {
        width: 50%;
    }

    #footer .copy {
        margin: 0;
        font-size: 14px;
    }
}

/*-----------------------------------------------
ContactArea
-----------------------------------------------*/
@media screen and (max-width: 768px) {
    .contactArea {
        margin: 0 -15px 20px;
        padding: 0 10px;
    }

    .contactArea h3 {
        margin: 0 -10px 15px;
    }

    .contactArea ul {
        display: table;
        width: 100%;
    }

    .contactArea li {
        display: table-cell;
        padding: 0 5px;
        width: 50%;
        box-sizing: border-box;
    }

    .contactLink {
        display: table;
        width: 100%;
        border-top: 1px solid #69685b;
        border-bottom: 1px solid #69685b;
        background: #a5a598;
        /* Old browsers */
        /* FF3.6+ */
        /* Chrome,Safari4+ */
        /* Chrome10+,Safari5.1+ */
        /* Opera 11.10+ */
        /* IE10+ */
        background: linear-gradient(to bottom, #a5a598 0%, #8d8d7f 50%, #7f7f70 51%, #686859 100%);
        /* W3C */
        filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#a5a598', endColorstr='#686859', GradientType=0);
        /* IE6-9 */
    }

    .contactLink li {
        display: table-cell;
        vertical-align: middle;
        text-align: center;
    }

    .contactLink .tel {
        width: 50%;
        border-right: 1px solid #69685b;
    }

    .contactLink li a {
        display: block;
        padding: 8px;
        width: 100%;
        box-sizing: border-box;
    }

    .siteLink {
        margin: 10px 0 0;
        text-align: center;
    }

    .siteLink li {
        display: inline;
        margin: 0 0.5em;
    }

    .copyright {
        text-align: center;
        color: #575748;
        /*font-size:24px;*/
        font-size: 12px;
    }
}

/*-----------------------------------------------
aside
-----------------------------------------------*/
#aside .sideNewsTitle {
    color: #fff;
    padding: 10px 12px;
    background: #f6b579;
    margin: 0 0 20px;
}

#aside .sideContactArea {
    text-align: center;
    margin: 0 0 10px;
    padding: 10px 0 12px;
    background: #ffe9de;
    border: #f77150 1px solid;
}

#aside .sideContactArea .tel {
    margin: 0 0 6px;
}

#aside .accessTxt {
    background: #fff0bc;
    color: #ff8203;
    padding: 8px;
    font-size: 13px;
    text-align: center;
    font-weight: bold;
    width: 100%;
    display: block;
    box-sizing: border-box;
}

#aside .sideBlogTitle {
    margin: 35px 0 0;
}

#aside .sideBlogTitle.txtTtl {
    padding-left: 30px;
    border-bottom: 1px solid #f78874;
    position: relative;
    padding-bottom: 7px;
    color: #a4a49f;
}

#aside .sideBlogTitle.txtTtl:after {
    background: url(/img/common/ico_sidebar.png) no-repeat;
    background-size: contain;
    position: absolute;
    left: 0;
    top: 30%;
    transform: translate(0, -50%);
    content: '';
    width: 28px;
    height: 28px;
}

#aside .calendarIframe {
    width: 100%;
}


#aside .blogBtn {
    margin: 10px 0 10px;
}

#aside .bnrList li {
    margin: 0 0 10px;
}

#aside .feedList li {
    border-bottom: 1px dotted #ccc;
}

#aside .feedList li:last-child {
    border-bottom: none;
}

#aside .feedList a {
    display: block;
    padding: 10px 0 10px 80px;
    color: #666;
    text-decoration: none;
}

#aside .feedList a:hover {
    text-decoration: underline;
}

#aside .feedList .date {
    text-align: right;
    font-size: 10px;
}

#aside .feedList a img {
    float: left;
    margin: 0 0 0 -80px;
    width: 70px;
    height: auto;
}

#aside .experiencesBnr {
    margin-top: 10px;
}

#aside .recruitBnr {
    margin-bottom: 35px;
}

#sideArchive .archiveTitle {
    position: relative;
}

#sideArchive .archiveIcon {
    display: block;
    position: absolute;
    top: 50%;
    right: 0;
    margin: -8px 0 0 0;
    width: 16px;
    height: 16px;
    background-repeat: no-repeat;
    background-position: left top;
    background-image: url(../img/common/ico_exp.png);
}

#sideArchive .archiveIcon.plus {
    background-position: left bottom;
}

#sideArchive .archiveIcon.minus {
    background-position: left top;
}

@media screen and (max-width: 768px) {
    #aside .sideContactArea {
        background-size: cover;
        margin: 0 0 5%;
        padding: 5%;
    }

    #aside .sideContactArea a {
        display: block;
    }

    #aside .sideContactArea img,
    .accessTxt img,
    #aside .sideBlogTitle img,
    #aside .blogBtn img {
        width: 100%;
        height: auto;
    }

    #aside .sideContactArea .tel {
        margin: 0 0 4%;
    }

    #aside .accessTxt {
        font-size: 18px;
    }

    #aside .sideBlogTitle.txtTtl {
        font-size: 18px;
        padding-left: 50px;
        border-bottom: 1px solid #f78874;
        position: relative;
        padding-bottom: 7px;
        color: #a4a49f;
    }

    #aside .sideBlogTitle.txtTtl:after {
        background: url(/img/common/ico_sidebar.png) no-repeat;
        background-size: contain;
        position: absolute;
        left: 0;
        top: 30%;
        transform: translate(0, -50%);
        content: '';
        width: 38px;
        height: 38px;
    }
}

/*-----------------------------------------------
Top
-----------------------------------------------*/
#topNews {
    padding: 10px 0 14px;
    background: #fff4eb;
}

#topNews .newsTitle {
    text-align: center;
    padding: 4px 0 10px;
}

#topNews .date {
    width: 90px;
    float: left;
    font-size: 12px;
    color: #fff;
    text-align: center;
    margin: 0 14px 0 0;
    padding: 1px 6px;
    background: #f77247;
}

#topNews dd .newsTtl {
    display: inline-block;
    margin-bottom: 8px;
}

#topNews dl.newsList {
    margin-bottom: 15px;
}

#topNews dl.newsList dd.text {
    margin: 30px 0px;
}

#topNews dl.newsList dd.text:nth-of-type(1)  {
    margin: 10px 0px 30px 0px;
}

#topNews .scrollWrap {
    height: 160px;
    overflow-y: scroll;
}

@media screen and (max-width: 768px) {
    #topNews {
        padding: 3%;
    }

    #topNews .newsTitle {
        color: #f77247;
        padding: 0 0 3%;
    }

    #topNews .newsTitle img {
        width: 100%;
        height: auto;
    }

    #topNews .scrollWrap {
        height: 140px;
    }

    .topMainvisual {
        padding: 15px 15px 10px;
        background: #dfdfd0;
    }

    .topAbout {
        margin: 0 -15px;
        padding: 15px 140px 30px 15px;
        background: url(../../img/top/mainbg.jpg) no-repeat center top;
        background-size: cover;
        padding: 30px 15px;
        color: #fff;
        text-align: center;
        font-size: 14px;
        height: 100%;
        position: relative;
    }

    .topAboutBox {
        position: relative;
        width: 100%;
        height: 100%;
    }

    .topAbout img {
        padding: 0 0 20px 0;
    }

    .topAbout h2 {
        margin: 0 0 20px;
        padding: 0 0 0 10px;
        border-left: 8px solid #f57256;
        color: #f47255;
        font-size: 14px;
        text-shadow: 1px 1px 1px #fff;
        line-height: 1.38;
    }

    .topNews {
        margin: 0 0 15px;
        border: 2px solid #d96d00;
    }

    .topNews h2 {
        position: relative;
        padding: 4px 10px 4px 60px;
        border-bottom: 2px solid #d96d00;
        background: #fc9;
        font-size: 14px;
        color: #444;
    }

    .topNews h2:before {
        display: block;
        content: '';
        margin: -20px 0 0 0;
        width: 40px;
        height: 40px;
        background: transparent url(../img/top/ico_news_tit.png) left top no-repeat;
        background-size: cover;
        position: absolute;
        top: 50%;
        left: 10px;
    }

    .topNews dl {
        padding: 10px;
    }

    .topNews dt {
        padding: 5px 0;
        color: #f57256;
        font-size: 14px;
    }

    .topNews dd {
        padding: 0 0 10px;
        border-bottom: 1px dotted #fc9;
    }

    .topOrth {
        margin: 0 -15px 15px;
    }

    .topOrth ul {
        border-top: 1px solid #f57256;
    }

    .topOrth li {
        float: left;
        width: 50%;
        border-bottom: 1px solid #f57256;
        box-sizing: border-box;
    }

    .topOrth li:nth-child(odd) {
        border-right: 1px solid #f57256;
    }

    .topOrth2 {
        margin: 0 -15px;
    }

    .topRecommend {
        padding: 0;
        background: #f57256;
    }

    .topRecommend h2 {
        margin: 0 0 3px;
        color: #fff;
        font-size: 20px;
    }

    .topRecommend ul {
        border-bottom: none;
    }
}

/*------------------------------------
consultationHour
------------------------------------ */
@media screen and (max-width: 768px) {
    .consultationHour h2 span {
        padding: 0 0 0 10px;
        border-left: 8px solid #f57256;
        /*font-size:30px;*/
        font-size: 14px;
        text-shadow: 1px 1px 1px #fff;
    }

    .consultationHour table {
        margin: 0 0 15px;
        border-collapse: collapse;
        width: 100%;
    }

    .consultationHour th,
    .consultationHour td {
        padding: 4px 0;
        border: 1px solid #f57256;
        text-align: center;
        /*font-size:24px;*/
        font-size: 12px;
    }

    .consultationHour th {
        background: #fc9;
    }

    .consultationHour .time {
        background: #ffffe5;
    }

    .consultationHour p {
        /*font-size:24px;*/
        font-size: 12px;
    }

    .consultationHour.text p {
        /*font-size:28px;*/
        font-size: 14px;
    }

    .consultationHour p strong {
        color: #f47255;
    }
}

/*------------------------------------
contentMenu
------------------------------------ */
.contentMenu {
    margin: 40px 0 0;
    padding: 0 0 0 200px;
    background: url(../img/top/menu_txt01.png?20180205) no-repeat 20px 10px;
}

.contentMenu li {
    display: inline-block;
    margin: 0 26px 20px;
    text-align: center;
}

.contentMenu .full {
    margin: 0 0 20px;
}

.menuWrap {
    margin: 0 0 36px;
    padding: 16px 90px 20px;
    background: #fff4ea;
}

.menuWrap .menuTitle01 {
    font-size: 16px;
    color: #fc9569;
    text-align: center;
    margin: 0 0 10px;
}

.menuWrap p {
    line-height: 1.7;
    font-size: 13px;
    text-align: center;
    margin: 0 0 26px;
}

.menuList01 li {
    display: inline-block;
    margin: 0 14px 0 0;
}

.menuList01 li:last-child {
    margin: 0;
}

.menuList01 li a {
    background: url(/img/common/arrow_01.png) no-repeat center right 10px #fff;
    background-size: 7px;
    border: #f77150 1px solid;
    padding: 5px 20px 5px 10px;
    width: 150px;
    display: block;
    text-align: center;
    transition: all 0.2s;
}

#main .menuList01 li a:link,
#main .menuList01 li a:visited {
    color: #f77150;
    text-decoration: none;
}

.menuList01 li a:hover {
    background: url(/img/common/arrow_02.png) no-repeat center right 10px #f77150;
    background-size: 7px;
    transition: all 0.2s;
}

#main .menuList01 li a:link:hover,
#main .menuList01 li a:visited:hover {
    color: #fff;
}

@media screen and (max-width: 768px) {
    .menuWrap {
        padding: 3%;
        margin: 0;
    }

    .menuWrap .menuTitle01,
    .menuWrap p {
        text-align: justify;
        margin: 0 0 3%;
        font-size: 14px;
    }

    .menuList01 li {
        width: 100%;
        margin: 0 0 1%;
    }

    .menuList01 li img {
        width: 100%;
        height: auto;
    }

    .contentMenu {
        margin: 0;
        padding: 0;
        background: none;
    }

    .contentMenu li {
        margin: 0;
        padding: 0;
    }

    .contentMenu .full {
        margin: 0 10px 0 0;
        padding: 0;
        width: 61px;
        height: auto;
    }

    .contentMenuArea .ttl01 {
        color: #f57256;
        font-size: 14px;
        padding: 5% 3% 2%;
        text-align: center;
    }

    .contentMenuArea .ttl02 {
        padding: 0 3% 3%;
        text-align: center;
    }

    .contentMenuArea .ttl02 img {
        width: 80%;
        height: auto;
    }

    .contentMenuArea li {
        background: url(/sp/img/top/orth_arrow.png) right 10px center no-repeat;
        background-size: 9px 10px;
        vertical-align: middle;
        width: 100%;
    }

    .contentMenuArea li a {
        color: #f57256;
        text-decoration: none;
        font-size: 18px;
        display: block;
        line-height: 1.3;
        padding: 3% 5% 3% 0;
        border-bottom: #d2d2d2 1px dashed;
    }

    #main .contentMenuArea li a:link {
        text-decoration: none;
    }

    .contentMenuArea li a img {
        margin: 0;
        padding: 8px 0 0;
        height: auto;
    }

    .contentMenuArea li a img:last-child {
        width: 200px;
    }

    .contentMenuArea li a span {
        font-size: 12px;
    }

    .menuList01 li a {
        width: 100%;
        padding: 4%;
        font-size: 16px;
    }
}

.flexArea {
    width: 100%;
    height: 380px;
    text-align: center;
    margin: 0 0 36px;
    background: url(../img/top/mainbg.jpg) no-repeat center 0;
    background-attachment: fixed;
}

.flexArea .frexTitle01 {
    padding: 40px 0 40px;
}

.flexArea p {
    font-size: 16px;
    color: #fff;
    line-height: 1.8;
    padding: 0 0 40px;
}

/*201707月末までの設定*/
.flexArea02 {
    width: 100%;
    height: 380px;
    text-align: center;
    margin: 0 0 36px;
    background: url(../img/top/mainbg_1707a.jpg) no-repeat center 0;
    background-attachment: fixed;
}

.flexArea02 .frexTitle01 {
    padding: 40px 0 40px;
}

.flexArea02 p {
    font-size: 16px;
    color: #fff;
    line-height: 1.8;
    padding: 0 0 40px;
}

/*201708月からの設定*/
.flexArea03 {
    width: 100%;
    height: 380px;
    text-align: center;
    margin: 0 0 36px;
    background: url(../img/top/mainbg_1911.png) no-repeat center 0;
    background-attachment: fixed;
}

.flexArea03 .frexTitle01 {
    padding: 40px 0 40px;
}

.flexArea03 p {
    font-size: 16px;
    color: #fff;
    line-height: 1.8;
    padding: 0 0 40px;
}

@media screen and (max-width: 768px) {
    .flexArea03 {
        height: auto;
        margin: 0 0 3%;
        padding: 8% 5%;
        text-align: justify;
        background: url(../img/top/mainbg_1906_1.png) no-repeat center 0;
        background-attachment: initial;
        background-size: cover;
    }

    .flexArea03 img {
        width: 100%;
        height: auto;
    }

    .flexArea03 .frexTitle01 {
        padding: 0 0 5%;
    }

    .flexArea03 p {
        padding: 0;
        margin: 0;
    }
}

.topRecommend {
    background: url(../img/top/content01_boxbg01.png) repeat;
    border: 1px solid #f6b579;
}

.topRecommend .recomInner {
    padding: 24px 24px 14px;
    background: url(../img/top/content01_bg01.png) no-repeat right top;
}

.topRecommend .ud {
    font-weight: bold;
}

.topRecommend .recomTitle01 {
    color: #ff8000;
    border: #ff8000 1px solid;
    border-left: none;
    border-right: none;
    background: rgba(255, 255, 255, 0.2);
    margin: 0 0 15px;
    text-align: center;
    font-size: 22px;
    font-weight: bold;
    padding: 3px;
    text-shadow: 2px 2px 10px #fff, -2px 2px 10px #fff, -2px -2px 10px #fff, 2px -2px 10px #fff;
}

.topRecommend p {
    line-height: 1.8;
    text-shadow: 2px 2px 10px #fff, -2px 2px 10px #fff, -2px -2px 10px #fff, 2px -2px 10px #fff;
    margin: 0 100px 20px 0;
}

.topRecommend .recommendList li {
    float: left;
    margin: 0 12px 12px 0;
    background: #fff;
}

@media screen and (max-width: 768px) {
    .topRecommend .recomInner {
        padding: 5% 0 0;
    }

    .topRecommend .recommendList li {
        width: 100%;
        margin: 0;
    }

    .topRecommend .recommendList li:nth-child(even) {
        margin: 0;
    }

    .topRecommend .recomTitle01 {
        margin: 0 5% 3%;
    }

    .topRecommend .recommendList li img,
    .topRecommend .recomTitle01 img {
        width: 100%;
        height: auto;
    }

    .topRecommend p {
        margin: 0 5% 5%;
    }
}

#post .topCase .caseImage .image02 {
    width: 100%;
    height: 130px;
    margin: 0 0 17px;
    top: 10px;
    -o-object-fit: cover;
    object-fit: cover;
}

/* #post .topCase .caseImage .first p {
    line-height: 1.3;
    font-size: 13px;
} */

#post .topCase .caseImage .first .title {
    line-height: 1.3;
}

#post .topCase .caseImage .first,
#post .topCase .caseImage .last {
    position: relative;
}

#post .topCase .caseImage .first::after,
#post .topCase .caseImage .last::after {
    display: block;
    content: '';
    width: 106px;
    height: 45px;
    background: url(../img/case/tape.png) no-repeat;
    position: absolute;
    top: -26px;
    left: 0;
    right: 0;
    margin: 0 auto;
    z-index: 11111;
}

#post .topCase .caseImage {
    display: flex;
    justify-content: space-between;
    float: none;
    width: 100%;
    /* border-top: solid 1px #ffba70; */
    padding: 16px 0 0;
    margin: 0 0 16px;
}

#post .topCase .caseImage .first {
    width: 290px;
}

#post .topCase .fst .caseImage {
    border: none;
    padding: 40px 0 0;
}

#post .topCase .caseImage li a {
    display: block;
    text-decoration: none;
}

#post .topCase .caseImage li a:hover {
    opacity: 0.7;
}

#post .topCase .caseImage li p {
    color: #444444;
}

#post .topCase .caseImage .last {
    width: 290px;
}

.topCase .caseTitleWrap {
    padding: 80px 0 20px;
    background: url(../img/top/case_bg02.png) no-repeat 160px 60px, url(../img/top/case_bg02.png) no-repeat 14px 156px;
    position: relative;
}

.topCase .caseTitle01 {
    text-align: center;
    margin-left: -50px;
    padding: 4px 0 20px;
}

.topCase .image,
.topCase .image03,
.topCase .image04,
.topCase .image05 {
    position: absolute;
}

.topCase .caseTitleWrap .image {
    left: 0;
    bottom: 0;
}

.topCase .caseContent {
    margin: 0 0 10px;
    padding: 24px;
    background: #ffdfbf;
    position: relative;
}

.caseContentTxt {
    margin: 10px 0 -10px 0;
    color: #f46b4c;
}

.topCase .caseContent .image {
    top: -30px;
    left: -8px;
}

.topCase .image04 {
    top: -90px;
    right: 116px;
}

.topCase .image05 {
    top: -130px;
    right: -15px;
}

.topCase .caseTitle02 {
    margin: 10px 0 12px 126px;
}

.topCase .caseImage {
    width: 570px;
    float: left;
    padding: 35px 0 0;
}

.topCase .caseImage li {
    float: left;
    text-align: center;
    padding: 0 13px 10px;
    background: #fff;
    box-shadow: 0 0 6px 1px rgba(0, 0, 0, 0.3);
}

.topCase .caseImage li .image02 {
    pointer-events: none;
}

.topCase .caseImage .first {
    width: 250px;
    margin: 0 18px 0 0;
    position: relative;
    z-index: 100;
}

.topCase .singleCaseImage .first {
    width: 280px;
}

.topCase .caseImage .first p {
    margin: 6px 0 0;
}

.topCase .caseImage .last {
    width: 250px;
    position: relative;
    z-index: 100;
}

.topCase .singleCaseImage .last {
    width: 300px;
}

/* .topCase .caseImage .last:after {
    display: block;
    content: "";
    width: 63px;
    height: 73px;
    background: url(../img/top/case_arrow01.png) no-repeat;
    position: absolute;
    top: 70px;
    left: -43px;
    z-index: 500;
} */
#main .undCase .caseImage li a {
    text-decoration: none !important;
}

.undCase .caseImage li:hover {
    opacity: 0.7;
}

.caseTitle a {
    text-decoration: none !important;
}

.caseTitle a:hover {
    opacity: 0.7;
}

.topCase .caseImage .image02 {
    position: relative;
    top: -24px;
    margin: 0 0 -16px;
    z-index: 500;
}

.topCase .image03 {
    top: 80px;
    right: 10px;
}

.topCase .caseImage .title {
    font-size: 16px;
    color: #f26c52;
    font-weight: bold;
}

.topCase .caseImage .ruby {
    display: block;
    font-size: 10px;
}

.topCase .btn {
    float: right;
    margin: 20px 0 0;
}

#post .topCase .btn {
    float: none;
    margin: 10px 0 20px;
}

#post .topCase .btn a {
    display: block;
    text-decoration: none;
    text-align: center;
    line-height: 50px;
    background: #f57256;
    width: 40%;
    margin: 0 auto;
    font-weight: bold;
    color: #fff;
    font-size: 16px;
    position: relative;
}

#post .topCase .btn a::after {
    content: '>';
    position: absolute;
    right: 10%;
}

#post .topCase .btn a:hover {
    opacity: 0.7;
}

@media screen and (max-width: 768px) {
    #post .topCase .btn a {
        width: 100%;
        line-height: 20px;
    }

    #post .topCase .caseImage .image02 {
        height: auto;
    }

    #post .topCase .btn {
        margin: 5px 0 0;
    }

    .topCase .caseTitleWrap {
        margin: 0;
        padding: 8% 1% 8% 18%;
        background: none;
    }

    .topCase .caseTitle01 {
        padding: 0;
        margin: 0;
    }

    .topCase .caseTitle01 img {
        width: 80%;
        height: auto;
    }

    .topCase .caseTitleWrap .image {
        left: 0;
        bottom: 0;
        width: 27vw;
        height: auto;
    }

    .topCase .image03 {
        top: -25vw;
        left: 20vw;
        width: 25vw;
        height: auto;
    }

    .topCase .image04 {
        top: -25vw;
        right: 3vw;
        width: 25vw;
        height: auto;
        transform: rotate(10deg);
    }

    .topCase .image05 {
        top: -8vw;
        right: 2vw;
        width: 22vw;
        height: auto;
    }

    .topCase .caseImage {
        width: 100%;
        height: auto;
        float: none;
        padding: 5% 0;
    }

    .topCase .caseTitle02 {
        margin: 0 0 0 20%;
    }

    .topCase .caseTitle02 img {
        width: 100%;
        height: auto;
        float: none;
    }

    .topCase .caseContent {
        padding: 8% 3% 3%;
        margin: 0;
    }

    .topCase .caseContent .image {
        top: 10px;
        left: 10px;
        width: 18%;
        height: auto;
    }

    .topCase .caseImage .first,
    .topCase .caseImage .last {
        text-align: left;
    }

    .topCase .caseImage .first {
        margin: 0 2% 0 0;
        width: 48%;
    }

    .topCase .caseImage .last {
        margin: 0 0 0 2%;
        width: 48%;
    }

    .topCase .caseImage .image02 {
        width: 100%;
        height: auto;
        margin: 0;
        top: 0;
    }

    .topCase .caseImage .last:after {
        width: 35px;
        height: 40px;
        background: url(../img/top/case_arrow01.png) no-repeat;
        background-size: cover;
        top: 80px;
        left: -27px;
        z-index: 500;
    }

    .topCase .caseImage li {
        padding: 0 10px 10px;
    }

    .topCase .caseImage .title {
        font-size: 14px;
        margin: 5px 0 0;
    }
}

.caseUnderTxt {
    color: #f88d6a;
    text-align: justify;
    margin: 20px 0 0;
    border: #fff4ea 5px solid;
    padding: 20px 30px;
}

.footBnrArea {
    padding: 26px 0;
    background: #f0f0e1;
    margin: 15px 0;
}

.footBnrArea li {
    float: left;
    margin: 0 6px 6px 0;
    background: #fff;
}

.footBnrArea li:nth-child(4) {
    margin: 0;
}

@media screen and (max-width: 768px) {
    .footBnrArea {
        margin: 0;
        padding: 3%;
    }

    .footBnrArea li,
    .footBnrArea li:nth-child(4) {
        margin: 0 1% 2%;
        width: 48%;
    }

    .footBnrArea li img {
        width: 100%;
        height: auto;
    }

    .caseUnderTxt {
        margin: 3%;
        padding: 3%;
    }

    .topCaseUnderTxt {
        margin: 3% 0;
    }
}

.topContact {
    padding: 20px 0;
}

.topContact .leftContent {
    width: 488px;
    float: left;
}

.topContact .rightContent {
    width: 477px;
    float: right;
}

.topContact .leftContent dl {
    display: table;
    width: 100%;
    margin: 0 0 20px;
}

.topContact .leftContent dt,
.topContact .leftContent dd {
    display: table-cell;
}

.topContact .leftContent dt {
    width: 172px;
}

.topContact .leftContent dd {
    text-align: right;
}

.topContact .leftContent ul {
    display: table;
}

.topContact .leftContent li:first-child {
    padding: 0 10px 0 0;
}

.topContact .leftContent li {
    display: table-cell;
}

.topContact .contactBtn {
    margin: 6px 0 0;
}

.topContact .contactTxt {
    color: #333326;
    margin: 16px 0;
}

.topContact .contactTxt .lead {
    color: #f27253;
}

.topContact .accessroot {
    font-size: 12px;
    color: #f8704a;
    text-align: center;
    margin: 6px 0;
    padding: 2px;
    border: 1px solid #f8704a;
}

.topContact {
    background: url(../img/top/contact_bg01.png) no-repeat center 16px;
}

.topContact .map img {
    width: 100%;
}

@media screen and (max-width: 768px) {
    .topContact {
        padding: 3%;
    }

    .topContact .leftContent ul {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    .topContact .leftContent,
    .topContact .rightContent {
        width: 100%;
        float: none;
    }

    .topContact .leftContent li {
        width: 49%;
        display: block;
    }

    .topContact .leftContent li:first-child {
        padding: 0;
    }

    .topContact .leftContent li img {
        width: 100%;
        height: auto;
    }

    .topContact .leftContent dt {
        width: 45%;
        padding: 0 3% 0 0;
    }

    .topContact .leftContent dd {
        padding: 0 0 0 3%;
    }

    .topContact .leftContent dt img,
    .topContact .leftContent dd img {
        width: 100%;
        height: auto;
    }
}

.topTimeTable {
    width: 488px;
    border-collapse: collapse;
}

.topTimeTable th,
.topTimeTable td {
    text-align: center;
    border: 1px solid #b25900;
    padding: 10px 0;
}

.topTimeTable td {
    width: 43px;
}

.topTimeTable thead th,
.topTimeTable thead td {
    background: #ffdebd;
}

.topTimeTable tbody th {
    background: #ffffe5;
}

@media screen and (max-width: 768px) {
    .topTimeTable {
        width: 100%;
        font-size: 14px;
    }
}

/*-----------------------------------------------
下層共通
-----------------------------------------------*/
.title03,
.heading {
    font-size: 28px;
    color: #fff;
    margin: 0 0 30px;
    padding: 10px 0 16px 60px;
    background: url(../img/feature/title_bg01.png) no-repeat left;
}

.title04,
.heading02,
.heading03,
.related_post_title {
    font-size: 24px;
    color: #f27252;
    margin: 0 0 26px;
    padding: 6px 0 10px 26px;
    border-bottom: 1px dotted #f27252;
    border-left: 6px solid #f27252;
}

.section {
    margin: 0 0 60px;
}

.undContact {
    margin: 50px 0 0;
    padding: 60px 0 36px;
    border-top: 20px solid #f0f0e1;
    background: url(../img/top/contact_bg01.png) no-repeat center 50px;
}

.text p {
    margin: 0 0 20px;
}

#topNews .text p {
    margin: 0;
}

.text p:last-child {
    margin: 0;
}

.text h4,
.text h5 {
    font-size: 18px;
    color: #f27252;
    margin: 0 0 10px;
}

.firstTxt {
    margin: 0 0 20px;
    font-size: 16px;
    padding-bottom: 25px;
}

.txt {
    font-size: 16px;
}

@media screen and (max-width: 768px) {
    .title03,
    .heading {
        font-size: 18px;
        margin: 0 0 3%;
        padding: 3% 3% 3% 16%;
        background-color: #f57256;
        line-height: 1.5;
        border-radius: 5px;
    }

    .title04,
    .heading02,
    .heading03,
    .related_post_title {
        font-size: 20px;
        margin: 0 0 3%;
        padding: 2% 0 2% 3%;
        line-height: 1.25;
    }

    .section {
        padding: 68px 0 0;
        margin: -68px 0 6%;
    }

    .section img {
        width: 100%;
        height: auto;
    }

    .undContact {
        margin: 0;
        padding: 3%;
    }

    .text p,
    .text p:last-child {
        margin: 0 0 1em;
    }

    .w40_sp,
    .section img.w40_sp {
        width: 40%;
    }

    .firstTxt {
        font-size: 14px;
        line-height: 1.38;
        padding-bottom: 15px;
    }
}

/*------------------------------------
選ばれる理由
------------------------------------ */
.featureMenu {
    margin: 0 0 36px;
    background: url(../img/top/content01_boxbg01.png) repeat;
    border: 1px solid #f6b579;
}

.featureInner {
    padding: 24px 24px 14px;
    background: url(../img/top/content01_bg01.png) no-repeat;
    background-position: right top;
}

.featureMenu .ud {
    font-weight: bold;
}

.featureMenu .featureTitle01 {
    margin: 0 0 18px;
}

.featureMenu p {
    line-height: 1.8;
    text-shadow: 2px 2px 4px #fff, -2px 2px 4px #fff, -2px -2px 4px #fff, 2px -2px 4px #fff;
    margin: 0 100px 20px 0;
}

.featureMenu .featureList li {
    float: left;
    margin: 0 12px 12px 0;
}

.container {
    margin: 0 0 30px;
}

#feature .container01 {
    margin: 0 0 10px;
}

.containerTitle {
    margin: 0 0 20px;
    color: #f57256;
    font-size: 25px;
    line-height: 160%;
    position: relative;
}

.containerTitle .subTtl01 {
    font-size: 18px;
}

@media screen and (max-width: 768px) {
    .containerTitle .subTtl01 {
        font-size: 14px;
    }
}

.riskList {
    font-size: 16px;
    list-style: decimal;
    padding-left: 16px;
    margin-left: 15px;
    padding-bottom: 35px;
}

.riskList li {
    margin-bottom: 10px;
    line-height: 1.7;
}

.riskTtl {
    font-size: 24px;
}

@media screen and (max-width: 768px) {
    .riskList {
        margin-left: 5px;
        font-size: 14px;
    }
}

.containerTitle02 {
    margin: 0 0 20px;
    padding: 0 0 0 15px;
    color: #f57256;
    font-size: 25px;
    line-height: 180%;
    position: relative;
    border-left: 5px solid #f57256;
    background: #fffaea;
}

.container01 {
    background: url(../img/feature/feature_bg01.png) no-repeat;
}

.container02 {
    background: url(../img/feature/feature_bg02.png) no-repeat;
}

.container03 {
    background: url(../img/feature/feature_bg03.png) no-repeat;
}

.container04 {
    background: url(../img/feature/feature_bg04.png) no-repeat;
}

.container05 {
    background: url(../img/feature/feature_bg05.png) no-repeat;
}

.container06 {
    background: url(../img/feature/feature_bg06.jpg) no-repeat;
}

.container07 {
    background: url(../img/feature/feature_bg07.jpg) no-repeat;
}

.container08 {
    background: url(../img/feature/feature_bg08.jpg) no-repeat;
}

.container09 {
    background: url(../img/feature/feature_bg09.jpg) no-repeat;
}

.container10 {
    background: url(../img/feature/feature_bg10.jpg) no-repeat;
}

.container11 {
    background: url(../img/feature/feature_bg11.jpg) no-repeat;
}

.container12 {
    background: url(../img/feature/feature_bg12.jpg) no-repeat;
}

.container13 {
    background: url(../img/feature/feature_bg13.jpg) no-repeat;
}

.container14 {
    background: url(../img/feature/feature_bg14.jpg) no-repeat;
}

.container15 {
    background: url(../img/feature/feature_bg12_ex02.jpg) no-repeat;
    margin-bottom: 20px;
}

.container16 {
    background: url(../img/feature/feature_bg16_ex01.jpg) no-repeat;
    padding: 14px 0 0 325px !important;
}

.container17 {
    background: url(../img/feature/feature_bg17_ex01.jpg) no-repeat;
}

.container20 {
    background: url(../img/feature/feature_bg12_ex01.jpg) no-repeat;
    margin: 20px 0 30px;
    padding: 14px 325px 60px 0 !important;
}

.container21 {
    background: url(../img/feature/feature_bg16_ex.jpg) no-repeat;
}

.container22 {
    background: url(../img/feature/feature_bg18_ex01.jpg) no-repeat;
}

.clinicContainer01 {
    background: url(../img/clinic/clinic_bg01_02.png) no-repeat right bottom;
}

.clinicContainer02 {
    background: url(../img/clinic/clinic_bg02.jpg) no-repeat;
}

.clinicContainer03 {
    background: url(../img/clinic/clinic_bg03.jpg) no-repeat;
}

.clinicContainer04 {
    background: url(../img/clinic/clinic_bg04.jpg) no-repeat;
}

.clinicContainer05 {
    background: url(../img/clinic/clinic_bg05.jpg) no-repeat;
}

.clinicContainer06 {
    background: url(../img/clinic/clinic_bg06.jpg) no-repeat;
}

.clinicContainer07 {
    background: url(../img/clinic/clinic_bg08.png) no-repeat;
}

.orthContainer01 {
    background: url(../img/orth/orth_bg01.jpg) no-repeat;
    height: 360px;
}

.orthContainer02 {
    background: url(../img/orth/orth_bg02.jpg) no-repeat;
    height: 360px;
}

.orthContainer03 {
    background: url(../img/orth/orth_bg03.jpg) no-repeat;
    height: 360px;
}

.orthContainer04 {
    background: url(../img/orth/orth_bg04.jpg) no-repeat;
    height: 360px;
}

.orthContainer05 {
    background: url(../img/orth/orth_bg05.jpg) no-repeat;
    height: 360px;
}

.orthContainer06 {
    background: url(../img/orth/orth_bg06.jpg) no-repeat;
}

.orthContainer07 {
    background: url(../img/orth/orth_bg07.jpg) no-repeat;
}

.orthContainer08 {
    background: url(../img/orth/orth_bg08.jpg) no-repeat;
}

.orthContainer09 {
    background: url(../img/orth/orth_bg09.jpg) no-repeat;
}

.orthContainer10 {
    background: url(../img/orth/orth_bg10.jpg) no-repeat;
}

.orthContainer11 {
    background: url(../img/orth/orth_bg11.jpg) no-repeat;
}

.orthContainer12 {
    background: url(../img/orth/orth_bg12.jpg) no-repeat;
}

.orthContainer13 {
    background: url(../img/orth/orth_bg13.jpg) no-repeat;
}

.orthContainer14 {
    background: url(../img/orth/orth_bg14.jpg) no-repeat;
}

.kidsContainer01 {
    background: url(../img/kids_bg01.jpg) no-repeat;
}

.kidsContainer02 {
    background: url(../img/kids_bg02.jpg) no-repeat;
}

.maleContainer01 {
    background: url(../img/male_bg01.jpg) no-repeat;
}

.bridalContainer01 {
    background: url(../img/bridal_bg01.jpg) no-repeat;
}

.leftContainer {
    padding: 14px 325px 20px 0;
    background-position: right top;
    font-size: 16px;
}

.rightContainer {
    padding: 14px 0 20px 325px;
    background-position: left top;
    font-size: 16px;
}

.container01 .txt {
    padding: 10px 0 10px;
    background: url(../img/feature/feature_txtbg01.png) no-repeat;
}

.container02 .txt {
    padding: 20px 0 30px;
    background: url(../img/feature/feature_txtbg02.png) no-repeat;
}

.container03 .txt {
    padding: 10px 0 50px;
    background: url(../img/feature/feature_txtbg03.png) no-repeat;
}

.container04 .txt {
    padding: 0 0 80px;
    background: url(../img/feature/feature_txtbg04.png) no-repeat;
}

.container05 .txt {
    padding: 0 0 40px;
    background: url(../img/feature/feature_txtbg05.png) no-repeat;
}

.container .txt {
    line-height: 2;
    font-size: 16px;
    color: #333326;
    background-position: center;
}

.baseTxt {
    line-height: 200%;
    font-size: 16px;
}

.noimgTxt {
    margin-bottom: 40px;
    line-height: 200%;
    font-size: 16px;
}

.noimgTxt span {
    color: #f27252;
}

.featureTitle02 {
    margin: 0 0 40px;
}

#feature .notice {
    margin: 0 0 40px;
}

#feature .txt02 {
    margin: 0 0 16px;
}

.letters {
    margin: 0 0 46px;
}

.letters li {
    display: inline-block;
}

.letters li:nth-child(-n + 2) {
    margin: 0 22px 0 0;
}

.featureLast {
    margin: 0 0 50px;
    line-height: 1.8;
    font-size: 16px;
}

.featureLast img {
    margin: 0 0 40px;
}

h4.baseTitle {
    padding: 5px 0 0 20px;
    margin-bottom: 30px;
    height: 40px;
    font-size: 24px;
    color: #f57256;
    border-left: 6px solid #f57256;
    border-bottom: 1px dotted #f57256;
}

.ryakureki {
    margin-bottom: 40px;
}

.ryakureki li {
    margin-bottom: 20px;
}

.bridalImg {
    margin: 0 20px 20px 0;
}

/*新レイアウト*/
.container .containerTitle {
    clear: both;
    box-sizing: border-box;
    text-align: justify;
}

.container .containerPhoto,
.container:nth-child(even) .containerPhoto.right {
    width: 45%;
    padding: 0 0 3%;
    float: right;
}

#approach .container:nth-child(even) .containerPhoto {
    margin-right: 3%;
}

#approach .container:nth-child(odd) .containerPhoto {
    margin-left: 3%;
}

.container .containerPhoto img {
    width: 100%;
    height: auto;
}

.container .baseTxt {
    font-size: 16px;
    text-align: justify;
    line-height: 2;
    margin: 0 0 0.5em;
    display: flow-root;
}

.num .container .baseTxt {
    min-height: 300px;
}

.container:nth-child(even) .containerTitle {
    float: both;
}

.container:nth-child(even) .containerPhoto,
.container .containerPhoto.left {
    float: left;
}

.container:nth-child(even) .baseTxt {
}

.num .container:nth-child(1) .baseTxt {
    background: url(../img/feature/feature_txtbg01.png) no-repeat center;
}

.num .container:nth-child(2) .baseTxt {
    background: url(../img/feature/feature_txtbg02.png) no-repeat center;
}

.num .container:nth-child(3) .baseTxt {
    background: url(../img/feature/feature_txtbg03.png) no-repeat center;
}

.num .container:nth-child(4) .baseTxt {
    background: url(../img/feature/feature_txtbg04.png) no-repeat center;
}

.num .container:nth-child(5) .baseTxt {
    background: url(../img/feature/feature_txtbg05.png) no-repeat center;
}

@media screen and (max-width: 768px) {
    .featureInner {
        padding: 3% 3% 0;
    }

    .featureMenu .featureTitle01 {
        margin: 0 0 3%;
    }

    .featureMenu .featureTitle01 img {
        background: rgba(255, 255, 255, 0.5);
        box-shadow: 0 0 20px rgba(255, 255, 255, 1);
        border-radius: 15px;
        padding: 0 15px;
    }

    .featureMenu {
        margin: 0 0 6%;
    }

    .featureTitle02 {
        margin: 0 0 3%;
    }

    .featureMenu .featureList li {
        margin: 0 1.5% 3% 0;
        width: 48.5%;
    }

    .featureMenu .featureList li:nth-child(even) {
        margin: 0 0 3% 1.5%;
        width: 48.5%;
    }

    .featureMenu .featureTitle01 img,
    .featureTitle02 img,
    .featureMenu .featureList li img {
        max-width: 100%;
        height: auto;
    }

    .feature h3 {
        margin: 20px 0;
    }

    .feature h4 {
        margin: 20px -15px 10px;
    }

    .pdfList {
        display: table;
        margin: 20px 0 30px;
        width: 100%;
        table-layout: fixed;
    }

    .ryakureki li {
        margin-bottom: 8px;
    }

    .pdfList li {
        display: table-cell;
    }

    .pdfList li:nth-child(3n + 2) {
        text-align: center;
    }

    .container01,
    .container02,
    .container03,
    .container04,
    .container05 {
        background-size: 22vw;
    }

    .leftContainer,
    .rightContainer {
        padding: 0;
    }

    .containerTitle {
        font-size: 5vw;
        line-height: 140%;
        margin: 0 0 3%;
        padding: 5vw 15vw 3vw 0;
    }

    .rightContainer .containerTitle {
        padding: 5vw 0 5vw 15vw;
        text-shadow: 1px 1px 0 #fff;
    }

    .container .txt {
        padding: 0;
        font-size: 14px;
        line-height: 1.38;
    }

    #feature .container01 {
        margin: 0 0 3%;
    }

    .container01 .txt,
    .container02 .txt,
    .container03 .txt,
    .container04 .txt,
    .container05 .txt {
        background-size: 60%;
    }

    #feature .notice {
        margin: 0 0 3%;
    }

    .letters {
        margin: 0 0 6%;
    }

    .letters:last-child {
        margin: 0;
    }

    .letters li,
    .letters li:nth-child(-n + 2) {
        width: 47%;
        margin: 0 1% 2%;
    }

    .featureLast {
        padding: 0;
        margin: 0 0 3%;
    }

    .featureLast img {
        margin: 0 0 3%;
    }

    h4.baseTitle {
        padding: 2%;
        margin-bottom: 3%;
        height: auto;
        font-size: 18px;
        line-height: 1;
    }

    .noimgTxt {
        margin: 0 0 6%;
        font-size: 14px;
        line-height: 1.38;
    }

    .gmap {
        margin: 0 0 6%;
    }

    /*新レイアウト*/
    .container .containerTitle,
    .container:nth-child(even) .containerTitle,
    .container:nth-child(even) .baseTxt {
        width: 100%;
        padding: 0;
    }

    .container .baseTxt {
        display: block;
        padding: 0;
        margin: 0 0 6%;
        font-size: 14px;
        line-height: 1.38;
    }

    .baseTxt {
        font-size: 14px;
        line-height: 1.38;
    }

    .num .container .baseTxt {
        min-height: auto;
    }

    .num .container:nth-child(1) .baseTxt {
        background: url(../img/feature/feature_txtbg01.png) no-repeat center left 5%;
        background-size: 50%;
    }

    .num .container:nth-child(2) .baseTxt {
        background: url(../img/feature/feature_txtbg02.png) no-repeat center right 5%;
        background-size: 50%;
    }

    .num .container:nth-child(3) .baseTxt {
        background: url(../img/feature/feature_txtbg03.png) no-repeat center left 5%;
        background-size: 50%;
    }

    .num .container:nth-child(4) .baseTxt {
        background: url(../img/feature/feature_txtbg04.png) no-repeat center right 5%;
        background-size: 50%;
    }

    .num .container:nth-child(5) .baseTxt {
        background: url(../img/feature/feature_txtbg05.png) no-repeat center left 5%;
        background-size: 50%;
    }

    .containerTitle02 {
        font-size: 20px;
        line-height: 1.5;
    }

    .ryakureki {
        margin-bottom: 6%;
    }
}

/*------------------------------------
矯正体験談
------------------------------------ */
.noimgTxt_con15 {
    line-height: 200%;
    font-size: 16px;
    margin-bottom: 30px;
}

.section_ex {
    margin-bottom: 30px;
}

#experiences .ttlL {
    margin: 0 0 20px 0;
    padding: 5px 0;
    border-top: dotted 1px #f57256;
    border-bottom: dotted 1px #f57256;
    font-size: 18px;
}

#experiences .ttlL span {
    display: inline-block;
    margin: 2px 10px 2px 0;
    padding: 4px 10px;
    font-size: 16px;
    color: #fff;
    background: #f57256;
    font-family: 'Century Gothic', sans-serif;
}

@media screen and (max-width: 768px) {
    .priceLink {
        text-align: right;
    }

    .priceLink a {
        color: #006699;
    }

    .orthPriceTable {
        width: 100%;
        border-collapse: collapse;
        border-spacing: 0;
    }

    .orthPriceTable thead {
        background: #ffffe5;
        width: 100%;
    }

    .orthPriceTable th,
    .orthPriceTable td {
        padding: 20px 15px;
        border-top: 2px solid #777;
        border-bottom: 2px solid #777;
        box-sizing: border-box;
        text-align: center;
    }

    .orthPriceTable th {
        background: #ffffe5;
        width: 33%;
    }

    .orthPriceTable .desc {
        font-size: 95%;
    }

    .orthLink {
        border-top: 1px solid #9b9b8c;
        margin: 0 0 40px;
    }

    .orthLink li {
        border-right: 1px solid #9b9b8c;
        border-left: 1px solid #9b9b8c;
        border-bottom: 1px solid #9b9b8c;
    }

    .timingList li:before {
        content: '○';
    }

    .bridalVoice {
        margin: 60px 0 0;
    }

    .bridalLink {
        text-align: right;
    }

    .bridalLink a {
        color: #006699;
    }

    .section a {
        word-wrap: break-word;
    }
}

/*------------------------------------
お客様の声
------------------------------------ */
.voice h3 {
    margin: 0 0 10px;
    padding: 8px 0 15px 70px;
    border-bottom: 1px dotted #f27253;
    background: transparent url(../sp/img/voice/ico_title.png) 0 0 no-repeat;
    min-height: 62px;
    font-size: 30px;
    color: #f27253;
    box-sizing: border-box;
}

.block {
    margin: 20px 0;
    padding: 20px;
    border-left: 8px solid #f57256;
    background: #ffffe5;
}

.block p {
    font-size: 16px;
}

#main .voiceNavi li a {
    color: #f27253;
    font-size: 20px;
    padding: 2px 0 2px 26px;
    background: url(../img/voice/ico_arrow01.png) no-repeat left 2px;
    text-decoration: none;
}

#main .voiceNavi li a:hover {
    text-decoration: underline;
}

/*170719 患者様の声 追加分*/
.voiceBox {
    width: 220px;
    height: 310px;
    margin: 30px 24px 0 0;
    border: solid 1px #d4d0d0;
    float: left;
    position: relative;
}

.voiceBox:nth-of-type(3n) {
    margin: 30px 0 0 0;
}

.voiceBox .innerBox {
    width: 160px;
    height: 227px;
    margin: 30px auto;
}

.expandIco {
    display: block;
    position: absolute;
    bottom: 15px;
    left: 70px;
}

@media screen and (max-width: 768px) {
    .voice h3 {
        margin: 0 0 10px;
        padding: 8px 0 15px 70px;
        border-bottom: 1px dotted #f27253;
        background: transparent url(../img/voice/ico_title.png) 0 0 no-repeat;
        min-height: 62px;
        /*font-size:30px;*/
        font-size: 14px;
        color: #f27253;
        box-sizing: border-box;
    }

    .block p {
        font-size: 14px;
        line-height: 1.38;
    }

    .voiceBox {
        width: 48%;
        height: auto;
        margin: 0 0 2% 0;
        float: none;
    }

    .voiceBox:nth-of-type(3n) {
        margin: 0;
    }

    .voiceBox:nth-child(even) {
        margin: 0 0 2% 2%;
    }

    .voiceBox .innerBox,
    .voiceBox img {
        max-width: 94%;
        height: auto;
        margin: 3%;
    }

    .voiceBox .expandIco {
        max-width: 100%;
        left: 50%;
        margin: 0 0 0 -40px;
    }
}

/*------------------------------------
よくあるご質問
------------------------------------ */
.faq h3 {
    margin: 0 0 10px;
    padding: 0 0 8px;
    border-bottom: 1px dotted #f27253;
    font-size: 20px;
    color: #f27253;
}

.faq h3 span,
.faq .inner span {
    float: left;
    margin: 0 10px 0 0;
    font-size: 16px;
}

@media screen and (max-width: 768px) {
    .faq h3 {
        margin: 0 0 10px;
        padding: 0 0 8px 1.2em;
        border-bottom: 1px dotted #f27253;
        /*font-size:30px;*/
        font-size: 14px;
        line-height: 1.38;
        color: #f27253;
    }

    .faq .inner {
        padding: 0 0 0 1.2em;
    }

    .faq h3 span,
    .faq .inner span {
        float: left;
        margin: 0 0 0 -1.2em;
    }
}

/*------------------------------------
症例紹介
------------------------------------ */
.caseTitle {
    font-size: 24px;
    color: #f27253;
    margin: 0 0 20px;
    padding: 0 0 6px;
    border-bottom: 2px dashed #f27253;
}

.caseImage .thumb01 img,
.caseImage .thumb02 img {
    margin: 10px 0 5px;
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.caseImage .thumb01,
.caseImage .thumb02 {
    position: relative;
    pointer-events: none;
}

.caseImage .thumb01:after,
.caseImage .thumb02:after {
    display: block;
    content: '';
    width: 106px;
    height: 45px;
    background: url(../img/case/tape.png) no-repeat;
    position: absolute;
    top: -26px;
    left: 0;
    right: 0;
    margin: 0 auto;
}

.topCase .caseImage .txt {
    margin: 6px 0 0;
    text-align: left;
}

.undCase .caseContent {
    padding: 24px 24px 36px;
}

.undCase {
    font-size: 16px;
    margin: 0 0 30px;
}

.undCase .casenotes {
    line-height: 2;
    margin: 0 0 30px;
}

.undCase .caseImage.singleCaseImage {
    width: 100%;
    float: none;
    margin: 0 0 40px;
}

.undCase .caseImage li {
    position: relative;
}

.undCase .caseImage li:nth-child(2n):not(.last) {
    margin: 0 0 0 55px;
}

/* .undCase .caseImage li:nth-child(2n):after {
    display: block;
    content: "";
    width: 73px;
    height: 60px;
    background: url(../img/case/case_arrow.png) no-repeat;
    position: absolute;
    top: 35%;
    left: -43px;
} */
.undCase .photoname {
    font-size: 18px;
    color: #f57256;
    font-weight: bold;
    line-height: 2.2;
    margin: 0 0 30px;
    padding: 0 0 0 30px;
    background: url(../img/case/ico_titarrow.png) no-repeat 16px center #fff;
}

.undCase .caseComment {
    line-height: 2;
    margin: 0 0 20px;
}

.caseMessageWrap {
    padding: 20px;
    background: #fff;
}

.caseMessageWrap .messageTitle {
    font-size: 22px;
    color: #f56d52;
    margin: 0 0 15px;
    padding: 4px 0 4px 50px;
    border-bottom: 1px solid #f56d52;
    background: url(../img/case/ico_titbg.png) no-repeat left bottom;
}

.caseMessageWrap .txt {
    line-height: 2;
}

.navigation {
    display: table;
    width: 100%;
}

.navigation p {
    display: table-cell;
}

.navigation .navileft {
    width: 40%;
}

.navigation .navitop {
    width: 20%;
    text-align: center;
}

.navigation .naviright {
    width: 40%;
    text-align: right;
}

@media screen and (max-width: 768px) {
    .caseTitle {
        font-size: 18px;
        margin: 0 0 3%;
    }

    .topCase .btn a,
    .undCase .btn a {
        background: #f46860;
        border-radius: 5px;
        color: #fff;
        padding: 3%;
        text-decoration: none;
        display: inline-block;
        width: 100%;
        text-align: center;
    }

    #main .topCase .btn a:link,
    #main .topCase .btn a:visited,
    #main .undCase .btn a:link,
    #main .undCase .btn a:visited {
        color: #fff;
        text-decoration: none;
    }

    .topCase .btn {
        width: 100%;
    }

    #case .topCase .btn {
        margin: 0;
    }

    .caseContentTxt {
        padding: 2% 0 0;
        margin: 0;
    }

    #case .section img {
        width: 100%;
    }

    .undCase .caseContent {
        padding: 5%;
    }

    .caseImage .thumb01:after,
    .caseImage .thumb02:after {
        width: 55px;
        background: url(../img/case/tape.png) no-repeat;
        top: -15px;
        left: 0;
        right: 0;
        background-size: contain;
    }

    .undCase .caseImage li:nth-child(2n):after {
        height: 25px;
        background: url(../img/case/case_arrow.png) no-repeat;
        top: 45%;
        left: -22px;
        background-size: contain;
    }

    .topCase .caseImage .first p,
    .topCase .caseImage .txt {
        font-size: 14px;
    }
}

/*------------------------------------
症例紹介_新（2020/07/14）
------------------------------------ */
.caseStages {
    display: flex;
    justify-content: space-between;
}

.caseStageBox {
    width: 32.5%;
}

.caseImg {
    background: #fff;
    text-align: center;
}

.caseImg img {
    margin: 12px 0;
    box-sizing: border-box;
    padding: 5px;
    width: 100% !important;
    height: auto !important;
}

.caseStages .caseStageBox .photoname {
    margin: 0;
    padding: 10px 0 0 30px;
    background: url(../img/case/ico_titarrow.png) no-repeat 16px 23px #fff;
}

@media screen and (max-width: 768px) {
    #case .caseImg img {
        width: 94%;
        margin: 5px 0;
    }
}

/*------------------------------------
form
------------------------------------ */
.formText {
    margin: 0 0 20px;
}

.domain {
    margin-bottom: 20px;
    padding: 20px;
    background: #fff6ec;
}

.domain .ttl {
    font-size: 20px;
    font-weight: bold;
    color: #f57156;
}

.formTable {
    width: 100%;
    margin: 0 0 10px;
    border-collapse: collapse;
}

.formTable th,
.formTable td {
    border: 1px solid #f89a66;
    padding: 20px;
}

.consultation {
    width: 680px;
    text-align: center;
    font-size: 24px;
    color: #f27252;
    margin: 0 0 26px;
    padding: 6px 0 10px 26px;
    border: none !important;
}

.consultation span {
    display: block;
    font-size: 14px;
    padding: 20px;
    background: #fff6ec;
}

.formTable th {
    background: #ffffe5;
    text-align: center;
}

.formTable td {
    text-align: left;
}

/* 20230608 お問い合わせ ご住所「選択してください」の部分*/
.formTable li:has(select) {
    margin: 0 0 4px 17px;
}

/* 20230608 お問い合わせ ご住所「郵便番号」の部分*/
.formTable li:has(input[name='zip']) {
    margin: 0 0 4px 0;
}

.formTable input[type='text'],
.formTable textarea {
    width: 100%;
    padding: 2px;
}

.formTable input[name='zip'] {
    width: 35%;
}

.formTable .choiceArea input {
    width: 88%;
}

.formTable .choiceArea li {
    margin: 0 0 4px;
}

.btnArea {
    text-align: center;
    margin: 50px 0 100px;
}

.btnArea li {
    display: inline-block;
    margin: 0 20px;
    vertical-align: top;
}

.btnArea input {
    display: block;
    font-weight: inherit;
    vertical-align: middle;
    width: 300px;
    height: 70px;
    text-indent: -9999px;
    overflow: hidden;
    border: none;
    border-style: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    outline: none;
    appearance: none;
    cursor: pointer;
}

input[type='submit'] {
    background: url(../img/contact/btn_submit.png) no-repeat;
}

input[name='submitConfirm'] {
    background: url(../img/contact/btn_confirm.png) no-repeat;
}

input[name='submitBack'] {
    background: url(../img/contact/btn_back.png) no-repeat;
}

#contact .req {
    display: inline-block;
    color: #f27252;
}

#contact .addressArea input {
    display: inline;
}

@media screen and (max-width: 768px) {
    .domain .ttl {
        font-size: 18px;
    }

    .consultation {
        width: 100%;
    }

    .consultation span {
        margin: 1% 0 0;
        padding: 4%;
        color: #f57156;
        font-size: 14px;
    }

    .inputText p {
        margin: 1em 0;
    }

    .formTable {
        width: 100%;
    }

    .formTable th,
    .formTable td {
        display: list-item;
        list-style-type: none;
        border: none;
    }

    .formTable th {
        margin: 0;
        padding: 2% 3%;
        background: #f0f0e1;
    }

    .formTable td {
        padding: 3% 3% 6%;
    }

    .formTable .consultation {
        margin: 0 0 3%;
        padding: 3%;
        color: #4d4d4c;
        font-size: 14px;
    }

    .telLink {
        font-size: 20px;
    }

    .formTable input[type='text'],
    .formTable input[type='tel'],
    .formTable input[type='number'],
    .formTable input[type='email'],
    .formTable input[type='date'],
    .formTable input[type='time'],
    .formTable textarea,
    .formTable select {
        padding: 3%;
        width: 100%;
        border: 1px solid #aaa;
        border-radius: 3px;
        font-size: 14px;
        /*-webkit-appearance: none;*/
        -webkit-min-logical-width: 80%;
    }

    .formTable li:has(select) {
        margin: 0;
    }

    .formTable li:has(input[name='zip']) {
        margin: 0;
    }

    .formTable textarea {
        height: 6em;
    }

    .formTable .consultationArea label {
        display: block;
        cursor: pointer;
    }

    .formTable .addressArea li,
    .formTable .choiceArea li {
        margin: 5px 0 0 0;
    }

    .formTable .addressArea li:first-child,
    .formTable .choiceArea li:first-child {
        margin: 0;
    }

    .error {
        color: #c00;
        font-weight: bold;
    }

    .btnArea {
        margin: 2em 0;
    }

    .mw_wp_form_input .btnArea .back,
    .mw_wp_form_confirm .inputText,
    .errorPage .mw_wp_form_input .formText {
        display: none;
    }

    .formTable .req {
        font-size: 12px;
    }

    .btnArea .back {
        margin: 0 0 3%;
    }
}

/*------------------------------------
スマイル通信
------------------------------------ */
.paperList li {
    width: 42%;
    float: left;
    margin: 0 0 10px 30px;
}

.paperList li:before {
    content: '○';
    color: #f27252;
    margin: 0 4px 0 0;
}

.paperWrap {
    padding: 20px;
    border: 1px solid #f27252;
}

@media screen and (max-width: 768px) {
    .paperWrap {
        padding: 3%;
    }

    .paperList li {
        width: 100%;
        margin: 2%;
        font-size: 14px;
    }

    .paperList li a {
        display: inline-block;
    }
}

/*------------------------------------
ホワイトニング
------------------------------------ */
.text .imgL {
    float: left;
    margin: 0 20px 10px 0;
}

.text .textArea {
    width: 420px;
    float: right;
}

.heading04 {
    margin: 30px 0 20px 0;
    padding: 0 0 0 36px;
    background: transparent url(../sp/img/common/ico_circle.png) left 3px no-repeat;
    font-size: 24px !important;
}

.ex {
    padding: 10px;
    margin: 0 0 30px;
    border: 1px solid #f0f0e1;
}

.ex h5 {
    font-size: 18px !important;
    margin: 0 0 10px;
    padding: 0 0 4px;
    border-bottom: 1px dashed #f27252;
}

body .ex p {
    font-size: 16px;
    margin: 0 10px 0 0;
    line-height: 1.7;
}

.priceTable {
    border-collapse: collapse;
}

.priceTable th,
.priceTable td {
    border: 1px solid #ccc;
    padding: 16px;
}

.priceTable th {
    background: #ffffe5;
    text-align: center;
    font-weight: bold;
}

.priceTable .price {
    width: 22%;
    text-align: center;
    font-weight: bold;
}

.priceTable .price span {
    font-size: 12px;
    font-weight: normal;
}

.menuList dt {
    color: #f27252;
}

@media screen and (max-width: 768px) {
    .text .imgL,
    .text .textArea {
        width: 100%;
        float: none;
    }

    .step {
        margin: 0 0 15px;
        padding: 0 0 10px;
        background: transparent url(../img/white/arrow.png) center bottom no-repeat;
        background-size: 146px;
    }

    .step.end {
        margin: 0;
        padding: 0;
        background: none;
    }

    .ex {
        margin: 0 0 30px;
    }

    .ex h5,
    .ex h4 {
        color: #f27252;
    }

    .priceTable,
    .deductionTable {
        width: 100%;
        border-collapse: collapse;
        border-spacing: 0;
    }

    .deductionTable {
        margin: 20px 0 30px;
    }

    .priceTable thead {
        width: 100%;
    }

    .priceTable th,
    .priceTable td,
    .deductionTable th,
    .deductionTable td {
        padding: 10px;
        border-top: 2px solid #777;
        border-bottom: 2px solid #777;
        box-sizing: border-box;
    }

    .priceTable th,
    .deductionTable th {
        background: #ffffe5;
    }

    .priceTable td {
        width: 65%;
    }

    .priceTable thead th:first-child {
        width: 35%;
    }

    .menuList dt {
        color: #f27252;
    }

    .priceTable .price,
    .deductionTable td {
        text-align: right;
    }
}

/*------------------------------------
コラム
------------------------------------ */
#main .text .title04 a {
    color: #f27252;
}

.pager {
    margin: 40px 0;
    text-align: center;
}

.pager li {
    display: inline;
}

#main .pager li a,
.pager li span,
#main .singlePager li a {
    display: inline-block;
    padding: 5px 10px;
    background: #f4ece5;
    text-decoration: none;
}

#main .pager li a:hover,
#main .singlePager li a:hover {
    color: #fff;
    background: #f27252;
}

.pager li span {
    background: #f27252;
    color: #fff;
}

.singlePager .next {
    float: right;
}

.singlePager .prev {
    float: left;
}

@media screen and (max-width: 768px) {
    .pager {
        margin: 3% 0 0;
    }
}

/*------------------------------------
噛み合わせタイプを調べる
------------------------------------ */
.checkWrap {
    width: 45%;
    float: left;
    margin: 0 20px 20px 0;
}

.checkWrap img {
    display: block;
    margin: 0 0 10px;
}

@media screen and (max-width: 768px) {
    .checkWrapList {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }

    .checkWrap {
        width: 48%;
        margin: 0 0 2% 0;
        float: none;
    }

    .checkWrap:nth-child(even) {
        margin: 0 0 2% 2%;
    }
}

/*------------------------------------
個人情報保護方針
------------------------------------ */
.privacyList {
    margin: 0 0 20px;
}

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

/*------------------------------------
診療時間
------------------------------------ */
.timeTable {
    width: 100%;
    border-collapse: collapse;
    margin: 0 0 30px;
}

.timeTable th,
.timeTable td {
    font-size: 18px;
    text-align: center;
    border: 1px solid #b25900;
    padding: 10px 0;
}

.timeTable td {
    width: 6%;
}

.timeTable thead th,
.timeTable thead td {
    background: #ffdebd;
}

.timeTable tbody th {
    background: #ffffe5;
}

@media screen and (max-width: 768px) {
    .timeTable th,
    .timeTable td {
        font-size: 14px;
    }
}

/*------------------------------------
矯正治療の流れ
------------------------------------ */
.flowTitle {
    font-size: 28px;
    color: #fff;
    margin: 0 0 8px;
    padding: 10px 0 16px 60px;
    background: url(../img/feature/title_bg01.png) no-repeat left;
}

.flowFirstTxt {
    margin: 0 0 40px;
    font-size: 16px;
}

#main .flowFrame a,
#main .flowFrame em {
    color: #f37254;
}

.flowList dt {
    background-color: #f6b579;
    height: 60px;
}

.flowList dt H2 {
    float: left;
    width: 300px;
}

.flowList .flowListNum {
    float: left;
}

.flowList .flowListTitle {
    float: left;
    font-size: 24px;
    font-weight: bold;
    color: #fff;
    line-height: 1;
    padding: 18px 0 0 0;
}

.flowList .flowListPrice {
    float: right;
    margin: 13px 20px 0 0;
    padding: 0 5px;
    float: right;
    font-size: 18px;
    font-weight: bold;
    color: #f37254;
    line-height: 34px;
    background-color: #fff;
    font-weight: lighter;
}

.flowList dd {
    background-image: url(../img/flow/to.png);
    background-position: center bottom;
    background-repeat: no-repeat;
    padding-bottom: 65px;
    margin-bottom: 34px;
}

.flowList dd:last-child {
    background-image: none;
    padding-bottom: 0;
    margin-bottom: 0;
}

.flowList .flowListContent {
    padding: 20px 30px;
    background-image: url(../img/flow/bg.png);
    background-position: top left;
    background-repeat: repeat;
}

.flowList .flowListContent p {
    font-size: 15px;
    line-height: 2;
    margin-bottom: 10px;
}

.flowList .flowListContent .img01,
.flowList .flowListContent .img02,
.flowList .flowListContent .img03,
.flowList .flowListContent .img04 {
    float: right;
}

.flowList .flowListContent .img01 {
    margin: -20px 0 10px 20px;
}

.flowList .flowListContent .img02 {
    margin: 10px 0 10px 30px;
}

.flowList .flowListContent .img03 {
    margin: 30px 0 10px 40px;
}

.flowList .flowListContent .img04 {
    margin: 6px 0 10px 40px;
}

.flowList .flowListContentBox {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px dotted #f6b579;
}

.flowList .flowListContentBox h4 {
    font-size: 18px;
    color: #f27253;
}

.flowList .flowListContentBox .note {
    font-size: 14px;
}

@media screen and (max-width: 768px) {
    .flowTitle {
        font-size: 18px;
        margin: 0 0 3%;
        padding: 3% 3% 3% 16%;
        background-color: #f57256;
        line-height: 1.5;
        border-radius: 5px;
    }

    .flowFirstTxt {
        margin: 0 0 5%;
        font-size: 14px;
        line-height: 1.38;
    }

    .flowList .flowListContent p {
        font-size: 14px;
        line-height: 1.38;
    }

    .flowList .flowListNum {
        width: 70%;
        height: auto;
    }

    .flowList dt H2 {
        width: 43px;
        display: block;
        margin: 18px 0 0 10px;
    }

    .flowList .flowListTitle {
        font-size: 16px;
        padding: 21px 0 0 0;
    }

    .flowList .flowListPrice {
        font-size: 12px;
    }

    .flowList .flowListContent {
        padding: 5%;
    }

    .flowList .flowListContent .img01,
    .flowList .flowListContent .img02 {
        width: 90%;
        margin: 5%;
        float: none;
    }

    .flowList dd {
        padding-bottom: 35px;
        margin-bottom: 20px;
    }
}

/*------------------------------------
採用情報
------------------------------------ */
.recruitTable {
    margin-bottom: 30px;
}

.recContainer01 {
    background: url(../img/feature/feature_bg01.png) right top no-repeat;
    margin: 0 0 10px;
}

.recruitTable td.fs-m {
    padding: 10px;
    text-align: left;
}
.recruitTable td.fs-l {
    padding: 10px;
}

@media screen and (max-width: 768px) {
    .recruitTable th {
        background-color: #eee;
        padding: 5px 10px;
    }

    .recruitTable td {
        /*padding: 5px 10px;*/
    }
}

/*------------------------------------
サイトメニュー
------------------------------------ */
.siteMenu .footList {
    width: 50%;
}

.siteMenu .listWrap {
    margin: 0 0 30px;
}

@media screen and (max-width: 768px) {
    .siteMenu .listWrap {
        border-bottom: #e5e5e5 1px solid;
        margin: 0;
    }

    .footList02,
    .footList04 {
        border-left: #e5e5e5 1px solid;
    }

    .footList .ico {
        padding: 3% 0 0 9%;
    }

    .lNavi li a,
    .siteMenu li a {
        display: block;
        background-size: 12px;
        text-decoration: none;
        padding: 5px 0;
        color: #444;
    }

    .lNavi .ac {
        background: #999987;
        /* Old browsers */
        /* FF3.6+ */
        /* Chrome,Safari4+ */
        /* Chrome10+,Safari5.1+ */
        /* Opera 11.10+ */
        /* IE10+ */
        background: linear-gradient(to bottom, #999987 0%, #909087 100%);
        /* W3C */
        filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#999987', endColorstr='#909087', GradientType=0);
        /* IE6-9 */
    }

    .lNavi .ac a {
        background-image: url(../img/common/ico_arrow02.png);
        color: #fff;
    }

    .siteMenu .title {
        padding: 10px 20px;
        background: #ccc;
        /*font-size:32px;*/
        font-size: 14px;
        text-shadow: 1px 1px 1px #fff;
        color: #444;
    }
}

/*------------------------------------
ブログ
------------------------------------ */
.article {
    margin: 0 0 50px;
}

.blogHeader .title04 {
    margin-bottom: 10px;
}

.blogHeader .date {
    text-align: right;
}

.article .articleText {
    margin: 0 0 30px;
    font-size: 117%;
    line-height: 1.6;
}

.article .articleText p,
.article .articleText > div {
    margin: 0 0 1em;
}

.article .articleText img {
    max-width: 715px;
    height: auto;
}

.article .articleText .thumb {
    float: left;
    margin: 0 1em 1em 0;
}

.article .thumb {
    float: left;
    margin: 0 1em 1em 0;
}

.article .articleText .more {
    margin: 15px 0 0;
    text-align: right;
}

#main .article .more a {
    display: inline-block;
    padding: 6px 10px;
    background: #f27252;
    color: #fff;
}

.article .blogFooter {
    padding: 10px 0 0 0;
    border-top: 1px dotted #000;
}

.article .blogFooter p {
    float: left;
}

.article .blogFooter .post-categories {
    float: left;
}

.article .blogFooter .wp_social_bookmarking_light,
.wp_social_bookmarking_light {
    float: right;
    padding: 0 !important;
    margin: 0 0 10px !important;
}

#aside .staffBlog {
    margin: 0 0 35px;
}

#aside .staffBlog .archiveTitle {
    margin: 35px 0 10px;
    padding: 0 0 8px 38px;
    background: transparent url(../img/common/ico_side.png) 0 0 no-repeat;
    border-bottom: 1px solid #f57256;
    font-size: 117%;
}

#aside .staffBlog .archiveList li {
    border-top: 1px dotted #ccc;
}

#aside .staffBlog .archiveList li:first-child {
    border-top: none;
}

#aside .staffBlog .archiveList li a {
    display: block;
    padding: 10px 0;
    color: #666;
}

#aside .staffBlog .archiveList li a:link,
#aside .staffBlog .archiveList li a:visited {
    text-decoration: none;
}

#aside .staffBlog .archiveList li a:hover,
#aside .staffBlog .archiveList li a:active {
    text-decoration: underline;
}

#aside .blogBtn a {
    background: url(/img/common/arrow_01.png) no-repeat center right 10px #ffcc99;
    background-size: 8px;
    color: #f56d52;
    padding: 8px 15px 8px 0;
    display: block;
    width: 100%;
    box-sizing: border-box;
    text-decoration: none;
    text-align: center;
    font-size: 16px;
    transition: all 0.2s;
}

#aside .blogBtn a:hover {
    opacity: 0.8;
    transition: all 0.2s;
}

@media screen and (max-width: 768px) {
    .articleBlock {
        margin: 0 0 2em;
    }

    .blogArchive .articleBlock {
        margin: 0 0 3em;
    }

    .heading03 a {
        color: #f57256;
    }

    .blogHeader {
        margin: 0 0 1em;
    }

    .blogHeader .date:after {
        padding: 0 0 0 6px;
        content: '\007C';
    }

    .blogHeader .date,
    .blogHeader .post-categories,
    .blogHeader .post-categories li {
        display: inline-block;
        margin: 0 5px 0 0;
    }

    .articleBlock .articleText {
        margin: 1em 0;
        font-size: 117%;
        line-height: 1.6;
    }

    .articleBlock .articleText p {
        margin: 0 0 1em;
    }

    .articleBlock .more a {
        display: block;
        padding: 0.5em 0;
        background: #f57256;
        text-align: center;
        font-size: 117%;
        color: #fff;
    }

    .articleBlock .articleText .thumb {
        float: left;
        margin: 0 1em 1em 0;
        width: 30%;
        height: auto;
        max-width: 100%;
    }

    .article .articleText img {
        max-width: auto;
        width: 100%;
    }

    /*blog*/
    .page-numbers {
        text-align: center;
    }

    .pager li {
        display: inline-block;
    }

    .pager li span {
        background: #f27252;
        color: #fff;
        padding: 8px 10px;
    }

    .pager li a {
        display: inline-block;
        padding: 5px 10px;
        background: #f4ece5;
        text-decoration: none;
        color: #c00;
    }

    .pager li .dots {
        background: none;
        color: #000;
        padding: 8px 3px;
    }

    .article {
        margin: 0 0 6%;
    }

    .article .blogFooter {
        padding: 10px 0 0 0;
        border-top: 1px dotted #000;
    }

    .article .blogFooter p {
        float: left;
    }

    .article .articleText {
        margin: 0 0 3%;
    }

    .article .blogFooter .post-categories {
        float: none;
        margin: 0 0 2%;
    }

    #main .article .more a {
        padding: 2% 5%;
        text-decoration: none;
    }

    .article .blogFooter .post-categories li {
        display: inline-block;
    }

    .article .blogFooter .post-categories li::after {
        content: '、';
    }

    .article .blogFooter .post-categories li:last-child::after {
        content: none;
    }

    .wp_social_bookmarking_light {
        float: none;
        padding: 0 !important;
    }

    .wp_social_bookmarking_light_clear {
        display: none;
    }

    .wsbl_twitter {
        width: auto !important;
    }

    #aside .staffBlog {
        margin: 6% 0;
    }

    #aside .sideBlogTitle {
        margin: 3% 0 0;
    }

    #aside .blogBtn {
        margin: 3% 0 3%;
    }

    #aside .feedList a {
        padding: 3%;
    }

    #aside .feedList img {
        display: none;
    }
}

/*------------------------------------
設備紹介 / 院長紹介
------------------------------------ */
.xrayImg {
    margin: 20px 0 0 0;
}

@media screen and (max-width: 768px) {
    ul.about li {
        margin: 18px 0;
        line-height: 110%;
    }

    ul.about {
        padding-bottom: 20px;
    }
}

/*------------------------------------
clearfix
------------------------------------ */
.cf:after,
.inner:after,
#gNavi ul:after,
.schedule .detail li:after,
.container:after,
.wrapper:after,
.wp_social_bookmarking_light:after {
    content: '.';
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
    font-size: 0;
    line-height: 0;
}

.cf,
.inner,
#gNavi ul,
.schedule .detail li,
.container,
.wrapper,
.wp_social_bookmarking_light {
    display: inline-block;
}

/* \*/
.cf,
.inner,
#gNavi ul,
.schedule .detail li,
.container,
.wrapper {
    display: block;
}

/* */
@media screen and (max-width: 768px) {
    #gNavi ul {
        width: 100%;
    }

    .container {
        margin: 0 0 6%;
    }

    .container:last-child {
        margin: 0;
    }
}

/*sns*/
.wsbl_twitter {
    width: auto !important;
}

.wp_social_bookmarking_light div:last-child {
    margin: 0 !important;
}

@media screen and (max-width: 768px) {
    .wp_social_bookmarking_light .wsbl_facebook_like {
        width: 72px;
    }
}

/*------------------------------------
アクセス
------------------------------------ */
@media screen and (max-width: 768px) {
    .route li {
        margin: 0 0 10px;
        padding: 10px;
        width: 100%;
        background: #ffffbf;
        box-sizing: border-box;
    }

    .route li:nth-child(odd) {
        float: left;
    }

    .route li:nth-child(even) {
        float: right;
    }

    .route dl {
        height: auto !important;
    }

    .route li:last-child dl {
        height: 350px;
    }

    .route dt {
        text-align: center;
    }

    #map {
        height: 440px;
    }
}

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

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

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

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

/* 2022.02.02 追加 料金表 */
.priceMenueTable {
    margin-bottom: 30px;
}

table {
    border-collapse: collapse;
    width: 100%;
    font-size: 13px;
    margin-bottom: 10px;
}

table thead th {
    font-weight: bold;
}

table th,
td {
    border: 1px solid black;
}

table th {
    text-align: center;
    background: #e2efdb;
    padding: 3px;
}

table tr {
    text-align: center;
}

table tr th.left {
    text-align: left;
}

@media screen and (max-width: 768px) {
    table {
        font-size: 12px;
    }

    .priceMenueTable {
        overflow-x: scroll;
        white-space: nowrap;
        margin-bottom: 7%;
    }

    table th,
    td {
        padding: 4px;
    }
}

/*--------------------------------------------
おすすめ記事
--------------------------------------------*/

.relation {
    margin: 50px 0 0;
}

.relation .relationTitle {
    border-top: #f27252 2px solid;
    border-bottom: #f27252 1px solid;
    color: #30424f;
    text-align: center;
    font-size: 18px;
    padding: 15px 0;
    margin: 0 0 20px;
}

.relation .flexBox {
    display: flex;
    flex-wrap: wrap;
}

.relation .flexBox article {
    width: 31%;
    border: #f27252 1px solid;
    padding: 10px 10px 20px;
    box-sizing: border-box;
    position: relative;
    margin: 0 0 10px;
    border-bottom: #f27252 1px solid;
}

.relation .flexBox article:nth-child(3n + 1),
.relation .flexBox article:nth-child(3n + 2) {
    margin: 0 16px 18px 0;
}

.relation .flexBox article a {
    width: 100%;
    color: #222;
    text-decoration: none;
    padding: 0 8px 6px 0;
    display: inline-block;
}

.relation .flexBox article:hover {
    background: #fafafa;
}

#blogBox .relation article h3.title02 {
    font-size: 20px;
    padding: 15px 0 5px;
    line-height: 1.5;
    color: #6a433a;
}

.relation .flexBox .articlePhoto {
    width: 100%;
    height: 120px;
    overflow: hidden;
    position: relative;
}

.relation .flexBox .articlePhoto img {
    position: absolute;
    width: 100%;
    height: auto;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.relation .flexBox .articleTxt {
    position: relative;
    bottom: 8px;
}

.relation .flexBox .articleTxt a:hover {
    text-decoration: underline;
}

.relation .flexBox li,
.relation .flexBox .articleTxt a {
    color: #777;
    font-size: 12px;
    line-height: 1;
}

.relation .flexBox .articleTxt .post-categories li {
    display: inline-block;
}

@media screen and (max-width: 768px) {
    .relation {
        margin: 4% 0 8%;
    }

    .relation .flexBox article {
        width: 100%;
    }

    .relation .flexBox .articlePhoto {
        width: 100%;
        height: 40vw;
    }

    .relation .page-numbers .page-numbers {
        padding: 7px 12px;
        font-size: 12px;
        margin: 2px;
    }

    .relation .relation {
        margin: 4% 0 8%;
    }

    .relation .flexBox article:nth-child(3n + 1),
    .relation .flexBox article:nth-child(3n + 2) {
        margin: 0 0 4% 0;
    }

    .relation .flexBox article a {
        width: 100%;
        padding: 0;
    }
}
