@charset "utf-8";
/* *****************************************************
    13px / Regular 400

    ExtraLight      100;
    Light           200;
    Normal          300;
    Regular         400;
    Medium          500;
    bold            600;
    Heavy           700;

****************************************************** */

html {}

.left {
    float: left;
    display: inline;
}

.right {
    float: right;
    display: inline;
}

/*------------------------*/
.right2 {
    float: right;
    padding-right: 80px;
    padding-bottom: 30px;
}

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

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

.ta_left {
    text-align: left;
}

.ta_right {
    text-align: right;
}

.v_middle {
    vertical-align: middle;
}

/*.clearfix:after {
	content:"";
	display:block;
	clear:both;
}*/
.clearfix {
    zoom: 1;
}

.clearfix:after {
    content: "";
    display: block;
    clear: both;
}

body {
    font-family: "GenJyuuGothic", sans-serif;
    font-weight: 400;
    line-height: 1.85;
    min-width: 1200px;
    background: #fafafa;
    color: #333333;
    font-size: 14px;
}

html .fixBtn a.fixbtn_reserv {
    position: fixed;
    right: 20px;
    bottom: 15px;
    backface-visibility: hidden;
    z-index: 18;
    background-color: #e8798a;
    color: #fff;
    border-radius: 2rem;
    padding: 10px 20px;
    text-align: center;
    line-height: 1.5;
}


html .fixBtn a.fixbtn_reserv:hover {
    opacity: 0.7;
}

a {
    color: #e8798a;
    text-decoration: none;
    border: none;

    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

a .bl {
    color: #333;
    text-decoration: none;
    border: none;

    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

a:hover {
    color: #f7637a;
}

a img {
    -webkit-transition: opacity 0.5s ease;
    -moz-transition: opacity 0.5s ease;
    -o-transition: opacity 0.5s ease;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    margin-bottom: 20px;
}

a:hover img {
    opacity: 0.5;
}

img {
    vertical-align: top;
}

/******************************************************

    home

******************************************************/
#wrap {
    padding-top: 70px;
}

header {
    position: fixed;
    left: 0;
    top: 0;
    border-top: #e8798a solid 5px;
    border-bottom: #e4e4e4 solid 1px;
    height: 70px;
    width: 100%;
    min-width: 1200px;
    background: #fff;
    z-index: 1000;
}

.headerContents {
    max-width: 1200px;
    margin: 0 auto;
    overflow: hidden;
}

.logo {
    float: left;
    padding: 12px 0;
}

.logo-02 {
    width: 150px;
    float: left;
    height: 70px;
    display: flex;
    align-items: center;
    margin-left: 10px;
}

.logo-02 img {
    width: 100%;
    height: auto;
}

.logo-02 a img {
    margin-bottom: 0;
}

.job-site {
    max-width: 50px;
    width: 100%;
    float: left;
    height: 54px;
    margin: 10px;
    line-height: 1.5;
    text-align: center;
}

.job-site:hover{
    background: #e1f8ff;
    color: #0f84e1;
}

.job-site span {
    display: flex;
    width: 100%;
    justify-content: center;
    align-items: center;
    height: 100%;
    color: #0f84e1;
    border: 1.8px solid #0f84e1;
}

.dental-width.dental-width2 img {
    width: auto;
    height: 122px;
}

a.contact {
    float: right;
    display: block;
    line-height: 70px;
    border-left: #e8798a dotted 1px;
    border-right: #e8798a dotted 1px;
    padding-left: 50px;
    background-color: #fff;
    text-indent: 0;
    position: relative;
    text-decoration: none;
}

a.contact:before {
    font-family: "icomoon";
    content: "\ebd6";
    position: absolute;
    left: 20px;
    font-size: 20px;
}

a.contact span {
    font-size: 11px;
    margin-right: 15px;
    margin-left: 10px;
}

a.contact:hover {
    background-color: #ffeef0;
}

.f-phone {
    float: right;
    font-size: 20px;
    font-weight: 500;
    line-height: 70px;
    margin-right: 10px;
}

.f-phone a {
    color: #333;
}

.f-phone span {
    padding-right: 5px;
    float: left;
    line-height: 75px;
}

.f-phone small {
    font-size: 11px;
    font-weight: 400;
    float: right;
    padding-left: 10px;
}

.gallery {
    position: relative;
    height: 110px;
    width: 100%;
    overflow: hidden;
}

.gallery ul {
    position: absolute;
    left: 0;
    top: 0;
}

.gallery ul li {
    float: left;
}

article.wideContent {
    width: 100%;
    overflow: hidden;
    text-align: center;
    padding-bottom: 100px;
}

article.sdg-content {
    padding-bottom: 0px;
}

.wideInner {
    width: 1000px;
    margin: 0 auto 40px;
    overflow: hidden;
}

article.wideContent .seal {
    max-width: 490px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    margin: 0 auto;
    align-items: center;
}

article.wideContent .seal .seal-img:first-child {
    width: 45%;
}

article.wideContent .seal .seal-img {
    width: 48%;
}

article.wideContent .seal .seal-img img {
    width: 100%;
    height: auto;
}

.pageIcon {
    display: block;
    margin: 100px auto 50px;
    width: 70px;
    height: 70px;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    background: #fff;
    border: #e8798a solid 2px;
    box-sizing: border-box;
    overflow: hidden;
}

article.wideContent h2 {
    font-size: 26px;
    font-weight: 500;
    color: #e8798a;
    line-height: 1.5;
    padding-bottom: 25px;
}

article.wideContent h2.guide-ttl {
    font-size: 26px;
}

article.wideContent h2+p,
article.wideContent h3+p {
    width: 780px;
    margin: 0 auto 40px;
}

.doctor {
    display: block;
    margin-bottom: 50px;
}

.line {
    background: #fdfdfd;
    line-height: 55px;
    color: #e8798a;
    /*font-size: 16px;*/
    font-size: 24px;
    font-weight: 500;
    border-top: #e8798a dotted 1px;
    border-bottom: #e8798a dotted 1px;
    margin-bottom: 50px;
}

footer .line {
    text-align: center;
    margin-bottom: 0px;
    margin-top: 20px;
}

.conceptNav li {
    width: 100%;
    height: 460px;
    overflow: hidden;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: auto 100%;
    position: relative;
}

.conceptNav li.child-1 {
    background-image: url(../img/home/wide_img05.webp);
}

.conceptNav li.child-2 {
    background-image: url(../img/home/wide_img01.webp);
}

.conceptNav li.child-3 {
    background-image: url(../img/home/wide_img02.webp);
}

.conceptNav li.child-4 {
    background-position: 50% 50%;
    background-image: url(../img/home/wide_img03.webp);
}

.conceptNav li.child-5 {
    background-image: url(../img/home/wide_img04.webp);
}

/*add 20190702*/
/*.conceptNav.add li:nth-child(1){
    background-image:url(../img/home/wide_img06.webp);
    height: 530px;
}
.conceptNav.add li:nth-child(2){
    background-image:unset;
    background-color: #fafafa;
}
.conceptNav.add li:nth-child(2) dl {
    display: inline-block;
    float: left;
}
.conceptNav.add li:nth-child(2) .recruit_yt {
    display: inline-block;
    margin-left: 495px;
    margin-top: 30px;
    width: 700px;
}
.conceptNav.add li:nth-child(2) .recruit_yt iframe{
    width: 100%;
    height: 395px;
}*/
.conceptNav.add li.child-3 {
    background-image: url(../img/home/wide_img08.webp);
    /*height: 640px;*/
    background-position: 50% 50%;
}

.conceptNav.add li.child-4 {
    background-position: 40% 50%;
    background-image: url(../img/home/wide_img07.webp);
    height: 600px;
}

/*.conceptNav.add li:nth-child(1) dl {
    height: 457px;
}*/
.conceptNav.add li.child-3 dl {
    height: 600px;
    margin-left: 210px;
}

.conceptNav.add li.child-4 dl {
    height: 550px;
}

/*add 20190702*/
.conceptNav li dl {
    width: 400px;
    height: 400px;
    margin: 30px 0;
    position: relative;
    left: 50%;
    text-align: center;
    overflow: hidden;
}

.conceptNav li:nth-child(2n-1) dl {
    margin-left: -600px;
}

.conceptNav li:nth-child(2n) dl {
    margin-left: 200px;
}

.conceptNav li dl:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    opacity: 0.5;
}

.conceptNav li dl:after {
    content: "";
    position: absolute;
    left: 2%;
    top: 2%;
    width: 96%;
    height: 96%;
    background: #fff;
    opacity: 0.8;
}

.conceptNav li dl dt {
    font-size: 23px;
    color: #e8798a;
    padding-top: 60px;
    margin-bottom: 28px;
    position: relative;
    z-index: 10;
}

.conceptNav li dl p {
    width: 260px;
    margin: 0 auto 30px;
    text-align: left;
    position: relative;
    z-index: 10;
}

.conceptNav li dl p a {
    text-decoration: underline;
}

.btn01 {
    display: inline-block;
    width: 230px;
    height: 50px;
    background: #fff;
    line-height: 50px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    border: #e8798a dotted 1px;
    position: relative;
    z-index: 10;
    font-weight: 500;
    text-align: center;
}

.btn01.s-btn01 {
    width: 260px;
    margin-right: 5px;
}

.btn01:hover {
    background: #ffeef0;
}

.btn01:after {
    content: "\e900";
    font-family: "icomoon";
    font-size: 10px;
    line-height: 60px;
    position: absolute;
    padding-left: 10px;
    font-weight: 400;
}

.dental-width ul li:nth-of-type(2) .btn01::after {
    line-height: 32px !important;
}

.btn02 {
    width: auto;
    height: auto;
    line-height: 1.7;
    padding: 15px 60px;
}

.btn02:after {
    line-height: 0;
}

.bannersBox {
    margin: 80px auto;
    width: 820px;
    padding: 20px;
    overflow: hidden;
    box-sizing: border-box;
    border: #e8798a solid 1px;
    background: #fdfdfd;
}

.bannersBox.bdr-none {
    border: none;
    background: none;
}

.bannersBox li {
    text-align: left;
    /* padding: 22px; */
    height: 112px;
    box-sizing: border-box;
    position: relative;
    border: #e8798a solid 1px;
}

.bannersBox li a {
    /* border: #e8798a solid 1px; */
    box-sizing: border-box;
    padding: 22px;
}

.bannersBox li:after {
    content: "\e901";
    font-family: "icomoon";
    position: absolute;
    right: 8px;
    top: 8px;
    color: #e8798a;
    line-height: 1;
    font-size: 10px;
}

.bannersBox li strong {
    font-size: 18px;
    font-weight: 500;
    color: #e8798a;
    line-height: 1;
}

.bannersBox li p {
    font-size: 12px;
    line-height: 20px;
    color: #333333;
}

.bannersBox li.bnr-1 {
    background: #fff url(../img/home/banner_bg01.webp) no-repeat right top / auto 100%;
    margin-bottom: 20px;
}

.bannersBox li.bnr-2 {
    background: #fff8f8 url(../img/home/banner_bg02.webp) no-repeat 100% 0 / auto 100%;
    width: 380px;
}

.bannersBox li.bnr-3 {
    background: #fff8f8 url(../img/home/banner_bg03.webp) no-repeat right top / auto 100%;
    width: 380px;
}

.clickable {
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: 100;
}

.guideList .clickable {
    position: unset;
}

.clickable:hover {
    background: rgba(250, 250, 250, 0.5);
}

.guideTxt {
    font-size: 16px;
    color: #e8798a;
    font-weight: 500;
    padding-bottom: 10px;
    border-bottom: #e8798a dotted 1px;
    text-align: left;
}

.guideTxt span {
    font-size: 13px;
    color: #333;
    padding-left: 20px;
    margin-left: 20px;
    border-left: #e87889 dotted 1px;
    line-height: 1;
}

.guideList {
    /* display: flex;
    justify-content: center; */
    width: 100%;
    margin: 35px 0 100px;
}
.guideList.guideList_new{
    display: flex;
justify-content: space-between;
}


.guideList:after {
    content: "";
    display: block;
    clear: both;
}

.guideList.guideList_new::after {
    display: none;
}

.video {
    width: 560px;
    height: 315px;
    margin: 0 auto;
}

.video iframe {
    width: 100%;
    height: 100%;
}

.guideList li {
    width: 25%;
    float: left;
    position: relative;
}

.guideList li img {
    position: relative;
    z-index: 10;
    margin-bottom: 0;
}

.guideList li span {
    display: inline-block;
    width: 180px;
    height: 180px;
    box-sizing: border-box;
    border: #e87889 solid 1px;
    opacity: 0;
    left: 35px;
    top: 0;
    border-radius: 50%;
    background: #fff;
    position: absolute;

    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;

    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.guideList li:hover span {
    width: 200px;
    height: 200px;
    opacity: 1;
    left: 25px;
    top: -10px;
}

.guideList li dt {
    font-size: 16px;
    color: #e8798a;
    font-weight: 500;
    margin: 25px 0 10px;
    line-height: 1.5;
}

.guideList li dd {
    width: 210px;
    margin: 0 auto;
    color: #333333;
}

.guideList.triple {
    width: 100%;
    padding: 0 12.5%;
}

.guideList01.triple {
    padding: 0 0%;
}

.pinkBox {
    background: #e8798a;
    padding: 35px 0;
    margin-bottom: 100px;
}

.pinkBox h3 {
    font-size: 16px;
    color: #fef9e1;
    font-weight: 500;
    line-height: 1;
    width: 1000px;
    padding-bottom: 30px;
    margin: 0 auto 30px;
    border-bottom: #fef9e1 dotted 1px;
}

.pinkBox p {
    color: #fef9e1;
    margin-bottom: 0 !important;
    width: 900px;
}

.newsList {
    width: 950px;
    margin: 0 auto 60px;
    border-top: #333 dotted 1px;
    overflow: scroll;
    overflow-x: hidden;
    height: 300px;
}

.newsList li {
    border-bottom: #333 dotted 1px;
    width: 100%;
    overflow: hidden;
    position: relative;
    padding: 15px 0;
}

.newsList li time {
    float: left;
    color: #e8798a;
    padding: 0 25px;
    line-height: 1.5;
}

.newsList li time+div {
    text-align: left;
    line-height: 1.5;
    margin: 0 60px 0 120px;
}

.newsList li time+div strong {
    font-weight: bold;
    color: #e8798a;
}

/*
.newsList li a:after{
    content: "\e901";
    font-family:"icomoon";
    position: absolute;
    right: 15px;
    font-size: 10px;
}
*/

.bns_sns {
    width: 820px;
    margin: 0 auto 0 100px;
    overflow: hidden;
}

.bnsList {
    float: left;
    width: 388px;
}

.bnsList li {
    position: relative;
    width: 100%;
    height: 100px;
    line-height: 100px;
    text-align: left;
}

.bnsList li a {
    border: #e8798a solid 1px;
    box-sizing: border-box;
}

.bnsList li:after {
    content: "\e901";
    font-family: "icomoon";
    position: absolute;
    right: 8px;
    top: 8px;
    color: #e8798a;
    line-height: 1;
    font-size: 10px;
}

.bnsList li strong {
    font-size: 16px;
    font-weight: 500;
    color: #e8798a;
    line-height: 1;
    padding-left: 30px;
}

.bnsList li strong.staff {
    display: block;
    padding-top: 35px;
    padding-left: 30px;
    line-height: 1em;
}

.bnsList li:nth-child(1) {
    background: #fff url(../img/home/banner_bg04.webp) no-repeat right top / auto 100%;
    margin-bottom: 20px;
}

.bnsList li:nth-child(2) {
    background: #fff url(../img/home/banner_bg05_2.webp) no-repeat right top / auto 100%;
    margin-bottom: 20px;
}

.bnsList li:nth-child(3) {
    background: #fff url(../img/home/banner_bg05_3.webp) no-repeat right top / auto 100%;
}

.facebook {
    float: left;
    width: 390px;
}

.calendarBox {
    width: 800px;
    overflow: hidden;
    margin: 0 auto;
}

.calendar {
    width: 350px;
    text-align: center;
    overflow: hidden;
}

.calendar strong {
    font-size: 17px;
    font-weight: 500;
    display: block;
    padding-bottom: 15px;
    border-bottom: #333 solid 1px;
    margin-bottom: 1px;
}

.calendar table {
    width: 100%;
    table-layout: fixed;
    text-align: center;
    border-collapse: separate;
}

.calendar table th {
    font-size: 10px;
    padding: 6px 0;
    vertical-align: middle;
    border-top: #333 solid 1px;
    border-bottom: #333 solid 2px !important;
    font-weight: 500;
    line-height: 1.2;
    vertical-align: middle;
}

.calendar table th span {
    display: block;
    font-size: 13px;
    font-weight: 500;
}

.calendar table td {
    height: 50px;
    padding-top: 10px;
    border-bottom: #333 dotted 1px;
    font-weight: 500;
    position: relative;
}

.calendar table td.night {
    /*     color: #fff; */
}

.calendar table td.night:after {
    content: "";
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #e6e7f1;
    position: absolute;
    left: 50%;
    top: 7px;
    margin-left: -15px;
    z-index: -1;
}

.calendar table td.night:before {
    content: "19時まで";
    font-size: 10px;
    font-weight: 300;
    color: #000689;
    position: absolute;
    left: 0;
    bottom: 2px;
    width: 100%;
    text-align: center;
    letter-spacing: -0.05em;
}

.calendar table td#time15.night:before {
    content: "15時まで";
}

.calendar table td:nth-child(7),
.calendar table th:nth-child(7) {
    color: #274e82;
}

/*
.calendar table td.sat:after{
    content: "";
    width: 30px;
    height: 30px;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    background: #274e82;
    position:absolute;
    left: 6px;
    top: 7px;
    z-index: -1;
}
*/
.calendar table th:nth-child(1) {
    color: #cd424e;
}

.calendar table td.holiday {
    color: #cd424e;
}

.calendar table td.rest {
    color: #fff !important;
}

.calendar table td.rest:after {
    content: "";
    width: 30px;
    height: 30px;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    background: #cd424e;
    position: absolute;
    left: 50%;
    top: 7px;
    margin-left: -15px;
    z-index: -1;
}

.calendar table td.rest:before {
    content: "休診日";
    font-size: 10px;
    font-weight: 300;
    color: #cd424e;
    position: absolute;
    left: 0;
    bottom: 2px;
    width: 100%;
    text-align: center;
}

.attention {
    clear: both;
    text-align: left;
    padding-top: 25px;
    color: #cd424e;
    font-weight: 500;
}

.attention+small {
    text-align: left;
    margin-left: 0;
    display: block;
    font-size: 11px;
    line-height: 1.5;
}

.six-banners-box {
    width: 100%;
    padding: 25px 0 0 25px;
    box-sizing: border-box;
    overflow: hidden;
    margin-top: 100px;
    background: #fff;
}

.six-banners-box li {
    float: left;
    text-align: center;
    padding: 0;
    padding-right: 25px;
    padding-bottom: 25px;
}

.six-banners-box.bottom {
    margin-top: 0;
    padding-top: 0;
    text-align: center;
}

/*.six-banners-box.bottom li{
    float: none;
    display: inline-block;
}*/

.topLink {
    width: 100%;
    max-width: 1200px;
    overflow: hidden;
    margin: 0 auto;
}

.topLink a {
    float: right;
    width: 140px;
    height: 45px;
    background: #fff;
    display: block;
    text-align: center;
    line-height: 45px;
    border: #e8798a solid 1px;
    border-bottom: 0;
}

.topLink a span {
    padding-left: 10px;
}

footer {
    background: #e8798a;
}

.footerContent {
    width: 1000px;
    margin: 0 auto;
    padding: 50px 0;
    color: #fff;
}

.f-data {
    float: left;
    width: 50%;
    padding-bottom: 80px;
}

.f-data ul {
    padding-top: 40px;
}

.f-data ul li {
    width: 100%;
    overflow: hidden;
}

.f-data ul li span {
    float: left;
}

.f-data ul li p {
    margin-left: 90px;
}

.f-data ul li p a {
    color: #fff;
}

.f-hours {
    float: right;
    padding-top: 20px;
    padding-bottom: 80px;
}

.phoneNum {
    width: 430px;
    overflow: hidden;
    color: #fef9e1;
}

