@charset "utf-8";

/* ----------------------------------------------------------------------------------------------------
 page section 
---------------------------------------------------------------------------------------------------- */

h1.min,
h2.min {
    color: #333;
    font-family: utukushi;
    font-size: 157%;
    line-height: 1.33;
    text-align: center;
}

h1.min,
h2.min.tL {
    text-align: left;
}

h1.tab,
h2.tab {
    background: url(../img/tab.gif) no-repeat left 45%;
    /* left top */
    color: #333;
    font-family: utukushi;
    font-size: 157%;
    line-height: 1.33;
    padding-left: 37px;
}

h1.tab span.min,
h2.tab span.min {
    font-family: "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "serif";
}

h1.tab.c2,
h2.tab.c2 {
    background: url(../img/tab2.gif) no-repeat left 45%;
    /* left top */
}

h1.tab.c3,
h2.tab.c3 {
    background: url(../img/tab3.gif) no-repeat left 45%;
    /* left top */
}

h1.tab.c4,
h2.tab.c4 {
    background: url(../img/tab4.gif) no-repeat left 45%;
    /* left top */
}

.fs {
    font-size: 85%;
}

.mb10 {
    margin-bottom: 10px;
}

.mb20 {
    margin-bottom: 20px;
}

.mb30 {
    margin-bottom: 30px;
}

.letter-s {
    letter-spacing: -1px;
}

p.bo,
img.bo {
    border-bottom: 1px solid #ddd;
    padding: 0 0 15px 0;
    margin: 0 0 15px 0;
}

section.bo {
    border-bottom: 1px solid #ddd;
    padding: 0 0 30px 0;
}

section.half {
    float: left;
    margin: 30px 0 30px 0;
    padding: 0;
    width: 465px;
}

section.half+section {
    clear: none;
    float: right;
    padding: 0;
    margin: 30px 0 30px 0;
    width: 465px;
}

.half {
    float: left;
    padding: 0;
    margin-bottom: 30px;
    width: 465px;
}

div.half+div {
    clear: none;
    float: right;
    padding: 0;
    margin-bottom: 30px;
    width: 465px;
}


/* ----------------------------------------------------------------------------------------------------
 about
---------------------------------------------------------------------------------------------------- */


/*section.about img.point {
    margin: -50px 0 30px 380px;
}

section.about.p2 img.point,
section.about.p3 img.point {
    margin: -50px 0 30px 160px;
}

section.about.p1,
section.about.p2,
section.about.p3 {
    clear: none;
    margin-bottom: 90px;
}

section.about.p2 {
    float: left;
    padding: 0 25px;
    width: 420px;
}

section.about.p3 {
    float: right;
    padding: 0 25px;
    width: 420px;
}*/


/*section.about.p1 img:last-child {
    margin-left: 30px;
}*/

.inner {
    width: 960px;
    margin: 100px auto 0 auto;
}

.inner .item {
    position: relative;
    width: 100%;
    height: auto;
}

.inner .about {
    width: 83%;
    margin: 100px 0 0 auto;
    background-color: #F3F9F9;
    border-radius: 10px;
    display: block;
    padding: 50px 40px;
    height: auto;
    z-index: 2;
}

.inner .about.p1,
.inner .about.p2 {
    margin: 100px 0 150px auto;
}

.inner .about .point {
    position: absolute;
    top: -80px;
    left: 0;
    z-index: 3;
    width: 150px;
    height: auto;
}

.inner .about .point img,
.inner .about.p2 .flex img {
    width: 100%;
    height: auto;
}

.inner .about h3 {
    font-size: 22px;
    font-family: utukushi;
    font-size: 157%;
    line-height: 1.33;
    text-align: center;
    display: block;
    padding: 0 0 24px 0;
}

.inner .about h3 span {
    color: #6ec8c3;
}

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

.flex img.pic {
    width: 48%;
}

.flex .left,
.flex .right {
    width: 48%;
}

.fit.wraps {
    padding: 80px 0 0 0;
}


/* ----------------------------------------------------------------------------------------------------
 general
---------------------------------------------------------------------------------------------------- */


/*.general section:first-child {
	background:url(../img/bg-toe.png) no-repeat right top;
	border-bottom:1px solid #ddd;
	padding:0 0 30px 0;
}

.general section p {
    margin-bottom: 60px;
}*/

.g_normal {
    margin: 16px auto 80px auto;
    display: block;
    border-top: 2px solid #6ec8c3;
    border-bottom: 2px solid #6ec8c3;
}

.g_normal .inner_contents {
    margin: 24px auto;
    padding: 30px;
    background-color: #F3FAF9;
    border-radius: 10px;
}

.g_normal .inner_contents p:last-child {
    margin-bottom: 0px;
}

.md_area {
    display: block;
    text-align: center;
}

.fit.wraps h2 {
    position: relative;
    text-align: center;
    width: auto;
    display: inline-block;
}

.fit.wraps h2 small {
    font-size: 80%;
}

.btm {
    width: 50%;
    margin: 30px auto 0 auto;
    display: block;
    background-color: #6ec8c3;
    border-top-left-radius: 10px;
    border-bottom-right-radius: 10px;
    padding: 5px;
    box-sizing: border-box;
}

.btm a {
    width: 100%;
    display: block;
    background-color: #6ec8c3;
    border-top-left-radius: 10px;
    border-bottom-right-radius: 10px;
    padding: 5px;
    border: 1px solid #fff;
    padding: 16px;
    color: #fff;
    text-align: center;
    list-style: 24px;
    box-sizing: border-box;
    text-decoration: none;
}

