html {
    height: 100%;
    line-height: 1.15;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    overflow: auto;
    font-size: 7.32vw
}

@media print, screen and (min-width: 1366px) {
    html {
        font-size: 625%
    }
}

@media screen and (max-width: 749px) {
    html {
        font-size: 26.666vw
    }
}

*, *::before, *::after {
    -webkit-box-sizing: inherit;
    box-sizing: inherit
}

body {
    margin: 0;
    font-size: .16rem;
    height: 100%;
    color: #231815;
    background: #fff;
    font-family: 'Helvetica Neue', 'Helvetica', 'Arial', 'Hiragino Sans', 'ヒラギノ角ゴシック', YuGothic, 'Yu Gothic', 'Avenir', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic';
    text-rendering: optimizeLegibility;
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased
}

main {
    width: 100%;
    display: block
}

@media all and (-ms-high-contrast: none) {
    main {
        overflow: hidden
    }
}

a {
    color: #231815;
    text-decoration: none;
    background-color: transparent;
    -webkit-transition: .25s;
    transition: .25s;
    -webkit-transition-property: width, height, opacity !important;
    transition-property: width, height, opacity !important
}

a:hover {
    opacity: .6
}

img {
    max-width: 100%;
    height: auto;
    border-style: none;
    vertical-align: top
}

p {
    margin: 0;
    line-height: 1.5;
    letter-spacing: .08em
}

i {
    font-style: normal
}

button, input, optgroup, select, textarea {
    font-family: inherit;
    font-size: 100%;
    line-height: 1.15;
    margin: 0
}

button, input {
    overflow: visible
}

input[type="submit"], input[type="button"] {
    border-radius: 0;
    -webkit-box-sizing: content-box;
    -webkit-appearance: button;
    -moz-appearance: button;
    appearance: button;
    border: none;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    cursor: pointer
}

input[type="submit"]::-webkit-search-decoration, input[type="button"]::-webkit-search-decoration {
    display: none
}

input[type="submit"]:focus, input[type="button"]:focus {
    outline-offset: -2px
}

button, select {
    text-transform: none
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

h1, h2, h3, h4, h5, h6 {
    margin: 0;
    font-weight: normal
}

ul, ol, li, dl, dt, dd {
    margin: 0;
    padding: 0;
    list-style: none
}

address {
    font-style: normal
}

.clearfix:after, header:after, .post-block .post-nav .pn-list:after {
    content: "";
    clear: both;
    display: block
}

.prevent {
    z-index: -1
}

.prevent body {
    position: fixed;
    width: 100%;
    height: 100%
}

@media print, screen and (min-width: 750px) {
    .l-inbox {
        max-width: calc(12rem + 1.7rem);
        margin: 0 auto;
        padding: 0 .85rem
    }
}

@media screen and (max-width: 749px) {
    .l-inbox {
        padding: 0 .14rem
    }
}

.l-inbox-4 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-line-pack: start;
    align-content: flex-start;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start
}

.l-inbox-4 > * {
    width: 25%
}

.l-inbox-5 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-line-pack: start;
    align-content: flex-start;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start
}

.l-inbox-5 > * {
    width: 20%
}

.l-half02 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.l-half02 .box {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 4rem;
    flex: 1 1 4rem
}

.l-half02 .box *:first-child {
    margin-top: 0
}

@media print, screen and (min-width: 750px) {
    .l-half02 .box + .box {
        margin-left: .58rem
    }
}

@media screen and (max-width: 749px) {
    .l-half02 .box + .box {
        margin-top: .32rem
    }
}

.l-fl-c {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-line-pack: center;
    align-content: center
}

.l-fl-i-c {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.page-area {
    padding-bottom: 80px;
    border-bottom: 1px solid #595757
}

@media screen and (max-width: 749px) {
    .page-area {
        padding-bottom: 40px;
        border-bottom: 1px solid #595757
    }
}

.page-head {
    width: 100%;
    height: 230px;
    margin-bottom: 60px;
    position: relative
}

.page-head h2 {
    width: 100%;
    height: 230px;
    padding: 108px 0 0;
    position: absolute;
    z-index: 5;
    text-align: center
}

.page-head h2 span {
    width: 100%;
    display: block
}

.page-head h2 .ja {
    font-size: 30px;
    margin-bottom: 10px
}

.page-head h2 .en {
    font-size: 26px;
    color: #002063
}

.page-head .image {
    width: 100%;
    height: 230px;
    overflow: hidden;
    position: relative
}

.page-head .image img {
    width: auto;
    min-width: 100%;
    max-width: inherit;
    min-height: 100%;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    margin: auto;
    position: absolute;
    display: block
}

@media print, screen and (min-width: 750px) {
    .page-head .image .sp {
        display: none
    }
}

@media screen and (max-width: 749px) {
    .page-head {
        height: 160px;
        margin-bottom: 40px
    }

    .page-head h2 {
        height: 160px;
        padding: 64px 0 0
    }

    .page-head h2 .ja {
        font-size: 22px;
        letter-spacing: .05em;
        margin-bottom: 4px
    }

    .page-head h2 .en {
        font-size: 20px;
        color: #002063
    }

    .page-head .image {
        height: 160px
    }

    .page-head .image .pc {
        display: none
    }
}

.l-bt-c-list {
    margin: 32px 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-line-pack: center;
    align-content: center
}

.l-bt-c-list li + li {
    margin-left: 36px
}

@media screen and (max-width: 749px) {
    .l-bt-c-list {
        margin: 24px 0 32px;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column
    }

    .l-bt-c-list li {
        margin: 0 auto
    }

    .l-bt-c-list li + li {
        margin: 12px auto 0
    }
}

.tab-nav {
    margin-bottom: -36px;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-line-pack: center;
    align-content: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.tab-nav ul {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-line-pack: center;
    align-content: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.tab-nav .js-tab-clear, .tab-nav .js-tab-label button {
    cursor: pointer;
    margin: 0 32px;
    padding: 0 0 12px;
    color: #002063;
    font-weight: bold;
    font-size: 18px;
    background: none;
    border: none;
    outline: 0;
    border-bottom: 1px dashed #fff
}

.tab-nav .js-tab-clear.active, .tab-nav .js-tab-label button.active {
    border-bottom: 1px dashed #595757
}

.tab-area .js-tab.none {
    display: none
}

.tab-area .js-tab.active {
    display: block
}

@media screen and (max-width: 749px) {
    .tab-nav {
        margin-bottom: -48px;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column
    }

    .tab-nav ul {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }

    .tab-nav ul li {
        width: 100%;
        text-align: center
    }

    .tab-nav .js-tab-clear, .tab-nav .js-tab-label button {
        margin: 0 0 8px;
        padding: 0 0 8px;
        font-size: 16px
    }
}

.text-box {
    max-width: 1024px;
    margin: 0 auto
}

.text-box + .text-box {
    margin-top: 28px
}

.text-box .text-box-head {
    color: #fff;
    background: #002063;
    padding: 16px 24px
}

.text-box .text-box-head .u-arrow::before {
    -webkit-transform: rotate(0);
    transform: rotate(0)
}

.text-box .text-box-head.open .u-arrow::before {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg)
}

.text-box .text-box-body {
    margin-top: 16px;
    padding: 24px;
    background: #F8F8F8
}

@media screen and (max-width: 749px) {
    .text-box + .text-box {
        margin-top: 20px
    }

    .text-box .text-box-head {
        padding: 16px 24px;
        font-size: 16px;
        letter-spacing: 0
    }

    .text-box .text-box-body {
        margin-top: 3.125vw;
        padding: 6.25vw
    }
}

.inspection-list dt {
    cursor: pointer
}

.inspection-list dt:hover {
    opacity: .95
}

.inspection-list dd {
    display: none
}

.l-dl-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    border-top: 1px solid #ccc;
    line-height: 1.8
}

.l-dl-list > * {
    padding: .14rem .26rem .15rem;
    border-bottom: 1px solid #ccc
}

@media print, screen and (min-width: 750px) {
    .l-dl-list {
        font-size: .18rem
    }

    .l-dl-list dt {
        width: 2.4rem
    }

    .l-dl-list dd {
        width: calc(100% - 2.4rem);
        padding-left: .32rem
    }
}

@media screen and (max-width: 749px) {
    .l-dl-list {
        font-size: .15rem
    }

    .l-dl-list dt, .l-dl-list dd {
        width: 100%
    }
}

.l-dl-list dt {
    background: #F5F5F5
}

.in-block {
    padding: 0 .1rem
}

.border-b-box {
    border: .1rem solid #F5F5F5
}

.border-b-box .o-dot {
    line-height: 1.6
}

@media print, screen and (min-width: 750px) {
    .border-b-box {
        padding: .24rem 0
    }

    .border-b-box .o-dot {
        margin-left: 1em
    }
}

@media screen and (max-width: 749px) {
    .border-b-box {
        padding: .24rem .1em
    }

    .border-b-box .o-dot {
        margin-left: .5em
    }
}

.page-top-tt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%
}

.top-tt {
    line-height: 1;
    text-align: center;
    position: relative
}

.top-tt span {
    min-width: 2.62rem;
    padding: 0 .1rem;
    border-bottom: 0.05rem solid #002063;
    display: inline-block
}

@media print, screen and (min-width: 750px) {
    .top-tt {
        font-size: .36rem;
        padding: .32rem 0 0
    }

    .top-tt span {
        padding-bottom: .275rem
    }
}

@media screen and (max-width: 749px) {
    .top-tt {
        font-size: .24rem;
        padding: .32rem 0 0
    }

    .top-tt span {
        padding-bottom: .16rem
    }
}

.top-image {
    height: 2rem;
    position: relative;
    overflow: hidden
}

.top-image img {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    display: block
}

@media print, screen and (min-width: 1366px) {
    .top-image img {
        width: 100%
    }
}

@media screen and (max-width: 1365px) {
    .top-image img {
        width: auto;
        max-width: inherit;
        height: 100%
    }
}

.topic-path {
    padding: .12rem 0 .16rem;
    background: #f5f5f5;
    font-size: .14rem
}

.topic-path a {
    color: #0080CC
}

.topic-path ol {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.topic-path ol li {
    margin-right: .12rem
}

.topic-path ol li:first-child {
    padding-left: .22rem;
    background: url("svg/i-home.svg") 0 center no-repeat;
    background-size: .124rem .12rem
}

.topic-path ol li:nth-child(n+2) {
    padding-left: .16rem;
    background: url("svg/topic.svg") 0 center no-repeat;
    background-size: .06rem .12rem
}

.p-tt {
    width: 100%;
    border: 2px solid #C9CACA;
    border-width: 2px 0;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start
}

.p-tt h2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: center;
    align-content: center
}

.p-tt h2 .en {
    margin-left: .24rem;
    color: #002063
}

@media print, screen and (min-width: 750px) {
    .p-tt h2 .en {
        font-size: .18rem
    }
}

@media screen and (max-width: 749px) {
    .p-tt h2 .en {
        font-size: .14rem
    }
}

.p-tt .post-tt {
    margin-top: .06rem;
    width: 100%;
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    color: #002063
}

.p-tt .post-info {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1
}

.p-tt::before {
    height: 2px;
    background: #002063;
    position: absolute;
    top: -2px;
    left: 0
}

@media print, screen and (min-width: 750px) {
    .p-tt {
        min-height: 1.2rem;
        margin-bottom: .46rem;
        padding: .12rem .36rem .05rem
    }

    .p-tt _:-ms-lang(x)::-ms-backdrop, .p-tt {
        height: 1.2rem
    }

    .p-tt::before {
        width: 2.9rem
    }

    .p-tt h2 {
        font-size: .32rem
    }

    .p-tt .post-tt {
        font-size: .27rem
    }
}

@media screen and (max-width: 749px) {
    .p-tt {
        min-height: .92rem;
        margin-bottom: .4rem;
        padding: .12rem .12rem .14rem
    }

    .p-tt::before {
        width: 2rem
    }

    .p-tt h2 {
        font-size: .2rem
    }
}

.p-tt02 {
    border: 2px solid #C9CACA;
    border-width: 0 0 2px;
    position: relative
}

.p-tt02.tt-mg-s {
    margin-bottom: .3rem
}

.p-tt02::before {
    height: 2px;
    background: #002063;
    position: absolute;
    bottom: -2px;
    left: 0
}

@media print, screen and (min-width: 750px) {
    .p-tt02 {
        margin: .5rem 0;
        padding: 0 .15rem .05rem;
        font-size: .22rem
    }

    .p-tt02::before {
        width: 2.9rem
    }
}

@media screen and (max-width: 749px) {
    .p-tt02 {
        margin: .4rem 0;
        padding: .12rem .12rem .14rem;
        font-size: .18rem
    }

    .p-tt02::before {
        width: 2rem
    }
}

.h-tt {
    text-align: center;
    color: #fff;
    background: #002063
}

@media print, screen and (min-width: 750px) {
    .h-tt {
        font-size: .3rem;
        margin-bottom: .5rem;
        padding: .22rem 0 .2rem
    }

    .side-area .h-tt {
        font-size: .22rem;
        margin-bottom: 0;
        padding: .48rem 0 .48rem
    }

    .side-area .h-tt .h-tt {
        -webkit-transition: .2s;
        transition: .2s
    }
}

@media screen and (max-width: 749px) {
    .h-tt {
        font-size: .18rem;
        font-weight: bold;
        margin-bottom: .25rem;
        padding: .16rem 0 .15rem
    }

    .side-area .h-tt {
        margin-bottom: 0
    }
}

.h-tt02 {
    color: #fff;
    background: #002063;
    font-size: .22rem;
    margin-bottom: .25rem;
    padding: .2rem 0 .18rem .26rem
}

@media screen and (max-width: 749px) {
    .h-tt02 {
        font-size: .18rem;
        padding: .16rem 0 .15rem .12rem
    }
}

.h-tt03 {
    margin-top: .44rem;
    color: #fff;
    background: #002063;
    font-size: .2rem;
    font-weight: 600;
    margin-bottom: .18rem;
    padding: .14rem 0 .16rem .26rem
}

@media screen and (max-width: 749px) {
    .h-tt03 {
        font-size: .18rem;
        padding: .1rem 0 .12rem .12rem
    }
}

.cycle-tt {
    color: #002063;
    font-weight: bold
}

.cycle-tt::before {
    content: '◎';
    margin-right: .25em
}

.cycle-tt02 {
    color: #002063;
    font-size: 0.2rem;
    margin: .28rem 0 .16rem 0px;
    font-weight: 600;
    padding-left: 1.25em;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.cycle-tt02::before {
    display: block;
    content: ' ';
    background-image: url(svg/dot-circle-solid.svg);
    background-size: 0.22rem 0.22rem;
    height: 0.22rem;
    width: 0.22rem;
    position: absolute;
    left: 0;
    top: 0
}

#Gynecology .cycle-tt02 {
    color: #444;
}

#Gynecology .cycle-tt02::before {
    display: block;
    content: ' ';
    background-image: url(svg/dot-circle-solid-gold.svg);
    background-size: 0.22rem 0.22rem;
    height: 0.22rem;
    width: 0.22rem;
    position: absolute;
    left: 0;
    top: 0;
}

#Botox .cycle-tt02::before {
    display: block;
    content: ' ';
    background-image: url(svg/dot-circle-solid-botox.svg);
    background-size: 0.22rem 0.22rem;
    height: 0.22rem;
    width: 0.22rem;
    position: absolute;
    left: 0;
    top: 0;
}
#Reconstruction .cycle-tt02::before {
    display: block;
    content: ' ';
    background-image: url(svg/dot-circle-reconstruction.svg);
    background-size: 0.22rem 0.22rem;
    height: 0.22rem;
    width: 0.22rem;
    position: absolute;
    left: 0;
    top: 0;
}

.cycle-tt02 .o-hyphen {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: #231815;
    font-size: .16rem
}

.o-hyphen {
    position: relative;
    padding-left: 1em;
    margin-left: .75em
}

.o-hyphen::before {
    content: '—';
    position: absolute;
    left: 0;
    top: 0
}

.bdr-tt {
    border: 1px solid #ccc;
    border-width: 1px 0px;
    padding: .2rem;
    text-align: center;
    font-size: .18rem
}

.cate01 {
    background: #0099D9
}

.cate02 {
    background: #009FA8
}

.cate03 {
    background: #6E6E6E
}

.cate04 {
    background: #FF5800
}

@media print, screen and (min-width: 750px) {
    .o-bt-box {
        width: 2.4rem;
        height: .6rem;
        margin: .5rem auto 0
    }
}

@media screen and (max-width: 749px) {
    .o-bt-box {
        width: 2.6rem;
        height: .5rem;
        margin: .32rem auto 0
    }
}

.o-bt {
    height: 100%;
    background: #002063;
    color: #fff;
    font-weight: bold;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: center;
    align-content: center
}

.o-arrow-link01, .foot-contact-block .foot-contact-box dd a {
    width: 100%;
    height: 50px;
    padding: 0 32px 0 52px;
    text-align: center;
    color: #fff;
    background: url("svg/i-arrow01.svg") 24px center #002063 no-repeat;
    background-size: 10px 12px;
    font-size: 20px;
    font-weight: bold;
    display: inline-block;
    position: relative
}

.o-arrow-link02 {
    position: relative;
    display: inline-block;
    background: url("svg/i-arrow02.svg") no-repeat
}

.o-arrow-link02.arw-l {
    font-size: .18rem;
    padding-left: .28rem;
    background-position: left top;
    background-size: .2rem .2rem
}

.o-arrow-link02.arw-s {
    font-size: .14rem;
    padding-left: .24rem;
    background-size: .24rem .24rem;
    background-position: left center
}

.o-arrow-link03, .footer-head dd li, .page-ft-nav li a {
    position: relative;
    display: block;
    background: url("svg/i-arrow03.svg") left center no-repeat;
    font-size: .14rem;
    padding-left: .16rem;
    background-size: .077rem .12rem
}

.o-dot {
    padding-left: 1em;
    text-indent: -1em;
    position: relative
}

.o-dot::before {
    content: '・'
}

.o-dot dt, .o-dot dd {
    display: inline-block;
    padding-left: 0;
    text-indent: 0
}

.o-dot dd {
    margin-left: 1em
}

.o-cycle-list li, .o-cycle, .greeting-box .profile ul li {
    padding-left: 1.25em;
    position: relative
}

.o-cycle-list li::before, .o-cycle::before, .greeting-box .profile ul li::before {
    content: '●';
    position: absolute;
    left: 0;
    top: 0
}

.o-cycle-list {
    line-height: 2;
    margin-left: 1em
}

@media print, screen and (min-width: 750px) {
    .o-cycle-list.o-half {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }

    .o-cycle-list.o-half li {
        width: 3.86rem;
        margin-left: .36rem
    }
}

@media screen and (max-width: 749px) {
    .o-cycle-list {
        margin-left: .5em;
        margin-right: 1em
    }
}

.o-cycle-list + .page-nav {
    margin-top: .92rem
}

.o-cycle-list li::before {
    color: #002063
}

map-box02 .treatment-text .o-cycle-list {
    margin-left: 0
}

map-box02 .treatment-text .o-cycle-list dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

map-box02 .treatment-text .o-cycle-list dl dt {
    font-weight: bold
}

map-box02 .treatment-text .o-cycle-list dl dt::after {
    content: '：'
}

.o-brackets {
    position: relative
}

.o-brackets::before {
    content: '【'
}

.o-brackets::after {
    content: '】'
}

.o-brackets02 {
    position: relative
}

.o-brackets02::before {
    content: '['
}

.o-brackets02::after {
    content: ']'
}

.o-check {
    padding-left: 40px;
    background: url("svg/i-check.svg") 0 center no-repeat;
    background-size: 28px auto
}

.o-indent {
    padding: 0 0 0 1.25em;
    position: relative;
    line-height: 1.5
}

.nolink > a {
    pointer-events: none
}

.nolink > a:hover {
    opacity: 1
}

@media print, screen and (min-width: 750px) {
    .o-hash-link {
        margin-top: -1.12rem;
        padding-top: 1.12rem
    }
}

@media screen and (max-width: 749px) {
    .o-hash-link {
        margin-top: -1rem;
        padding-top: 1rem
    }
}

.u-act-font, .page-head h2 .ja, .contact-tel .contact-tel-head h3, .foot-contact-block .foot-contact-box dt, .medical-plink ul li .text .ja, .medial-head-text h4, .medical-head-foot .text h4, .greeting-box .text h4 {
    font-family: fot-tsukubrdgothic-std, sans-serif;
    font-weight: 700;
    font-style: normal
}

