@charset "UTF-8";
/* CSS Document */

/*IE対策*/

.of img {
    font-family: 'object-fit: cover;';
}

/*第2階層入り口ページ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/

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

.page_link_list li {
    position: relative;
    width: 290px;
    height: 220px;
    margin-bottom: 40px;
}

.page_link_list li a {
    display: block;
}

.page_link_list li a:hover {
    opacity: 0.8;
}

.page_link_list li a img {
    width: 100%;
    height: 220px;
    object-fit: cover;
}

.page_link_list li img {
    position: relative;
    z-index: 10;
}

.page_link_list li span {
    position: absolute;
    z-index: 20;
    bottom: 0;
    display: block;
    box-sizing: border-box;
    width: 100%;
    padding: 10px 24px;
    text-decoration: none;
    color: #0073CC;
    background-color: rgba(255, 255, 255, 0.8);
    font-size: 24px;
    font-weight: bold;
}

.page_link_list li span:after {
    position: absolute;
    top: 0;
    right: 1rem;
    bottom: 0;
    width: 6px;
    height: 8px;
    margin: auto;
    content: "";
    background-image: url(../images/icon/icon_sankaku.svg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
}

@media screen and (max-width:768px) {
    .page_link_list li {
        width: 47.839%;
        height: auto;
        margin-bottom: 1rem;
    }
    .page_link_list li a img {
        width: 100%;
        height: 34.666vw;
        object-fit: cover;
    }
    .page_link_list li span {
        display: block;
        width: 100%;
        padding: 8px;
        font-size: 14px;
    }
    .page_link_list li span:after {
        right: 8px;
        width: 4px;
        height: 6px;
    }
}

/*看護部*/

.kango_rinenn{
	border-bottom: solid 1px #0073CC;
	text-align: center;
	font-size: 2rem;
	width: 80%;
	margin: 50px auto;
}
div.kango_tani{
	width: 880px;
	margin: 0 auto;
}
.kango_tani ul.f_marug{
	width: 240px;
	float: left;
}
.kango_tani ul.f_marug li{
    width: 220px;
    line-height: 36px;
    border-radius: 18px;
    background: #5FA7DF;
    font-weight: bold;
    text-align: center;
    color: #fff;
    margin: 0;
    margin-bottom: 1.5rem;
}
.kango_tani p{
	width: 540px;
	float: left;
	margin-top: 10px;
}

@media screen and (max-width:768px) {
	.kango_tani{
		width: 100%;
	}
	.kango_tani ul.f_marug{
		width: 100%;
		float: none;
	}
	.kango_tani ul{
		width: 80%;
	}
}
.kango_tani::after{
  content: "";
  display: block;
  clear: both;
}

@media screen and (max-width:768px) {
	.kango_rinenn{
		width: auto;
	}
}

/*リクルート*/

.page_link_list.rec {
    color: #fc6b6e;
    font-size: 18px;
    margin: 60px auto;
}

.page_link_list.rec li span {
    color: #fc6b6e;
    font-size: 18px;
}

.page_link_list.rec li span:after {
    background-image: url(../images/recruit/icon_sankaku_pink.svg);
}

@media screen and (min-width:769px) {
    .page_link_list.rec li {
        margin-bottom: 0;
    }
}

@media screen and (max-width:768px) {
    .page_link_list.rec {
        margin-top: 20px;
    }
    .page_link_list.rec li span {
        font-size: 4.3vw;
        line-height: 1.2em;
        padding: 0.3em;
    }
}

/*病院のご案内＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/

/*沿革*/

.history_leadcopy {
    text-align: center;
    font-size: 28px;
    line-height: 1.75em;
}

@media screen and (max-width:768px) {
    .history_leadcopy {
        font-size: 15px;
    }
}

/*理念*/

.rinen_wrap {
    text-align: center;
}

.rinen_wrap h2 {
    margin-bottom: 46px;
    padding-bottom: 36px;
    letter-spacing: 0.2em;
    color: #000;
    border-bottom: 6px solid #0073CC;
    font-family: "游明朝", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
    font-size: 42px;
}

.rinen_wrap h2 span {
    display: block;
    margin-bottom: 20px;
    letter-spacing: 0.12em;
    color: #0073CC;
    color: #0073CC;
    font-family: "游明朝", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
    font-size: 21px;
    line-height: 28.8px;
}

.rinen_wrap h3 {
    margin-bottom: 2.5rem;
    letter-spacing: 0.12em;
}

.rinen_wrap h3 span {
    font-family: "游明朝", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
    /* border-bottom: 1px solid #0073CC; */
    padding: 0 1em 0.3em;
    color: #0073CC;
    font-size: 32px;
    font-weight: 600;
}

.rinen_wrap div.text {
    margin-bottom: 76px;
    font-family: "游明朝", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
    font-size: 1.25rem;
    line-height: 1.75em;
}

@media screen and (max-width:768px) {
    .rinen_wrap h2 {
        margin-bottom: 36px;
        padding-bottom: 26px;
        border-bottom: 4px solid #0073CC;
        font-size: 28px;
    }
    .rinen_wrap h2 span {
        margin-bottom: 12px;
        font-size: 16px;
    }
    .rinen_wrap h3 {
        margin-bottom: 20px;
    }
    .rinen_wrap h3 span {
        font-size: 24px;
    }
    .rinen_wrap div.text {
        margin-bottom: 36px;
        text-align: left;
        font-size: 1rem;
    }
}

/*だより*/

.magazine_title_wrap {
    display: flex;
    align-items: center;
    justify-content: space-around;
    box-sizing: border-box;
    width: 100%;
    height: 300px;
    margin-bottom: 40px;
    border: 8px solid #bce0dc;
}

