@charset "utf-8";
/*共通設定*/
.txt-flex {
    display: flex;
    align-items: flex-start;
    justify-content: left;
}

.txt-flex span {
    margin-right: 4px;
}

h1 {
    margin-bottom: 40px;
    font-size: 24px;
    display: flex;
    align-items: center;
}

h2 {
    margin-bottom: 40px;
    font-size: 22px;
    color: #14b88d;
    display: flex;
    align-items: center;
}

h3 {
    margin-top: 80px;
    margin-bottom: 32px;
    font-size: 20px;
    display: flex;
}

.medical-con h3:first-child {
    margin-top: 0;
}

h4 {
    margin: 80px 0 24px 0;
    font-size: 18px;
    color: #2264b9;
}

.top-h4 {
    margin-top: 0px;
}

.num {
    font-size: 20px;
    margin-right: 8px;
    font-weight: 600;
}

h1::after {
  content: '';
  height: 1px;
  background-color: #333;
  flex-grow: 1;
  margin-left: 16px;
}

h2::after {
    content: '';
    height: 1px;
    background-color: #14b88d;
    flex-grow: 1;
    margin-left: 16px;
}

h3:before {
    content: "";
    padding-right: 10px;
    border-left: 7px solid #14b88d;
}  

.medical-con {
    padding: 0 1vw;
    margin-bottom: 160px;
}

.img-area {
    display: flex;
    text-align: center;
}

.img-txt  {
    margin-right: 24px;
}

.img-txt p {
    font-size: 14px;
}

.achieve {
    display: flex;
    width: 100%;
    justify-content: space-between;
    align-items: flex-end;
    flex-wrap: wrap;
    border: solid 1px #f1f1f1;
}

.achieve dt {
    width: 40%;
    padding: 16px;
    border-bottom: solid 1px #f1f1f1;
}

.achieve dd {
    width: 10%;
    padding: 16px;
    border-bottom: solid 1px #f1f1f1;
    border-right: solid 1px #f1f1f1;
    text-align: right;
}

.yellow-back {
    background-color: #F8F6E1;
    border-radius: 8px;
    padding: 24px;
}

.y-title {
    margin-bottom: 16px;
    font-weight: 600;
}

.sp-br {
    display: none;
}
/*終わり*/  

/*<section class="medical">*/
.breadcrumb {
    display: flex;
    justify-content: left;
    align-items: center;
    font-size: 14px;
    margin: 40px 0;
}

.breadcrumb p {
    margin: 0 8px;
}

.breadcrumb a:hover {
    opacity: 0.8;
}

.btn-area {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 100%;
    margin-bottom: 80px;
}

.medical-btn {
    width: 24%;
    margin-bottom: 1%;
    text-align: center;
    background-color: #fff;
    color: #14b88d;
    border-radius: 8px;
    border: solid 2px #14b88d;
    padding: 8px;
}

.medical-btn:hover {
    color: #fff;
    background-color: #14b88d;
}

.btn-flex {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    width: 100%;
    gap: 1%;
}
/*終わり*/  

/*<section class="medical-01">*/
.img-area-03,
.img-area-04 {
    margin-bottom: 16px;
    align-items: center;
}

.img-flex {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    width: 100%;
}

.img-flex .flex-l {
    width: 45%;
}

.img-flex .flex-r {
    width: 52%;
}

.img-flex .flex-r dt {
    color: #2264b9;
    font-weight: 600;
    margin-bottom: 4px;
    padding-top: 16px;
}

.img-flex .flex-r dd {
    padding-bottom: 8px;
    border-bottom: solid 1px #f1f1f1;
}

.schedule {
    width: 100%;
    border: solid 1px #f1f1f1;
    border-collapse: collapse;
}

.schedule tr {
    text-align: center;
    border-bottom: solid 1px #f1f1f1;
}

.schedule th,
.schedule td {
    width: 14%;
    padding: 8px 0;
    border-right: solid 1px #f1f1f1;
}

.schedule th,
.schedule td:first-child {
    background-color: #f9f9f9;
}

.sche-time {
    border-right: solid 1px #f1f1f1;
}
/*終わり*/  

/*<section class="medical-02">*/
.img-flex-02 .flex-l {
    width: 40%;
}

.img-flex-02 .flex-r {
    width: 60%;
}

.txt-02 {
    margin-bottom: 40px;
}

.txt-03 {
    font-weight: 600;
    margin-bottom: 4px;
}