.u-en-font, .page-head h2 .en, .faq-box .faq-accordion .faq-main .faq-title h4::before, .faq-box .faq-accordion .faq-main div:nth-child(2) .faq-content::before, .faq-box .faq-q .tt, .faq-box .faq-a .tt, .flow-block li::after, .foot-contact-block .tel .tel-no, .medical-plink ul li .text .en {
    font-family: mason-sans, sans-serif;
    font-weight: 400;
    font-style: normal
}

.u-text {
    line-height: 1.6;
    margin: 0 0 1em
}

.u-text:last-child {
    margin: 0
}

.u-top-text {
    line-height: 1.6;
    margin: 0 0 1em
}

@media print, screen and (min-width: 750px) {
    .u-top-text {
        font-size: .2rem
    }
}

@media screen and (max-width: 749px) {
    .u-top-text {
        font-size: .16rem
    }
}

.u-top-text:last-child {
    margin: 0
}

.u-u-bdr, .medical-head-foot .text h4 span {
    border-bottom: 1px dashed #231815
}

.u-dis-i {
    display: inline
}

.u-dis-i * {
    display: inherit
}

.u-dis-ib {
    display: inline-block
}

.u-dis-b {
    display: block
}

@media screen and (max-width: 749px) {
    .u-sp-dis-ib {
        display: inline-block
    }
}

.u-ai-c {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-line-pack: center;
    align-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.u-ba, .p-tt::before, .p-tt02::before, .rnav-li li .sub-menu a::before {
    content: "";
    display: block;
    position: absolute
}

@media print, screen and (min-width: 750px) {
    .sp {
        display: none !important
    }
}

@media screen and (max-width: 749px) {
    .pc {
        display: none !important
    }
}

.u-ie-flex-h {
    min-height: 0%
}

@media print, screen and (min-width: 750px) {
    .wrapper {
        padding-top: 1.6rem
    }

    .wrapper.js-fix {
        padding-top: 1.24rem
    }
}

@media screen and (max-width: 749px) {
    .wrapper {
        padding-top: .8rem;
        width: 100%;
        overflow: hidden
    }
}

.page-contents {
    margin-top: .48rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

@media print, screen and (min-width: 750px) {
    .page-contents .main-area {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
        width: 8.8rem
    }

    .page-contents .side-area {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
        width: 2.8rem;
        border: 1px solid #ccc;
        border-bottom: none
    }
}

@media screen and (max-width: 749px) {
    .page-contents .main-area {
        width: 100%
    }

    .page-contents .side-area {
        width: 100%;
        margin-bottom: .4rem;
        border: 1px solid #ccc
    }
}

.rnav-li li {
    border-top: 1px solid #ccc
}

.rnav-li li a, .rnav-li li h3 {
    font-size: .16rem;
    padding: .2rem .08rem .18rem .40rem;
    background: url("svg/i-arrow02.svg") 0.1rem center no-repeat;
    display: block
}

#Gynecology .rnav-li li a, #Gynecology .rnav-li li h3 {
    position: relative;
    background: none;
}

#Gynecology .rnav-li li a:before, #Gynecology .rnav-li li h3:before {
    width: 22px;
    height: 22px;
    position: absolute;
    z-index: 100px;
    background: url("svg/i-arrow05.svg");
    background-size: 100% auto;
    display: block;
    left: .23rem;
    top: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
    content: '';
}

@media screen and (min-width: 750px) and (max-width: 1023px) {
    .rnav-li li a, .rnav-li li h3 {
        background-position: 2.5% center
    }
}

.rnav-li li .sub-menu {
    border-bottom: 1px solid #ccc
}

.rnav-li li .sub-menu a {
    background: none;
    padding-left: .54rem;
    font-size: .13rem;
    position: relative
}

.rnav-li li .sub-menu a::before {
    width: .1rem;
    height: 2px;
    background: #002063;
    position: absolute;
    left: .40rem;
    top: 50%;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%)
}

@media screen and (max-width: 749px) {
    br.sp {
        display: inline
    }
}

@media print, screen and (min-width: 750px) {
    br.sp {
        display: none
    }
}

header {
    width: 100%;
    z-index: 2000;
    background: #fff;
    position: fixed;
    top: 0
}

.header-head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: center;
    align-content: center
}

@media print, screen and (min-width: 750px) {
    .header-head {
        height: 1rem;
        font-weight: 600
    }

    .header-head * {
        -webkit-transition: .2s;
        transition: .2s
    }

    .header-head h1 {
        -webkit-box-flex: 0;
        -ms-flex: 0 1 3.08rem;
        flex: 0 1 3.08rem
    }

    .header-head h1 svg {
        width: 3.08rem;
        height: .69rem
    }

    .header-head .hd-list {
        -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
        flex: 0 1 auto;
        margin-left: auto;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex
    }

    .header-head .hd-list li {
        margin-right: .32rem
    }

    .header-head .hd-list li a {
        display: block;
        text-align: center
    }

    .header-head .hd-list li a > * {
        display: block
    }

    .header-head .hd-list li a img {
        height: .32rem
    }

    .header-head .hd-list li a .tx {
        margin-top: .08rem;
        font-size: .12rem;
        color: #002063
    }

    .header-head .hd-tel {
        -webkit-box-flex: 0;
        -ms-flex: 0 1 3.1rem;
        flex: 0 1 3.1rem;
        text-align: center
    }

    .header-head .hd-tel dt {
        margin-bottom: 4px
    }

    .header-head .hd-tel dt img {
        width: 3rem;
        height: .32rem
    }

    .js-fix .header-head {
        height: .64rem
    }

    .js-fix .header-head h1 {
        -webkit-box-flex: 0;
        -ms-flex: 0 1 2rem;
        flex: 0 1 2rem
    }

    .js-fix .header-head h1 svg {
        width: 2rem;
        height: .44rem
    }

    .js-fix .header-head .hd-list li {
        margin-right: .4rem
    }

    .js-fix .header-head .hd-list li a {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-line-pack: center;
        align-content: center
    }

    .js-fix .header-head .hd-list li a > * {
        display: inline
    }

    .js-fix .header-head .hd-list li a img {
        height: .25rem
    }

    .js-fix .header-head .hd-list li a .tx {
        margin-top: 0;
        margin-left: .08rem;
        font-size: .14rem
    }

    .js-fix .header-head .hd-tel {
        -webkit-box-flex: 0;
        -ms-flex: 0 1 3rem;
        flex: 0 1 3rem;
        text-align: center
    }

    .js-fix .header-head .hd-tel dt {
        margin-bottom: 4px
    }

    .js-fix .header-head .hd-tel dt img {
        width: 2.36rem;
        height: .25rem
    }

    .js-fix .header-head .hd-tel dd {
        font-size: .12rem;
        letter-spacing: .02em
    }
}

@media screen and (max-width: 749px) {
    .header-head {
        height: .8rem
    }

    .header-head h1 {
        -webkit-box-flex: 0;
        -ms-flex: 0 1 2.12rem;
        flex: 0 1 2.12rem
    }

    .header-head h1 svg {
        width: 2.12rem;
        height: .47rem
    }

    .header-menu-bt {
        width: .3rem;
        height: .36rem;
        padding-bottom: .12rem;
        display: inline-block;
        position: relative;
        float: right
    }

    .header-menu-bt svg {
        width: .31rem;
        height: .07rem;
        left: .005rem;
        display: block;
        position: absolute;
        bottom: 0
    }

    .header-menu-bt span {
        display: block;
        position: absolute;
        top: calc(50% - .07rem);
        left: 50%;
        width: .3rem;
        height: .04rem;
        -webkit-transform: translate3d(-50%, -50%, 0);
        transform: translate3d(-50%, -50%, 0);
        background: #002063;
        -webkit-transition: .2s;
        transition: .2s
    }

    .header-menu-bt span::before, .header-menu-bt span::after {
        display: block;
        content: "";
        position: absolute;
        top: 50%;
        left: 0;
        -webkit-transform: translate3d(0, -50%, 0);
        transform: translate3d(0, -50%, 0);
        width: .3rem;
        height: .04rem;
        background: #002063;
        -webkit-transition: .2s;
        transition: .2s
    }

    .header-menu-bt span::before {
        margin-top: -.1rem
    }

    .header-menu-bt span::after {
        margin-top: .1rem
    }

    .header-menu-bt.close span {
        background: transparent
    }

    .header-menu-bt.close span::before, .header-menu-bt.close span::after {
        margin-top: -2px
    }

    .header-menu-bt.close span::before {
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg)
    }

    .header-menu-bt.close span::after {
        -webkit-transform: rotate(-135deg);
        transform: rotate(-135deg)
    }
}

@media print, screen and (min-width: 750px) {
    .header-body {
        height: .6rem;
        background: #002063
    }

    .gnav-li {
        font-size: .18rem;
        height: .6rem;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center
    }

    .gnav-li > li {
        width: 20%;
        text-align: center
    }

    .gnav-li > li a {
        color: #fff;
        font-weight: 600
    }

    .gnav-li > li a:hover {
        opacity: 1
    }

    .gnav-li > li > a {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        height: 100%
    }

    .gnav-li > li:hover .sub-menu {
        z-index: 100;
        padding: .36rem 0;
        max-height: 10rem
    }

    .gnav-li > li:hover .sub-menu > * {
        opacity: 1
    }

    .gnav-li > li:hover .sub-menu ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex
    }

    .gnav-li > li:hover .sub-menu ul a:hover img {
        -webkit-transform: scale(1.05);
        transform: scale(1.05)
    }

    .gnav-li > li .sub-menu {
        width: 100%;
        padding: 0;
        background: rgba(0, 0, 20, 0.9);
        position: absolute;
        left: 0;
        z-index: -1;
        max-height: 0%;
        -webkit-transition: .3s;
        transition: .3s
    }

    .gnav-li > li .sub-menu > * {
        -webkit-transition: .1s;
        transition: .1s;
        opacity: 0
    }

    .gnav-li > li .sub-menu ul {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        -ms-flex-line-pack: start;
        align-content: flex-start;
        display: none
    }

    .gnav-li > li .sub-menu li {
        -webkit-box-flex: 0;
        -ms-flex: 0 1 2.08rem;
        flex: 0 1 2.08rem;
        text-align: left
    }

    .gnav-li > li .sub-menu li + li {
        margin-left: .4rem
    }

    .gnav-li > li .sub-menu li a {
        display: block
    }

    .gnav-li > li .sub-menu li img {
        width: 100%;
        margin-bottom: .12rem;
        -webkit-transition: .2s;
        transition: .2s
    }

    .gnav-li > li + li {
        border-left: 1px solid #fff
    }
}

@media screen and (max-width: 749px) {
    .sp-nav-bt {
        border-top: 1px solid #fff;
        height: .72rem;
        background: #002063
    }

    .sp-nav-bt li {
        height: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-line-pack: center;
        align-content: center
    }

    .sp-nav-bt li + li {
        border-left: 1px solid #fff
    }

    .sp-nav-bt a {
        padding-top: .1rem;
        color: #fff;
        display: block;
        width: 100%;
        height: 100%;
        text-align: center
    }

    .sp-nav-bt a .icon {
        height: .36rem;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-line-pack: center;
        align-content: center
    }

    .sp-nav-bt a .icon .i-info {
        width: .4rem;
        height: .36rem
    }

    .sp-nav-bt a .icon .i-map {
        width: .4rem;
        height: .36rem
    }

    .sp-nav-bt a .icon .i-mail {
        width: .36rem;
        height: .31rem
    }

    .sp-nav-bt a .icon .i-tel {
        width: .32rem;
        height: .32rem
    }

    .sp-nav-bt a .tx {
        margin-top: .03rem;
        font-size: .1rem;
        font-weight: bold;
        display: block
    }

    .header-body {
        opacity: 0;
        z-index: -1;
        max-height: 0;
        -webkit-transition: .2s;
        transition: .2s;
        overflow: hidden;
        position: relative
    }

    .header-body > .l-inbox {
        padding: 0 0 .4rem
    }

    .header-body .l-inbox {
        padding: 0
    }

    .gnav-li a {
        font-size: .16rem;
        padding: .32rem .44rem .32rem .26rem;
        display: block
    }

    .gnav-li span {
        font-size: .16rem !important
    }

    .gnav-li > li > a {
        border-bottom: 1px solid #ccc;
        color: #002063;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }

    .gnav-li > li > a:hover {
        opacity: 1
    }

    .gnav-li > li > a.active span::after {
        display: none
    }

    .gnav-li > li > a span {
        width: .12rem;
        height: .12rem;
        top: .02rem;
        position: relative
    }

    .gnav-li > li > a span::before, .gnav-li > li > a span::after {
        content: '';
        display: block;
        position: absolute;
        background: #0080CC;
        right: 0
    }

    .gnav-li > li > a span::before {
        width: 100%;
        height: 2px;
        top: calc(50% - 1px)
    }

    .gnav-li > li > a span::after {
        width: 2px;
        height: 100%;
        left: calc(50% - 1px)
    }

    .gnav-li .sub-menu {
        opacity: 0;
        z-index: -1;
        position: relative;
        max-height: 0px;
        -webkit-transition: .2s;
        transition: .2s
    }

    .gnav-li .sub-menu .l-inbox {
        display: none
    }

    .gnav-li .active + .sub-menu {
        opacity: 1;
        z-index: 999;
        position: relative;
        max-height: 1000px
    }

    .gnav-li .active + .sub-menu .l-inbox {
        display: block
    }

    .gnav-li .sub-menu ul > li {
        border-bottom: 1px solid #fff
    }

    .gnav-li .sub-menu ul > li a {
        color: #fff;
        background-color: #0080CC
    }

    .gnav-li img {
        display: none
    }

    .gnav-li .o-arrow-link02 {
        padding-left: 0;
        background: none
    }

    .prevent .header-body {
        opacity: 1;
        z-index: 9999;
        overflow: scroll;
        height: calc(100% - .8rem);
        max-height: 500vh;
        position: fixed;
        top: .8rem;
        left: 0;
        width: 100%;
        background: #fff
    }
}

.hd-hour {
    margin-top: .32rem;
    padding-bottom: .44rem;
    text-align: center;
    font-size: .18rem
}

.hd-hour dl + dl {
    margin-top: 1em
}

.hd-hour dl dt {
    color: #002063;
    margin-bottom: .75em
}

.hd-hour dl dd {
    font-weight: bold
}

.hd-hour dl dd p + p {
    margin-top: .5em
}

.hd-hour dl dd .time {
    padding-left: .2rem;
    background: url("svg/i-time.svg") 0 center no-repeat;
    background-size: .145rem
}

.footer-head {
    padding: .44rem 0 .48rem;
    background: #005083;
    color: #fff
}

.footer-head a {
    color: #fff
}

.footer-head dt {
    margin-bottom: .2rem
}

.footer-head dd {
    font-size: .14rem
}

.footer-head dd li + li {
    margin-top: 1em
}

.footer-body {
    background: #002063;
    color: #fff
}

.footer-body .ft-logo {
    width: 2.98rem;
    margin: 0 auto
}

.footer-body .ft-logo svg {
    width: 2.98rem;
    height: .7rem
}

.footer-body .ft-logo svg path {
    fill: #fff
}

.footer-body .ft-access-li li + li {
    margin-top: .25em
}

@media print, screen and (min-width: 750px) {
    .ft-bn ul {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start
    }

    .ft-bn ul li {
        width: 1.78rem
    }

    .ft-bn ul li + li {
        margin-left: .16rem
    }

    .footer-body {
        padding: .4rem 0 .44rem
    }

    .footer-body .l-inbox {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }

    .footer-body .ft-access-li {
        margin-top: .05rem
    }

    .footer-body .ft-access-li li {
        margin: 0 .18rem
    }
}

@media screen and (max-width: 749px) {
    .footer-body {
        padding: .32rem 0 .36rem
    }

    .footer-body .ft-access-li {
        margin-top: .225rem
    }

    .footer-body .ft-access-li li {
        margin: 0 .1rem;
        text-align: center
    }

    .footer-body .ft-access-li li:last-child {
        margin-top: .08rem
    }

    .ft-bn {
        margin-top: .225rem
    }

    .ft-bn ul {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }

    .ft-bn ul li {
        width: calc(50% - .08rem)
    }
}

.ft-bn ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.footer-foot {
    color: #646464
}

.footer-foot a {
    color: #646464
}

@media print, screen and (min-width: 750px) {
    .footer-foot {
        padding: .2rem 0 .34rem
    }

    .footer-foot .l-inbox {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }
}

@media screen and (max-width: 749px) {
    .footer-foot {
        padding: .23rem 0 .44rem
    }

    .footer-foot p {
        padding-bottom: .23rem;
        margin-bottom: .26rem;
        position: relative
    }

    .footer-foot p::after {
        content: '';
        display: block;
        position: absolute;
        width: 100vw;
        height: 1px;
        background: #ccc;
        bottom: 0;
        left: -.14rem
    }

    .footer-foot small {
        width: 100%;
        font-size: .1rem;
        letter-spacing: -0.015em;
        text-align: center;
        display: block
    }
}

@media screen and (max-width: 749px) {
    .home-top-slider {
        margin-bottom: .3rem
    }
}

@media print, screen and (min-width: 750px) {
    .home-greet {
        margin-bottom: 1rem
    }

    .home-greet .l-inbox {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        position: relative
    }

    .home-greet .head {
        width: 3.26rem
    }

    .home-greet .head p {
        width: 8.24rem;
        font-size: .28rem;
        font-weight: bold;
        color: #002063;
        line-height: .4rem;
        letter-spacing: 0.04em;
        top: 0;
        left: calc(3.76rem + .85rem);
        position: absolute
    }

    .home-greet .head .photo dl {
        height: 1.68rem;
        padding-left: .24rem;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-line-pack: center;
        align-content: center;
        text-align: left
    }

    .home-greet .head .photo dl dt {
        width: 100%;
        font-size: .21rem;
        margin-bottom: .025rem
    }

    .home-greet .head .photo dl dd {
        font-size: .35rem
    }

    .home-greet .head .photo dl dd .en {
        margin-top: .05rem;
        font-size: .21rem;
        color: #002063;
        display: block
    }

    .home-greet .foot {
        width: calc(100% - 3.26rem)
    }

    .home-greet .foot > p {
        height: 4.1rem;
        padding-top: 1.36rem;
        padding-right: .16rem;
        padding-left: .48rem;
        font-size: .18rem;
        line-height: .32rem;
        letter-spacing: .08em
    }

    .home-greet .foot .profile {
        height: 1.68rem;
        padding-left: .48rem;
        padding-right: .36rem;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -ms-flex-line-pack: center;
        align-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        background: #f5f5f5
    }

    .home-greet .foot .profile dt {
        width: 100%;
        margin-bottom: .1rem;
        font-size: .18rem
    }

    .home-greet .foot .profile dd {
        width: 100%
    }
}

@media screen and (max-width: 749px) {
    .home-greet {
        margin-bottom: .6rem
    }

    .home-greet .head p {
        margin-bottom: .28rem;
        font-size: .16rem;
        font-weight: bold;
        color: #002063;
        letter-spacing: 0.04em
    }

    .home-greet .head .photo {
        margin-bottom: .22rem;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }

    .home-greet .head .photo .image {
        width: 1.75rem
    }

    .home-greet .head .photo dl {
        width: 1.7rem;
        background: #002063;
        color: #fff;
        height: 1.6rem;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-line-pack: center;
        align-content: center
    }

    .home-greet .head .photo dl dt {
        font-size: .13rem;
        margin-bottom: .06rem
    }

    .home-greet .head .photo dl dd {
        font-size: .274rem
    }

    .home-greet .head .photo dl dd .en {
        margin-top: .08rem;
        font-size: .14rem;
        display: block
    }

    .home-greet .foot > p {
        font-size: .14rem;
        letter-spacing: .08em
    }

    .home-greet .foot .profile {
        width: 100vw;
        margin-top: .24rem;
        padding: .22rem .26rem .28rem .156rem;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -ms-flex-line-pack: center;
        align-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        background: #f5f5f5;
        position: relative;
        left: -.14rem
    }

    .home-greet .foot .profile dt {
        margin-bottom: .2rem;
        font-size: .15rem
    }

    .home-greet .foot .profile dd {
        font-size: .14rem;
        width: 100%
    }
}

.home-info {
    width: 100%;
    position: relative
}

@media print, screen and (min-width: 750px) {
    .home-info {
        margin-bottom: 1rem
    }
}

@media screen and (max-width: 749px) {
    .home-info {
        margin-bottom: .6rem
    }
}

@media print, screen and (min-width: 750px) {
    .home-info .tab-list {
        height: .6rem;
        margin-bottom: .42rem;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex
    }

    .home-info .tab-list::before, .home-info .tab-list::after {
        content: '';
        position: absolute;
        display: block;
        width: 100%;
        height: 1px;
        background: #ccc;
        left: 0
    }

    .home-info .tab-list::before {
        top: 0
    }

    .home-info .tab-list::after {
        top: .6rem
    }

    .home-info .tab-list li {
        width: 20%;
        height: 100%
    }

    .home-info .tab-list li + li {
        border-left: 1px solid #ccc
    }

    .home-info .tab-list li a {
        width: 100%;
        height: 100%;
        font-weight: bold;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -ms-flex-line-pack: center;
        align-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center
    }

    .home-info .tab-list li a:hover {
        opacity: 1;
        background: #002063;
        color: #fff
    }

    .home-info .tab-list li a.active {
        background: #002063;
        color: #fff
    }
}

@media screen and (max-width: 749px) {
    .home-info .tab-list-area {
        width: 100%;
        overflow-x: scroll;
        overflow-scrolling: touch
    }

    .home-info .tab-list {
        width: calc(100% / 3 * 5);
        height: .6rem;
        margin-bottom: .28rem;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex
    }

    .home-info .tab-list::after {
        content: '';
        position: absolute;
        display: block;
        width: 100%;
        height: 3px;
        background: #002063;
        left: 0
    }

    .home-info .tab-list::after {
        top: .6rem
    }

    .home-info .tab-list li {
        width: 20%;
        height: 100%
    }

    .home-info .tab-list li a {
        width: 100%;
        height: 100%;
        font-weight: bold;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -ms-flex-line-pack: center;
        align-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center
    }

    .home-info .tab-list li a:hover {
        opacity: 1;
        background: #002063;
        color: #fff
    }

    .home-info .tab-list li a.active {
        background: #002063;
        color: #fff
    }
}

.home-info .tab-block {
    display: none
}

.home-info .tab-block.show {
    display: block
}

.home-info .tab-block a {
    height: 100%;
    display: block;
    border: 1px solid #ccc;
    position: relative
}

@media print, screen and (min-width: 750px) {
    .home-info .tab-block a {
        padding-bottom: .54rem
    }
}

.home-info .tab-block a img {
    -webkit-transition: .25s;
    transition: .25s
}

.home-info .tab-block a:hover {
    opacity: 1;
    border: 1px solid #f5f5f5
}

.home-info .tab-block a:hover img {
    -webkit-transform: translate(0, -50%) scale(1.05);
    transform: translate(0, -50%) scale(1.05)
}

@media print, screen and (min-width: 750px) {
    .home-info .tab-block > ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }

    .home-info .tab-block > ul > li {
        width: calc(25% - .25rem)
    }

    .home-info .tab-block > ul > li + li:not(:nth-child(4n+1)) {
        margin-left: .333rem
    }

    .home-info .tab-block > ul > li:nth-child(n+5) {
        margin-top: .32rem
    }
}