.phoneNum small {
    float: left;
    display: inline-block;
    font-size: 12px;
    line-height: 1.5;
}

.phoneNum em {
    margin-left: 95px;
    font-style: normal;
    font-size: 38px;
    display: block;
    line-height: 1;
    letter-spacing: 8px;
}

.phoneNum em a {
    color: #fef9e1;
}

.timetable {
    width: 430px;
    text-align: left;
    margin-top: 30px;
}

.timetable th {
    width: 150px;
    border-bottom: #fef9e1 dotted 1px;
    color: #fef9e1;
    padding: 5px 0;
}

.timetable td {
    border-bottom: #fef9e1 dotted 1px;
    color: #fef9e1;
    padding: 5px 0;
    text-align: center;
}

.f-linklist {
    clear: both;
    width: 100%;
    overflow: hidden;
    border-top: #f4bcc5 dotted 1px;
    padding-top: 40px;
}

.f-linklist dl {
    float: left;
    padding: 0 30px;
    box-sizing: border-box;
    width: 20%;
    border-left: #f4bcc5 dotted 1px;
}

.f-linklist dl:nth-child(1) {
    width: 40%;
    border-left: 0;
}

.f-linklist dl dt {
    font-size: 15px;
    color: #fef9e1;
    font-weight: 500;
    padding-bottom: 20px;
}

.f-linklist dl dd {
    width: 100%;
    overflow: hidden;
}

.f-linklist ul {
    float: left;
    padding-right: 30px;
}

.f-linklist ul li {
    line-height: 2;
}

.f-linklist a {
    color: #fff;
    font-size: 12px;
    font-weight: 300;
}

.f-linklist a:before {
    content: "\e903";
    font-family: "icomoon";
    font-size: 8px;
    color: #fff;
    padding-right: 5px;
}

.f-linklist a:hover {
    color: #fef9e1;
}

#map_canvas {
    width: 100%;
    height: 600px;
}

.CopyrightBox {
    width: 100%;
    background: #fff;
    color: #e8798a;
    font-size: 10px;
    line-height: 40px;
    overflow: hidden;
}

.CopyrightBox li {
    float: left;
    padding-left: 10px;
}

.CopyrightBox li a:before {
    content: "\e903";
    font-family: "icomoon";
    font-size: 8px;
    padding-right: 5px;
}

.CopyrightBox p {
    float: right;
    padding-right: 10px;
}

#home .CopyrightBox li:first-child {
    display: none;
}

#home .col-02.sec-top .col dl {
    display: block;
}

#home .txt-center,
#home .col-02.sec-top .col dl dd {
    text-align: center;
    margin: 0 auto;
}

#home .col-02.sec-top .col dl dt {
    width: 100%;
    text-align: center;
}

#home .col-02.sec-top .col dl.news2_top {
    display: flex;
}

#home .col-02.sec-top .col dl.news2_top dt {
    width: 100px;
}

#home .col-02.sec-top .col dl.news2_top dd {
    width: calc(100% - 100px);
    text-align: left;
}

/******************************************************

    sub pages

******************************************************/

.maintitle {
    width: 100%;
    height: 215px;
    background-repeat: no-repeat;
    background-position: right center;
    background-size: cover;
}

.maintitle h1 {
    width: 100%;
    min-width: 1000px;
    max-width: 1200px;
    margin: 0 auto;
    font-size: 23px;
    padding-top: 90px;
    line-height: 1;
}

.Breadcrumb {
    width: 100%;
    overflow: hidden;
    max-width: 1200px;
    margin: 30px auto 60px;
    font-size: 11px;
}

.Breadcrumb li {
    float: left;
}

.Breadcrumb li a:after {
    content: "\edbb";
    font-family: "icomoon";
    color: #666;
    margin: 0 10px;
}

.narrowContent {
    width: 1000px;
    overflow: hidden;
    margin: 0 auto;
}

.mainContents {
    float: left;
    width: 750px;
}

aside {
    float: right;
    width: 200px;
}

aside dl {
    margin-bottom: 40px;
}

aside dl dt {
    background: #e8798a;
    height: 50px;
    text-align: center;
    line-height: 50px;
    font-size: 14px;
    color: #fef9e1;
    font-weight: 300;
}

/*change 20190808*/
aside dl dd a {
    display: block;
    background: #fff;
    line-height: 1.5;
    position: relative;
    padding: 14px 30px 15px 20px;
    font-size: 14px;
    font-weight: 300;
}

/*change 20190808*/
aside dl dd a:hover {
    background: #ffeef0;
}

aside dl dd a:before {
    content: "";
    position: absolute;
    width: 90%;
    height: 1px;
    left: 5%;
    bottom: 0;
    border-bottom: #e8798a dotted 1px;
}

aside dl dd a:after {
    content: "\edbb";
    font-family: "icomoon";
    color: #e8798a;
    font-size: 14px;
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
}

aside dl ul li:last-child a:before {
    content: none;
}

.sideBns li {
    position: relative;
    width: 100%;
    height: 75px;
    overflow: hidden;
    margin-bottom: 20px;
}

.sideBns li span {
    line-height: 75px;
    color: #e8798a;
    font-size: 14px;
    font-weight: 500;
    padding-left: 5px;
}

.sideBns li span.staff {
    display: block;
    line-height: 1.5em;
    padding-top: 18px;
}

.sideBns li a {
    border: #e8798a solid 1px;
    box-sizing: border-box;
}

.sideBns li:nth-child(1) {
    background: #fff url(/common/img/home/banner_bg01.webp) no-repeat scroll 50px top / auto 100%;
}

.sideBns li:nth-child(2) {
    background: #fff8f8 url(/common/img/home/banner_bg02.webp) no-repeat scroll 110% top / auto 99%;
}

.sideBns li:nth-child(3) {
    background: #fff8f8 url(/common/img/home/banner_bg03.webp) no-repeat scroll 135% top / auto 100%;
}

.sideBns li:nth-child(4) {
    background: #fff url(/common/img/home/banner_bg04.webp) no-repeat scroll 98% top / auto 100%;
}

.sideBns li:nth-child(5) {
    background: #fff url(/common/img/home/banner_bg05_3_2.webp) no-repeat scroll -5px bottom / auto 99%;
}

.sitebanners {
    border-top: #333 dotted 1px;
    padding-top: 20px;
}

/* .sitebanners li{
    margin-bottom: 20px;
} */
.sitebanners li img {
    width: 200px;
    height: auto;
}

.mainContents section {
    padding-bottom: 70px;
}

.mainContents section h2 {
    /*     margin-bottom: 0; */
    padding-left: 20px;
}

.textBox {
    width: 710px;
    margin: 0px auto;
    padding: 30px 0;
    overflow: hidden;
}

.line+.textBox {
    padding-top: 0;
}

.textBox div.center img {
    margin-top: 40px;
}

.textBox h3 {
    color: #e8798a;
    /*font-size: 16px;*/
    font-size: 20px;
    font-weight: 500;
}

.textBox h4 {
    color: #e8798a;
    background-color: #ffecef;
    font-size: 16px;
    font-weight: 500;
    margin-bottom: 20px;
}

.textBox2 {
    width: 850px;
    margin: 0px auto;
    padding: 30px 0;
    /*overflow: hidden;*/
}

.subtextBox {
    background: #fff;
    padding: 20px;
    border: #e8798a solid 1px;
}

.subtextBox strong {
    color: #e8798a;
    font-size: 13px;
    font-weight: 500;
}

.subtextBox p {
    font-size: 12px;
    color: #e8798a;
    font-weight: 300;
    line-height: 2;
}

.whiteBox {
    background: #fff;
    padding: 20px 20px 0;
    width: 710px;
    box-sizing: border-box;
    margin: 0 auto;
}

.stepList li {
    display: table;
    width: 100%;
    padding-bottom: 20px;
}

.stepList li>span {
    display: table-cell;
    width: 60px;
    height: 60px;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    background: #f2bbc3;
    text-align: center;
    color: #fff;
    font-weight: 500;
    font-size: 11px;
    vertical-align: middle;
}

.stepList li p {
    display: table-cell;
    vertical-align: middle;
    font-size: 13px;
    line-height: 1.5;
    padding-left: 20px;
}

.stepList li strong {
    display: block;
    color: #e8798a;
    font-size: 14px;
    font-weight: 500;
}

/******************************************************

    concept

******************************************************/

.Breadcrumb+.wideContent .pageIcon {
    margin-top: 0;
}

.conceptBox {
    margin-bottom: 100px;
}

.conceptBox li {
    width: 100%;
    height: 330px;
    overflow: hidden;
    background: #fff3f5;
    position: relative;
}

.conceptBox li dl {
    padding: 40px;
    width: 50%;
    height: 330px;

    box-sizing: border-box;
    position: absolute;
}

.conceptBox li dl dt {
    font-size: 24px;
    color: #e8798a;
    line-height: 1;
    padding-bottom: 20px;
}

.conceptBox li dl dd {
    width: 100%;
    overflow: hidden;
}

.conceptBox li dl dd p {
    float: right;
    padding-bottom: 20px;
    max-width: 50em;
}

.conceptBox li:nth-child(2n-1) dl dd p {
    float: left;
}

.conceptBox li:nth-child(2n) dl {
    left: 0;
    top: 0;
    text-align: right;
}

.conceptBox li:nth-child(2n-1) dl {
    right: 0;
    top: 0;
    text-align: left;
}

.conceptBox li:nth-child(2n) .btn01 {
    float: right;
    text-align: center;
}

.conceptBox li:nth-child(2n-1) .btn01 {
    float: left;
    text-align: center;
}

.conceptBox li::after {
    content: "";
    position: absolute;
    top: 0;
    width: 50%;
    height: 330px;
    background-color: #fff;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: left center;
}

.conceptBox li:nth-child(odd)::after {
    left: 0;
}

.conceptBox li:nth-child(even)::after {
    right: 0;
}

.conceptBox li:nth-child(1):after {
    background-image: url(../img/home/wide_img05.webp);
}

.conceptBox li:nth-child(3):after {
    background-image: url(../img/home/wide_img02.webp);
}

.conceptBox li:nth-child(5):after {
    background-image: url(../img/home/wide_img04.webp);
}

.conceptBox li:nth-child(2):after {
    background-image: url(../img/home/wide_img01.webp);
}

.conceptBox li:nth-child(4):after {
    background-image: url(../img/home/wide_img03.webp);
    background-position: right center;
}

.treatmentBox h3 {
    line-height: 30px;
    padding: 10px 0;
}

.treatment-list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.treatment-list li {
    width: 23%;
}

.treatment-list li img {
    width: 100%;
    height: auto;
}

.treatment-list .treatment-title {
    margin: 20px 0;
}

.treatment-list p {
    font-size: 16px;
}

.treatment-list .treatment-read {
    color: #fff;
    padding: 10px;
    border-radius: 50px;
}

.treatment-list li:first-child .treatment-read {
    background: #38a1db;
}

.treatment-list li:nth-child(2) .treatment-read {
    background: #f9bf00;
}

.treatment-list li:nth-child(3) .treatment-read {
    background: #ef8594;
}

.treatment-list li:nth-child(4) .treatment-read {
    background: #7abd26;
}

.doubleTxt {
    width: 820px;
    margin: 0 auto 70px;
    overflow: hidden;
}

.doubleTxt dl {
    width: 365px;
}

.doubleTxt dl:nth-child(1) {
    padding-right: 44px;
    border-right: #e8798a dotted 1px;
}

.doubleTxt dl dt {
    font-size: 16px;
    font-weight: 500;
    color: #e8798a;
}

.doubleTxt dl dd {
    text-align: left;
}

.btn01.wide {
    width: 200px;
}

.bottomImg {
    width: 100%;
    height: 465px;
    margin-top: 100px;
    background: #000;
    background: url(../img/concept/wide_img.webp) no-repeat center center / cover;
}

.Breadcrumb+.wideContent {
    /*     padding-bottom: 0; */
}

.Breadcrumb+.wideContent+.topLink {
    margin-top: -46px;
}

.blogList {
    padding: 0 20px 40px;
}

.blogList li {
    border-bottom: 1px dotted #e8798a;
    overflow: hidden;
    padding: 20px 0;
    position: relative;
    width: 100%;
    box-sizing: border-box;
}

.blogList li h3 {
    color: #e8798a;
    font-size: 16px;
    font-weight: 500;
    margin-right: 120px;
    line-height: 1.4;
}

.blogList li time {
    color: #e8798a;
    font-size: 11px;
    font-weight: 500;
    position: absolute;
    right: 20px;
}

.blogList li p {
    font-weight: 300;
    padding-top: 1em;
    margin-bottom: 0;
    width: 100%;
}

.blogList li p span {
    color: #e8798a;
    font-weight: 400;
}

.pages {
    overflow: hidden;
    text-align: center;
    width: 100%;
}

.pages li {
    display: inline-block;
}

.pages li a {
    backface-visibility: hidden;
    background: #fff none repeat scroll 0 0;
    border: 1px solid #e8798a;
    color: #e8798a;
    display: block;
    font-size: 1em;
    font-weight: 500;
    height: 30px;
    line-height: 30px;
    transition: all 0.5s ease 0s;
    width: 30px;
}

.pages li.left a,
.pages li.right a {
    width: 120px;
}

.pages li.left a span {
    padding-right: 5px;
}

.pages li.right a span {
    padding-left: 5px;
}

.pages li a.current,
.pages li a:hover {
    background: #e8798a none repeat scroll 0 0;
    color: #fff;
}

aside.blogaside dl dt {
    height: 30px;
    line-height: 30px;
}

aside.blogaside dl.News dd a:after {
    content: none;
}

aside.blogaside dl.News dd a {
    background: #fff none repeat scroll 0 0;
    display: block;
    font-size: 13px;
    font-weight: 300;
    height: auto;
    line-height: 1.4;
    padding: 10px;
    position: relative;
}

aside.blogaside dl.News dd a:hover {
    background: #ffeef0;
}

.blogtitle {
    line-height: 1.5;
    padding: 20px 0;
    margin-bottom: 10px !important;
}

.blogtitle+small {
    display: block;
    text-align: right;
    font-size: 12px;
    padding: 2px;
    color: #e8798a;
    margin-bottom: 10px;
}

.blogtitle+small a {
    padding-left: 10px;
}

.blogtitle+small a:before {
    content: "/";
    padding-right: 10px;
}

.blogDetail {
    box-sizing: border-box;
    background: #fff;
    margin-bottom: 20px;
}

.blogDetail img {
    width: inherit;
    max-width: 100%;
    height: auto;
}

.blogtext {
    padding: 40px;
}

.blogtext p {
    margin-bottom: 1em;
}

.blogtext strong {
    font-size: 16px;
    color: #e8798a;
    font-weight: 500;
    margin-bottom: 1em;
    display: block;
    line-height: 1.4;
}

.wideInner .textBox,
.wideInner .whiteBox {
    width: 900px;
    margin: inherit auto;
}

.wideInner .textBox p {
    width: 100%;
}

.wideInner .textBox img.left+h3,
.wideInner .textBox img.left+p,
.wideInner .textBox img.left+h3+p {
    margin-left: 230px;
    width: auto;
    text-align: left;
}

.wideInner .textBox img.right+h3,
.wideInner .textBox img.right+p,
.wideInner .textBox img.right+h3+p {
    margin-right: 230px;
    width: auto;
    text-align: left;
}

.wideInner .textBox img.center {
    margin: 0 auto 40px;
}

.wideInner .textBox img.center+h3 {
    text-align: center;
    width: auto;
}

.wideInner .textBox img.center+p,
.wideInner .textBox img.center+h3+p {
    text-align: left;
    width: auto;
}

.marginTop {
    margin-top: 100px;
}

.topImg {
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    height: 465px;
    width: 100%;
}

/* .main-visual .topImg{
  height: 800px;
} */
.wideInner .whiteBox {
    text-align: left;
    background: none;
}

.stepList li.notable {
    display: block !important;
}

.stepList li.notable>span {
    float: left;
    line-height: 60px;
}

.stepList li.notable>p {
    display: inherit;
    margin-left: 80px;
    padding-left: 0;
}

.subtext {
    display: inline-block;
    font-size: 11px;
    color: #e8798a;
    border: #f4c2c9 dotted 1px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    padding: 10px;
    background: #fff;
    margin-top: 1em;
}

.subtext em {
    display: block;
    font-style: normal;
    font-size: 12px;
    font-weight: 500;
    margin-bottom: 0.5em;
}

.marginBottom {
    margin-bottom: 100px;
}

.subList {
    margin-left: 80px;
    padding: 20px;
    display: block;
    background: rgba(255, 255, 255, 0.9);
    margin-top: 1em;
}

.subList strong,
.subList p {
    display: block !important;
    padding-left: 0 !important;
}

.notable .box {
    background: #fff;
    border: #e8798a solid 1px;
    padding: 20px 0px !important;
    display: block;
    width: auto !important;
    color: #e8798a;
    margin: 1em 0;
    text-align: left;
}

.notable .box b {
    display: block;
    text-align: center;
    font-weight: 500;
    font-size: 1.1em;
    margin-bottom: 0.5em;
}

.notable .box em {
    display: inline-block;
    font-weight: 500;
    margin-top: 0.2em;
    font-style: normal;
    margin-right: 1em;
    margin-left: 12em;
}

.featureBox {
    width: 80%;
    margin: 0 auto;
    background: #ffecef;
    padding: 20px;
    text-align: left;
    color: #e8798a;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
}

.featureBox dt {
    font-weight: 500;
    font-size: 16px;
}

.featureBox dt:before {
    content: "\ee73";
    font-family: "icomoon";
    padding-right: 5px;
}

.featureBox dd {
    padding-left: 10px;
}

.featureBox dd li {
    line-height: 1.4;
    padding-left: 15px;
    position: relative;
    margin-top: 0.5em;
}

.featureBox dd li:before {
    content: "\ee75";
    font-family: "icomoon";
    font-size: 8px;
    color: #f9c5cd;
    position: absolute;
    left: 0;
    top: 3px;
}

.textBox.narrowBox {
    width: 70%;
}

.recruitTable,
.recruitTableBox {
    width: 80%;
    margin: 0 auto;
    text-align: left;
    padding: 40px;
    background: #fff;
    box-sizing: border-box;
}

.recruitTable h5 {
    color: #e8798a;
    font-size: 16px;
    font-weight: 500;
}

.recruitTable .tableInner {
    background: #fff;
    margin-bottom: 40px;
}

.recruitTable .tableInner2 {
    background: #fff;
}

.recruitTable table {
    width: 100%;
}

.recruitTable table th {
    border-bottom: #ffdae0 solid 1px;
    border-right: #ffdae0 solid 1px;
    color: #e8798a;
    padding: 20px;
    background: #fff9fa;
    width: 25%;
}

.recruitTable table tr:nth-child(1) th {
    border-top: #ffdae0 solid 1px;
}

.recruitTable table td {
    padding: 10px;
    border: #ffdae0 solid 1px;
    box-sizing: border-box;
    border-right: 0;
}

.formTable {
    width: 100%;
    border-collapse: separate;
    border-top: #dfdfdf solid 1px;
    overflow: hidden;
}

.formTable td,
.formTable th {
    padding: 10px;
    background: #fff;
    border-bottom: #dfdfdf solid 1px;
}

.formTable th {
    border-right: #dfdfdf solid 1px;
    width: 35%;
    font-weight: 500;
    vertical-align: top;
    position: relative;
    padding-left: 50px;
    background: #fcfcfc;
}

.formTable th:before {
    content: "任意";
    font-size: 10px;
    background: #c2c2c2;
    display: inline-block;
    line-height: 10px;
    color: #fff;
    padding: 2px 4px;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    border-radius: 2px;
    position: absolute;
    left: 10px;
    top: 15px;
}

.formTable th.must:before {
    content: "必須";
    font-size: 10px;
    background: #b53e4f;
    display: inline-block;
    line-height: 10px;
    color: #fff;
    padding: 2px 4px;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    border-radius: 2px;
    position: absolute;
    left: 10px;
    top: 15px;
}

.formTable td {
    border-right: 0;
}

.formTable th small {
    display: block;
    font-size: 11px;
    line-height: 1.5;
    color: #b53e4f;
}

.formTable td input[type="text"],
.formTable td input[type="email"] {
    width: 100%;
    box-sizing: border-box;
    padding: 8px;
    font-size: 14px;
}