.explain {
    border: solid 1px #f1f1f1;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    width: 100%;
}

.explain dt {
    width: 20%;
    text-align: center;
    padding: 8px;
    font-weight: 600;
}

.explain .dd-con {
    width: 80%;
    border-left: solid 1px #f1f1f1;
}

.explain dd {
    width: 100%;
    display: flex;
    flex-direction: column;
    padding: 12px 16px;
    border-bottom: solid 1px #f1f1f1;
}

.explain dd span {
    font-weight: 600;
    padding-bottom: 4px;
}

.explain dd:last-child {
    border-bottom: none;
}

.yellow-back-02,
.yellow-back-03 {
    margin-top: 32px;
}

.txt-04 {
    margin-bottom: 16px;
}

.yellow-back-04 {
    margin-bottom: 32px;
}

.txt-05 {
    margin-bottom: 16px;
    font-weight: 600;
}

.txt-06 {
    margin-bottom: 48px;
}

.q-a {
    border: 1px solid #435259;
    padding: 40px 32px;
    position: relative;
    margin-bottom: 40px;
}

.q-a::before {
    background-color: #fff;
    content: "下肢静脈瘤";
    font-weight: bold;
    left: 20px;
    padding: 3px 10px;
    position: absolute;
    top: -15px;
}

.txt-07 {
    margin-bottom: 16px;
}

.q {
    margin-bottom: 4px;
}

.a {
    margin-bottom: 16px;
}

.a:last-child {
    margin-bottom: 0;
}

.q span,
.a span {
    margin-right: 8px;
    font-weight: 600;
}

.yellow-back-06 {
    margin-bottom: 40px;
}

.yellow-back-06 .img-area {
    margin-bottom: 56px;
}

.img-area-05 {
    display: flex;
    align-items: center;
}

.img-area-06 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 100%;
}

.img-area-06 .img-txt {
    width: 35%;
}

.txt-08 {
    font-size: 20px;
}

.txt-10 {
    width: 60%;
    text-align: left;
}

.img-area-07 {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.txt-12,
.txt-14,
.txt-16 {
    margin-bottom: 56px;
}
/*終わり*/  

/*<section class="medical-03">*/
.txt-19 {
    margin-bottom: 24px;
}

.img-area-08 {
    justify-content: center;
    margin-bottom: 24px;
}

.img-area-08 .img-txt img {
    margin: 0 16px;
}

.txt-20 {
    margin-bottom: 40px;
}

.txt-21 {
    color: #f21a41;
    margin-bottom: 64px;
}

.txt-22 {
    font-weight: 600;
}
/*終わり*/  

/*<section class="medical-04">*/
.txt-23 {
    text-align: center;
}
/*終わり*/  

/*<section class="medical-05">*/
.medical-05 h4 {
    margin-top: 56px;
}

.schedule-04 {
    margin-bottom: 8px;
}

.schedule-04 td {
    font-size: 14px;
}

.txt-29-30 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 100%;
}

.txt-29,
.txt-30 {
    width: 49%;
    text-align: center;
    background-color: #fff;
    border-radius: 8px;
    border: solid 2px #435259;
    padding: 8px;

}

.txt-29:hover,
.txt-30:hover {
    opacity: 0.8;
}
/*終わり*/  

/*<section class="medical-06">*/
.schedule-05 tr .td-color {
    background-color: #fff;
}
/*終わり*/  

/*<section class="medical-07">*/
.txt-32 {
    margin-top: 8px;
}

.img-area-09 {
    margin-top: 16px;
}

.img-area-10 {
    flex-wrap: wrap;
}

.img-area-10 .img-txt {
    margin-top: 16px;
}
/*終わり*/  

/*<section class="medical-08">*/
.medical-08 .img-flex {
    margin-bottom: 48px;
}

.medical-08 .img-flex .flex-r {
    width: 55%;
}

.medical-08 .img-txt {
    margin-top: 24px;
}

.img-area-11 {
    flex-wrap: wrap;
    align-items: flex-end;
}

.img-area-13 {
    align-items: flex-end;
}

.img-area-14 {
    flex-wrap: wrap;
    align-items: flex-end;
}

.img-area-14 .img-txt {
    width: 20%;
}
/*終わり*/  

/*<section class="medical-09">*/
.txt-41,
.txt-44 {
    margin-bottom: 24px;
}

.test-li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    width: 100%;
    margin-bottom: 40px;
}