@media screen and (max-width: 749px) {
    .home-info .tab-block > ul > li + li {
        margin-top: .2rem
    }
}

.home-info .tab-block .inbox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

@media print, screen and (min-width: 750px) {
    .home-info .tab-block .inbox {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column
    }
}

.home-info .tab-block .text {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2
}

@media print, screen and (min-width: 750px) {
    .home-info .tab-block .text {
        padding: .16rem .16rem 0
    }
}

@media screen and (max-width: 749px) {
    .home-info .tab-block .text {
        width: calc(100% - 1.3rem);
        padding: .16rem .1rem .74rem;
        position: relative
    }
}

.home-info .tab-block .text .tt {
    line-height: 1.5
}

@media print, screen and (min-width: 750px) {
    .home-info .tab-block .text .tt {
        font-size: .16rem
    }
}

@media screen and (max-width: 749px) {
    .home-info .tab-block .text .tt {
        font-size: .14rem
    }
}

.home-info .tab-block .text ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

@media print, screen and (min-width: 750px) {
    .home-info .tab-block .text ul {
        width: calc(100% - .32rem);
        position: absolute;
        bottom: .12rem
    }
}

@media screen and (max-width: 749px) {
    .home-info .tab-block .text ul {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        width: 100%;
        position: absolute;
        bottom: .16rem
    }
}

.home-info .tab-block .text ul li {
    font-size: .14rem;
    color: #fff;
    font-weight: bold;
    text-align: center
}

@media print, screen and (min-width: 750px) {
    .home-info .tab-block .text ul li:first-child {
        width: .7rem;
        font-size: .18rem;
        margin-right: auto;
        color: #00A2D3
    }
}

@media screen and (max-width: 749px) {
    .home-info .tab-block .text ul li:first-child {
        width: 100%;
        font-size: .18rem;
        margin: .05rem 0 .05rem;
        color: #00A2D3;
        text-align: left
    }
}

.home-info .tab-block .text ul li.new {
    width: .45rem;
    margin-right: .06rem;
    background: #002063;
    padding: .06rem .05rem
}

.home-info .tab-block .text ul li.cate {
    width: 1rem;
    padding: .06rem .05rem
}

.home-info .tab-block .image {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
    height: 1.3rem;
    overflow: hidden;
    position: relative
}

@media screen and (max-width: 749px) {
    .home-info .tab-block .image {
        width: 1.3rem
    }
}

.home-info .tab-block .image img {
    width: 100%;
    position: absolute;
    top: 50%;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%)
}

@media print, screen and (min-width: 750px) {
    .home-foot {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }
}

.home-foot a {
    color: #00A2D3
}

@media print, screen and (min-width: 750px) {
    .home-foot .head {
        width: 50%
    }
}

.home-foot .head .box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
}

@media screen and (max-width: 749px) {
    .home-foot .head .box {
        margin: .32rem 0 .56rem
    }

    .home-foot .head .box .tx {
        padding: 0 .14rem
    }
}

@media print, screen and (min-width: 750px) {
    .home-foot .head .box01 {
        height: 1.96rem
    }
}

.home-foot .head .box01 .tx {
    margin-top: .18rem
}

@media print, screen and (min-width: 750px) {
    .home-foot .head .box02 {
        height: 2.12rem
    }
}

.home-foot .head .box02 .tx {
    margin-top: .2rem
}

.home-foot .head .time-tx .time {
    background: url("svg/i-time.svg") 0 center no-repeat
}

@media print, screen and (min-width: 750px) {
    .home-foot .head .time-tx {
        line-height: 1;
        font-size: .24rem;
        font-weight: bold
    }

    .home-foot .head .time-tx + .time-tx {
        margin-top: .2rem
    }

    .home-foot .head .time-tx .tt {
        margin-right: .24rem
    }

    .home-foot .head .time-tx .time {
        padding-left: .34rem;
        background-size: .24rem
    }
}

@media screen and (max-width: 749px) {
    .home-foot .head .time-tx {
        line-height: 1;
        font-size: .18rem;
        font-weight: bold
    }

    .home-foot .head .time-tx + .time-tx {
        margin-top: .14rem
    }

    .home-foot .head .time-tx .tt {
        margin-right: .14rem
    }

    .home-foot .head .time-tx .time {
        padding-left: .3rem;
        background-size: .18rem
    }
}

.home-foot .foot {
    letter-spacing: .08em
}

@media print, screen and (min-width: 750px) {
    .home-foot .foot {
        width: 50%;
        border-left: 1px solid #ccc
    }
}

.home-foot .foot img {
    width: 100%;
    border-bottom: 1px solid #ccc
}

@media print, screen and (min-width: 750px) {
    .home-foot .foot .tx {
        padding: .2rem .24rem;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }
}

@media screen and (max-width: 749px) {
    .home-foot .foot .tx {
        padding: .2rem .14rem .45rem
    }

    .home-foot .foot .tx address {
        margin-bottom: .16rem
    }
}

.home-foot .foot .tx a {
    font-weight: bold
}

.home-robot-list a {
    width: 100%;
    height: 100%;
    overflow: hidden;
    display: block
}

.home-robot-list a img {
    -webkit-transition: .2s;
    transition: .2s
}

.home-robot-list a:hover {
    opacity: 1
}

.home-robot-list a:hover img {
    -webkit-transform: scale(1.1);
    transform: scale(1.1)
}

.home-robot-list li {
    position: relative;
    border: 1px solid #ccc
}

.home-robot-list .box {
    width: calc(100%);
    position: absolute;
    left: 0;
    bottom: 0;
    padding: .2rem;
    text-align: center;
    background: rgba(0, 32, 99, 0.6);
    font-weight: 500;
    line-height: 1.34
}

.home-robot-list .box .tt {
    color: #ffffff;
    display: block
}

.home-robot-list .box .text {
    color: #dcdcdc;
    display: block
}

@media print, screen and (min-width: 750px) {
    .home-robot {
        margin-bottom: 1rem
    }

    .home-robot-list {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }

    .home-robot-list li {
        width: 50%
    }

    .tt {
        font-size: .24rem
    }

    .text {
        font-size: .18rem
    }
}

@media screen and (max-width: 749px) {
    .home-robot {
        margin-bottom: .6rem
    }

    .tt {
        font-size: .18rem
    }

    .text {
        font-size: .13rem
    }
}

.home-top-slider .slick-arrow {
    z-index: 10
}

.home-top-slider .slick-next {
    right: 2.5%
}

.home-top-slider .slick-prev {
    left: 2.5%
}

.header-head {
    overflow: hidden
}

.header-head .hd-tel dt {
    width: 3rem !important
}

.logo-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.logo-box .logo {
    width: 3.08rem
}

.logo-box .logo svg {
    width: 100%;
    height: .68rem
}

.logo-box .h1-text {
    padding-top: .04rem;
    padding-left: .2rem
}

.logo-box .h1-text h1 {
    font-size: .13rem;
    line-height: 1.4 !important;
    color: #002063;
    margin-bottom: .04rem;
    font-weight: 400;
    letter-spacing: .08em
}

.logo-box .h1-text ul {
    width: 3.12rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.logo-box .h1-text ul li {
    margin-right: .04rem;
    padding: .04rem .08rem;
    background: #fff1a9;
    border-radius: 3px;
    font-size: .11rem
}

.logo-box .h1-text p {
    font-size: .13rem;
    font-weight: normal;
    line-height: 1.4 !important;
    color: #002063;
    margin-bottom: .04rem
}

@media print, screen and (min-width: 750px) {
    .header-head .hd-list li {
        margin-right: .1rem
    }

    .logo-box {
        -webkit-box-flex: 0;
        -ms-flex: 0 1 6.4rem;
        flex: 0 1 6.4rem
    }

    .js-fix .logo-box {
        -webkit-box-flex: 0;
        -ms-flex: 0 1 4.2rem;
        flex: 0 1 4.2rem
    }

    .js-fix .logo-box .logo {
        width: 2rem
    }

    .js-fix .logo-box .logo svg {
        width: 2rem;
        height: .44rem
    }

    .js-fix .h1-text {
        padding-top: .06rem
    }

    .js-fix .h1-text h1, .js-fix .h1-text p {
        display: none
    }

    .js-fix .h1-text ul {
        width: 2rem;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }

    .js-fix .h1-text ul li {
        padding: .02rem .08rem;
        text-align: center;
        width: calc(33.3% - .04rem)
    }

    .js-fix .h1-text ul li:nth-child(n+4) {
        width: calc(50% - .04rem);
        margin-top: 3px
    }
}

@media (max-width: 1160px) {
    .js-fix .h1-text ul {
        width: 160px
    }
}

@media screen and (max-width: 749px) {
    .logo-box .logo svg {
        width: 2.12rem;
        height: .47rem
    }
}

.home-top {
    width: 100%;
    margin-bottom: 0 !important;
    position: relative
}

.home-top img {
    width: 100%;
    vertical-align: top
}

.home-top .slick-slide > div > div {
    display: block !important
}

.home-top .home-top-text {
    width: 50%;
    height: calc(25.76vw - .5rem);
    background-position: center center;
    background-size: cover;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: absolute;
    left: 50%;
    z-index: 2
}

@media print, screen and (min-width: 1366px) {
    .home-top .home-top-text {
        height: calc(25.76vw - 50px)
    }
}

.home-top .home-top-text .ib {
    display: inline-block
}

.home-top .home-top-text .text-box {
    width: auto;
    max-width: inherit;
    font-family: "Yu Mincho", "YuMincho";
    line-height: 1.5
}

.home-top .home-top-text .text-box h2 {
    font-size: 2.0497vw;
    margin-bottom: 1em;
    color: #002063;
    font-weight: 700;
    letter-spacing: .1em
}

.home-top .home-top-text .text-box p {
    max-width: 44.5095vw;
    font-size: 1.4641vw;
    color: #44444d;
    font-weight: 500;
    letter-spacing: .15em
}

.home-top .slick-dotted.slick-slider {
    margin-bottom: 0
}



@media print, screen and (min-width: 750px) and (min-width: 1366px) {
    .home-top .slick-dots {
        bottom: 62.5px !important
    }
}


.home-top .slick-dots li button:before {
    color: #ffffff;
    opacity: 1
}

.home-top .slick-dots li.slick-active button:before {
    color: #666666;
    opacity: 1
}

.top-grid {
    max-width: 13.66rem;
    margin: 0 auto;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

@media print, screen and (min-width: 750px) {
    .top-grid {
        top: -.5rem
    }
}

@media print, screen and (min-width: 1366px) {
    .top-grid {
        top: -50px
    }
}

@media screen and (max-width: 749px) {
    .top-grid {
        top: -.6rem
    }
}

.top-grid > div {
    border: 1px solid #CDCDCD;
    position: relative
}

.top-grid > div a {
    display: block
}

.top-grid > div a img {
    vertical-align: middle
}

@media screen and (max-width: 749px) {
    .top-grid > div {
        margin-left: .15rem;
        margin-bottom: .15rem;
        width: calc(50% - .226rem);
        height: 1.65rem
    }

    .top-grid > div:first-child {
        width: calc(50% - .226rem)
    }
}

@media print, screen and (min-width: 750px) {
    .top-grid > div {
        margin-left: .3rem;
        margin-bottom: .3rem
    }

    .top-grid > div.w3 {
        width: calc(33.33% - .4rem)
    }

    .top-grid > div.w4 {
        width: calc(25% - .376rem)
    }

    .top-grid > div.w5 {
        width: calc(20% - .36rem)
    }
}

@media print, screen and (min-width: 750px) {
    .top-grid .grid01 {
        height: 2.4rem
    }
}

@media screen and (max-width: 749px) {
    .top-grid .grid01 {
        height: 1.65rem
    }
}

.top-grid .grid01 a {
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover
}

.top-grid .grid01 a .comment {
    height: calc(100% - .9rem);
    padding: .2rem;
    background: rgba(255, 255, 255, 0.88);
    opacity: 0;
    -webkit-transition: .3s;
    transition: .3s;
    position: absolute;
    top: .5rem;
    left: 0;
    line-height: 1.34 !important
}

.top-grid .grid01 a .comment::after {
    content: '';
    width: calc(100% - .4rem);
    height: 1px;
    border-top: 1px dotted #989999;
    position: absolute;
    left: .2rem;
    bottom: 0
}

@media print, screen and (min-width: 750px) {
    .top-grid .grid01 a:hover {
        opacity: 1
    }

    .top-grid .grid01 a:hover .comment {
        opacity: 1
    }
}

.top-grid .grid01 .grid01-box h3 {
    width: 100%;
    height: .5rem;
    position: absolute;
    top: 0;
    left: 0;
    font-size: .22rem;
    color: #ffffff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

@media screen and (max-width: 749px) {
    .top-grid .grid01 .grid01-box h3 {
        font-size: .2rem;
        height: .4rem
    }
}

.top-grid .grid01 .grid01-box .arrow {
    width: 100%;
    height: .4rem;
    background: rgba(255, 255, 255, 0.88);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: absolute;
    bottom: 0
}

@media screen and (max-width: 749px) {
    .top-grid .grid01 .grid01-box .arrow {
        height: .3rem;
        font-size: .12rem
    }
}

.top-grid .grid01 .grid01-box .arrow span {
    padding-right: .2rem;
    background: url("../svg/i-arrow_grid.svg") center right no-repeat;
    background-size: .13rem
}

@media screen and (max-width: 749px) {
    .top-grid .grid01 .grid01-box .arrow span {
        padding-top: .02rem
    }
}

.top-grid .grid01.cat01 h3 {
    background-color: #C8B100
}

@media print, screen and (min-width: 750px) {
    .top-grid .grid01.cat01 a {
        background-image: url("../img/home2/grid01_01.jpg")
    }
}

@media screen and (max-width: 749px) {
    .top-grid .grid01.cat01 a {
        background-image: url("../img/home2/grid01_01_s.jpg")
    }
}

.top-grid .grid01.cat02 h3 {
    background-color: #81A31B
}

@media print, screen and (min-width: 750px) {
    .top-grid .grid01.cat02 a {
        background-image: url("../img/home2/grid01_02.jpg")
    }
}

@media screen and (max-width: 749px) {
    .top-grid .grid01.cat02 a {
        background-image: url("../img/home2/grid01_02_s.jpg")
    }
}

.top-grid .grid01.cat03 h3 {
    background-color: #3399AD
}

@media print, screen and (min-width: 750px) {
    .top-grid .grid01.cat03 a {
        background-image: url("../img/home2/grid01_03.jpg")
    }
}

@media screen and (max-width: 749px) {
    .top-grid .grid01.cat03 a {
        background-image: url("../img/home2/grid01_03_s.jpg")
    }
}

.top-grid .grid03 a {
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    color: #ffffff;
    text-align: center
}

.top-grid .grid03 a > div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: center;
    align-content: center;
    text-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.top-grid .grid03 a h3 {
    width: 100%;
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    position: relative
}

@media print, screen and (min-width: 750px) {
    .top-grid .grid03 a h3 {
        margin-bottom: .09rem;
        padding-bottom: .13rem;
        font-size: .18rem
    }
}

@media screen and (max-width: 749px) {
    .top-grid .grid03 a h3 {
        font-size: .16rem
    }
}

@media print, screen and (min-width: 750px) {
    .top-grid .grid03 a h3::after {
        content: '';
        width: calc(100% - .26rem);
        height: 1px;
        border-top: 1px dotted #ffffff;
        position: absolute;
        left: .13rem;
        bottom: 0
    }
}

.top-grid .grid03 a p {
    width: 100%;
    font-size: .12rem;
    -webkit-box-ordinal-group: 4;
    -ms-flex-order: 3;
    order: 3;
    letter-spacing: 0;
    padding-bottom: .08rem
}

@media screen and (max-width: 749px) {
    .top-grid .grid03 a p {
        display: none
    }
}

.top-grid .grid03 a p .ib {
    display: inline-block
}

.top-grid .grid03 a img {
    width: .83rem;
    height: auto;
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1
}

@media print, screen and (min-width: 750px) {
    .top-grid .grid03 a img {
        padding: .13rem 0
    }
}

@media screen and (max-width: 749px) {
    .top-grid .grid03 a img {
        padding: .235rem 0 .15rem
    }
}

.top-grid .grid03.link01 a {
    background-image: url("../img/home2/grid03_01_bg.jpg")
}

.top-grid .grid03.link02 a {
    background-image: url("../img/home2/grid03_02_bg.jpg")
}

.top-grid .grid03.link03 a {
    background-image: url("../img/home2/grid03_03_bg.jpg")
}

.top-grid .grid03.link04 a {
    background-image: url("../img/home2/grid03_04_bg.jpg")
}

.home-trouble {
    background-position: center center;
    background-size: cover;
    position: relative
}

@media print, screen and (min-width: 750px) {
    .home-trouble {
        height: 4.76rem;
        margin-top: .44rem;
        padding: 1.16rem 0 0;
        background-image: url("../img/home2/trouble-bg.jpg")
    }
}

@media screen and (max-width: 749px) {
    .home-trouble {
        height: 3.6rem;
        margin-top: .04rem;
        padding: .64rem 0 0;
        background-image: url("../img/home2/trouble-bg_s.jpg")
    }
}

.home-trouble h3 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    line-height: 1.57;
    color: #002063;
    border: 2px solid #002063;
    background: #ffffff;
    font-weight: 600;
    position: absolute;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0)
}

@media print, screen and (min-width: 750px) {
    .home-trouble h3 {
        width: 5.48rem;
        height: 1.2rem;
        font-size: .26rem;
        top: -.6rem
    }
}

@media screen and (max-width: 749px) {
    .home-trouble h3 {
        width: 3.45rem;
        height: .74rem;
        font-size: .18rem;
        top: -.37rem
    }
}

.home-trouble h3 .box {
    text-align: center
}

.home-trouble h3 .box span {
    display: inline-block
}

.home-trouble .slick-arrow {
    width: .23rem;
    height: .36rem;
    position: absolute;
    top: calc(50% - .18rem);
    z-index: 100;
    opacity: .5;
    -webkit-transition: .2s;
    transition: .2s;
    cursor: pointer
}

.home-trouble .slick-arrow:hover {
    opacity: 1
}

.home-trouble .slick-arrow span {
    width: 100%;
    height: 100%;
    display: block;
    background: url("../svg/i-arrow_slide.svg") no-repeat;
    background-size: 100%
}

.home-trouble .slick-arrow.prev {
    left: .27rem
}

.home-trouble .slick-arrow.prev span {
    -webkit-transform: scale(-1);
    transform: scale(-1)
}

.home-trouble .slick-arrow.next {
    right: .27rem
}

@media screen and (max-width: 749px) {
    .home-trouble .slick-arrow.prev {
        left: .14rem
    }

    .home-trouble .slick-arrow.next {
        right: .14rem
    }
}

.home-trouble .bt {
    font-weight: 600;
    background-color: #002063;
    position: absolute;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0)
}