.magazine_title_wrap .text {
    width: 440px;
    height: 87px;
    font-size: 18px;
    line-height: 1.75em;
}

.magazine_title_wrap .magazine_img {
    width: 369px;
}

@media screen and (max-width:768px) {
    .magazine_title_wrap {
        display: block;
        box-sizing: border-box;
        width: auto;
        height: auto;
        margin-bottom: 40px;
        padding: 1.5rem 1rem;
        border: 6px solid #bce0dc;
    }
    .magazine_title_wrap .text {
        width: auto;
        height: auto;
        margin-bottom: 1.5rem;
        font-size: 14px;
    }
    .magazine_title_wrap .magazine_img {
        width: 234px;
        margin: 0 auto;
    }
}

/*部門紹介＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/

/*院内託児所*/

a.nursery_banner {
    display: block;
    width: 240px;
}

@media screen and (max-width:768px) {
    a.nursery_banner {
        margin: auto;
    }
}

/*リハビリテーション科*/

.rehab_yakan {
    box-sizing: border-box;
    padding: 0.8rem;
    background-color: #1535A0;
}

/*デイケア21*/

.daycare21_photo3 {
    position: relative;
    height: 410px;
}

.daycare21_photo3 .photo01 {
    position: absolute;
    top: 0;
    left: 0;
    width: 600px;
}

.daycare21_photo3 .photo02 {
    position: absolute;
    top: 0;
    right: 0;
    width: 260px;
}

.daycare21_photo3 .photo03 {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 260px;
}

@media screen and (max-width:768px) {
    .daycare21_photo3 {
        position: relative;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        height: auto;
    }
    .daycare21_photo3 .photo01 {
        position: static;
        display: block;
        width: 100%;
        height: auto;
        margin-bottom: 4%;
    }
    .daycare21_photo3 .photo02 {
        position: static;
        width: 48%;
        height: auto;
    }
    .daycare21_photo3 .photo03 {
        position: static;
        width: 48%;
        height: auto;
    }
}

/*フロー図*/

.daycare_flow .nyuyokusyokuji {
    margin-bottom: 30px;
    text-align: center;
    border-radius: 8px;
    background: #ffdbdb;
    font-weight: bold;
    line-height: 46px;
}

.daycare_flow .flex {
    display: flex;
    justify-content: space-around;
}

.daycare_flow .flex>div {
    width: 400px;
    text-align: center;
}

.daycare_flow h4 {
    margin-bottom: 1.125rem;
    color: #fff;
    border-radius: 18px;
    background: #6caacb;
    font-weight: bold;
    line-height: 36px;
}

.daycare_flow .time {
    width: 200px;
    margin: 1rem auto 0;
    color: #79572F;
    border-radius: 16px;
    background: #ffec9b;
    font-weight: bold;
    line-height: 32px;
}

.daycare_flow p {
    margin: 0.75rem auto 1rem;
    line-height: 1.75em;
}

.daycare_flow .naiyo {
    position: relative;
    margin-bottom: 2.5rem;
    text-align: center;
    color: #0073CC;
    border-radius: 8px;
    background: #bce0dc;
    font-weight: bold;
    line-height: 40px;
}

.daycare_flow .naiyo.rihab {
    color: #fff;
    background: #338FD6;
    line-height: 60px;
}

.daycare_flow .naiyo::after {
    position: absolute;
    right: 0;
    bottom: -1.5rem;
    left: 0;
    display: block;
    width: 0;
    height: 0;
    margin: auto;
    content: "";
    border-width: 12px 8px 0 8px;
    border-style: solid;
    border-color: #FFB100 transparent transparent transparent;
    border-bottom: none;
}

.daycare_flow .gozen {
    margin-right: 2rem;
}

.daycare_flow .gogo h4 {
    background: #B25757;
}

.daycare_flow .gogo .time {
    background: #FFEAEA;
}

@media screen and (max-width:768px) {
    .daycare_flow {
        width: 90%;
        margin: auto;
    }
    .daycare_flow .gozen {
        margin-right: 0;
        margin-bottom: 2rem;
    }
    .daycare_flow .flex {
        display: flex;
        flex-direction: column;
    }
    .daycare_flow h4 {
        line-height: 32px;
    }
    .daycare_flow .time {
        width: 160px;
        line-height: 26px;
    }
    .daycare_flow p {}
    .daycare_flow .naiyo {}
    .daycare_flow .naiyo.rihab {
        line-height: 56px;
    }
    .daycare_flow .flex>div {
        width: 100%;
    }
}

/*診療のご案内＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/

/*担当医スケジュール*/

.doctors .contents_box {
    margin-bottom: calc(80px - 2rem);
}

.column_doctors {
    display: flex;
    align-content: flex-start;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 880px;
    margin: auto;
}

.column_doctors::after {
    display: block;
    width: 260px;
    content: "";
}

.column_doctors .doctor_box {
    width: 415px;
    margin-bottom: 2rem;
}

.column_doctors .doctor_box h5 {
    margin: 1.2rem 0 0.878rem;
    text-align: center;
    font-size: 21px;
}

.column_doctors .doctor_box h5 span {
    font-size: 14px;
}

.column_doctors .doctor_box h6 {
    width: 80px;
    margin: auto;
    text-align: center;
    letter-spacing: 0.2em;
    color: #fff;
    border-radius: 11px;
    background: #3ab1b1;
    font-size: 14px;
    line-height: 22px;
}

.column_doctors .doctor_box p {
    margin: 13px auto;
    font-size: 14px;
    line-height: 1.5em;
}

