#head {
    height: 350px;
    margin: 0 !important
}

#head .txt {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    margin: auto;
    left: 0;
    right: 0;
    text-align: center
}

#head .txt h1 {
    color: #000;
    width: 480px;
    text-align: center;
    margin: 0 auto 12px;
    border-bottom: 1px solid #000;
    padding-bottom: 12px;
    font-size: 4.4rem
}

#head .txt h2 {
    text-align: center;
    font-size: 2rem;
    color: #024b8a;
    margin: 0;
    padding: 0;
    text-shadow: 6px 6px 6px #fff, -6px -6px 6px #fff, -6px 6px 6px #fff, 6px -6px 6px #fff, 6px 0px 6px #fff, -6px 0px 6px #fff, 0px 6px 6px #fff, 0px -6px 6px #fff
}

#head .txt .icon_renew {
    background: #a09664;
    color: #fff;
    display: inline-block;
    padding: 1px 20px;
    border-radius: 3px;
    margin: 12px auto 0;
    -webkit-transform: skew(-8deg, 0deg);
    transform: skew(-8deg, 0deg);
    font-size: 1.8rem
}

#head .txt .icon_lang_cnok {
    margin-top: 20px;
    text-align: left;
    font-size: 1.6rem;
    color: #218BCC;
    background: #f2f2f2;
    padding: 3px 16px 3px 9px;
    position: relative;
    display: inline-block;
    border-radius: 4px
}

#head .txt .icon_lang_cnok::before {
    content: "";
    display: inline-block;
    width: 2.6rem;
    height: 1.8rem;
    background: url(../image/icon_lang_cnok.svg) no-repeat center/contain;
    vertical-align: text-bottom;
    padding: 0 6px 0 0
}

#contents .clinic {
    margin: 0;
    padding: 0
}

#contents .clinic .inner {
    max-width: 100%;
    width: 100%;
    box-sizing: border-box;
    padding: 0;
    margin: 0
}

#contents .clinic .clinic_header {
    max-width: 768px;
    box-sizing: border-box;
    margin: 0 auto;
    width: 100%;
    border-bottom: 1px solid #ccc;
    text-decoration: none;
    position: relative;
    transition: all .2s;
    box-shadow: 0px -15px 20px -10px rgba(202, 202, 202, .8), 0px 15px 20px -10px rgba(202, 202, 202, .8)
}

#contents .clinic .clinic_header .clinic_header_wrap {
    display: flex;
    align-items: center
}

#contents .clinic .clinic_header .clinic_header_wrap .photo {
    width: 45%
}

#contents .clinic .clinic_header .clinic_header_wrap .photo img {
    width: 100%;
    height: auto;
    max-width: 100%
}

#contents .clinic .clinic_header .clinic_header_wrap .text {
    width: 55%;
    padding: 20px
}

#contents .clinic .clinic_header .clinic_header_wrap .text h2 {
    text-align: left;
    font-size: 3.2rem;
    color: #000;
    font-weight: bold;
    padding-left: 5px
}

#contents .clinic .clinic_header .clinic_header_wrap .text .icon_lang_cnok {
    margin-top: 20px;
    text-align: left;
    font-size: 1.6rem;
    color: #4694D1;
    background: #f2f2f2;
    padding: 3px 16px 3px 9px;
    position: relative;
    display: inline-block;
    border-radius: 4px
}

#contents .clinic .clinic_header .clinic_header_wrap .text .icon_lang_cnok::before {
    content: "";
    display: inline-block;
    width: 2.6rem;
    height: 1.8rem;
    background: url(../image/icon_lang_cnok.svg) no-repeat center/contain;
    vertical-align: text-bottom
}

#contents .clinic .clinic_header .clinic_header_wrap .text .icon_renew {
    background: #a09664;
    color: #fff;
    display: inline-block;
    padding: 1px 20px;
    border-radius: 3px;
    margin: 0 auto 12px;
    -webkit-transform: skew(-8deg, 0deg);
    transform: skew(-8deg, 0deg);
    font-size: 1.4rem
}

#contents .clinic .clinic_header .clinicname_en {
    text-align: center;
    font-size: 1.4rem;
    color: #fff;
    padding: 10px;
    background: #373c46;
    line-height: 1;
    margin: 0
}

#contents .clinic .clinic_info {
    padding: 20px 30px;
    max-width: 768px;
    box-sizing: border-box;
    margin: 0 auto
}

#contents .clinic .clinic_info .clinic_info_addr {
    font-size: 2rem
}

#contents .clinic .clinic_info .clinic_info_route {
    font-size: 1.6rem;
    margin-top: 1rem;
    display: block
}

#contents .clinic .clinic_info .clinic_info_route b {
    font-weight: bold
}

#contents .clinic .clinic_info .clinic_info_mapbtn {
    padding: 30px 0;
    text-align: center
}

#contents .clinic .clinic_info .clinic_info_mapbtn a[target=_blank],
#contents .clinic .clinic_info .clinic_info_mapbtn a {
    text-decoration: none;
    display: inline-block;
    border: 1px solid #373c46;
    border-radius: 60px;
    position: relative;
    background: none;
    text-align: center;
    width: 100%;
    margin: auto;
    padding: 6px 22px 6px 18px;
    max-width: 210px;
    box-sizing: border-box;
    font-size: 1.6rem;
    transition: all .5s
}

#contents .clinic .clinic_info .clinic_info_mapbtn a[target=_blank]::before,
#contents .clinic .clinic_info .clinic_info_mapbtn a::before {
    content: "";
    display: inline-block;
    width: 24px;
    height: 16px;
    background: url(../image/icon_mappin.png) no-repeat center/contain;
    vertical-align: text-bottom
}

#contents .clinic .clinic_info .clinic_info_mapbtn a[target=_blank]:hover,
#contents .clinic .clinic_info .clinic_info_mapbtn a:hover {
    color: #000;
    -webkit-transform: scale(1.05);
    transform: scale(1.05)
}

#contents .clinic .clinic_contact {
    background: url(../image/index_clinic_bg.jpg) no-repeat center top/cover;
    padding: 0 20px 40px;
    box-sizing: border-box;
    margin: 0;
    border-bottom: 1px solid #373c46
}

#contents .clinic .clinic_contact .lead {
    font-size: 1.5rem;
    text-align: center;
    margin-bottom: 30px;
    display: block;
    max-width: 768px;
    box-sizing: border-box;
    margin: 0 auto
}

#contents .clinic .clinic_contact .confirm {
    font-size: 2rem;
    font-weight: bold;
    color: #4694D1;
    text-align: center;
    margin-bottom: 30px;
    display: block;
    text-decoration: underline
}

#contents .clinic .clinic_contact .first_contact {
    background: #fff;
    padding: 30px 0;
    width: 100%;
    margin: auto;
    max-width: 640px;
    margin-bottom: 40px
}

#contents .clinic .clinic_contact .first_contact .title {
    font-size: 2.8rem;
    text-align: center;
    background: #fff;
    display: block;
    width: 100%;
    position: relative;
    margin-bottom: 15px
}

#contents .clinic .clinic_contact .first_contact .title em {
    color: #4694D1;
    font-weight: bold
}

#contents .clinic .clinic_contact .first_contact .title span {
    background: #fff;
    display: inline-block;
    position: relative;
    padding: 0 20px
}

#contents .clinic .clinic_contact .first_contact .title::before {
    content: "";
    width: 100%;
    height: 1px;
    background-color: #ccc;
    position: absolute;
    left: 0;
    top: 50%
}

#contents .clinic .clinic_contact .first_contact .lead2 {
    font-size: 1.5rem;
    text-align: center;
    margin-bottom: 30px;
    display: block;
    text-decoration: underline
}

#contents .clinic .clinic_contact .first_contact .btn1 {
    background: #a09664;
    padding: 22px;
    display: block;
    border-radius: 120px;
    width: 100%;
    box-sizing: border-box;
    max-width: 500px;
    margin: 0 auto 40px;
    text-align: center;
    font-family: "Noto Serif JP";
    font-style: normal;
    color: #fff;
    line-height: 1;
    box-shadow: 15px 15px 30px -5px #ccc
}

#contents .clinic .clinic_contact .first_contact .btn1 .header {
    font-weight: 400;
    font-size: 2.2rem;
    border-bottom: 1px solid #fff;
    width: auto;
    display: inline-block;
    padding: 0 30px 10px;
    margin-bottom: 10px
}

#contents .clinic .clinic_contact .first_contact .btn1 .header::before {
    content: "";
    display: inline-block;
    width: 36px;
    height: 24px;
    background: url(../image/icon_freedial.png) no-repeat center/contain;
    vertical-align: text-bottom;
    margin: 0 10px 0 0
}

#contents .clinic .clinic_contact .first_contact .btn1 .phoneno {
    font-weight: bold;
    font-size: 4.2rem;
    letter-spacing: 2px
}

#contents .clinic .clinic_contact .first_contact .btn1 .phoneno span {
    position: relative;
    top: -4px
}

#contents .clinic .clinic_contact .first_contact .caution {
    text-align: center;
    display: block;
    padding-bottom: 20px
}

#contents .clinic .clinic_contact .next_contact {
    background: #fff;
    padding: 30px 0;
    width: 100%;
    margin: auto;
    max-width: 640px;
    margin-bottom: 40px
}

#contents .clinic .clinic_contact .next_contact .title {
    font-size: 2.8rem;
    text-align: center;
    background: #fff;
    display: block;
    width: 100%;
    position: relative;
    margin-bottom: 15px
}

#contents .clinic .clinic_contact .next_contact .title em {
    color: #4694D1;
    font-weight: bold
}

#contents .clinic .clinic_contact .next_contact .title span {
    background: #fff;
    display: inline-block;
    position: relative;
    padding: 0 20px
}

#contents .clinic .clinic_contact .next_contact .title::before {
    content: "";
    width: 100%;
    height: 1px;
    background-color: #ccc;
    position: absolute;
    left: 0;
    top: 50%
}

#contents .clinic .clinic_contact .next_contact .lead2 {
    font-size: 1.5rem;
    text-align: center;
    margin-bottom: 30px;
    display: block;
    text-decoration: underline
}

#contents .clinic .clinic_contact .next_contact .btnline {
    display: flex;
    padding: 0 35px;
    justify-content: center
}

#contents .clinic .clinic_contact .next_contact .btnline .btn_item {
    padding: 10px 7.5px;
    width: 50%
}

#contents .clinic .clinic_contact .next_contact .btnline .btn2 {
    background: #fff;
    border: 1px solid #a09664;
    padding: 23px 0;
    display: block;
    border-radius: 5px;
    width: 100%;
    box-sizing: border-box;
    max-width: 500px;
    margin: 0 auto 20px;
    text-align: center;
    font-family: "Noto Serif JP";
    font-style: normal;
    color: #a09664;
    line-height: 1;
    box-shadow: 15px 15px 30px -5px #ccc
}

#contents .clinic .clinic_contact .next_contact .btnline .btn2 .header {
    font-weight: 400;
    font-size: 1.8rem;
    border-bottom: 1px solid #a09664;
    display: inline-block;
    padding: 0 0 10px;
    margin-bottom: 10px;
    width: 83%
}

#contents .clinic .clinic_contact .next_contact .btnline .btn2 .header::before {
    content: "";
    display: inline-block;
    width: 36px;
    height: 24px;
    background: url(../image/icon_call.png) no-repeat center/contain;
    vertical-align: text-bottom;
    margin: 0 5px 0 0
}

#contents .clinic .clinic_contact .next_contact .btnline .btn2 .phoneno {
    font-weight: bold;
    font-size: 3rem;
    letter-spacing: 2px
}

#contents .clinic .clinic_contact .next_contact .btnline .btn2 .phoneno span {
    position: relative;
    top: -4px
}

#contents .clinic .clinic_contact .next_contact .btnline .btn3 {
    background: #a09664;
    border: 1px solid #a09664;
    padding: 23px 0;
    display: block;
    border-radius: 5px;
    width: 100%;
    box-sizing: border-box;
    max-width: 500px;
    margin: 0 auto 20px;
    text-align: center;
    font-family: "Noto Serif JP";
    font-style: normal;
    color: #fff;
    line-height: 1;
    box-shadow: 15px 15px 30px -5px #ccc
}

#contents .clinic .clinic_contact .next_contact .btnline .btn3 .header {
    font-weight: 400;
    font-size: 1.8rem;
    border-bottom: 1px solid #fff;
    display: inline-block;
    padding: 0 0 10px;
    margin-bottom: 10px;
    width: 83%
}

#contents .clinic .clinic_contact .next_contact .btnline .btn3 .header::before {
    content: "";
    display: inline-block;
    width: 30px;
    height: 24px;
    background: url(../image/icon_freedial.png) no-repeat center/contain;
    vertical-align: text-bottom;
    margin: 0 5px 0 0
}

#contents .clinic .clinic_contact .next_contact .btnline .btn3 .phoneno {
    font-weight: bold;
    font-size: 3rem;
    letter-spacing: 2px
}

#contents .clinic .clinic_contact .next_contact .btnline .btn3 .phoneno span {
    position: relative;
    top: -4px
}

#contents .clinic .clinic_contact .next_contact .btnline .caution {
    text-align: left;
    display: block;
    padding: 0 5px 20px;
    font-size: 1.2rem
}

#contents .clinic .clinic_contact .next_contact .caution_text {
    text-align: center;
    display: block;
    padding: 0 20px
}

#contents .clinic .clinic_contact .next_contact .caution_tbl {
    text-align: center;
    display: table;
    padding: 0 0 14px;
    margin: 0 auto
}

#contents .clinic .clinic_contact .next_contact .caution_tbl dl {
    display: table-row
}

#contents .clinic .clinic_contact .next_contact .caution_tbl dl dt {
    display: table-cell;
    text-align: right;
    white-space: nowrap;
    padding: 0 3px
}

#contents .clinic .clinic_contact .next_contact .caution_tbl dl dd {
    display: table-cell;
    text-align: left;
    padding: 0 3px
}

#contents .clinic .clinic_contact .next_contact .caution {
    text-align: center;
    display: block;
    padding-bottom: 20px
}

#contents #clinic_anchors {
    background: url(../image/menu_bg.jpg) no-repeat center center/cover #c3cfdd;
    margin: 0;
    padding: 30px 0 60px
}

#contents #clinic_anchors .inner {
    max-width: 800px;
    box-sizing: border-box;
    padding: 0;
    margin: 0 auto
}

#contents #clinic_anchors .clinic_anchors_ttl {
    font-size: 3rem;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    margin-bottom: 30px
}

#contents #clinic_anchors .clinic_anchors_ttl::before,
#contents #clinic_anchors .clinic_anchors_ttl::after {
    content: "";
    width: 70px;
    height: 1px;
    background-color: #fff
}

#contents #clinic_anchors .clinic_anchors_ttl::before {
    margin-right: 20px
}

#contents #clinic_anchors .clinic_anchors_ttl::after {
    margin-left: 20px
}

#contents #clinic_anchors .clinic_anchorslist {
    list-style-type: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center
}

#contents #clinic_anchors .clinic_anchorslist li {
    padding: 3px;
    width: 100%;
    max-width: 25%;
    box-sizing: border-box
}

#contents #clinic_anchors .clinic_anchorslist li a {
    background: #fff;
    font-size: 1.6rem;
    text-align: left;
    display: block;
    color: #000;
    width: 100%;
    padding: 10px 20px;
    box-sizing: border-box;
    position: relative;
    transition: all .2s ease-out
}

#contents #clinic_anchors .clinic_anchorslist li a::after {
    content: "";
    position: absolute;
    right: 3px;
    bottom: 3px;
    border-width: 10px 10px 0 0;
    border-style: solid;
    border-color: #fff #4694D1;
}

#contents #clinic_anchors .clinic_anchorslist li a:hover {
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, .2);
    -webkit-transform: scale(1.02);
    transform: scale(1.02)
}

#contents section,
#contents .block {
    margin: 0
}

#contents .case_banner {
    text-align: center;
    margin: 40px auto;
    padding: 40px 0
}

#contents .case_banner .case_bannerlist ul {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap
}

#contents .case_banner .case_bannerlist ul li {
    box-sizing: border-box;
    padding: 5px;
    width: 50%
}

#contents .case_banner .case_bannerlist ul li a {
    background: #eef1ef;
    display: flex;
    align-items: center;
    box-sizing: border-box;
    transition: all .2s ease-out
}

#contents .case_banner .case_bannerlist ul li a .limg {
    width: 25%;
    box-sizing: border-box
}

#contents .case_banner .case_bannerlist ul li a .limg img {
    width: 100%;
    height: 100%
}

#contents .case_banner .case_bannerlist ul li a .rtxt {
    width: 75%;
    box-sizing: border-box;
    text-align: left
}

#contents .case_banner .case_bannerlist ul li a .rtxt .text_catch {
    color: #4694D1;
    border-bottom: 1px solid #4694D1;
    display: inline-block;
    padding-bottom: 6px;
    margin-bottom: 6px;
    font-size: 1.8rem;
    padding: 5px 20px
}

#contents .case_banner .case_bannerlist ul li a .rtxt h3 {
    font-size: 2.2rem;
    font-weight: bold;
    padding: 5px 20px
}

#contents .case_banner .case_bannerlist ul li a:hover {
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, .2);
    -webkit-transform: scale(1.02);
    transform: scale(1.02)
}

#contents .b2_ttl {
    border-top: 1px solid #000;
    display: block;
    border-bottom: 1px solid #ccc;
    padding: 50px 20px;
    text-align: center;
    font-size: 3.8rem;
    position: relative;
    margin-bottom: 40px
}

#contents .b2_ttl::after {
    content: "";
    position: absolute;
    border-bottom: 2px solid #4694D1;
    bottom: -1px;
    left: 0;
    right: 0;
    margin: auto;
    width: 100%;
    max-width: 210px
}

#contents .b2_ttl em {
    font-weight: normal;
    font-style: normal;
    color: #999;
    text-align: center;
    display: block;
    font-size: 2rem;
    letter-spacing: 2px;
    padding-top: 10px
}

#contents .b2_ttl span {
    display: inline-block;
    letter-spacing: 5px
}

#contents .b2_ttl.mb0 {
    margin-bottom: 0
}

#contents .b3_ttl {
    font-size: 3rem;
    font-weight: bold;
    display: block;
    text-align: center;
    margin: 0 auto 10px;
}

#contents .b3_ttl.uline {
    border-bottom: 1px solid #000;
    padding: 0 10px 5px;
    display: inline-block
}

#contents .b4_ttl {
    font-size: 2.6rem;
    font-weight: bold;
    display: block;
    text-align: center;
    margin: 0 auto 30px
}

#contents .b4_ttl.uline {
    border-bottom: 1px solid #000;
    padding: 0 10px 5px;
    display: inline-block
}

#contents .doctor_message_wrap {
    
    width: 100%;
    display: block;
    
    position: relative
}

#contents .doctor_message_wrap::before {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    background: linear-gradient(rgba(255, 255, 255, 0) 75%, #fff 100%);
    position: absolute;
    top: 0;
    left: 0
}

#contents .doctor_message_wrap .doctor_message {
    text-align: center;
    display: block;
    position: relative
}

#contents .doctor_message_wrap .doctor_message .ly_c {
    display: block;
    padding: 30px 0 50px
}

#contents .doctor_message_wrap .doctor_message .ly_lr {
    display: flex;
    align-items: center;
    justify-self: center;
    padding-bottom: 16%;
}

#contents .doctor_message_wrap .doctor_message .ly_lr .ly_l {
    width: 100%;
    display: block;
    padding: 0 0 15% 25px;
    box-sizing: border-box
}

#contents .doctor_message_wrap .doctor_message .ly_lr .ly_r {
    width: 40%;
    display: block;
    box-sizing: border-box
}

#contents .doctor_message_wrap .doctor_message .text {
    text-align: left
}

#contents .doctor_message_wrap .doctor_message .snses {
    position: absolute;
    text-align: center;
    left: 0;
    right: 0;
    bottom: -26px;
    margin: auto;
    z-index: 2;
    box-sizing: border-box
}

#contents .doctor_message_wrap .doctor_message .snses .snses_wrap {
    width: 100%;
    max-width: 660px;
    margin: 0 auto
}

#contents .doctor_message_wrap .doctor_message .snses .snses_wrap .snses_ttl {
    line-height: 0
}

#contents .doctor_message_wrap .doctor_message .snses .snses_wrap .snses_ttl img {
    width: 100%;
    height: auto
}

#contents .doctor_message_wrap .doctor_message .snses .snses_wrap .snses_lists {
    background: url("../image/snses_fr_b.png") repeat-y center/100%
}

#contents .doctor_message_wrap .doctor_message .snses .snses_wrap .snses_lists ul {
    list-style-type: none;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 100%;
    max-width: 443px;
    margin: auto
}

#contents .doctor_message_wrap .doctor_message .snses .snses_wrap .snses_lists ul li {
    padding: 10px;
    line-height: 0;
    box-sizing: border-box
}