.test-li li {
    width: 49%;
    text-align: center;
    margin-bottom: 1%;
    text-align: center;
    background-color: #fff;
    color: #2264b9;
    border-radius: 8px;
    border: solid 1px #2264b9;
    padding: 8px;
}
/*終わり*/ 

/*<section class="medical-10">*/
.medical-10 .img-flex {
    margin-bottom: 48px;
}

.medical-10 .img-flex .flex-r {
    width: 55%;
}

.medical-10 h4 {
    margin-top: 0;
}

.work-con {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
    width: 100%;
}

.work-con dt {
    width: 30%;
    color: #2264b9;
    font-weight: 600;
    font-size: 18px;
    padding: 16px 0;
    border-bottom: solid 1px #f1f1f1;
}

.work-con dd {
    width: 70%;
    padding: 16px 0;
    border-bottom: solid 1px #f1f1f1;
}

.txt-47 {
    margin-top: 8px;
    margin-bottom: 48px;
    font-weight: 600;
}
/*終わり*/ 

/*<section class="medical-11">*/
.meal {
    border: 1px solid #435259;
    padding: 40px 32px;
    position: relative;
    margin: 56px 0;
}

.meal::before {
    background-color: #fff;
    content: "心臓食の献立の一例（1600kcal 塩分6g未満）";
    font-weight: bold;
    left: 20px;
    padding: 3px 10px;
    position: absolute;
    top: -15px;
}

.img-area-17 {
    display: flex;
    justify-content: space-around;
}

.img-area-17 .img-txt {
    margin-right: 0;
}

.txt-53-57 p {
    margin-bottom: 8px;
}

.txt-58 {
    margin-bottom: 40px;
}

.img-flex-08 .flex-l {
    text-align: center;
}

.img-flex-08 .flex-r dt:first-child {
    padding-top: 0;
}

.txt-59 {
    margin-top: 16px;
}
/*終わり*/

/*<section class="medical-12">*/
.txt-61 {
    margin-top: 16px;
    font-weight: 600;
}

.disease {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    width: 100%;
    border: solid 1px #f1f1f1;
    padding: 16px 8px 0 8px;
}

.disease li {
    width: 49%;
    margin-bottom: 16px;
}

.img-flex-10 {
    margin-bottom: 64px;
}

.txt-63,
.txt-65 {
    font-size: 18px;
    color: #2264b9;
    font-weight: 600;
    margin-bottom: 16px;
}

.img-flex-11 {
    flex-direction: row-reverse;
}

.img-flex-11 .flex-l {
    text-align: right;
}

.yellow-back-08 {
    max-width: 880px;
    width: 100%;
    margin: 64px auto 80px auto;
    padding: 32px;
}

.yellow-back-08 h4 {
    margin-bottom: 32px;
    text-align: center;
}

.schedule-06 {
    background-color: #fff;
    margin-bottom: 16px;
}

.notes-txt {
    max-width: 880px;
    width: 100%;
    margin: 0 auto;
    border: solid 3px #f21a41;
	display: table;
}

.notes-txt h4 {
	-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: 16px;
}

.side-line {
	position: relative;
}

.side-line::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: 16px;
	width: 1px;
	height: 60px;
	margin: auto;
	background-color: #fff;
}

.notes-txt-in {
    padding: 32px 24px;
}

.notes-txt-in p {
    margin-bottom: 8px;
}

.notes-txt-in p:last-child {
    margin-bottom: 0;
}

.txt-73 {
    margin-bottom: 16px;
}
/*終わり*/ 

/*<section class="medical-13">*/
.txt-78 {
    font-size: 18px;
    font-weight: 600;
    color: #2264b9;
    text-align: center;
}

.txt-79 {
    font-size: 24px;
    font-weight: 600;
    text-align: center;
    margin: 8px 0;
}

.txt-80,
.txt-81 {
    font-size: 14px;
}

.txt-82 {
    margin-top: 16px;
}

.consul {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    width: 100%;
    border: solid 1px #f1f1f1;
    padding: 16px 8px 0 8px;
}

.consul li {
    width: 49%;
    margin-bottom: 16px;
}

.txt-83 {
    margin-bottom: 24px;
}

.tel-flex {
    width: 60%;
    display: flex;
    justify-content: space-between;
}

.tel-flex .txt-84,
.tel-flex .txt-88 {
    font-weight: 600;
    margin-bottom: 8px;
}

.tel-flex .txt-85,
.tel-flex .txt-86,
.tel-flex .txt-89,
.tel-flex .txt-90 {
    font-weight: 600;
    font-size: 24px;
}