.formTable td .mfp_err {
    color: #b53e4f;
    background: url(../img/common/mfp_error.gif) no-repeat left center / 13px 13px;
    padding-left: 18px;
    line-height: 13px;
    margin-top: 5px;
}

.formTable td textarea {
    padding: 8px !important;
    width: 100% !important;
    height: 100px !important;
    box-sizing: border-box;
    border: #e6e6e6 solid 1px;
}

.formTable td label {
    margin-right: 1em;
    white-space: nowrap;
}

.formbtn {
    text-align: center;
    margin-top: 1em;
}

.formbtn input[type="reset"] {
    display: none;
}

.formbtn input[type="submit"] {
    display: inline-block;
    width: 160px;
    height: 50px;
    line-height: 48px;
    background: #f86b7c;
    border-radius: 3px;
    border: none;
    position: relative;
    z-index: 10;
    font-weight: 500;
    color: #fff;
    font-size: 13px;
    cursor: pointer;

    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease;

    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.formbtn input[type="submit"]:hover {
    background: #ff4c61;
    color: #fff;
}

.flow {
    width: 90%;
    padding: 10px;
    box-sizing: border-box;
    background: #fff;
    margin: 0 auto;
    border-radius: 3px;
}

.flowInner {
    width: 100%;
    overflow: hidden;
    border: 1px solid #fbc4cc;
    box-sizing: border-box;
    border-radius: 3px;
}

.flow dl {
    float: left;
    width: 25%;
    height: 540px;
    box-sizing: border-box;
    border-right: 1px solid #fbc4cc;
}

.flow dl:last-child {
    border-right: 0;
}

.flow dl dt {
    text-align: center;
    color: #e8798a;
    font-weight: 500;
    line-height: 40px;
    font-size: 15px;
    border-bottom: #fbc4cc solid 1px;
    background: #fff8f8;
}

.flow dl dd:nth-child(2) {
    text-align: center;
    padding: 10px;
    border-bottom: #fbc4cc dotted 1px;
}

.flow dl dd:nth-child(2) img {
    width: auto;
    height: 100px;
}

.flow dl dd:nth-child(3) {
    padding: 10px;
    font-size: 13px;
    line-height: 1.6;
}

.flow dl dd em {
    display: inline-block;
    font-style: normal;
    font-size: 10px;
    background: #e8798a;
    line-height: 1;
    color: #fff;
    padding: 2px 4px;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    border-radius: 2px;
}

.flow dl dd p {
    margin-bottom: 1em;
}

.center small {
    margin-top: 1em;
    font-size: 13px;
    display: block;
}

.accessList {
    margin-right: 220px;
}

.emergency h3 {
    padding-bottom: 1em;
}

.emergency h3 small {
    line-height: 1;
    font-size: 0.9em;
    margin-left: 10px;
}

.accessList.wide {
    margin-right: 0;
}

.accessList.wide li p {
    margin-left: 150px;
}

.accessList li {
    width: auto;
    overflow: hidden;
    margin-bottom: 0.5em;
}

.accessList li em {
    float: left;
    font-style: normal;
    color: #e8798a;
}

.accessList li em span {
    display: inline-block;
    width: 20px;
    text-align: left;
}

.accessList li em i {
    font-style: normal;
    display: inline-block;
}

.accessList li p {
    margin-left: 90px;
}

.accessList li p small {
    display: block;
    font-size: 12px;
}

.access.timetable {
    float: left;
    margin-top: 0;
}

.access.timetable th,
.access.timetable td {
    color: #e8798a;
    border-bottom: #e8798a dotted 1px;
}

.access.timetable+p {
    margin-left: 500px;
    font-size: 13px;
    color: #e8798a;
}

.access.timetable+p em {
    font-style: normal;
    background: #e8798a;
    font-size: 11px;
    color: #fff;
    display: inline-block;
    line-height: 1;
    padding: 4px 6px;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    border-radius: 2px;
}

.staffBox table {
    width: 80%;
    margin: 0 auto;
    margin-top: 30px;
    border-top: #333 dotted 1px;
}

.staffBox table th,
.staffBox table td {
    border-bottom: #333 dotted 1px;
    padding: 10px;
}

.staffBox table th {
    color: #e8798a;
}

.staffBox+.textBox {
    color: #e8798a;
    border: #e8798a dotted 1px;
    padding: 20px;
    width: 80%;
    box-sizing: border-box;
    background: #fff;
    margin-top: 40px;
}

.jobslist {
    width: 100%;
    overflow: hidden;
    margin-top: 40px;
    text-align: center;
    display: flex;
    flex-wrap: wrap;
}

.jobslist li img {
    width: 150px;
    height: 150px;
}

.jobslist li:first-child {
    /*margin-left: 10%;*/
}

.jobslist li {
    /* float: right; */
    width: 25%;
    overflow: hidden;
    text-align: center;
    margin-top: 20px;
}

.jobslist li em {
    display: block;
    font-style: normal;
    color: #e87889;
    font-weight: 500;
    margin-top: 1em;
}

.jobslist li p {
    display: block;
    font-size: 14px;
    line-height: 1.3;
}

.jobslist li p small {
    display: block;
    font-size: 12px;
}

/*--------------------------*/
.ctstep {
    width: 100%;
    overflow: hidden;
    margin-top: 40px;
    text-align: center;
}

.ctstep li img {
    width: 150px;
    height: 150px;
}

.ctstep li:first-child {
    /*margin-left: 10%;*/
}

.ctstep li {
    float: left;
    width: 22%;
    overflow: hidden;
    text-align: center;
    padding-left: 3%;
}

.ctstep li em {
    display: block;
    font-style: normal;
    color: #e87889;
    font-weight: 500;
    margin-top: 1em;
}

.ctstep li p {
    display: block;
    font-size: 14px;
    line-height: 1.3;
}

.ctstep li p small {
    display: block;
    font-size: 12px;
}

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

.msg {
    padding: 20px;
    background: #fff;
    box-sizing: border-box;
    border: #e87889 dotted 1px;
}

.ctmsg {
    text-align: left;
    padding: 20px;
    background: #fff;
    box-sizing: border-box;
    border: #e87889 dotted 1px;
}

.cttet {
    font-size: 16px;
}

.pinkList {
    padding: 1em;
    color: #e8798a;
}

.pinkList li:before {
    content: "\ee75";
    font-family: "icomoon";
    font-size: 8px;
    position: relative;
    top: -2px;
    margin-right: 5px;
}

#anchor00,
#anchor01,
#anchor02,
#anchor03,
#anchor_staff {
    padding-top: 120px;
    margin-top: -120px;
}

#anchor01b,
#anchor01c {
    padding-top: 120px;
    margin-top: -120px;
}

.circlearea {
    float: left;
    width: 190px;
    height: 190px;
    position: relative;
    margin-left: 10px;
}

.circlearea img {
    position: relative;
    z-index: 1;
}

.circlearea span {
    position: absolute;
    left: 0;
    top: 0;
    display: inline-block;
    width: 190px;
    height: 190px;
    background: #fff;
    border-radius: 50%;
    border: #e87889 solid 1px;
    box-sizing: border-box;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
    opacity: 0;

    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.circlearea:hover span {
    width: 210px;
    height: 210px;
    left: -10px;
    top: -10px;
    opacity: 1;
}

.bookBox {
    text-align: center;
    width: 860px;
    margin: 0 auto;
}

.bookBox li {
    float: left;
    width: 175px;
    height: 400px;
    margin: 0 20px;
    overflow: hidden;
}

.bookBox li img {
    width: inherit;
    max-width: 174px;
    height: auto;
}

.bookBox li>a,
.bookBox li>span {
    display: block;
    height: 260px;
}

.bookBox li a+a,
.bookBox li p {
    font-size: 13px;
    height: auto;
    background: none;
    display: block;
    line-height: 1.5;
    text-align: left;
    margin-top: 0.5em;
}

.staffBox.wide td {
    text-align: left;
}

.linkBox {
    width: 90%;
    margin: 0 auto;
}

.linkBox>p {
    margin-bottom: 1em;
}

.linkBox ul {}

.linkBox ul li {
    padding: 1em 0;
    border-bottom: #ccc dotted 1px;
}

.linkBox ul li a {
    display: block;
    font-weight: 500;
}

.linkBox ul li p {
    font-size: 13px;
    font-weight: 300;
    line-height: 1.5;
}

.clinicPhoto01 {
    width: 100%;
    margin: 0 auto;
    text-align: center;
}

.clinicPhoto01 li {
    display: inline-block;
    width: 240px;
    margin: 0;
    height: 300px;
    text-align: center;
    position: relative;
}

.clinicPhoto01 li a {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 10;
}

.clinicPhoto01 li img {
    position: relative;
    z-index: 1;
    opacity: 1;

    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;

    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.clinicPhoto01 li span {
    width: 210px;
    height: 210px;
    background: #fff;
    display: inline-block;
    position: absolute;
    border-radius: 50%;
    left: 15px;
    top: 0px;
    opacity: 0;
    border: #e8798a solid 1px;
    box-sizing: border-box;

    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;

    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.clinicPhoto01 li:hover img {
    opacity: 0.6;
}

.clinicPhoto01 li:hover span {
    width: 230px;
    height: 230px;
    left: 5px;
    top: -10px;
    opacity: 1;
}

.clinicPhoto01 li strong {
    display: block;
    color: #e8798a;
    font-size: 15px;
    font-weight: 500;
    margin-top: 2em;
    line-height: 1.3;
}

.clinicPhoto01.narrow {
    width: 810px;
    margin: 0 auto;
}

.clinicPhoto01.narrow li {
    float: left;
    width: 190px;
    margin: 0 40px;
    height: 300px;
    text-align: center;
    position: relative;
}

.clinicPhoto01.narrow li span {
    width: 190px;
    height: 190px;
    left: 0;
}

.clinicPhoto01.narrow li:hover span {
    width: 210px;
    height: 210px;
    left: -10px;
    top: -10px;
    opacity: 1;
}

.clinic td {
    text-align: left;
}

.pricetableBox {
    background: #fff;
    border-radius: 3px;
    padding: 60px;
    box-sizing: border-box;
    margin-top: 40px;
}

.pricetable {
    padding-bottom: 40px;
}

.pricetable h3 {
    text-align: left;
    color: #e8798a;
    font-size: 16px;
    font-weight: 500;
    text-indent: 5px;
    margin-bottom: 20px;
}

.pricetable .btn_area {
    text-align: right;
}

.pricetable table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 5px;
}

.pricetable table th {
    text-align: left;
    vertical-align: middle;
    background: #ffeff2;
    width: 45%;
    padding: 10px 20px;
    box-sizing: border-box;
    font-weight: 500;
}

.pricetable table .gray {
    background: #f0f0f0;
    color: #333333;
    font-weight: normal;
    text-align: left;
}

.pricetable table .blue {
    background: #eff8ff;
    color: #333333;
    font-weight: 500;
    text-align: center;
}

.pricetable table .white {
    background: #ffffff;
    color: #333333;
    font-weight: 500;
    text-align: center;
}

.pricetable table td {
    background: #f6f6f6;
    color: #e8798a;
    text-align: right;
    padding: 10px 10px;
    font-weight: 500;
    font-size: 15px;
}

.pricetable small {
    display: block;
    text-align: right;
    font-size: 12px;
    padding-right: 5px;
}

/*pricetable2*/

.pricetable2 {
    padding-bottom: 40px;
}

.pricetable2 h3 {
    text-align: left;
    color: #e8798a;
    font-size: 16px;
    font-weight: 500;
    text-indent: 5px;
    margin-bottom: 20px;
}

.pricetable2 table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 5px;
}

.pricetable2 table th {
    text-align: left;
    background: #ffeff2;
    width: 22%;
    padding: 10px 20px;
    box-sizing: border-box;
    font-weight: 500;
}

.pricetable2 table td {
    background: #f6f6f6;
    color: #e8798a;
    text-align: center;
    padding: 10px 20px;
    font-weight: 500;
    font-size: 15px;
}

.pricetable2 table .gray {
    background: #f0f0f0;
}

.pricetable2 small {
    font-size: 12px;
    padding-right: 5px;
}

.pricetable2 span {
    font-size: 10px;
    padding-right: 5px;
}

/*---------------------------------------------*/
.pricetable3 {
    padding-bottom: 40px;
}

.pricetable3 h3 {
    text-align: left;
    color: #e8798a;
    font-size: 16px;
    font-weight: 500;
    text-indent: 5px;
    margin-bottom: 20px;
}

.pricetable3 table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 5px;
}

.pricetable3 table th {
    text-align: left;
    background: #ffeff2;
    width: 24%;
    padding: 10px 20px;
    box-sizing: border-box;
    font-weight: 500;
}

.pricetable3 table td {
    background: #f6f6f6;
    color: #e8798a;
    text-align: center;
    padding: 10px 20px;
    font-weight: 500;
    font-size: 15px;
}

.pricetable3 table .gray {
    background: #f0f0f0;
}

.pricetable3 small {
    font-size: 12px;
    padding-right: 5px;
}

.pricetable3 span {
    font-size: 10px;
    padding-right: 5px;
}

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

.square {
    text-align: left;
    padding: 0;
}

.square li {
    float: left;
    color: #e8798a;
    font-size: 13px;
    margin-right: 20px;
}

.square li:before {
    content: "●";
    margin-right: 5px;
    color: #fdcad2;
}

.guideListBox {
    padding: 50px;
    background: #fff;
    margin-top: 100px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
}

.guideListBox .guideList li span {
    left: 22px;
    box-sizing: border-box;
}

.guideListBox .guideList li:hover span {
    width: 200px;
    height: 200px;
    left: 12px;
    top: -9px;
}

#cal01 {
    float: left;
}

#cal02 {
    float: right;
}

/*--------------------歯周病ページ変更--------------------------*/
.guidetableBox {
    background: #fff;
    border-radius: 3px;
    padding: 60px;
    box-sizing: border-box;
    margin-top: 40px;
}

.guidetable {
    padding-bottom: 40px;
}

.guidetable h3 {
    text-align: left;
    color: #e8798a;
    font-size: 16px;
    font-weight: 500;
    text-indent: 5px;
    margin-bottom: 20px;
}

.guidetable table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 5px;
}

.guidetable table th {
    text-align: left;
    vertical-align: middle;
    background: #ffeff2;
    width: 38%;
    padding: 10px 20px;
    box-sizing: border-box;
    font-weight: 500;
}

.guidetable table td {
    background: #f6f6f6;
    color: #e8798a;
    padding: 5px 5px;
    font-weight: 500;
    font-size: 14px;
}

.guidetable small {
    display: block;
    text-align: right;
    font-size: 12px;
    padding-right: 5px;
}

.tejyunn h3 {
    font-size: 20px;
    margin-top: 40px;
}

/*************************************************/

/*commonStyle(20161007追加)

/*************************************************/

.mb10 {
    margin-bottom: 10px;
}

.mb20 {
    margin-bottom: 20px;
}

.mb30 {
    margin-bottom: 30px;
}

.mb40 {
    margin-bottom: 40px;
}

.mb50 {
    margin-bottom: 50px;
}

.t_left {
    text-align: left;
}

.t_right {
    text-align: right;
}

.t_center {
    text-align: center;
}

.f_left {
    float: left;
}

.f_right {
    float: right;
}

.manualBox {
    width: 680px;
}

.manualBox dt {
    color: #e8798a;
    font-size: 16px;
    font-weight: 500;
}

.manualBox dd {
    margin: 0 0 20px 0;
}

.manualBox2 {
    width: 580px;
}

.manualBox2 p {
    width: 85% !important;
}

/*manualBnr*/
.manualBnr {
    float: left;
    width: 388px;
}

.manualBnr li {
    position: relative;
    width: 100%;
    height: 100px;
    line-height: 100px;
    text-align: left;
}

.manualBnr li a {
    border: #e8798a solid 1px;
    box-sizing: border-box;
}

.manualBnr li:after {
    content: "\e901";
    font-family: "icomoon";
    position: absolute;
    right: 8px;
    top: 8px;
    color: #e8798a;
    line-height: 1;
    font-size: 10px;
}

.manualBnr li strong {
    font-size: 16px;
    font-weight: 500;
    color: #e8798a;
    line-height: 1;
    padding-left: 30px;
}

.manualBnr li:nth-child(1) {
    background: #fff url(../img/home/banner_bg06.webp) no-repeat right top / auto 100%;
    margin-bottom: 20px;
}

/****fixedCircleBnr****/
.fixedCircleBnr a {
    width: 125px;
    height: 105px;
    background-color: #e8798a;
    text-align: center;
    line-height: 1.5em;
    font-size: 12px;
    color: #fff;
    padding: 25px 15px;
    border-radius: 50%;
    position: fixed;
    right: 25px;
    bottom: 25px;
}

.fixedCircleBnr strong {
    font-size: 1.1em;
    line-height: 1.2em;
    font-weight: bold;
}

.fixedCircleBnr em {
    font-size: 1.4em;
    line-height: 1.8em;
    font-weight: bold;
    font-style: normal;
}

/*--------------------短期集中ページ追加--------------------------*/
.faq {
    width: 100%;
    font-size: 14px;
    text-align: left;
}

.faq dt {
    background: #e8798a;
    color: #fff;
    padding: 8px;
    padding-left: 30px;
    position: relative;
}

.faq dt:before {
    content: "Q.";
    font-weight: bold;
    position: absolute;
    left: 8px;
    top: 7px;
}

.faq dd {
    margin: 24px 16px 40px 0;
    line-height: 140%;
    padding-left: 30px;
    position: relative;
}

.faq dd:before {
    content: "A.";
    font-weight: bold;
    position: absolute;
    left: 8px;
    top: 0;
}

.tex {
    color: #e8798a;
}

.tex_b {
    font-weight: bold;
}

/* -------------------- Add 120918 ------------------------ */

.add_120918 {
    border: solid #e8798a 1px;
    padding: 10px;
    width: 810px;
    box-sizing: border-box;
    margin: 0 auto;
}

.pre_ttl {
    color: #e8798a;
    font-size: 16px;
    font-weight: 500;
}

.top_reserve {
    width: 790px;
    margin: 0 auto 30px;
    border: 1px solid #e8798a;
    background: #fff;
    padding: 30px 20px;
}

.top_reserve ul {
    position: relative;
}

.top_reserve ul li {
    padding-left: 20px;
    text-align: left;
}

.top_reserve ul li:before {
    content: "◆";
    position: absolute;
    left: 0;
    padding-right: 5px;
    color: #e8798a;
}

.recruitTable table.tbl_add td {
    width: 25%;
}

.pink_txt {
    color: #e8798a;
    display: block;
}

/* tabMenu */
#tab-menu {
    list-style: none;
    border-bottom: 3px solid #e8798a;
    text-align: left;
}

#tab-menu li {
    display: inline-block;
    padding: 10px 25px;
    background: #eee;
    border-radius: 5px 5px 0 0;
    cursor: pointer;
    font-size: 1.1em;
}

#tab-menu li.active {
    background: #e8798a;
    color: #fff;
}

/* tabContents */
#tab-box {
    padding: 25px;
}

#tab-box div {
    display: none;
}

#tab-box div.active {
    display: block;
}

/*追記　2020.01.14*/
.flowline {
    width: 710px;
    margin: 0 auto;
    margin-top: 60px;
    position: relative;
}

.flowline:before {
    content: "";
    width: 4px;
    height: calc(100% - 60px);
    background: #fdd5db;
    position: absolute;
    left: 30px;
    top: 60px;
}

section .flowBox {
    width: 710px;
    margin: 0 auto;
    display: block;
    position: relative;
    overflow: hidden;
    padding-bottom: 0;
    /*margin-left: 0;
    padding-left: 75px;*/
    text-align: left;
}

section .flowBox .circle {
    position: absolute !important;
    left: 0px;
    top: 0px;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: #ed787c;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
}

section .flowBox h3 {
    color: #e8798a;
    font-size: 16px;
    font-weight: 500;
    padding-bottom: 20px;
    padding-left: 100px;
}

section .flowBox p {
    padding-bottom: 30px;
    padding-left: 100px;
}

/* PC 0301 既存ソース PCのみ
---------------------------------------------------------- */