@media print, screen and (min-width: 750px) {
    .home-trouble .bt {
        width: 6rem;
        height: .7rem;
        font-size: .24rem;
        bottom: -.35rem;
        border-radius: .35rem
    }
}

@media screen and (max-width: 749px) {
    .home-trouble .bt {
        width: 2.97rem;
        height: .8rem;
        font-size: .2rem;
        bottom: -.4rem;
        border-radius: .4rem;
        text-align: center
    }

    .home-trouble .bt .ib {
        width: 100%;
        display: block
    }
}

.home-trouble .bt a {
    width: 100%;
    height: 100%;
    color: #ffffff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.home-trouble .trouble-list {
    font-family: fot-tsukubrdgothic-std, sans-serif;
    font-weight: 700;
    font-style: normal
}

.home-trouble .trouble .box {
    margin: 0 auto;
    background-size: 100% auto;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    -webkit-text-orientation: upright;
    text-orientation: upright;
    color: #ffffff;
    line-height: 1.56;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    letter-spacing: -.03em
}

@media print, screen and (min-width: 750px) {
    .home-trouble .trouble .box {
        width: 1.94rem;
        height: 2.54rem;
        padding-top: .64rem;
        font-size: .2rem
    }
}

@media screen and (max-width: 749px) {
    .home-trouble .trouble .box {
        width: 1.78rem;
        height: 2.32rem;
        padding-top: .56rem;
        font-size: .187rem
    }
}

.home-trouble .trouble .box span {
    display: block
}

.home-trouble .trouble.cl01 .box {
    background-image: url("../svg/board01.svg")
}

.home-trouble .trouble.cl02 .box {
    background-image: url("../svg/board02.svg")
}

.home-trouble .trouble.cl03 .box {
    background-image: url("../svg/board03.svg")
}

.home-trouble .trouble.cl04 .box {
    background-image: url("../svg/board04.svg")
}

.home-trouble .trouble.cl05 .box {
    background-image: url("../svg/board05.svg")
}

.home-nav {
    background: #eaeaea;
    margin-bottom: .8rem
}

@media print, screen and (min-width: 750px) {
    .home-nav {
        margin-top: .95rem;
        padding: .5rem 0 .2rem
    }
}

@media screen and (max-width: 749px) {
    .home-nav {
        margin-top: .88rem;
        padding: .38rem 0 .18rem
    }
}

.home-nav .home-nav-list {
    max-width: 13.66rem;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.home-nav .home-nav-list .prev, .home-nav .home-nav-list .next {
    display: block;
    position: absolute;
    top: 50%;
    transition: 0, -50%
}

@media print, screen and (min-width: 750px) {
    .home-nav .home-nav-list li {
        margin-left: .3rem;
        margin-bottom: .3rem;
        width: calc(20% - .36rem);
        background: #f5f5f5;
        border: 1px solid #cdcdcd
    }
}

@media screen and (max-width: 749px) {
    .home-nav .home-nav-list li {
        margin-left: .15rem;
        margin-bottom: .15rem;
        width: calc(50% - .226rem)
    }
}

.home-nav .home-nav-list li div {
    min-height: .65rem
}

@media print, screen and (min-width: 750px) {
    .home-nav .home-nav-list li div {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex
    }

    .home-nav .home-nav-list li div span {
        min-height: .65rem
    }
}

.home-nav .home-nav-list li div span {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center;
    font-size: .14rem
}

.home-nav .home-nav-list li .icon {
    background: #666166
}

@media print, screen and (min-width: 750px) {
    .home-nav .home-nav-list li .icon {
        width: .8rem
    }
}

@media screen and (max-width: 749px) {
    .home-nav .home-nav-list li .icon {
        width: 100%;
        height: 1rem;
        margin-bottom: .13rem
    }
}

.home-nav .home-nav-list li .icon01 {
    background-color: #A42F2E
}

.home-nav .home-nav-list li .icon02 {
    background-color: #baafa8
}

@media print, screen and (min-width: 750px) {
    .home-nav .home-nav-list li .tt {
        width: calc(100% - .8rem)
    }
}

@media screen and (max-width: 749px) {
    .home-nav .home-nav-list li .tt br {
        display: none
    }
}

@media print, screen and (min-width: 750px) {
    .home-foot .head .box02 .tx {
        max-width: calc(100% - 1rem)
    }
}

.gnav-li li .sub-menu {
    opacity: 0;
    -webkit-transition-delay: 0;
    transition-delay: 0
}

.gnav-li > li:hover .sub-menu {
    -webkit-transition-delay: .5s;
    transition-delay: .5s;
    opacity: 1
}

.trouble-list {
    display: none
}

.trouble-list.slick-initialized {
    display: block
}

.post-block {
    margin-bottom: 1rem
}

.post-block .post-eyecatch {
    margin: 0 0 .24rem;
    text-align: center
}

.post-block .post-area {
    margin-bottom: .4rem;
    font-size: .16rem
}

.post-block .post-area p + p {
    margin-top: 1em
}

.post-block .post-area img {
    margin: 2em 0
}

.post-block .post-nav {
    padding-top: .24rem;
    border-top: 1px solid #C9CACA
}

.post-block .post-nav .pn-list {
    padding: 0 .22rem;
    font-size: .16rem
}

.post-block .post-nav .pn-list li {
    width: 1.16rem;
    line-height: 1
}

.post-block .post-nav .pn-list li span {
    margin: 0 .06rem
}

.post-block .post-nav .pn-list li a {
    color: #002063;
    position: relative;
    display: block
}

.post-block .post-nav .pn-list li a::before {
    width: .16rem;
    height: .16rem;
    background: url("svg/i-arrow02.svg");
    background-size: 100% auto;
    position: absolute;
    display: block;
    content: ''
}

.post-block .post-nav .pn-list li.prev {
    float: left
}

.post-block .post-nav .pn-list li.prev a {
    padding: 0 0 0 .24rem
}

.post-block .post-nav .pn-list li.prev a::before {
    -webkit-transform: scale(-1, 1);
    transform: scale(-1, 1);
    left: 0
}

.post-block .post-nav .pn-list li.next {
    float: right;
    text-align: right
}

.post-block .post-nav .pn-list li.next a {
    padding: 0 .24rem 0 0
}

.post-block .post-nav .pn-list li.next a::before {
    right: 0
}

.post-block .post-nav .pn-list .prev img {
    -webkit-transform: scale(-1, 1);
    transform: scale(-1, 1)
}

.information-list .item {
    margin-bottom: .28rem;
    padding-bottom: .25rem;
    border-bottom: 1px dashed #6E6E6E;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -ms-flex-line-pack: start;
    align-content: flex-start;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.information-list .item .image {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
    width: 1.8rem;
    height: 1.2rem;
    position: relative;
    overflow: hidden
}

.information-list .item .image img {
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: absolute;
    display: block
}

.information-list .item .info {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    width: 6.72rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
}

.information-list .item .info h3 {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    color: #002063;
    margin-top: .12rem;
    font-size: .18rem;
    line-height: 1.3
}

.information-list .item .info p {
    -webkit-box-ordinal-group: 4;
    -ms-flex-order: 3;
    order: 3;
    margin-top: .12rem
}

.post-info {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    font-size: .14rem
}

.post-info li {
    margin-right: .15rem
}

.post-info .cate {
    color: #fff;
    width: 1.08rem;
    padding: .05rem 0;
    text-align: center;
    display: block
}

.post-info time {
    padding: .05rem 0;
    display: block;
    color: #646464
}

@media screen and (max-width: 749px) {
    .post-info {
        margin-top: -.02rem
    }

    .post-info li {
        margin-top: .02rem
    }
}

@media print, screen and (min-width: 750px) {
    .list-page-nav {
        padding-top: .4rem;
        margin-bottom: 1rem
    }
}

@media screen and (max-width: 749px) {
    .list-page-nav {
        padding-top: .2rem;
        margin-bottom: .5rem
    }
}

.list-page-nav ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-line-pack: center;
    align-content: center;
    line-height: 1
}

.list-page-nav ul li {
    font-weight: bold;
    margin: 0 .1rem
}

.list-page-nav ul li img {
    width: .18rem;
    height: .18rem
}

.list-page-nav ul li a {
    color: #002063
}

.list-page-nav ul .prev {
    -webkit-transform: scale(-1, 1);
    transform: scale(-1, 1)
}

@media screen and (max-width: 749px) {
    .information-block {
        padding: 0 .14rem
    }

    .information-list .item {
        margin-bottom: .22rem;
        padding-bottom: .2rem
    }

    .information-list .item .image {
        width: 1.12rem;
        height: .74666rem
    }

    .information-list .item .info {
        width: 66vw;
        margin-left: .2rem
    }

    .information-list .item .info h3 {
        margin-top: .08rem;
        font-size: .16rem
    }

    .information-list .item .info p {
        display: none
    }
}

.faq-box .faq-accordion .faq-main {
    border: none;
    margin-bottom: 0;
    background: none;
    padding: 0;
    max-width: 1024px;
    margin: 0 auto
}

.faq-box .faq-accordion .faq-main + .faq-main {
    margin-top: 24px
}

.faq-box .faq-accordion .faq-main .faq-title {
    color: #fff;
    background: #002063;
    padding: 16px 24px !important
}

.faq-box .faq-accordion .faq-main .faq-title h4::before {
    content: 'QUESTION |';
    font-size: 20px;
    position: relative;
    display: inline-block;
    margin-right: 12px;
    padding-right: 14px
}

.faq-box .faq-accordion .faq-main .faq-title::after {
    width: 10px;
    height: 16px;
    content: '';
    position: absolute;
    background: url("svg/i-arrow02.svg");
    top: 50% !important;
    right: 24px !important;
    margin-top: -8px
}

.faq-box .faq-accordion .faq-main.open h4 {
    color: #ffffff
}

.faq-box .faq-accordion .faq-main.open .faq-title::after {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg)
}

.faq-box .faq-accordion .faq-main div:nth-child(2) {
    margin-top: 16px;
    background: #F5F5F5
}

.faq-box .faq-accordion .faq-main div:nth-child(2) .faq-content {
    padding: 24px !important;
    line-height: 1.8
}

.faq-box .faq-accordion .faq-main div:nth-child(2) .faq-content::before {
    content: 'ANSWER';
    margin-bottom: 20px;
    font-size: 20px;
    display: block;
    color: #002063
}

.faq-box .faq-accordion .faq-main a {
    padding-bottom: 4px;
    color: #002063;
    border-bottom: 1px dashed #002063;
    line-height: 2;
    display: block
}

.faq-box .faq-accordion .faq-main a::before {
    content: '→'
}

.faq-box {
    margin-top: 100px
}

.faq-box .faq-q {
    position: relative;
    cursor: pointer
}

.faq-box .faq-q::after {
    width: 10px;
    height: 16px;
    content: '';
    position: absolute;
    background: url("svg/i-arrow02.svg");
    top: 50%;
    right: 24px;
    margin-top: -8px
}

.faq-box .faq-q.open::after {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg)
}

.faq-box .faq-q .tt {
    font-size: 20px;
    position: relative;
    display: inline-block;
    margin-right: 12px;
    padding-right: 14px
}

.faq-box .faq-q .tt::after {
    content: '';
    width: 1px;
    height: 22px;
    background: #fff;
    display: block;
    position: absolute;
    top: -2px;
    right: 0
}

.faq-box .faq-q .text {
    font-size: 18px;
    font-weight: bold
}

.faq-box .faq-a {
    background: #F5F5F5;
    display: none;
    font-size: 14px
}

.faq-box .faq-a.open {
    display: block
}

.faq-box .faq-a .tt {
    margin-bottom: 20px;
    font-size: 20px;
    display: block;
    color: #002063
}

.faq-box .faq-a p {
    line-height: 2
}

@media screen and (max-width: 749px) {
    .faq-box .faq-accordion {
        padding: 0 6.25vw
    }

    .faq-box .faq-accordion .faq-main .faq-title {
        position: relative;
        padding: 16px 24px !important
    }

    .faq-box .faq-accordion .faq-main .faq-title h4::before {
        font-size: 16px;
        display: block;
        margin: 0 12px 8px 0;
        padding-right: 14px
    }

    .faq-box .faq-accordion .faq-main .faq-title::after {
        width: 7.5px;
        height: 12px;
        top: 50% !important;
        right: 5vw !important;
        margin-top: -6px
    }

    .faq-box .faq-accordion .faq-main div:nth-child(2) .faq-content {
        padding: 6.25vw !important
    }

    .faq-box .faq-accordion .faq-main div:nth-child(2) .faq-content::before {
        margin-bottom: 8px;
        font-size: 16px
    }

    .faq-box {
        margin-top: 80px
    }
}

.outline-block, .access-block {
    margin-bottom: 1rem
}

.access-block .h-tt02 {
    margin-bottom: .35rem
}

.access-block section {
    margin-top: -1.8rem;
    padding-top: 1.8rem
}

.js-fix .access-block section {
    margin-top: -1.8rem;
    padding-top: 1.8rem
}

@media screen and (max-width: 749px) {
    .access-block section {
        margin-top: -1rem;
        padding-top: 1rem
    }

    .js-fix .access-block section {
        margin-top: -1rem;
        padding-top: 1rem
    }
}

.access-tt {
    padding: .24rem 0 .4rem;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end
}

.access-tt .logo {
    width: 100%;
    max-width: 4.32rem;
    padding: 0 .45rem
}

.access-tt .logo img {
    width: 100%
}

@media print, screen and (min-width: 750px) {
    .access-tt .text {
        width: calc(100% - 4.32rem)
    }
}

@media screen and (max-width: 749px) {
    .access-tt .text {
        width: 100%
    }

    .access-tt .text > p {
        margin-top: .16rem;
        font-size: .14rem;
        text-align: center
    }
}

.access-tt .text .tel-support {
    margin-top: .08rem;
    text-align: center;
    background: #F5F5F5;
    padding: .13rem 0
}

.access-tt .text .tel-support ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    color: #002063;
    font-weight: bold;
    font-size: .22rem
}

.access-tt .text .tel-support li {
    text-align: center
}

@media print, screen and (min-width: 750px) {
    .access-tt .text .tel-support li + li::before {
        content: '／';
        margin-left: .5em
    }
}

.access-nav {
    margin: .5rem 0 .6rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

@media print, screen and (min-width: 750px) {
    .access-nav {
        border-left: 1px solid #ccc
    }

    .access-nav li {
        width: calc(100% / 6);
        border-right: 1px solid #ccc
    }
}

@media screen and (max-width: 749px) {
    .access-nav li {
        font-size: .14rem;
        width: calc(100% / 3);
        border-left: 1px solid #ccc
    }

    .access-nav li:nth-child(3n+1) {
        border-left: 0
    }

    .access-nav li:nth-child(n+4) {
        border-top: 1px solid #ccc
    }
}

.access-nav li a {
    padding: .12rem 0 .06rem;
    font-weight: bold;
    display: block
}

.access-nav li a:hover {
    background: #F5F5F5;
    opacity: 1
}

.access-nav li span {
    display: block;
    text-align: center
}

.access-nav li .icon {
    height: .38rem;
    margin-bottom: .08rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    -ms-flex-line-pack: end;
    align-content: flex-end
}

.access-nav li:nth-child(1) img {
    width: .26rem;
    height: .39rem
}

.access-nav li:nth-child(2) img {
    width: .27rem;
    height: .31rem
}

.access-nav li:nth-child(3) img {
    width: .3rem;
    height: .24rem
}

.access-nav li:nth-child(4) img {
    width: .23rem;
    height: .33rem
}

.access-nav li:nth-child(5) img {
    width: .31rem;
    height: .31rem
}

.access-nav li:nth-child(6) img {
    width: .3rem;
    height: .3rem
}

.train-access {
    margin-left: auto;
    width: 478px
}

.train-access ul {
    margin-bottom: 30px;
    line-height: 1.5
}

.map-tt {
    margin-top: .24rem;
    margin-bottom: .18rem;
    min-height: .5rem;
    padding-top: .1rem;
    padding-bottom: .18rem;
    border-bottom: 1px dashed #ccc;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-line-pack: start;
    align-content: flex-start;
    padding-left: .46rem;
    position: relative
}

.map-tt:first-child {
    margin-top: 0
}

.map-tt img {
    width: .27rem;
    position: absolute;
    display: block;
    left: .04rem;
    top: calc(50% - .04rem);
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%)
}

.map-tt span {
    font-weight: bold;
    color: #002063
}

@media print, screen and (min-width: 750px) {
    .map-tt span {
        font-size: .2rem
    }
}

@media screen and (max-width: 749px) {
    .map-tt span {
        font-size: .18rem
    }
}

.map-box01 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: .6rem
}

.map-box01 .text p {
    letter-spacing: 0
}

.map-box01 .text p + p {
    margin-top: 1em
}

.map-box01 .text ul {
    line-height: 1.5
}

.map-box01 .text > a {
    height: .5rem;
    line-height: .5rem;
    border: 1px solid #002063;
    border-radius: .04rem;
    color: #002063;
    font-weight: bold;
    display: block;
    text-align: center
}

.map-box01 .text > a span {
    padding-left: .28rem;
    background: url(svg/i-arrow02.svg) no-repeat;
    background-position: 0 center;
    background-size: .26rem auto;
    display: inline-block
}

@media print, screen and (min-width: 750px) {
    .map-box01 .image {
        width: 5rem;
        margin-right: .4rem
    }

    .map-box01 .text {
        width: calc(100% - 5.4rem);
        position: relative
    }

    .map-box01 .text.btm-bt {
        padding-bottom: .64rem
    }

    .map-box01 .text > a {
        width: 2.8rem;
        font-size: .22rem;
        position: absolute;
        bottom: 0;
        left: 0
    }
}

@media screen and (max-width: 749px) {
    .map-box01 .image {
        width: 100%
    }

    .map-box01 .text {
        margin-top: .32rem;
        width: 100%
    }

    .map-box01 .text > a {
        font-size: .18rem;
        margin-top: .24rem;
        width: 100%
    }
}