.tel-flex .txt-87,
.tel-flex .txt-91 {
    font-size: 14px;
    margin-top: 8px;
}

.line-left {
    border-left: solid 2px #14b88d;
    padding-left: 10px;
}

/*終わり*/ 

/*タブレット*/
@media (max-width: 1024px) {
/*共通設定*/
    .achieve dt {
        width: 70%;
    }

    .achieve dd {
        width: 25%;
    }
/*終わり*/ 

/*<section class="medical">*/
    .btn-flex {
        justify-content: space-between;
        row-gap: 1%;
    }

    .btn-flex .medical-btn {
        width: 49%;
    }
/*終わり*/ 

/*<section class="medical-01">*/
    .img-area-04 {
        flex-wrap: wrap;
        width: 100%;
        justify-content: space-between;
    }

    .img-area-04 .img-txt {
        width: 49%;
        margin-right: 0;
        margin-bottom: 16px;
    }

    .img-flex-01 {
        display: block;
    }

    .img-flex-01 .flex-l {
        width: 100%;
        margin-bottom: 24px;
    }
    
    .img-flex-01 .flex-r {
        width: 100%;
    }
    
    .schedule tr {
        font-size: 14px;
    }
/*終わり*/ 

/*<section class="medical-02">*/
    .img-flex-02 .flex-r {
        width: 55%;
    }
/*終わり*/ 

/*<section class="medical-03">*/
    .achieve .last-dt,
    .achieve .last-dd {
        display: none;
    }
/*終わり*/ 

/*<section class="medical-04">*/
/*終わり*/ 

/*<section class="medical-05">*/
/*終わり*/ 

/*<section class="medical-06">*/
/*終わり*/ 

/*<section class="medical-07">*/
    .img-area-10 {
        flex-wrap: wrap;
        width: 100%;
        justify-content: space-between;
    }

    .img-area-10 .img-txt {
        width: 45%;
    }
/*終わり*/ 

/*<section class="medical-08">*/
    .medical-08 .img-flex .flex-r {
        width: 100%;
    }

    .img-area-11 {
        flex-wrap: wrap;
        width: 100%;
        justify-content: space-around;
    }

    .img-area-13 {
        flex-wrap: wrap;
        width: 100%;
        justify-content: space-between;
    }

    .img-area-13 .img-txt {
        width: 46%;
    }

    .img-area-14 {
        flex-wrap: wrap;
        width: 100%;
        justify-content: left;
    }

    .img-area-14 .img-txt {
        width: 29%;
    }
/*終わり*/ 

/*<section class="medical-09">*/
    .test-li li {
        width: 100%;
    }
/*終わり*/ 

/*<section class="medical-10">*/
    .medical-10 .img-flex .flex-r {
        width: 50%;
    }

    .work-con {
        display: block;
    }

    .work-con dt {
        border-bottom: none;
        padding: 16px 0 0 0;
        width: 100%;
    }

    .work-con dd {
        width: 100%;
    }
/*終わり*/ 

/*<section class="medical-11">*/
    .meal {
        padding: 40px 16px;
    }
/*終わり*/ 

/*<section class="medical-12">*/
    .disease li {
        width: 100%;
    }

    .img-flex-11 .flex-l {
        text-align: left;
    }
/*終わり*/ 

/*<section class="medical-13">*/
    .consul li {
        width: 100%;
    }

    .tel-flex {
        width: 80%;
    }
/*終わり*/ 
}    