@media (min-width: 768px) {
    nav {
        position: relative;
        width: 100%;
        background: #fafafa;
        height: 45px;
        /* box-shadow */
        box-shadow: rgba(0, 0, 0, 0.3) 0px -5px 8px -6px;
        -webkit-box-shadow: rgba(0, 0, 0, 0.3) 0px -5px 8px -6px;
        -moz-box-shadow: rgba(0, 0, 0, 0.3) 0px -5px 8px -6px;

        -webkit-transition: all 0.2s ease;
        transition: all 0.2s ease;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
        top: 0;
    }

    nav:after {
        content: "";
        position: absolute;
        left: 0;
        bottom: 0;
        height: 1px;
        width: 100%;
        background: #e4e4e4;
    }

    nav>ul {
        margin: 0 auto;
        width: 1200px;
        box-sizing: border-box;
    }

    nav>ul>li {
        float: left;
        width: 14.285%;
        display: block;
        box-sizing: border-box;
        text-align: center;
        line-height: 45px;
    }

    nav>ul>li>a {
        display: block;
        height: 45px;
        width: 100%;
        box-sizing: border-box;
        background: #fefefe;
        color: #333;
        border-left: #e4e4e4 solid 1px;
    }

    nav>ul>li.l-height>a {
        line-height: 1.6;
    }

    nav>ul>li:last-child>a {
        border-right: #e4e4e4 solid 1px;
    }

    nav.current01>ul>li:nth-child(1)>a,
    nav.current02>ul>li:nth-child(2)>a,
    nav.current03>ul>li:nth-child(3)>a,
    nav.current04>ul>li:nth-child(4)>a,
    nav.current05>ul>li:nth-child(5)>a,
    nav.current08>ul>li:nth-child(4)>a,
    nav.current06>ul>li:nth-child(6)>a,
    nav.current07>ul>li:nth-child(7)>a {
        background: #fafafa;
        color: #f7637a;
        position: relative;
        z-index: 10;
    }

    nav>ul>li:nth-child(3)>a,
    nav>ul>li:nth-child(4)>a {
        background: #e8798a;
        color: #fff;
        line-height: 1.3;
        padding-top: 5px;
    }

    nav>ul>li:nth-child(2):hover>a,
    nav>ul>li:nth-child(5):hover>a {
        background: #fff;
        color: #f7637a;
        position: relative;
        z-index: 30;
    }

    nav>ul>li:hover>a {
        background: #fff;
        color: #f7637a;
    }

    nav>ul>li.l-height:hover>a {
        line-height: 1.3;
    }

    nav>ul>li.current>a {
        z-index: 10;
        position: relative;
    }

    nav li ul {
        position: absolute;
        left: 0;
        top: 44px;
        width: 100%;
        border: #e4e4e4 solid 1px;
        background: #fff;
        background: rgba(255, 255, 255, 0.95);
        box-sizing: border-box;
        opacity: 0;
        visibility: hidden;
        z-index: 20;
        text-align: center;

        -webkit-transition: all 0.2s ease;
        transition: all 0.2s ease;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
    }

    nav.current02 li ul,
    nav.current05 li ul {
        background: #fff;
    }

    nav li li {
        display: inline-block;
        line-height: 44px;
    }

    nav li li a {
        display: inline-block;
        height: 44px;
        color: #333;
    }

    nav li li a:after {
        content: "/";
        margin: 0 20px;
        color: #999;
        font-weight: 300;
    }

    nav li li:last-child a:after {
        content: none;
    }

    nav>ul>li:hover ul {
        visibility: visible;
        opacity: 1;
    }

    nav.fixed {
        position: fixed;
        left: 0;
        top: 75px;
        z-index: 110;
    }

    nav.current01.fixed>ul>li:nth-child(1)>a,
    nav.current02.fixed>ul>li:nth-child(2)>a,
    nav.current03.fixed>ul>li:nth-child(3)>a,
    nav.current04.fixed>ul>li:nth-child(4)>a,
    nav.current05.fixed>ul>li:nth-child(5)>a,
    nav.current06.fixed>ul>li:nth-child(6)>a,
    nav.current07.fixed>ul>li:nth-child(7)>a {
        z-index: 0;
    }

    nav.fixed>ul>li:nth-child(2):hover>a,
    nav.fixed>ul>li:nth-child(5):hover>a {
        z-index: 130;
    }

    body.guide div.guide h3 {
        text-align: left;
        margin-left: 240px !important;
    }

    body.guide div.guide p {
        text-align: left;
        margin-bottom: 1em !important;
        margin-left: 240px !important;
        width: auto !important;
    }

    .textBox img.left+p,
    .textBox img.left+h3,
    .textBox img.left+h3+p {
        margin-left: 220px;
        width: auto;
    }

    .textBox img.right+p,
    .textBox img.right+h3,
    .textBox img.right+h3+p,
    .textBox .white_l {
        margin-right: 220px;
        width: auto;
    }

    .textBox img.right+p+ul {
        margin-right: 220px;
        width: auto;
    }

    .textBox img.right+p+ul li,
    .textBox ul li {
        padding-left: 17px;
        text-indent: -17px;
    }

    .textBox p .s-tit {
        text-align: center;
        margin-bottom: 20px;
        font-weight: bold;
        display: inherit;
        font-size: 18px;
    }

    .textBox .c-smile {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
    }

    .textBox .c-smile .smile-item:first-child {
        width: 43%;
    }

    .textBox .c-smile .smile-item {
        width: 51%;
    }

    .textBox .c-smile .smile-item img,
    .textBox .c-smile .smile-item iframe {
        width: 100%;
        height: auto;
    }

    .textBox .ability {
        font-size: 30px;
        font-weight: bold;
        text-align: center;
        margin: 30px 0 20px;
    }

    .textBox .ability+p,
    .textBox .ability+p+p {
        font-size: 24px;
        font-weight: bold;
    }

    .textBox .ability+p span {
        font-size: 12px;
        display: block;
    }

    .textBox .in-office {
        display: flex;
    }

    .textBox .in-office .img {
        width: 20%;
        margin-right: 10px;
    }

    .textBox .in-office .img img {
        width: 100%;
        height: auto;
    }

    .tejyunn img {
        width: 500px !important;
        height: 600px !important;
        display: block;
        margin: auto;
    }
}

/* PC 0301 追記 */

/* maintitle */
.concept .maintitle {
    background-image: url(/common/img/concept/maintitle.webp);
}

.intensive .maintitle {
    background-image: url(/common/img/intensive/maintitle.webp);
}

.quality .maintitle {
    background-image: url(/common/img/quality/maintitle.webp);
}

.development .maintitle {
    background-image: url(/common/img/development/maintitle.webp);
}

.protect .maintitle {
    background-image: url(/common/img/protect/maintitle.webp);
}

.management .maintitle {
    background-image: url(/common/img/management/maintitle.webp);
}

.recruit .maintitle {
    background-image: url(/common/img/recruit/maintitle.webp);
}

.application .maintitle {
    background-image: url(/common/img/application/maintitle_2.webp);
}

.application.thanks .maintitle {
    background-image: url(/common/img/application/maintitle.webp);
}

.staff .maintitle {
    background-image: url(/common/img/staff/maintitle.webp);
}

.guide .maintitle {
    background-image: url(/common/img/guide/maintitle.webp);
}

.preventive .maintitle {
    background-image: url(/common/img/preventive/maintitle.webp);
}

.general .maintitle {
    background-image: url(/common/img/general/maintitle.webp);
}

.periodontal .maintitle {
    background-image: url(/common/img/periodontal/maintitle.webp);
}

.orthodontic .maintitle {
    background-image: url(/common/img/orthodontic/maintitle.webp);
    position: relative;
    height: 215px;
}

.cosmetic .maintitle {
    background-image: url(/common/img/cosmetic/maintitle.webp);
}

.surgery .maintitle {
    background-image: url(/common/img/surgery/maintitle.webp);
}

.links .maintitle {
    background-image: url("/common/img/access/maintitle.webp");
}

.privacy .maintitle {
    background-image: url("/common/img/privacy/maintitle.webp");
}

.manual .maintitle {
    background-image: url("/common/img/manual/maintitle.webp");
}

body.form {
    margin: 0 !important;
    background-color: transparent;
}

.formTable {
    width: 100% !important;
}

.line.medical-ttl {
    font-size: 24px;
}

.guideTxt.health-ttl {
    font-size: 18px;
}

/*************************************************/

/*PC*/

/*************************************************/
@media (min-width: 768px) {
    .flex {
        display: flex;
        flex-wrap: wrap;
    }

    .flex-direction {
        display: flex;
        justify-content: space-between;
        flex-direction: row-reverse;
        align-items: center;
    }

    .dental-width ul {
        display: flex;
        justify-content: space-between;
        border: 1px solid #e8798a;
        flex-wrap: wrap;
    }

    .dental-width ul li.dental_flrow {
        width: 50%;
    }

    .dental-width ul li.dental_slrow {
        width: calc(100% / 3);
    }

    .dental-width ul li .btn01 {
        width: 100% !important;
        border: 1px solid #e8798a;
        box-sizing: border-box;
        height: 60px;
        font-size: 18px;
        border-radius: unset;
        line-height: 60px;
    }

    .dental-width ul li:nth-of-type(2) .btn01 {
        line-height: 28px;
    }

    .dental-width img {
        width: 100%;
        height: auto;
    }

    .mt-20 {
        margin-top: 20px;
    }

    .pc-on {
        display: block;
    }

    .sp-on {
        display: none !important;
    }

    .txt-c {
        text-align: center;
    }

    .mt10 {
        margin-top: 10px;
    }

    .subpages .full_img img {
        width: 100%;
        height: auto;
    }

    .width-500 {
        width: 48%;
        /*margin: 0 auto;*/
        margin-top: 30px;
    }

    .dental-width {
        width: 100%;
    }

    .dental-width2 {
        width: 27%;
    }

    .mr-30 {
        margin-right: 30px;
    }

    .mr-20 {
        margin-right: 20px;
    }

    footer {
        position: relative;
    }

    .footerContent {
        margin-bottom: 600px;
    }

    .footerContent #map_canvas {
        position: absolute;
        width: 100%;
        left: 0;
        bottom: 40px;
    }

    .recruit .recruit_job {
        margin: 0 auto;
        width: 47%;
        white-space: nowrap;
    }

    .recruit .recruit_job h3 {
        font-size: 18px;
        margin-bottom: 10px;
    }

    .recruit .recruit_yt {
        text-align: center;
        margin-bottom: 20px;
    }

    .recruit .recruit_yt iframe {
        width: 560px;
        height: 315px;
    }

    .recruit [id$="Form"] iframe {
        height: 640px;
        width: 100%;
    }

    #home .news_text {
        margin-bottom: 20px;
    }

    #home .news_text:not(:last-of-type) {
        margin-bottom: 40px;
    }

    #home .feature_text {
        margin-bottom: 50px;
    }

    #home .feature_text p:not(:last-of-type) {
        margin-bottom: 30px;
    }

    /* guide */
    .guide .guideList li img {
        width: 180px;
        height: auto;
    }

    /* preventive */
    .preventive #anchor01 img {
        width: 550px;
        height: 150px;
    }

    /* .periodontal */
    .periodontal #anchor01 img {
        width: 100%;
        height: auto;
    }

    .periodontal #anchor02 img {
        width: 280px;
        height: auto;
    }

    .periodontal #anchor02 .text {
        margin-left: 295px;
    }

    .periodontal #anchor02 .text p {
        margin-bottom: 10px;
    }

    /* clinic */
    .clinic .maintitle {
        background-image: url(/common/img/clinic/maintitle.webp);
    }

    .ct8_img {
        width: 400px;
        height: 300px;
        float: right;
    }

    .ct2_img {
        width: 750px;
        height: 250px;
    }

    .ct8_txt {
        width: 600px;
    }

    .clinic .video {
        width: 770px;
        height: 420px;
        display: block;
        text-align: center;
        padding-top: 50px;
    }

    /* access */
    .access .maintitle {
        background-image: url(/common/img/access/maintitle.webp);
    }

    /* price */
    .price .maintitle {
        background-image: url(/common/img/price/maintitle.webp);
    }

    /* manual */
    .manual iframe {
        width: 650px;
        height: 200px;
        border: none;
    }

    .mainContents section.note_txt p {
        margin: 20px 0;
    }
}

/*************************************************/

/*TB*/

/*************************************************/
@media (max-width: 999px) and (min-width: 768px) {
    body {
        width: 100%;
        min-width: auto;
    }

    nav>ul,
    .wideInner,
    .pinkBox h3,
    .footerContent,
    .narrowContent {
        width: 100%;
    }

    .maintitle h1 {
        min-width: auto;
    }

    /*concept*/
    .conceptBox li {
        height: 450px;
    }

    .conceptBox li dl {
        height: 450px;
        padding: 25px 35px;
    }

    .conceptBox li::after {
        height: 450px;
    }

    /*  サイドカラム落ち対応*/
    .mainContents {
        width: calc(100% - 220px);
    }

    .textBox {
        width: 100%;
        margin: 0;
        padding: 20px;
        box-sizing: border-box;
    }

    .access.timetable {
        float: none;
        width: 100%;
    }

    .access.timetable+p {
        margin-left: 0px;
        float: left;
    }

    .staffBox+.textBox {
        margin: 0 auto;
    }

    .mainContents section.note_txt p {
        margin: 20px 0;
    }
}

.sec-dental .line {
    margin-bottom: 30px;
}

.dental-blk {
    border: 1px solid #333;
    padding: 0 20px;
    box-sizing: border-box;
    margin: 40px auto 0;
    max-width: 800px;
}

.dental-blk:last-child {
    margin: 40px auto 80px;
}

.dental-blk h3 {
    margin-top: -12px;
}

.dental-blk h3 span {
    background: #000;
    color: #fff;
    padding: 5px 40px;
    box-sizing: border-box;
    font-weight: 900;
}

.pediatric-blk p {
    display: flex;
    justify-content: space-between;
}

.dental-blk.school-blk p {
    padding: 15px 158px;
}

.dental-blk p {
    width: auto !important;
    margin: 0 auto 0px !important;
    padding: 15px 0;
    text-align: left;
}

.dental-blk.develop-blk p {
    display: flex;
    justify-content: space-between;
    padding: 15px 55px;
}

.dental-blk.develop-blk p .develop-l,
.dental-blk.develop-blk p .develop-r {
    width: 48%;
}

.dental-blk.develop-blk p span {
    display: block;
}

/*************************************************/
.main-visual {
    height: 465px;
    margin: 70px 0;
}

/*sp*/