#contents .doctor_message_wrap .doctor_message .snses .snses_wrap .snses_lists ul li a {
    text-decoration: none;
    display: block;
    line-height: 0;
    box-sizing: border-box
}

#contents .doctor_message_wrap .doctor_message .snses .snses_wrap .snses_lists ul li a img {
    width: 45px;
    height: auto;
    line-height: 0;
    box-sizing: border-box
}

#contents .doctor_message_wrap .doctor_message .snses .snses_wrap .snses_lists ul li a[target=_blank] {
    padding: 0;
    background: transparent
}

#contents .doctor_message_wrap .doctor_message:has(.ly_c) {
    padding-bottom: 0
}

#contents .doctor_message_wrap .doctor_message:has(.ly_c) .snses {
    position: static
}

#contents .doctor_message_wrap .doctor_message.osakaly {
    padding-bottom: 0
}

#contents .doctor_message_wrap .doctor_message.osakaly .ly_lr {
    display: block;
    align-items: center;
    justify-self: center;
    flex-direction: row-reverse;
    padding: 20px
}

#contents .doctor_message_wrap .doctor_message.osakaly .ly_lr .ly_l {
    width: 100%;
    display: block;
    padding: 0 0 6% 25px;
    box-sizing: border-box
}

#contents .doctor_message_wrap .doctor_message.osakaly .ly_lr .ly_r {
    width: 40%;
    display: block;
    float: right;
    box-sizing: border-box
}

#contents .doctor_message_wrap .doctor_message.osakaly .snses {
    position: static
}

#contents .doctor_message_wrap .doctor_message.nagoyaly {
    margin-bottom: 0
}

#contents .doctor_message_wrap .doctor_message.nagoyaly .ly_lr {
    flex-direction: row-reverse
}

#contents .doctor_message_wrap .doctor_message.nagoyaly .ly_lr .ly_l {
    width: 100%;
}

#contents .doctor_message_wrap .doctor_message.nagoyaly .ly_lr .ly_r {
    width: 40%;
    display: block;
    float: right;
    box-sizing: border-box
}

#contents .doctor_message_wrap .inner {
    z-index: 1;
    position: relative
}

#contents .mtb40 {
    margin: 40px auto
}

#contents .ytmov {
    position: relative;
    width: 100%;
    margin-top: 13%;
}

#contents .ytmov iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    border-radius: 20px;
    height: 100%
}

#contents .addr_text {
    position: relative;
    text-align: center
}

#contents .addr_text a {
    background: transparent;
    padding: 0;
    font-size: 1.8rem;
    text-align: center;
    display: inline-block;
    padding: 0 20px;
    margin: 20px auto;
    color: #218BCC;
    border-bottom: 1px solid #fff;
    transition: all .4s
}

#contents .addr_text a:hover {
    opacity: .5
}

#contents .addr_text a::before {
    content: "";
    width: 2.5rem;
    height: 2.5rem;
    background: url(../image/icon_mappin_darkblue.png) no-repeat center;
    background-size: auto 100%;
    display: inline-block;
    margin-right: 5px;
    vertical-align: sub
}

#contents .addr_text p {
    display: inline-block
}

#contents .img_building {
    text-align: center;
    margin: 15px auto 40px auto
}

#contents .img_building img {
    width: 100%;
    max-width: 100%;
    height: auto
}

#contents .img_building p {
    padding-top: 10px
}

#contents .insides_bg1 {
    background: #eef1ef;
    padding: 20px 0 0;
    margin: auto
}

#contents .insides_bg1.adj_p1 {
    padding: 70px 0
}

#contents .insides_bg1 .insidesimgs .insidesslider {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    line-height: 1
}

#contents .insides_bg1 .insidesimgs .insidesslider .swiper-slide {
    width: 100%;
    padding: 0;
    opacity: .5;
    transition: all .3s
}

#contents .insides_bg1 .insidesimgs .insidesslider .swiper-slide.swiper-slide-active {
    opacity: 1
}

#contents .insides_bg1 .insidesimgs .insidesslider .txt {
    text-align: center;
    padding: 20px
}

#contents .insides_bg1 .insidesimgs .insidesslider figure {
    max-width: 700px;
    margin: auto;
    padding: 0 15px;
    box-sizing: border-box
}

#contents .insides_bg1 .insidesimgs .insidesslider figure img {
    width: 100%;
    height: auto
}

#contents .mv_items_container {
}

#contents .mv_items_container .mv_tabmenus {
    width: 100%;
    box-sizing: border-box;
    max-width: 670px;
    margin: 0 auto
}

#contents .mv_items_container .mv_tabmenus ul {
    width: 100%;
    margin: 0 auto;
    list-style-type: none;
    padding: 0 30px;
    display: flex;
    box-sizing: border-box;
    gap: 0 2px
}

#contents .mv_items_container .mv_tabmenus ul li {
    width: 33.333%;
    padding: 15px 10px;
    text-align: center;
    background: #7a92a7;
    color: #fff;
    cursor: pointer;
    line-height: 1.5;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.4rem
}

#contents .mv_items_container .mv_tabmenus ul li.act {
    background: #fff;
    color: #333
}

#contents .mv_items_container .mv_tabmenus ul:has(>:nth-child(2):last-child) li {
    width: 50%
}

#contents .mv_items_container .mv_tabmenus ul:has(>:nth-child(3):last-child) li {
    width: 33.333%
}

#contents .mv_items_container .mv_tabmenus ul:has(>:nth-child(4):last-child) li {
    width: 25%
}

#contents .mv_items_container .mv_tabmenus ul:has(>:nth-child(5):last-child) li {
    width: 20%
}

#contents .mv_items_container .mv_tabmenus .tabmenu {
    transition: all .3s
}

#contents .mv_items_container .mv_tabmenus .tabmenu:hover {
    font-weight: bold
}

#contents .mv_items_container .mv_tabmenus.mapstab ul li.act {
    background: #fff;
    color: #4694D1;
    font-weight: bold
}

#contents .mv_items_container .mv_tabmenus.treatmentstab ul li {
    background: #a0b1c0
}

#contents .mv_items_container .mv_tabmenus.treatmentstab ul li.act {
    background: #eef1ef;
    color: #4694D1;
    font-weight: bold
}

#contents .mv_items_container .bg_w {
    background: #fff
}

#contents .mv_items_container .mv_itemslist {
    padding: 30px 0
}

#contents .mv_items_container .mv_itemslist .insidesslider2 .swiper-slide {
    width: 100%;
    padding: 0;
    opacity: .5;
    transition: all .3s;
    box-sizing: border-box
}

#contents .mv_items_container .mv_itemslist .insidesslider2 .swiper-slide.swiper-slide-active {
    opacity: 1
}

#contents .mv_items_container .mv_itemslist .insidesslider2 .swiper-slide .ly_lr {
    display: flex;
    margin: auto;
    max-width: 500px;
    padding: 0 10px;
    box-sizing: border-box
}

#contents .mv_items_container .mv_itemslist .insidesslider2 .swiper-slide .ly_lr figure {
    position: relative;
    box-sizing: border-box;
    height: 100%;
    padding: 1px
}

#contents .mv_items_container .mv_itemslist .insidesslider2 .swiper-slide .ly_lr figure img {
    width: 100%;
    height: auto;
    -o-object-fit: cover;
    object-fit: cover
}

#contents .mv_items_container .mv_itemslist .insidesslider2 .swiper-slide .ly_lr figure p {
    background-color: rgba(0, 0, 0, .6);
    text-align: center;
    color: #fff;
    display: block;
    padding: 8px;
    font-size: 1.4rem
}

#contents .mv_items_container .mv_itemslist .insidesslider2 .swiper-slide .ly_lr figure p span {
    font-size: 80%
}

#contents .mv_items_container .mv_itemslist .insidesslider2 .swiper-slide .ly_lr figure:last-child p {
    background-color: rgba(65, 100, 130, .6)
}

#contents .mv_items_container .mv_itemslist .insidesslider2 .swiper-slide .ly_lr.ar1-1 figure img {
    aspect-ratio: 1/1
}

#contents .mv_items_container .mv_itemslist .insidesslider2 .swiper-slide .ly_lr.ar1-2 figure img {
    aspect-ratio: 1/1.2
}

#contents .mv_items_container .mv_itemslist .insidesslider2 .swiper-slide .ly_lr.ar2-1 figure img {
    aspect-ratio: 2/1
}

#contents .mv_items_container .mv_itemslist .inner {
    padding-top: 15px
}

#contents .mv_items_container .mv_itemslist .caselink {
    position: relative;
    background: #4694D1;
    text-align: center;
    color: #fff;
    font-weight: bold;
    font-size: 2rem;
    display: block;
    padding: 10px;
    text-decoration: none;
    transition: all .2s
}

#contents .mv_items_container .mv_itemslist .caselink:after {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    background: url(../image/icon_caselink.png) no-repeat center right;
    box-sizing: border-box;
    display: block;
    background-size: auto 100%;
    width: 60px;
    height: 60px
}

#contents .mv_items_container .mv_itemslist .caselink:hover {
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, .2);
    -webkit-transform: scale(1.02);
    transform: scale(1.02)
}

#contents .mv_items_container .mv_itemslist .caselink_lead {
    text-align: center;
    padding: 15px 10px 0
}

#contents .mv_items_container .mv_itemslist .caselink_title {
    position: relative;
    padding: 1rem 0;
    font-size: 1.2rem;
    text-align: left
}

#contents .mv_items_container .mv_itemslist .caselink_title::before {
    content: "■"
}

#contents .mv_items_container .mv_itemslist .caselink_prices {
    padding-bottom: 20px
}

#contents .mv_items_container .mv_itemslist .caselink_prices .caselink_prices_processing {
    line-height: 1.4
}

#contents .mv_items_container .mv_itemslist .caselink_prices .caselink_prices_processing>div {
    display: flex;
    flex-wrap: wrap
}

#contents .mv_items_container .mv_itemslist .caselink_prices .caselink_prices_processing>div>p {
    display: none
}

#contents .mv_items_container .mv_itemslist .caselink_prices .caselink_prices_processing h3 {
    text-align: left;
    padding: 10px;
    border-left: 1px solid #dcdcdc;
    border-bottom: 1px solid #dcdcdc;
    width: 35%;
    border-top: 1px solid #dcdcdc;
    font-size: 1.2rem;
    font-family: sans-serif !important;
    box-sizing: border-box;
    display: flex;
    align-items: center
}

#contents .mv_items_container .mv_itemslist .caselink_prices .caselink_prices_processing table {
    border-collapse: collapse;
    border: 1px solid #dcdcdc;
    border-spacing: 0;
    margin: 0;
    width: 100%;
    box-sizing: border-box
}

#contents .mv_items_container .mv_itemslist .caselink_prices .caselink_prices_processing table tr {
    border: none
}

#contents .mv_items_container .mv_itemslist .caselink_prices .caselink_prices_processing table tr th {
    border-bottom: 1px solid #dcdcdc;
    vertical-align: middle;
    background: transparent;
    color: inherit;
    padding: 10px 0 10px 10px;
    width: 32%;
    font-size: 1.2rem
}

#contents .mv_items_container .mv_itemslist .caselink_prices .caselink_prices_processing table tr td {
    border-bottom: 1px solid #dcdcdc;
    border-left: 1px solid #dcdcdc;
    vertical-align: middle;
    background: transparent;
    color: inherit;
    padding: 10px 10px 10px 0;
    width: 36%;
    font-size: 1.2rem;
    text-align: right
}

#contents .mv_items_container .mv_itemslist .caselink_prices .caselink_prices_processing .attention {
    display: block;
    text-align: left;
    padding: 10px 0 0;
    font-size: 1.2rem
}

#contents .mv_items_container .mv_itemslist .caselink_sideeffects {
    text-align: left;
    font-size: 1.2rem;
    line-height: 1.4
}

#contents .mv_items_container .mv_itemslist .caselink_sideeffects .pricerisk-subtitle {
    display: none;
    text-align: left;
    padding-bottom: 15px
}

#contents .mv_items_container .mv_itemslist .caselink_sideeffects .pricerisk-subtitle strong {
    color: inherit
}

#contents .mv_items_container .mv_itemslist .caselink_sideeffects ul {
    display: inline-block
}

#contents .mv_items_container .mv_itemslist .caselink_sideeffects ul li {
    display: inline
}

#contents .mv_items_container .mv_itemslist .caselink_sideeffects ul li:not(:first-child)::before {
    content: " / "
}

#contents .mv_items_container .mv_itemslist .caselink_sideeffects ul li a {
    text-decoration: underline
}

#contents .mv_items_container .mv_itemslist .caselink_btns {
    margin: 40px auto;
    text-align: center;
    padding: 0 30px;
    box-sizing: border-box
}

#contents .mv_items_container .mv_itemslist .caselink_btns .btn_arrow_1 {
    position: relative;
    padding: 20px 30px;
    color: #fff;
    text-decoration: none;
    outline: none;
    background: #a09664;
    text-align: center;
    font-size: 2rem;
    width: 100%;
    max-width: 500px;
    box-sizing: border-box;
    transition: all .3s;
    min-height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: auto
}

#contents .mv_items_container .mv_itemslist .caselink_btns .btn_arrow_1 span {
    display: block;
    font-size: 1.6rem
}

#contents .mv_items_container .mv_itemslist .caselink_btns .btn_arrow_1::after {
    content: "";
    position: absolute;
    background: url(../image/btn_arrow_1.png) no-repeat center center;
    background-size: auto 100%;
    width: 83px;
    height: 14px;
    top: 0;
    bottom: 0;
    right: -42px;
    margin: auto;
    transition: all .3s
}

#contents .mv_items_container .mv_itemslist .caselink_btns .btn_arrow_1:hover {
    opacity: .75
}

#contents .mv_items_container .mv_itemslist .caselink_btns .btn_arrow_1:hover::after {
    content: "";
    -webkit-animation-name: anime_btn_arrow_1;
    animation-name: anime_btn_arrow_1;
    -webkit-animation-duration: .2s;
    animation-duration: .2s;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1
}

#contents .block_map {
    background: #eef1ef
}

#contents .block_map .inner {
    padding: 40px 30px 0;
    box-sizing: border-box;
    margin: auto
}

#contents .block_map .maps_inner {
    background: #fff;
    width: 100%
}

#contents .block_map .maps_inner .inner {
    padding: 0 30px 30px;
    box-sizing: border-box;
    margin: 0 auto 30px;
    border-bottom: 1px solid #ccc
}

#contents .block_map p.block_map_lead1 {
    padding: 0 0 30px;
    display: block;
    text-align: left;
    font-size: 1.8rem
}

#contents .block_map p.block_map_lead2 {
    padding: 0 20px 14px;
    display: block;
    text-align: center;
    font-weight: bold;
    font-size: 2rem
}

#contents .block_map .mapembed {
    display: block
}

#contents .block_map .mapembed iframe {
    width: 100%;
    height: auto;
    aspect-ratio: 4/3
}

#contents .block_map .map_route {
    counter-reset: listnum;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    box-sizing: border-box;
    width: 100%;
    padding: 0 20px
}

#contents .block_map .map_route li {
    width: 50%;
    box-sizing: border-box;
    padding: 15px
}

#contents .block_map .map_route li figure {
    position: relative
}

#contents .block_map .map_route li figure img {
    width: 100%;
    height: auto;
    display: block
}

#contents .block_map .map_route li figure::before {
    counter-increment: listnum;
    content: counter(listnum);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: auto;
    width: 50px;
    height: 50px;
    background: url(../image/icon_mapnobg.png) no-repeat center center/contain;
    z-index: 1;
    position: absolute;
    bottom: 0;
    left: 0;
    color: #fff;
    font-size: 2rem;
    font-weight: bold;
    font-family: serif
}

#contents .block_map .map_route li figure.nonumber::before {
    content: "";
    display: none
}

#contents .block_map .map_route li p {
    text-align: left;
    display: block;
    font-weight: normal;
    padding: 0;
    margin: 1rem 0 0
}

#contents .block_map .map_route li p b {
    font-weight: bold;
    color: #a09664
}

#contents .route_car .route_car_ttl {
    text-align: center;
    font-weight: bold;
    margin-bottom: 15px;
    font-size: 2rem
}

#contents .route_car table {
    border-collapse: collapse;
    margin: auto;
    width: auto
}

#contents .route_car table tr th {
    text-align: right;
    font-weight: normal;
    font-style: normal;
    padding: 3px
}

#contents .route_car table tr td {
    text-align: left;
    font-weight: normal;
    font-style: normal;
    padding: 3px
}

#contents .route_car .caution {
    font-size: 1.2rem;
    text-align: center;
    margin: 20px auto;
    display: block
}

#contents .route_car_inner {
    padding: 0 20px 20px;
    box-sizing: border-box;
    margin: 0 auto 30px;
    border-bottom: 1px solid #ccc
}

#contents .sp-display-none {
    display: initial
}

#contents .display-none2 {
    display: none
}

#contents .hidden {
    visibility: hidden
}

#contents .pointer-events-none {
    pointer-events: none
}

#contents .swiper-container {
    position: relative;
    padding: 0 0 50px
}

#contents .swiper-container .swiper-pagination-bullet {
    width: 12px;
    height: 12px;
    background: #ccc;
    opacity: 1
}

#contents .swiper-container .swiper-pagination-bullet-active {
    background: #4694D1 !important;
}

#contents .swiper-container .swiper-button-next,
#contents .swiper-container .swiper-button-prev {
    color: #999
}

#contents .swiper-container .swiper-button-next::after,
#contents .swiper-container .swiper-button-prev::after {
    font-size: 36px;
    padding: 20px 15px
}

#contents .swiper-container .swiper-button-prev {
    left: 28%
}

#contents .swiper-container .swiper-button-next {
    right: 28%
}

#contents .adj_pt {
    padding-top: 60px
}

#contents .doctor_itemslist {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 40px 0
}

#contents .doctor_itemslist .doctor_item {
    width: 49%
}

#contents .doctor_itemslist .doctor_item.fullwidth {
    width: 75%;
    margin: 0 auto
}

#contents .doctor_itemslist .doctor_item .doctor_profile {
    display: flex
}

#contents .doctor_itemslist .doctor_item .doctor_profile figure {
    width: 40%;
    height: auto
}

#contents .doctor_itemslist .doctor_item .doctor_profile .doctor_detail {
    width: 60%;
    padding: 0 15px
}

#contents .doctor_itemslist .doctor_item .doctor_profile .doctor_detail h4 {
    font-size: 1.4rem;
    color: #373c46;
    font-weight: bold
}

#contents .doctor_itemslist .doctor_item .doctor_profile .doctor_detail h3 {
    font-size: 1.3rem;
    color: #373c46;
    font-weight: bold
}

#contents .doctor_itemslist .doctor_item .doctor_profile .doctor_detail h3 strong {
    font-size: 2.3rem;
    color: #373c46
}

#contents .doctor_itemslist .doctor_item .doctor_profile .doctor_detail .doctor_sns_icon {
    margin: 0
}

#contents .doctor_itemslist .doctor_item .doctor_profile .doctor_detail .doctor_sns_icon ul {
    display: flex;
    align-items: center;
    width: 100%
}

#contents .doctor_itemslist .doctor_item .doctor_profile .doctor_detail .doctor_sns_icon ul li {
    padding: 0 4px 0 0
}

#contents .doctor_itemslist .doctor_item .doctor_profile .doctor_detail .doctor_sns_icon ul li:last-child {
    padding: 0
}

#contents .doctor_itemslist .doctor_item .doctor_profile .doctor_detail .doctor_sns_icon ul li a {
    transition: all .2s;
    display: inline-block
}

#contents .doctor_itemslist .doctor_item .doctor_profile .doctor_detail .doctor_sns_icon ul li a:hover {
    -webkit-transform: scale(1.2);
    transform: scale(1.2)
}

#contents .doctor_itemslist .doctor_item .doctor_profile .doctor_detail .doctor_sns_icon ul li a[target=_blank] {
    display: inline-block;
    background: none;
    padding: 0
}

#contents .doctor_itemslist .doctor_item .doctor_profile .doctor_detail .doctor_sns_icon ul li img {
    width: 100%;
    max-width: 32px;
    height: auto
}

#contents .doctor_itemslist .doctor_item .doctor_profile .doctor_detail .cliniclabel {
    display: flex;
    margin: 3px 0 6px;
    box-sizing: border-box;
    width: 100%;
    flex-wrap: wrap
}

#contents .doctor_itemslist .doctor_item .doctor_profile .doctor_detail .cliniclabel li {
    text-align: center;
    font-size: 1.2rem;
    font-weight: normal;
    color: #666;
    background: #f2f2f2;
    padding: 3px;
    box-sizing: border-box;
    width: 100%;
    max-width: 160px;
    margin: 0 0 3px
}

#contents .doctor_itemslist .doctor_item .doctor_profile .doctor_detail .cliniclabel li span {
    display: block;
    box-sizing: border-box;
    color: #666;
    background: #f2f2f2
}