.column_doctors .doctor_box .button_text a {
    font-size: 14px;
}

/*横*/

.column_doctors .doctor_box.yoko_box {
    display: flex;
    width: 100%;
}

.column_doctors .doctor_box.yoko_box .text_wrap {
    margin-left: 1rem;
}

.column_doctors .doctor_box.yoko_box h5 {
    margin-top: 0;
    text-align: left;
}

.column_doctors .doctor_box.yoko_box h6 {
    margin: 0;
}

@media screen and (max-width:768px) {
    .doctors .contents_box {
        margin-bottom: calc(50px - 2rem);
    }
    .column_doctors::after {
        display: none;
    }
    .column_doctors .doctor_box {
        width: 100%;
    }
    .column_doctors .doctor_box h5 {
        margin: 1rem 0 0.878rem;
        text-align: center;
        font-size: 16px;
    }
    .column_doctors .doctor_box h5 span {
        font-size: 12px;
    }
    .column_doctors .doctor_box h6 {
        width: 60px;
        border-radius: 9px;
        font-size: 12px;
        line-height: 18px;
    }
    .column_doctors .doctor_box p {
        margin: 12px auto;
        font-size: 13px;
    }
    /*横*/
    .column_doctors .doctor_box.yoko_box .img_box {
        width: 48%;
    }
    .column_doctors .doctor_box .button_text a {
        text-align: center;
    }
}

/*ボタン*/

.doctor_schedule {
    margin-bottom: 20px;
    text-align: right;
}

@media screen and (max-width:768px) {
    .doctor_schedule .button_text {
        width: 280px !important;
        max-width: 280px !important;
    }
    .doctor_schedule .button_text a {
        text-align: center;
    }
}

/*その他＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/

/*送迎バス*/

.bus_wrap .photo_main_wrap {
    margin-bottom: 30px;
}

.bus_wrap .bus_copy {
    text-align: center;
    color: #1c7164;
    font-size: 24px;
    font-weight: bold;
    line-height: 2em;
}

.bus_wrap .bus_text {
    text-align: center;
}

.bus_wrap .bus_linup {
    display: flex;
    justify-content: center;
    margin-bottom: 3rem;
}

.bus_wrap .bus_linup>div {
    display: flex;
    margin: 0 2rem;
}

.bus_wrap .bus_linup .size {
    margin-right: 1rem;
    font-size: 21px;
    font-weight: bold;
    line-height: 84px;
}

.bus_wrap .bus_linup .daisu {
    box-sizing: border-box;
    width: 84px;
    height: 84px;
    padding-top: 25px;
    text-align: center;
    color: #0073CC;
    border-radius: 42px;
    background: #e2f2f0;
    font-size: 21px;
    font-weight: bold;
    line-height: 42px;
}

.bus_wrap .bus_linup .daisu span {
    font-size: 32px;
    font-weight: bold;
}

@media screen and (max-width:768px) {
    .bus_wrap .photo_main_wrap {
        margin-bottom: 20px;
    }
    .bus_wrap .bus_copy {
        margin-bottom: 1rem !important;
        font-size: 15px;
    }
    .bus_wrap .bus_text {
        text-align: left;
    }
    .bus_wrap .bus_linup {
        display: flex;
        justify-content: center;
        margin-bottom: 2rem;
    }
    .bus_wrap .bus_linup>div {
        flex-direction: column;
        width: 50%;
        margin: 0 0.5rem;
    }
    .bus_wrap .bus_linup .size {
        margin: auto;
        font-size: 14px;
        font-weight: bold;
        line-height: 32px;
    }
    .bus_wrap .bus_linup .daisu {
        margin: auto;
    }
}

/*診療担当医*/

.doctor_wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 2rem;
}

.doctor_wrap.nowrap {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    margin-bottom: 2rem;
}

.doctor_wrap.nowrap table.doctor {
    width: 130px;
}

table.doctor {
    width: 420px;
    margin-bottom: 1rem;
}

table.doctor th, table.doctor td {
    line-height: 1.5em;
}

table.doctor th {
    text-align: center;
    font-weight: bold;
}

table.doctor thead th {
    padding: 0.2em;
    color: #fff;
    background-color: #338FD6;
    font-size: 21px;
}

table.doctor tbody tr {
    border-bottom: 1px solid #ccc;
}

table.doctor tbody tr th {
    width: 56px;
    padding: 0.3em 0;
    color: #0073CC;
    background-color: #E2F2F0;
}

table.doctor tbody tr:nth-child(2n) th {
    background-color: #BCE0DC;
}

table.doctor tbody tr td {
    padding: 0.4em 1em;
}

/*リハビリテーション*/

.rehab_wrap tbody tr td {
    text-align: center;
}

/*土曜日*/

table.doctor.saturday_2l tbody tr th {
    padding: 1.5em 0;
}

table.doctor.saturday_3l tbody tr th {
    padding: 2.7em 0.2em;
}

table.doctor.saturday_2l_s tbody tr th {
    padding: 1.3em 0;
}

/*循環器*/

.jyunkan table.doctor tbody tr td {
    padding: 0.2em 0.5em;
    text-align: center;
}

.jyunkan table.doctor.heijitsu tbody tr td {
    padding: 0.95em 0.5em;
}

table.doctor tbody tr th {
    width: 56px;
    padding: 0.3em 0;
    color: #0073CC;
    background-color: #E2F2F0;
}