/*************************************************/
@media (max-width: 767px) {

    /************************190530追加*************************/
    .fixBtn {
        display: none;
    }

    img {
        max-width: 100%;
        height: auto;
    }

    .dental-blk {
        padding: 0 15px;
        margin: 40px auto 0;
    }

    .dental-blk h3 span {
        padding: 5px 20px;
    }

    .dental-blk:last-child {
        margin: 40px auto 60px;
    }

    .pediatric-blk p {
        display: block;
    }

    .pediatric-blk p span {
        display: block;
    }

    .dental-blk.school-blk p {
        padding: 15px 0px;
    }

    .dental-blk.develop-blk p {
        padding: 15px 0;
        display: block;
    }

    .dental-blk.develop-blk p .develop-l,
    .dental-blk.develop-blk p .develop-r {
        width: 100%;
    }

    /************************190530追加*************************/
    .pc-on {
        display: none !important;
    }

    .sp-on {
        display: block;
    }

    body {
        width: 100%;
        min-width: auto;
        margin-top: 60px !important;
    }

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

    .dental-width.mb20 {
        margin-bottom: 0px !important;
    }

    .dental-width img {
        width: 100% !important;
        height: auto;
    }

    .mt-20 {
        margin-top: 0px;
    }

    .mb10 {
        margin-bottom: 10px;
    }

    /*.mr-30 {
  	margin-right: 0px!important;;
  }*/
    nav>ul,
    .wideInner,
    .pinkBox h3,
    .footerContent,
    .narrowContent,
    .bookBox {
        width: 100% !important;
    }

    .mainContents section.note_txt p {
        margin: 20px 0;
    }

    /* maintitle */
    .maintitle {
        background-position: left center;
        display: flex;
        align-items: center;
    }

    .maintitle h1 {
        margin-left: 5%;
        padding-top: 0;
        min-width: auto;
        line-height: 1.5;
    }

    .concept .maintitle {
        background-image: url(/common/img/concept/maintitle_sp.webp);
    }

    .intensive .maintitle {
        background-image: url(/common/img/intensive/maintitle_sp.webp);
    }

    .quality .maintitle {
        background-image: url(/common/img/quality/maintitle_sp.webp);
    }

    .development .maintitle {
        background-image: url(/common/img/development/maintitle_sp.webp);
    }

    .protect .maintitle {
        background-image: url(/common/img/protect/maintitle_sp.webp);
    }

    .management .maintitle {
        background-image: url(/common/img/management/maintitle_sp.webp);
    }

    .recruit .maintitle {
        background-image: url(/common/img/recruit/maintitle_sp.webp);
    }

    .application .maintitle,
    .application.thanks .maintitle {
        background-image: url(/common/img/application/maintitle_sp.webp);
    }

    .staff .maintitle {
        background-image: url(/common/img/staff/maintitle_sp.webp);
        background-position: right center;
    }

    .guide .maintitle {
        background-image: url(/common/img/guide/maintitle_sp.webp);
    }

    .preventive .maintitle {
        background-image: url(/common/img/preventive/maintitle_sp.webp);
    }

    .general .maintitle {
        background-image: url(/common/img/general/maintitle_sp.webp);
    }

    .periodontal .maintitle {
        background-image: url(/common/img/periodontal/maintitle_sp.webp);
    }

    .orthodontic .maintitle {
        background-image: url(/common/img/orthodontic/maintitle_sp.webp);
        height: 200px;
    }

    .cosmetic .maintitle {
        background-image: url(/common/img/cosmetic/maintitle_sp.webp);
    }

    .surgery .maintitle {
        background-image: url(/common/img/surgery/maintitle_sp.webp);
    }

    .links .maintitle {
        background-image: url("/common/img/access/maintitle_sp.webp");
    }

    .privacy .maintitle {
        background-image: url("/common/img/privacy/maintitle_sp.webp");
    }

    .manual .maintitle {
        background-image: url("/common/img/manual/maintitle_sp.webp");
    }

    .blog_wrap .maintitle {
        background-position: 90% center;
    }

    .line.medical-ttl {
        font-size: 20px;
    }

    .guideTxt.health-ttl {
        font-size: 18px;
    }

    /*----------------------------------------------------------
   SP 共通部分 */

    #g-nav {
        display: none;
    }

    header {
        box-sizing: border-box;
        height: 60px;
    }

    .headerContents {
        padding: 2px 155px 0 4%;
        display: flex;
        align-items: center;
        overflow: visible;
        position: relative;
        height: 55px;
        gap: 10px;
    }

    header .logo {
        height: auto;
        max-width: calc(100% - 80px);
        padding: 0;
        display: flex;
        align-items: center;
    }

    header .logo img {
        height: auto;
        width: 90px;
        margin-bottom: 0;
    }

    .logo-02 {
        width: unset;
        max-width: fit-content;
        margin-left: 0;
        height: unset;
    }

    .logo-02 img {
        width: 80px;
    }

    .job-site {
        max-width: 40px;
        width: 100%;
        height: 40px;
        margin: 0;
        float: unset;
        position: absolute;
        right: 113px;
        top: 7px;
    }

    .job-site span {
        font-size: 12px;
        line-height: 1.5;
        width: unset;
    }

    .dental-width.dental-width2 img {
        width: 100%;
        height: auto;
    }

    header .header-tel {
        position: absolute;
        top: calc((100% - 40px) / 2);
        right: calc(5% + 50px);
        border: 1px solid #e8798a;
        border-radius: 4px;
    }

    .sp_fixed_footer .btn01 {
        width: 56%;
        line-height: 18px;
        height: auto;
        padding: 7px 10px 7px 0;
    }

    .sp_fixed_footer .btn01:after {
        line-height: 0px;
        right: 4px;
    }

    .sp_fixed_footer .footer-tel a:nth-child(1) {
        width: 40px !important;
        height: 40px;
        border-right: 0;
        padding: 5px;
        align-items: center;
        text-align: center;
        border: 1px solid #e8798a;
        border-radius: 4px;
        margin-right: 2px;
    }

    .footer-tel a img {
        height: auto;
        width: auto;
        max-width: 100%;
        max-height: 100%;
    }

    .sp_fixed_footer .footer-tel a {
        background: #fff;
        justify-content: center;
    }

    header .header-tel a {
        width: 40px;
        height: 40px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        padding: 5px;
        box-sizing: border-box;
    }

    header .header-tel a img {
        height: auto;
        width: auto;
        max-width: 100%;
        max-height: 100%;
        margin-top: 20px;
    }

    .ig-ico {
        width: 40px;
        height: 40px;
        position: absolute;
        right: 65px;
        top: 9px;
    }

    .ig-ico img {
        width: 100%;
    }

    /*  sp toggle*/
    .menu-trigger {
        position: absolute;
        width: 40px;
        height: 40px;
        border: 1px solid #e8798a;
        border-radius: 4px;
        top: calc((100% - 40px) / 2);
        right: 15px;
        z-index: 1000;
    }

    .menu-trigger span {
        display: inline-block;
        -webkit-transition: all 0.4s;
        transition: all 0.4s;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        position: absolute;
        left: 10px;
        width: 20px;
        height: 2px;
        border-radius: 1px;
        background-color: #e8798a;
    }

    .menu-trigger span:nth-of-type(1) {
        top: 13px;
    }

    .menu-trigger span:nth-of-type(2) {
        top: 20px;
    }

    .menu-trigger span:nth-of-type(3) {
        top: 27px;
    }

    .menu-trigger.active span:nth-of-type(1) {
        -webkit-transform: translateY(7px) rotate(-45deg);
        transform: translateY(7px) rotate(-45deg);
    }

    .menu-trigger.active span:nth-of-type(2) {
        opacity: 0;
    }

    .menu-trigger.active span:nth-of-type(3) {
        -webkit-transform: translateY(-7px) rotate(45deg);
        transform: translateY(-7px) rotate(45deg);
    }

    nav.header-nav {
        -webkit-transition: all 0.6s;
        transition: all 0.6s;
        opacity: 0;
        position: absolute;
        top: 55px;
        left: 0;
        width: 100%;
        z-index: 5;
        -webkit-transform: translateY(calc(-100% - 55px));
        transform: translateY(calc(-100% - 55px));
    }

    nav.header-nav ul {
        width: 100%;
    }

    nav.header-nav ul li {
        border-bottom: 1px solid #fff;
        background-color: #e8798a;
        text-align: center;
    }

    nav.header-nav ul li a,
    nav.header-nav ul li p {
        padding: 10px;
        line-height: 1.2;
        display: block;
        color: #fff;
        text-decoration: none;
        font-weight: bold;
    }

    nav.header-nav .btn_wrap ul li a {
        padding: 10px 5px;
    }

    nav.header-nav ul li.manual {
        padding: 15px 5%;
    }

    nav.header-nav ul li.manual a {
        color: #e8798a;
        background: #fff url(../img/home/banner_bg06.webp) no-repeat right top / auto 100%;
        text-align: left;
        height: 30px;
        line-height: 30px;
    }

    nav.header-nav.active {
        -webkit-transform: translateY(0);
        transform: translateY(0);
        opacity: 1;
        height: calc(100vh - 55px);
        overflow-y: auto;
    }

    .toggle {
        position: relative;
    }

    .toggle_btn span {
        display: inline-block;
        -webkit-transition: all 0.4s;
        transition: all 0.4s;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        width: 12px;
        height: 2px;
        background-color: #fff;
        position: absolute;
        right: 5%;
        top: 20px;
    }

    .toggle_btn span:nth-of-type(1) {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
        opacity: 1;
    }

    .toggle_btn span:nth-of-type(2) {
        -webkit-transform: rotate(90deg);
        transform: rotate(90deg);
    }

    .toggle_btn.active span:nth-of-type(1) {
        opacity: 0;
    }

    .toggle_btn.active span:nth-of-type(2) {
        -webkit-transform: rotate(180deg);
        transform: rotate(180deg);
    }

    .toggle_menu {
        position: relative;
        display: none;
        background-color: #000f37;
    }

    .toggle_menu::after {
        content: "";
        display: block;
        clear: both;
    }

    .toggle_menu li {
        width: 100%;
    }

    .toggle_menu li:not(:last-of-type) {
        border-bottom: 1px solid #e8798a !important;
    }

    .toggle_menu li a {
        background-color: #fff !important;
        font-size: 13px !important;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        text-align: center;
        position: relative;
        letter-spacing: 0.05em;
        color: #e8798a !important;
    }

    .toggle_menu li a span {
        font-size: 10px;
        line-height: 1;
        display: block;
        margin-bottom: 5px;
    }

    .toggle_menu li a::after {
        content: "";
        position: absolute;
        width: 6px;
        height: 6px;
        border-top: 1px solid #e8798a;
        border-right: 1px solid #e8798a;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        right: 16px;
        top: calc((100% - 10px) / 2);
    }

    article.wideContent,
    article.narrowContent {
        padding: 0 5%;
        box-sizing: border-box;
    }

    #wrap {
        padding: 0;
    }

    .marginTop {
        margin-top: 50px;
    }

    .mainContents,
    aside {
        width: 100%;
        float: none;
    }

    .textBox {
        width: 100%;
        padding: 0;
    }

    .subpages section {
        margin: 50px 0;
        padding: 0;
    }

    .subpages section .marginTop:first-of-type {
        margin-top: 0;
    }

    .subpages .line {
        width: 100%;
        box-sizing: border-box;
    }

    .Breadcrumb {
        margin: 20px 5%;
        width: 90%;
    }

    .subpages article.wideContent h2+p,
    .subpages article.wideContent h3+p {
        width: 100%;
        text-align: left;
    }

    .manualBnr {
        float: none;
        width: 100%;
        margin-top: 20px;
    }

    .main-visual,
    .bottomImg {
        height: 40vw;
        margin: 50px -5vw;
        padding: 0 5vw;
    }

    /* .main-visual .topImg{
    height: 75vw;
  } */

    .wideInner .textBox,
    .wideInner .whiteBox {
        width: 100%;
        padding: 0;
    }

    .stepList li {}

    .stepList li>span {
        float: left;
        line-height: 40px !important;
        width: 40px;
        height: 40px;
    }

    .stepList li p {
        width: 100%;
    }

    .stepList li.notable>p {
        margin-left: 60px;
        width: auto;
    }

    .stepList li p .subtext {
        margin-left: -60px;
    }

    .stepList .notable .box {
        padding: 5vw !important;
    }

    .stepList .notable .box em {
        margin: 0;
    }

    .stepList .subList {
        margin: 30px 0 0;
    }

    .faq dd {
        margin-right: 0;
    }

    .wideInner {
        overflow: visible;
    }

    .wideInner img.left,
    .wideInner img.right {
        float: none;
        margin-bottom: 20px;
    }

    .wideInner .textBox img.left+h3,
    .wideInner .textBox img.left+p,
    .wideInner .textBox img.left+h3+p {
        margin-left: 0;
    }

    .wideInner .textBox img.right+h3,
    .wideInner .textBox img.right+p,
    .wideInner .textBox img.right+h3+p {
        margin-right: 0;
    }

    article.wideContent .seal .seal-img:first-child,
    article.wideContent .seal .seal-img {
        width: auto;
        margin-bottom: 20px;
    }

    .fixedCircleBnr {
        display: none;
    }

    .bookBox {
        margin: 30px 0;
    }

    .bookBox ul {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }

    .bookBox ul li {
        width: calc((100% - 20px) / 2);
        margin: 0;
        height: auto;
    }

    .bookBox ul li:nth-child(n + 3) {
        margin-top: 20px;
    }

    .staffBox {
        margin: 30px 0;
    }

    .staffBox table {
        width: 100%;
        word-break: break-all;
    }

    .staffBox table th {
        width: 100px;
        padding: 0;
        text-align: left;
    }

    .featureBox {
        width: 100%;
        padding: 20px 5vw;
        margin: 20px 0;
        box-sizing: border-box;
    }

    .recruitTable,
    .recruitTableBox {
        width: 100%;
        padding: 5vw;
        margin: 0 -5vw;
        box-sizing: content-box;
    }

    .recruitTable table th,
    .recruitTable table td {
        padding: 10px;
    }

    .recruitTable table th {
        min-width: 30px;
    }

    .formTable th {
        padding: 30px 0 0 10px;
        text-align: left;
        font-size: 12px;
    }

    .formbtn {
        width: 100% !important;
    }

    aside dl {
        margin-bottom: 20px;
    }

    .sideBns {
        margin-bottom: 20px;
    }

    .sideBns li:nth-child(5) {
        background: #fff url(/common/img/home/banner_bg05_3_2_sp.webp) no-repeat;
    }

    .sideBns li {
        background-position: right !important;
        background-size: contain !important;
        margin-bottom: 10px;
    }

    .sitebanners {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .sitebanners li {
        width: calc((100% - 10px) / 2);
        /* margin-bottom: 10px; */
    }

    .sitebanners li img {
        width: 100% !important;
        height: auto !important;
    }

    .mainContents section {
        padding-bottom: 50px;
    }

    .line+.textBox {
        padding: 0;
    }

    .jobslist li {
        width: 50%;
    }

    .jobslist li:nth-child(n + 3) {
        margin-top: 20px;
    }

    .staffBox+.textBox {
        width: 100%;
    }

    .circlearea {
        width: 100%;
        height: auto;
        float: none;
    }

    .subpages .textBox:not(:last-of-type) {
        margin-bottom: 30px;
    }

    .subpages .textBox h3 {
        margin: 10px 0;
    }

    .subpages .textBox p {
        margin-bottom: 10px;
    }

    .subpages .textBox img {
        float: none;
        display: block;
        margin: 0 auto 20px;
    }

    .textBox img.right+p+ul li,
    .textBox ul li {}

    .textBox p .s-tit {
        text-align: center;
        margin-bottom: 20px;
        font-weight: bold;
        display: inherit;
        font-size: 18px;
    }

    .textBox .c-smile .smile-item img,
    .textBox .c-smile .smile-item iframe {
        width: 100%;
        height: auto;
    }

    .textBox .c-smile .smile-item iframe {
        height: 200px;
    }

    .textBox .ability {
        font-size: 25px;
        font-weight: bold;
        text-align: center;
        margin: 15px 0 20px;
    }

    .textBox .ability+p,
    .textBox .ability+p+p {
        font-size: 20px;
        font-weight: bold;
    }

    .textBox .ability+p span {
        font-size: 12px;
        display: block;
    }

    .textBox .in-office {
        display: flex;
        justify-content: space-between;
    }

    .textBox .in-office .img {
        width: 24%;
    }

    .textBox .in-office .img img {
        width: 100%;
        height: auto;
    }

    .whiteBox {
        width: 100%;
    }

    .flow {
        padding: 50px 5vw;
        width: 100%;
        margin: 0 -5vw;
        box-sizing: content-box;
    }

    .flow dl {
        width: 100%;
        float: none;
        height: auto;
        border-right: none;
    }

    .flow dl:not(:first-child) dt {
        border-top: 1px solid #fbc4cc;
    }

    .pricetable table th,
    .pricetable table td {
        padding: 10px;
    }

    .tejyunn img,
    .textBox div.center img {
        width: 100%;
        height: auto;
    }

    .guidetable table th,
    .guidetable table td {
        padding: 10px;
        display: block;
        width: 100%;
        box-sizing: border-box;
    }

    .blogList {
        padding: 0;
        margin-bottom: 30px;
    }

    .linkBox {
        width: 100%;
    }

    .six-banners-box {
        padding: 0;
        background: none;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        margin-top: 50px;
    }

    .six-banners-box li {
        padding-right: 0;
        padding-bottom: 10px;
        width: 100%;
    }

    .six-banners-box li a {
        display: block;
    }

    .six-banners-box li a img {
        width: 100%;
        height: auto;
    }

    .six-banners-box.bottom li {
        /* width: calc((100% - 10px) / 2); */
    }

    .topLink {
        position: fixed;
        bottom: 17vw;
        right: 5%;
        z-index: 100;
    }

    .topLink a {
        font-size: 0;
        background-color: #e8798a;
        width: 40px;
        height: 40px;
        position: relative;
    }

    .topLink a::before {
        content: "";
        position: absolute;
        left: 12px;
        top: 16px;
        width: 14px;
        height: 14px;
        border-top: 2px solid #fff;
        border-right: 2px solid #fff;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }

    footer {
        /*    margin-top: 60px;*/
        padding: 30px 5% 0;
    }

    footer .footerContent {
        padding: 0;
        display: flex;
        flex-wrap: wrap;
    }

    footer .footerContent>div {
        width: 100%;
    }

    footer .f-data,
    footer .f-hours {
        width: 100%;
        padding-top: 0;
        padding-bottom: 30px;
        float: none;
    }

    footer #map_canvas {
        height: 350px;
        order: 3;
    }

    footer .f-hours .phoneNum,
    footer .f-hours .timetable {
        width: 100%;
    }

    footer .f-hours .phoneNum em {
        font-size: 25px;
        letter-spacing: 0.28em;
        padding: 5px 0;
    }

    footer .f-hours .timetable {
        padding-bottom: 30px;
    }

    footer .f-linklist {
        margin: 30px 0;
        border-top: #fef9e1 dotted 1px;
        padding-top: 30px;
        order: 4;
    }

    footer .f-linklist dl {
        padding: 0;
        width: 50%;
        border-left: none;
    }

    footer .f-linklist dl:nth-child(2) {
        width: 100%;
        margin-bottom: 30px;
    }

    footer .f-linklist dl:nth-of-type(1) {
        width: 100%;
        margin-bottom: 30px;
    }

    footer .f-linklist dl dt {
        padding-bottom: 5px;
    }

    footer .CopyrightBox {
        margin: 0 -5vw;
        padding: 5px 5vw;
        line-height: normal;
    }

    footer .CopyrightBox p {
        text-align: center;
        padding: 0;
        float: none;
    }

    /* SP 共通部分　End
---------------------------------------------------------- */

    /*   home   */
    #home .greeting_text,
    #home .feature_text,
    #home .treatment_text,
    #home .yoyaku_text {
        text-align: left;
    }

    #home .news_text {
        text-align: left;
        margin-bottom: 20px;
    }

    #home .news_text:not(:last-of-type) {
        margin-bottom: 30px;
    }

    #home .news_text .pink_txt {
        display: inline;
    }

    #home .feature_text p:not(:last-of-type) {
        margin-bottom: 20px;
    }

    .rslides {
        overflow: initial !important;
    }

    .rslides li {
        background-size: 100vw auto !important;
        height: 500px !important;
    }

    .rslides li:nth-child(1) {
        background: url(/common/img/home/slide02_sp.webp) no-repeat center center/ cover !important;
    }

    .rslides li:nth-child(2) {
        background: url(/common/img/home/slide01_sp.webp) no-repeat center center / cover !important;
    }

    .rslides li:nth-child(3) {
        background: url(/common/img/home/slide04_sp.webp) no-repeat center center / cover !important;
    }

    .rslides li:nth-child(4) {
        background: url(/common/img/home/slide03_sp.webp) no-repeat center center/ cover !important;
    }

    /* .rslides li:nth-child(5) {
    background: url(/common/img/home/slide04_sp.webp) no-repeat center center/
      cover !important;
  } */

    /*slide text*/
    .rslides li:nth-child(1)::after {
        content: "";
        position: absolute;
        bottom: -70px;
        left: 0px;
        height: 100%;
        width: 50vw;
        background: url(/common/img/home/slide_txt2.webp) no-repeat center center/ contain !important;
    }

    .rslides li:nth-child(2)::after {
        content: "";
        position: absolute;
        top: -100px;
        right: -20px;
        height: 100%;
        width: 50vw;
        background: url(/common/img/home/slide_txt1.webp) no-repeat center center/ contain !important;
    }

    .rslides li:nth-child(3)::after {
        content: "";
        position: absolute;
        top: 62px;
        right: -45px;
        height: 100%;
        width: 70vw;
        background: url(/common/img/home/slide_txt4.webp) no-repeat center center/ contain !important;
    }

    .rslides li:nth-child(4)::after {
        content: "";
        position: absolute;
        top: -38px;
        left: -32px;
        height: 100%;
        width: 60vw;
        background: url(/common/img/home/slide_txt3.webp) no-repeat center center/ contain !important;
    }

    article.wideContent {
        width: 100vw;
        overflow: hidden;
        text-align: center;
        padding-bottom: 0;
    }

    .wideInner {
        width: 100vw;
    }

    .pageIcon {
        display: block;
        margin: 35px auto;
    }

    article.wideContent h2 {
        font-size: 24px;
        padding-bottom: 25px;
    }

    article.wideContent h2+p,
    article.wideContent h3+p {
        width: 80vw;
        font-size: 12px;
        margin: 0 auto 35px;
    }

    .doctor {
        display: block;
        margin-bottom: 80px;
    }

    .line {
        width: 90vw;
        font-size: 20px;
        margin: 0 auto 25px;
    }

    .conceptNav li {
        width: 100vw !important;
        height: 230px;
        overflow: initial;
        margin: 0 0 180px -5vw !important;
    }

    /*add 20190702*/
    /*.conceptNav.add li:nth-child(1) {
    height: 310px;
    background-position: 28%;
  }
  .conceptNav.add li:nth-child(1) dl:before {
    height: 73%;
  }
  .conceptNav.add li:nth-child(1) dl:after {
    height: 66%;
  }*/
    /*.conceptNav.add li:nth-child(2) {
    height: 435px;
  }
  .conceptNav.add li:nth-child(2) .recruit_yt{
    width:100%;
    margin-left: 0;
    margin-top:10px;
  }
  .conceptNav.add li:nth-child(2) .recruit_yt iframe {
    height: 300px;
  }*/
    .conceptNav.add li.child-3 {
        height: 390px;
        background-position: 24% 0%;
        background-size: 235% auto;
    }

    /*.conceptNav.add li:nth-child(1) dl {
    height: 490px;
    margin-bottom: 0;
  }
  .conceptNav.add li:nth-child(1) dl dt {
    margin: 115px auto 10px;
  }
  .conceptNav.add li:nth-child(2) dl {
    height: 300px;
    margin-top: 0;
    margin-bottom: 0;
  }
  .conceptNav.add li:nth-child(2) dl:before {
    top: 0;
  }*/
    /*.conceptNav.add li:nth-child(2) dl:after {
    top: 3%;
    height: 88%;
  }
  .conceptNav.add li:nth-child(2) dl dt {
    margin: -35px auto 10px auto;
  }*/
    .conceptNav.add li.child-3 {
        background: unset;
        height: auto;
        margin: 0 0 10px -5vw !important;
    }

    .conceptNav.add li .sp-on img {
        width: 100%;
    }

    .conceptNav.add li.child-3 dl {
        /*height: 415px;*/
        /* height: 470px; */
        height: auto;
        margin: 10px 0 0 0;
        padding-bottom: 40px;
    }

    .conceptNav.add li.child-3 dl:before {
        height: 100%;
        top: 0%;
    }

    .conceptNav.add li.child-3 dl:after {
        height: 94%;
        top: 3%;
    }

    /*add 20190718*/
    .conceptNav.add li.child-3 dl dt {
        margin: 25px auto 10px;
        padding: 0;
    }

    .conceptNav.add li.child-3 {
        background: unset;
        margin: 0 0 0px -5vw !important;
        height: auto;
        /*height: 720px;*/
    }

    .conceptNav.add li:nth-child(4) dl {
        height: 435px;
        margin: 10px 0;
    }

    .conceptNav.add li:nth-child(4) dl:before {
        top: 0;
        height: 100%;
    }

    .conceptNav.add li:nth-child(4) dl:after {
        top: 3%;
        height: 94%;
    }

    .conceptNav.add li:nth-child(4) dl dt {
        margin: 30px auto 10px;
        padding: 0;
    }

    /*add 20190718*/
    /*add 20190702*/
    .conceptNav li:nth-child(2n) dl,
    .conceptNav li:nth-child(2n-1) dl {
        margin-left: 0px;
    }

    .conceptNav li:nth-child(1),
    .conceptNav li:nth-child(3) {
        background-position: 98%;
    }

    .conceptNav li:nth-child(2) {
        background-position: 9%;
    }

    .conceptNav li:nth-child(4) {
        background-size: 240% auto;
        background-position: 38% 0;
    }

    .conceptNav li:nth-child(5) {
        background-position: 35%;
    }

    .conceptNav li dl {
        width: 100%;
        height: 400px;
        margin: 30px 0;
        position: relative;
        left: 0;
    }

    .conceptNav li dl p {
        font-size: 12px;
        width: 76vw;
        margin-bottom: 20px;
    }

    .conceptNav li dl dt {
        font-size: 20px;
        margin: 90px auto 10px;
    }

    .conceptNav li dl:before {
        left: 0;
        right: 0;
        margin: 0 auto;
        top: 30%;
        width: 94%;
        height: 94%;
    }

    .conceptNav li dl:after {
        content: "";
        position: absolute;
        left: 5%;
        top: 32%;
        z-index: 1;
        width: 90%;
        height: 66%;
    }

    .guideTxt {
        border-bottom: none;
        text-align: center;
        padding: 0;
    }

    .guideTxt span {
        border-left: none;
        margin-left: 0;
        padding: 0;
    }

    #home .guideTxt span {
        border-left: none;
        margin-left: 0;
        padding: 0;
        display: block;
        text-align: left;
        line-height: 1.85;
    }

    .guideList {
        display: block;
        margin: 35px 0 0px;
    }
    .guideList.guideList_new{
        flex-direction: column;
    }
    

    .guideList li {
        width: 100%;
        float: left;
        position: relative;
        margin: 0 auto 60px;
    }

    .guideList li:last-of-type {
        margin-bottom: 0;
    }

    .guideList.triple {
        width: 100%;
        padding: 0;
    }

    .guideList li span {
        right: 0;
        left: 0;
        margin: 0 auto;
    }

    .guideList li:hover span {
        right: 0;
        left: 0;
        margin: 0 auto;
    }

    .guideList li dt {
        font-size: 16px;
        margin: 20px 0 15px;
    }

    .pinkBox {
        margin: 40px -5vw 80px;
    }

    .pinkBox h3 {
        font-size: 15px;
        padding-bottom: 13px;
        margin-bottom: 15px;
    }

    .bns_sns {
        width: 100%;
        margin: 0 auto;
    }

    .bnsList {
        float: none;
        width: 80vw;
        margin: 0 auto 35px;
    }

    .bnsList li strong {
        padding-left: 20px;
        width: 90%;
        display: block;
        line-height: 100px;
        font-size: 14px;
    }

    .facebook {
        float: none;
        width: 100%;
        margin: 0 auto;
    }

    #fb_page_plugin_area {
        width: 80vw;
        margin: 0 auto;
    }

    .bannersBox {
        margin: 10px auto;
        width: 90vw;
        padding: 18px;
        display: inline-block;
    }

    .bannersBox li {
        text-align: left;
        height: 112px;
        box-sizing: border-box;
        position: relative;
        z-index: 1;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
    }

    .bannersBox li:nth-child(2) {
        width: initial;
        width: 100%;
    }

    .bannersBox li:nth-child(3) {
        width: 100%;
    }

    .bannersBox li::before {
        content: "";
        position: absolute;
        background: -moz-linear-gradient(left, #fff8f8 50%, transparent);
        background: -webkit-linear-gradient(left, #fff8f8 50%, transparent);
        background: linear-gradient(to right, #fff8f8 50%, transparent);
        left: 0;
        top: 0;
        width: 70%;
        height: 100%;
        z-index: -1;
    }

    .bannersBox li a {
        /* border: #e8798a solid 1px; */
        box-sizing: border-box;
        z-index: 2;
    }

    .bannersBox li strong {
        width: 100%;
        margin-bottom: 5px;
    }

    .bannersBox li p {
        width: 70%;
    }

    .bannersBox li strong {
        font-size: 14px;
    }

    .bannersBox li p {
        font-size: 10px;
        line-height: 1.4;
    }

    .waku {
        border: dotted #e8798a 1px;
        border-radius: 5px;
        padding: 50px 20px;
        width: 100%;
        box-sizing: border-box;
        background-color: #fff;
        margin-bottom: 10px;
    }

    .calendarBox {
        width: 80vw;
    }

    .attention+small {
        width: 100%;
        margin-bottom: 0px;
    }

    /* home news */
    .newsList {
        width: 100%;
    }

    .newsList li time {
        float: left;
        padding: 0;
    }

    .newsList li time+div {
        margin: 30px 0 0;
        text-align: justify;
        font-size: 12px;
    }

    /* home calendar */
    .calendar table {
        width: 100%;
    }

    .calendar {
        width: auto;
    }

    #cal02 {
        margin-top: 20px;
    }

    /* -------------------- Add 120918 ------------------------ */

    .add_120918 {
        border: solid #e8798a 1px;
        padding: 10px;
        width: 90vw;
        box-sizing: border-box;
        margin: 0 auto;
        font-size: 11px;
    }

    .denture img {
        display: block;
        width: 100%;
        height: auto;
        margin-bottom: 30px;
    }

    .top_reserve {
        width: 90vw;
        margin: 0 auto 30px;
        box-sizing: border-box;
    }

    .video {
        position: relative;
        padding-bottom: 56.25%;
        /*アスペクト比 16:9の場合の縦幅*/
        height: 0;
        overflow: hidden;
        width: 100%;
    }

    .video iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }

    /* subpages */
    .subpages .full_img {
        margin: 0 -5vw;
    }

    .subpages .full_img img {
        width: 100%;
        height: auto;
    }

    /* concept */
    .conceptBox {
        margin-bottom: 50px;
    }

    .conceptBox li {
        margin: 0 -5vw;
        padding: 200px 5vw 0;
        height: auto;
    }

    .conceptBox li:last-child {
        padding-top: 40vw;
    }

    .conceptBox li:nth-child(5):after {
        background-size: 140%;
        background-position: center;
        height: 40vw;
    }

    .conceptBox li::after {
        width: 100%;
        height: 200px;
    }

    .conceptBox li dl {
        width: 100%;
        position: static;
        padding: 30px 0;
        height: auto;
    }

    .conceptBox li:nth-child(even) dl {
        text-align: left;
    }

    .conceptBox li:nth-child(odd) .btn01 {
        float: right;
    }

    .treatmentBox h3 {
        line-height: 30px;
        padding: 0;
    }

    .treatment-list {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }

    .treatment-list li {
        width: 48%;
        margin-bottom: 20px;
    }

    .treatment-list li img {
        width: 80%;
        height: auto;
    }

    .treatment-list p {
        font-size: 13px;
    }

    .treatment-list .treatment-title {
        margin: 10px 0;
    }

    /* management */
    .management .stepList {
        margin: 30px 0;
    }

    .management .stepList li:nth-of-type(4) p {
        padding-top: 10px;
    }

    .bookBox li img {
        max-width: 100%;
    }

    .bookBox li>a,
    .bookBox li>span {
        height: auto;
    }

    /*recruit*/
    .recruit .recruit_job h3 {
        font-size: 16px;
        margin-bottom: 5px;
    }

    .recruit .recruit_yt {
        text-align: center;
        margin-bottom: 20px;
    }

    .recruit .recruit_yt iframe {
        width: 100%;
        height: 60vw;
    }

    .recruit [id$="Form"] iframe {
        height: 800px;
        width: 100%;
    }

    .recruit_job+p {
        text-align: left;
    }

    /* guide */
    .guide .guideListBox {
        margin: 50px -5vw 0;
        padding: 5vw;
    }

    .guide .guideList li img {
        width: 60%;
        max-width: 200px;
        height: auto;
    }

    .guideList li span {
        display: none;
    }

    .guideList li dd {
        width: 100%;
        text-align: left;
    }

    .guideList a:hover {
        color: transparent;
    }

    /* periodontal */
    .periodontal #anchor01 img {
        width: 100%;
        height: auto;
    }

    /* orthodontic */
    .orthodontic .textBox div.center img {
        margin: 20px 0;
    }

    /* clinic */
    .clinic .maintitle {
        background-image: url(/common/img/clinic/maintitle_sp.webp);
        background-position: right center;
    }

    .clinic .clinicPhoto01.narrow {
        width: 80vw;
    }

    .clinicPhoto01.narrow li {
        float: none;
        margin: 0px;
    }

    .clinic .ctstep li {
        float: none;
        width: 100%;
        padding-left: initial;
        margin-bottom: 50px;
    }

    .ct2_img,
    .ct8_img {
        width: 90vw;
        height: 100%;
        float: none;
    }

    .ct8_txt {
        width: 97vw;
        margin: 20px 0 0 -30px;
    }

    .clinic .ctstep li p {
        width: 70vw;
        margin: 0 auto;
        line-height: 1.6;
        text-align: left;
    }

    .clinic .msg {
        padding: 0 4vw;
    }

    .clinic .msg p {
        text-align: justify;
    }

    /* access */
    .access .maintitle {
        background-image: url(/common/img/access/maintitle_sp.webp);
    }

    .shinbi_img {
        float: none;
    }

    .accessList li {
        width: 100vw;
        overflow: visible;
        word-break: break-all;
    }

    .accessList li p {
        margin-left: 0%;
        width: 90vw;
    }

    .access .mainContents section h2 {
        text-align: center;
        padding: 0;
    }

    .access.timetable {
        float: none;
        width: 90vw;
    }

    .access.timetable+p {
        margin: 20px auto 0;
        float: left;
    }

    .access .accessList li em i {
        font-style: normal;
        display: inline-block;
        width: 90vw;
    }

    .access .emergency .accessList li em {
        float: left;
        width: 90vw;
    }

    .emergency h3 small {
        margin-left: 0px;
        word-break: break-all;
    }

    .access .accessList.wide li p {
        margin-left: 1em;
        width: calc(90vw - 1em);
    }

    .access .subpages .textBox p {
        width: calc(90vw - 1em);
        float: left;
        margin-left: 1em;
    }

    .access footer {
        margin-top: 0;
    }

    /* price */
    .price .maintitle {
        background-image: url(/common/img/price/maintitle_sp.webp);
    }

    .price .whitebox {
        padding: 5% 3% 0% !important;
    }

    .price .pricetable table th,
    .price .pricetable table td {
        font-size: 10px;
        padding: 8px;
    }

    .price .pricetable h3 {
        font-size: 16px;
        margin-bottom: 10px;
    }

    .price .textBox:not(:last-of-type) {
        /* margin-bottom: 30px; */
        padding: 0 5%;
        box-sizing: border-box;
    }

    .price .square li {
        margin-right: 0px;
    }

    /* manual */
    .manual .manualBox {
        width: 100%;
    }

    .manual .textBox iframe {
        width: 100%;
        height: 200px;
    }

    .manual #tab-menu {
        display: flex;
    }

    .manual #tab-menu li {
        font-size: 0.8em;
        padding: 5px 10px;
        width: calc((100% - 6px) / 4);
    }

    .manual #tab-menu li:not(:last-child) {
        margin-right: 2px;
    }

    .textBox2 {
        width: 100%;
    }

    .manual .subtext {
        width: 100%;
        box-sizing: border-box;
    }

    .pricetable3 table th,
    .pricetable3 table td {
        display: block;
        width: 100%;
        box-sizing: border-box;
    }

    .manual .pricetable2 {
        width: 100%;
        overflow: scroll;
    }

    .manual .pricetable2 table {
        width: 800px;
    }

    .manual .manualBox {
        float: none;
        padding: 0;
    }

    .manual .line+.textBox {
        text-align: left;
    }

    .manual #tab-box {
        padding: 20px 0;
    }

    .manual .li_he {
        line-height: 2;
        padding: 10px 0;
    }

    .manual .manualBox2 {
        width: 100%;
    }

    .manual .stepList {
        width: 100%;
        float: none;
    }

    .manual .stepList li {
        padding-bottom: 10px;
    }

    .manual .scroll-x {
        width: 100%;
        overflow-x: scroll;
    }

    /*  blog  */
    ul.pages {
        margin-top: 20px;
    }

    .blog_wrap .line {
        width: 100%;
        box-sizing: border-box;
    }

    [id^="anchor"] {
        margin-top: 0 !important;
        padding-top: 0 !important;
        margin-bottom: 0 !important;
    }

    [id^="anchor"]::before {
        content: "";
        display: block;
        height: 55px;
        /* ヘッダの高さ */
        margin-top: -55px;
        /* ヘッダの高さ */
        vertical-align: top;
    }

    [id^="anchor"] .marginTop {
        margin-top: 0;
    }

    #anchor01a::before,
    #anchor01b::before,
    #anchor01c::before {
        margin-top: 0;
    }

    .circlearea span {
        display: none;
    }

}