#contents .doctor_itemslist .doctor_item .doctor_profile .doctor_detail .cliniclabel.two-one {
    max-width: 160px
}

#contents .doctor_itemslist .doctor_item .doctor_profile .doctor_detail .cliniclabel.two-one li {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center
}

#contents .doctor_itemslist .doctor_item .doctor_profile .doctor_detail .cliniclabel.two-one li:nth-child(2) {
    margin-left: 1.5px
}

#contents .doctor_itemslist .doctor_item .doctor_profile .doctor_detail .cliniclabel.two-one li:last-child {
    width: 160px;
    margin: 0
}

#contents .doctor_itemslist .doctor_item .doctor_profile .doctor_detail .cliniclabel.one-two {
    max-width: 160px
}

#contents .doctor_itemslist .doctor_item .doctor_profile .doctor_detail .cliniclabel.one-two li {
    width: 49%;
    display: flex;
    align-items: center;
    justify-content: center
}

#contents .doctor_itemslist .doctor_item .doctor_profile .doctor_detail .cliniclabel.one-two li:first-child {
    width: 100%;
    margin: 0 0 3px
}

#contents .doctor_itemslist .doctor_item .doctor_profile .doctor_detail .cliniclabel.one-two li:nth-child(2) {
    margin-right: 1.5px
}

#contents .doctor_itemslist .doctor_item .doctor_profile .doctor_detail .cliniclabel.one-two li:nth-child(3) {
    margin-left: 1.5px
}

#contents .doctor_itemslist .doctor_item .doctor_profile .doctor_detail .cliniclabel.one-one {
    max-width: 160px
}

#contents .doctor_itemslist .doctor_item .doctor_profile .doctor_detail .cliniclabel.one-one li {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center
}

#contents .doctor_itemslist .doctor_item .doctor_profile .doctor_detail .cliniclabel.one-one li:first-child {
    width: 160px;
    margin: 0 0 3px
}

#contents .doctor_itemslist .doctor_item .doctor_profile .doctor_detail .cliniclabel.one-one li:nth-child(3) {
    margin-left: 1.5px
}

#contents .doctor_itemslist .doctor_item .doctor_profile .doctor_detail .cliniclabel.two {
    max-width: 160px
}

#contents .doctor_itemslist .doctor_item .doctor_profile .doctor_detail .cliniclabel.two li {
    width: 49%;
    display: flex;
    align-items: center;
    justify-content: center
}

#contents .doctor_itemslist .doctor_item .doctor_profile .doctor_detail .cliniclabel.two li:nth-child(1) {
    margin-right: 1.5px
}

#contents .doctor_itemslist .doctor_item .doctor_profile .doctor_detail .cliniclabel.two li:nth-child(2) {
    margin-left: 1.5px
}

#contents .doctor_itemslist .doctor_item .doctor_profile .doctor_detail .doctor_name_kana {
    font-size: 1.2rem
}

#contents .doctor_itemslist .clinic_name {
    width: 100%;
    margin-bottom: 60px;
    font-size: 2.4rem;
    color: #4694D1;
    text-align: center
}

#contents .doctor_itemslist hr {
    width: 100%;
    position: relative;
    margin-top: 40px;
    padding-bottom: 40px;
    border: none;
    border-top: solid 1px #4694D1;
    overflow: visible
}

#contents .doctor_itemslist hr::before {
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    top: -22px;
    width: 147px;
    height: 42px;
    margin: auto;
    background: #fff url(../image/ornament8.png) no-repeat center center/contain;
    content: ""
}

#contents .doctor_itemslist .b3_ttl {
    width: 100%;
    padding: 0 0 15px
}

#contents .dr_btns1 {
    margin: 40px auto;
    text-align: center;
    padding: 0 20px;
    box-sizing: border-box
}

#contents .dr_btns1 .btn_arrow_1 {
    position: relative;
    padding: 20px 30px;
    color: #fff;
    text-decoration: none;
    outline: none;
    background: #a09664;
    text-align: center;
    font-size: 2rem;
    width: 100%;
    max-width: 500px;
    box-sizing: border-box;
    transition: all .3s;
    min-height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: auto
}

#contents .dr_btns1 .btn_arrow_1 span {
    display: block;
    font-size: 1.6rem
}

#contents .dr_btns1 .btn_arrow_1::after {
    content: "";
    position: absolute;
    background: url(../image/btn_arrow_1.png) no-repeat center center;
    background-size: auto 100%;
    width: 83px;
    height: 14px;
    top: 0;
    bottom: 0;
    right: -42px;
    margin: auto;
    transition: all .3s
}

#contents .dr_btns1 .btn_arrow_1:hover {
    opacity: .75
}

#contents .dr_btns1 .btn_arrow_1:hover::after {
    content: "";
    -webkit-animation-name: anime_btn_arrow_1;
    animation-name: anime_btn_arrow_1;
    -webkit-animation-duration: .2s;
    animation-duration: .2s;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1
}

#contents .dr_btns2 {
    margin: 30px auto 40px;
    text-align: center;
    padding: 0 50px 0 0;
    box-sizing: border-box;
    width: 80%
}

#contents .dr_btns2 .btn_arrow_2 {
    position: relative;
    padding: 10px 15px;
    color: #373c46;
    text-decoration: none;
    outline: none;
    background: #fff;
    text-align: center;
    width: 100%;
    box-sizing: border-box;
    transition: all .3s;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: auto;
    border: 1px solid #a09664;
    font-size: 1.6rem
}

#contents .dr_btns2 .btn_arrow_2 span {
    display: block;
    font-size: 1.6rem
}

#contents .dr_btns2 .btn_arrow_2::after {
    content: "";
    position: absolute;
    display: inline-block;
    vertical-align: middle;
    color: #a09664;
    line-height: 1;
    width: 0;
    height: 0;
    border-style: solid;
    border-color: transparent;
    border-width: .4em .4em;
    border-left-color: currentColor;
    border-right: 0;
    transition: all .3s;
    right: 10px
}

#contents .dr_btns2 .btn_arrow_2:hover {
    background: #4694D1;
    color: #fff !important
}

#contents .dr_btns2 .btn_arrow_2:hover::after {
    content: "";
    color: #fff;
    right: 6px
}

#contents .ranking_wrap {
    background: url(../image/ranking_bg.jpg) no-repeat center top;
    background-size: cover;
    padding: 50px 0;
    text-align: center
}

#contents .ranking_wrap .b3_ttl {
    position: relative;
    margin-bottom: 35px
}

#contents .ranking_wrap .b3_ttl::before {
    content: "";
    width: 4.5rem;
    height: 5rem;
    background: url(../image/icon_crown.png) no-repeat center center;
    background-size: 100%;
    display: inline-block;
    margin: 0 10px 0 0;
    vertical-align: bottom
}

#contents .ranking_wrap .rankinglists ol {
    list-style-type: none;
    display: flex;
    flex-wrap: wrap
}

#contents .ranking_wrap .rankinglists ol li {
    width: 50%;
    padding: 10px;
    box-sizing: border-box;
    display: flex
}

#contents .ranking_wrap .rankinglists ol li a.rank_item {
    width: 100%;
    line-height: 0;
    display: block;
    text-decoration: none;
    transition: all .2s ease-out;
    background: linear-gradient(-45deg, transparent 8px, #fff 0) right, linear-gradient(135deg, transparent 8px, #fff 0) left;
    background-size: 50% 100%;
    background-repeat: no-repeat;
    max-width: 670px;
    margin: 0 auto 10px;
    box-sizing: border-box;
    -webkit-filter: drop-shadow(0px 6px 6px rgba(149, 149, 149, 0.5));
    filter: drop-shadow(0px 6px 6px rgba(149, 149, 149, 0.5));
    transition: all .4s
}

#contents .ranking_wrap .rankinglists ol li a.rank_item .rank_item_wrap {
    width: 100%;
    display: block;
    position: relative
}

#contents .ranking_wrap .rankinglists ol li a.rank_item .rank_item_wrap .rank_item_lr {
    display: flex;
    align-items: center;
    background: url(../image/blank_w.png) no-repeat center top;
    background-size: auto 100%
}

#contents .ranking_wrap .rankinglists ol li a.rank_item .rank_item_wrap .rank_item_lr .rank_item_img {
    padding: 10px;
    position: relative;
    white-space: nowrap;
    vertical-align: middle;
    box-sizing: border-box;
    width: 33%;
    text-align: right
}

#contents .ranking_wrap .rankinglists ol li a.rank_item .rank_item_wrap .rank_item_lr .rank_item_img img {
    width: 100%;
    height: auto;
    max-width: 60px;
    padding: 0;
    display: inline-block
}

#contents .ranking_wrap .rankinglists ol li a.rank_item .rank_item_wrap .rank_item_lr .rank_item_text {
    padding: 10px 25px 10px 10px;
    line-height: 1.4;
    font-weight: bold;
    text-align: left;
    width: 60%;
    font-size: 1.5rem
}

#contents .ranking_wrap .rankinglists ol li a.rank_item .rank_item_wrap .rank_item_lr .rank_item_text span {
    font-size: 80%;
    display: block
}

#contents .ranking_wrap .rankinglists ol li a.rank_item .rank_item_wrap .rank_item_lr .rank_item_text p {
    display: block;
    font-weight: normal;
    font-size: 1.6rem;
    text-align: left
}

#contents .ranking_wrap .rankinglists ol li a.rank_item:hover {
    -webkit-transform: scale(1.02);
    transform: scale(1.02)
}

#contents .ranking_wrap .rankinglists ol li:nth-child(1) a .rank_item_wrap::before {
    display: block;
    width: 25px;
    height: 50px;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    content: "";
    background: #c6c0a2;
    border-radius: 100% 0 0 100%/50%
}

#contents .ranking_wrap .rankinglists ol li:nth-child(1) a .rank_item_wrap::after {
    display: block;
    width: 8px;
    height: 8px;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 6px;
    margin: auto;
    border-bottom: solid 1px #fff;
    border-right: solid 1px #fff;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    content: ""
}

#contents .ranking_wrap .rankinglists ol li:nth-child(1) a .rank_item_wrap .rank_item_lr .rank_item_img::before {
    content: "";
    display: inline-block;
    background: url(../image/ranking_bg_no1.png) no-repeat center left;
    width: 45px;
    height: 30px;
    background-size: 100% auto;
    box-sizing: border-box;
    padding: 10px;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 3px;
    margin: auto
}

#contents .ranking_wrap .rankinglists ol li:nth-child(1) a h4 {
    background: linear-gradient(135deg, transparent 8px, #a09664 0) top left;
    color: #fff;
    padding: 4px
}

#contents .ranking_wrap .rankinglists ol li:nth-child(2) a .rank_item_wrap::before {
    display: block;
    width: 25px;
    height: 50px;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    content: "";
    background: #9c9ca3;
    border-radius: 100% 0 0 100%/50%
}

#contents .ranking_wrap .rankinglists ol li:nth-child(2) a .rank_item_wrap::after {
    display: block;
    width: 8px;
    height: 8px;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 6px;
    margin: auto;
    border-bottom: solid 1px #fff;
    border-right: solid 1px #fff;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    content: ""
}

#contents .ranking_wrap .rankinglists ol li:nth-child(2) a .rank_item_wrap .rank_item_lr .rank_item_img::before {
    content: "";
    display: inline-block;
    background: url(../image/ranking_bg_no2.png) no-repeat center left;
    width: 45px;
    height: 30px;
    background-size: 100% auto;
    box-sizing: border-box;
    padding: 10px;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 3px;
    margin: auto
}

#contents .ranking_wrap .rankinglists ol li:nth-child(2) a h4 {
    background: linear-gradient(135deg, transparent 8px, #73737d 0) top left;
    color: #fff;
    padding: 4px
}

#contents .ranking_wrap .rankinglists ol li:nth-child(3) a .rank_item_wrap::before {
    display: block;
    width: 25px;
    height: 50px;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    content: "";
    background: #bca6a3;
    border-radius: 100% 0 0 100%/50%
}

#contents .ranking_wrap .rankinglists ol li:nth-child(3) a .rank_item_wrap::after {
    display: block;
    width: 8px;
    height: 8px;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 6px;
    margin: auto;
    border-bottom: solid 1px #fff;
    border-right: solid 1px #fff;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    content: ""
}

#contents .ranking_wrap .rankinglists ol li:nth-child(3) a .rank_item_wrap .rank_item_lr .rank_item_img::before {
    content: "";
    display: inline-block;
    background: url(../image/ranking_bg_no3.png) no-repeat center left;
    width: 45px;
    height: 30px;
    background-size: 100% auto;
    box-sizing: border-box;
    padding: 10px;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 3px;
    margin: auto
}

#contents .ranking_wrap .rankinglists ol li:nth-child(3) a h4 {
    background: linear-gradient(135deg, transparent 8px, #96736e 0) top left;
    color: #fff;
    padding: 4px
}

#contents .ranking_wrap .rankinglists ol li:nth-child(4) a .rank_item_wrap::before {
    display: block;
    width: 25px;
    height: 50px;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    content: "";
    background: #b3b3b3;
    border-radius: 100% 0 0 100%/50%
}

#contents .ranking_wrap .rankinglists ol li:nth-child(4) a .rank_item_wrap::after {
    display: block;
    width: 8px;
    height: 8px;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 6px;
    margin: auto;
    border-bottom: solid 1px #fff;
    border-right: solid 1px #fff;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    content: ""
}

#contents .ranking_wrap .rankinglists ol li:nth-child(4) a .rank_item_wrap .rank_item_lr .rank_item_img::before {
    content: "";
    display: inline-block;
    background: url(../image/ranking_bg_no4.png) no-repeat center left;
    width: 45px;
    height: 30px;
    background-size: 100% auto;
    box-sizing: border-box;
    padding: 10px;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 3px;
    margin: auto
}

#contents .ranking_wrap .rankinglists ol li:nth-child(4) a h4 {
    background: linear-gradient(135deg, transparent 8px, #686868 0) top left;
    color: #fff;
    padding: 4px
}

#contents .ranking_wrap .rankinglists ol li:nth-child(5) a .rank_item_wrap::before {
    display: block;
    width: 25px;
    height: 50px;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    content: "";
    background: #b3b3b3;
    border-radius: 100% 0 0 100%/50%
}

#contents .ranking_wrap .rankinglists ol li:nth-child(5) a .rank_item_wrap::after {
    display: block;
    width: 8px;
    height: 8px;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 6px;
    margin: auto;
    border-bottom: solid 1px #fff;
    border-right: solid 1px #fff;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    content: ""
}

#contents .ranking_wrap .rankinglists ol li:nth-child(5) a .rank_item_wrap .rank_item_lr .rank_item_img::before {
    content: "";
    display: inline-block;
    background: url(../image/ranking_bg_no5.png) no-repeat center left;
    width: 45px;
    height: 30px;
    background-size: 100% auto;
    box-sizing: border-box;
    padding: 10px;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 3px;
    margin: auto
}

#contents .ranking_wrap .rankinglists ol li:nth-child(5) a h4 {
    background: linear-gradient(135deg, transparent 8px, #686868 0) top left;
    color: #fff;
    padding: 4px
}

#contents .treatment_lead {
    display: block;
    text-align: left;
    font-size: 1.8rem
}

#contents .treatment_wrap .mv_items_container {
    margin-top: 35px
}

#contents .treatment_wrap .treatment_inner {
    background: #eef1ef
}

#contents .treatment_wrap .treatment_inner .treatment_lists {
    text-align: center;
    padding: 30px 0;
    box-sizing: border-box
}

#contents .treatment_wrap .treatment_inner .treatment_lists .treatment_item1 {
    list-style-type: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    box-sizing: border-box
}

#contents .treatment_wrap .treatment_inner .treatment_lists .treatment_item1 li {
    display: block;
    padding: 3px;
    box-sizing: border-box
}

#contents .treatment_wrap .treatment_inner .treatment_lists .treatment_item1 li a {
    display: block;
    box-sizing: border-box;
    text-decoration: none;
    color: #4694D1;
    border: 1px solid #4694D1;
    padding: 5px 10px;
    background: #fff;
    transition: all .3s
}

#contents .treatment_wrap .treatment_inner .treatment_lists .treatment_item1 li a:hover {
    color: #fff;
    background: #4694D1
}

#contents .treatment_wrap .treatment_inner .treatment_lists .treatment_item2 {
    list-style-type: none;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    box-sizing: border-box
}

#contents .treatment_wrap .treatment_inner .treatment_lists .treatment_item2 li {
    width: 50%;
    display: block;
    padding: 6px 24px;
    box-sizing: border-box
}

#contents .treatment_wrap .treatment_inner .treatment_lists .treatment_item2 li.fullw {
    width: 100%
}

#contents .treatment_wrap .treatment_inner .treatment_lists .treatment_item2 li a {
    display: flex;
    align-items: center;
    box-sizing: border-box;
    text-decoration: none;
    color: #373c46;
    padding: 5px 10px;
    transition: all .3s;
    position: relative;
    background: #fff;
    border-radius: 6px
}

#contents .treatment_wrap .treatment_inner .treatment_lists .treatment_item2 li a::before {
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 7px;
    margin: auto;
    width: 16px;
    height: 16px;
    border: solid 1px #373c46;
    border-radius: 50px;
    content: ""
}

#contents .treatment_wrap .treatment_inner .treatment_lists .treatment_item2 li a::after {
    content: "";
    color: #373c46;
    width: 0;
    height: 0;
    border-style: solid;
    border-color: transparent;
    border-width: 3px 4px;
    border-left-color: #373c46;
    border-right: 0;
    -webkit-transform: translateX(15%);
    transform: translateX(15%);
    position: absolute;
    top: 0;
    right: 14px;
    bottom: 0;
    margin: auto
}

#contents .treatment_wrap .treatment_inner .treatment_lists .treatment_item2 li a figure img {
    width: 100%;
    max-width: 100px;
    height: auto
}

#contents .treatment_wrap .treatment_inner .treatment_lists .treatment_item2 li a p {
    padding: 0 20px;
    margin: 0
}

#contents .treatment_wrap .treatment_inner .treatment_lists .treatment_item2 li a:hover {
    color: #4694D1;
    background: #fff;
    border-radius: 6px;
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, .2);
    -webkit-transform: scale(1.02);
    transform: scale(1.02)
}

#contents .treatment_wrap .treatment_inner .treatment_btns {
    margin: 30px auto 80px;
    text-align: center;
    box-sizing: border-box
}

#contents .treatment_wrap .treatment_inner .treatment_btns .btn_arrow_2 {
    padding: 15px 15px;
    color: #373c46;
    text-decoration: none;
    outline: none;
    background: #fff;
    text-align: center;
    width: 100%;
    box-sizing: border-box;
    transition: all .3s;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: auto;
    border: 1px solid #a09664;
    font-size: 2rem;
    max-width: 450px;
    position: relative
}

#contents .treatment_wrap .treatment_inner .treatment_btns .btn_arrow_2 span {
    display: block;
    font-size: 1.6rem
}

#contents .treatment_wrap .treatment_inner .treatment_btns .btn_arrow_2::after {
    content: "";
    position: absolute;
    width: 40px;
    height: 6px;
    border-right: 1px solid #a09664;
    border-bottom: 1px solid #a09664;
    -webkit-transform: skew(45deg);
    transform: skew(45deg);
    right: 20px;
    top: -6px;
    bottom: 0;
    margin: auto
}

#contents .treatment_wrap .treatment_inner .treatment_btns .btn_arrow_2:hover {
    background: #4694D1;
    color: #fff !important
}

#contents .treatment_wrap .treatment_inner .treatment_btns .btn_arrow_2:hover::after {
    content: "";
    right: 10px;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff
}

#contents .sns_wrap {
    text-align: center;
    padding: 40px 0
}

#contents .sns_wrap .b3_ttl {
    margin: 0
}

#contents .sns_wrap .sns_btns {
    margin: 40px auto;
    text-align: center;
    padding: 0 20px;
    box-sizing: border-box
}

#contents .sns_wrap .sns_btns .btn_arrow_1 {
    position: relative;
    padding: 20px 30px;
    color: #fff;
    text-decoration: none;
    outline: none;
    background: #a09664;
    text-align: center;
    font-size: 2rem;
    width: 100%;
    max-width: 500px;
    box-sizing: border-box;
    transition: all .3s;
    min-height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: auto
}

#contents .sns_wrap .sns_btns .btn_arrow_1 span {
    display: block;
    font-size: 1.6rem
}

#contents .sns_wrap .sns_btns .btn_arrow_1::after {
    content: "";
    position: absolute;
    background: url(../image/btn_arrow_1.png) no-repeat center center;
    background-size: auto 100%;
    width: 83px;
    height: 14px;
    top: 0;
    bottom: 0;
    right: -42px;
    margin: auto;
    transition: all .3s
}

#contents .sns_wrap .sns_btns .btn_arrow_1:hover {
    opacity: .75
}

#contents .sns_wrap .sns_btns .btn_arrow_1:hover::after {
    content: "";
    -webkit-animation-name: anime_btn_arrow_1;
    animation-name: anime_btn_arrow_1;
    -webkit-animation-duration: .2s;
    animation-duration: .2s;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1
}