@media screen and (max-width:768px) {
    table.doctor {
        width: 100%;
    }
    table.doctor thead th {
        font-size: 16px;
    }
    /*リハビリ*/
    .rehab_wrap {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap !important;
    }
    .rehab_wrap table.doctor {
        width: 48% !important;
    }
    /*循環器*/
    .jyunkan table.doctor tbody tr td, .jyunkan table.doctor.heijitsu tbody tr td {
        padding: 0.4em;
    }
}

/*手術実績*/

table.df.table_02.peformance_table tbody th {
    width: 600px;
    text-align: left;
}

table.df.table_02.peformance_table tbody td {
    text-align: center;
}

@media screen and (max-width:768px) {
    table.df.table_02.peformance_table tbody th {
        width: 70%;
    }
}

/*ニュース＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/

.news_list {
    margin: 0 auto 80px;
}

.news_list li {
    background-color: #F0F0F0;
}

.news_list li:nth-child(2n) {
    background-color: #fff;
}

.news_list li a {
    display: block;
    padding: 0.75rem 1.25rem;
    text-decoration: none;
    color: #000;
    line-height: 1.5em;
}

.news_list li a:hover {
    transition: 0.3s;
    opacity: 0.5;
}

.news_list li a span {
    display: inline-block;
    margin: 0 0.5rem;
}

.news_list li a span.date {
    color: #777;
    line-height: 1.5rem;
}

.news_list li a span.category {
    width: 4rem;
    padding: 0 0.5rem;
    text-align: center;
    color: #fff;
    border-radius: 0.2rem;
    background-color: #BF88B8;
    font-size: 0.75rem;
    font-weight: bold;
    line-height: 1.5rem;
}

.news_list li a span.category.event {
    background-color: #84B47E;
}

.news_list li a span.title {
    line-height: 1.5rem;
}

.news_list li a span.new::after {
    margin-left: 1rem;
    content: "New";
    color: #f00;
    font-family: 'Roboto', sans-serif;
    font-size: 0.9em;
    font-weight: bold;
    font-style: italic;
}

@media screen and (max-width:768px) {
    .news_list li a {
        display: block;
        padding: 0.5rem;
        text-decoration: none;
        color: #000;
        line-height: 1.5em;
    }
    .news_list li a span.date {
        font-size: 0.85rem;
    }
    .news_list li a span.category {
        padding: 0 0.25rem;
        font-size: 0.85rem;
        font-weight: bold;
        line-height: 1.25rem;
    }
    .news_list li a span.title {
        display: block;
        margin-top: 0.2rem;
        font-size: 1rem;
    }
}

.news_list_nav {
    display: flex;
    justify-content: center;
}

.news_list_nav li {
    margin: 0 0.3rem;
}

.news_list_nav li a {
    position: relative;
    display: block;
    width: 36px;
    height: 36px;
    text-align: center;
    text-decoration: none;
    color: #666666;
    border-radius: 4px;
    background-color: #F0F0F0;
    font-family: 'Roboto', sans-serif;
    line-height: 36px;
}

.news_list_nav li:first-child a {
    position: relative;
    display: block;
    width: 85px;
    height: 36px;
    text-align: center;
    text-decoration: none;
    color: #666666;
    border-radius: 4px;
    background-color: #FFFFFF;
    font-family: 'Roboto', sans-serif;
    line-height: 36px;
}

.news_list_nav li a:hover {
    transition: 0.3s;
    opacity: 0.5;
}

.news_list_nav li a.on {
    color: #fff;
    background-color: #0073CC;
}

.news_list_nav li a.rev, .news_list_nav li a.nxt{
	text-indent: -9999px;
}
.news_list_nav li a.rev::after, .news_list_nav li a.nxt::after {
    position: absolute;
    top: 0;
    bottom: 0;
    display: block;
    width: 12px;
    height: 12px;
    margin: auto;
    content: "";
    border-top: 2px solid #666;
    border-right: 2px solid #666;
}

.news_list_nav li a.rev::after {
    left: 1rem;
    box-sizing: border-box;
    transform: rotate(-135deg);
}

.news_list_nav li a.nxt::after {
    right: 1rem;
    box-sizing: border-box;
    transform: rotate(45deg);
}

/*個別記事*/

.news_content_head {
    margin-bottom: 30px;
}

.news_content_head .news_data {
    margin-bottom: 20px;
}

.news_content_head .news_data .date {
    display: inline-block;
    margin-right: 1rem;
    color: #777;
}

.news_content_head .news_data .category {
    display: inline-block;
    width: 4rem;
    padding: 0 0.5rem;
    text-align: center;
    color: #fff;
    border-radius: 0.2rem;
    background-color: #BF88B8;
    font-size: 0.75rem;
    font-weight: bold;
    line-height: 1.75em;
}

.news_content_head .news_data .category.event {
    background-color: #84B47E;
}

.news_content_head .news_title {
    font-size: 28px;
    line-height: 1.5em;
}

.news_content {
    box-sizing: border-box;
    min-height: 480px;
    padding: 2rem;
    border: 8px solid #eee;
}

@media screen and (max-width:768px) {
    .news_content_head {
        margin-bottom: 20px;
    }
    .news_content_head .news_title {
        font-size: 18px;
        line-height: 1.5em;
    }
    .news_content {
        box-sizing: border-box;
        min-height: auto;
        padding: 1rem;
        border: 4px solid #eee;
    }
}

/*お問い合わせ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/

.izentyuui {
    margin-bottom: 1.5rem;
}

.izentyuui a {
    font-size: 1em;
}

.okotowari {
    box-sizing: border-box;
    width: 100%;
    padding: 1rem;
    text-align: center;
    border-radius: 8px;
    background: #e2f2f0;
    font-weight: bold;
}

/*フロー図*/