@media (max-width: 320px) {
    footer .f-hours .phoneNum em {
        font-size: 20px;
    }

    .maintitle {
        background-position: -15vw center;
    }
}

/* Edge */
@supports (-ms-ime-align: auto) {}

/*add 20190808*/
.underline_txt {
    text-decoration: underline;
}

.pdB0 {
    padding-bottom: 0 !important;
}

.mgB0 {
    margin-bottom: 0 !important;
}

.mgL5 {
    margin-left: 5px;
}

/*add 20190813*/
.mg20 {
    margin: 20px 0;
}

.full_W {
    width: 100%;
}

.full_W img {
    width: 100%;
    max-width: 100%;
    height: auto;
}

/*add 20190813*/
@media (min-width: 768px) {
    .smallBox {
        margin: 30px auto 0;
        width: 600px;
    }

    .small_txt {
        font-size: 12px;
    }

    .society_txt {
        width: auto !important;
        text-align: left;
        margin: 0 0 0 5px !important;
    }

    .small_blog {
        width: 1000px;
        background: #fff;
    }

    .small_blog .small_txt {
        padding: 0 25px 25px 25px;
    }

    .txt_note {
        text-align: left;
        margin-top: 20px;
    }
}

@media (max-width: 767px) {
    .smallBox {
        width: 100%;
    }

    .small_txt {
        font-size: 12px;
    }

    .society_txt {
        width: auto !important;
        text-align: left;
        margin: 0 0 0 5px !important;
    }

    article.wideContent h2.guide-ttl {
        font-size: 24px;
    }

    #home .small_blog,
    .sitemap_mgB .small_blog {
        margin-bottom: 50px;
    }

    .txt_note {
        text-align: left;
        margin-top: 15px;
    }
}

/*add 20190823*/
.sp {
    display: none;
}

.before_after_box table {
    width: 100%;
    border: 1px solid #d6d6d6;
}

.before_after_box table tr {
    width: 100%;
}

.before_after_box table tr th {
    padding: 5px;
    border-right: 1px solid #d6d6d6;
    border-bottom: 1px solid #d6d6d6;
}

.before_after_box table tr td {
    width: 50%;
    border-right: 1px solid #d6d6d6;
}

.before_after_box table tr td div {
    width: 70%;
    margin: 10px auto;
}

.before_after_box table tr td div img {
    width: 100%;
    height: 100%;
    max-width: 100%;
}

.treatment_info {
    margin: 20px 0;
}

.treatment_info table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 5px;
}

.treatment_info table tr {
    width: 100%;
}

.treatment_info table tr th {
    width: 120px;
    padding: 10px 20px;
    text-align: left;
    font-weight: bold;
    vertical-align: middle;
    background: #ffeff2;
}

.treatment_info table tr td {
    padding: 10px 20px;
    background: #f6f6f6;
}

.mgB20 {
    margin-bottom: 20px !important;
}

.mainContents .new_img {
    border: 10px solid #e8798a;
    padding: 20px;
}

.pinkList.pdnone {
    padding: 1px;
}

.pinkList.pdnone span {
    display: block;
    color: #000;
}

.ttl_blk {
    background-color: #e8798a;
    text-align: center;
}

.ttl_blk .fir_ttl {
    font-size: 37px;
    color: #fff;
    letter-spacing: 3.8px;
    line-height: 1.1;
}

.ttl_blk .fir_ttl span {
    font-size: 50px;
}

.ttl_blk .sec_ttl {
    font-size: 30px;
    color: #fff;
    letter-spacing: 1.8px;
}

.card_blk {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    margin-top: 20px;
}

.card .fir_txt {
    font-size: 24px;
    color: #333333;
}

.card .sec_txt {
    font-size: 37px;
    color: #333333;
    line-height: 1;
}

.dia_blk {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 10px;
}

.dia_blk .img_blk {
    width: 200px;
    height: 200px;
}

.dia_blk .dia_txt {
    font-size: 24px;
    color: #333333;
    line-height: 1.9;
    letter-spacing: 1.8px;
}

.dia_blk .dia_txt span {
    font-weight: 500;
}

.dt {
    text-align: right;
    margin-top: -35px;
    font-size: 17px;
    letter-spacing: 1.8px;
}

@media (max-width: 767px) {
    .sp {
        display: block;
    }

    .before_after_box table tr td div {
        width: 85%;
    }

    .treatment_info table tr th {
        width: 40%;
        padding: 8px;
    }

    .treatment_info table tr td {
        padding: 8px;
    }

    .card_blk {
        display: grid;
        grid-template-columns: 1fr 1fr;
        max-width: 300px;
        width: 100%;
        margin: 0 auto;
        gap: 10px;
    }

    .dia_blk {
        flex-direction: column;
    }

    .dia_blk .dia_txt {
        font-size: 14px;
        line-height: 1.4;
        letter-spacing: 1.8px;
    }

    .card .sec_txt {
        font-size: 21px;
    }

    .card .fir_txt {
        font-size: 17px;
    }

    .ttl_blk {
        padding: 15px;
    }

    .ttl_blk .fir_ttl {
        font-size: 27px;
    }

    .ttl_blk .sec_ttl {
        font-size: 20px;
    }

    .ttl_blk .fir_ttl span {
        font-size: 38px;
    }

    .dt {
        margin-top: 0px;
    }
}

/*add 20190823*/

/*add 20190913*/
.price .pricetable table th {
    width: 37%;
}

.price .pricetable table td {
    font-size: 14px;
}

.price .pricetable table td.gray {
    vertical-align: middle;
}

.price .pricetable table td.gray.bgPink {
    background: #ffeff2;
}

.price .pricetable table td .str-txt {
    font-size: 12px;
}

.option-ttx {
    text-align: left;
    color: #e8798a;
    font-size: 15px;
    font-weight: 500;
    text-indent: 5px;
    margin: 40px 0 20px;
}

@media (max-width: 767px) {
    .price .pricetable table td {
        font-size: 10px;
    }

    .price .pricetable table td .str-txt {
        font-size: 10px;
    }
}

/*add 20190913*/
/*add 20191120*/
.sns_btns {
    float: right;
    margin: 18px 30px 0 0;
}

.sns_btn_01 {
    float: right;
    margin: 10px 10px 10px 0;
}

.sns_btn_01 a {
    background: #e8798a;
    color: #fff;
}

.sns_btn_01 a:hover {
    color: #e8798a;
}

.sns_btn_01 a:nth-child(2) {
    width: 210px;
}

.sns_btn_01 .btn01 {
    margin-right: 0px;
    padding-right: 0px;
}

.sns_btns li {
    float: left;
    width: 36px;
    margin: 0 15px 0 0;
}

.sns_btns li:last-child {
    margin-right: 0;
}

.sns_btns li a img {
    width: 100%;
    height: auto;
    max-width: 100%;
}

.bnsList.full_width {
    float: none;
    width: 100%;
    min-width: 1000px;
    margin: 30px 0;
}

.bnsList.full_width li {
    float: left;
    width: 320px;
    margin: 0 20px 0 0;
}

.bnsList.full_width li:last-child {
    margin-right: 0;
}

.twitter {
    float: right;
    width: 390px;
}