#contents .sns_wrap .sns_btns .btn_arrow_x {
    position: relative;
    padding: 20px 30px;
    color: #fff;
    text-decoration: none;
    outline: none;
    background: #000;
    text-align: center;
    font-size: 2rem;
    width: 100%;
    max-width: 500px;
    box-sizing: border-box;
    transition: all .3s;
    min-height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: auto
}

#contents .sns_wrap .sns_btns .btn_arrow_x span {
    display: block;
    font-size: 1.6rem
}

#contents .sns_wrap .sns_btns .btn_arrow_x::after {
    content: "";
    position: absolute;
    background: url(../image/btn_arrow_x.png) no-repeat center center;
    background-size: auto 100%;
    width: 83px;
    height: 14px;
    top: 0;
    bottom: 0;
    right: -42px;
    margin: auto;
    transition: all .3s
}

#contents .sns_wrap .sns_btns .btn_arrow_x:hover {
    opacity: .75
}

#contents .sns_wrap .sns_btns .btn_arrow_x:hover::after {
    content: "";
    -webkit-animation-name: anime_btn_arrow_1;
    animation-name: anime_btn_arrow_1;
    -webkit-animation-duration: .2s;
    animation-duration: .2s;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1
}

#contents .sns_wrap .igdiv {
    padding-top: 40px;
    text-align: center
}

#contents .sns_wrap .igdiv iframe {
    margin: 0 auto !important
}

#contents .sns_wrap .ytdiv {
    padding-top: 40px;
    text-align: center
}

#contents .sns_wrap .staffblog {
    padding-top: 40px;
    text-align: center
}

#contents .sns_wrap .staffblog article.wpblog a {
    position: relative;
    display: block;
    background-color: #f5f5f5;
    border-radius: 15px;
    text-decoration: none;
    width: 100%;
    margin: 0 auto;
    max-width: 500px;
    transition: all .2s ease-out
}

#contents .sns_wrap .staffblog article.wpblog a img {
    width: 100%;
    height: auto;
    aspect-ratio: 5/3;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    border-top-left-radius: 15px;
    border-top-right-radius: 15px
}

#contents .sns_wrap .staffblog article.wpblog a .box-content {
    text-align: left;
    padding: 20px
}

#contents .sns_wrap .staffblog article.wpblog a .box-content h2 {
    font-weight: bold
}

#contents .sns_wrap .staffblog article.wpblog a .box-content .updated {
    text-align: right
}

#contents .sns_wrap .staffblog article.wpblog a:hover {
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, .2);
    -webkit-transform: scale(1.02);
    transform: scale(1.02)
}

#contents .sns_wrap .sns_banner {
    padding: 80px 0
}

#contents .sns_wrap .sns_banner a[target=_blank],
#contents .sns_wrap .sns_banner a {
    padding: 0;
    background: transparent;
    display: block;
    color: unset;
    transition: all .2s;
    margin: 0;
    cursor: pointer
}

#contents .sns_wrap .sns_banner a[target=_blank].box-shadow,
#contents .sns_wrap .sns_banner a.box-shadow {
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, .2)
}

#contents .sns_wrap .sns_banner a[target=_blank]:hover,
#contents .sns_wrap .sns_banner a:hover {
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, .2);
    -webkit-transform: scale(1.02);
    transform: scale(1.02)
}

#contents .sns_wrap .sns_banner2 {
    padding: 0 0 30px
}

#contents .sns_wrap .sns_banner2 a[target=_blank],
#contents .sns_wrap .sns_banner2 a {
    padding: 0;
    background: transparent;
    display: block;
    color: unset;
    transition: all .2s;
    margin: 0;
    cursor: pointer
}

#contents .sns_wrap .sns_banner2 a[target=_blank].box-shadow,
#contents .sns_wrap .sns_banner2 a.box-shadow {
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, .2)
}

#contents .sns_wrap .sns_banner2 a[target=_blank]:hover,
#contents .sns_wrap .sns_banner2 a:hover {
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, .2);
    -webkit-transform: scale(1.02);
    transform: scale(1.02)
}

#contents .faq_wrap {
    text-align: center;
    padding: 0 0 10px
}

#contents .faq_wrap .faq_lead {
    display: block;
    text-align: center;
    font-size: 1.8rem;
    margin-bottom: 30px
}

#contents .faq_wrap .faq_box {
    width: 100%;
    display: block;
    margin-bottom: 30px
}

#contents .faq_wrap .faq_box .faq_ttl {
    width: 100%;
    display: block;
    background-color: #7a92a7;
    background: linear-gradient(-135deg, transparent 8px, #7a92a7 0);
    text-align: left;
    color: #fff;
    padding: 18px 10%;
    box-sizing: border-box;
    position: relative;
    cursor: pointer
}

#contents .faq_wrap .faq_box .faq_ttl::before {
    content: "";
    background: url(../image/faq_icon_q.png) no-repeat center left;
    display: block;
    background-size: auto 100%;
    width: 100px;
    height: 60px;
    position: absolute;
    left: 0;
    top: 0;
    margin: auto
}

#contents .faq_wrap .faq_box .faq_ttl::after {
    content: "";
    background: url(../image/faq_icon_ps.png) no-repeat center left;
    display: block;
    background-size: auto 100%;
    width: 60px;
    height: 60px;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto
}

#contents .faq_wrap .faq_box .faq_ttl.open::after {
    content: "";
    background: url(../image/faq_icon_ms.png) no-repeat center left;
    display: block;
    background-size: auto 100%;
    width: 60px;
    height: 60px;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto
}

#contents .faq_wrap .faq_box .faq_article {
    margin: 30px 0;
    text-align: left;
    padding: 0 25px 30px;
    box-sizing: border-box;
    word-break: break-word
}

#contents .faq_wrap .faq_box .faq_article p {
    display: block
}

#contents .faq_wrap .faq_box .faq_article a {
    color: #1682c5;
    text-decoration: underline
}

#contents .recruit_wrap {
    background: url(../image/recruit_bg.jpg) no-repeat center top;
    width: 100%;
    display: block;
    background-size: 100%;
    position: relative;
    padding-bottom: 100px
}

#contents .recruit_wrap .recruit_box {
    width: 100%;
    max-width: 840px;
    margin: auto;
    background: url(../image/recruit_bg_doc.png) no-repeat center top;
    background-size: 100%
}

#contents .recruit_wrap .recruit {
    text-align: left;
    display: block;
    position: relative;
    width: 60%;
    padding: 30vw 20px 0;
    box-sizing: border-box
}

#contents .recruit_wrap .recruit .uline {
    border-bottom: 1px solid #000;
    padding: 0 0 5px;
    display: inline;
    line-height: 2;
    margin-bottom: 20px;
    text-shadow: 2px 2px 1px rgba(255, 255, 255, .6), -2px 2px 1px rgba(255, 255, 255, .6), 2px -2px 1px rgba(255, 255, 255, .6), -2px -2px 1px rgba(255, 255, 255, .6), 2px 0px 1px rgba(255, 255, 255, .6), 0px 2px 1px rgba(255, 255, 255, .6), -2px 0px 1px rgba(255, 255, 255, .6), 0px -2px 1px rgba(255, 255, 255, .6)
}

#contents .recruit_wrap .recruit .text {
    display: block;
    text-align: left;
    margin: 20px 0;
    text-shadow: 2px 2px 1px rgba(255, 255, 255, .6), -2px 2px 1px rgba(255, 255, 255, .6), 2px -2px 1px rgba(255, 255, 255, .6), -2px -2px 1px rgba(255, 255, 255, .6), 2px 0px 1px rgba(255, 255, 255, .6), 0px 2px 1px rgba(255, 255, 255, .6), -2px 0px 1px rgba(255, 255, 255, .6), 0px -2px 1px rgba(255, 255, 255, .6)
}

#contents .recruit_wrap .recruit .recruit_btns {
    margin: 40px auto;
    text-align: center;
    padding: 0;
    box-sizing: border-box
}

#contents .recruit_wrap .recruit .recruit_btns .btn_arrow_1 {
    position: relative;
    padding: 20px 30px;
    color: #fff;
    text-decoration: none;
    outline: none;
    background: #a09664;
    text-align: center;
    font-size: 2rem;
    width: 100%;
    max-width: 500px;
    box-sizing: border-box;
    transition: all .3s;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: auto
}

#contents .recruit_wrap .recruit .recruit_btns .btn_arrow_1 span {
    display: block;
    font-size: 1.6rem
}

#contents .recruit_wrap .recruit .recruit_btns .btn_arrow_1::after {
    content: "";
    position: absolute;
    background: url(../image/btn_arrow_1.png) no-repeat center center;
    background-size: auto 100%;
    width: 83px;
    height: 14px;
    top: 0;
    bottom: 0;
    right: -42px;
    margin: auto;
    transition: all .3s
}

#contents .recruit_wrap .recruit .recruit_btns .btn_arrow_1:hover {
    opacity: .75
}

#contents .recruit_wrap .recruit .recruit_btns .btn_arrow_1:hover::after {
    content: "";
    -webkit-animation-name: anime_btn_arrow_1;
    animation-name: anime_btn_arrow_1;
    -webkit-animation-duration: .2s;
    animation-duration: .2s;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1
}

#contents .recruit_wrap .recruit .recruit_btns .btn_arrow_x {
    position: relative;
    padding: 20px 30px;
    color: #fff;
    text-decoration: none;
    outline: none;
    background: #000;
    text-align: center;
    font-size: 2rem;
    width: 100%;
    max-width: 500px;
    box-sizing: border-box;
    transition: all .3s;
    min-height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: auto
}

#contents .recruit_wrap .recruit .recruit_btns .btn_arrow_x span {
    display: block;
    font-size: 1.6rem
}

#contents .recruit_wrap .recruit .recruit_btns .btn_arrow_x::after {
    content: "";
    position: absolute;
    background: url(../image/btn_arrow_x.png) no-repeat center center;
    background-size: auto 100%;
    width: 83px;
    height: 14px;
    top: 0;
    bottom: 0;
    right: -42px;
    margin: auto;
    transition: all .3s
}

#contents .recruit_wrap .recruit .recruit_btns .btn_arrow_x:hover {
    opacity: .75
}

#contents .recruit_wrap .recruit .recruit_btns .btn_arrow_x:hover::after {
    content: "";
    -webkit-animation-name: anime_btn_arrow_1;
    animation-name: anime_btn_arrow_1;
    -webkit-animation-duration: .2s;
    animation-duration: .2s;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1
}

#contents .recruit_wrap .inner {
    z-index: 1;
    position: relative;
    box-sizing: border-box
}

#contents #pickup2 {
    text-align: center;
    margin: 40px auto;
    padding: 40px 0
}

#contents #pickup2 .inner {
    max-width: 100%;
    margin: auto;
    padding: 0;
    width: 100%
}

#contents #pickup2 #slider2 {
    position: relative;
    transition: opacity .6s ease
}

#contents #pickup2 #slider2 .swiper-wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: center
}

#contents #pickup2 #slider2 .swiper-button-next:after,
#contents #pickup2 #slider2 .swiper-container-rtl .swiper-button-prev:after {
    content: ""
}

#contents #pickup2 #slider2 .swiper-button-prev:after,
#contents #pickup2 #slider2 .swiper-container-rtl .swiper-button-next:after {
    content: ""
}

#contents #pickup2 #slider2 .swiper-button-next,
#contents #pickup2 #slider2 .swiper-button-prev {
    top: 0;
    bottom: 0;
    margin: auto;
    width: auto
}

#contents #pickup2 #slider2 .swiper-button-next img,
#contents #pickup2 #slider2 .swiper-button-prev img {
    height: 200px;
    width: auto
}

#contents #pickup2 #slider2 .swiper-button-prev,
#contents #pickup2 #slider2 .swiper-container-rtl .swiper-button-next {
    left: 0
}

#contents #pickup2 #slider2 .swiper-button-next,
#contents #pickup2 #slider2 .swiper-container-rtl .swiper-button-prev {
    right: 0
}

#contents #pickup2 #slider2 .sp-slide {
    width: 200px;
    height: 200px
}

#contents #pickup2 #slider2 .sp-slide.lsize {
    width: 300px
}

#contents #pickup2 #slider2 .sp-slide a img {
    transition: all .2s ease-out;
    width: 100%;
    height: 100%;
    max-width: 100%;
    background: #f5f5f5
}

#contents #pickup2 #slider2 .sp-slide a:hover img {
    opacity: .6
}

#contents .bordertop_sec {
    border-top: 1px solid #000
}

@-webkit-keyframes anime_btn_arrow_1 {
    0% {
        right: -42px
    }

    50% {
        right: -22px
    }

    100% {
        right: -42px
    }
}

@keyframes anime_btn_arrow_1 {
    0% {
        right: -42px
    }

    50% {
        right: -22px
    }

    100% {
        right: -42px
    }
}

#contents .doctorscosme .rank_sec .block {
    margin: 0 auto;
    padding-bottom: 40px
}

#contents .doctorscosme .rank_sec a {
    color: #1682c5;
    text-decoration: underline
}

#contents .doctorscosme .ranking01 {
    position: relative;
    width: 710px;
    height: 557px;
    margin: 10px auto;
    background: url(../image/img_ranking_sakae01.jpg) no-repeat
}

#contents .doctorscosme .ranking01 .medal {
    position: absolute;
    top: -24px;
    left: 5px
}

#contents .doctorscosme .ranking01 .recommend {
    position: absolute;
    top: 384px;
    left: 54px
}

#contents .doctorscosme .ranking01 .recommend dt {
    color: #e899a8;
    font-size: 108%
}

#contents .doctorscosme .ranking01 .recommend dd {
    margin-left: 20px
}

#contents .doctorscosme .ranking01 .recommend dd p {
    margin-top: 15px;
    font-size: 86%;
    margin-top: 5px
}

#contents .doctorscosme .ranking01 .recommend dd p.check {
    font-size: 1.2rem
}

#contents .doctorscosme .ranking01 .recommend dd table,
#contents .doctorscosme .ranking01 .recommend dd ul {
    width: 100%;
    font-size: 1.4rem;
    border-collapse: collapse;
    border-spacing: 0
}

#contents .doctorscosme .ranking01 .recommend dd ul {
    line-height: 1.6
}

#contents .doctorscosme .ranking01 .recommend dd ul li {
    float: left;
    padding: 5px 5px 0;
    margin-right: 5px
}

#contents .doctorscosme .ranking01 .recommend dd table td {
    padding: 5px 5px 0
}

#contents .doctorscosme .ranking01 .recommend dd table td span {
    font-size: 120%
}

#contents .doctorscosme .ranking02,
#contents .doctorscosme .ranking03 {
    position: relative;
    width: 710px;
    height: 581px;
    margin: 0 auto 10px;
    background: url(../image/img_ranking_sakae02.jpg) no-repeat
}

#contents .doctorscosme .ranking02 .tit-ranking,
#contents .doctorscosme .ranking03 .tit-ranking {
    position: absolute;
    top: 73px;
    left: 131px
}

#contents .doctorscosme .ranking02 .tit-ranking dd,
#contents .doctorscosme .ranking02 .tit-ranking dd,
#contents .doctorscosme .ranking03 .tit-ranking dd,
#contents .doctorscosme .ranking03 .tit-ranking dd {
    margin-top: 14px
}

#contents .doctorscosme .ranking02 .recommend,
#contents .doctorscosme .ranking03 .recommend {
    position: absolute;
    top: 404px;
    left: 54px
}

#contents .doctorscosme .ranking02 .recommend dt,
#contents .doctorscosme .ranking03 .recommend dt {
    color: #e899a8;
    font-size: 108%
}

#contents .doctorscosme .ranking02 .recommend dd,
#contents .doctorscosme .ranking03 .recommend dd {
    margin-left: 20px
}

#contents .doctorscosme .ranking02 .recommend dd p,
#contents .doctorscosme .ranking03 .recommend dd p {
    margin-top: 15px;
    font-size: 86%;
    margin-top: 5px
}

#contents .doctorscosme .ranking02 .recommend dd p.check,
#contents .doctorscosme .ranking03 .recommend dd p.check {
    font-size: 1.2rem
}

#contents .doctorscosme .ranking02 .recommend dd table,
#contents .doctorscosme .ranking02 .recommend dd ul,
#contents .doctorscosme .ranking03 .recommend dd table,
#contents .doctorscosme .ranking03 .recommend dd ul {
    width: 100%;
    font-size: 1.4rem;
    border-collapse: collapse;
    border-spacing: 0
}

#contents .doctorscosme .ranking02 .recommend dd ul,
#contents .doctorscosme .ranking03 .recommend dd ul {
    line-height: 1.6
}

#contents .doctorscosme .ranking02 .recommend dd ul li,
#contents .doctorscosme .ranking03 .recommend dd ul li {
    float: left;
    padding: 5px 5px 0;
    margin-right: 5px
}

#contents .doctorscosme .ranking02 .recommend dd table td,
#contents .doctorscosme .ranking03 .recommend dd table td {
    padding: 5px 5px 0
}

#contents .doctorscosme .ranking02 .recommend dd table td span,
#contents .doctorscosme .ranking03 .recommend dd table td span {
    font-size: 120%
}

#contents .doctorscosme .ranking03 {
    margin-bottom: 35px;
    background: url(../image/img_ranking_sakae03.jpg) no-repeat
}

#contents .doctorscosme .banner a[target=_blank] {
    padding-right: 0;
    background: none
}

#map-area {
    display: none
}