.contact_flow {
    display: flex;
    justify-content: space-between;
    margin-bottom: 60px;
}

.contact_flow li {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30%;
    min-height: 60px;
    border-radius: 8px;
    background: #F0F0F0;
}

.contact_flow li span {
    color: #999;
    font-weight: bold;
}

.contact_flow li.on {
    background: #0073CC;
}

.contact_flow li.on span {
    color: #fff;
}

.contact_flow li::after {
    position: absolute;
    top: 0;
    right: -30px;
    bottom: 0;
    display: block;
    width: 0;
    height: 0;
    margin: auto;
    content: "";
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-left: 8px solid #999;
}

.contact_flow li:last-child::after {
    display: none;
}

@media screen and (max-width:768px) {
    .izentyuui {
        font-size: 0.85rem;
        line-height: 1.5em;
    }
    .contact_flow {
        margin-bottom: 30px;
    }
    .contact_flow li {
        width: 27vw;
        min-height: 40px;
        border-radius: 6px;
        font-size: 12px;
    }
    .contact_flow li::after {
        right: -4vw;
        margin: auto;
        border-top: 4px solid transparent;
        border-bottom: 4px solid transparent;
        border-left: 6px solid #999;
    }
}

.contact_form_wrap table.contact_form {
    width: 100%;
}

.contact_form_wrap table.contact_form th, .contact_form_wrap table.contact_form td {
    padding: 0.5rem 0;
    text-align: left;
    vertical-align: top;
}

.contact_form_wrap table.contact_form th {
    position: relative;
    width: 35%;
    padding-top: 1.35rem;
    color: #333;
}

.contact_form_wrap table.contact_form th span.hissu {
    position: absolute;
    top: 1.15rem;
    right: 2rem;
    display: inline-block;
    padding: 0.3rem 0.75rem;
    color: #fff;
    border-radius: 4px;
    background-color: #f00;
    font-size: 0.75rem;
    font-weight: bold;
    line-height: 1em;
}

.contact_form_wrap table.contact_form td p {
    margin: 0.5rem 0;
    font-size: 0.75rem;
}

@media screen and (max-width:768px) {
    .contact_form_wrap table.contact_form th, .contact_form_wrap table.contact_form td {
        display: block;
        width: 100%;
        padding: 0.5rem 0;
    }
    .contact_form_wrap table.contact_form td {
        margin-bottom: 1rem;
    }
    .contact_form_wrap table.contact_form th span.hissu {
        position: static;
        margin-left: 0.5rem;
        vertical-align: 25% font-size: 0.714rem;
    }
}

.contact_form_wrap table.contact_form input {
    box-sizing: border-box;
    width: 100%;
    max-width: 380px;
    padding: 0.5rem;
    border: 1px solid #ccc;
    border-radius: 4px;
}

.contact_form_wrap table.contact_form textarea {
    box-sizing: border-box;
    width: 100%;
    padding: 0.5rem;
    border: 1px solid #ccc;
}

/*送信ボタン*/

.contact_form_wrap .submit_wrap {
    display: flex;
    justify-content: center;
    margin: 5rem auto 0;
}

.contact_form_wrap .submit_wrap li {
    margin: 0 1rem;
}

/*送信ボタンリセット*/

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

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

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

.contact_form_wrap .submit_wrap input[type="submit"], .contact_form_wrap .submit_wrap input[type="button"] {
    position: relative;
    display: block;
    box-sizing: border-box;
    width: 320px;
    min-height: 64px;
    margin: 0 auto;
    text-decoration: none;
    color: #fff;
    border-radius: 6px;
    background-color: #0073CC;
    box-shadow: 0px 3px 0px rgba(0, 0, 0, 0.2);
    font-size: 18px;
    font-weight: bold;
}

.contact_form_wrap .submit_wrap input.gray {
    background-color: #999;
}

.contact_form_wrap .submit_wrap input:hover {
    transition: 0.3s;
    opacity: 0.8;
}

.contact_form_wrap .submit_wrap input:after {
    position: absolute;
    right: 12px;
    width: 8px;
    height: 8px;
    background-image: url(../images/icon/icon_sankaku_white.svg);
}

@media screen and (max-width:768px) {
    .contact_form_wrap .submit_wrap {
        flex-direction: column;
        margin-top: 3rem;
    }
    .contact_form_wrap .submit_wrap li {
        margin: 1rem 0;
    }
    .contact_form_wrap .submit_wrap input[type="submit"], .contact_form_wrap .submit_wrap input[type="button"] {
        width: 100%;
        min-height: 54px;
    }
}

/*ラジオボタン*/

ul.radio_wrap {
    padding-top: 0.75rem;
    display: flex;
    margin-bottom: 1rem;
}

ul.radio_wrap li {
    margin-right: 2rem;
}

ul.radio_wrap input[type="radio"] {
    display: none;
}

ul.radio_wrap li.radio label {
    display: inline-block;
    padding: 0 0 0 1.5rem;
    color: #666;
    background-image: url(../images/common/input_radio_off.png);
    background-repeat: no-repeat;
    background-size: contain;
    font-weight: bold;
}

ul.radio_wrap li.radio input[type="radio"]:checked+label {
    color: #000;
    background-image: url(../images/common/input_radio_on.png);
}

@media only screen and (min-device-pixel-ratio: 2) {
    ul.radio_wrap li.radio label {
        background-image: url(../images/common/input_radio_off@2x.png);
    }
    ul.radio_wrap li.radio input[type="radio"]:checked+label {
        background-image: url(../images/common/input_radio_on@2x.png);
    }
}

