@charset "UTF-8";

/*------------------------------------------------------------
	デフォルトスタイル
------------------------------------------------------------*/
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
dialog,
figure,
footer,
header,
button,
hgroup,
menu,
nav,
section,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 1em;
}

html {
    font-size: 62.5%;
}

body,
table,
input,
textarea,
select,
option,
button,
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3",
        "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    line-height: 1.1;
    letter-spacing: 0.3px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: bold;
}

table,
input,
textarea,
select,
option {
    line-height: 1.1;
}
ol,
ul {
    list-style: none;
}
:focus {
    outline: 0;
}
.h1-hidden {
    position: absolute;
    clip: rect(1px, 1px, 1px, 1px);
    padding: 0;
    border: 0;
    height: 1px;
    width: 1px;
    overflow: hidden;
    white-space: nowrap;
}
img {
    vertical-align: top;
}
a {
    color: #000;
    text-decoration: none;
}
a:hover {
    color: #000;
    text-decoration: underline;
}
.inner{
    max-width: 1000px;
    width: 90%;
    margin: auto;
}
.l_blue {
    background: linear-gradient(transparent 60%, #d0f1ff 60%);
    font-weight: bold;
}
.text_red{
    color: #f00;
}
a:hover img {
    opacity: 0.8;
}
img{
    max-width: 100%;
}
.bdr{
    width: 100%;
    height: 1px;
    border: none;
    background: #e5e5e5;
    margin: 15px 0 20px;
}
.pc {
    display: block;
}
.pc_ib{
    display: inline-block;
}
.sp {
    display: none;
}
@media screen and (max-width: 640px) {
    .pc {
        display: none;
    }
    .pc_ib{
        display: none;
    }
    .sp {
        display: block;
    }
}
/*------------------------------------------------------------
	レイアウト
------------------------------------------------------------*/
body {
    min-width: 1100px;
    line-height: 1.5;
    color: #000;
    -webkit-text-size-adjust: none;
    -ms-text-size-adjust: none;
    text-size-adjust: none;
}
#container {
    background-color: #fff;
    text-align: left;
    overflow-x: hidden;
}

#main {
    position: relative;
}