.btm a:hover {
    opacity: 1;
    background-color: #438e8a;
}


/* ----------------------------------------------------------------------------------------------------
 free
---------------------------------------------------------------------------------------------------- */

section.free5 {
    -moz-border-radius: 6px;
    -webkit-border-radius: 6px;
    border-radius: 6px;
    border: 1px solid #ddd;
    padding: 20px 40px;
}

section.free5 h1.tab {
    background: url(../img/tab2.gif) no-repeat left top;
}

section.free5 h1.tab span {
    font-size: 70%;
}


/* ----------------------------------------------------------------------------------------------------
 foot
---------------------------------------------------------------------------------------------------- */

.trans {
    -moz-border-radius: 6px;
    -webkit-border-radius: 6px;
    border-radius: 6px;
    background: url(../img/trans.png);
    padding: 15px;
}

table.doctor {
    line-height: 1.33;
}

table.doctor th,
table.doctor td {
    padding: 10px 5px 10px 0;
    text-align: left;
}

table.doctor th {
    white-space: nowrap;
}

table.doctor td.bo {
    border-bottom: 1px dotted #ddd;
}

.colL {
    float: left;
    padding: 0;
    width: 390px;
}

.colR {
    float: right;
    padding: 0;
    width: 540px;
}

dl.fee {
    line-height: 1.33;
    margin: -15px 0 15px 0;
    padding: 0;
}

dl.fee dt {
    /* float: left;*/
    padding: 15px 0 15px 20px;
    white-space: nowrap;
    width: auto;
}

dl.fee dd {
    border-bottom: 1px solid #ddd;
    /*padding: 15px 0;*/
    text-align: right;
    white-space: nowrap;
    width: auto;
}

dl.fee dd:last-child {
    border: none;
}

dl.fee dt {
    background: url(../img/ico-circle.png) no-repeat left center;
}

dl.fee.c3 dt {
    background: url(../img/ico-circle3.png) no-repeat left center;
}

dl.fee.c4 dt {
    background: url(../img/ico-circle4.png) no-repeat left center;
}

p.note.c3 {
    background-color: #f8f3f3;
    -moz-border-radius: 6px;
    -webkit-border-radius: 6px;
    border-radius: 6px;
    color: #ad6d75;
    font-size: 85%;
    padding: 15px;
}

.bo-line {
    -moz-border-radius: 6px;
    -webkit-border-radius: 6px;
    border-radius: 6px;
    border: 1px solid #ddd;
    padding: 30px 40px;
}

.bo-line .colL {
    float: left;
    padding: 0;
    width: 390px;
}

.bo-line .colR {
    float: right;
    padding: 0;
    width: 460px;
}

.flex.free {
    margin: 0 auto 100px auto;
}

.flex.free .left {
    width: 61%;
}

.flex.free .right {
    width: 37%;
}

.flex.free .right img {
    width: 100%;
    height: auto;
}

.flex.free .tablewrap {
    margin: 24px auto 0 auto;
    background-color: #E5F3F3;
    padding: 8px 16px;
    border-radius: 10px;
}

.flex.free table {
    width: 100%;
    box-sizing: border-box;
}

.flex.free table tbody,
.flex.free table tbody tr {
    width: 100%;
}

.flex.free table th,
.flex.free table td {
    padding: 16px 0;
}

.flex.free table td {
    border-bottom: 1px dashed #646464;
}

.flex.free table tr:last-child td {
    border-bottom: none
}


/* ----------------------------------------------------------------------------------------------------
 doctor
---------------------------------------------------------------------------------------------------- */

.doctor img.bo {
    padding-bottom: 50px;
}

dl.his {
    line-height: 1.33;
    margin: -15px 0 15px 0;
}

dl.his dt {
    float: left;
    padding: 15px 0 15px 0;
    width: 8em;
}

dl.his dd {
    border-bottom: 1px dotted #ddd;
    padding: 15px 0 15px 8em;
}

dl.his dd:last-child {
    border: none;
}

dl.his.sec dt {
    width: 10em;
}

dl.his.sec dd {
    padding: 15px 0 15px 10em;
}

p.aa {
    display: block;
    border-bottom: 1px dotted #ddd;
    border-top: 1px dotted #ddd;
    padding: 15px 0;
    margin-bottom: 15px;
    margin-top: -15px;
}


/* ----------------------------------------------------------------------------------------------------
 contact
---------------------------------------------------------------------------------------------------- */

h2.tel {
    font-size: 42px;
    margin-bottom: 50px;
}


/* ----------------------------------------------------------------------------------------------------
 free
---------------------------------------------------------------------------------------------------- */

.price {
    background: url(../img/bg_gr.jpg) no-repeat left top;
    color: #fff;
    padding: 25px 15px 20px;
    border-radius: 10px;
    margin: 20px 0 40px 0;
}

.price dl.fee {
    line-height: 1.33;
    margin: -15px 0 15px 0;
    padding: 0;
    font-size: 110%;
}

.price dl.fee dt {
    float: left;
    padding: 15px 0 15px 20px;
    white-space: nowrap;
    width: auto;
}

.price dl.fee dd {
    border-bottom: 1px solid #ddd;
    padding: 15px 0;
    text-align: right;
    white-space: nowrap;
    width: auto;
}

.price dl.fee dd:last-child {
    border-bottom: 1px solid #ddd;
}

.price p {
    margin: 0;
    font-size: 90%;
}