@media screen and (max-width:768px) {
    ul.radio_wrap {
        padding-top: 0;
        margin-bottom: 0;
    }
    ul.radio_wrap li.radio label {
        margin: 1rem 0;
        padding-left: 2rem;
        font-size: 1.2rem;
    }
}

/*サイトマップ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/

.sitemap_wrap {}

.sitmap_inner_01 {
    margin-bottom: 80px;
}

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

.sitemap_inner_02>div {
    width: 50%;
    margin-bottom: 80px;
}

h5.df.yajirusi_02 {
    padding-left: 2rem;
    position: relative;
    margin-bottom: 2rem;
}

h5.df.yajirusi_02 a {
    font-weight: bold;
    font-size: 21px;
    text-decoration: none;
}

h5.df.yajirusi_02::before {
    display: block;
    position: absolute;
    content: "";
    width: 1.25rem;
    height: 1.25rem;
    top: 0;
    left: 0;
    bottom: 0;
    margin: auto;
    background-position: center center;
    background-size: contain;
    background-repeat: no-repeat;
    background-image: url(../images/icon/icon_sikaku_sankaku.svg);
}

.sitmap_inner_01 .list_yoko li::before, .sitemap_inner_02 .list_maru_s li::before {
    display: block;
    position: absolute;
    content: "";
    width: 0 !important;
    height: 0 !important;
    top: 0 !important;
    left: 0 !important;
    bottom: 0 !important;
    margin: auto !important;
    border-radius: 0 !important;
    background-image: none !important;
    background-color: transparent !important;
    border-left: 0.4rem solid #0073CC;
    border-top: 0.25rem solid transparent;
    border-bottom: 0.25rem solid transparent;
}

@media screen and (max-width:768px) {
    .sitmap_inner_01 {
        margin-bottom: 2rem;
    }
    h5.df.yajirusi_02 a {
        font-weight: bold;
        font-size: 18px;
        text-decoration: none;
    }
    .sitmap_inner_01 .list_yoko, .sitemap_inner_02 {
        flex-direction: column;
    }
    .sitemap_inner_02>div {
        width: 100%;
        margin-bottom: 2rem;
    }
    .sitmap_inner_01 .list_yoko li {
        margin: 0.5rem 0;
    }
    .sitemap_inner_02 .list_maru_s li {
        margin: 1rem 0;
    }
}

/*faq＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/

h5.df.yajirusi {
    padding-left: 1rem;
    position: relative;
    cursor: pointer;
    line-height: 1.5em;
}

h5.df.yajirusi::before {
    content: "";
    display: block;
    width: 0;
    height: 0;
    position: absolute;
    top: 0.55rem;
    left: 0.2rem;
    border-left: 0.4rem solid #0073CC;
    border-top: 0.25rem solid transparent;
    border-bottom: 0.25rem solid transparent;
    transition: 0.3s;
}

h5.df.yajirusi.selected::before {
    border-left: 0.4rem solid #999;
    transform: rotate(90deg);
}

.answer_wrap {
    padding: 1.5rem 2rem;
    border: 8px solid #eee;
    line-height: 2em;
    display: none;
    margin-bottom: 3rem;
}

@media screen and (max-width:768px) {
    h5.df.yajirusi {
        margin: 1.5rem 0;
    }
    .answer_wrap {
        padding: 0.5rem 1rem;
        border: 6px solid #eee;
        line-height: 1.7em;
        margin-bottom: 2rem;
    }
}

/*トップページ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/

/*スライダー＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/

.top_slider_wrap {
    z-index: -10;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 100%;
    min-width: 1024px;
}

.top_slider_wrap li {
    display: block;
}

.top_slider_wrap li img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.top_slider_wrap li img.pc_hide {
    display: none;
}

@media screen and (max-width:768px) {
    .top_slider_wrap {
        min-width: 320px;
    }
    .top_slider_wrap li {
        height: 460px;
    }
    .top_slider_wrap li picture img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .top_slider_wrap li img.pc_hide {
        display: block;
    }
    .top_slider_wrap li img.sp_hide {
        display: none;
    }
}

/*ヘッダ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/

@media screen and (max-width:768px) {
    #glo_header.toppage {
        width: 100%;
        height: 460px;
        margin: 0;
    }
    #glo_header.toppage .logo {
        position: static;
        width: 75%;
        margin: 150px auto 15px;
    }
    #glo_header.toppage .logo a {
        display: block;
        background-color: rgba(255, 255, 255, 0.8);
        text-align: center;
        padding: 34px 0;
    }
    #glo_header.toppage .logo img {
        width: 200px;
        margin: 0 auto;
    }
    #glo_header.toppage .logo .top_copy {
        font-size: 3.4vw;
        line-height: 2em;
        font-weight: bold;
        background: rgba(0, 115, 204, 0.8);
        text-align: center;
        color: #fff;
    }
    #glo_header.toppage ul.top_headre_button_sp {
        width: 71%;
        display: flex;
        justify-content: space-between;
        margin: 0 auto;
    }
    #glo_header.toppage ul.top_headre_button_sp li {
        width: 48%;
    }
    #glo_header.toppage ul.top_headre_button_sp li a {
        display: block;
        background: rgba(0, 115, 204, 0.8);
        border-radius: 4px;
        padding: 9px 0;
        text-decoration: none;
        text-align: center;
    }
    #glo_header.toppage ul.top_headre_button_sp li a span {
        color: #fff;
        font-weight: bold;
        font-size: 13px;
    }
    #glo_header.toppage ul.top_headre_button_sp li a ul.icon {
        display: flex;
        justify-content: center;
        margin-bottom: 6px;
    }
    #glo_header.toppage ul.top_headre_button_sp li a ul.icon li {
        width: 24px;
        margin: 0 8px;
    }
    #glo_header.toppage ul.top_headre_button_sp li a ul.icon li img {
        width: 24px;
        height: 24px;
        object-fit: contain;
    }
    #glo_header.toppage ul.top_headre_button_sp li a ul.icon li.car {
        width: 40px;
    }
    #glo_header.toppage ul.top_headre_button_sp li a ul.icon li.car img {
        width: 40px;
    }
}

/*#top_contents_wrap*/

