@charset "utf-8";
/*共通設定*/
/*終わり*/

/*<section class="notice-03">*/
.notice-03 {
	margin: 100px 0;
}

.notice-03-in {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	width: 100%;
}

.notice-03-l,
.notice-03-r {
	width: 48%;
}

.notice-list-03 {
	padding: 16px 0;
}

.notice-list-03 li {
	margin: 10px 0;
	text-align: left;
}

.notice-list-03 a {
    padding: 2px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.notice-list-03 a:hover {
	color: #2264b9;
}

.notice-list-03 .list-flex {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	align-items: center;
	justify-content: left;
}

.notice-list-03 time {
	width: 20%;
	font-size: 13px;
}

.notice-list-03 a:hover .arrow-con01::before {
	background: #2264b9;
}

.notice-list-03 a:hover .arrow-con01::after {
	border-top: 1px solid #2264b9;
	border-right: 1px solid #2264b9;
}

.notice-03-r .title:hover {
    color: #435259;
}

.notice-03-r dl {
    padding: 28px 0;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: left;
}

.notice-03-r dt {
    width: 30%;
}

.notice-03-r dd {
    width: 68%;
}

.notice-03-r dt:first-child,
.notice-03-r dd:first-child {
    margin-bottom: 24px;
}
/*終わり*/

/*<section class="doctor">*/
.doctor {
    margin-bottom: 100px;
}

.doctor-in h2 {
    margin-bottom: 24px;
}

.doctor-in .flex-con {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    width: 100%;
    margin-bottom: 24px;
}

.doctor-in a {
    width: 48%;
    text-align: center;
    background-color: #fff;
    color: #14b88d;
    border-radius: 8px;
    border: solid 2px #14b88d;
    padding: 8px;
}

.doctor-in a:hover {
    color: #fff;
    background-color: #14b88d;
}

.doctor-in .small-txt {
    font-size: 14px;
}
/*終わり*/

/*<section class="medical-info">*/
.medical-info {
    margin-bottom: 100px;
}

.medical-info .title {
    border-bottom: none;
    padding-bottom: 0;
}

.medical-info .title:hover {
    color: #14b88d;
}

.medical-info .title:hover .arrow-con02::before {
	border: 1px solid #14b88d;
}

.medical-info .title:hover .arrow-con02::after {
	border-top: 2px solid #14b88d;
	border-right: 2px solid #14b88d;
}

.medical-info .flex-con02 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 100%;
    margin-top: 24px;
}

.medical-info .flex-con02 a {
    width: 24%;
    background-color: #fff;
    color: #14b88d;
    border-radius: 8px;
    border: solid 2px #14b88d;
    padding: 8px;
    text-align: center;
    margin-bottom: 1%;
}

.medical-info .flex-con02 a:hover {
    color: #fff;
    background-color: #14b88d;
}

.medical-info .flex-con03 {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    width: 100%;
    gap: 1%;
}
/*終わり*/

/*<section class="first">*/
.first {
    margin-bottom: 80px;
}

.first h2 {
    margin-bottom: 24px;
}

.first-txt {
    max-width: 880px;
    width: 100%;
    margin: 0 auto;
    border: solid 3px #f21a41;
	display: table;
}

.first-txt h3 {
	-ms-writing-mode: tb-rl;
  	writing-mode: vertical-rl;
	background-color: #f21a41;
	display: table-cell;
	vertical-align: middle;
	color: #fff;
	font-weight: 400;
	width: 6%;
	padding-top: 32px;
    font-size: 18px;
}

.side-line {
	position: relative;
}

.side-line::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: 32px;
	width: 1px;
	height: 120px;
	margin: auto;
	background-color: #fff;
}

.first-txt-in {
    padding: 24px;
}

.first-txt-in span {
    font-size: 20px;
    font-weight: 600;
}

.first-txt-in .txt-02 {
    font-size: 14px;
    color: #f21a41;
    margin-top: 8px;
    display: flex;
}

.first-txt-in .txt-02 span {
    font-size: 14px;
}

.first-txt-in .txt-03 {
    padding: 24px 0;
}
/*終わり*/

/*<section class="flow">*/
.flow {
    margin-bottom: 100px;
}

.flow h2 {
    margin-bottom: 24px;
}

.flow-img {
    width: 100%;
}

.flow-img img {
    width: 100%;
    object-fit: cover;
}
/*終わり*/

/*タブレット*/
@media (max-width: 1024px) {
/*<section class="notice-03">*/
    .notice-03-in {
        display: block;
    }

    .notice-03-l,
    .notice-03-r {
        width: 100%;
    }

    .notice-03-l {
        margin-bottom: 40px;
    }
/*終わり*/

/*<section class="doctor">*/
/*終わり*/

/*<section class="medical-info">*/
    .medical-info .flex-con03 {
        justify-content: space-between;
        row-gap: 1%;
    }

    .medical-info .flex-con03 a {
        width: 49%;
    }
/*終わり*/

/*<section class="first">*/
    .side-line::after {
        height: 200px;
    }

    .first-txt-in span {
        font-size: 18px;
    }
/*終わり*/
}

/*スマホ*/
@media (max-width: 599px) {
/*<section class="notice-03">*/
    .notice-03 {
        margin-bottom: 80px;
    }

    .notice-list-03 .list-flex {
        flex-direction: column;
        align-items: initial;
    }

    .notice-03-r dl {
        justify-content: space-between;
    }
/*終わり*/

/*<section class="doctor">*/
    .doctor {
        margin-bottom: 80px;
    }

    .doctor-in .flex-con {
        display: block;
    }

    .doctor-in a {
        width: 100%;
        display: block;
    }

    .doctor-in a:first-child {
        margin-bottom: 10px;
    }
/*終わり*/

/*<section class="medical-info">*/
    .medical-info {
        margin-bottom: 80px;
    }

    .medical-info .flex-con02 a {
        width: 49%;
        margin-bottom: 3%;
    }

    .medical-info .flex-con03 {
        display: block;
        width: 100%;
    }

    .medical-info .flex-con03 a {
        width: 100%;
        display: block;
    }
/*終わり*/

/*<section class="first">*/
    .first-txt {
        display: block;
    }

    .first-txt h3 {
        -ms-writing-mode: horizontal-tb;
        writing-mode: horizontal-tb;
        padding: 8px 24px;
    }

    .side-line::after {
        content: '';
        position: absolute;
        top: 50%;
        left: 100px;
        width: 120px;
        height: 1px;
        background-color: #fff;
    }
/*終わり*/

}