.content {
    margin: 0 auto;
    max-width: 1000px;
    width: 100%;
}
@media screen and (max-width: 640px) {
    body {
        min-width: inherit !important;
        position: relative;
    }
    #main {
        position: relative;
        padding-top: 48px;
        padding-top: 48px;
    }
    .content {
        margin: 0;
        max-width: 100%;
        width: auto;
    }
}
/*------------------------------------------------------------
	ヘッダー
------------------------------------------------------------*/
#header {
    width: 100%;
    background: #fff;
    position: relative;
    z-index: 100;
}
#header > .pc {
    height: 233px;
}
#header div.pc.adpage {
    height: 151px;
}
#header h1 {
    padding: 13px 0 0 8px;
    color: #5e5e5e;
    font-size: 1.1rem;
    font-weight: normal;
    float: left;
}
#header .logo {
    float: left;
    margin-top: 38px;
}
#header .hLink03 {
    float: right;
    width: 216px;
    margin: 34px 0 0 0;
}
#header .hLink03 li {
    float: left;
    margin-right: 7px;
}
#header .hLink03 li:first-child {
    margin-bottom: 7px;
    margin-left: 1px;
}
#header .hLink03 a:hover {
    opacity: 0.7;
}
#header .hText {
    float: right;
    margin: 37px 21px 0 0;
}
@media screen and (max-width: 640px) {
    #header {
        position: fixed;
    }
    #header .logo {
        margin: 0 9px 0 0;
        width: 31%;
        max-width: 115px;
    }
    #header .logo img{
        max-width: 100%;
    }
    #header .text{
        display: inline-block;
        margin: 7px auto 5px;
    }
    #header .text p{
        font-size: 10px;
        line-height: 1.9;
        letter-spacing: 0;
    }
}
/*------------------------------------------------------------
	フッター
------------------------------------------------------------*/
#footer {
    border-top: 1px solid #d5d5d5;
}
#footer .copyright {
    padding: 17px 0 11px;
    background-color: #043786;
    color: #fff;
}
#footer .copyright p {
    font-size: 1.1rem;
    text-align: center;
}
@media screen and (max-width: 640px) {
    #footer {
        padding-top: 0;
        border-top: 1px solid #ccb49c;
        margin-bottom: 110px;
    }
    #footer .copyright {
        padding: 9px 0 5px;
    }
    #footer .copyright p {
        font-size: 0.9rem;
    }
}
/*------------------------------------------------------------
	clearfix（float解除）
------------------------------------------------------------*/
.clearfix:after {
    content: "";
    display: block;
    clear: both;
}
/*------------------------------------------------------------
	mainBox
------------------------------------------------------------*/
.mainBox {
    position: relative;
    max-width: 1000px;
    width: 100%;
    margin: 0 auto 20px;
}
@media screen and (max-width: 640px) {
    .mainBox {
        position: relative;
        margin: 0 15px 10px;
        max-width: 100%;
        width: auto;
    }
}
/*------------------------------------------------------------
	見出し
------------------------------------------------------------*/
/* crossLine */
.crossLine {
    display: flex;
    align-items: center;
    margin-top: 35px;
    margin-bottom: 30px;
}
.crossLine::before,
.crossLine::after {
    content: " ";
    height: 0;
    width: 49%;
    border-bottom: 1px solid #2c2c2c;
}
.crossLine span {
    position: relative;
    text-align: center;
    white-space: nowrap;
    color: #2c2c2c;
    font-size: 20px;
    font-weight: 500;
    padding: 0 10px;
}
/* headLine01 */
.headLine01 {
    margin-bottom: 30px;
    padding: 25px 30px 16px;
    color: #043786;
    font-size: 2.8rem;
    background: -moz-linear-gradient(top, #fbfdff 0%, #ecf4ff);
    background: -ms-linear-gradient(top, #fbfdff 0%, #ecf4ff);
    background: -webkit-gradient(
        linear,
        left top,
        left bottom,
        from(#fbfdff),
        to(#ecf4ff)
    );
    border-top: 3px solid #043786;
}
.headLine01 .headTxt {
    padding-left: 38px;
    display: block;
    line-height: 1.44;
    background: url(/celes/img/common/icon07.png) no-repeat left 6px;
}
@media all and (max-width: 640px) {
    .headLine01 {
        margin-bottom: 28px;
        padding: 12px 0 10px;
        font-size: 2rem;
        border-width: 2px;
    }
    .headLine01 .headTxt{
        padding-left: 33px;
        background-size: 10px auto;
        background-position: 15px 10px;
    }
}
@media all and (max-width: 640px) {
    .sectionCont02 .headLine01{
        margin: 0 0 28px;
    }
}
/* headLine02 */
.headLine02{
    margin: 18px 0;
    padding: 20px 15px 20px;
    font-size: 2.2rem;
    color: #000;
    background-color: #e8f6ff;
}
.headLine02 .clinicName{
    display: inline-block;
    max-width: 173px;
    width: 100%;
    vertical-align: baseline;
}
@media all and (max-width: 640px) {
    .headLine02{
        margin-bottom: 10px;
        padding: 9px 15px;
        font-size: 1.6rem;
    }
}
/* checkTitle */
.checkTitle {
    position: relative;
    color: black;
    background: #e8f6ff;
    line-height: 1.4;
    padding: 1em 0.5em 1em 1.7em;
    margin: 2em 0 25px;
    font-size: 2.2rem;
}
.checkTitle:after {
    position: absolute;
    font-family: "Font Awesome 5 Free", "Quicksand", "Avenir", "Arial", sans-serif;
    content: "\f00c CHECK";
    background: #2196f3;
    color: #fff;
    left: 0px;
    bottom: 100%;
    border-radius: 5px 5px 0 0;
    padding: 3px 7px 1px;
    font-size: 0.7em;
    line-height: 1;
    letter-spacing: 0.05em;
}
@media all and (max-width: 640px) {
    .checkTitle {
        margin-bottom: 17px;
        padding: 10px 8px 10px;
        font-size: 1.5rem;
        background-size: 7px auto;
    }
}
/* leftLineTitle */
.leftLineTitle{
    padding: 1em 0 1em 1.5em;
    color: #000;
    font-size: 2.5rem;
    margin-bottom: 25px;
    background: #f5f5f5;
    border-left: solid 5px #0c55a7;
}
@media all and (max-width: 640px) {
    .leftLineTitle {
        padding: 1em 0 1em 1em;
        font-size: 1.6rem;
    }
}
/* topBottomLineTitle */
.topBottomLineTitle{
    font-size: 2.5rem;
    padding: 0.5em 0;
    line-height: 1.6em;
    letter-spacing: 2px;
    border-top: solid 1px #000;
    border-bottom: solid 1px #000;
    margin: 20px 0;
}
@media screen and (max-width: 640px) {
    .topBottomLineTitle{
        font-size: 1.5rem;
        line-height: 1.5em;
    }
}
/* borderTitle */
.borderTitle{
    width: 100%;
    margin: 30px auto 10px;
    font-size: 1.9rem;
    display: block;
    color: #00479d;
    padding-bottom: 5px;
    border-bottom: 1px solid #00479d;
}
@media screen and (max-width: 640px) {

}
/*------------------------------------------------------------
		ボタン用スタイル
------------------------------------------------------------*/
.button{
    position: relative;
    display: block;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    z-index: 2;
    background-color: #fff;
    color: #000;
    font-size: 1.4rem;
    text-align: center;
    line-height: 42px;
    text-decoration: none !important;
    box-sizing: border-box;
}
.button .txt {
    display: inline-block;
    position: relative;
    padding-left: 25px;
}

.button .txt:before {
    content: "▶";
    position: absolute;
    left: 0;
    top: 0;
}
@media all and (min-width: 641px) {
    .button::before,
    .button::after {
        content: "";
        position: absolute;
        display: block;
        z-index: -1;
        left: 0;
        width: 100%;
        height: 50%;
        background-color: #fff;
        -webkit-transition: all 0.3s;
        transition: all 0.3s;
    }
    .button::before {
        top: 0;
    }
    .button::after {
        bottom: 0;
    }
    .button:hover {
        background-color: #000;
        color: #fff;
    }
    .button:hover::before,
    .button:hover::after {
        height: 0;
    }
}

@media all and (min-width: 0) and (max-width: 640px) {
    .button {
        line-height: 35px;
        font-size: 1.4rem;
    }
    .button .txt {
        padding-left: 15px;
    }
}
/*------------------------------------------------------------
		問い合わせCTAボタン用スタイル
------------------------------------------------------------*/
.cta_box {
    max-width: 100%;
    margin: 0 auto;
    align-items: center;
}
.cta_box a {
    width: 32%;
}
.cta_box .col_1 a {
    width: 100%;
}
.cta_box .col_3 {
    display: flex;
    justify-content: space-between;
    margin-top: 16px;
}
.cta_box .button {
    color: #000;
    background-color: #fff;
    font-weight: bold;
}
.cta_box .button .txt {
    padding-left: 20px;
    font-size: 22px;
    padding-top: 7px;
}
.cta_box .button .txt .small {
    font-size: 16px;
    font-weight: 500;
    background: linear-gradient(transparent 60%, #ffff66 0);
}
.cta_box .button .txt .small::after {
    content: "/";
    padding: 0 8px;
    background: #fff;
}
.cta_box .button .txt .small:last-of-type::after {
    content: "";
}
.cta_box .button::before,
.cta_box .button::after {
    content: none;
}
.cta_box .button:hover {
    border-bottom: none;
    transform: translateY(0.25em);
}
.cta_box .button.tel {
    border: solid 1px #000;
    border-bottom: 0.25em solid #000;
    color: #000;
}
.cta_box .button.tel:hover {
    border-bottom: 0.1em solid #000;
}
.cta_box .button.tel .txt {
    line-height: 1.2;
    padding-top: 14px;
}
.cta_box .button.tel:before {
    color: #000;
}
.cta_box .button.line {
    background-color: #06c755;
    color: #fff;
    border-bottom: 0.25em solid #068f3f;
}
.cta_box .button.line:hover {
    border-bottom: 0.1em solid #068f3f;
}
.cta_box .button.mail_reserve {
    background-color: #f10c4d;
    color: #fff;
    border-bottom: 0.25em solid #a00732;
}
.cta_box .button.mail_reserve:hover {
    border-bottom: 0.1em solid #a00732;
}
.cta_box .button.mail_inquiry {
    background-color: #043d91;
    color: #fff;
    border-bottom: 0.25em solid #000712;
}
.cta_box .button.mail_inquiry:hover {
    border-bottom: 0.1em solid #000712;
}
.cta_box .button .txt {
    position: relative;
}
.cta_box .button .txt::before {
    content: "";
    position: absolute;
    top: 51%;
    left: -15px;
    transform: translateY(-51%);
    width: 25px;
    height: 25px;
    background-size: cover;
    background-repeat: no-repeat;
}
.cta_box .button.tel .txt::before {
    top: 58%;
    left: -32px;
    width: 30px;
    height: 30px;
    background-image: url(/celes/img/common/icon_phone.svg);
}
.cta_box .button.tel .txt::after {
    content: "";
    position: absolute;
    transform: translateY(-51%);
    background-size: cover;
    background-repeat: no-repeat;
    top: 58%;
    right: -60px;
    width: 65px;
    height: 65px;
    background-image: url(/celes/img/common/tel-0120-958-336.svg);
}
.cta_box.cta_gy .button.tel .txt::after {
    background-image: url(/celes/img/common/tel-0120-118-243.svg);
}
.cta_box .button.line .txt::before {
    background-image: url(/celes/img/common/icon_line.svg);
}
.cta_box .button.mail_reserve .txt::before {
    background-image: url(/celes/img/common/icon_calendar.svg);
}
.cta_box .button.mail_inquiry .txt::before {
    background-image: url(/celes/img/common/icon_email.svg);
}
@media screen and (max-width: 640px) {
    .cta_box .button {
        font-size: 1.2rem;
        line-height: 1.5;
        padding: 8px 0;
    }
    .cta_box .button .txt {
        font-size: 12px;
        padding-top: 0;
    }
    .cta_box .col_1 .button {
        padding: 16px 0;
    }
    .cta_box .button.tel .txt {
        font-size: 1.7rem;
        padding-top: 5px;
        padding-bottom: 4px;
        padding-left: 20px;
    }
    .cta_box .button.tel .txt::before {
        top: 50%;
        left: -45px;
        width: 37px;
        height: 37px;
    }
    .cta_box .button.tel .txt::after {
        content: none;
    }
    .cta_box .button .txt::before {
        left: -8px;
        width: 15px;
        height: 15px;
    }
    .cta_box .button .txt .small {
        font-size: 12px;
    }
    .cta_box .button .txt .small:nth-of-type(3)::after,
    .cta_box .button .txt .small:nth-of-type(4)::after,
    .cta_box .button .txt .small:nth-of-type(5)::after{
        content: "";
        padding: 0;
    }
    .cta_box .button .txt .small:last-of-type::after {
        padding: 0;
    }
}
@media screen and (max-width: 320px) {
    .cta_box .button .txt {
        padding-left: 10px;
    }
    .cta_box .button.tel .txt {
        font-size: 1.6rem;
        padding-left: 10px;
    }
    .cta_box .button.tel .txt::before {
        left: -37px;
        width: 30px;
        height: 30px;
    }
}
/*------------------------------------------------------------
		lp ページ内ボタン
------------------------------------------------------------*/
.mainBox nav .lp_nav {
    width: 100%;
    display: flex;
    margin: 20px 0;
}
.mainBox nav .lp_nav li {
    width: 20%;
    display: inline-block;
    background: #0089cd;
    color: #fff;
    text-align: center;
    font-size: 16px;
    font-weight: bold;
    padding: 6px;
    margin-right: 4px;
}
.mainBox nav .lp_nav li:last-child {
    margin-right: 0;
}
.mainBox nav .lp_nav li:hover {
    background: #006ea5;
}
.mainBox nav .lp_nav li a {
    color: #fff;
    text-decoration: none;
    display: inline-block;
    width: 100%;
    position: relative;
}
.mainBox nav .lp_nav li figure {
    width: 100%;
    height: auto;
}
.mainBox nav .lp_nav li span {
    display: inline-block;
    border-bottom: solid 2px #fff;
    margin-top: 8px;
}
.mainBox nav .lp_nav li span.i_window::after {
    content: "";
    display: inline-block;
    width: 16px;
    height: 14px;
    background-image: url(/celes/img/common/icon_open_in_new_window.svg);
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    bottom: 7px;
    right: 4px;
}
@media screen and (max-width: 640px) {
    .mainBox nav .lp_nav {
        flex-direction: column;
    }
    .mainBox nav .lp_nav li {
        width: auto;
        display: inline-block;
        background: #0089cd;
        color: #fff;
        text-align: center;
        font-size: 16px;
        overflow: hidden;
        margin-right: 0;
        margin-bottom: 16px;
    }
    .mainBox nav .lp_nav li:last-child {
        margin-bottom: 0;
    }
    .mainBox nav .lp_nav li a {
        color: #fff;
        text-decoration: none;
        display: inline-block;
        width: 100%;
        position: relative;
        display: flex;
        align-items: center;
    }
    .mainBox nav .lp_nav li figure {
        width: 50px;
        height: auto;
    }
    .mainBox nav .lp_nav li span {
        margin-top: 0;
        margin-left: 16px;
    }
    .mainBox nav .lp_nav li span.i_window::after {
        width: 17px;
        height: 15px;
        right: 6px;
        bottom: 10px;
    }
}
/*------------------------------------------------------------
	料金テーブル
------------------------------------------------------------*/
table {
    margin-bottom: 30px;
    width: 100%;
    font-size: 1.5rem;
    border-collapse: collapse;
    border: 1px solid #d5d5d5;
}
table.type02 {

}
table.type03 {

}
table tr{
}
table th {
    font-weight: bold;
    padding: 13px 20px;
    font-size: 1.5rem;
    text-align: left;
    vertical-align: middle;
    border: 1px solid #d5d5d5;
    box-sizing: border-box;
}
table .price_title{
    background-color: #eee;
}
table td {
    padding: 13px 20px;
    font-size: 1.5rem;
    border: 1px solid #d5d5d5;
    box-sizing: border-box;
}
table thead th {
    background-color: #eee;
    border-right: 1px solid #d5d5d5;
    padding: 13px 20px;
}
table td {
    text-align: right;
    border-left: none;
}
table tbody th{
    width: 266px;
}
table.type03 tbody th{
    width: 700px;
}
table.type04 tbody th{
    width: 199px;
}
table tbody td.annotation{
    width: 119px;
}
table tbody th + td{
    width: 171px;
}
table.type03 tbody td{
    width: 247px;
}
table.type04 tbody th + td + td{
    width: 577px;
}
.tableText{
    margin: -15px 0 15px;
    font-size: 1.2rem;
    float: right;
}
@media screen and (max-width: 640px) {
    table {
        margin-bottom: 30px;
        width: 100%;
        font-size: 1.2rem;
        border-collapse: collapse;
        border: 1px solid #d5d5d5;
    }
    table th {
        font-weight: bold;
        padding: 13px 5px;
        font-size: 1.5rem;
        text-align: left;
        vertical-align: middle;
        width: auto;
        min-width: 50px;
        border: 1px solid #d5d5d5;
    }
    table td {
        padding: 13px 0;
        font-size: 1.5rem;
        border: 1px solid #d5d5d5;
    }
    table thead th {
        background-color: #eee;
        border-right: 1px solid #d5d5d5;
        padding: 13px 5px;
    }

    table td {
        text-align: right;
        border-left: none;
        font-size: 1.25rem;
        padding: 10px 5px;
    }
    table tbody th{
        width: 134px;
    }
    table.type02 tbody th{
        width: 61px;
    }
    table.type03 tbody th{
        width: 240px;
    }
    table.type04 tbody th{
        width: 100px;
    }
    table tbody th + td{
        width: 92px;
    }
    table.type04 tbody th + td{
        width: 141px;
    }
    table.type04 tbody th + td + td{
        width: 75px;
    }
    table.type02 tbody tr:first-child th + td{
        width: 255px;
    }
    table.type03 tbody th + td{
        width: 75px;
    }
    table.type02 tbody tr:last-child td:first-child{
        width: 41px;
    }
    table tbody th + td + td{
        width: 85px;
    }
    table.type02 tbody tr:last-child td:last-child{
        width: 213px;
    }
}
/*------------------------------------------------------------
	医師紹介
------------------------------------------------------------*/
.doctorSection{
    margin: 35px 0 30px;
}
.doctorSection .doctor {
    display: flex;
}
.docterImg{
    width: 26.5%;
}
.docterImg img{
    width: 100%;
    height: auto;
}
.docterTextArea{
    max-width: 750px;
    width: calc(100% - (26.5% - 3%));
    margin-left: 3%;
}
.docterTitle{
    font-size: 3rem;
    color: #00479d;
    border-bottom: 1px solid #d2d2d2;
    padding-bottom: 5px;
    padding-left: 15px;
    margin-bottom: 15px;
    background: url(/celes/img/common/bdr01.jpg) no-repeat left;
}
.docterTitleArea p{
    font-size: 2.9rem;
    color: #00479d;
    margin-bottom: 10px;
}
.docterTextArea > p{
    font-size: 1.6rem;
}
.docterTextArea > p.docterName{
    margin: 15px 0;
    font-size: 2rem;
    font-weight: 700;
    font-family: "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "serif";
}
.doctorSection dl dt{
    margin: 15px 0;
    border-bottom: 1px solid #d2d2d2;
}
.doctorSection dl dt p{
    font-size: 2rem;
    font-weight: 700;
}
.doctorSection dl dd{
    padding-left: 20px;
}
.doctorSection dl dd ul {
    list-style: disc;
    padding: 10px 0;
    font-size: 1.5rem;
}
@media screen and (max-width: 640px) {
    .doctorSection{
        width: 92%;
        margin: 0 auto 30px;
    }
    .doctorSection .doctor {
        flex-direction: column;
    }
    .docterImg{
        width: 60%;
        height: auto;
        margin: auto auto 20px;
    }
    .docterImg img{
        width: 100%;
        height: auto;
    }
    .docterTextArea{
        max-width: 750px;
        width: 100%;
        margin-left: 0;
    }
    .docterTitle{
        font-size: 2rem;
        color: #00479d;
        border-bottom: 1px solid #d2d2d2;
        padding-bottom: 5px;
        padding-left: 15px;
        margin-bottom: 15px;
        text-align: left;
        background: url(//celes-clinic.com/wp/wp-content/themes/a_keisei/assets/css/../image/common/bdr01.jpg) no-repeat left;
    }
    .docterTitleArea p{
        font-size: 1.9rem;
        color: #00479d;
        text-align: left;
        margin-bottom: 10px;
    }
    .docterTextArea > p{
        font-size: 1.6rem;
    }
    .docterTextArea > p.docterName{
        margin: 15px 0;
        font-size: 2rem;
        font-weight: 700;
        font-family: "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "serif";
    }
    .doctorSection dl dt{
        margin: 15px 0;
        border-bottom: 1px solid #d2d2d2;
    }
    .doctorSection dl dt p{
        font-size: 2rem;
        font-weight: 700;
    }
    .doctorSection dl dd{
        padding-left: 20px;
    }
    .doctorSection dl dd ul {
        list-style: disc;
        padding: 10px 0;
        font-size: 1.5rem;
    }
}
/*------------------------------------------------------------
	comBtmWrap
------------------------------------------------------------*/
/* contactArea */
.contactArea {
    border-top: 1px solid #e2d7b7;
    border-bottom: 1px solid #e2d7b7;
    position: relative;
    -ms-overflow-x: hidden;
    overflow-x: hidden;
    z-index: 1;
    text-align: center;
    background: url(/celes/img/common/btm_wrap_bg01_y.png) #edebe4 ;
}
.contactArea .content{
    margin: 0 auto;
    width: 1000px;
    padding: 26px 0 20px;
    position: relative;
    z-index: 2;
}
.contactArea .content .contentTitle{
    width: 288px;
    margin: 0 auto 15px;
    text-align: center;
    padding-bottom: 7px;
    border-bottom: 1px solid #5e5e5e;
}
.contactArea .content .tel{
    width: 555px;
    margin: 0 auto 15px;
}
.contactArea .content ul{
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    text-align: center;
}
.contactArea .content ul li{
    display: inline-block;
    width: 32%;
    margin-bottom: 20px;
}
.contactArea .content ul li:not(:last-of-type){
    margin-right: 15px;
}
/* txtArea */
.txtArea{
    padding: 26px 0 26px;
    clear: both;
    border-bottom: 1px solid #d5d5d5;
    background-color: #f3f3f3;
}
.txtArea .content{
    margin: 0 auto;
    width: 1000px;
}
.txtArea dl{
    padding: 9px 20px 19px;
    font-size: 1.5em;
    color:black;
    line-height: 1.93;
    border: 1px solid #c8c8c8;
    background-color: #fff;
}
.txtArea dl dt{
    font-weight: 700;
}
@media screen and (max-width: 640px) {
    .txtArea{
        display: none;
    }
}
/* mapArea */
.mapArea{
    padding: 28px 0 40px;
    width: 990px;
    margin: 0 auto;
    background: url(/celes/img/common/btm_wrap_bg03.png) repeat-y -8px;
    margin-bottom: 45px;
}
.mapArea .area{
    padding: 0 15px;
    width: 450px;
    float: left;
}
.mapArea .area > p{
    margin-bottom: 26px;
    padding: 22px 0 17px;
    position: relative;
    color: #313131;
    line-height: 1.2;
    font-size: 1.9rem;
    text-align: center;
    border: 1px solid #c8c8c8;
}
.mapArea .area .ttl:before {
    content: "";
    margin-left: -18px;
    width: 36px;
    height: 16px;
    background: url(/celes/img/common/btm_wrap_icon01.png) no-repeat left top;
    position: absolute;
    left: 50%;
    bottom: -16px;
}
.mapArea .area .map{
    margin-bottom: 25px;
}
.mapArea .area .txtBox .lBox{
    padding-bottom: 5px;
    margin-bottom: 10px;
    border-bottom: 1px solid #d5d5d5;
    position: relative;
}
.foot_link{
    color: #e45991;
    padding-left: 15px;
    font-size: 14px;
}
.foot_link:before {
    content: "▶";
    color: #e45991;
    font-size: 1.3rem;
    left: 0;
    position: absolute;
    top: 1px;
}
.foot_link:hover{
    color: #e45991;
}
.mapArea .area .txtBox{
    margin: 0 0 35px;
    clear: both;
}
.mapArea .area .txtBox .lBox .name{
    color: #313131;
    font-size: 1.4rem;
    font-weight: 700;
}
.mapArea .area .txtBox .lBox .tel{
    color: #313131;
    font-size: 1.4rem;
}
.mapArea .area .txtBox .lBox .tel .sml{
    display: block;
    margin-top: 5px;
    font-size: 1.2rem;
    line-height: 1;
}
.mapArea .area .txtBox .lBox .tel:hover{
    text-decoration: none;
}
.mapArea .area .txtBox .lBox .tel .num02{
    display: block;
    color: #313131;
    padding-left: 40px;
    font-size: 2rem;
    font-weight: 700;
    background: url(/celes/img/common/btm_wrap_icon02.png) no-repeat left 5px;
}
.mapArea .area .txtBox .rBox p{
    color: #313131;
    font-size: 1.2rem;
    line-height: 1.8;
}
@media screen and (max-width: 640px) {
    .mapArea{
        padding: 23px 15px 30px;
        width: auto;
        background: 0 0;
    }
    .mapArea .area{
        margin-bottom: 20px;
        width: auto;
        float: none;
    }
    .mapArea .area .ttl{
        margin-bottom: 15px;
        padding: 10px 0;
        font-size: 1.3rem;
    }
    .mapArea .area .ttl:before{
        margin-left: -11px;
        width: 22px;
        height: 11px;
        background-size: 22px 11px;
        bottom: -11px;
    }
    .mapArea .area .txtBox .lBox{
        padding-bottom: 0;
        margin-bottom: 0;
        width: 46%;
        float: left;
        border-bottom: none;
        border-right: 1px solid #d5d5d5;
    }
    .mapArea .area .txtBox .lBox .name{
        margin-bottom: 5px;
        font-size: 1.1rem;
        line-height: 1.2;
    }
    .mapArea .area .txtBox .lBox .tel{
        font-size: 1.1rem;
        line-height: 1.2;
    }
    .mapArea .area .txtBox .lBox .tel .sml{
        margin-bottom: 2px;
        font-size: .7rem;
    }
    .mapArea .area .txtBox .lBox .tel .num02{
        padding-left: 22px;
        font-size: 1.4rem;
        background: url(/celes/img/common/btm_wrap_icon02.png) no-repeat left 2px;
        background-size: 18px 12px;
    }
    .mapArea .area .txtBox .rBox{
        width: 51%;
        float: right;
    }
    .mapArea .area .txtBox .rBox p{
        font-size: 1.1rem;
        line-height: 1.2;
    }
    .foot_link{
        font-size: 14px;
    }
    .mapArea .area .txtBox{
        margin: 0 0 55px;
    }
    .mapArea .area:last-of-type .txtBox{
        margin-bottom: 0;
    }
}

/* clinic */
.clinicTel{
    width: 94%;
    margin: 10px auto;
    display: table;
    font-size: 1.5rem;
}
.clinicTel dt,
.clinicTel dd{
    width: 50%;
    display: table-cell;
    vertical-align: middle;
}

.accessOsaka{
    margin-top: 50px;
}
@media screen and (max-width: 640px) {
    .accessOsaka {
        margin-top: 30px;
        margin-bottom: 80px;
    }
    .clinic {
        margin: 0 15px 70px;
        position: relative;
    }
    .clinic .contTextArea p{
        margin: 0 5px 25px;
        line-height: 1.71;
    }
}


/*------------------------------------------------------------
	topcontrol
------------------------------------------------------------*/
#topcontrol{
    position: fixed;
    bottom: 80px;
    right: 5px;
    opacity: 1;
    cursor: pointer;
    z-index: 10;
}
#topcontrol img{
    width: 60px;
    height: 60px;
}
@media screen and (max-width: 640px) {
    #topcontrol{
        bottom: 130px;
        right: 10px;
    }
    #topcontrol img {
        width: 30px;
        height: auto;
    }
}
/*------------------------------------------------------------
	anker
------------------------------------------------------------*/
@media screen and (max-width: 640px) {
    .anker{
        padding-top: 51px;
        margin-top: -51px;
    }
}
/*------------------------------------------------------------
	.modalbtm
------------------------------------------------------------*/
@media screen and (max-width: 640px) {
    .modalbtm{
        position: fixed;
        bottom: -1px;
        left: 0;
        z-index: 10;
        color: #fff;
        margin-top: 20px;
        width: 100%;
        color: #777;
        font-size: 135%;
        font-family: "MS Pゴシック", sans-serif;
        background-color: #fff;
        border-top: 1px solid #043786;
        border-left: none;
        border-right: none;
        border-right-width: initial;
        border-right-style: none;
        border-right-color: initial;
        border-bottom: none;
    }
    .foot_btn_wrap {
        width: 100%;
        justify-content: center;
        display: flex;
        flex-wrap: wrap;
        margin: 0 auto;
        padding: 0;
        text-align: center;
        position: relative;
    }
    .foot_btn_wrap .linkbox {
        display: block;
        width: calc(25% - 1px);
        margin: 0;
        position: relative;
        border: none;
        background: #fff;
        overflow: visible;
        padding: 5px 0;
        z-index: 10;
        border-right: 1px solid #043786;
        font-size: 10px;
        position: relative;
    }
    .foot_btn_wrap .linkbox img {
        width: 48%;
    }
    .foot_btn_wrap .linkbox a {
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
    }
    .foot_btn_wrap .linkbox p {
        clear: both;
        margin: 2px 0 0;
        font-weight: 700;
        color: #000;
    }
    .foot_btn_wrap .linkbox.last {
        border: none;
    }
    .foot_btn_wrap .linkbox span.yoyaku_span {
        width: 86%;
        background: #e45991;
        color: #fff;
        text-align: center;
        padding: 6px 2px;
        border-radius: 50px;
        -webkit-border-radius: 50px;
        -moz-border-radius: 50px;
        position: absolute;
        top: -17px;
        left: 2px;
        font-size: 9px;
        font-weight: 400;
        letter-spacing: 1px;
        line-height: 1.2em;
        border: none;
        display: block;
    }
    .foot_btn_wrap .linkbox span.tel_span {
        width: 86%;
        background: #58acc6;
        color: #fff;
        text-align: center;
        padding: 6px 2px;
        border-radius: 50px;
        -webkit-border-radius: 50px;
        -moz-border-radius: 50px;
        position: absolute;
        top: -17px;
        left: 2px;
        font-size: 9px;
        font-weight: 400;
        letter-spacing: 1px;
        line-height: 1.2em;
        border: none;
        display: block;
    }
}