#top_contents_wrap {
    padding: 0 1rem;
    min-width: 1024px;
    box-sizing: border-box;
    padding-top: 34vw;
}

@media screen and (max-width:768px) {
    #top_contents_wrap {
        min-width: 320px;
        padding-top: 0;
        background-color: #F9F9F9;
    }
}

#top_contents_wrap .top_contents {
    max-width: 1200px;
    margin: 0 auto;
}

/*メニュー*/

.top_menu {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: 60px;
}

.top_menu li {
    width: 23%;
    margin-bottom: 2%;
}

.top_menu li a {
    display: block;
    background-color: rgba(255, 255, 255, 0.9);
    border-radius: 24px 0px;
    box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
    box-sizing: border-box;
    text-decoration: none;
    color: #000;
    padding: 0.8rem 0 1.5rem;
}

.top_menu li a:hover {
    opacity: 0.8;
}

.top_menu li a .top_menu_name {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 3.4rem;
    margin-bottom: 0.675rem;
}

.top_menu li a .top_menu_name span {
    font-size: 1.3rem;
    line-height: 1.7rem;
    text-align: center;
}

.top_menu li a .top_menu_name span em {
    font-style: normal;
    font-size: 0.7em;
}

.top_menu li a .top_menu_icon {
    width: 80px;
    height: 80px;
    margin: 0 auto;
}

.top_menu li a .top_menu_icon.touseki, .top_menu li a .top_menu_icon.rehab, {
    width: 90px;
    height: 80px;
    margin: 0 auto;
}

.top_menu li a .top_menu_icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

@media screen and (max-width:768px) {
    .top_menu {
        margin-bottom: 40px;
        padding-top: 2rem;
    }
    .top_menu li {
        width: 48%;
        margin-bottom: 3%;
    }
    .top_menu li a {
        border-radius: 18px 0px;
        padding: 0.8rem 0 1.5rem;
    }
    .top_menu li a .top_menu_name {
        display: flex;
        justify-content: center;
        align-items: center;
        height: calc(4vw * 2.4);
        margin-bottom: 0.675rem;
    }
    .top_menu li a .top_menu_name span {
        font-size: 4vw;
        line-height: 1.2em;
    }
    .top_menu li a .top_menu_icon {
        width: 72px;
        height: 72px;
    }
}

/*top_sinryo_news_wrap*/

.top_sinryo_news_wrap {}

@media screen and (max-width:768px) {
    .top_sinryo_news_wrap {}
}

/*診療時間*/

.top_sinryojikan {
    background-color: #4C9CDB;
    padding: 20px 30px;
    width: 100%;
    box-sizing: border-box;
    margin-bottom: 50px;
}

.top_sinryojikan p {
    margin: 10px 0;
    text-align: center;
    font-size: 13px;
    color: #fff;
}

.home_sinryojikan_flex h3 {
    padding: 0.5em;
    background-color: #fff;
    color: #0073CC;
    line-height: 1em;
    border-radius: 1em;
    text-align: center;
    margin-bottom: 0.8em;
}

@media screen and (min-width:769px) {
    .top_sinryojikan h2 {
        display: table;
        width: 198px;
        margin: 2.8rem 1rem 0 0;
        height: 118px;
        border: 1px solid #fff;
    }
    .top_sinryojikan h2 span {
        display: table-cell;
        vertical-align: middle;
        font-size: 21px;
        color: #fff;
        text-align: center;
        text-align: center;
        line-height: 1.5em;
    }
    .home_sinryojikan_flex {
        display: flex;
        justify-content: space-between;
    }
    .top_sinryojikan table.pc_table {
        background-color: transparent;
        border: 1px solid #fff;
    }
    .top_sinryojikan table.sp_table {
        display: none;
    }
    .top_sinryojikan table.pc_table thead tr {
        background-color: #0073CC;
    }
    .top_sinryojikan table.pc_table tbody tr {
        border-bottom-color: #fff;
    }
    .top_sinryojikan table.pc_table tbody tr:first-child {
        border-top-color: #fff;
    }
    .top_sinryojikan table.pc_table thead tr th:first-child {
        visibility: visible !important;
    }
    .top_sinryojikan table.pc_table th, .top_sinryojikan table.pc_table td {
        padding: 0.2rem !important;
        text-align: center !important;
        font-size: 14px;
        color: #fff;
        border-left: 1px solid #fff;
        background-color: transparent !important;
    }
    /* .top_sinryojikan table.pc_table tbody tr:first-child th, .top_sinryojikan table.pc_table tbody tr:first-child td {
        border-right: 1px solid #0073CC;
        color: #0073CC;
    } */
    .home_sinryojikan_flex .table_wrap {
        margin-right: 1rem;
    }
    .top_sinryojikan ul {
        margin-top: 2.8rem;
    }
    .top_sinryojikan ul li {
        margin-bottom: 20px;
    }
    .top_sinryojikan .button.btn_s {
        width: 200px;
        margin: 0;
    }
    .top_sinryojikan .btn_s a {
        padding: 14px 0;
    }
}