@media only screen and (max-width: 767px) {
    #head {
        height: 38vw;
    }

    #head.ginza {
        background: url(../image/head_bg0_sp16.jpg) no-repeat center center/cover
    }

    #head.sakae {
        background: url(../image/head_bg0_sp16.jpg) no-repeat center center/cover
    }

    #head.nagoya {
        background: url(../image/head_bg0_sp17.jpg) no-repeat center center/cover
    }

    #head.osaka {
        background: url(../image/head_bg0_sp18.jpg) no-repeat center center/cover
    }

    #head.yokohama {
        background: url(../image/head_bg0_sp19.jpg) no-repeat center center/cover
    }

    #head .txt {
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        margin: auto;
        left: 0;
        right: auto;
        width: 100%
    }

    #head .txt h1 {
        color: #000;
        width: 66%;
        text-align: center;
        margin: 0 auto 2vw;
        border-bottom: 1px solid #000;
        padding: 0 0 2vw;
        font-size: 5.86666vw;
        box-sizing: border-box
    }

    #head .txt h2 {
        text-align: center;
        font-size: 2.666666vw;
        padding: 0 4vw;
        margin: 2vw auto 0
    }

    #head .txt .icon_renew {
        background: #a09664;
        color: #fff;
        display: inline-block;
        padding: .666666vw 2.666666vw;
        border-radius: 3px;
        margin: 2vw auto 0;
        -webkit-transform: skew(-8deg, 0deg);
        transform: skew(-8deg, 0deg);
        font-size: 2.666666vw
    }

    #head .txt .icon_lang_cnok {
        margin-top: 3vw;
        text-align: left;
        font-size: 2.6vw;
        color: #4694D1;
        background: #f2f2f2;
        padding: 3px 12px 3px 24px;
        position: relative;
        display: inline-block;
        border-radius: 4px
    }

    #head .txt .icon_lang_cnok::before {
        content: "";
        display: inline-block;
        width: 2.6vw;
        height: 2.6vw;
        background: url(../image/icon_lang_cnok.svg) no-repeat center/contain;
        vertical-align: text-bottom;
        position: absolute;
        margin: auto;
        top: 0;
        bottom: 0;
        left: 2vw
    }

    #contents .clinic {
        margin: 0;
        padding: 0
    }

    #contents .clinic .inner {
        padding: 0
    }

    #contents .clinic .clinic_header {
        width: 100%;
        box-sizing: border-box;
        border-top: 1px solid #000;
        border-bottom: 1px solid #ccc;
        text-decoration: none;
        position: relative;
        transition: all .2s
    }

    #contents .clinic .clinic_header .clinic_header_wrap {
        display: flex;
        align-items: center
    }

    #contents .clinic .clinic_header .clinic_header_wrap .photo {
        width: 50%
    }

    #contents .clinic .clinic_header .clinic_header_wrap .photo img {
        width: 100%;
        height: auto;
        max-width: 100%
    }

    #contents .clinic .clinic_header .clinic_header_wrap .text {
        width: 50%;
        padding: 3%
    }

    #contents .clinic .clinic_header .clinic_header_wrap .text h2 {
        text-align: left;
        font-size: 5vw;
        color: #000;
        font-weight: bold
    }

    #contents .clinic .clinic_header .clinic_header_wrap .text .clinicname_en {
        text-align: left;
        font-size: 3.5vw;
        color: #a09664
    }

    #contents .clinic .clinic_header .clinic_header_wrap .text .icon_lang_cnok {
        margin-top: 3vw;
        text-align: left;
        font-size: 2.6vw;
        color: #4694D1;
        background: #f2f2f2;
        padding: 3px 12px 3px 24px;
        position: relative;
        display: inline-block;
        border-radius: 4px
    }

    #contents .clinic .clinic_header .clinic_header_wrap .text .icon_lang_cnok::before {
        content: "";
        display: inline-block;
        width: 2.6vw;
        height: 2.6vw;
        background: url(../image/icon_lang_cnok.svg) no-repeat center/contain;
        vertical-align: text-bottom;
        position: absolute;
        margin: auto;
        top: 0;
        bottom: 0;
        left: 2vw
    }

    #contents .clinic .clinic_header .clinic_header_wrap .text .icon_renew {
        background: #a09664;
        color: #fff;
        display: inline-block;
        padding: .666666vw 2.666666vw;
        border-radius: 3px;
        margin: 0 auto 2vw;
        -webkit-transform: skew(-8deg, 0deg);
        transform: skew(-8deg, 0deg);
        font-size: 2vw
    }

    #contents .clinic .clinic_header .clinicname_en {
        text-align: center;
        font-size: 3vw;
        color: #fff;
        padding: 9px;
        background: #373c46
    }

    #contents .clinic .clinic_info {
        padding: 4% 5.5% 3%
    }

    #contents .clinic .clinic_info .clinic_info_addr {
        font-size: 3.9vw
    }

    #contents .clinic .clinic_info .clinic_info_route {
        font-size: 3.6vw;
        margin-top: 1rem;
        display: block
    }

    #contents .clinic .clinic_info .clinic_info_route b {
        font-weight: bold
    }

    #contents .clinic .clinic_info .clinic_info_mapbtn {
        padding: 8vw 0;
        text-align: center
    }

    #contents .clinic .clinic_info .clinic_info_mapbtn a[target=_blank],
    #contents .clinic .clinic_info .clinic_info_mapbtn a {
        text-decoration: none;
        display: inline-block;
        border: 1px solid #373c46;
        border-radius: 60px;
        position: relative;
        background: none;
        text-align: center;
        width: 100%;
        margin: auto;
        padding: 6px 22px 6px 18px;
        max-width: 210px;
        box-sizing: border-box;
        font-size: 4.2666666667vw;
        transition: all .5s
    }

    #contents .clinic .clinic_info .clinic_info_mapbtn a[target=_blank]::before,
    #contents .clinic .clinic_info .clinic_info_mapbtn a::before {
        content: "";
        display: inline-block;
        width: 24px;
        height: 16px;
        background: url(../image/icon_mappin.png) no-repeat center/contain;
        vertical-align: text-bottom
    }

    #contents .clinic .clinic_info .clinic_info_mapbtn a[target=_blank]:hover,
    #contents .clinic .clinic_info .clinic_info_mapbtn a:hover {
        color: #000;
        -webkit-transform: scale(1.05);
        transform: scale(1.05)
    }

    #contents .clinic .clinic_contact {
        background: url(../image/index_clinic_bg.jpg) no-repeat center top/cover;
        padding: 0 3% 6%;
        box-sizing: border-box;
        margin: 0
    }

    #contents .clinic .clinic_contact .lead {
        font-size: 3.6vw;
        text-align: center;
        margin-bottom: 20px;
        display: block;
        padding: 0
    }

    #contents .clinic .clinic_contact .confirm {
        font-size: 5.3333333333vw;
        font-weight: bold;
        color: #4694D1;
        text-align: center;
        margin-bottom: 30px;
        display: block;
        text-decoration: underline
    }

    #contents .clinic .clinic_contact .first_contact {
        background: #fff;
        padding: 2.4vw 0 0;
        width: 100%;
        margin: auto;
        max-width: 640px;
        margin-bottom: 6vw
    }

    #contents .clinic .clinic_contact .first_contact .btn_item {
        padding: 0 5.3333333333vw
    }

    #contents .clinic .clinic_contact .first_contact .title {
        font-size: 7.4666666667vw;
        text-align: center;
        background: #fff;
        display: block;
        width: 100%;
        position: relative;
        margin-bottom: 15px
    }

    #contents .clinic .clinic_contact .first_contact .title em {
        color: #4694D1;
        font-weight: bold
    }

    #contents .clinic .clinic_contact .first_contact .title span {
        background: #fff;
        display: inline-block;
        position: relative;
        padding: 0 5.3333333333vw
    }

    #contents .clinic .clinic_contact .first_contact .title::before {
        content: "";
        width: 100%;
        height: 1px;
        background-color: #ccc;
        position: absolute;
        left: 0;
        top: 50%
    }

    #contents .clinic .clinic_contact .first_contact .lead2 {
        font-size: 4vw;
        text-align: center;
        margin-bottom: 6vw;
        display: block;
        text-decoration: underline;
        padding: 0 20px
    }

    #contents .clinic .clinic_contact .first_contact .btn1 {
        background: #a09664;
        padding: 5.3333333333vw;
        display: block;
        border-radius: 120px;
        width: 100%;
        box-sizing: border-box;
        max-width: 500px;
        margin: 0 auto 30px;
        text-align: center;
        font-family: "Noto Serif JP";
        font-style: normal;
        color: #fff;
        line-height: 1;
        box-shadow: 15px 15px 30px -5px #ccc
    }

    #contents .clinic .clinic_contact .first_contact .btn1 .header {
        font-weight: 400;
        font-size: 4.8vw;
        border-bottom: 1px solid #fff;
        width: auto;
        display: inline-block;
        padding: 0 10px 10px;
        margin-bottom: 10px
    }

    #contents .clinic .clinic_contact .first_contact .btn1 .header::before {
        content: "";
        display: inline-block;
        width: 9vw;
        height: 24px;
        background: url(../image/icon_freedial.png) no-repeat center/contain;
        vertical-align: text-bottom;
        margin: 0 10px 0 0
    }

    #contents .clinic .clinic_contact .first_contact .btn1 .phoneno {
        font-weight: bold;
        font-size: 8vw;
        letter-spacing: 2px
    }

    #contents .clinic .clinic_contact .first_contact .btn1 .phoneno span {
        position: relative;
        top: -4px
    }

    #contents .clinic .clinic_contact .first_contact .caution {
        text-align: center;
        display: block;
        padding: 0 10px 20px;
        font-size: 3.2vw
    }

    #contents .clinic .clinic_contact .next_contact {
        background: #fff;
        padding: 15px 0;
        width: 100%;
        margin: auto;
        max-width: 640px;
        margin-bottom: 15px
    }

    #contents .clinic .clinic_contact .next_contact .title {
        font-size: 7.4666666667vw;
        text-align: center;
        background: #fff;
        display: block;
        width: 100%;
        position: relative;
        margin-bottom: 15px
    }

    #contents .clinic .clinic_contact .next_contact .title em {
        color: #4694D1;
        font-weight: bold
    }

    #contents .clinic .clinic_contact .next_contact .title span {
        background: #fff;
        display: inline-block;
        position: relative;
        padding: 0 20px
    }

    #contents .clinic .clinic_contact .next_contact .title::before {
        content: "";
        width: 100%;
        height: 1px;
        background-color: #ccc;
        position: absolute;
        left: 0;
        top: 50%
    }

    #contents .clinic .clinic_contact .next_contact .lead2 {
        font-size: 4vw;
        text-align: center;
        margin-bottom: 5vw;
        display: block;
        text-decoration: underline
    }

    #contents .clinic .clinic_contact .next_contact .btnline {
        display: flex;
        padding: 0 5px;
        justify-content: center
    }

    #contents .clinic .clinic_contact .next_contact .btnline .btn_item {
        padding: 10px 7.5px;
        width: 50%
    }

    #contents .clinic .clinic_contact .next_contact .btnline .btn2 {
        background: #fff;
        border: 1px solid #a09664;
        padding: 20px 0;
        display: block;
        border-radius: 5px;
        width: 100%;
        box-sizing: border-box;
        max-width: 500px;
        margin: 0 auto 20px;
        text-align: center;
        font-family: "Noto Serif JP";
        font-style: normal;
        color: #a09664;
        line-height: 1;
        box-shadow: 15px 15px 30px -5px #ccc
    }

    #contents .clinic .clinic_contact .next_contact .btnline .btn2 .header {
        font-weight: 400;
        font-size: 4vw;
        border-bottom: 1px solid #a09664;
        display: inline-block;
        padding: 0 0 10px;
        margin-bottom: 10px;
        width: 90%;
        letter-spacing: -1px
    }

    #contents .clinic .clinic_contact .next_contact .btnline .btn2 .header::before {
        content: "";
        display: inline-block;
        width: 24px;
        height: 20px;
        background: url(../image/icon_call.png) no-repeat center/contain;
        vertical-align: text-bottom;
        margin: 0 5px 0 0
    }

    #contents .clinic .clinic_contact .next_contact .btnline .btn2 .phoneno {
        font-weight: bold;
        font-size: 5.1vw;
        letter-spacing: 1px
    }

    #contents .clinic .clinic_contact .next_contact .btnline .btn2 .phoneno span {
        position: relative;
        top: -4px
    }

    #contents .clinic .clinic_contact .next_contact .btnline .btn3 {
        background: #a09664;
        border: 1px solid #a09664;
        padding: 20px 0;
        display: block;
        border-radius: 5px;
        width: 100%;
        box-sizing: border-box;
        max-width: 500px;
        margin: 0 auto 20px;
        text-align: center;
        font-family: "Noto Serif JP";
        font-style: normal;
        color: #fff;
        line-height: 1;
        box-shadow: 15px 15px 30px -5px #ccc
    }

    #contents .clinic .clinic_contact .next_contact .btnline .btn3 .header {
        font-weight: 400;
        font-size: 4vw;
        border-bottom: 1px solid #fff;
        display: inline-block;
        padding: 0 0 10px;
        margin-bottom: 10px;
        width: 90%;
        letter-spacing: -1px
    }

    #contents .clinic .clinic_contact .next_contact .btnline .btn3 .header::before {
        content: "";
        display: inline-block;
        width: 24px;
        height: 20px;
        background: url(../image/icon_freedial.png) no-repeat center/contain;
        vertical-align: text-bottom;
        margin: 0 5px 0 0
    }

    #contents .clinic .clinic_contact .next_contact .btnline .btn3 .phoneno {
        font-weight: bold;
        font-size: 5.1vw;
        letter-spacing: 1px
    }

    #contents .clinic .clinic_contact .next_contact .btnline .btn3 .phoneno span {
        position: relative;
        top: -4px
    }

    #contents .clinic .clinic_contact .next_contact .btnline .caution {
        text-align: left;
        display: block;
        padding: 0 5px;
        font-size: 3vw;
        line-height: 1.5
    }

    #contents .clinic .clinic_contact .next_contact .caution_text {
        text-align: center;
        display: block;
        padding: 0 20px;
        font-size: 3.2vw
    }

    #contents .clinic .clinic_contact .next_contact .caution_tbl {
        text-align: center;
        display: table;
        padding: 0 0 10px;
        font-size: 3.2vw;
        margin: 0 auto
    }

    #contents .clinic .clinic_contact .next_contact .caution_tbl dl {
        display: table-row
    }

    #contents .clinic .clinic_contact .next_contact .caution_tbl dl dt {
        display: table-cell;
        text-align: right;
        white-space: nowrap;
        padding: 0 3px
    }

    #contents .clinic .clinic_contact .next_contact .caution_tbl dl dd {
        display: table-cell;
        text-align: left;
        padding: 0 3px
    }

    #contents .clinic .clinic_contact .next_contact .caution {
        text-align: center;
        display: block;
        padding: 0 10px 15px;
        font-size: 3.2vw
    }

    #contents #clinic_anchors {
        background: url(../image/menu_bg.jpg) no-repeat center center/cover #c3cfdd;
        margin: 0;
        padding: 5vw 0 10vw
    }

    #contents #clinic_anchors .inner {
        max-width: none
    }

    #contents #clinic_anchors .clinic_anchors_ttl {
        font-size: 6vw;
        text-align: center;
        display: flex;
        justify-content: center;
        align-items: center;
        color: #fff;
        margin-bottom: 4.5vw
    }

    #contents #clinic_anchors .clinic_anchors_ttl::before,
    #contents #clinic_anchors .clinic_anchors_ttl::after {
        content: "";
        width: 70px;
        height: 1px;
        background-color: #fff
    }

    #contents #clinic_anchors .clinic_anchors_ttl::before {
        margin-right: 20px
    }

    #contents #clinic_anchors .clinic_anchors_ttl::after {
        margin-left: 20px
    }

    #contents #clinic_anchors .clinic_anchorslist {
        list-style-type: none;
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        align-items: center
    }

    #contents #clinic_anchors .clinic_anchorslist li {
        padding: 3px;
        width: 50%;
        box-sizing: border-box;
        max-width: none
    }

    #contents #clinic_anchors .clinic_anchorslist li a {
        background: #fff;
        font-size: 3.2vw;
        text-align: left;
        display: block;
        color: #000;
        width: 100%;
        padding: 3vw 3vw;
        box-sizing: border-box;
        position: relative;
        transition: all .2s ease-out
    }

    #contents #clinic_anchors .clinic_anchorslist li a::after {
        content: "";
        position: absolute;
        right: 3px;
        bottom: 3px;
        border-width: 10px 10px 0 0;
        border-style: solid;
        border-color: #fff #4694D1;
    }

    #contents #clinic_anchors .clinic_anchorslist li a:hover {
        box-shadow: 0 0 20px 0 rgba(0, 0, 0, .2);
        -webkit-transform: scale(1.02);
        transform: scale(1.02)
    }

    #contents .case_banner {
        text-align: center;
        margin: 5vw auto;
        padding: 5vw 0
    }

    #contents .case_banner .case_bannerlist ul {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-wrap: wrap
    }

    #contents .case_banner .case_bannerlist ul li {
        box-sizing: border-box;
        padding: 5px;
        width: 50%
    }

    #contents .case_banner .case_bannerlist ul li a {
        background: #eef1ef;
        display: flex;
        align-items: center;
        box-sizing: border-box;
        transition: all .2s ease-out
    }

    #contents .case_banner .case_bannerlist ul li a .limg {
        width: 25%;
        box-sizing: border-box
    }

    #contents .case_banner .case_bannerlist ul li a .limg img {
        width: 100%;
        height: 100%
    }

    #contents .case_banner .case_bannerlist ul li a .rtxt {
        width: 75%;
        box-sizing: border-box;
        text-align: left
    }

    #contents .case_banner .case_bannerlist ul li a .rtxt .text_catch {
        color: #4694D1;
        border-bottom: 1px solid #4694D1;
        display: inline-block;
        padding-bottom: 1vw;
        margin-bottom: 1vw;
        font-size: 2.8vw;
        padding: 0vw 2vw 1vw
    }

    #contents .case_banner .case_bannerlist ul li a .rtxt h3 {
        font-size: 3.3vw;
        font-weight: bold;
        padding: 1vw 2vw
    }

    #contents .case_banner .case_bannerlist ul li a:hover {
        box-shadow: 0 0 20px 0 rgba(0, 0, 0, .2);
        -webkit-transform: scale(1.02);
        transform: scale(1.02)
    }

    #contents .b2_ttl {
        border-top: 1px solid #000;
        display: block;
        border-bottom: 1px solid #ccc;
        padding: 7vw 3vw;
        text-align: center;
        font-size: 6.46666vw;
        position: relative;
        margin-bottom: 7vw
    }

    #contents .b2_ttl::after {
        content: "";
        position: absolute;
        border-bottom: 2px solid #4694D1;
        bottom: -1px;
        left: 0;
        right: 0;
        margin: auto;
        width: 100%;
        max-width: 210px
    }

    #contents .b2_ttl em {
        font-weight: normal;
        font-style: normal;
        color: #999;
        text-align: center;
        display: block;
        font-size: 4vw;
        letter-spacing: 2px;
        padding-top: 2vw
    }

    #contents .b2_ttl span {
        display: inline-block;
        letter-spacing: 2px
    }

    #contents .b3_ttl {
        font-size: 5vw;
        font-weight: bold;
        display: block;
        text-align: center;
        margin: 0 auto 2vw
    }

    #contents .b3_ttl.uline {
        border-bottom: 1px solid #000;
        padding: 0 10px 5px;
        display: inline-block;
        margin: 0 auto 4vw
    }

    #contents .b4_ttl {
        font-size: 4.8vw;
        font-weight: bold;
        display: block;
        text-align: center;
        margin: 0 auto 3vw
    }

    #contents .b4_ttl.uline {
        border-bottom: 1px solid #000;
        padding: 0 10px 5px;
        display: inline-block
    }

    #contents .doctor_message_wrap {
        background: url(../image/item1_bg.jpg) no-repeat center top;
        width: 100%;
        display: block;
        background-size: auto 100%;
        position: relative
    }

    #contents .doctor_message_wrap::before {
        content: "";
        width: 100%;
        height: 100%;
        display: block;
        background: linear-gradient(rgba(255, 255, 255, 0) 75%, #fff 100%);
        position: absolute;
        top: 0;
        left: 0
    }

    #contents .doctor_message_wrap .doctor_message {
        text-align: center;
        display: block;
        position: relative
    }

    #contents .doctor_message_wrap .doctor_message .ly_lr {
        display: flex;
        align-items: center;
        justify-self: center;
        width: 110%
    }

    #contents .doctor_message_wrap .doctor_message .ly_lr .ly_l {
        width: 60%;
        padding-bottom: 15%
    }

    #contents .doctor_message_wrap .doctor_message .ly_lr .ly_r {
        width: 40%
    }

    #contents .doctor_message_wrap .doctor_message .ly_c {
        display: block;
        padding: 30px 20px 50px
    }

    #contents .doctor_message_wrap .doctor_message .text {
        text-align: left
    }

    #contents .doctor_message_wrap .doctor_message .snses {
        position: absolute;
        text-align: center;
        left: 0;
        right: 0;
        bottom: -20vw;
        margin: auto;
        z-index: 2;
        box-sizing: border-box
    }

    #contents .doctor_message_wrap .doctor_message .snses .snses_wrap {
        width: 100%;
        max-width: 660px;
        margin: 0 auto
    }

    #contents .doctor_message_wrap .doctor_message .snses .snses_wrap .snses_ttl {
        line-height: 0
    }

    #contents .doctor_message_wrap .doctor_message .snses .snses_wrap .snses_ttl img {
        width: 100%;
        height: auto
    }

    #contents .doctor_message_wrap .doctor_message .snses .snses_wrap .snses_lists {
        background: url("../image/snses_fr_b.png") repeat-y center/100%
    }

    #contents .doctor_message_wrap .doctor_message .snses .snses_wrap .snses_lists ul {
        list-style-type: none;
        display: flex;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
        width: 83%;
        max-width: 443px;
        margin: auto
    }

    #contents .doctor_message_wrap .doctor_message .snses .snses_wrap .snses_lists ul li {
        padding: 2vw;
        line-height: 0;
        box-sizing: border-box
    }

    #contents .doctor_message_wrap .doctor_message .snses .snses_wrap .snses_lists ul li a {
        text-decoration: none;
        display: block;
        line-height: 0;
        box-sizing: border-box
    }

    #contents .doctor_message_wrap .doctor_message .snses .snses_wrap .snses_lists ul li a img {
        width: 100%;
        height: auto;
        line-height: 0;
        box-sizing: border-box;
        max-width: 50px
    }

    #contents .doctor_message_wrap .doctor_message:has(.ly_c) {
        padding-bottom: 0
    }

    #contents .doctor_message_wrap .doctor_message:has(.ly_c) .snses {
        position: static
    }

    #contents .doctor_message_wrap .doctor_message.osakaly {
        padding-bottom: 0;
        margin-bottom: 0
    }

    #contents .doctor_message_wrap .doctor_message.osakaly .ly_lr {
        display: block;
        align-items: center;
        justify-self: center;
        flex-direction: row-reverse;
        padding: 20px 0;
        width: 100%
    }

    #contents .doctor_message_wrap .doctor_message.osakaly .ly_lr .ly_l {
        width: 100%;
        display: block;
        padding: 0 20px 6% 25px;
        box-sizing: border-box
    }

    #contents .doctor_message_wrap .doctor_message.osakaly .ly_lr .ly_r {
        width: 50%;
        display: block;
        float: right;
        box-sizing: border-box;
        position: relative;
        margin-right: -40px
    }

    #contents .doctor_message_wrap .doctor_message.osakaly .snses {
        position: static
    }

    #contents .doctor_message_wrap .doctor_message.nagoyaly {
        margin-bottom: 0;
        padding-bottom: 0;
        padding-top: 8%;
    }

    #contents .doctor_message_wrap .doctor_message.nagoyaly .ly_lr {
        width: 100%;
        display: block;
        padding: 0
    }

    #contents .doctor_message_wrap .doctor_message.nagoyaly .ly_lr .ly_l {
        width: 100%;
        padding: 20px
    }

    #contents .doctor_message_wrap .doctor_message.nagoyaly .ly_lr .ly_r {
        width: 45%;
        display: block;
        float: right;
        box-sizing: border-box;
        margin-right: -20px
    }

    #contents .doctor_message_wrap .doctor_message.nagoyaly .snses {
        position: static
    }

    #contents .doctor_message_wrap.ginza {
        padding-bottom: 16vw
    }

    #contents .doctor_message_wrap.ginza .doctor_message {
        padding-bottom: 2vw
    }

    #contents .doctor_message_wrap .inner {
        z-index: 1;
        position: relative
    }

    #contents .mv_items_container .mv_tabmenus {
        width: 100%;
        box-sizing: border-box
    }

    #contents .mv_items_container .mv_tabmenus ul {
        width: 100%;
        margin: 0 auto;
        list-style-type: none;
        padding: 0 30px;
        display: flex;
        box-sizing: border-box
    }

    #contents .mv_items_container .mv_tabmenus ul li {
        width: 50%;
        padding: 15px 0;
        text-align: center;
        background: #7a92a7;
        color: #fff;
        cursor: pointer
    }

    #contents .mv_items_container .mv_tabmenus ul li.act {
        background: #fff;
        color: #333
    }

    #contents .mv_items_container .mv_tabmenus .tabmenu {
        transition: all .3s
    }

    #contents .mv_items_container .mv_tabmenus .tabmenu:hover {
        font-weight: bold
    }

    #contents .mv_items_container .mv_itemslist {
        padding: 30px 0 0;
        display: block
    }

    #contents .caselink_btns {
        margin: 40px auto;
        text-align: center;
        padding: 0 30px;
        box-sizing: border-box
    }

    #contents .caselink_btns .btn_arrow_1 {
        position: relative;
        padding: 20px 30px;
        color: #fff;
        text-decoration: none;
        outline: none;
        background: #a09664;
        text-align: center;
        font-size: 4.2vw;
        width: 100%;
        max-width: 500px;
        box-sizing: border-box;
        transition: all .3s;
        min-height: 80px;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: auto
    }

    #contents .caselink_btns .btn_arrow_1 span {
        display: block;
        font-size: 2.1333333333vw
    }

    #contents .caselink_btns .btn_arrow_1::after {
        content: "";
        position: absolute;
        background: url(../image/btn_arrow_1_sp.png) no-repeat center center;
        background-size: auto 100%;
        width: 43px;
        height: 14px;
        top: 0;
        bottom: 0;
        right: -26px;
        margin: auto;
        transition: all .3s
    }

    #contents .caselink_btns .btn_arrow_1:hover {
        opacity: .75
    }

    #contents .caselink_btns .btn_arrow_1:hover::after {
        content: "";
        -webkit-animation-name: unset;
        animation-name: unset
    }

    #contents .sp-display-none {
        display: none !important
    }

    #contents .addr_text {
        position: relative;
        text-align: center
    }

    #contents .addr_text a {
        background: transparent;
        padding: 0;
        font-size: 4.2vw;
        text-align: center;
        display: inline-block;
        padding: 0 20px;
        margin: 20px auto;
        color: #4694D1;
        border-bottom: 1px solid #fff;
        transition: all .4s
    }

    #contents .addr_text a::before {
        content: "";
        width: 2.5rem;
        height: 2.5rem;
        background: url(../image/icon_mappin_darkblue.png) no-repeat center;
        background-size: auto 100%;
        display: inline-block;
        margin-right: 5px;
        vertical-align: sub
    }

    #contents .addr_text p {
        display: inline
    }

    #contents .img_building {
        text-align: center;
        margin: 10px auto;
        padding: 0 10px
    }

    #contents .img_building img {
        width: 100%;
        max-width: 500px;
        height: auto
    }

    #contents .img_building p {
        padding-top: 10px
    }

    #contents .insides_bg1 {
        background: #eef1ef;
        padding: 20px 0 0;
        margin: auto
    }

    #contents .insides_bg1.adj_p1 {
        padding: 35px 0
    }

    #contents .insides_bg1 .b3_ttl {
        padding-top: 4vw
    }

    #contents .insides_bg1 .b4_ttl {
        font-size: 5vw
    }

    #contents .insides_bg1 .insidesimgs .insidesslider {
        padding: 0 1vw;
        box-sizing: border-box;
        line-height: 1
    }

    #contents .insides_bg1 .insidesimgs .insidesslider .txt {
        text-align: center;
        padding: 20px
    }

    #contents .insides_bg1 .insidesimgs .insidesslider figure img {
        width: 100%;
        height: auto
    }

    #contents .mv_items_container {
        margin-top: 6vw
    }

    #contents .mv_items_container .mv_tabmenus {
        width: 100%;
        box-sizing: border-box;
        max-width: 670px;
        margin: 0 auto
    }

    #contents .mv_items_container .mv_tabmenus ul {
        width: 100%;
        margin: 0 auto;
        list-style-type: none;
        padding: 0 30px;
        display: flex;
        box-sizing: border-box;
        gap: 0 2px
    }

    #contents .mv_items_container .mv_tabmenus ul li {
        width: 33.333%;
        padding: 10px 3px;
        text-align: center;
        background: #7a92a7;
        color: #fff;
        cursor: pointer;
        line-height: 1.5;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 2.6vw
    }

    #contents .mv_items_container .mv_tabmenus ul li.act {
        background: #fff;
        color: #333
    }

    #contents .mv_items_container .mv_tabmenus ul:has(>:nth-child(2):last-child) li {
        width: 50%
    }

    #contents .mv_items_container .mv_tabmenus ul:has(>:nth-child(3):last-child) li {
        width: 33.333%
    }

    #contents .mv_items_container .mv_tabmenus ul:has(>:nth-child(4):last-child) li {
        width: 25%
    }

    #contents .mv_items_container .mv_tabmenus ul:has(>:nth-child(5):last-child) li {
        width: 20%
    }

    #contents .mv_items_container .mv_tabmenus .tabmenu {
        transition: all .3s
    }

    #contents .mv_items_container .mv_tabmenus .tabmenu:hover {
        font-weight: bold
    }

    #contents .mv_items_container .mv_tabmenus.mapstab ul li.act {
        background: #fff;
        color: #4694D1;
        font-weight: bold
    }

    #contents .mv_items_container .mv_tabmenus.treatmentstab ul li {
        background: #a0b1c0
    }

    #contents .mv_items_container .mv_tabmenus.treatmentstab ul li.act {
        background: #eef1ef;
        color: #4694D1;
        font-weight: bold
    }

    #contents .mv_items_container .bg_w {
        background: #fff
    }

    #contents .mv_items_container .mv_itemslist {
        padding: 30px 0 15px
    }

    #contents .mv_items_container .mv_itemslist .insidesslider2 li {
        padding: 0 2.66vw;
        box-sizing: border-box;
        line-height: 1
    }

    #contents .mv_items_container .mv_itemslist .insidesslider2 li .ly_lr {
        display: flex
    }

    #contents .mv_items_container .mv_itemslist .insidesslider2 li .ly_lr figure {
        position: relative;
        box-sizing: border-box;
        height: 100%
    }

    #contents .mv_items_container .mv_itemslist .insidesslider2 li .ly_lr figure img {
        width: 100%;
        height: auto;
        -o-object-fit: cover;
        object-fit: cover;
        aspect-ratio: 1/2
    }

    #contents .mv_items_container .mv_itemslist .insidesslider2 li .ly_lr figure p {
        background-color: rgba(0, 0, 0, .6);
        text-align: center;
        color: #fff;
        display: block;
        margin: auto;
        bottom: 0;
        left: 0;
        right: 0;
        padding: 2px;
        font-size: 2.6vw
    }

    #contents .mv_items_container .mv_itemslist .insidesslider2 li .ly_lr figure:last-child p {
        background-color: rgba(65, 100, 130, .6)
    }

    #contents .mv_items_container .mv_itemslist .insidesslider2 li .ly_hf {
        display: flex;
        flex-direction: column
    }

    #contents .mv_items_container .mv_itemslist .insidesslider2 li .ly_hf figure {
        position: relative;
        box-sizing: border-box;
        height: 100%
    }

    #contents .mv_items_container .mv_itemslist .insidesslider2 li .ly_hf figure img {
        width: 100%;
        height: auto;
        -o-object-fit: cover;
        object-fit: cover;
        aspect-ratio: 2/1
    }

    #contents .mv_items_container .mv_itemslist .insidesslider2 li .ly_hf figure p {
        background-color: rgba(0, 0, 0, .6);
        text-align: center;
        color: #fff;
        display: block;
        margin: auto;
        bottom: 0;
        left: 0;
        right: 0;
        padding: 2px;
        font-size: 2.6vw
    }

    #contents .mv_items_container .mv_itemslist .insidesslider2 li .ly_hf figure:last-child p {
        background-color: rgba(65, 100, 130, .6)
    }

    #contents .mv_items_container .mv_itemslist .inner {
        padding-top: 30px
    }

    #contents .mv_items_container .mv_itemslist .caselink {
        position: relative;
        background: #4694D1;
        text-align: center;
        color: #fff;
        font-weight: bold;
        font-size: 3.3vw;
        display: block;
        padding: 10px 40px 10px 10px;
        text-decoration: none;
        transition: all .2s
    }

    #contents .mv_items_container .mv_itemslist .caselink:after {
        content: "";
        position: absolute;
        right: 0;
        top: 0;
        bottom: 0;
        margin: auto;
        background: url(../image/icon_caselink.png) no-repeat center right;
        box-sizing: border-box;
        display: block;
        background-size: auto 100%;
        width: 60px;
        height: 60px
    }

    #contents .mv_items_container .mv_itemslist .caselink:hover {
        box-shadow: 0 0 20px 0 rgba(0, 0, 0, .2);
        -webkit-transform: scale(1.02);
        transform: scale(1.02)
    }

    #contents .mv_items_container .mv_itemslist .caselink_lead {
        text-align: center;
        padding: 20px 10px 10px
    }

    #contents .mv_items_container .mv_itemslist .caselink_title {
        position: relative;
        padding: 1rem 0;
        font-size: 1.2rem;
        text-align: left
    }

    #contents .mv_items_container .mv_itemslist .caselink_title::before {
        content: "■"
    }

    #contents .mv_items_container .mv_itemslist .caselink_prices {
        padding-bottom: 10px
    }

    #contents .mv_items_container .mv_itemslist .caselink_prices .caselink_prices_processing>div {
        display: block;
    }

    #contents .mv_items_container .mv_itemslist .caselink_prices .caselink_prices_processing>div>p {
        display: none
    }

    #contents .mv_items_container .mv_itemslist .caselink_prices .caselink_prices_processing h3 {
        text-align: left;
        padding: 10px;
        border-left: 1px solid #dcdcdc;
        border-bottom: 1px solid #dcdcdc;
        width: 35%;
        border-top: 1px solid #dcdcdc;
        font-family: sans-serif !important;
        box-sizing: border-box
    }

    #contents .mv_items_container .mv_itemslist .caselink_prices .caselink_prices_processing table {
        border-collapse: collapse;
        border: 1px solid #dcdcdc;
        border-spacing: 0;
        margin: 0;
        width: 100%;
        box-sizing: border-box
    }

    #contents .mv_items_container .mv_itemslist .caselink_prices .caselink_prices_processing table tr {
        border: none
    }

    #contents .mv_items_container .mv_itemslist .caselink_prices .caselink_prices_processing table tr th {
        border-bottom: 1px solid #dcdcdc;
        vertical-align: middle;
        background: transparent;
        color: inherit;
        padding: 10px;
        width: 50%
    }

    #contents .mv_items_container .mv_itemslist .caselink_prices .caselink_prices_processing table tr td {
        border-bottom: 1px solid #dcdcdc;
        vertical-align: middle;
        background: transparent;
        color: inherit;
        padding: 10px 10px 10px 0;
        width: 50%;
        text-align: right;
        white-space: nowrap
    }

    #contents .mv_items_container .mv_itemslist .caselink_prices .caselink_prices_processing .attention {
        display: block;
        text-align: left;
        font-size: 1.2rem
    }

    #contents .mv_items_container .mv_itemslist .caselink_sideeffects {
        padding-bottom: 15px;
        text-align: left;
        padding-left: 2.6666666667vw
    }

    #contents .mv_items_container .mv_itemslist .caselink_btns {
        margin: 0 auto;
        text-align: center;
        padding: 0 30px;
        box-sizing: border-box
    }

    #contents .mv_items_container .mv_itemslist .caselink_btns .btn_arrow_1 {
        position: relative;
        padding: 20px 30px;
        color: #fff;
        text-decoration: none;
        outline: none;
        background: #a09664;
        text-align: center;
        font-size: 4.2vw;
        width: 100%;
        max-width: 500px;
        box-sizing: border-box;
        transition: all .3s;
        min-height: unset;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: auto
    }

    #contents .mv_items_container .mv_itemslist .caselink_btns .btn_arrow_1 span {
        display: block;
        font-size: 2.1333333333vw
    }

    #contents .mv_items_container .mv_itemslist .caselink_btns .btn_arrow_1::after {
        content: "";
        position: absolute;
        background: url(../image/btn_arrow_1_sp.png) no-repeat center center;
        background-size: auto 100%;
        width: 83px;
        height: 14px;
        top: 0;
        bottom: 0;
        right: -42px;
        margin: auto;
        transition: all .3s
    }

    #contents .mv_items_container .mv_itemslist .caselink_btns .btn_arrow_1:hover {
        opacity: .75
    }

    #contents .mv_items_container .mv_itemslist .caselink_btns .btn_arrow_1:hover::after {
        content: "";
        -webkit-animation-name: anime_btn_arrow_1;
        animation-name: anime_btn_arrow_1;
        -webkit-animation-duration: .2s;
        animation-duration: .2s;
        -webkit-animation-iteration-count: 1;
        animation-iteration-count: 1
    }

    #contents .block_map {
        background: #eef1ef
    }

    #contents .block_map .inner {
        padding: 20px 15px 0;
        box-sizing: border-box;
        margin: auto
    }

    #contents .block_map .maps_inner {
        background: #fff;
        width: 100%
    }

    #contents .block_map .maps_inner .inner {
        padding: 0 10px 20px;
        box-sizing: border-box;
        margin: 0 auto 20px;
        border-bottom: 1px solid #ccc
    }

    #contents .block_map p.block_map_lead1 {
        padding: 0 0 30px;
        display: block;
        text-align: left;
        font-size: 4vw
    }

    #contents .block_map p.block_map_lead2 {
        padding: 0 0 14px;
        display: block;
        text-align: center;
        font-weight: bold;
        font-size: 4vw
    }

    #contents .block_map .mapembed {
        display: block
    }

    #contents .block_map .mapembed iframe {
        width: 100%;
        height: auto;
        aspect-ratio: 4/3
    }

    #contents .block_map .map_route {
        counter-reset: listnum;
        list-style: none;
        display: flex;
        flex-wrap: wrap;
        box-sizing: border-box;
        width: 100%;
        padding: 0
    }

    #contents .block_map .map_route li {
        width: 50%;
        box-sizing: border-box;
        padding: 2vw
    }

    #contents .block_map .map_route li figure {
        position: relative
    }

    #contents .block_map .map_route li figure img {
        width: 100%;
        height: auto;
        display: block
    }

    #contents .block_map .map_route li figure::before {
        counter-increment: listnum;
        content: counter(listnum);
        display: flex;
        align-items: center;
        justify-content: center;
        margin: auto;
        width: 50px;
        height: 50px;
        background: url(../image/icon_mapnobg.png) no-repeat center center/contain;
        z-index: 1;
        position: absolute;
        bottom: 0;
        left: 0;
        color: #fff;
        font-size: 2.6666666667vw;
        font-weight: bold;
        font-family: serif
    }

    #contents .block_map .map_route li p {
        text-align: left;
        display: block;
        font-weight: normal;
        padding: 0;
        margin: 1.3333333333vw 0 0
    }

    #contents .block_map .map_route li p b {
        font-weight: bold;
        color: #a09664
    }

    #contents .route_car .route_car_ttl {
        text-align: center;
        font-weight: bold;
        margin-bottom: 5px;
        font-size: 4vw
    }

    #contents .route_car table {
        border-collapse: collapse;
        margin: auto;
        width: auto
    }

    #contents .route_car table tr th {
        text-align: right;
        font-weight: normal;
        font-style: normal;
        padding: 3px;
        white-space: nowrap
    }

    #contents .route_car table tr td {
        text-align: left;
        font-weight: normal;
        font-style: normal;
        padding: 3px
    }

    #contents .route_car .caution {
        font-size: 3vw;
        text-align: center;
        margin: 10px auto;
        display: block
    }

    #contents .route_car_inner {
        padding: 0 10px 10px;
        box-sizing: border-box;
        margin: 0 auto 15px;
        border-bottom: 1px solid #ccc
    }

    #contents .swiper-container {
        position: relative;
        padding: 0 0 50px
    }

    #contents .swiper-container .swiper-pagination-bullet {
        width: 8px;
        height: 8px;
        background: #ccc;
        opacity: 1
    }

    #contents .swiper-container .swiper-pagination-bullet-active {
        background: #4694D1 !important;
    }

    #contents .swiper-container .swiper-button-next,
    #contents .swiper-container .swiper-button-prev {
        color: #999
    }

    #contents .swiper-container .swiper-button-next::after,
    #contents .swiper-container .swiper-button-prev::after {
        font-size: 36px;
        padding: 20px 15px
    }

    #contents .swiper-container .swiper-button-prev {
        left: 0
    }

    #contents .swiper-container .swiper-button-next {
        right: 0
    }

    #contents .adj_pt {
        padding-top: 60px
    }

    #contents .doctor_itemslist {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        padding-left: 0;
        padding-right: 0
    }

    #contents .doctor_itemslist .doctor_item {
        padding: 0 5px 26vw;
        width: 50%;
        box-sizing: border-box;
        position: relative
    }

    #contents .doctor_itemslist .doctor_item.fullwidth {
        width: 100%
    }

    #contents .doctor_itemslist .doctor_item.fullwidth .doctor_profile {
        display: flex
    }

    #contents .doctor_itemslist .doctor_item.fullwidth .doctor_profile figure {
        width: 45%;
        height: auto
    }

    #contents .doctor_itemslist .doctor_item.fullwidth .doctor_profile .doctor_detail {
        width: 55%;
        padding: 0 0 0 15px
    }

    #contents .doctor_itemslist .doctor_item.fullwidth .doctor_profile .doctor_detail h4 {
        font-size: 3.7vw;
        color: #373c46;
        font-weight: bold
    }

    #contents .doctor_itemslist .doctor_item.fullwidth .doctor_profile .doctor_detail h3 {
        font-size: 3.7vw;
        color: #373c46;
        font-weight: bold
    }

    #contents .doctor_itemslist .doctor_item.fullwidth .doctor_profile .doctor_detail h3 strong {
        font-size: 5.8vw;
        color: #373c46
    }

    #contents .doctor_itemslist .doctor_item.fullwidth .doctor_profile .doctor_detail .doctor_sns_icon {
        margin: 0
    }

    #contents .doctor_itemslist .doctor_item.fullwidth .doctor_profile .doctor_detail .doctor_sns_icon ul {
        display: flex;
        align-items: center;
        width: 100%
    }

    #contents .doctor_itemslist .doctor_item.fullwidth .doctor_profile .doctor_detail .doctor_sns_icon ul li {
        padding: 0 10px 0 0
    }

    #contents .doctor_itemslist .doctor_item.fullwidth .doctor_profile .doctor_detail .doctor_sns_icon ul li:last-child {
        padding: 0
    }

    #contents .doctor_itemslist .doctor_item.fullwidth .doctor_profile .doctor_detail .doctor_sns_icon ul li a {
        transition: all .2s;
        display: inline-block
    }

    #contents .doctor_itemslist .doctor_item.fullwidth .doctor_profile .doctor_detail .doctor_sns_icon ul li a:hover {
        -webkit-transform: scale(1.2);
        transform: scale(1.2)
    }

    #contents .doctor_itemslist .doctor_item.fullwidth .doctor_profile .doctor_detail .doctor_sns_icon ul li a[target=_blank] {
        display: inline-block;
        background: none;
        padding: 0
    }

    #contents .doctor_itemslist .doctor_item.fullwidth .doctor_profile .doctor_detail .doctor_sns_icon ul li img {
        width: 100%;
        max-width: 32px;
        height: auto
    }

    #contents .doctor_itemslist .doctor_item.fullwidth .doctor_profile .doctor_detail .cliniclabel {
        display: flex;
        margin: 3px 0 6px;
        box-sizing: border-box;
        width: 100%;
        flex-wrap: wrap
    }

    #contents .doctor_itemslist .doctor_item.fullwidth .doctor_profile .doctor_detail .cliniclabel li {
        text-align: center;
        font-size: 3vw;
        font-weight: normal;
        color: #666;
        background: #f2f2f2;
        padding: 3px;
        box-sizing: border-box;
        width: 100%;
        max-width: 160px;
        margin: 0 0 3px
    }

    #contents .doctor_itemslist .doctor_item.fullwidth .doctor_profile .doctor_detail .cliniclabel li span {
        display: block;
        box-sizing: border-box;
        color: #666;
        background: #f2f2f2
    }

    #contents .doctor_itemslist .doctor_item.fullwidth .doctor_profile .doctor_detail .cliniclabel.two-one {
        max-width: 160px
    }

    #contents .doctor_itemslist .doctor_item.fullwidth .doctor_profile .doctor_detail .cliniclabel.two-one li {
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: center
    }

    #contents .doctor_itemslist .doctor_item.fullwidth .doctor_profile .doctor_detail .cliniclabel.two-one li:nth-child(2) {
        margin-left: 1.5px
    }

    #contents .doctor_itemslist .doctor_item.fullwidth .doctor_profile .doctor_detail .cliniclabel.two-one li:last-child {
        width: 160px;
        margin: 0
    }

    #contents .doctor_itemslist .doctor_item.fullwidth .doctor_profile .doctor_detail .cliniclabel.one-two {
        max-width: 160px
    }

    #contents .doctor_itemslist .doctor_item.fullwidth .doctor_profile .doctor_detail .cliniclabel.one-two li {
        width: 48.5%;
        display: flex;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
        flex-wrap: wrap
    }

    #contents .doctor_itemslist .doctor_item.fullwidth .doctor_profile .doctor_detail .cliniclabel.one-two li:first-child {
        width: 100%;
        margin: 0 0 3px
    }

    #contents .doctor_itemslist .doctor_item.fullwidth .doctor_profile .doctor_detail .cliniclabel.one-two li:nth-child(3) {
        margin-left: 1.5px
    }

    #contents .doctor_itemslist .doctor_item.fullwidth .doctor_profile .doctor_detail .cliniclabel.two {
        max-width: 160px
    }

    #contents .doctor_itemslist .doctor_item.fullwidth .doctor_profile .doctor_detail .cliniclabel.two li {
        width: 49%;
        display: flex;
        align-items: center;
        justify-content: center
    }

    #contents .doctor_itemslist .doctor_item.fullwidth .doctor_profile .doctor_detail .cliniclabel.two li:nth-child(1) {
        margin-right: 1.5px
    }

    #contents .doctor_itemslist .doctor_item.fullwidth .doctor_profile .doctor_detail .cliniclabel.two li:nth-child(2) {
        margin-left: 1.5px
    }

    #contents .doctor_itemslist .doctor_item.fullwidth .doctor_profile .doctor_detail .doctor_name_kana {
        font-size: 3vw
    }

    #contents .doctor_itemslist .doctor_item.fullwidth .dr_btns2 .btn_arrow_2 {
        font-size: 3.7vw !important
    }

    #contents .doctor_itemslist .doctor_item .doctor_profile {
        display: flex
    }

    #contents .doctor_itemslist .doctor_item .doctor_profile figure {
        width: 45%;
        height: auto
    }

    #contents .doctor_itemslist .doctor_item .doctor_profile figure img {
        min-width: 58.5px
    }

    #contents .doctor_itemslist .doctor_item .doctor_profile .doctor_detail {
        width: 55%;
        padding: 0 0 0 10px
    }

    #contents .doctor_itemslist .doctor_item .doctor_profile .doctor_detail h4 {
        font-size: 2.4vw;
        color: #373c46;
        font-weight: bold
    }

    #contents .doctor_itemslist .doctor_item .doctor_profile .doctor_detail h3 {
        font-size: 2vw;
        color: #373c46;
        font-weight: bold
    }

    #contents .doctor_itemslist .doctor_item .doctor_profile .doctor_detail h3 strong {
        font-size: 3vw;
        color: #373c46
    }

    #contents .doctor_itemslist .doctor_item .doctor_profile .doctor_detail .doctor_sns_icon {
        margin: 0
    }

    #contents .doctor_itemslist .doctor_item .doctor_profile .doctor_detail .doctor_sns_icon ul {
        display: flex;
        align-items: center;
        width: 100%;
        flex-wrap: wrap
    }

    #contents .doctor_itemslist .doctor_item .doctor_profile .doctor_detail .doctor_sns_icon ul li {
        padding: 3px
    }

    #contents .doctor_itemslist .doctor_item .doctor_profile .doctor_detail .doctor_sns_icon ul li:last-child {
        padding: 0
    }

    #contents .doctor_itemslist .doctor_item .doctor_profile .doctor_detail .doctor_sns_icon ul li a {
        transition: all .2s;
        display: inline-block
    }

    #contents .doctor_itemslist .doctor_item .doctor_profile .doctor_detail .doctor_sns_icon ul li a:hover {
        -webkit-transform: scale(1.2);
        transform: scale(1.2)
    }

    #contents .doctor_itemslist .doctor_item .doctor_profile .doctor_detail .doctor_sns_icon ul li a[target=_blank] {
        display: inline-block;
        background: none;
        padding: 0
    }

    #contents .doctor_itemslist .doctor_item .doctor_profile .doctor_detail .doctor_sns_icon ul li img {
        width: 8vw;
        max-width: 26px;
        height: auto
    }

    #contents .doctor_itemslist .doctor_item .doctor_profile .doctor_detail .cliniclabel {
        display: inline-flex;
        margin: 3px 0 6px;
        box-sizing: border-box;
        width: 100%
    }

    #contents .doctor_itemslist .doctor_item .doctor_profile .doctor_detail .cliniclabel li {
        text-align: center;
        font-size: 2.4vw;
        font-weight: normal;
        color: #666;
        background: #f2f2f2;
        padding: 3px 0;
        box-sizing: border-box;
        width: 100%;
        max-width: 160px;
        margin: 0 0 3px
    }

    #contents .doctor_itemslist .doctor_item .doctor_profile .doctor_detail .cliniclabel li span {
        display: block;
        box-sizing: border-box;
        color: #666;
        background: #f2f2f2
    }

    #contents .doctor_itemslist .doctor_item .doctor_profile .doctor_detail .cliniclabel.two-one {
        max-width: 160px
    }

    #contents .doctor_itemslist .doctor_item .doctor_profile .doctor_detail .cliniclabel.two-one li {
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: center
    }

    #contents .doctor_itemslist .doctor_item .doctor_profile .doctor_detail .cliniclabel.two-one li:nth-child(2) {
        margin-left: 1.5px
    }

    #contents .doctor_itemslist .doctor_item .doctor_profile .doctor_detail .cliniclabel.two-one li:last-child {
        width: 160px;
        margin: 0
    }

    #contents .doctor_itemslist .doctor_item .doctor_profile .doctor_detail .cliniclabel.one-two {
        max-width: 160px
    }

    #contents .doctor_itemslist .doctor_item .doctor_profile .doctor_detail .cliniclabel.one-two li {
        width: 47%;
        display: flex;
        align-items: center;
        justify-content: center
    }

    #contents .doctor_itemslist .doctor_item .doctor_profile .doctor_detail .cliniclabel.one-two li:first-child {
        width: 160px;
        margin: 0 0 3px
    }

    #contents .doctor_itemslist .doctor_item .doctor_profile .doctor_detail .cliniclabel.one-two li:nth-child(3) {
        margin-left: 1.5px
    }

    #contents .doctor_itemslist .doctor_item .doctor_profile .doctor_detail .cliniclabel.two {
        max-width: 160px
    }

    #contents .doctor_itemslist .doctor_item .doctor_profile .doctor_detail .cliniclabel.two li {
        width: 47%;
        display: flex;
        align-items: center;
        justify-content: center
    }

    #contents .doctor_itemslist .doctor_item .doctor_profile .doctor_detail .cliniclabel.two li:nth-child(1) {
        margin-right: 1.5px
    }

    #contents .doctor_itemslist .doctor_item .doctor_profile .doctor_detail .cliniclabel.two li:nth-child(2) {
        margin-left: 1.5px
    }

    #contents .doctor_itemslist .doctor_item .doctor_profile .doctor_detail .doctor_name_kana {
        font-size: 2.2vw
    }

    #contents .dr_btns1 {
        margin: 40px auto;
        text-align: center;
        padding: 0 20px;
        box-sizing: border-box
    }

    #contents .dr_btns1 .btn_arrow_1 {
        position: relative;
        padding: 20px 30px;
        color: #fff;
        text-decoration: none;
        outline: none;
        background: #a09664;
        text-align: center;
        font-size: 4.2vw;
        width: 100%;
        max-width: 500px;
        box-sizing: border-box;
        transition: all .3s;
        min-height: 80px;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: auto
    }

    #contents .dr_btns1 .btn_arrow_1 span {
        display: block;
        font-size: 2.1333333333vw
    }

    #contents .dr_btns1 .btn_arrow_1::after {
        content: "";
        position: absolute;
        background: url(../image/btn_arrow_1_sp.png) no-repeat center center;
        background-size: auto 100%;
        width: 43px;
        height: 14px;
        top: 0;
        bottom: 0;
        right: -26px;
        margin: auto;
        transition: all .3s
    }

    #contents .dr_btns1 .btn_arrow_1:hover {
        opacity: .75
    }

    #contents .dr_btns1 .btn_arrow_1:hover::after {
        content: "";
        -webkit-animation-name: unset;
        animation-name: unset
    }

    #contents .dr_btns2 {
        margin: auto;
        text-align: center;
        padding: 0;
        box-sizing: border-box;
        width: 90%;
        position: absolute;
        bottom: 10vw;
        z-index: 1;
        left: 0;
        right: 0
    }

    #contents .dr_btns2 .btn_arrow_2 {
        position: relative;
        padding: 10px 2px;
        color: #373c46;
        text-decoration: none;
        outline: none;
        background: #fff;
        text-align: center;
        width: 100%;
        box-sizing: border-box;
        transition: all .3s;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: auto;
        border: 1px solid #a09664;
        font-size: 3vw
    }

    #contents .dr_btns2 .btn_arrow_2 span {
        display: block;
        font-size: 2.1333333333vw
    }

    #contents .dr_btns2 .btn_arrow_2::after {
        content: "";
        right: 5px
    }

    #contents .ranking_wrap {
        background: url(../image/ranking_bg.jpg) no-repeat center top;
        background-size: cover;
        padding: 10vw 0;
        text-align: center
    }

    #contents .ranking_wrap .b3_ttl {
        position: relative;
        margin-bottom: 35px
    }

    #contents .ranking_wrap .b3_ttl::before {
        content: "";
        width: 6vw;
        height: 6.6666666667vw;
        background: url(../image/icon_crown.png) no-repeat center center;
        background-size: 100%;
        display: inline-block;
        margin: 0 10px 0 0;
        vertical-align: bottom
    }

    #contents .ranking_wrap .rankinglists ol {
        list-style-type: none;
        display: block
    }

    #contents .ranking_wrap .rankinglists ol li {
        padding: 0 10px;
        width: 100%
    }

    #contents .ranking_wrap .rankinglists ol li a.rank_item {
        width: 100%;
        line-height: 0;
        display: block;
        text-decoration: none;
        transition: all .2s ease-out;
        background: linear-gradient(-45deg, transparent 8px, #fff 0) right, linear-gradient(135deg, transparent 8px, #fff 0) left;
        background-size: 50% 100%;
        background-repeat: no-repeat;
        max-width: 670px;
        margin: 0 auto 20px;
        box-sizing: border-box;
        -webkit-filter: drop-shadow(0px 6px 6px rgba(149, 149, 149, 0.5));
        filter: drop-shadow(0px 6px 6px rgba(149, 149, 149, 0.5));
        transition: all .4s
    }

    #contents .ranking_wrap .rankinglists ol li a.rank_item .rank_item_wrap {
        width: 100%;
        display: block;
        position: relative
    }

    #contents .ranking_wrap .rankinglists ol li a.rank_item .rank_item_wrap .rank_item_lr {
        display: flex;
        align-items: center;
        flex-direction: row
    }

    #contents .ranking_wrap .rankinglists ol li a.rank_item .rank_item_wrap .rank_item_lr .rank_item_img {
        padding: 15px 0 15px 52px;
        position: relative;
        white-space: nowrap;
        vertical-align: middle;
        box-sizing: border-box;
        width: 35%
    }

    #contents .ranking_wrap .rankinglists ol li a.rank_item .rank_item_wrap .rank_item_lr .rank_item_img img {
        width: 100%;
        height: auto;
        max-width: 75px
    }

    #contents .ranking_wrap .rankinglists ol li a.rank_item .rank_item_wrap .rank_item_lr .rank_item_text {
        font-size: 3.6vw;
        padding: 10px 25px 10px 10px;
        line-height: 1.4;
        font-weight: bold;
        width: 65%;
        text-align: left
    }

    #contents .ranking_wrap .rankinglists ol li a.rank_item .rank_item_wrap .rank_item_lr .rank_item_text span {
        display: inline-block
    }

    #contents .ranking_wrap .rankinglists ol li a.rank_item .rank_item_wrap .rank_item_lr .rank_item_text p {
        display: block;
        font-weight: normal;
        font-size: 3vw;
        text-align: left
    }

    #contents .ranking_wrap .rankinglists ol li a.rank_item:hover {
        -webkit-transform: scale(1.02);
        transform: scale(1.02)
    }

    #contents .ranking_wrap .rankinglists ol li:nth-child(1) a .rank_item_wrap::before {
        display: block;
        width: 25px;
        height: 50px;
        position: absolute;
        top: 0;
        bottom: 0;
        right: 0;
        margin: auto;
        content: "";
        background: #c6c0a2;
        border-radius: 100% 0 0 100%/50%
    }

    #contents .ranking_wrap .rankinglists ol li:nth-child(1) a .rank_item_wrap::after {
        display: block;
        width: 8px;
        height: 8px;
        position: absolute;
        top: 0;
        bottom: 0;
        right: 6px;
        margin: auto;
        border-bottom: solid 1px #fff;
        border-right: solid 1px #fff;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
        content: ""
    }

    #contents .ranking_wrap .rankinglists ol li:nth-child(1) a .rank_item_wrap .rank_item_lr .rank_item_img::before {
        content: "";
        display: inline-block;
        background: url(../image/ranking_bg_no1.png) no-repeat center left;
        width: 45px;
        height: 30px;
        background-size: 100% auto;
        vertical-align: middle
    }

    #contents .ranking_wrap .rankinglists ol li:nth-child(1) a h4 {
        background: linear-gradient(135deg, transparent 8px, #a09664 0) top left;
        color: #fff;
        padding: 4px;
        font-size: 2.9333333333vw
    }

    #contents .ranking_wrap .rankinglists ol li:nth-child(2) a .rank_item_wrap::before {
        display: block;
        width: 25px;
        height: 50px;
        position: absolute;
        top: 0;
        bottom: 0;
        right: 0;
        margin: auto;
        content: "";
        background: #9c9ca3;
        border-radius: 100% 0 0 100%/50%
    }

    #contents .ranking_wrap .rankinglists ol li:nth-child(2) a .rank_item_wrap::after {
        display: block;
        width: 8px;
        height: 8px;
        position: absolute;
        top: 0;
        bottom: 0;
        right: 6px;
        margin: auto;
        border-bottom: solid 1px #fff;
        border-right: solid 1px #fff;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
        content: ""
    }

    #contents .ranking_wrap .rankinglists ol li:nth-child(2) a .rank_item_wrap .rank_item_lr .rank_item_img::before {
        content: "";
        display: inline-block;
        background: url(../image/ranking_bg_no2.png) no-repeat center left;
        width: 45px;
        height: 30px;
        background-size: 100% auto;
        vertical-align: middle
    }

    #contents .ranking_wrap .rankinglists ol li:nth-child(2) a h4 {
        background: linear-gradient(135deg, transparent 8px, #73737d 0) top left;
        color: #fff;
        padding: 4px;
        font-size: 2.9333333333vw
    }

    #contents .ranking_wrap .rankinglists ol li:nth-child(3) a .rank_item_wrap::before {
        display: block;
        width: 25px;
        height: 50px;
        position: absolute;
        top: 0;
        bottom: 0;
        right: 0;
        margin: auto;
        content: "";
        background: #bca6a3;
        border-radius: 100% 0 0 100%/50%
    }

    #contents .ranking_wrap .rankinglists ol li:nth-child(3) a .rank_item_wrap::after {
        display: block;
        width: 8px;
        height: 8px;
        position: absolute;
        top: 0;
        bottom: 0;
        right: 6px;
        margin: auto;
        border-bottom: solid 1px #fff;
        border-right: solid 1px #fff;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
        content: ""
    }

    #contents .ranking_wrap .rankinglists ol li:nth-child(3) a .rank_item_wrap .rank_item_lr .rank_item_img::before {
        content: "";
        display: inline-block;
        background: url(../image/ranking_bg_no3.png) no-repeat center left;
        width: 45px;
        height: 30px;
        background-size: 100% auto;
        vertical-align: middle
    }

    #contents .ranking_wrap .rankinglists ol li:nth-child(3) a h4 {
        background: linear-gradient(135deg, transparent 8px, #96736e 0) top left;
        color: #fff;
        padding: 4px;
        font-size: 2.9333333333vw
    }

    #contents .ranking_wrap .rankinglists ol li:nth-child(4) a .rank_item_wrap::before {
        display: block;
        width: 25px;
        height: 50px;
        position: absolute;
        top: 0;
        bottom: 0;
        right: 0;
        margin: auto;
        content: "";
        background: #b3b3b3;
        border-radius: 100% 0 0 100%/50%
    }

    #contents .ranking_wrap .rankinglists ol li:nth-child(4) a .rank_item_wrap::after {
        display: block;
        width: 8px;
        height: 8px;
        position: absolute;
        top: 0;
        bottom: 0;
        right: 6px;
        margin: auto;
        border-bottom: solid 1px #fff;
        border-right: solid 1px #fff;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
        content: ""
    }

    #contents .ranking_wrap .rankinglists ol li:nth-child(4) a .rank_item_wrap .rank_item_lr .rank_item_img::before {
        content: "";
        display: inline-block;
        background: url(../image/ranking_bg_no4.png) no-repeat center left;
        width: 45px;
        height: 30px;
        background-size: 100% auto;
        vertical-align: middle
    }

    #contents .ranking_wrap .rankinglists ol li:nth-child(4) a h4 {
        background: linear-gradient(135deg, transparent 8px, #686868 0) top left;
        color: #fff;
        padding: 4px;
        font-size: 2.9333333333vw
    }

    #contents .ranking_wrap .rankinglists ol li:nth-child(5) a .rank_item_wrap::before {
        display: block;
        width: 25px;
        height: 50px;
        position: absolute;
        top: 0;
        bottom: 0;
        right: 0;
        margin: auto;
        content: "";
        background: #b3b3b3;
        border-radius: 100% 0 0 100%/50%
    }

    #contents .ranking_wrap .rankinglists ol li:nth-child(5) a .rank_item_wrap::after {
        display: block;
        width: 8px;
        height: 8px;
        position: absolute;
        top: 0;
        bottom: 0;
        right: 6px;
        margin: auto;
        border-bottom: solid 1px #fff;
        border-right: solid 1px #fff;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
        content: ""
    }

    #contents .ranking_wrap .rankinglists ol li:nth-child(5) a .rank_item_wrap .rank_item_lr .rank_item_img::before {
        content: "";
        display: inline-block;
        background: url(../image/ranking_bg_no5.png) no-repeat center left;
        width: 45px;
        height: 30px;
        background-size: 100% auto;
        vertical-align: middle
    }

    #contents .ranking_wrap .rankinglists ol li:nth-child(5) a h4 {
        background: linear-gradient(135deg, transparent 8px, #686868 0) top left;
        color: #fff;
        padding: 4px;
        font-size: 3.2vw
    }

    #contents .treatment_lead {
        display: block;
        text-align: left;
        font-size: 4vw;
        padding: 0 20px
    }

    #contents .treatment_wrap .mv_items_container {
        margin-top: 35px
    }

    #contents .treatment_wrap .treatment_inner {
        background: #eef1ef
    }

    #contents .treatment_wrap .treatment_inner .treatment_lists {
        text-align: center;
        padding: 15px 0;
        box-sizing: border-box
    }

    #contents .treatment_wrap .treatment_inner .treatment_lists .treatment_item1 {
        list-style-type: none;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        box-sizing: border-box;
        margin-top: 20px
    }

    #contents .treatment_wrap .treatment_inner .treatment_lists .treatment_item1 li {
        display: block;
        padding: 3px;
        box-sizing: border-box
    }

    #contents .treatment_wrap .treatment_inner .treatment_lists .treatment_item1 li a {
        display: block;
        box-sizing: border-box;
        text-decoration: none;
        color: #4694D1;
        border: 1px solid #4694D1;
        padding: 5px 10px;
        background: #fff;
        transition: all .3s;
        font-size: 3vw;
        line-height: 5vw
    }

    #contents .treatment_wrap .treatment_inner .treatment_lists .treatment_item1 li a:hover {
        color: #fff;
        background: #4694D1
    }

    #contents .treatment_wrap .treatment_inner .treatment_lists .treatment_item2 {
        list-style-type: none;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        box-sizing: border-box;
        margin-top: 20px
    }

    #contents .treatment_wrap .treatment_inner .treatment_lists .treatment_item2 li {
        width: 50%;
        display: block;
        padding: 6px;
        box-sizing: border-box
    }

    #contents .treatment_wrap .treatment_inner .treatment_lists .treatment_item2 li.fullw {
        width: 100%
    }

    #contents .treatment_wrap .treatment_inner .treatment_lists .treatment_item2 li.fullw figure {
        width: auto
    }

    #contents .treatment_wrap .treatment_inner .treatment_lists .treatment_item2 li a {
        display: flex;
        align-items: center;
        box-sizing: border-box;
        text-decoration: none;
        color: #373c46;
        padding: 5px 10px;
        transition: all .3s;
        position: relative;
        background: #fff;
        border-radius: 6px;
        font-size: 3.2vw
    }

    #contents .treatment_wrap .treatment_inner .treatment_lists .treatment_item2 li a::before {
        display: block;
        position: absolute;
        top: 0;
        bottom: 0;
        right: 2px;
        margin: auto;
        width: 16px;
        height: 16px;
        border: solid 1px #373c46;
        border-radius: 50px;
        content: ""
    }

    #contents .treatment_wrap .treatment_inner .treatment_lists .treatment_item2 li a::after {
        content: "";
        color: #373c46;
        width: 0;
        height: 0;
        border-style: solid;
        border-color: transparent;
        border-width: 3px 4px;
        border-left-color: #373c46;
        border-right: 0;
        -webkit-transform: translateX(15%);
        transform: translateX(15%);
        position: absolute;
        top: 0;
        right: 9px;
        bottom: 0;
        margin: auto
    }

    #contents .treatment_wrap .treatment_inner .treatment_lists .treatment_item2 li a figure {
        text-align: left;
        width: 35%;
        min-width: 60px
    }

    #contents .treatment_wrap .treatment_inner .treatment_lists .treatment_item2 li a figure img {
        width: 60px;
        max-width: 100px;
        height: auto
    }

    #contents .treatment_wrap .treatment_inner .treatment_lists .treatment_item2 li a p {
        padding: 0 10px;
        margin: 0;
        text-align: left
    }

    #contents .treatment_wrap .treatment_inner .treatment_lists .treatment_item2 li a:hover {
        color: #4694D1;
        background: #fff;
        border-radius: 6px;
        box-shadow: 0 0 20px 0 rgba(0, 0, 0, .2);
        -webkit-transform: scale(1.02);
        transform: scale(1.02)
    }

    #contents .treatment_wrap .treatment_inner .treatment_btns {
        margin: 15px auto 40px;
        text-align: center;
        box-sizing: border-box;
        width: 80%
    }

    #contents .treatment_wrap .treatment_inner .treatment_btns .btn_arrow_2 {
        padding: 15px 15px;
        color: #373c46;
        text-decoration: none;
        outline: none;
        background: #fff;
        text-align: center;
        width: 100%;
        box-sizing: border-box;
        transition: all .3s;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: auto;
        border: 1px solid #a09664;
        font-size: 3.6vw;
        max-width: 450px;
        position: relative
    }

    #contents .treatment_wrap .treatment_inner .treatment_btns .btn_arrow_2 span {
        display: block;
        font-size: 2.1333333333vw
    }

    #contents .treatment_wrap .treatment_inner .treatment_btns .btn_arrow_2::after {
        content: "";
        position: absolute;
        width: 40px;
        height: 6px;
        border-right: 1px solid #a09664;
        border-bottom: 1px solid #a09664;
        -webkit-transform: skew(45deg);
        transform: skew(45deg);
        right: 20px;
        top: -6px;
        bottom: 0;
        margin: auto
    }

    #contents .treatment_wrap .treatment_inner .treatment_btns .btn_arrow_2:hover {
        background: #4694D1;
        color: #fff !important
    }

    #contents .treatment_wrap .treatment_inner .treatment_btns .btn_arrow_2:hover::after {
        content: "";
        right: 10px;
        border-right: 1px solid #fff;
        border-bottom: 1px solid #fff
    }

    #contents .sns_wrap {
        text-align: center;
        padding: 20px 0
    }

    #contents .sns_wrap .b3_ttl {
        margin: 0
    }

    #contents .sns_wrap .sns_btns {
        margin: 20px auto;
        text-align: center;
        padding: 0 20px;
        box-sizing: border-box
    }

    #contents .sns_wrap .sns_btns .btn_arrow_1 {
        position: relative;
        padding: 20px 30px;
        color: #fff;
        text-decoration: none;
        outline: none;
        background: #a09664;
        text-align: center;
        font-size: 4.2vw;
        width: 100%;
        max-width: 500px;
        box-sizing: border-box;
        transition: all .3s;
        min-height: unset;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: auto
    }

    #contents .sns_wrap .sns_btns .btn_arrow_1 span {
        display: block;
        font-size: 2.1333333333vw
    }

    #contents .sns_wrap .sns_btns .btn_arrow_1::after {
        content: "";
        position: absolute;
        background: url(../image/btn_arrow_1_sp.png) no-repeat center center;
        background-size: auto 100%;
        width: 83px;
        height: 14px;
        top: 0;
        bottom: 0;
        right: -42px;
        margin: auto;
        transition: all .3s
    }

    #contents .sns_wrap .sns_btns .btn_arrow_1:hover {
        opacity: .75
    }

    #contents .sns_wrap .sns_btns .btn_arrow_1:hover::after {
        content: "";
        -webkit-animation-name: anime_btn_arrow_1;
        animation-name: anime_btn_arrow_1;
        -webkit-animation-duration: .2s;
        animation-duration: .2s;
        -webkit-animation-iteration-count: 1;
        animation-iteration-count: 1
    }

    #contents .sns_wrap .sns_btns .btn_arrow_x {
        position: relative;
        padding: 20px 30px;
        color: #fff;
        text-decoration: none;
        outline: none;
        background: #000;
        text-align: center;
        font-size: 4vw;
        width: 100%;
        max-width: 500px;
        box-sizing: border-box;
        transition: all .3s;
        min-height: unset;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: auto
    }

    #contents .sns_wrap .sns_btns .btn_arrow_x span {
        display: block;
        font-size: 2.1333333333vw
    }

    #contents .sns_wrap .sns_btns .btn_arrow_x::after {
        content: "";
        position: absolute;
        background: url(../image/btn_arrow_x_sp.png) no-repeat center center;
        background-size: auto 100%;
        width: 83px;
        height: 14px;
        top: 0;
        bottom: 0;
        right: -42px;
        margin: auto;
        transition: all .3s
    }

    #contents .sns_wrap .sns_btns .btn_arrow_x:hover {
        opacity: .75
    }

    #contents .sns_wrap .sns_btns .btn_arrow_x:hover::after {
        content: "";
        -webkit-animation-name: anime_btn_arrow_1;
        animation-name: anime_btn_arrow_1;
        -webkit-animation-duration: .2s;
        animation-duration: .2s;
        -webkit-animation-iteration-count: 1;
        animation-iteration-count: 1
    }

    #contents .sns_wrap .igdiv {
        padding-top: 20px;
        text-align: center
    }

    #contents .sns_wrap .igdiv iframe {
        margin: 0 auto !important
    }

    #contents .sns_wrap .staffblog {
        padding-top: 20px;
        text-align: center
    }

    #contents .sns_wrap .staffblog article.wpblog a {
        position: relative;
        display: block;
        background-color: #f5f5f5;
        border-radius: 15px;
        text-decoration: none;
        width: 100%;
        margin: 0 auto;
        max-width: 500px;
        transition: all .2s ease-out
    }

    #contents .sns_wrap .staffblog article.wpblog a img {
        width: 100%;
        height: auto;
        aspect-ratio: 5/3;
        -o-object-fit: cover;
        object-fit: cover;
        -o-object-position: center;
        object-position: center;
        border-top-left-radius: 15px;
        border-top-right-radius: 15px
    }

    #contents .sns_wrap .staffblog article.wpblog a .box-content {
        text-align: left;
        padding: 20px
    }

    #contents .sns_wrap .staffblog article.wpblog a .box-content h2 {
        font-weight: bold
    }

    #contents .sns_wrap .staffblog article.wpblog a .box-content .updated {
        text-align: right
    }

    #contents .sns_wrap .staffblog article.wpblog a:hover {
        box-shadow: 0 0 20px 0 rgba(0, 0, 0, .2);
        -webkit-transform: scale(1.02);
        transform: scale(1.02)
    }

    #contents .sns_wrap .sns_banner {
        padding: 40px 0
    }

    #contents .sns_wrap .sns_banner a[target=_blank],
    #contents .sns_wrap .sns_banner a {
        padding: 0;
        background: transparent;
        display: block;
        color: unset;
        transition: all .2s;
        margin: 0;
        cursor: pointer
    }

    #contents .sns_wrap .sns_banner a[target=_blank].box-shadow,
    #contents .sns_wrap .sns_banner a.box-shadow {
        box-shadow: 0 0 20px 0 rgba(0, 0, 0, .2)
    }

    #contents .sns_wrap .sns_banner a[target=_blank]:hover,
    #contents .sns_wrap .sns_banner a:hover {
        box-shadow: 0 0 20px 0 rgba(0, 0, 0, .2);
        -webkit-transform: scale(1.02);
        transform: scale(1.02)
    }

    #contents .sns_wrap .sns_banner2 {
        padding: 40px 0
    }

    #contents .sns_wrap .sns_banner2 a[target=_blank],
    #contents .sns_wrap .sns_banner2 a {
        padding: 0;
        background: transparent;
        display: block;
        color: unset;
        transition: all .2s;
        margin: 0;
        cursor: pointer
    }

    #contents .sns_wrap .sns_banner2 a[target=_blank].box-shadow,
    #contents .sns_wrap .sns_banner2 a.box-shadow {
        box-shadow: 0 0 20px 0 rgba(0, 0, 0, .2)
    }

    #contents .sns_wrap .sns_banner2 a[target=_blank]:hover,
    #contents .sns_wrap .sns_banner2 a:hover {
        box-shadow: 0 0 20px 0 rgba(0, 0, 0, .2);
        -webkit-transform: scale(1.02);
        transform: scale(1.02)
    }

    #contents .faq_wrap {
        text-align: center;
        padding: 0 0 5px
    }

    #contents .faq_wrap .faq_lead {
        display: block;
        text-align: center;
        font-size: 4vw;
        margin-bottom: 25px
    }

    #contents .faq_wrap .faq_box {
        width: 100%;
        display: block;
        margin-bottom: 30px
    }

    #contents .faq_wrap .faq_box .faq_ttl {
        width: 100%;
        display: block;
        background-color: #7a92a7;
        background: linear-gradient(-135deg, transparent 8px, #7a92a7 0);
        text-align: left;
        color: #fff;
        padding: 18px 12%;
        box-sizing: border-box;
        position: relative;
        cursor: pointer
    }

    #contents .faq_wrap .faq_box .faq_ttl::before {
        content: "";
        background: url(../image/faq_icon_q.png) no-repeat center left;
        display: block;
        background-size: 100%;
        width: 40px;
        height: 40px;
        position: absolute;
        left: 0;
        top: 5px;
        margin: auto
    }

    #contents .faq_wrap .faq_box .faq_ttl::after {
        content: "";
        background: url(../image/faq_icon_ps.png) no-repeat center left;
        display: block;
        background-size: 100%;
        width: 40px;
        height: 40px;
        position: absolute;
        right: 0;
        top: 0;
        bottom: 0;
        margin: auto
    }

    #contents .faq_wrap .faq_box .faq_ttl.open::after {
        content: "";
        background: url(../image/faq_icon_ms.png) no-repeat center left;
        display: block;
        background-size: 100%;
        width: 40px;
        height: 40px;
        position: absolute;
        right: 0;
        top: 0;
        bottom: 0;
        margin: auto
    }

    #contents .faq_wrap .faq_box .faq_article {
        margin: 15px 0;
        text-align: left;
        padding: 0 15px 20px;
        box-sizing: border-box
    }

    #contents .faq_wrap .faq_box .faq_article p {
        display: block
    }

    #contents .recruit_wrap {
        background: url(../image/recruit_bg.jpg) no-repeat center top;
        width: 100%;
        display: block;
        background-size: 100%;
        position: relative;
        padding-bottom: 100px
    }

    #contents .recruit_wrap .recruit_box {
        width: 100%;
        max-width: 840px;
        margin: auto;
        background: url(../image/recruit_bg_doc.png) no-repeat center top;
        background-size: 120%
    }

    #contents .recruit_wrap .recruit {
        text-align: left;
        display: block;
        position: relative;
        width: 80%;
        padding: 33vw 10px 0;
        box-sizing: border-box
    }

    #contents .recruit_wrap .recruit .uline {
        border-bottom: 1px solid #000;
        padding: 0 0 5px;
        display: inline;
        line-height: 2;
        margin-bottom: 20px;
        text-shadow: 2px 2px 1px rgba(255, 255, 255, .6), -2px 2px 1px rgba(255, 255, 255, .6), 2px -2px 1px rgba(255, 255, 255, .6), -2px -2px 1px rgba(255, 255, 255, .6), 2px 0px 1px rgba(255, 255, 255, .6), 0px 2px 1px rgba(255, 255, 255, .6), -2px 0px 1px rgba(255, 255, 255, .6), 0px -2px 1px rgba(255, 255, 255, .6)
    }

    #contents .recruit_wrap .recruit .text {
        display: block;
        text-align: left;
        margin: 20px 0;
        text-shadow: 2px 2px 1px rgba(255, 255, 255, .6), -2px 2px 1px rgba(255, 255, 255, .6), 2px -2px 1px rgba(255, 255, 255, .6), -2px -2px 1px rgba(255, 255, 255, .6), 2px 0px 1px rgba(255, 255, 255, .6), 0px 2px 1px rgba(255, 255, 255, .6), -2px 0px 1px rgba(255, 255, 255, .6), 0px -2px 1px rgba(255, 255, 255, .6)
    }

    #contents .recruit_wrap .recruit .recruit_btns {
        margin: 40px auto;
        text-align: left;
        padding: 0;
        box-sizing: border-box
    }

    #contents .recruit_wrap .recruit .recruit_btns .btn_arrow_1 {
        position: relative;
        padding: 15px;
        color: #fff;
        text-decoration: none;
        outline: none;
        background: #a09664;
        text-align: center;
        font-size: 3.7vw;
        width: 80%;
        max-width: 500px;
        box-sizing: border-box;
        transition: all .3s;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0
    }

    #contents .recruit_wrap .recruit .recruit_btns .btn_arrow_1 span {
        display: block;
        font-size: 2.1333333333vw
    }

    #contents .recruit_wrap .recruit .recruit_btns .btn_arrow_1::after {
        content: "";
        position: absolute;
        background: url(../image/btn_arrow_1_sp.png) no-repeat center center;
        background-size: auto 100%;
        width: 83px;
        height: 14px;
        top: 0;
        bottom: 0;
        right: -42px;
        margin: auto;
        transition: all .3s
    }

    #contents .recruit_wrap .recruit .recruit_btns .btn_arrow_1:hover {
        opacity: .75
    }

    #contents .recruit_wrap .recruit .recruit_btns .btn_arrow_1:hover::after {
        content: "";
        -webkit-animation-name: anime_btn_arrow_1;
        animation-name: anime_btn_arrow_1;
        -webkit-animation-duration: .2s;
        animation-duration: .2s;
        -webkit-animation-iteration-count: 1;
        animation-iteration-count: 1
    }

    #contents .recruit_wrap .recruit .recruit_btns .btn_arrow_x {
        position: relative;
        padding: 20px 30px;
        color: #fff;
        text-decoration: none;
        outline: none;
        background: #000;
        text-align: center;
        font-size: 2.6666666667vw;
        width: 100%;
        max-width: 500px;
        box-sizing: border-box;
        transition: all .3s;
        min-height: 100px;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: auto
    }

    #contents .recruit_wrap .recruit .recruit_btns .btn_arrow_x span {
        display: block;
        font-size: 2.1333333333vw
    }

    #contents .recruit_wrap .recruit .recruit_btns .btn_arrow_x::after {
        content: "";
        position: absolute;
        background: url(../image/btn_arrow_x.png) no-repeat center center;
        background-size: auto 100%;
        width: 83px;
        height: 14px;
        top: 0;
        bottom: 0;
        right: -42px;
        margin: auto;
        transition: all .3s
    }

    #contents .recruit_wrap .recruit .recruit_btns .btn_arrow_x:hover {
        opacity: .75
    }

    #contents .recruit_wrap .recruit .recruit_btns .btn_arrow_x:hover::after {
        content: "";
        -webkit-animation-name: anime_btn_arrow_1;
        animation-name: anime_btn_arrow_1;
        -webkit-animation-duration: .2s;
        animation-duration: .2s;
        -webkit-animation-iteration-count: 1;
        animation-iteration-count: 1
    }

    #contents .recruit_wrap .inner {
        z-index: 1;
        position: relative;
        box-sizing: border-box
    }

    #contents #pickup2 {
        text-align: center;
        margin: 4vw auto;
        padding: 4vw 0
    }

    #contents #pickup2 .inner {
        max-width: 100%;
        margin: auto;
        padding: 0;
        width: 100%
    }

    #contents #pickup2 #slider2 .sp-slide {
        width: 50%;
        height: auto
    }

    #contents #pickup2 #slider2 .sp-slide.lsize {
        width: 50%
    }

    #contents #pickup2 #slider2 .sp-slide a img {
        -o-object-fit: contain;
        object-fit: contain
    }

    #contents .doctorscosme .banner img {
        width: 300px
    }

    #contents .doctorscosme .banner figure {
        margin-top: 40px
    }

    #contents .doctorscosme .banner figure:last-child {
        margin: 20px 0 40px 0
    }

    #contents .doctorscosme .rank_sec.sakae p.pic {
        margin: 10px 10px 0;
        text-align: center
    }

    #contents .doctorscosme .rank_sec.sakae .tit-ranking {
        text-align: center;
        padding: 0;
        background: none
    }

    #contents .doctorscosme .rank_sec.sakae .ranking {
        position: relative;
        display: table;
        width: 300px;
        margin: 6px auto 28px;
        padding: 15px 0;
        background: url(../image/bg_ranking_sakae01.png) left top no-repeat, url(../img/sakae/bg_ranking_sakae02.png) left bottom no-repeat, url(../img/sakae/bg_ranking_sakae03.png) left top repeat-y;
        background-size: 100% auto, 100% auto, 100% auto;
        -moz-background-size: 100% auto, 100% auto, 100% auto;
        -webkit-background-size: 100% auto, 100% auto, 100% auto
    }

    #contents .doctorscosme .rank_sec.sakae .ranking .check {
        width: 270px;
        margin: auto
    }

    #contents .doctorscosme .rank_sec.sakae .ranking .recommend {
        width: 270px;
        margin: 15px auto
    }

    #contents .doctorscosme .rank_sec.sakae .ranking .recommend dt {
        color: #e899a8;
        font-size: 13px;
        font-weight: normal
    }

    #contents .doctorscosme .rank_sec.sakae .ranking .recommend dd ul li {
        display: inline-block;
        width: 48%;
        font-size: 14px;
        margin-top: 15px;
        vertical-align: top
    }

    #contents .doctorscosme .rank_sec.sakae .ranking .recommend dd ul li.last-item {
        width: auto
    }

    #contents .doctorscosme .rank_sec.sakae .ranking .recommend dd ul li a {
        padding-left: 10px;
        color: #086bb0;
        background: url(../image/icon_ranking.png) left 50% no-repeat;
        background-size: 7px 11px;
        -moz-background-size: 7px 11px;
        -webkit-background-size: 7px 11px
    }

    #contents .doctorscosme .rank_sec.sakae .ranking .medal {
        position: absolute;
        top: -15px;
        left: 15px
    }

    #contents .doctorscosme .rank_sec.sakae .ranking .tit-sub-ranking {
        position: absolute;
        top: 20px;
        left: 93px
    }

    #contents .doctorscosme .rank_sec.sakae .ranking .tit-sub-ranking dd {
        margin-top: 7px
    }

    #contents .doctorscosme .rank_sec.sakae .ranking .tit-sub-ranking dd.double {
        margin-top: 3px;
        line-height: 1
    }

    #contents .doctorscosme .rank_sec.sakae .img-ranking {
        margin-left: 20px
    }

    #contents .doctorscosme .rank_sec.sakae .ranking-txt {
        width: 270px;
        margin: 10px auto 15px
    }

    #contents .doctorscosme .rank_sec.sakae .ranking-txt dt {
        margin-bottom: 15px;
        color: #e899a8;
        font-size: 16px;
        font-weight: bold
    }

    #contents .doctorscosme .rank_sec.sakae .ranking-txt dd {
        color: #4d4d4c;
        font-size: 13px
    }
}

/*# sourceMappingURL=../../maps/clinicmap/css/clinicmap_detail.css.map */