.map-box02 {
    margin-top: .3rem;
    margin-bottom: .6rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.map-box02 .tt {
    font-size: .2rem
}

@media print, screen and (min-width: 750px) {
    .map-box02 .inbox {
        width: 4.2rem
    }
}

.map-box02 .inbox .tt {
    margin-bottom: .15rem;
    padding: 0 0 0 .08rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.map-box02 .inbox .tt img {
    width: .24rem;
    height: .20rem
}

.map-box02 .inbox .tt span {
    font-weight: bold;
    color: #002063;
    margin-left: .5em
}

.map-box02 iframe {
    width: 100%;
    height: 4rem;
    background: #eee
}

@media screen and (max-width: 749px) {
    .map-box02 .inbox {
        width: 100%
    }

    .map-box02 .inbox:nth-child(2) {
        margin: .20rem 0 0
    }

    .map-box02 iframe {
        width: 100%;
        height: 2.4rem
    }
}

.map-train {
    margin-bottom: .6rem
}

@media print, screen and (min-width: 750px) {
    .map-train {
        padding: 0 .42rem
    }
}

.taxi-li {
    color: #002063;
    font-weight: bold;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

@media print, screen and (min-width: 750px) {
    .taxi-li {
        font-size: .2rem;
        padding-left: .24rem
    }
}

@media screen and (max-width: 749px) {
    .taxi-li {
        font-size: .18rem;
        padding-left: .2rem
    }
}

.taxi-li dt {
    clear: both;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-right: 1em
}

.taxi-li dt img {
    width: .3rem;
    height: .3rem;
    margin-right: .08rem
}

.taxi-about {
    margin-top: .2rem;
    font-size: .2rem;
    padding: .2rem .24rem;
    background: #F5F5F5
}

@media screen and (max-width: 749px) {
    .taxi-about {
        padding: .16rem .2rem;
        font-size: .16rem
    }

    .taxi-about span:nth-child(2) {
        display: inline-block;
        text-indent: -.25em
    }
}

.privacy-block {
    margin-bottom: .64rem;
    position: relative;
    line-height: 1.7
}

@media print, screen and (min-width: 750px) {
    .privacy-block {
        font-size: .2rem
    }

    .privacy-block .pp-sub {
        margin: .4rem 0 0 .5rem
    }
}

@media screen and (max-width: 749px) {
    .privacy-block {
        font-size: .16rem
    }

    .privacy-block .pp-sub {
        margin: .2rem 0 0 .16rem
    }
}

.privacy-block .p-tt02 {
    color: #002063;
    line-height: 1.15;
    padding-bottom: .12rem;
    margin-bottom: .13rem
}

.privacy-block .p-tt02::before {
    position: static;
    display: inline;
    background: transparent
}

.privacy-block .p-tt02.no01::before {
    content: '1.'
}

.privacy-block .p-tt02.no02::before {
    content: '2.'
}

.privacy-block .p-tt02.no03::before {
    content: '3.'
}

.privacy-block .p-tt02.no04::before {
    content: '4.'
}

.privacy-block .p-tt02.no05::before {
    content: '5.'
}

.privacy-block .p-tt02.no06::before {
    content: '6.'
}

.privacy-block .p-tt02.no07::before {
    content: '7.'
}

.about-top {
    text-align: center
}

@media print, screen and (min-width: 750px) {
    .about-top {
        margin-top: .72rem;
        margin-bottom: .9rem
    }
}

@media screen and (max-width: 749px) {
    .about-top {
        margin-top: .32rem;
        margin-bottom: .5rem
    }
}

.about-top .logo {
    margin-bottom: .4rem
}

.about-top .logo img {
    width: 4.48rem;
    max-width: 90%
}

.about-top .text {
    line-height: 1.75
}

@media print, screen and (min-width: 750px) {
    .about-top .text {
        font-size: .26rem
    }
}

@media screen and (max-width: 749px) {
    .about-top .text {
        font-size: .2rem;
        padding: 0 2.5%
    }
}

.idea-box {
    background: #f5f5f5
}

@media print, screen and (min-width: 750px) {
    .idea-box {
        margin: .5rem 0 1rem;
        padding: .4rem
    }

    .idea-box .inbox {
        padding: .6rem .54rem .34rem
    }
}

@media screen and (max-width: 749px) {
    .idea-box {
        margin-top: .32rem;
        margin-bottom: .64rem;
        padding: .2rem
    }

    .idea-box .inbox {
        padding: .28rem .24rem .14rem
    }
}

.idea-box .inbox {
    background: #fff
}

.idea-box .idea-tt {
    text-align: center;
    margin-bottom: .28rem;
    font-family: "Yu Mincho", "YuMincho"
}

.idea-box .idea-tt span {
    display: block
}

.idea-box .idea-tt .ja {
    font-size: .28rem;
    margin-bottom: .08rem
}

.idea-box .idea-tt .en {
    font-size: .14rem;
    color: #002063
}

.idea-box .idea-text {
    margin-bottom: .6rem;
    padding: .22rem 0;
    border: 1px solid #002063;
    border-width: 1px 0;
    text-align: center;
    font-family: "Yu Mincho", "YuMincho"
}

.idea-box .idea-text strong {
    font-weight: normal;
    letter-spacing: .06em
}

.idea-box .idea-text span {
    display: inline-block
}

@media print, screen and (min-width: 750px) {
    .idea-box .idea-text {
        font-size: .4rem
    }
}

@media screen and (max-width: 749px) {
    .idea-box .idea-text {
        font-size: .28rem
    }
}

.idea-box .idea-list {
    font-family: "Yu Mincho", "YuMincho"
}

@media print, screen and (min-width: 750px) {
    .idea-box .idea-list {
        margin-bottom: .72rem
    }
}

@media screen and (max-width: 749px) {
    .idea-box .idea-list {
        margin-bottom: .32rem
    }
}

.idea-box .idea-list li {
    font-size: .22rem;
    line-height: 1.5;
    position: relative;
    padding-left: calc(.1rem + 1em)
}

.idea-box .idea-list li + li {
    padding-top: .18rem;
    margin-top: .18rem;
    border-top: 1px dashed #231815
}

.idea-box .idea-list li::before {
    position: absolute;
    left: .1rem
}

.idea-box .idea-list li:nth-child(1)::before {
    content: '1.'
}

.idea-box .idea-list li:nth-child(2)::before {
    content: '2.'
}

.idea-box .idea-list li:nth-child(3)::before {
    content: '3.'
}

.idea-box .idea-sign {
    text-align: center;
    font-size: .14rem
}

.idea-box .idea-sign span + span {
    margin-left: 1em
}

@media screen and (max-width: 749px) {
    .idea-box .idea-sign span {
        display: inline-block
    }

    .idea-box .idea-sign span:last-child {
        margin-left: 0
    }
}

@media print, screen and (min-width: 750px) {
    .feature-list {
        margin-top: .5rem;
        margin-bottom: 1rem
    }
}

@media screen and (max-width: 749px) {
    .feature-list {
        margin-top: .32rem;
        margin-bottom: .64rem
    }
}

.feature-list li {
    border: 1px solid #C9CACA
}

.feature-list li + li {
    margin-top: .3rem
}

.feature-list .feature-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    position: relative
}

.feature-list .feature-box::after {
    content: '';
    display: block;
    position: absolute;
    right: 0;
    top: 0
}

@media print, screen and (min-width: 750px) {
    .feature-list .feature-box::after {
        width: 2.72rem;
        height: 100%
    }
}

@media screen and (max-width: 749px) {
    .feature-list .feature-box::after {
        width: 100%;
        padding-top: 66.6%
    }
}

.feature-list .feature-box:nth-child(1) .tt::before {
    content: '1'
}

.feature-list .feature-box:nth-child(1)::after {
    background: url("img/about/p-01.jpg") center center;
    background-size: cover
}

.feature-list .feature-box:nth-child(2) .tt::before {
    content: '2'
}

.feature-list .feature-box:nth-child(2)::after {
    background: url("img/about/p-02.jpg") center center;
    background-size: cover
}

.feature-list .feature-box:nth-child(3) .tt::before {
    content: '3'
}

.feature-list .feature-box:nth-child(3)::after {
    background: url("img/about/p-03.jpg") center center;
    background-size: cover
}

.feature-list .feature-box .text {
    padding: .2rem
}

@media print, screen and (min-width: 750px) {
    .feature-list .feature-box .text {
        width: calc(100% - 2.72rem)
    }

    .feature-list .feature-box .text .tt {
        padding-top: .05rem;
        font-size: .22rem
    }
}

@media screen and (max-width: 749px) {
    .feature-list .feature-box .text {
        width: 100%;
        padding-top: 75%
    }

    .feature-list .feature-box .text .tt {
        font-size: .18rem
    }
}

.feature-list .feature-box .text .tt {
    margin-bottom: .14rem;
    min-height: .66rem;
    line-height: 1.4;
    padding-left: .84rem;
    position: relative
}

.feature-list .feature-box .text .tt::before {
    width: .66rem;
    height: .66rem;
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    background: #002063;
    color: #fff;
    font-weight: bold;
    font-size: .42rem;
    line-height: .66rem;
    text-align: center
}

.feature-list .feature-box .text p {
    letter-spacing: .04em
}

.image-box {
    margin-bottom: 1.35rem
}

.image-box p {
    margin-bottom: .32rem
}

.image-box .picture {
    text-align: center
}

.page-ft-nav {
    margin-bottom: .8rem;
    padding-top: .38rem;
    border-top: 1px solid #ccc
}

@media screen and (max-width: 749px) {
    .page-ft-nav {
        display: none
    }
}

.page-ft-nav ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.page-ft-nav li {
    width: calc(100% / 3 - .15rem);
    height: .6rem
}

.page-ft-nav li + li:not(:nth-child(3n+1)) {
    margin-left: .21rem
}

.page-ft-nav li:nth-child(n+4) {
    margin-top: .18rem
}

.page-ft-nav li a {
    width: 100%;
    height: 100%;
    padding: 0 0 0 .46rem;
    color: #fff;
    background-color: #0080CC;
    background-position: .28rem center;
    display: flex;
    align-items: center;
}

.greeting-block {
    margin-bottom: .8rem
}

.greeting-top-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    position: relative
}

@media print, screen and (min-width: 750px) {
    .greeting-top-box .image {
        width: 4.25rem
    }
}

@media screen and (max-width: 749px) {
    .greeting-top-box .image {
        width: 100%
    }

    .greeting-top-box .image img {
        padding: 0 .24rem
    }
}

.greeting-top-box .image h3 {
    letter-spacing: 0;
    line-height: 1.5;
    font-weight: bold;
    color: #002063
}

@media print, screen and (min-width: 750px) {
    .greeting-top-box .image h3 {
        width: 4.25rem;
        font-size: .25rem;
        position: absolute;
        right: 0;
        top: 0
    }
}

@media screen and (max-width: 749px) {
    .greeting-top-box .image h3 {
        width: 100%;
        font-size: .2rem;
        margin-bottom: .24rem
    }
}

.greeting-top-box .image .name {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.greeting-top-box .image .name .title {
    width: 100%;
    display: block
}

.greeting-top-box .image .name .en {
    position: relative
}

@media print, screen and (min-width: 750px) {
    .greeting-top-box .image .name {
        font-size: .22rem
    }

    .greeting-top-box .image .name .title {
        margin: .26rem 0 .16rem
    }

    .greeting-top-box .image .name .ja {
        margin-right: .3rem;
        font-size: .34rem
    }

    .greeting-top-box .image .name .en {
        top: .12rem
    }
}

@media screen and (max-width: 749px) {
    .greeting-top-box .image .name {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        font-size: .18rem
    }

    .greeting-top-box .image .name .title {
        margin: .26rem 0 .12rem;
        text-align: center
    }

    .greeting-top-box .image .name .ja {
        margin-right: .24rem;
        font-size: .3rem
    }

    .greeting-top-box .image .name .en {
        top: .12rem
    }
}

.greeting-top-box .text {
    line-height: 1.722
}

@media print, screen and (min-width: 750px) {
    .greeting-top-box .text {
        width: 4.25rem;
        padding-top: 1.86rem;
        font-size: .18rem
    }
}

@media screen and (max-width: 749px) {
    .greeting-top-box .text {
        width: 100%;
        padding-top: .32rem;
        font-size: .16rem
    }
}

.title-list {
    margin-top: .46rem;
    margin-bottom: .06rem;
    padding: .16rem 0 .16rem .24rem;
    line-height: 2;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    border: 1px solid #002063;
    border-width: 2px 0
}

@media print, screen and (min-width: 750px) {
    .title-list li {
        min-width: calc(100% / 3);
        padding-right: .24rem
    }

    .title-list li .mg-cl {
        margin-right: 0
    }
}

.l-half {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

@media print, screen and (min-width: 750px) {
    .l-half .inbox:not(.all) {
        width: 4.25rem
    }
}

@media screen and (max-width: 749px) {
    .l-half .inbox:not(.all) {
        width: 100%
    }
}

.l-half .inbox:not(.all) ul, .l-half .inbox:not(.all) dl {
    line-height: 2
}

.l-half .all {
    width: 100%
}

.p-tt02.en-tx {
    margin-bottom: .3rem;
    padding-bottom: .12rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: start;
    align-content: flex-start;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start
}

.p-tt02.en-tx::before {
    width: 1.4rem
}

.p-tt02.en-tx .ja {
    font-size: .22rem
}

.p-tt02.en-tx .en {
    color: #002063;
    font-size: .14rem
}

.p-tt02.en-tx .en::before {
    content: '-';
    margin-left: 1em;
    margin-right: .5em
}

.tx-tt {
    margin-bottom: .4rem;
    color: #002063;
    font-weight: bold
}

@media print, screen and (min-width: 750px) {
    .tx-tt {
        font-size: .26rem
    }
}

@media screen and (max-width: 749px) {
    .tx-tt {
        font-size: .22rem
    }
}

.profile-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.profile-list dt {
    width: .84rem
}

.profile-list dd {
    width: calc(100% - .84rem)
}

.clinic-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    border-top: 1px solid #ccc
}

.clinic-list dt {
    padding-left: .2rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: start;
    align-content: flex-start
}

.clinic-list dt img {
    width: 3.57rem
}

.clinic-list dd {
    line-height: 1.5;
    border-bottom: 1px solid #ccc
}

@media print, screen and (min-width: 750px) {
    .clinic-list dt {
        width: 4.16rem;
        border-bottom: 1px solid #ccc
    }

    .clinic-list dt img {
        width: 3.57rem
    }

    .clinic-list dd {
        width: calc(100% - 4.16rem);
        padding: .22rem 0 .25rem
    }
}

@media screen and (max-width: 749px) {
    .clinic-list dt {
        width: 100%;
        padding: .22rem 0 0;
        text-align: center
    }

    .clinic-list dt img {
        width: 80%;
        margin: 0 auto
    }

    .clinic-list dd {
        width: 100%;
        padding: .22rem 0 .25rem
    }

    .clinic-list dd li + li {
        margin-top: .25em
    }

    .clinic-list dd span {
        display: inline-block
    }
}

.schedule-cal {
    width: 100%;
    margin-bottom: .12rem;
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch
}

.schedule-cal table {
    border-right: none;
    border-spacing: 0px;
    margin: 0 auto;
    width: 100%
}

.schedule-cal + p {
    margin-bottom: .4rem
}

.schedule-cal td, .schedule-cal th {
    height: .78rem;
    text-align: center;
    padding: .1rem 0
}

.schedule-cal thead th {
    height: .5rem
}

.schedule-cal td, .schedule-cal th {
    width: calc(100% / 8);
    height: .78rem;
    border: 1px solid #ccc
}

.schedule-cal th {
    background: #F5F5F5
}

.schedule-cal td:first-child {
    background: #F5F5F5
}

.schedule-cal .cl01 {
    background: #002063;
    color: #fff
}

.schedule-cal .cl02 {
    background: #7D4822;
    color: #fff
}

.schedule-cal .cl03 {
    background: #FFFCDB
}

.schedule-cal + .glay-box02 {
    margin-top: .36rem
}

@media screen and (max-width: 749px) {
    .schedule-cal {
        border: solid #ccc;
        border-width: 0 1px 1px 0
    }

    .schedule-cal table {
        width: 100%;
        border-spacing: 0;
        border-collapse: collapse;
        border: none
    }

    .schedule-cal tbody {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        width: auto
    }

    .schedule-cal tbody tr {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        width: 100%
    }

    .schedule-cal tbody tr th, .schedule-cal tbody tr td {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-line-pack: center;
        align-content: center;
        width: 100%;
        height: .8rem;
        vertical-align: middle;
        border-width: 1px 0 0 1px
    }
}

.leader-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.leader-box + h4 {
    margin-top: .72rem;
    padding-top: .48rem;
    border-top: 1px solid #ccc
}

.leader-box .text {
    color: #707070;
    line-height: 1.75
}

@media print, screen and (min-width: 750px) {
    .leader-box .image {
        width: 2.74rem
    }

    .leader-box .image h5 {
        margin-top: .06rem;
        font-size: .22rem;
        line-height: .36rem
    }

    .leader-box .text {
        width: 5.58rem
    }
}

@media screen and (max-width: 749px) {
    .leader-box .image {
        width: 100%;
        text-align: center;
        margin-bottom: .2rem
    }

    .leader-box .image img {
        width: 80%;
        margin-bottom: .08rem
    }

    .leader-box .image h5 {
        margin-top: .06rem;
        font-size: .18rem;
        line-height: 1.5;
        text-align: left
    }

    .leader-box .text {
        width: 100%
    }
}

.staff-block {
    margin-bottom: .8rem
}

.staff-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.staff-list img {
    -webkit-transition: .2s;
    transition: .2s
}

.staff-list a {
    display: block
}

.staff-list a:hover {
    opacity: 1
}

.staff-list a:hover img {
    opacity: .8
}

@media print, screen and (min-width: 750px) {
    .staff-list .staff {
        width: calc(25% - .4rem)
    }

    .staff-list .staff + .staff {
        margin-left: .52rem
    }

    .staff-list .staff:nth-child(4n+1) {
        margin-left: 0
    }

    .staff-list .staff:nth-child(n+5) {
        margin-top: .48rem
    }
}

@media screen and (max-width: 749px) {
    .staff-list .staff {
        width: calc(50% - .12rem)
    }

    .staff-list .staff + .staff {
        margin-left: .24rem
    }

    .staff-list .staff:nth-child(2n+1) {
        margin-left: 0
    }

    .staff-list .staff:nth-child(n+3) {
        margin-top: .2rem
    }
}

.staff-list p {
    margin-top: .12rem;
    text-align: center
}

.contact-block {
    width: 100%
}

.contact-head > p {
    margin-bottom: .4rem;
    line-height: 1.75
}

.contact-tel {
    padding: .24rem 0 .2rem;
    background: #F5F5F5;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.contact-tel .contact-tel-head h3 {
    font-size: .28rem
}

.contact-tel .contact-tel-head p {
    margin-top: .1rem;
    font-size: .2rem
}

.contact-tel .contact-tel-body {
    margin-left: .32rem
}

@media print, screen and (min-width: 750px) {
    #contact.contact-tel .contact-tel-body img {
        position: relative;
        width: .5rem;
        top:.22rem;
        margin-right: .1rem;
    }
    #contact.contact-tel a {
        font-size: .55rem;
        font-weight: bold;
    }
}


@media screen and (max-width: 749px) {
    .contact-tel .contact-tel-body img {
        width: 3rem;
        height: .32rem
    }
}

.contact-body {
    margin-top: .48rem;
    padding: .48rem 0 1rem;
    position: relative
}

.contact-body:first-child {
    margin-top: 0
}

.contact-body::before {
    content: '';
    width: 100vw;
    min-width: 100%;
    height: 100%;
    position: absolute;
    display: block;
    background: #f8f8f8;
    z-index: -1;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    top: 0
}

.form-head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-line-pack: center;
    align-content: center
}

.form-head li {
    width: calc(100% / 3 - .24rem);
    height: .60rem;
    background: #ffffff;
    color: #002063;
    font-size: .22rem;
    font-weight: bold;
    border: 1px solid #002063;
    text-align: center;
    line-height: .6rem;
    position: relative
}

.form-head li::after {
    width: 0;
    height: 0;
    border-top: .10rem solid transparent;
    border-left: .12rem solid #ffffff;
    border-bottom: .10rem solid transparent;
    content: '';
    display: block;
    position: absolute;
    right: .21rem;
    top: .18rem
}

.form-head li.now {
    background: #002063;
    color: #ffffff;
    border: 1px solid #ffffff
}

.form-head li + li {
    margin-left: .36rem
}

.form-head li:last-child::after {
    display: none
}

.form-body {
    margin-top: .40rem;
    background: #ffffff;
    padding: .44rem .44rem .60rem
}