.top_sinryojikan .button {
    margin-top: 10px;
}

.top_sinryojikan .button a {
    border-color: #fff;
}

@media screen and (max-width:768px) {
    .top_sinryojikan h2 {
        font-size: 18px;
        color: #0073CC;
        text-align: center;
        margin-bottom: 1rem;
    }
    .top_sinryojikan {
        width: 100%;
        padding: 0;
        background-color: transparent;
        margin-bottom: 40px;
    }
    .top_sinryojikan table.pc_table, .top_sinryojikan table.sp_table {
        background-color: #fff;
        border: 1px solid #0073CC;
    }
    .top_sinryojikan table.sp_table {
        display: none;
    }
    .top_sinryojikan table.pc_table tbody tr, .top_sinryojikan table.sp_table tbody tr {
        border-bottom-color: #0073CC;
    }
    .top_sinryojikan table.pc_table tbody tr:first-child, .top_sinryojikan table.sp_table tbody tr:first-child {
        border-top-color: #0073CC;
    }
    .top_sinryojikan table.pc_table thead tr th:first-child, .top_sinryojikan table.sp_table thead tr th:first-child {
        background-color: #338FD6 !important;
        visibility: visible !important;
    }
    .top_sinryojikan table.pc_table th, .top_sinryojikan table.pc_table td, .top_sinryojikan table.sp_table th, .top_sinryojikan table.sp_table td {
        padding: 0.2rem !important;
        text-align: center !important;
        font-size: 14px;
    }
    /* .top_sinryojikan table.pc_table thead tr th:last-child {
        display: none;
    }
    .top_sinryojikan table.pc_table tr td:last-child {
        display: none;
    } */
    .top_sinryojikan table.sp_table {
        display: table;
    }
    .top_sinryojikan p {
        margin-bottom: 20px;
        font-size: 12px;
        color: #000;
    }
    .home_sinryojikan_flex h3 {
        padding: 0.5em;
        background-color: #fff;
        color: #0073CC;
        line-height: 1em;
        border-radius: 1em;
        text-align: center;
        margin-block-end: 0.8em;
    }
}

/*お知らせ*/

.top_news {
    width: 80%;
    padding: 12px 20px;
    box-sizing: border-box;
    border: 8px solid #eee;
    background-color: rgba(255, 255, 255, 0.7);
    margin: auto;
    ;
}

.top_news h2 {
    font-size: 21px;
    text-align: center;
    margin-bottom: 15px;
}

.top_news .news_list {
    margin-bottom: 0;
}

.top_news .news_list li {
    background-color: transparent !important;
}

.top_news .news_list li {
    border-bottom: 1px solid #ccc;
}

.top_news .news_list li:last-child {
    border-bottom: none;
}

.top_news .news_list li a span.date {
    line-height: 1em !important;
}

.top_news .news_list li a span.category {
    line-height: 1.2rem;
    padding: 0 0.2rem;
}

@media screen and (max-width:768px) {
    .top_news {
        width: 100%;
        padding: 0;
        border: none;
    }
    .top_news h2 {
        font-size: 18px;
    }
    .top_news .news_list li a span.date {
        width: auto;
    }
    .top_news .news_list li a span.category {
        line-height: 1.2rem;
        padding: 0 0.2rem;
    }
}

/*top footer*/

#page_wrap.toppage #glo_footer .footer_inner {
    margin-top: 100px;
}

/*scroll*/

.scroll_wrap {
    display: none;
}

@media screen and (max-width:768px) {
    /*scroll*/
    .scroll_wrap {
        display: block;
        position: absolute;
        text-align: center;
        left: 0;
        right: 0;
        bottom: 5px;
        margin: auto;
    }
    .scroll_wrap .scroll_title {
        display: block;
        width: 100%;
        margin: 0 auto;
        font-size: 12px;
    }
    .scroll_wrap .scroll_title::after {
        content: "";
        display: block;
        width: 10px;
        height: 10px;
        border-top: 2px solid #000;
        border-right: 2px solid #000;
        transform: rotate(135deg);
        margin: 0 auto;
        animation-name: scroll_allow;
        animation-duration: 1.4s;
        animation-iteration-count: infinite;
    }
    @keyframes scroll_allow {
        0% {
            margin-bottom: 8px;
        }
        50% {
            margin-bottom: 20px;
        }
        100% {
            margin-bottom: 8px;
        }
    }
}

/*お知らせ詳細*/
.news_content p{
    line-height: 1.5em;
	margin-bottom: 20px;
}
.news_content table {
	width: 100%;
    margin-bottom: 1rem;
    border-left: 1px solid #ccc;
}

.news_content table th, .news_content table td {
    line-height: 1.5em;
    border-right: 1px solid #ccc;
}

.news_content table th {
    text-align: center;
    font-weight: bold;
}

.news_content table thead th {
    padding: 0.2em;
    color: #fff;
    background-color: #4C9CDB;
    font-size: 21px;
    border-right: 1px solid #fff;
}

.news_content table tbody tr {
    border-bottom: 1px solid #ccc;
}
.news_content table tbody tr:first-child {
    border-top: 1px solid #ccc;
}

.news_content table tbody tr th {
    padding: 0.3em 0;
    color: #0073CC;
    background-color: #E5F1FA;
}

.news_content table tbody tr:nth-child(2n) th {
    background-color: #B2D5F0;;
}

.news_content table tbody tr td {
    padding: 0.4em 1em;
}
.news_content table tbody tr td p{
	line-height: 1em;
	margin-bottom: 0;
}