@media (max-width: 767px) {
    .sns_wrap {
        padding: 15px 5%;
    }

    .sns_wrap .btns_wrap {
        background: #ffffff;
    }

    .sns_wrap .sns_btns {
        float: none;
        padding: 12px 0;
        margin: 0 auto;
        width: 100px;
    }

    .sns_wrap .sns_btns li {
        float: left;
        width: 36px;
        height: 36px;
        margin: 0 25px 0 0;
        background-color: #ffffff !important;
    }

    .sns_wrap .sns_btns li:last-child {
        margin-right: 0;
    }

    .sns_wrap .sns_btns li a {
        display: block;
        padding: 0;
        width: 36px;
        height: 36px;
    }

    .sns_wrap .sns_btns li .facebook_icn {
        background: url("/common/img/common/sns_facebook.webp") no-repeat;
    }

    .sns_wrap .sns_btns li .twitter_icn {
        background: url("/common/img/common/sns_twitter.webp") no-repeat;
    }

    .sns_wrap .sns_btns li .instagram_icn {
        background: url("/common/img/common/sns_instagram.webp") no-repeat;
    }

    .twitter {
        float: none;
        width: 100%;
        margin: 20px auto 0;
    }

    .bnsList.full_width {
        width: 100%;
        min-width: 100%;
        margin: 20px 0;
    }

    .bnsList.full_width li {
        float: none;
        width: 100%;
        margin: 0 0 20px 0;
    }

    .btn_wrap {
        padding: 15px 5%;
    }

    .btn_wrap ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .btn_wrap ul li {
        width: calc(99% / 2);
        padding: 5px 0;
        background: #fff !important;
        border-bottom: none !important;
        align-items: center;
    }

    .btn_wrap ul li:nth-of-type(1),
    .btn_wrap ul li:nth-of-type(2) {
        margin-bottom: 8px;
    }

    .btn_wrap ul li a {
        color: #e8798a !important;
        display: block;
    }
}

/*add 20191120*/

/*add 20191202*/
.invisalign .maintitle {
    background-image: url(/common/img/invisalign/maintitle.webp);
    height: 215px;
    position: relative;
}

.cerec .maintitle {
    background-image: url(/common/img/cerec/maintitle.webp);
}

.implant .maintitle {
    background-image: url(/common/img/implant/maintitle.webp);
}

@media (max-width: 767px) {
    header {
        min-width: 100%;
    }

    .invisalign .maintitle {
        background-image: url(/common/img/invisalign/maintitle_sp.webp);
        height: 200px;
    }

    .implant .maintitle {
        background-image: url(/common/img/implant/maintitle_sp.webp);
    }

    .invisalign .line_2 {
        line-height: 1.8;
        padding: 5px 0;
    }

    .cerec .maintitle {
        background-image: url(/common/img/cerec/maintitle_sp.webp);
    }

    .btn01.s-btn01 {
        margin-top: 30px;
    }

    /*追記　2020.01.14*/
    .flowline {
        width: 100%;
        margin: 0 auto;
        margin-top: 60px;
        position: relative;
    }

    .flowline:before {
        content: "";
        width: 4px;
        height: calc(100% - 60px);
        background: #fdd5db;
        position: absolute;
        left: 23px;
        top: 60px;
    }

    section .flowBox {
        width: 100%;
        display: flex;
        justify-content: flex-start;
        flex-wrap: wrap;
        position: relative;
        overflow: hidden;
        padding-bottom: 20px;
        margin-left: 0;
        padding-left: 0;
    }

    section .flowBox .circle {
        width: 50px;
        height: 50px;
    }

    section .flowBox h3 {
        order: 0;
        padding-top: 10px;
        padding-left: 60px;
        /*min-height: 50px;*/
    }

    section .flowBox p {
        order: 2;
        padding-bottom: 10px;
        padding-left: 60px;
    }
}

/*add 20191202*/

@media (max-width: 767px) {
    .conceptNav.add li.child-4 {
        background-image: none;
        height: auto;
        margin-bottom: 20px !important;
    }

    .conceptNav.add li.child-4 dl {
        height: auto;
        padding: 0 0 20px 0;
    }

    .conceptNav.add li.child-4 dl:before {
        top: 0;
        height: 100%;
    }

    .conceptNav.add li.child-4 dl:after {
        top: 2%;
        height: 96%;
    }

    .conceptNav.add li.child-4 dt {
        margin: 0 auto;
        padding: 30px 0 0 0;
    }
}

/*add 20200428*/
.col-02 {
    display: flex;
    justify-content: space-between;
    margin: 0 0 50px 0;
}

.col-02 .col {
    width: 50%;
    padding: 20px;
    background: #f7efed;
}

.col-02 .col+.col {
    background: #eef5f5;
}

.col-02 .col * {
    color: #000;
}

.col-02 .col h2 {
    position: relative;
    padding: 0;
    margin: 0 0 20px 0;
}

.col-02 .col h2 .spots {
    position: relative;
}

.col-02 .col h2 .br-line:after {
    position: absolute;
    left: 50%;
    bottom: -4px;
    content: "";
    width: 50%;
    height: 1px;
    background: #e8798a;
    transform: translate(-50%);
}

.col-02 .col+.col h2 .br-line:after {
    background: #47aa9b;
}

.col-02 .col h2 .spots:before {
    position: absolute;
    top: -10px;
    left: -21px;
    content: url(../img/home/spots.webp);
}

.col-02 .col h2 .spots:after {
    position: absolute;
    top: -5px;
    right: -18px;
    content: url(../img/home/spots.webp);
    transform: rotate(-130deg);
}

.col-02 .col h2 .r-link {
    position: absolute;
    top: -2px;
    right: 10px;
}

.col-02 .col h2 .r-link a {
    font-size: 14px;
}

.col-02 .col h2 .r-link a:after {
    position: absolute;
    content: "\e903";
    font-family: "icomoon";
    font-size: 11px;
    top: 11px;
    right: -17px;
    color: #19a190;
}

.col-02 .col dl {
    display: flex;
    flex-wrap: wrap;
    text-align: left;
}

.col-02 .col dl dt {
    width: 100px;
}

.col-02 .col dl dd {
    width: 100%;
    font-weight: bold;
    color: #47aa9b;
}

.col-02 .col p {
    margin: 10px 0 0 0;
    text-align: left;
}

@media (max-width: 767px) {
    .bannersBox.bdr-none {
        padding: 0;
        margin: 0 auto;
    }

    .bannersBox li.bnr-2 {
        width: 100%;
    }

    .bannersBox li+li {
        margin-top: 18px;
    }

    .col-02 {
        display: block;
        margin: 0 0 35px 0;
    }

    .col-02 .col {
        width: calc(100% - 40px);
    }

    .col-02 .col h2 .r-link a:after {
        top: 7px;
    }
}

/*add 20200428*/

/*add 20200519*/
.conceptNav.add li.child-3 dl dt {
    padding-top: 25px;
    margin-bottom: 10px;
    line-height: 1.4;
}

.conceptNav.add li.child-3 dl p {
    margin: 0 auto 8px;
}

/*add 20200519*/
/*add 20200622*/
.dentist-recruit-bnr {
    float: right;
    margin: 0 10px 0 0;
    width: 240px;
    height: auto;
}

.dentist-recruit-bnr img {
    width: 100%;
    height: auto;
}

.staffblog-btn {
    position: relative;
    margin: 0 auto 10px;
    width: 320px;
    height: 100px;
    border: 1px solid #e8798a;
    background: url("../img/home/banner_bg05_3.webp") no-repeat;
    background-size: cover;
}

.staffblog-btn a {
    display: block;
    height: 100%;
}

.staffblog-btn p {
    position: absolute;
    top: 30px;
    left: 30px;
    font-size: 16px;
    font-weight: 500;
    text-align: left;
    color: #e8798a;
    line-height: 1.2em;
}

.dentist-recruit-bnr.large {
    float: none;
    width: 1000px;
    margin: 20px auto 40px;
}

@media (max-width: 767px) {
    .staffblog-btn {
        width: 100%;
        margin: 0 0 20px 0;
        background-position: center bottom;
        background-size: cover;
    }

    .staffblog-btn p {
        left: 20px;
        font-size: 14px;
    }

    .dentist-recruit-bnr.large {
        width: 100%;
        margin: 20px auto;
    }
}

/*add 20200622*/
/*add 20200916*/
.bannersBox.bdr-none .link_img {
    display: block;
    width: 100%;
}

.bannersBox.bdr-none .link_img img {
    width: 100%;
    height: auto;
}

.invisalign-btn .guide_01 {
    max-width: 300px;
    width: 100%;
    margin: 0 auto;
}

.invisalign-btn .guide_01 .btn01 {
    width: 100%;
}

@media (min-width: 768px) {
    .invisalign-btn .guide_01 .btn01 {
        display: inline-block;
    }
}

.qr-blk dd {
    background: #fff;
    text-align: center;
    border: 1px solid #e8798a;
}

.qr-blk p {
    padding: 20px 0 10px;
    color: #e8798a;
}

.qr-blk dd:first-child {
    margin-bottom: 20px;
}

aside dl.qr-blk dd a {
    padding: 0;
}

aside dl.qr-blk dd a:hover {
    color: inherit;
    background: inherit;
}

aside dl dd a:after,
aside dl dd a:before {
    content: none;
}

aside dl.qr-blk {
    margin-bottom: 20px;
}

@media (max-width: 768px) {
    .dental-width ul {
        display: flex;
        justify-content: space-between;
        border: 1px solid #e8798a;
        flex-wrap: wrap;
        margin-bottom: 20px;
    }

    .dental-width ul li {
        width: 50%;
    }

    .dental-width ul li:last-child {
        width: 100%;
    }

    .dental-width ul li .btn01 {
        width: 100% !important;
        border: 1px solid #e8798a;
        box-sizing: border-box;
        height: 60px;
        border-radius: unset;
        line-height: 2;
        font-size: 14px;
        padding: 0 10px 0 0;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .qr-blk {
        display: flex;
        justify-content: space-between;
    }

    .qr-blk dd {
        width: 48%;
    }

    .qr-blk dd:first-child {
        margin-bottom: 0px;
    }

    .sp_fixed_footer a {
        flex-shrink: 1;
        font-size: 11px;
    }

    .sp_fixed_footer a.line-btn {
        background: #64c966;
        color: #fff;
        border: #64c966 dotted 1px;
    }

    .sp_fixed_footer a.line-btn:hover {
        background: #64c966;
        color: #fff;
        border: #64c966 dotted 1px;
    }

    .sp_fixed_footer a.changed-color {
        background: #EB347C;
        color: #fff;
        border: #EB347C dotted 1px;
    }

    .sp_fixed_footer a.changed-color:hover {
        background: #EB347C;
        color: #fff;
        border: #EB347C dotted 1px;
    }

    .sp_fixed_footer a:hover {
        color: #fff;
    }

    .sp_fixed_footer .btn01:hover {
        background: #e8798a;
    }

    .sp_fixed_footer {
        position: fixed;
        left: 0;
        bottom: 0;
        z-index: 9999;
        width: 100%;
        padding: 2px;
        box-sizing: border-box;
        display: flex;
        justify-content: center;
        align-items: center;
        background: #fff;
    }

    .sp_fixed_footer a {
        background: #e8798a;
        color: #fff;
        border-radius: 0;
    }

    .sp_fixed_footer a:nth-child(1) {
        padding-right: 10px;
        border-right: 2px solid #fff;
    }

    .sp_fixed_footer a:nth-child(2) {
        padding-right: 10px;
        border-right: 2px solid #fff;
        font-size: 10px;
    }

    .btn01:after {
        content: "\e900";
        font-family: "icomoon";
        font-size: 10px;
        line-height: 0;
        position: absolute;
        font-weight: 400;
        right: 5px;
        top: 50%;
        transform: translateY(-50%);
    }

    .btn02 {
        padding: 15px 30px;
    }

    .btn02:after {
        position: absolute;
        top: 50%;
        right: 15px;
    }

    .flex-direction {
        flex-direction: column-reverse;
        display: flex;
    }

    /* .flex-direction ul {
      margin-bottom: 20px;
    }
    .flex-direction ul li {
      width: 100%;
      margin-bottom: 10px;
    } */
}

.sns_btn_01 a.head-btn {
    display: inline-block;
    width: 230px;
    height: 50px;
    background: #fff;
    line-height: 50px;
    position: relative;
    z-index: 10;
    font-weight: 500;
    text-align: center;
}

.sns_btn_01 a.head-btn img {
    width: 100%;
    height: auto;
}

.sns_btn_01 a.head-btn:hover {
    color: transparent;
}

/*add 20200916*/
@media (max-width: 767px) {
    .periodontal #anchor01 img {
        margin-bottom: 30px;
    }

    .periodontal #anchor02 img {
        width: 100%;
    }

    .head-btn img {
        margin-bottom: 0;
        width: 300px;
        height: auto;
    }
}

.bannersBox img {

    width: 700px;
    height: 782px;

    margin: 0 auto;

}

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

    .bannersBox img {

        width: 300px;
        height: 335px;

        margin: 0 auto;
    }


}

/* 
@media screen and (max-width: 370px) {
    .job-site {
        scale: 0.8;
        margin-left: 5px;
    }

    .ig-ico {
        right: 57px;
        scale: 0.9;
    }

    .menu-trigger {
        scale: 0.8;
    }
} */

/*  */
.l-container {
    margin: 0 auto;
    max-width: 1126px;
    width: 94%;
}

.main-visual img {
    /* border-radius: 20px; */
    width: 100%;
    height: 100%;
    padding: 0;
    object-fit: cover;
    object-position: center;
}

.page-title {
    margin-bottom: 80px;
}

.page-title .title {
    font-size: 30px;
    line-height: 1;
    margin-bottom: 10px;
    color: #e8798a;
}

.c-title-h2.is-border {
    border-bottom: 1px solid #1d1d1f;
    padding-bottom: 10px;
    position: relative;
}

.c-title-h2 {
    /* font-family: "FOT-筑紫A丸ゴシック Std B", "TsukuARdGothicStd-B"; */
    font-size: 28px;
    font-weight: bold;
    line-height: 1.5;
    margin-bottom: 40px;
}

.c-title-h2.is-border::before {
    background-color: #ddbb8d;
    bottom: -1px;
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    width: 50px;
}

.column2 {
    display: flex;
    justify-content: space-between;
    margin-bottom: 120px;
}

.column2 .img-area {
    width: 46.31%;
}

.column2 .txt-area {
    width: 50.22%;
}

.column2 .txt-area .txt {
    font-size: 18px;
    line-height: 1.8;
    margin-bottom: 40px;
}

.column2 .txt-area .subttl {
    font-size: 20px;
    font-family: "FOT-筑紫A丸ゴシック Std B", "TsukuARdGothicStd-B";
    margin-bottom: 10px;
}

.column2 .column-list li {
    position: relative;
    font-size: 18px;
    padding-left: 20px;
}

.column2 .column-list li::before {
    position: absolute;
    content: "●";
    color: #E4BB88;
    left: 0;
    top: 2px;
    font-size: 15px;
}

.column2 .column-list li+li {
    margin-top: 10px;
}

.column2 .img-area img {
    width: 100%;
    height: 100%;
    border-radius: 20px;
}

/*sdgs-block  */
.sdgs-block {
    background-color: #F8F8F8;
    border-radius: 20px;
    padding: 20px;
}

.sdgs-block .ttl-txt {
    display: flex;
    align-items: center;
    margin-bottom: 40px;
}

.sdgs-block .ttl-txt .ttl {
    width: 263px;
    margin-right: 40px;
    height: 174px;
    background: transparent;
}

.sdgs-block .ttl-txt .ttl.health h3 {
    background-color: #FFA828;
}

.sdgs-block .ttl-txt .ttl h3 {
    text-align: center;
    font-size: 28px;
    /* font-family: "FOT-筑紫A丸ゴシック Std B", "TsukuARdGothicStd-B"; */
    color: #fff;
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
    line-height: 1;
    padding: 20px 0 15px;
}

.sdgs-block .ttl-txt .ttl .ttl-img img {
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
    width: 263px;
    height: 101px;
    object-fit: cover;
    object-position: top;
}

.sdgs-block .ttl-txt .txt {
    width: calc(100% - 303px);
    font-size: 28px;
    color: #000;
    line-height: 1.14;
}

.sdgs-block .subttl01 {
    background-color: #e8798a;
    text-align: center;
    color: #fff;
    font-size: 18px;
    border-radius: 50px;
    padding: 5px 0 3px;
    margin-bottom: 40px;
}

.sdgs-block .attempt-list {
    margin-bottom: 60px;
}

.sdgs-block .attempt-list li {
    position: relative;
    font-size: 18px;
    padding-left: 20px;
}

.sdgs-block .attempt-list li::before {
    position: absolute;
    content: "●";
    color: #E4BB88;
    left: 0;
    top: 2px;
    font-size: 15px;
}

.sdgs-block .subttl02 {
    position: relative;
    text-align: center;
    font-size: 18px;
    /* font-family: "FOT-筑紫A丸ゴシック Std B", "TsukuARdGothicStd-B"; */
    padding: 5px 0 3px;
    margin-bottom: 40px;
    z-index: 0;
}

.sdgs-block .subttl02::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 2px;
    background-color: #e8798a;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    z-index: -1;
}

.sdgs-block .subttl02 span {
    display: inline-block;
    background-color: #F8F8F8;
    padding: 0 65px;
    z-index: 10;
}

.sdgs-block .sdgs-list {
    display: flex;
}

.sdgs-block .sdgs-list li {
    width: 12.55%;
    max-width: 136px;
}

.sdgs-block .sdgs-list li+li {
    margin-left: 1.84%;
}

.sdgs-block .sdgs-list li img {
    width: 136px;
    height: 136px;
}

.sdgs-block+.sdgs-block {
    margin-top: 60px;
}

@media (max-width: 768px) {
    .sdgs-block .ttl-txt {
        display: block;
        margin-bottom: 60px;
    }

    .sdgs-block .ttl-txt .txt {
        width: 100%;
    }

    .sdgs-block .subttl01 {
        margin-bottom: 30px;
    }

    .sdgs-block .subttl02 {
        margin-bottom: 40px;
    }

    .sdgs-block .sdgs-list {
        flex-wrap: wrap;
        padding: 0 2.98%;
    }

    .sdgs-block .sdgs-list li {
        width: 44%;
        max-width: 136px;
        margin: 0 3% 20px;
    }

    .sdgs-block .sdgs-list li+li {
        margin-left: 3%;
    }

    .sdgs-block .ttl-txt .ttl {
        width: 75%;
        margin: 0 auto 40px;
    }

    .sdgs-block .ttl-txt .ttl.health h3 {
        background-color: #FFA828;
        margin: 0 auto;
    }

    .sdgs-block .ttl-txt .ttl .ttl-img img {
        width: 100%;
        height: 121px;
    }

    .main-visual img {
        /* border-radius: 20px; */
        width: 100%;
        height: 40vw;
        padding: 0;

    }

}

/* dentalcheckup */
.sec-dental {
    background: #fff;
    padding: 40px 0 80px;
    margin-bottom: 0 !important;
}

.sec-dental .card-first {
    display: flex;
    flex-direction: row;
    margin-bottom: 10px !important;
}

.sec-dental .bubble {
    font-size: 16px;
    background: #e8798a;
    padding: 0 8px;
    position: relative;
    color: #fff;
    display: inline-block;
}

.sec-dental .bubble:before {
    border: 7px solid transparent;
    border-top: 7px solid #e8798a;
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
}

.sec-dental h2 {
    font-size: 26px;
    margin-bottom: 20px !important;
    /* margin-top: 10px !important; */
}

.dental-img img {
    width: 300px;
    margin-top: 45px;
    height: 100%;
}

.sec-dental .txt-blk {
    margin-right: 37px;
    text-align: left;
    width: 688px;
}

.content-txt {
    width: 640px !important;
    font-size: 16px;
    margin-top: 0px !important;
    /* margin: 16px 0 !important; */
}

.school-list img {
    width: 836px;
    height: 100%;
    margin-bottom: 40px !important;
}

/*  */
.dentalcheckupFlow {
    position: relative;
    text-align: left;
    font-size: 16px;
}

.ttl {
    display: block;
    background: #C9A252;
    height: 40px;
    color: #fff;
    padding-top: 5px;
    font-size: 20px;
    font-weight: normal;
    margin: 0 auto;
    text-align: center;
}

.dentalcheckupFlow ol {
    list-style-type: decimal;
    list-style-position: inside
}

.dentalcheckupFlow ol li {
    text-align: left;
    width: 655px;
    margin: 0;
    padding: 10px 0;
}

.dentalcheckupFlow b {
    font-weight: bolder;
}

.list-blk {
    display: flex;
    flex-direction: row;
}

.list-blk img {
    width: 401px;
    height: 420px;
}

/*  */
.dentalcheckupCV {
    background: #FEF9FB;
    position: relative;
    padding: 24px 40px 20px 24px;
}

.dentalcheckupCV h3 {
    text-align: left;
}

.dentalcheckupCV h3 {
    color: #e8798a;
    font-size: 26px;
    text-align: left;
    margin: 0;
}