.form-input-area {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.form-input-area + .form-input-area {
    margin-top: .32rem
}

.form-input-area dt {
    width: 2.44rem;
    padding-top: .08rem;
    font-size: .18rem;
    padding-right: .24rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
     line-height:  1.6;
}

.form-input-area dt .req {
    white-space: nowrap;
    padding: 0 .1rem;
    width: .45rem;
    height: .24rem;
    margin-top: .03rem;
    line-height: .24rem;
    margin-left: .08rem;
    background: #ff8400;
    color: #ffffff;
    font-weight: bold;
    text-align: center;
    font-size: .12rem;
    border-radius: .04rem;
    display: block;
}

.form-input-area dd {
    width: calc(100% - 2.44rem)
}

.form-input-area dd .error {
    width: 100%;
    margin-top: .08rem;
    display: block
}

.form-input-area dd input[type="text"], .form-input-area dd input[type="email"], .form-input-area dd textarea {
    width: 100%;
    background-color: #ffffff;
    border: 1px solid #ccc;
    padding: .12rem .20rem
}

.form-input-area dd input[type="text"], .form-input-area dd input[type="email"] {
    height: .50rem;
    font-size: .12rem
}

.form-input-area dd textarea {
    height: 180px;
    font-size: .12rem
}

.form-input-area dd.checkbox-input {
    max-width: 6.92rem;
    margin-bottom: .12rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.form-input-area dd .mwform-checkbox-field {
    width: 1.92rem;
    height: .30rem;
    padding-top: .08rem;
    display: block
}

.form-input-area dd .mwform-checkbox-field:nth-child(n+4) {
    margin-top: .12rem
}

.form-input-area dd .horizontal-item + .horizontal-item {
    margin-left: 0
}

.form-input-area dd .checkbox {
    display: none
}

.form-input-area dd .checkbox + span {
    padding-left: .40rem;
    position: relative
}

.form-input-area dd .checkbox + span::before {
    content: "";
    display: block;
    position: absolute;
    top: -.08rem;
    left: 0;
    width: .30rem;
    height: .30rem;
    border: 1px solid #969696
}

.form-input-area dd .checkbox:checked + span::after {
    content: "";
    display: block;
    position: absolute;
    top: -.05rem;
    left: .09rem;
    width: .11rem;
    height: .16rem;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    border-bottom: 2px solid #00A2D3;
    border-right: 2px solid #00A2D3
}

.form-input-area dd.radio-input {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    max-width: 6.92rem;
    margin-bottom: .12rem
}

.form-input-area dd .mwform-radio-field-text {
    width: 1.60rem;
    height: .30rem;
    padding-top: .08rem;
    display: block
}

.form-input-area dd .radio {
    display: none
}

.form-input-area dd .radio + span {
    padding-left: .40rem;
    position: relative;
    cursor: pointer
}

.form-input-area dd .radio + span::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: .30rem;
    height: .30rem;
    border: 1px solid #969696;
    border-radius: 50%
}

.form-input-area dd .radio:checked + span::after {
    content: "";
    display: block;
    position: absolute;
    top: .10rem;
    left: .10rem;
    width: .10rem;
    height: .10rem;
    background: #00A2D3;
    border-radius: 50%
}

.mw_wp_form_preview dd {
    padding-top: .08rem
}

.check-text {
    margin-top: .52rem;
    margin-bottom: .40rem;
    background: #F2F2F2;
    padding: .22rem .32rem;
    font-size: .16rem;
    line-height: 1.75
}

.check-text a {
    color: #00A2D3
}

.form-bt {
    width: 3.28rem;
    margin: 0 auto
}

.form-bt .bt04 {
    width: 100%;
    height: .64rem;
    background: #002063;
    color: #fff;
    font-weight: bold;
    font-size: .20rem;
    line-height: .64rem;
    border-radius: .04rem
}

.form-bt .bt04:hover {
    opacity: .8
}

@media screen and (max-width: 749px) {
    .contact-tel {
        padding: .16rem 0 .12rem;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        text-align: center
    }

    .contact-tel .contact-tel-head h3 {
        font-size: .16rem
    }

    .contact-tel .contact-tel-head p {
        margin-top: .04rem;
        font-size: .13rem
    }

    .contact-tel .contact-tel-body {
        padding: 0 6.25vw;
        margin-left: 0;
        margin-top: .08rem
    }

    .contact-tel .contact-tel-body dl {
        font-size: .28rem;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center
    }

    .contact-body {
        margin-top: .24rem;
        padding: .32rem 0
    }

    .form-head {
        margin: 0
    }

    .form-head li {
        width: calc(100% / 3 - .08rem);
        height: .48rem;
        font-size: .13rem;
        line-height: .48rem
    }

    .form-head li::after {
        border-top: .05rem solid transparent;
        border-left: .06rem solid #ffffff;
        border-bottom: .05rem solid transparent;
        right: 2.5vw;
        top: .18rem
    }

    .form-head li + li {
        margin-left: .12rem
    }

    .form-head li.now {
        padding-right: .04rem
    }

    .form-body {
        padding: .40rem 6.25vw .40rem;
        margin: .24rem 0 0
    }

    .form-input-area + .form-input-area {
        margin-top: .40rem
    }

    .form-input-area dt {
        width: 100%;
        padding-top: .04rem;
        font-size: .16rem
    }

    .form-input-area dt .req {
        margin-top: 0.01rem
    }

    .form-input-area dd {
        width: 100%
    }

    .form-input-area dd input, .form-input-area dd textarea {
        margin-top: .12rem
    }

    .form-input-area dd .mwform-checkbox-field, .form-input-area dd .mwform-radio-field {
        width: 1.92rem;
        height: .30rem;
        padding-top: .08rem;
        margin-top: .12rem;
        display: block
    }

    .form-input-area dd .horizontal-item + .horizontal-item {
        margin-left: 0
    }

    .form-input-area dd .checkbox + span {
        padding-left: .40rem
    }

    .form-input-area dd .checkbox + span::before {
        top: -.08rem;
        width: .30rem;
        height: .30rem
    }

    .form-input-area dd .checkbox:checked + span::after {
        top: -.05rem;
        left: .09rem;
        width: .11rem;
        height: .16rem
    }

    .form-input-area dd .mwform-radio-field-text {
        width: 1.60rem;
        height: .30rem;
        padding-top: .08rem
    }

    .form-input-area dd .radio + span {
        padding-left: .40rem
    }

    .form-input-area dd .radio + span::before {
        width: .30rem;
        height: .30rem
    }

    .form-input-area dd .radio:checked + span::after {
        top: .10rem;
        left: .10rem;
        width: .10rem;
        height: .10rem
    }

    .mw_wp_form_preview dd {
        padding-top: .08rem
    }

    .check-text {
        margin-top: .40rem;
        margin-bottom: .24rem;
        padding: .22rem .32rem;
        font-size: .14rem
    }

    .form-bt {
        width: 100%
    }

    .form-bt .bt04 {
        width: 100%;
        height: .64rem;
        font-size: .20rem;
        line-height: .64rem;
        border-radius: .04rem
    }
}

.form-bt .bt04, .form-bt .bt05 {
    transition: .5s !important;
    -webkit-transition: .5s !important;
    -webkit-transform: rotate(0.0001deg);
    transform: rotate(0.0001deg)
}

.mw_wp_form_input .confilm, .mw_wp_form_confirm .con-form {
    display: block
}

.mw_wp_form_input .confilm, .mw_wp_form_confirm .con-form {
    display: none
}

.mw_wp_form_confirm .form-bt {
    width: 50%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-line-pack: center;
    align-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse
}

.mw_wp_form_confirm .bt05 {
    width: 100%;
    height: .64rem;
    background: #afafaf;
    color: #fff;
    font-weight: bold;
    font-size: .20rem;
    line-height: .64rem;
    border-radius: .04rem;
    margin: 0 .20rem
}

.mw_wp_form_confirm .bt05:hover {
    opacity: 1;
    background-color: #666666
}

.form-input-area textarea, .form-input-area input {
    font-size: .16rem !important
}

@media screen and (max-width: 749px) {
    .mw_wp_form_confirm .form-bt {
        width: 100%
    }
}

@media screen and (max-width: 480px) {
    .mw_wp_form_confirm .form-bt {
        width: 100%;
        display: inline
    }

    .mw_wp_form_confirm .bt04 {
        margin: .08rem 0 .20rem;
        height: .50rem;
        line-height: .50rem
    }

    .mw_wp_form_confirm .bt05 {
        margin: 0;
        height: .50rem;
        line-height: .50rem
    }
}

.o-main-image {
    margin-bottom: 36px
}

.o-top-text {
    font-size: 18px;
    line-height: 2
}

.o-top-text span {
    display: inline-block
}

@media screen and (max-width: 749px) {
    .o-main-image {
        margin-bottom: 20px
    }

    .o-top-text {
        font-size: 14px;
        line-height: 1.5
    }
}

.inspection-head {
    margin-bottom: 80px
}

@media screen and (max-width: 749px) {
    .inspection-head {
        margin-bottom: 40px
    }
}

.u-arrow {
    padding-left: 26px;
    position: relative
}

.u-arrow::before {
    width: 10px;
    height: 16px;
    content: '';
    position: absolute;
    background: url(svg/i-arrow02.svg);
    background-size: 100% auto;
    top: 50%;
    left: 0;
    margin-top: -8px;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg)
}

@media screen and (max-width: 749px) {
    .u-arrow {
        padding-left: 20px;
        position: relative
    }
}

.inspection-list {
    position: relative;
    padding-bottom: 118px;
    margin-bottom: 82px
}

.inspection-list .text-box-body {
    background: #F5F5F5
}

.inspection-list dt {
    font-size: 20px;
    font-weight: bold
}

.inspection-list dd {
    line-height: 1.75
}

.inspection-list dd + dt {
    margin-top: 28px
}

@media screen and (max-width: 749px) {
    .inspection-list {
        position: relative;
        padding-bottom: 40px;
        margin-bottom: 40px
    }
}

.u-box-bdr::before, .inspection-list::before, .medical-check::before {
    content: '';
    width: 100vw;
    min-width: 1200px;
    height: 0;
    border-bottom: 1px dashed #231815;
    display: block;
    position: absolute;
    left: 50%;
    bottom: 0;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0)
}

@media screen and (max-width: 749px) {
    .u-box-bdr::before, .inspection-list::before, .medical-check::before {
        min-width: inherit
    }
}

.flow-block {
    margin-top: 72px;
    margin-bottom: 108px;
    border: 1px dashed #231815;
    border-width: 1px 0;
    padding: 8px 0
}

.flow-block li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    padding-top: 24px;
    padding-left: 72px;
    padding-bottom: 32px
}

.flow-block li + li {
    border-top: 1px dashed #231815
}

.flow-block li::before, .flow-block li::after {
    content: '';
    position: absolute;
    display: block
}

.flow-block li::before {
    top: 82px;
    left: 23px;
    height: calc(100% - 98px);
    border-left: 4px dotted #00A2D3
}

.flow-block li::after {
    left: 0;
    top: 24px;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: #00A2D3;
    text-align: center;
    line-height: 50px;
    font-size: 30px;
    color: #ffffff;
    content: '1'
}

.flow-block .text {
    width: calc(100% - 312px);
    min-height: 188px;
    padding-top: 8px
}

.flow-block .text h4 {
    font-size: 26px;
    margin-bottom: 32px;
    font-weight: bold
}

.flow-block .text p {
    line-height: 1.75
}

.flow-block li:nth-child(2)::after {
    content: '2'
}

.flow-block li:nth-child(3)::after {
    content: '3'
}

.flow-block li:nth-child(4)::after {
    content: '4'
}

.flow-block li:nth-child(5) {
    padding-bottom: 34px
}

.flow-block li:nth-child(5)::after {
    content: '5'
}

.flow-block .image {
    width: 262px;
    margin-left: 50px;
    padding-top: 12px
}

@media screen and (max-width: 749px) {
    .flow-block {
        margin-top: 32px;
        margin-bottom: 40px
    }

    .flow-block li {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        padding-left: 52px
    }

    .flow-block li::before {
        top: 58px;
        left: 18px;
        height: calc(100% - 74px);
        border-left: 4px dotted #00A2D3
    }

    .flow-block li::after {
        width: 40px;
        height: 40px;
        line-height: 40px;
        font-size: 24px
    }

    .flow-block li .text {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
        width: 100%;
        min-height: inherit
    }

    .flow-block li .text h4 {
        font-size: 18px;
        margin-bottom: 16px
    }

    .flow-block li .text p {
        line-height: 1.5
    }

    .flow-block li li:nth-child(5) {
        padding-bottom: 34px
    }

    .flow-block li .image {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
        width: 93.5%;
        margin-left: 0;
        padding-top: 12px
    }
}

.foot-contact-block .foot-contact-box {
    background: #F5F5F5;
    text-align: center
}

.foot-contact-block .foot-contact-box .l-inbox02, .foot-contact-block .foot-contact-box .contact-head, .foot-contact-block .foot-contact-box .inspection-block, .foot-contact-block .foot-contact-box .gynecology-block, .foot-contact-block .foot-contact-box .urology-block, .foot-contact-block .foot-contact-box .medical-plink ul, .medical-plink .foot-contact-block .foot-contact-box ul {
    padding: 36px 12px 40px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.foot-contact-block .foot-contact-box dt {
    font-size: 26px;
    margin-bottom: 12px
}

.foot-contact-block .foot-contact-box .email {
    width: 432px
}

.foot-contact-block .foot-contact-box dd a {
    font-size: 30px;
    height: 78px;
    line-height: 78px;
    background-size: 20px auto;
    background-position: 32px center;
    background-color: #00A2D3;
    border-radius: 4px
}

.foot-contact-block .tel {
    width: 512px
}

.foot-contact-block .tel .tel-no {
    font-size: 60px;
    letter-spacing: 0;
    color: #00A2D3
}

.foot-contact-block .tel .tx {
    font-size: 18px
}

@media screen and (max-width: 749px) {
    .foot-contact-block h3 > span {
        font-size: 20px;
        letter-spacing: -0.08em
    }

    .foot-contact-block h3 > span span {
        letter-spacing: 0.4em
    }

    .foot-contact-block .foot-contact-box .l-inbox02, .foot-contact-block .foot-contact-box .contact-head, .foot-contact-block .foot-contact-box .inspection-block, .foot-contact-block .foot-contact-box .gynecology-block, .foot-contact-block .foot-contact-box .urology-block, .foot-contact-block .foot-contact-box .medical-plink ul, .medical-plink .foot-contact-block .foot-contact-box ul {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        padding-left: 0;
        padding-right: 0
    }

    .foot-contact-block .foot-contact-box .l-inbox02 dt, .foot-contact-block .foot-contact-box .contact-head dt, .foot-contact-block .foot-contact-box .inspection-block dt, .foot-contact-block .foot-contact-box .gynecology-block dt, .foot-contact-block .foot-contact-box .urology-block dt, .foot-contact-block .foot-contact-box .medical-plink ul dt, .medical-plink .foot-contact-block .foot-contact-box ul dt {
        font-size: 16px;
        letter-spacing: -0.08em
    }

    .foot-contact-block .foot-contact-box .l-inbox02 .email, .foot-contact-block .foot-contact-box .contact-head .email, .foot-contact-block .foot-contact-box .inspection-block .email, .foot-contact-block .foot-contact-box .gynecology-block .email, .foot-contact-block .foot-contact-box .urology-block .email, .foot-contact-block .foot-contact-box .medical-plink ul .email, .medical-plink .foot-contact-block .foot-contact-box ul .email {
        width: 100%
    }

    .foot-contact-block .foot-contact-box .l-inbox02 dd a, .foot-contact-block .foot-contact-box .contact-head dd a, .foot-contact-block .foot-contact-box .inspection-block dd a, .foot-contact-block .foot-contact-box .gynecology-block dd a, .foot-contact-block .foot-contact-box .urology-block dd a, .foot-contact-block .foot-contact-box .medical-plink ul dd a, .medical-plink .foot-contact-block .foot-contact-box ul dd a {
        font-size: 20px;
        height: 48px;
        padding-left: 40px;
        line-height: 48px;
        background-size: 15px auto;
        background-position: 20px center
    }

    .foot-contact-block .foot-contact-box .tel {
        margin-top: 24px;
        width: 100%
    }

    .foot-contact-block .foot-contact-box .tel .tel-no {
        font-size: 32px
    }

    .foot-contact-block .foot-contact-box .tel .tx {
        font-size: 12px
    }
}

.medical-plink {
    margin-top: 56px;
    padding: 40px 0;
    background: #f2f2f2
}

.medical-plink ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-line-pack: center;
    align-content: center
}

.medical-plink ul li {
    width: calc(100% / 3 - 21.333px)
}

.medical-plink ul li + li {
    margin-left: 32px
}

.medical-plink ul li svg, .medical-plink ul li img {
    width: 40px;
    height: 40px;
    margin-right: 8px
}

.medical-plink ul li a {
    height: 80px;
    color: #ffffff;
    background: #00A2D3;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.medical-plink ul li .text {
    text-align: center
}

.medical-plink ul li .text span {
    display: block
}

.medical-plink ul li .text .ja {
    font-size: 26px
}

.medical-plink ul li .text .en {
    font-size: 20px
}

@media screen and (max-width: 749px) {
    .medical-plink {
        margin-top: 40px;
        padding: 32px 0
    }

    .medical-plink ul {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column
    }

    .medical-plink ul li {
        width: 100%
    }

    .medical-plink ul li + li {
        margin-left: 0;
        margin-top: 12px
    }

    .medical-plink ul li svg, .medical-plink ul li img {
        width: 32px;
        height: 32px;
        margin-right: 8px
    }

    .medical-plink ul li a {
        height: 64px;
        color: #ffffff;
        background: #00A2D3;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -ms-flex-line-pack: center;
        align-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center
    }

    .medical-plink ul li .text {
        text-align: center
    }

    .medical-plink ul li .text span {
        display: block
    }

    .medical-plink ul li .text .ja {
        font-size: 20px
    }

    .medical-plink ul li .text .en {
        font-size: 16px
    }
}

.l-bdr-tx-box {
    padding: 16px 0;
    font-weight: bold;
    border: 1px dashed #231815;
    border-width: 1px 0;
    text-align: center;
    line-height: 2;
    font-size: 22px
}

.l-bdr-tx-box span {
    padding: 0 .5em;
    display: inline
}