/*スマホ*/
@media (max-width: 599px) {
/*共通設定*/
    .medical-con {
        margin-bottom: 120px;
    }

    .x-scroll {
        overflow-x: auto; /* tableタグのはみ出た要素を隠す */
        white-space: nowrap; /* テキストの折り返しなし */
    }

    .schedule {
        width: 150%; /* tableタグの親要素より広く */
    }

    .sp-br {
        display: block;
    }

    .achieve {
        display: block;
    }

    .achieve dt {
        border-bottom: none;
        width: 100%;
        padding: 16px 8px 0 8px;
    }

    .achieve dd {
        width: 100%;
        text-align: left;
        font-weight: 600;
    }

    .img-flex {
        display: block;
    }

    .img-flex .flex-l {
        width: 100%;
        margin-bottom: 16px;
    }

    .img-flex .flex-r {
        width: 100%;
    }

    .yellow-back {
        padding: 16px;
    }
/*終わり*/ 

/*<section class="medical">*/
    .medical-btn {
        width: 49%;
    }

    .btn-flex .medical-btn {
        width: 100%;
    }
/*終わり*/ 

/*<section class="medical-01">*/
    .img-area-01 {
        justify-content: space-between;
    }

    .img-area-01 .img-txt {
        margin-right: 0;
    }

    .img-area-02 {
        justify-content: space-between;
        flex-wrap: wrap;
    }

    .img-area-02 .img-txt {
        margin-right: 0;
        width: 49%;
        margin-bottom: 24px;
    }

/*終わり*/ 

/*<section class="medical-02">*/
    .explain {
        display: block;
    }

    .explain dt {
        text-align: left;
        width: 100%;
        font-size: 18px;
        color: #2264b9;
        padding: 12px 16px;
    }

    .explain .dd-con {
        width: 100%;
    }

    .q-a {
        padding: 32px 16px;
    }

    .img-area-06 {
        display: block;
    }

    .img-area-06 .img-txt {
        width: 100%;
        margin-bottom: 16px;
    }

    .txt-10 {
        width: 100%;
    }

    .img-area-07 {
        display: block;
    }

    .img-area-07 .img-txt:first-child {
        margin-bottom: 16px;
    }
/*終わり*/ 

/*<section class="medical-03">*/
    .img-area-08 .img-txt {
        display: flex;
        align-items: center;
        justify-content: space-between;
        flex-wrap: wrap;
        width: 100%;
        margin-right: 0;
    }

    .img-area-08 .img-txt img {
        width: 24%;
        margin: 0;
    }
/*終わり*/ 

/*<section class="medical-04">*/
/*終わり*/ 

/*<section class="medical-05">*/
    .medical-05 .x-scroll .schedule {
        width: 250%; /* tableタグの親要素より広く */
    }

    .txt-29,
    .txt-30 {
        width: 100%;
        margin-bottom: 8px;
    }
/*終わり*/ 

/*<section class="medical-06">*/
/*終わり*/ 

/*<section class="medical-07">*/
    .img-area-10 .img-txt {
        width: 48%;
        margin-right: 0;
    }
/*終わり*/ 

/*<section class="medical-08">*/
    .img-area-11 .img-txt {
        width: 48%;
        margin-right: 0;
    }

    .img-area-12,
    .img-area-14 {
        flex-wrap: wrap;
        width: 100%;
        justify-content: space-between;
    }

    .img-area-12 .img-txt,
    .img-area-13 .img-txt,
    .img-area-14 .img-txt {
        width: 48%;
        margin-right: 0;
    }

    .img-area-14 {
        align-items: flex-start;
    }
/*終わり*/ 

/*<section class="medical-09">*/
    .test-li li {
        margin-bottom: 8px;
    }

    .img-area-15,
    .img-area-16 {
        flex-wrap: wrap;
        width: 100%;
        justify-content: space-between;
    }

    .img-area-15 .img-txt,
    .img-area-16 .img-txt {
        width: 48%;
        margin-right: 0;
        margin-bottom: 16px;
    }
/*終わり*/ 

/*<section class="medical-10">*/
    .medical-10 .img-flex .flex-r {
        width: 100%;
    }
/*終わり*/ 

/*<section class="medical-11">*/
    .meal {
        padding: 48px 8px 16px 8px;
    }

    .img-area-17 {
        display: block;
    }

    .img-area-17 .img-txt {
        width: 100%;
        border-bottom: solid 1px #f1f1f1;
        padding: 24px 0;
    }

    .img-area-17 .img-txt:last-child {
        border-bottom: none;
        padding: 24px 0 0 0;
    }

    .txt-51 {
        margin-bottom: 8px;
    }

    .txt-51 span,
    .txt-52 span {
        font-weight: 600;
    }
/*終わり*/ 

/*<section class="medical-12">*/
    .notes-txt {
        display: block;
    }

    .notes-txt h4 {
        -ms-writing-mode: horizontal-tb;
        writing-mode: horizontal-tb;
        padding: 8px 24px;
    }

    .side-line::after {
        content: '';
        position: absolute;
        top: 50%;
        left: 120px;
        width: 120px;
        height: 1px;
        background-color: #fff;
    }

    .notes-txt-in {
        padding: 24px 4vw;
    }
/*終わり*/ 

/*<section class="medical-13">*/
    .tel-flex {
        display: block;
    }

    .tel-flex .flex-l {
        margin-bottom: 32px;
    }
/*終わり*/ 

}    