.dentalcheckupCV ul {
    margin-bottom: 20px;
}

.dentalcheckupCV li {
    text-align: left;
    text-indent: 0;
    padding-left: 40px;
    position: relative;
    font-size: 16px;
    margin-top: 16px;
}

.dentalcheckupCV li:before {
    content: "";
    background: url(../img/home/icon_check2.png) no-repeat;
    position: absolute;
    width: 26px;
    height: 27px;
    left: 0px;
}

.dentalcheckupCV .btn {
    position: absolute;
    right: 40px;
    top: 80px;
}

.btn.ctaBooking {
    border: 1px solid #fff;
}

.btn.ctaBooking a {
    color: #fff;
    background: #e8798a;
    border: none;
    width: 288px;
    height: auto;
    border-radius: 26.5px;
    display: block;
    padding: 13px 0;
    font-size: 16px;
}

.btn.ctaBooking:after {
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
}

.btn:after {
    content: "";
    position: absolute;
    top: 50%;
    right: 20px;
    width: 7px;
    height: 7px;
    border-top: 1px solid #C9A252;
    border-right: 1px solid #C9A252;
    transform: rotate(45deg);
    margin-top: -5px;
}


@media (max-width: 767px) {
    .sec-dental .card-first {
        display: flex;
        flex-direction: column;
        margin-bottom: 10px !important;
    }

    .sec-dental .txt-blk {
        text-align: center;
        width: 90%;
        margin: 0 auto;
    }

    .content-txt {
        width: 100% !important;
        font-size: 16px;
        margin: 16px 0 !important;
    }

    .dental-img img {
        width: 100%;
        margin-top: 10px;
        height: 100%;
    }

    .sec-dental h2 {
        font-size: 26px;
        margin-bottom: 0px !important;
        margin-top: 10px !important;
    }

    .list-blk {
        display: flex;
        flex-direction: column;
    }

    .dentalcheckupFlow ol li {
        width: 100%;

    }

    .dentalcheckupCV .btn {
        position: inherit;
        margin: 0 auto;
        left: 3%;
        top: 0px;
    }

    .school-list img {
        width: 95%;
    }

    .list-blk img {
        width: 293px;
        height: 307px;
    }
}

#aki {
    display: inline-block;
    height: 120px;
    margin-top: -120px;
}

/* /guide/orthodontics/ */

.orthodontic .mv-notice,
.invisalign .mv-notice {
    margin: 0 auto;
    width: 100%;
    max-width: 500px;
}

.orthodontic .mv-notice .usp,
.invisalign .mv-notice .usp {
    display: flex;
    justify-content: center;
}

.orthodontic .mv-notice .usp dl,
.invisalign .mv-notice .usp dl {
    margin-right: 10px;
    width: 150px;
}

.orthodontic .mv-notice .usp dl dt,
.invisalign .mv-notice .usp dl dt {
    background: url(/common/img/orthodontic/img_pink_hexagon.png) no-repeat;
    font-size: 1.1rem;
    background-size: contain;
    height: 150px;
    line-height: 1.4;
    width: 155px;
    display: flex;
    font-weight: normal;
    justify-content: center;
    align-items: center;
}

.orthodontic .mv-notice .ttl-blk,
.invisalign .mv-notice .ttl-blk {
    text-align: center;
}

.orthodontic .mv-notice .usp dl dt a,
.invisalign .mv-notice .usp dl dt span {
    color: #fff;
    display: inline-block;
    text-align: center;
    pointer-events: none;
}

.orthodontic .mv-notice .notice-ttl,
.invisalign .mv-notice .notice-ttl {
    background: #e8798a;
    color: #fff;
    font-size: 2.2rem;
    margin-top: 20px;
    display: inline-block;
    padding: 10px 20px;
    line-height: 1.6;
}

.orthodontic .sec-dental {
    background-color: unset;
}

.orthodontic .sec-dental .card-first {
    display: block;
}

.orthodontic .sec-dental .card-first .txt-blk {
    margin-right: 0;
}

.orthodontic .sec-dental .school-list img {
    width: 100%;
    margin-bottom: 0 !important;
}

.orthodontic .dentalcheckupCV {
    margin-top: 50px;
    padding: 24px 40px 80px 24px;
    background-color: #fff;
}

.orthodontic .dentalcheckupCV .btn.ctaBooking a {
    text-align: center;
}

.orthodontic .dentalcheckupCV.child-dentalcheckupCV {
    padding: 24px 40px 24px 24px;
}

.orthodontic .dentalcheckupCV.child-dentalcheckupCV h3 {
    text-align: center;
}

.orthodontic .dentalcheckupCV.dentalcheckupCV.child-dentalcheckupCV li b {
    color: #e8798a;
}

.orthodontic .dentalcheckupCV .btn {
    top: 125px;
}

.orthodontic .whiteBox {
    padding: 20px;
}

.orthodontic .whiteBox h3 {
    color: #e8798a;
    font-size: 20px;
    font-weight: 500;
    text-align: center;
}

.orthodontic .pediatric_merit_list,
.invisalign_merit_list,
.invisalign_dentition_list {
    display: flex;
    justify-content: space-between;
    padding-top: 30px;
}

.orthodontic .pediatric_merit_list li,
.invisalign_merit_list li,
.invisalign_dentition_list li {
    width: calc(95%/3);
    display: inline-block;
    text-align: center;
    border-right: 1px solid;
}

.orthodontic .pediatric_merit_list li img {
    width: 25%;
    height: 60%;
}

.invisalign_merit_list li,
.invisalign_dentition_list li {
    border: none;
}

.invisalign_merit_list {
    margin-bottom: 50px;
}

.invisalign_dentition_list li img,
.invisalign_merit_list li img {
    width: 100%;
    max-width: 90px;
    padding-bottom: 15px;
    height: auto;
}

.orthodontic .pediatric_merit_list li:last-child,
.invisalign_dentition_list li:last-child {
    border: none;
}

.invisalign_dentition_note {
    font-size: 12px;
    text-align: center;
    padding-top: 10px;
}

.orthodontic .textBox.pediatric_textBox {
    display: flex;
}

.orthodontic .textBox.pediatric_textBox img {
    margin-right: 20px;
    margin-top: 10px;
}

.orthodontic .sec-dental .textBox.pediatric_textBox .bubble {
    margin-bottom: 10px;
}

.orthodontic .sec-dental .textBox.pediatric_textBox .bubble:before {
    display: none;
}

.orthodontic .sec-dental .textBox p b {
    font-weight: bold;
}

.orthodontic section.sec-cmouthpiece .textBox.descp-textBox p b {
    color: #fff;
    background-color: #e8798a;
}

.flow-list {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    width: 100%;
    max-width: 800px;
}

.flow-list .flow-itm-box {
    width: calc(90% / 4);
    margin-right: 10px;
    position: relative;
}

.flow-list .flow-itm-box:nth-child(2)::before,
.flow-list .flow-itm-box:nth-child(4)::before {
    content: "";
    background: url(../img/orthodontic/img-flow-arrow-ls.webp) no-repeat;
    height: 15px;
    background-size: contain;
    position: absolute;
    bottom: -20px;
    left: -175px;
    width: 340px;
    z-index: 99;
    margin-right: 10px;
}

.flow-list .flow-itm-box:nth-child(2)::after,
.flow-list .flow-itm-box:nth-child(4)::after {
    position: absolute;
    top: 180px;
    left: -40px;
    font-size: 1.1rem;
    color: #e8798a;
    font-weight: bold;
}

.flow-list .flow-itm-box:nth-child(2)::after {
    content: "1〜2週間";
}

.flow-list .flow-itm-box:nth-child(4)::after {
    content: "およそ2ヶ月〜1年";
    left: -60px;
}

.flow-list .flow-itm {
    position: relative;
    display: flex;
    width: 100%;
    flex-direction: column-reverse;
    align-items: center;
}

.flow-list .flow-itm-box:last-child {
    margin-right: 0;
}

.flow-list .flow-itm-box h3 {
    font-weight: bold;
    padding: 10px 0;
}

.flow-list .flow-itm img {
    width: 100%;
    height: auto;
}

.flow-list .flow-itm:before {
    content: "";
    top: 0;
    left: 0;
    border-bottom: 77px solid transparent;
    border-left: 55px solid #e8798a;
    position: absolute;
    z-index: 1;
}

.flow-list .flow-itm h3:before {
    color: #fff;
    position: absolute;
    top: 18px;
    left: 14px;
    z-index: 3;
}

.flow-list .flow-itm-box:nth-child(1) h3:before {
    content: "1";
}

.flow-list .flow-itm-box:nth-child(2) h3:before {
    content: "2";
}

.flow-list .flow-itm-box:nth-child(3) h3:before {
    content: "3";
}

.flow-list .flow-itm-box:nth-child(4) h3:before {
    content: "4";
}

.flow-list .flow-itm:after {
    content: "Step";
    color: #fff;
    top: 0;
    left: 0;
    padding-left: 5px;
    position: absolute;
    z-index: 2;
}

body.invisalign .price_btn {
    margin-top: 80px;
}

body.invisalign .btn01:after,
body.orthodontic .btn01:after {
    line-height: 52px;
}

body.orthodontic .price_btn {
    text-align: center;
    margin: 80px 0 40px;
}

body.orthodontic .invisalign_btn {
    text-align: center;
}

body.orthodontic .invisalign_btn .btn01,
body.orthodontic .price_btn .btn01 {
    background: #e8798a;
    color: #fff;
}

body.orthodontic .invisalign_btn .btn01:hover,
body.orthodontic .price_btn .btn01:hover {
    background: #ffeef0;
    color: #e8798a;
}

body.orthodontic .dental-width .dental_flrow .btn01,
body.invisalign .dental-width .dental_flrow .btn01 {
    line-height: 60px;
}

body.orthodontic .dental-width .dental_flrow .btn01:after,
body.invisalign .dental-width .dental_flrow .btn01:after {
    top: 50%;
    transform: translateY(-50%);
}

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

    body.orthodontic .dental-width .dental_flrow:last-child,
    body.invisalign .dental-width .dental_flrow:last-child {
        width: 50%;
    }

    .orthodontic .sec-dental .card-first .txt-blk {
        width: 100%;
    }

    .orthodontic .sec-dental .card-first .txt-blk h2 {
        padding-left: 0;
    }

    .orthodontic .mv-notice .usp dl,
    .invisalign .mv-notice .usp dl {
        width: 100%;
    }

    .orthodontic .mv-notice .usp dl dt,
    .invisalign .mv-notice .usp dl dt {
        font-size: .9rem;
        height: 115px;
        line-height: 1.4;
        width: 120px;
    }

    .orthodontic .mv-notice .usp dl,
    .invisalign .mv-notice .usp dl {
        margin-right: 0px;
        width: 100%;
        max-width: 120px;
    }

    .orthodontic .mv-notice .notice-ttl,
    .invisalign .mv-notice .notice-ttl {
        font-size: 1.8rem;
        margin-top: 10px;
        display: inline-block;
        padding: 10px 20px;
    }

    .orthodontic .dentalcheckupCV h3 {
        font-size: 19px;
    }

    .orthodontic .dentalcheckupCV li {
        font-size: 14px;
    }

    .orthodontic .dentalcheckupCV .btn {
        top: 35px;
    }

    .orthodontic .pediatric_merit_list {
        display: block;
    }

    .orthodontic .pediatric_merit_list li img {
        width: 100%;
        max-width: 50px;
    }

    .invisalign_merit_list {
        margin-bottom: 30px;
    }

    .orthodontic .pediatric_merit_list,
    .invisalign_merit_list,
    .invisalign_dentition_list {
        flex-wrap: wrap;
        padding-bottom: 30px;
    }

    .invisalign_merit_list li:nth-child(-n+3),
    .invisalign_dentition_list li:nth-child(-n+3) {
        padding-bottom: 20px;
    }

    .invisalign_merit_list li img {
        width: 100%;
        max-width: 80px;
    }

    .orthodontic .textBox.pediatric_textBox {
        margin-top: 20px;
        display: block;
    }

    .orthodontic .textBox.pediatric_textBox .txt-blk {
        margin-top: 20px;
    }

    .orthodontic .pediatric_merit_list li {
        width: 100%;
        padding: 20px 0;
        border-right: none;
        border-bottom: 1px solid;
    }

    .orthodontic .textBox.pediatric_textBox img {
        width: 100%;
        max-width: 300px;
        height: 100%;
        margin: 0 auto;
    }

    .flow-list .flow-itm-box {
        width: 100%;
    }

    .flow-list .flow-itm-box:nth-child(2)::before,
    .flow-list .flow-itm-box:nth-child(4)::before {
        background-size: cover;
        top: 0;
        left: -160px;
        width: 340px;
        z-index: -1;
        margin-right: 10px;
        transform: rotate(90deg);
    }

    .flow-list .flow-itm-box:nth-child(2),
    .flow-list .flow-itm-box:nth-child(4) {
        padding-bottom: 80px;
    }

    .flow-list .flow-itm-box:nth-child(2)::after,
    .flow-list .flow-itm-box:nth-child(4)::after {
        left: 50%;
        transform: translateX(-50%);
        bottom: 30px;
        display: inline-block;
        top: initial;
    }

    .orthodontic section.sec-flow {
        margin-bottom: 0;
        padding-bottom: 20px;
    }

    .orthodontic section h2,
    .invisalign section h2 {
        line-height: 1.4;
        padding: 10px 0 10px 20px;
    }

    .orthodontic section.sec-cmouthpiece .textBox.descp-textBox {
        margin-top: 20px;
    }

    body.invisalign section.sec-flow {
        padding-bottom: 0%;
        margin-bottom: 10px;
    }

    body.invisalign .price_btn {
        margin-top: 0;
    }

    body.orthodontic .price_btn {
        margin-top: 0;
    }

    body.orthodontic .invisalign_btn {
        margin-bottom: 50px;
    }
}

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

    .orthodontic .mv-notice .notice-ttl,
    .invisalign .mv-notice .notice-ttl {
        font-size: 1.6rem;
        line-height: 1.4;
    }
}

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

    .orthodontic .mv-notice .notice-ttl,
    .invisalign .mv-notice .notice-ttl {
        font-size: 1.3rem;
    }

    .orthodontic .mv-notice .usp dl,
    .invisalign .mv-notice .usp dl {
        width: 100%;
        max-width: 100px;
        height: 100px;
    }

    .orthodontic .mv-notice .usp dl dt,
    .invisalign .mv-notice .usp dl dt {
        font-size: .8rem;
        width: 100%;
        height: 100%;
    }
}

/* guide/invisalign */
.invisalign .maintitle h1 {
    /*padding-top: 70px;*/
}

.invisalign section.sec-dental {
    background-color: initial;
}

.invisalign .features-list {
    counter-reset: features-list;
}

.invisalign .features-list .feature-itm {
    text-align: center;
    margin-bottom: 80px;
}

.invisalign .features-list .feature-itm:last-child {
    margin-bottom: 0;
}

.invisalign .features-list .feature-itm .full_img {
    text-align: center;
    position: relative;
    padding-top: 20px;
    display: inline-block;
}

.invisalign .features-list .feature-itm .full_img img {
    width: 100%;
    max-width: 500px;
    position: relative;
}

.invisalign .features-list .feature-itm .full_img::after {
    position: absolute;
    top: 20px;
    right: 0px;
    content: "特徴";
    color: #fff;
    font-size: 1.1rem;
    text-align: center;
    font-weight: 500;
    background: url(/common/img/invisalign/img_reason_flag_v2.png) no-repeat;
    z-index: 9;
    width: 62px;
    height: 85px;
    background-size: contain;
}

.invisalign .features-list .feature-itm .full_img::before {
    counter-increment: features-list;
    content: counter(features-list);
    position: absolute;
    right: 25px;
    top: 41px;
    color: #fff;
    font-size: 1.3rem;
    z-index: 99;
}

.invisalign .features-list .feature-itm .full_img .bubble {
    position: absolute;
    left: -100px;
    top: 0;
    z-index: 9;
}

.invisalign .features-list .feature-itm p {
    text-align: left;
}

.invisalign .features-list .feature-itm p b {
    background-color: #e8798a;
    color: #fff;
}

@media screen and (max-width:768px) {
    .invisalign .maintitle h1 {
        padding-top: 0;
        /*padding-bottom: 160px;*/
    }

    .invisalign .features-list {
        padding-top: 80px;
    }

    .invisalign .features-list .feature-itm .full_img .bubble {
        left: 50%;
        transform: translateX(-50%);
        top: -35px;
        width: 100%;
        z-index: 9;
        max-width: 260px;
    }

    .invisalign .maintitle .usp dl dt {
        font-size: .8rem;
        height: 105px;
        width: 100px;
    }

    .invisalign .maintitle .mv-notice .notice-ttl {
        font-size: 1.5rem;
    }
}

.orthodontic .child-dentalcheckupCV .dchkup-ac {
    margin: 0 auto;
}

.orthodontic .child-dentalcheckupCV .dchkup-ac-parent {
    background-color: #fafafa;
    color: #333;
    font-weight: 500;
    cursor: pointer;
    font-size: 20px;
    margin-top: 30px;
    padding: 15px 30px;
    position: relative;
    text-align: left !important;
    line-height: 1.4;
}

.orthodontic .child-dentalcheckupCV .dchkup-ac-parent:before {
    content: "";
    position: absolute;
    top: 50%;
    right: 8px;
    width: 17px;
    height: 1px;
    background: #e8798a;
    transform: translateY(-50%);
}

.orthodontic .child-dentalcheckupCV .dchkup-ac-parent:after {
    content: "";
    position: absolute;
    top: 50%;
    right: 17px;
    width: 1px;
    height: 17px;
    background: #e8798a;
    transform: translateY(-50%);
    transition: .3s;
}

.orthodontic .child-dentalcheckupCV .dchkup-ac-parent.open {
    background-color: #e8798a;
    color: #fff;
}

.orthodontic .child-dentalcheckupCV .dchkup-ac-parent.open:before {
    content: "";
    position: absolute;
    top: 50%;
    right: 8px;
    width: 17px;
    height: 1px;
    background: #fff;
    transform: translateY(-50%);
}

.orthodontic .child-dentalcheckupCV .dchkup-ac-parent.open:after {
    top: 25%;
    opacity: 0;
    transform: rotate(90deg);
}

.orthodontic .child-dentalcheckupCV .dchkup-ac-child {
    display: none;
    padding: 20px 10px;
    background-color: #fff;
    text-align: center;
}

.orthodontic .child-dentalcheckupCV .dchkup-ac-child p {
    margin: 0;
    text-align: left;
    font-size: 16px;
}

.orthodontic .child-dentalcheckupCV .dchkup-ac-child p.dchkup-details {
    text-align: right;
    padding-right: 15px;
}

.orthodontic .child-dentalcheckupCV .dchkup-ac-child p.dchkup-details a {
    position: relative;
}

.orthodontic .child-dentalcheckupCV .dchkup-ac-child p.dchkup-details a::after {
    position: absolute;
    content: '';
    background: url(/common/img/orthodontic/icon_arrow_right.png);
    background-repeat: no-repeat;
    background-size: contain;
    top: 50%;
    transform: translateY(-50%);
    width: 13px;
    height: 12px;
    margin-left: 5px;
}

.orthodontic .child-dentalcheckupCV .dchkup-ac-child p.dchkup-details a:hover {
    opacity: 0.7;
}

@media screen and (max-width:768px) {
    .orthodontic .dentalcheckupCV.child-dentalcheckupCV {
        padding: 0 0 24px;
    }

    .orthodontic .dentalcheckupCV.child-dentalcheckupCV h3 {
        padding: 24px 40px 0 24px;
    }

    .orthodontic .dentalcheckupCV .dental-chkup-ac-blk {
        padding: 0 10px;
    }

    .orthodontic .child-dentalcheckupCV .dchkup-ac-parent {
        font-size: 17px;
        padding: 10px 25px !important;
    }

    .orthodontic .child-dentalcheckupCV .dchkup-ac-child p {
        font-size: 14px;
    }

    .orthodontic .child-dentalcheckupCV .dchkup-ac-child p.dchkup-details {
        padding-right: 10px;
    }

    .orthodontic .child-dentalcheckupCV .dchkup-ac-child p.dchkup-details a::after {
        width: 11px;
        height: 10px;
    }
}