.l-bdr-tx-box .tx-bg01 {
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(253, 250, 217, 0)), color-stop(47%, rgba(253, 250, 217, 0)), color-stop(49%, rgba(253, 250, 217, 0)), color-stop(50%, #fdfad9), to(#fdfad9));
    background: linear-gradient(to bottom, rgba(253, 250, 217, 0) 0%, rgba(253, 250, 217, 0) 47%, rgba(253, 250, 217, 0) 49%, #fdfad9 50%, #fdfad9 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00fdfad9', endColorstr='#fdfad9', GradientType=0)
}

@media screen and (max-width: 749px) {
    .l-bdr-tx-box {
        padding: 12px 0;
        line-height: 1.5;
        font-size: 16px
    }
}

.medial-head-text {
    margin: 96px 0 112px;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.medial-head-text .text {
    width: 544px
}

.medial-head-text h4 {
    font-size: 26px;
    line-height: 1.56;
    margin-bottom: 44px
}

.medial-head-text h4 span {
    display: block
}

.medial-head-text p {
    line-height: 2
}

.medial-head-text .image::before {
    content: '';
    width: 100vw;
    position: absolute;
    min-width: 1200px;
    background: #F5F5F5;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    z-index: -1
}

.medial-head-text .urology-main {
    width: 420px;
    min-height: 0%
}

.medial-head-text .urology-main::before {
    height: calc(100% - 10px);
    top: 50px
}

.medial-head-text .gynecology-main {
    min-height: 0%;
    width: 457px
}

.medial-head-text .gynecology-main img:nth-child(1) {
    max-width: 388px
}

.medial-head-text .gynecology-main img:nth-child(2) {
    margin-top: 32px;
    margin-left: auto;
    display: block
}

.medial-head-text .gynecology-main::before {
    height: calc(100% - 60px);
    top: 100px
}

@media screen and (max-width: 749px) {
    .medial-head-text {
        margin: 40px 0 80px;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column
    }

    .medial-head-text .text {
        width: 100%;
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2
    }

    .medial-head-text h4 {
        font-size: 18px;
        margin-bottom: 16px
    }

    .medial-head-text p {
        line-height: 1.5
    }

    .medial-head-text .image {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
        margin-bottom: 24px
    }

    .medial-head-text .image::before {
        min-width: inherit
    }

    .medial-head-text .urology-main {
        width: 100%
    }

    .medial-head-text .urology-main::before {
        height: calc(100% - 10px);
        top: 50px
    }

    .medial-head-text .gynecology-main {
        width: 100%
    }

    .medial-head-text .gynecology-main img:nth-child(1) {
        max-width: 388px
    }

    .medial-head-text .gynecology-main img:nth-child(2) {
        margin-top: 32px
    }

    .medial-head-text .gynecology-main::before {
        height: calc(100% - 10px);
        top: 50px
    }
}

.medical-head-foot {
    margin-bottom: 80px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.medical-head-foot .image {
    width: 436px;
    margin-right: 44px;
    min-height: 0%
}

.medical-head-foot .text {
    width: calc(100% - 480px)
}

.medical-head-foot .text h4 {
    font-size: 26px;
    margin-bottom: 16px
}

.medical-head-foot .text h4 span {
    display: inline-block;
    padding-bottom: 12px
}

.medical-head-foot .text p {
    line-height: 1.75
}

.medical-text {
    font-size: 20px;
    margin-bottom: 28px
}

@media screen and (max-width: 749px) {
    .medical-head-foot {
        margin-bottom: 40px;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column
    }

    .medical-head-foot .image {
        width: 100%;
        margin-right: 0;
        margin-bottom: 24px
    }

    .medical-head-foot .text {
        width: 100%
    }

    .medical-head-foot .text h4 {
        font-size: 18px;
        margin-bottom: 16px
    }

    .medical-head-foot .text h4 span {
        padding-bottom: 12px
    }

    .medical-head-foot .text p {
        line-height: 1.75
    }

    .medical-text {
        font-size: 16px;
        margin-bottom: 20px;
        line-height: 1.5
    }
}

.medical-check {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    position: relative
}

.medical-check li {
    background: url("svg/i-check02.svg") 32px center no-repeat #F5F5F5;
    background-size: 23px 20px;
    border-radius: 8px;
    position: relative;
    font-weight: bold;
    letter-spacing: .02em
}

@media print, screen and (min-width: 750px) {
    .medical-check {
        padding-bottom: 112px;
        margin-bottom: 96px
    }

    .medical-check li {
        width: calc(50% - 12px);
        padding: 18px 24px 18px 68px;
        font-size: 20px
    }

    .medical-check li:nth-child(even) {
        margin-left: 24px
    }

    .medical-check li + li {
        margin-top: 20px
    }

    .medical-check li:nth-child(2) {
        margin-top: 0
    }
}

@media screen and (max-width: 749px) {
    .medical-check {
        padding-bottom: 40px;
        margin-bottom: 40px;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column
    }

    .medical-check + li {
        margin-top: 20px
    }

    .medical-check:nth-child(2) {
        margin-top: 0
    }

    .medical-check li {
        width: 100%;
        background-size: 16px 15px;
        background-position: 16px center;
        padding: 18px 24px 18px 40px;
        line-height: 1.5;
        font-size: 16px;
        letter-spacing: .02em
    }

    .medical-check li + li {
        margin-top: 12px
    }

    .medical-check li:nth-child(2) {
        margin-top: 12px
    }

    .urology-foot h3 > span {
        font-size: 20px;
        letter-spacing: -0.08em
    }

    .urology-foot h3 > span span {
        letter-spacing: 0.1em
    }
}

.greeting-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.greeting-box .profile {
    width: 320px;
    margin-top: -8px
}

.greeting-box .profile ul li {
    margin-top: .5em;
    font-size: 14px;
    letter-spacing: 0
}

.greeting-box .profile ul li::before {
    color: #00A2D3;
    font-size: 12px;
    line-height: 2;
    margin-bottom: 2px
}

.greeting-box .text {
    width: calc(100% - 320px);
    margin-left: 20px;
    padding: 30px;
    background: #F5F5F5
}

.greeting-box .text h4 {
    font-size: 24px;
    margin-bottom: 16px
}

.greeting-box .text p {
    font-size: 16px;
    line-height: 2
}

@media screen and (max-width: 749px) {
    .greeting-box {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column
    }

    .greeting-box .profile {
        width: 100%;
        margin-top: 0
    }

    .greeting-box .profile ul li {
        margin-top: .5em;
        line-height: 1.75
    }

    .greeting-box .profile ul li::before {
        line-height: 1.75
    }

    .greeting-box .text {
        width: 100%;
        margin-top: 24px;
        margin-left: 0;
        padding: 6.25vw
    }

    .greeting-box .text h4 {
        font-size: 18px;
        margin-bottom: 12px;
        line-height: 1.5
    }

    .greeting-box .text p {
        font-size: 14px;
        line-height: 1.75
    }
}

.disease-box {
    margin-top: 48px
}

.disease-box img {
    margin-bottom: 32px
}

.disease-box .o-h02 {
    margin-bottom: 24px
}

@media screen and (max-width: 749px) {
    .disease-box {
        margin-top: 24px
    }

    .disease-box img {
        margin-bottom: 24px
    }

    .disease-box .o-h02 {
        margin-bottom: 12px
    }
}

.column-list-box {
    height: 736px;
    margin: 146px 0;
    padding: 108px 0 120px;
    background: url("img/urology/column-bg.jpg") center center;
    background-size: cover
}

.column-list-box ul {
    width: 814px;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-line-pack: center;
    align-content: center
}

.column-list-box ul li {
    width: 184px;
    height: 180px;
    margin-top: 22px
}

.column-list-box ul li + li {
    margin-left: 22px
}

.column-list-box ul li:nth-child(5) {
    margin-left: 0
}

.column-list-box ul li a {
    width: 100%;
    height: 100%;
    border: 3px solid #00A2D3;
    border-radius: 8px;
    background: #ffffff;
    text-align: center;
    font-weight: bold;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

@media screen and (max-width: 749px) {
    .column-list-box {
        height: auto;
        margin: 40px 0;
        padding: 40px 6.25vw 32px;
        background: #F5F5F5
    }

    .column-list-box h3 > span {
        font-size: 20px;
        letter-spacing: -0.04em
    }

    .column-list-box h3 > span span {
        letter-spacing: 0.1em
    }

    .column-list-box ul {
        width: 100%;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }

    .column-list-box ul li {
        width: 40vw;
        height: 40vw;
        margin-top: 3.5vw
    }

    .column-list-box ul li + li {
        margin-left: 0
    }

    .column-list-box ul li:nth-child(5) {
        margin-left: 0
    }

    .column-list-box ul li a {
        width: 100%;
        height: 100%;
        border: 3px solid #00A2D3;
        border-radius: 8px;
        background: #ffffff;
        text-align: center;
        font-weight: bold;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -ms-flex-line-pack: center;
        align-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center
    }
}

.division-top {
    margin-bottom: .3rem
}

@media print, screen and (min-width: 750px) {
    .division-top {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex
    }

    .division-top .image {
        width: 5.8rem
    }

    .division-top .text {
        width: calc(100% - 5.8rem);
        font-size: .2rem
    }
}

@media screen and (max-width: 749px) {
    .division-top .text {
        font-size: .18rem
    }
}

.division-top .text {
    background: #C4C4C4;
    color: #fff;
    font-weight: bold;
    padding: .16rem .2rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    line-height: 1.7;
    letter-spacing: 0
}

.u-text + .h-tt02 {
    margin-top: .36rem
}

.division-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: .8rem
}

.division-list .specialty {
    text-align: center;
    border-top: 3px solid #002063
}

.division-list .specialty .inbox {
    background: #f5f5f5
}

.division-list .specialty .ja {
    font-size: .24rem;
    line-height: 1;
    display: block;
    padding-bottom: .14rem;
    margin-bottom: .1rem;
    border-bottom: 1px solid #002063
}

.division-list .specialty .en {
    color: #002063;
    font-size: .16rem;
    margin-top: .12rem;
    letter-spacing: 0;
    display: block
}

.division-list .specialty .en span {
    margin-top: .08rem;
    font-size: .12rem;
    display: block
}

@media print, screen and (min-width: 750px) {
    .division-list .specialty {
        width: calc(100% / 3 - .14rem)
    }

    .division-list .specialty .inbox {
        height: 1.4rem;
        padding: .3rem .6rem 0
    }

    .division-list .specialty:not(:nth-child(3n+1)) {
        margin-left: .21rem
    }

    .division-list .specialty:nth-child(n+4) {
        margin-top: .2rem
    }
}

@media screen and (max-width: 749px) {
    .division-list .specialty {
        width: 100%;
        font-size: .14rem
    }

    .division-list .specialty + .specialty {
        margin-top: .2rem
    }

    .division-list .specialty .inbox {
        height: 1.4rem;
        padding: .32rem .6rem 0
    }

    .division-list .specialty h3 {
        font-size: .2rem
    }
}

.page-nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: .26rem
}

.page-nav:last-child {
    border-top: 1px solid #C9CACA;
    padding-top: .54rem;
    margin-bottom: .96rem
}

.page-nav li {
    width: 100%
}

@media print, screen and (min-width: 750px) {
    .page-nav li {
        width: calc(100% / 4);
        min-height: .6rem
    }
}

@media screen and (max-width: 749px) {
    .page-nav li {
        min-height: .4rem
    }

    .page-nav li + li {
        margin-top: 1px
    }
}

.page-nav li a:after {
    width: .25rem;
    height: .25rem;
    background: url("svg/i-arrow07.svg");
    background-size: 100% auto;
    position: absolute;
    display: block;
    right: 0;
    top: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
    content: '';
}

.page-nav li a.current:after, .page-nav li a:hover:after {
    width: .25rem;
    height: .25rem;
    background: url("svg/i-arrow06.svg");
    background-size: 100% auto;
    position: absolute;
    display: block;
    content: '';
}

#Gynecology .page-nav li a:after {
    width: .25rem;
    height: .25rem;
    background: url("svg/i-arrow05.svg");
    background-size: 100% auto;
    position: absolute;
    display: block;
    top: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
    content: '';
}

#Gynecology .page-nav li a.current:after, #Gynecology .page-nav li a:hover:after {
    width: .25rem;
    height: .25rem;
    background: url("svg/i-arrow06.svg");
    background-size: 100% auto;
    position: absolute;
    display: block;
    content: '';
}

.page-nav li a {
    position: relative;
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: center;
    align-content: center;
    background: #f5f5f5;
    -webkit-transition: .25s !important;
    transition: .25s !important;
}

.page-nav li a.current, .page-nav li a:hover {
    background: #002063;
    color: #fff
}

.page-nav li a.current:hover, .page-nav li a:hover:hover {
    opacity: 1
}

.open-dl .js-cl-open {
    margin-bottom: .22rem;
    height: .5rem;
    padding-left: .55rem;
    border: 1px solid #707070;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: center;
    align-content: center;
    position: relative;
    cursor: pointer;
    font-weight: bold
}

.open-dl .js-cl-open::before {
    content: '';
    width: .22rem;
    height: .15rem;
    background: url("svg/i-open.svg") no-repeat;
    background-size: 100%;
    margin-top: -.07rem;
    top: 50%;
    left: .2rem;
    position: absolute;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg)
}

.open-dl .js-cl-open.open::before, .open-dl .js-cl-open:hover::before {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg)
}

.open-dl .open-dd {
    margin-bottom: .46rem;
    display: none;
    background: #f5f5f5;
    padding: .27rem .2rem .1rem
}

.open-dl .open-dd p {
    letter-spacing: 0rem;
    margin-bottom: .2rem;
    line-height: 1.75
}

.open-dl .open-dd p:not(:first-child) {
    margin-top: .2rem
}

.open-dl .open-dd dl {
    margin-bottom: .36rem;
    position: relative
}

.open-dl .open-dd .tt {
    margin-bottom: .16rem;
    font-size: .2rem;
    font-weight: 600;
    color: #002063;
    padding: .04rem .18rem .16rem .18rem;
    border-bottom: 1px solid #CCCCCC;
    position: relative
}

.open-dl .open-dd .tt:after {
    content: '';
    width: 36.19%;
    height: 1px;
    background: #002063;
    position: absolute;
    bottom: -1px;
    left: 0
}

.open-dl .open-dd .text {
    line-height: 1.75
}

@media screen and (max-width: 749px) {
    .open-dl .open-dd .bt {
        text-align: right;
        margin-top: 1em
    }
}

.open-dl .open-dd .bt .o-arrow-link03, .open-dl .open-dd .bt .footer-head dd li, .footer-head dd .open-dl .open-dd .bt li, .open-dl .open-dd .bt .page-ft-nav li a, .page-ft-nav li .open-dl .open-dd .bt a {
    height: .3rem;
    padding: .08rem .14rem .06rem .28rem;
    display: inline-block;
    background-color: #0080CC;
    color: #fff;
    background-position: .1rem center
}
.open-dl .open-dd .bt.pink .o-arrow-link03{
    background-color: #D85E89!important;  
}

@media print, screen and (min-width: 750px) {
    .open-dl .open-dd .bt .o-arrow-link03, .open-dl .open-dd .bt .footer-head dd li, .footer-head dd .open-dl .open-dd .bt li, .open-dl .open-dd .bt .page-ft-nav li a, .page-ft-nav li .open-dl .open-dd .bt a {
        position: absolute;
        right: 0;
        top: 0
    }
}

@media print, screen and (min-width: 750px) {
    .open-dl .img-box {
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex
    }

    .open-dl .img-box figure {
        margin: .2rem .1rem 0
    }
}

@media screen and (max-width: 749px) {
    .open-dl figure {
        margin: 0
    }

    .open-dl figure + figure {
        margin-top: .2rem
    }
}

.glay-box {
    margin-bottom: .56rem;
    padding: .32rem;
    background: #44444d;
    color: #fff;
    line-height: 2
}

@media screen and (max-width: 749px) {
    .glay-box {
        padding: .2rem
    }
}

.glay-box02 {
    margin-bottom: .4rem;
    padding: .32rem;
    background: #F5F5F5
}

@media screen and (max-width: 749px) {
    .glay-box02 {
        padding: .2rem
    }
}

.glay-box02 .att-list {
    margin-top: 0
}

.glay-box02 .att-list li a {
    color: #0080CC;
    border-bottom: 1px dashed #0080CC
}

.panel-li {
    margin: .36rem 0 .48rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

@media print, screen and (min-width: 750px) {
    .panel-li li {
        width: calc(100% / 3 - .22rem)
    }

    .panel-li li + li {
        margin-left: .33rem
    }

    .panel-li li img {
        width: 100%
    }
}

@media screen and (max-width: 749px) {
    .panel-li li + li {
        margin-top: .16rem
    }

    .panel-li li img {
        width: 60%;
        margin: 0 auto
    }
}

.panel-li li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -ms-flex-line-pack: start;
    align-content: flex-start
}

.panel-li li .tt {
    width: 100%;
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    font-size: .2rem;
    margin-bottom: 1em;
    text-align: center;
    font-weight: bold;
    color: #002063
}

.panel-li li .text {
    -webkit-box-ordinal-group: 4;
    -ms-flex-order: 3;
    order: 3;
    line-height: 1.5
}

.panel-li li img {
    margin-bottom: .32rem;
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1
}

.merit-li {
    margin: .36rem 0 .64rem
}

.merit-li li {
    border-bottom: 1px solid #002063
}

.merit-li li + li {
    margin-top: .22rem
}

@media print, screen and (min-width: 750px) {
    .merit-li li dl {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }

    .merit-li li dt {
        width: 48.18%
    }

    .merit-li li dd {
        padding-top: .05rem;
        width: calc(100% - 48.18%)
    }
}

@media screen and (max-width: 749px) {
    .merit-li li dd {
        margin: 1em 0
    }
}

.merit-li li dt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: center;
    align-content: center;
    font-size: .2rem;
    font-weight: 600;
    color: #002063;
    letter-spacing: 0
}

.merit-li li dt .no-box {
    width: .64rem;
    height: .56rem;
    margin-right: .15rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    background: #002063;
    color: #fff;
    font-weight: bold;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 .64rem;
    flex: 0 0 .64rem
}

.merit-li li dt .no-box .tx {
    width: 100%;
    text-align: center;
    font-size: .15rem
}

.merit-li li dt .no-box .no {
    font-size: .24rem
}

.merit-li li dd {
    font-size: .14rem;
    line-height: 1.5
}

.fold-li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.fold-li li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
    background: #f5f5f5
}

@media print, screen and (min-width: 750px) {
    .fold-li li {
        width: calc(100% / 4 - .09rem);
        min-height: .6rem
    }

    .fold-li li + li {
        margin-left: .115rem
    }
}

@media screen and (max-width: 749px) {
    .fold-li li {
        width: calc(100%);
        min-height: .4rem
    }

    .fold-li li + li {
        margin-top: .12rem
    }
}

.fold-li li::before {
    content: '';
    width: 0;
    height: 0;
    top: 0;
    left: 0;
    border: .07rem solid;
    border-color: #002063 transparent transparent #002063;
    position: absolute
}

.ope-step-li {
    background: #f5f5f5;
    padding: .15rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.ope-step-li li {
    padding: .1rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: center;
    align-content: center;
    position: relative;
    background: #176DA0;
    color: #fff;
    border: 1px solid #ffffff
}

.ope-step-li li:last-child:after, .ope-step-li li:last-child:before {
    display: none
}

.ope-step-li li:after, .ope-step-li li:before {
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
    z-index: 4
}

@media print, screen and (min-width: 750px) {
    .ope-step-li li:after, .ope-step-li li:before {
        left: 100%;
        top: 50%
    }
}

@media screen and (max-width: 749px) {
    .ope-step-li li:after, .ope-step-li li:before {
        top: 100%;
        left: 50%
    }
}

.ope-step-li li:after {
    border-color: rgba(136, 183, 213, 0)
}

.ope-step-li li:before {
    border-color: rgba(255, 255, 255, 0)
}

@media print, screen and (min-width: 750px) {
    .ope-step-li li {
        -ms-writing-mode: tb-rl;
        -webkit-writing-mode: vertical-rl;
        writing-mode: vertical-rl;
        width: calc(100% / 10 - .081rem);
        height: 1.93rem
    }

    .ope-step-li li + li {
        margin-left: .088rem
    }

    .ope-step-li li .ib {
        display: block
    }

    .ope-step-li li .text-combine {
        -webkit-text-combine: horizontal;
        -ms-text-combine-horizontal: all;
        text-combine-upright: all
    }

    .ope-step-li li:after {
        border-width: .1rem .16rem;
        margin-top: -.1rem;
        border-left-color: #176DA0
    }

    .ope-step-li li:before {
        border-width: .12rem .18rem;
        margin-top: -.12rem;
        border-left-color: #ffffff
    }
}

@media screen and (max-width: 749px) {
    .ope-step-li li {
        width: 100%;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center
    }

    .ope-step-li li + li {
        margin-top: .05rem
    }

    .ope-step-li li:after {
        border-width: .1rem .08rem;
        margin-left: -.08rem;
        border-top-color: #176DA0
    }

    .ope-step-li li:before {
        border-width: .12rem .1rem;
        margin-left: -.1rem;
        border-top-color: #ffffff
    }
}

.robot-box {
    background: #f5f5f5;
    padding: .16rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.robot-box .text {
    line-height: 2
}

@media print, screen and (min-width: 750px) {
    .robot-box .text {
        width: 5.96rem
    }

    .robot-box .image {
        width: calc(100% - 5.96rem);
        text-align: center
    }

    .robot-box .image img {
        width: auto;
        height: 1.66rem
    }
}

@media screen and (max-width: 749px) {
    .robot-box .image {
        margin-top: .12rem;
        width: 100%;
        text-align: center
    }

    .robot-box .image img {
        width: auto;
        height: 1.2rem
    }
}

.att-list {
    margin-top: .19rem;
    line-height: 1.5
}

.att-list li {
    padding-left: .5em;
    text-indent: -.5em
}

.att-list li a {
    color: #2043b9;
    font-weight: bold
}

.att-text {
    padding-left: .5em;
    text-indent: -.5em;
    display: block
}

.doctor-box {
    margin-bottom: .88rem
}

.doctor-box .doctor-profile {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

@media print, screen and (min-width: 750px) {
    .doctor-box {
        margin-top: -1.44rem;
        padding-top: 1.44rem
    }

    .doctor-box .text {
        width: calc(100% - 3.6rem);
        min-height: 3rem
    }

    .doctor-box .text .tt {
        padding: .32rem .28rem .26rem .35rem
    }

    .doctor-box .text .tt .title {
        font-size: .18rem
    }

    .doctor-box .text .name-box {
        margin-top: .12rem
    }

    .doctor-box .text .name-box .job {
        margin-top: .04rem;
        margin-right: .1rem
    }

    .doctor-box .text .name-box .ja {
        font-size: .32rem;
        font-weight: 500;
        margin-right: .15rem
    }

    .doctor-box .text .name-box .en {
        margin-top: .04rem
    }

    .doctor-box .text .comment {
        font-size: .21rem;
        padding: .36rem .2rem .36rem .35rem
    }

    .doctor-box .image {
        width: 3.6rem;
        overflow: hidden
    }

    .doctor-box .image img {
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        right: 0;
        margin: auto
    }
}

@media screen and (max-width: 749px) {
    .doctor-box {
        margin-top: -1rem;
        padding-top: 1rem
    }

    .doctor-box .text {
        width: 100%
    }

    .doctor-box .text .tt {
        padding: .2rem .28rem .18rem .28rem
    }

    .doctor-box .text .tt .title {
        font-size: .15rem
    }

    .doctor-box .text .name-box {
        margin-top: .08rem
    }

    .doctor-box .text .name-box .job {
        margin-top: .04rem;
        margin-right: .1rem
    }

    .doctor-box .text .name-box .ja {
        font-size: .24rem;
        font-weight: 500;
        margin-right: .15rem
    }

    .doctor-box .text .name-box .en {
        margin-top: .04rem
    }

    .doctor-box .text .comment {
        font-size: .15rem;
        padding: .2rem .28rem
    }

    .doctor-box .image {
        width: 100%
    }

    .doctor-box .image img {
        width: 100%
    }
}

.doctor-box .text {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    background: #707a90;
    color: #fff
}

#Gynecology .doctor-box .text {background: #C9C778;}

.doctor-box .text .name-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: center;
    align-content: center
}

.doctor-box .text .comment {
    border-top: 1px solid #fff;
    line-height: 1.714;
    font-weight: 500;
    letter-spacing: 0
}

.doctor-box .image {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
    position: relative
}

.doctor-box .title-list, .doctor-box .l-half {
    font-size: .14rem
}

.bdr-tt02 {
    border-bottom: 1px solid #002063;
    color: #002063;
    font-weight: bold;
    margin: .2rem 0 .16rem;
    font-size: .18rem;
    line-height: 2
}

.treat-case {
    border-top: 1px solid #cccccc;
    border-bottom: 1px solid #cccccc;
    padding: .2rem;
    margin: .2rem 0
}

.treatment-block {
    margin-top: .6rem;
    padding-top: .48rem;
    border-top: 1px solid #C9CACA;
    margin-bottom: .52rem
}

.treatment-box {
    background: #f5f5f5;
    padding: .2rem .04rem .08rem .15rem
}

.treatment-box + .treatment-box {
    margin-top: .2rem
}

.treatment-box .cycle-tt02 {
    margin-top: 0;
    font-size: .22rem;
    color: #231815;
    max-width: 70%
}

.treatment-li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.treatment-li li {
    margin-right: .11rem;
    margin-bottom: .12rem
}

.treatment-li a {
    background: #0080cc;
    color: #ffffff;
    padding: .11rem .2rem;
    display: block
}

.treatment-text p {
    margin: .2rem 0
}

.treatment-text .att {
    line-height: 2
}

.treatment-text .att span {
    font-weight: bold;
    border-bottom: 1px dashed #002063;
    color: #002063;
    display: inline !important;
    margin: 1em 0;
    padding: 0 0 .05rem
}

.section-ft-bt {
    margin-top: .4rem;
    text-align: center
}

.section-ft-bt a {
    padding: .13rem .24rem .13rem .4rem;
    display: inline-block;
    background-color: #0080cc;
    color: #ffffff;
    background-position: .2rem center;
    background-size: .1rem auto
}

@media print, screen and (min-width: 750px) {
    .section-ft-bt a {
        font-size: .23rem
    }
}

@media screen and (max-width: 749px) {
    .section-ft-bt a {
        font-size: .17rem
    }
}

@media print, screen and (min-width: 750px) {
    .outpatient-block > *:last-child {
        margin-bottom: .9rem
    }
}

@media screen and (max-width: 749px) {
    .outpatient-block > *:last-child {
        margin-bottom: .6rem
    }
}

.outpatient-block .cycle-tt02 {
    font-weight: normal
}

.outpatient-block .u-text + .att-text {
    margin-top: -1em
}

.outpatient-nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: .72rem
}

.outpatient-nav a {
    display: block
}

.outpatient-nav .tx {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

@media print, screen and (min-width: 750px) {
    .outpatient-nav .panel {
        width: calc(100% / 3 - .24rem);
        border: 1px solid #ccc
    }

    .outpatient-nav .panel + li {
        margin-left: .35rem
    }

    .outpatient-nav .panel:nth-child(3n+1) {
        margin-left: 0
    }

    .outpatient-nav .panel:nth-child(n+4) {
        margin-top: .36rem
    }

    .outpatient-nav .panel .tx {
        font-size: .18rem;
        min-height: .6rem;
        padding-left: .36rem;
        background-position: .16rem center
    }

    .outpatient-nav .panel .tx _:-ms-lang(x)::-ms-backdrop, .outpatient-nav .panel .tx {
        height: .6rem
    }
}

@media screen and (max-width: 749px) {
    .outpatient-nav .panel {
        width: calc(100% / 2 - .12rem);
        border: 1px solid #ccc
    }

    .outpatient-nav .panel + li {
        margin-left: .24rem
    }

    .outpatient-nav .panel:nth-child(2n+1) {
        margin-left: 0
    }

    .outpatient-nav .panel:nth-child(n+3) {
        margin-top: .24rem
    }

    .outpatient-nav .panel .tx {
        font-size: .14rem;
        min-height: .4rem;
        padding-left: .26rem;
        background-position: .06rem center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center
    }
}

@media print, screen and (min-width: 750px) {
    .visitation-sec + .visitation-sec {
        margin-top: 1rem
    }
}

@media screen and (max-width: 749px) {
    .visitation-sec + .visitation-sec {
        margin-top: .56rem
    }
}

.visit-time-table {
    margin-bottom: .2rem
}

.visit-time-table .inbox {
    background: url("svg/i-time.svg") 0 center no-repeat
}

.visit-time-table dl {
    font-weight: 600
}

.visit-time-table dl dt, .visit-time-table dl dd {
    display: inline-block
}

@media print, screen and (min-width: 750px) {
    .visit-time-table {
        border: .28rem solid #F5F5F5;
        padding: .28rem .44rem
    }

    .visit-time-table .inbox {
        padding-left: .8rem;
        background-size: .64rem auto
    }

    .visit-time-table dl {
        font-size: .26rem
    }

    .visit-time-table dl + dl {
        margin-top: .2rem
    }

    .visit-time-table dl dd {
        margin-left: 1.5em
    }
}

@media screen and (max-width: 749px) {
    .visit-time-table {
        border: .12rem solid #F5F5F5;
        padding: .16rem .12rem
    }

    .visit-time-table .inbox {
        padding-left: .4rem;
        background-size: .32rem auto
    }

    .visit-time-table dl {
        font-size: .16rem
    }

    .visit-time-table dl + dl {
        margin-top: .06rem
    }

    .visit-time-table dl dt, .visit-time-table dl dd {
        letter-spacing: 0
    }

    .visit-time-table dl dd {
        margin-left: .5em
    }
}

.visit-time-table02 {
    margin-bottom: .2rem
}

.visit-time-table02 .inbox {
    background: url("svg/i-time.svg") 0 center no-repeat
}

.visit-time-table02 dl {
    text-align: right;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.visit-time-table02 dl dt, .visit-time-table02 dl dd {
    letter-spacing: 0
}

.visit-time-table02 dl dt, .visit-time-table02 dl .time {
    font-weight: 600
}

.visit-time-table02 dl span {
    display: block
}

.visit-time-table02 dl .time {
    width: 8em
}

.visit-time-table02 dl .time02 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.visit-time-table02 dl .time02 span:first-child {
    margin-left: .5em
}

.visit-time-table02 dl .time02 span:last-child {
    width: 9em
}

@media print, screen and (min-width: 750px) {
    .visit-time-table02 {
        border: .28rem solid #F5F5F5;
        padding: .28rem .44rem
    }

    .visit-time-table02 .inbox {
        padding-left: .8rem;
        background-size: .64rem auto
    }

    .visit-time-table02 dl {
        font-size: .26rem
    }

    .visit-time-table02 dl + dl {
        margin-top: .16rem
    }

    .visit-time-table02 dd {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex
    }

    .visit-time-table02 .att {
        margin-top: .16rem;
        padding-left: .8rem
    }
}

@media screen and (max-width: 749px) {
    .visit-time-table02 {
        border: .12rem solid #F5F5F5;
        padding: .16rem .12rem
    }

    .visit-time-table02 .inbox {
        padding-left: .4rem;
        background-size: .32rem auto
    }

    .visit-time-table02 dl {
        font-size: .16rem
    }

    .visit-time-table02 dl + dl {
        margin-top: .06rem
    }

    .visit-time-table02 dl dd > span {
        display: block
    }

    .visit-time-table02 dl dd .time02 {
        margin-top: .04rem;
        font-size: .14rem
    }

    .visit-time-table02 .att {
        margin-top: .06rem;
        padding-left: .4rem;
        font-size: .14rem
    }
}

.clinic-flow-block .tab-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    border-bottom: 1px solid #ccc
}

.clinic-flow-block .tab-list li {
    width: 48.86%;
    height: .92rem;
    font-weight: 600
}

.clinic-flow-block .tab-list li .tt {
    line-height: 1;
    margin-bottom: .05rem
}

.clinic-flow-block .tab-list li .tt span {
    top: -.1em;
    position: relative
}

@media print, screen and (min-width: 750px) {
    .clinic-flow-block .tab-list li .tt {
        font-size: .26rem
    }

    .clinic-flow-block .tab-list li .tt span {
        top: -.1em
    }

    .clinic-flow-block .tab-list li .tx {
        font-size: .18rem
    }

    .clinic-flow-block .tab-list li .i-first svg {
        width: .18rem;
        height: .24rem
    }

    .clinic-flow-block .tab-list li .i-repeat svg {
        width: .24rem;
        height: .26rem
    }
}

@media screen and (max-width: 749px) {
    .clinic-flow-block .tab-list li .tt {
        font-size: .2rem
    }

    .clinic-flow-block .tab-list li .tx {
        text-align: center;
        font-size: .13rem;
        line-height: 1.34
    }

    .clinic-flow-block .tab-list li .tx span {
        display: block
    }

    .clinic-flow-block .tab-list li .i-first svg {
        width: .15rem;
        height: .21rem
    }

    .clinic-flow-block .tab-list li .i-repeat svg {
        width: .2rem;
        height: .22rem
    }
}

.clinic-flow-block .tab-list a {
    height: 100%;
    background: #002063;
    color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    position: relative
}

.clinic-flow-block .tab-list a.active {
    height: 100%;
    border: 1px solid #ccc;
    border-bottom: 0;
    background: #fff;
    color: #002063
}

.clinic-flow-block .tab-list a.active::after {
    content: '';
    width: 100%;
    height: 2px;
    background: #fff;
    top: calc(100% - 1px);
    position: absolute
}

.clinic-flow-block .tab-list a.active svg path {
    fill: #002063
}

.clinic-flow-block .tab-list a.active:hover {
    opacity: 1
}

.clinic-flow-block .tab-block {
    margin-bottom: .5rem;
    display: none;
    border: 1px solid #ccc;
    border-top-width: 0
}

.clinic-flow-block .tab-block.show {
    display: block
}

.clinic-flow-block .tab-block .p-tt02:first-child {
    margin-top: 0
}

@media print, screen and (min-width: 750px) {
    .clinic-flow-block .tab-block {
        padding: .3rem
    }
}

@media screen and (max-width: 749px) {
    .clinic-flow-block .tab-block {
        padding: .2rem .2rem .3rem
    }
}

.flow-about .image {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.flow-about .image li {
    text-align: center
}

.flow-about .image li img {
    margin-bottom: .1rem
}

.flow-about .text {
    background: #f5f5f5;
    line-height: 1.5
}

.flow-about .text dt {
    color: #002063;
    font-weight: 600;
    margin-bottom: .5em
}

.flow-about .text dd {
    font-size: .14rem;
    color: #606060
}

@media print, screen and (min-width: 750px) {
    .flow-about {
        padding: 0 .42rem;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex
    }

    .flow-about .image {
        -webkit-box-flex: 1;
        -ms-flex: 1 2 auto;
        flex: 1 2 auto
    }

    .flow-about .image li {
        width: 1.42rem;
        margin-right: .42rem
    }

    .flow-about .text {
        -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
        flex: 1 1 auto;
        padding: .17rem .22rem
    }
}

@media screen and (max-width: 749px) {
    .flow-about .image {
        margin-bottom: .16rem;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -ms-flex-line-pack: center;
        align-content: center
    }

    .flow-about .image li {
        width: .8rem
    }

    .flow-about .image li + li {
        margin-left: .2rem
    }

    .flow-about .text {
        padding: .17rem .22rem
    }
}

.clinic-flow-li li {
    position: relative;
    padding-left: .4rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    background: #F5F5F5;
    letter-spacing: .1em
}

.clinic-flow-li li:not(:last-child)::after {
    content: '';
    width: 0;
    height: 0;
    border-left: .21rem solid transparent;
    border-right: .21rem solid transparent;
    border-top: .24rem solid #176DA0;
    display: block;
    left: 50%;
    margin-left: -.21rem;
    top: 100%;
    margin-top: .06rem;
    position: absolute
}

.clinic-flow-li li + li {
    margin-top: .36rem
}

.clinic-flow-li li::before {
    width: .4rem;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: center;
    align-content: center;
    position: absolute;
    left: 0;
    top: 0;
    background: #002063;
    color: #fff;
    font-size: .28rem
}

.clinic-flow-li li:nth-child(1)::before {
    content: '1'
}

.clinic-flow-li li:nth-child(2)::before {
    content: '2'
}

.clinic-flow-li li:nth-child(3)::before {
    content: '3'
}

.clinic-flow-li li:nth-child(4)::before {
    content: '4'
}

.clinic-flow-li li:nth-child(5)::before {
    content: '5'
}

.clinic-flow-li .text {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.clinic-flow-li .text dl {
    line-height: 1.5
}

.clinic-flow-li .text dt {
    font-weight: 600;
    color: #002063;
    margin-bottom: .06rem
}

.clinic-flow-li .text dd {
    font-size: .14rem
}

.clinic-flow-li .text dd + dt {
    margin-top: 1em
}

@media print, screen and (min-width: 750px) {
    .clinic-flow-li .image {
        width: 2.6rem;
        position: relative;
        overflow: hidden;
        display: block
    }

    .clinic-flow-li .image img {
        width: auto;
        max-width: inherit;
        height: 100%;
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        display: block
    }

    .clinic-flow-li .text {
        width: calc(100% - 2.6rem);
        min-height: 1rem;
        padding: .15rem .3rem
    }
}

@media screen and (max-width: 749px) {
    .clinic-flow-li .image {
        display: none
    }

    .clinic-flow-li .text {
        width: 100%;
        min-height: .6rem;
        padding: .15rem .3rem;
        font-size: .14rem
    }
}

.guide-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.guide-box + .h-tt02 {
    margin-top: .5rem
}

.guide-box .text {
    line-height: 1.5;
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    position: relative
}

.guide-box .text .o-arrow-link03, .guide-box .text .footer-head dd li, .footer-head dd .guide-box .text li, .guide-box .text .page-ft-nav li a, .page-ft-nav li .guide-box .text a {
    background-color: #0080CC;
    color: #fff
}

.guide-box .image {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1
}

@media print, screen and (min-width: 750px) {
    .guide-box .text {
        width: calc(100% - 3.7rem);
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        padding-left: .24rem
    }

    .guide-box .text .o-arrow-link03, .guide-box .text .footer-head dd li, .footer-head dd .guide-box .text li, .guide-box .text .page-ft-nav li a, .page-ft-nav li .guide-box .text a {
        width: 2.86rem;
        padding: .15rem .22rem .13rem .4rem;
        background-position: .2rem center;
        position: absolute;
        left: .24rem;
        bottom: 0
    }

    .guide-box .image {
        width: 3.7rem
    }
}

@media screen and (max-width: 749px) {
    .guide-box .text {
        width: 100%
    }

    .guide-box .text .o-arrow-link03, .guide-box .text .footer-head dd li, .footer-head dd .guide-box .text li, .guide-box .text .page-ft-nav li a, .page-ft-nav li .guide-box .text a {
        display: inline-block;
        padding: .15rem .22rem .13rem .4rem;
        background-position: .2rem center
    }

    .guide-box .image {
        width: 100%;
        margin-bottom: .2rem
    }
}

#Second-op .h-tt02 {
    font-weight: bold
}

#Second-op .p-tt02 {
    color: #231815 !important
}

#Second-op .bk-glay {
    padding: .2rem .26rem;
    letter-spacing: 0
}

#Second-op .topic-link {
    border-bottom: 1px dashed #0080CC
}

.inspection-dl {
    padding: .16rem 0 .58rem
}

.inspection-li .text {
    padding-top: .34rem;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -ms-flex-line-pack: start;
    align-content: flex-start;
    min-height: 2rem
}

.inspection-li .text h4 {
    width: 100%;
    color: #002063;
    font-size: .2rem;
    line-height: 1.7;
    margin-bottom: .08rem;
    font-weight: 600
}

.inspection-li .text p {
    font-size: .16rem
}

.contact-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    border: .1rem solid #F5F5F5;
    margin-top: .6rem
}

@media print, screen and (min-width: 750px) {
    .contact-box {
        padding: .2rem .32rem
    }
}

@media screen and (max-width: 749px) {
    .contact-box {
        padding: .2rem 0
    }
}

.contact-box .contact-box-tt {
    width: 100%;
    text-align: center;
    margin-bottom: .16rem;
    font-weight: 600
}

@media print, screen and (min-width: 750px) {
    .contact-box .contact-box-tt {
        font-size: .22rem
    }
}

@media screen and (max-width: 749px) {
    .contact-box .contact-box-tt {
        font-size: .16rem;
        letter-spacing: 0;
        line-height: 1.34
    }

    .contact-box .contact-box-tt span {
        display: block
    }
}

.contact-box .box-tel {
    width: 100%;
    max-width: 3.72rem
}

@media screen and (max-width: 749px) {
    .contact-box .box-tel {
        margin-bottom: .2rem
    }
}

.contact-box .box-tel dt img {
    width: 100%;
    max-width: 3.38rem
}

.contact-box .box-tel dd {
    margin-top: .5em;
    font-weight: 600
}

@media print, screen and (min-width: 750px) {
    .contact-box .box-tel dd {
        font-size: .16rem
    }
}

@media screen and (max-width: 749px) {
    .contact-box .box-tel {
        padding: 0 .2rem;
        text-align: center
    }

    .contact-box .box-tel dd {
        font-size: .136rem
    }
}

.contact-box .box-mail {
    width: 100%;
    max-width: 4.18rem
}

@media screen and (max-width: 749px) {
    .contact-box .box-mail {
        padding: 0 .2rem
    }
}

.contact-box .box-mail .o-arrow-link03, .contact-box .box-mail .footer-head dd li, .footer-head dd .contact-box .box-mail li, .contact-box .box-mail .page-ft-nav li a, .page-ft-nav li .contact-box .box-mail a {
    width: 100%;
    display: inline-block;
    font-weight: 600;
    background-color: #0080CC;
    color: #fff
}

@media print, screen and (min-width: 750px) {
    .contact-box .box-mail .o-arrow-link03, .contact-box .box-mail .footer-head dd li, .footer-head dd .contact-box .box-mail li, .contact-box .box-mail .page-ft-nav li a, .page-ft-nav li .contact-box .box-mail a {
        height: .6rem;
        padding: .17rem 0 0 .78rem;
        font-size: .23rem;
        background-position: .54rem center;
        background-size: .11rem .18rem
    }
}

@media screen and (max-width: 749px) {
    .contact-box .box-mail .o-arrow-link03, .contact-box .box-mail .footer-head dd li, .footer-head dd .contact-box .box-mail li, .contact-box .box-mail .page-ft-nav li a, .page-ft-nav li .contact-box .box-mail a {
        height: .5rem;
        padding: .14rem 0 0 .48rem;
        font-size: .18rem;
        background-position: .24rem center;
        background-size: .11rem .18rem
    }
}

/* 210604 */

.form-sub-area.consul .sub-area {
    margin-top: 0;
    height: 0;
    overflow: hidden;
    max-height: 0;
    transition: .3s;
    display: block;
    opacity:0
}
.form-sub-area.consul .sub-area.open,
.form-sub-area.consul + .form-input-area {
    margin-top: .32rem;
}
.form-sub-area.consul .sub-area.open {
    height: auto;
    opacity: 1;
    overflow: auto;
}
.form-sub-area.consul .sub-area.open.confirm {
    max-height: inherit;
}
.form-sub-area.consul .sub-area .mwform-radio-field {
    width: 100% !important;
}
.form-sub-area.consul .sub-area .mwform-radio-field:nth-child(n+2) {
    margin-top: .12rem;
}
@media screen and (max-width: 749px) {
    .form-sub-area.consul .open,
    .form-sub-area.consul + .form-input-area {
        margin-top: .4rem;
    }
    .form-input-area dd .mwform-checkbox-field, .form-input-area dd .mwform-radio-field,
    .form-sub-area.consul .sub-area .mwform-radio-field {
        height: auto;
        min-height: .3rem;
    }
    .form-input-area dd .mwform-radio-field-text {
        height: auto;
        min-height: .3rem;
        line-height: 1.34 !important;
        padding-top: 0 !important;
    }
}