/* CSS Reset */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    font-size: 16px;
    font-family: "Noto Sans", sans-serif;
}


@media (max-width: 768px) {
    html {
        font-size: calc(32/768*100vw);
    }
}

body {
    background-color: #FAF3E0;
    color: #4E342E;
    line-height: 1.6;
    margin: 0;
    padding: 0;
}

li {
    list-style: none;
}

img {
    width: 100%;
}

.sp {
    display: none;
}

.pc {
    display: block;
}

@media (max-width: 768px) {
    .sp {
        display: block;
    }

    .pc {
        display: none;
    }
}

/* Header */
header {
    background: rgba(46, 125, 50, 0.9);
    color: white;
    padding: 22px 20px 14px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: fixed;
    width: 100%;
    z-index: 999;
}

@media (max-width: 768px) {
    header {
        padding: calc(22/768*100vw) calc(20/768*100vw) calc(14/768*100vw);
    }
}

header h1 {
    font-size: 40px;
}

@media (max-width: 768px) {
    header h1 {
        font-size: calc(40/768*100vw);
    }
}

header ul {
    display: flex;
    gap: 45px;
    align-items: center;
}

@media (max-width: 768px) {
    header ul {
        gap: calc(32/768*100vw);
    }
}

header a {
    color: white;
    text-decoration: none;
}

header .tel {
    max-width: 302.5px;
}

@media (max-width: 768px) {
    header .tel {
        width: calc(60/768*100vw);
    }
}

header .access_btn {
    max-width: 138px;
}

@media (max-width: 768px) {
    header .access_btn {
        width: calc(138/768*100vw);
    }
}


/* fv トップ */
.fv_top {
    text-align: left;
    height: 600px;
    position: relative;
    overflow: hidden;
}

@media (max-width: 768px) {
    .fv_top {
        height: calc(600/768*100vw);
    }
}

.slide {
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    background-position: top center;
    background-size: cover;
    background-repeat: no-repeat;

}

.img-01 {
    display: block;
    background-image: url("../images/fv.jpg");
    animation: slide-animation-01 24s infinite;
}

.img-02 {
    background-image: url('../images/fv02.jpg');
    animation: slide-animation-02 24s infinite;
}

.img-03 {
    background-image: url('../images/fv03.jpg');
    animation: slide-animation-03 24s infinite;
}

@keyframes slide-animation-01 {
    0% {
        opacity: 1;
        transform: scale(1.0);
    }

    30% {
        opacity: 1;
    }

    40% {
        opacity: 0;
        transform: scale(1.15);
    }

    90% {
        opacity: 0
    }

    100% {
        opacity: 1;
        transform: scale(1.0);
    }
}

@keyframes slide-animation-02 {
    0% {
        opacity: 0;
    }

    30% {
        opacity: 0;
        transform: scale(1.1);
    }

    40% {
        opacity: 1;
    }

    60% {
        opacity: 1;
    }

    70% {
        opacity: 0;
        transform: scale(1.0);
    }

    100% {
        opacity: 0;
    }
}

@keyframes slide-animation-03 {
    0% {
        opacity: 0;
    }

    60% {
        opacity: 0;
        transform: scale(1.0);
    }

    70% {
        opacity: 1;
    }

    90% {
        opacity: 1;
    }

    100% {
        opacity: 0;
        transform: scale(1.1);
    }
}


.fv_top img {
    max-width: 672px;
    height: auto;
    border-radius: 10px;
}

@media (max-width: 768px) {
    .fv_top img {
        width: calc(672/768*100vw);
    }
}

.fv_top h2 {
    padding: 184px 56px 0;
    position: relative;
}

@media (max-width: 768px) {
    .fv_top h2 {
        padding: calc(184/768*100vw) calc(56/768*100vw) 0;
    }
}

/* Section Layout */
section {
    padding: 126px 20px;
    margin: 0 auto;
    text-align: center;
}

@media (max-width: 768px) {
    section {
        padding: calc(126/768*100vw) calc(32/768*100vw);
    }
}

section h3 {
    display: inline-block;
    font-size: 40px;
    padding-bottom: 5px;
    margin-bottom: 40px;
    border-bottom: solid 3px #4E342E;
    line-height: 1.3;
    font-weight: 400;
    letter-spacing: 0.2em;
}

@media (max-width: 768px) {

    section h3 {
        font-size: calc(60/768*100vw);
        padding-bottom: calc(5/768*100vw);
        margin-bottom: calc(40/768*100vw);
        border-bottom: solid calc(3/768*100vw) #4E342E;
    }
}

.inner {
    max-width: 880px;
    margin: 0 auto;
}


/* お知らせ */
.news .inner {
    background: #fff;
    display: flex;
    border-top-left-radius: 30px;
    border-bottom-left-radius: 30px;
    box-shadow: 4px 4px 15px 0px rgba(0, 0, 0, 0.25);
}

.news .inner h3 {
    background: #2E7D32;
    color: #fff;
    font-size: 30px;
    margin-bottom: 0;
    border-bottom: none;
    border-top-left-radius: 30px;
    border-bottom-left-radius: 30px;
    width: 190px;
    padding: 15px 0;
}

@media (max-width: 768px) {

    .news .inner {
        border-top-left-radius: calc(30/768*100vw);
        border-bottom-left-radius: calc(30/768*100vw);
    }

    .news .inner h3 {
        writing-mode: vertical-lr;
        align-content: center;
        width: 3em;
        padding: calc(15/768*100vw) 0;
        font-size: calc(50/768*100vw);
        border-top-left-radius: calc(30/768*100vw);
        border-bottom-left-radius: calc(30/768*100vw);
    }
}

.news .inner ul {
    width: 100%;
    flex: 1;
    padding: 0 50px;
}

@media (max-width: 768px) {
    .news .inner ul {
        padding: 0 calc(50/768*100vw);
    }
}

.news .inner ul li {
    padding: 30px 0;
    text-align: left;
    font-size: 20px;
    line-height: 1.25;
}

@media (max-width: 768px) {
    .news .inner ul li {
        padding: calc(30/768*100vw) 0;
        font-size: calc(36/768*100vw);
    }

}

.news .inner ul li+li {
    border-top: dashed 1px #C2C2C2;
}

.news .inner ul li time {
    margin-right: 1.5em;
}

@media (max-width: 768px) {
    .news .inner ul li time {
        display: block;
    }
}

/* お悩みセクション */
.concerns {
    background: url("../images/concerns_bg.png") no-repeat bottom center /cover;
    border-radius: 8px;
    text-align: center;
    padding-bottom: 141px;
}

@media (max-width: 768px) {
    .concerns {
        padding-bottom: calc(141/768*100vw);
    }
}

.concerns h3 {
    color: #fff;
    margin-bottom: 40px;
    border-bottom: solid 3px #fff;
}

@media (max-width: 768px) {
    .concerns h3 {
        margin-bottom: calc(40/768*100vw);
    }
}

.concerns .inner>p {
    font-size: 32px;
    margin-top: 50px;
}

@media (max-width: 768px) {
    .concerns .inner>p {
        margin-top: calc(50/768*100vw);
        font-size: calc(50/768*100vw);
    }
}

.concern-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.concern-list li {
    width: 100%;
    position: relative;
}

.concern-list li::after {
    content: "";
    background: url("../images/bubble_deco.png") no-repeat top center /contain;
    width: 100px;
    height: 40px;
    display: block;
    position: absolute;
    bottom: 0;
}

@media (max-width: 768px) {
    .concern-list li::after {
        width: calc(100/768*100vw);
        height: calc(40/768*100vw);
    }
}

.concern-list li p {
    background: #fff;
    border-radius: 35px;
    text-align: left;
    font-size: 25px;
}

@media (max-width: 768px) {
    .concern-list li p {
        font-size: calc(35/768*100vw);
    }
}

.concern-list li:nth-child(even) p {
    margin-right: 109px;
    padding: 15px 30px 15px 80px;
}

@media (max-width: 768px) {
    .concern-list li:nth-child(even) p {
        margin-right: calc(109/768*100vw);
        padding: calc(15/768*100vw) calc(30/768*100vw) calc(15/768*100vw) calc(80/768*100vw);
    }
}

.concern-list li:nth-child(even)::after {
    transform: scale(-1, 1);
    right: 0;
}

.concern-list li:nth-child(odd) p {
    margin-left: 109px;
    padding: 15px 30px 15px 46px;
}

@media (max-width: 768px) {
    .concern-list li:nth-child(odd) p {
        margin-left: calc(109/768*100vw);
        padding: calc(15/768*100vw) calc(30/768*100vw) calc(15/768*100vw) calc(46/768*100vw);
    }
}

.concern-list strong {
    margin-bottom: 8px;
}

@media (max-width: 768px) {
    .concern-list strong {
        margin-bottom: calc(8/768*100vw);
    }
}

.concern-list li+li {
    margin-top: 25px;
}

@media (max-width: 768px) {
    .concern-list li+li {
        margin-top: calc(25/768*100vw);
    }
}

/* 当院の7つの特徴 */
.feature {
    background: url("../images/feature_bg.png") no-repeat bottom center /cover;
    z-index: -1;
    margin-top: calc(-58/1280*100vw);
    position: relative;
}

@media (max-width: 1280px) {
    .feature {
        margin-top: -58px;
    }
}

@media (max-width: 1000px) {
    .feature {
        margin-top: calc(-208/768*100vw);
        padding-top: calc(250/768*100vw);
    }
}

.feature .feature-list {
    background: #fff;
    border-radius: 30px;
    box-shadow: 4px 4px 15px 0px rgba(0, 0, 0, 0.25);
    padding: 20px 50px;
}

.feature .feature-list li {
    display: flex;
    padding: 10px 0;
}

.feature .feature-list li+li {
    border-top: solid 1px #2E7D32;
}

.feature .feature-list li img {
    width: 71px;
    height: 71px;
    margin-right: 1em;
}

.feature .feature-list li p {
    text-align: left;
    font-size: 20px;
}

.feature .feature-list li p span {
    display: block;
    font-size: 28px;
}

@media (max-width: 768px) {
    .feature .feature-list {
        border-radius: calc(30/768*100vw);
        padding: calc(20/768*100vw) calc(50/768*100vw);
    }

    .feature .feature-list li {
        padding: calc(10/768*100vw) 0;
    }

    .feature .feature-list li img {
        width: calc(100/768*100vw);
        height: calc(100/768*100vw);
        max-width: 71px;
        max-height: 71px;
    }

    .feature .feature-list li p {
        font-size: calc(32/768*100vw);
    }

    .feature .feature-list li p span {
        font-size: calc(42/768*100vw);
        margin-bottom: calc(5/768*100vw);
    }

}

/* 診療案内 */
.service {
    background: url("../images/service_bg.png") no-repeat bottom center /cover;
}

.service .inner>p {
    font-size: 25px;
}

.service .service-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(275px, 1fr));
    gap: 20px;
    margin-top: 30px;
}

.service .card {
    background-color: #f9f9f9;
    border: 1px solid #ddd;
    border-radius: 30px;
    padding: 30px;
    text-align: center;
    box-shadow: 4px 4px 15px 0px rgba(0, 0, 0, 0.25);
}

.service .card img {
    width: 100%;
    margin-bottom: 30px;
}

.service .card h4 {
    font-size: 25px;
    margin-bottom: 10px;
    letter-spacing: 0.2em;
}

.service .card p {
    font-size: 20px;
    text-align: left;
    margin-top: 30px;
    line-height: 2;
}

.service a {
    display: block;
    max-width: 400px;
    margin: 50px auto 0;
}

@media (max-width: 768px) {
    .service .inner>p {
        font-size: calc(40 / 768 * 100vw);
    }

    .service .service-cards {
        grid-template-columns: repeat(auto-fit, minmax(100%, 1fr));
        gap: calc(32/768*100vw);
        margin-top: calc(30/768*100vw);
    }

    .service .card {
        border-radius: calc(30/768*100vw);
        padding: calc(30/768*100vw);
        text-align: center;
        box-shadow: 4px 4px 15px 0px rgba(0, 0, 0, 0.25);
    }

    .service .card img {
        margin-bottom: calc(30/768*100vw);
    }

    .service .card h4 {
        font-size: calc(45 / 768 * 100vw);
        margin-bottom: calc(10/768*100vw);
    }

    .service .card p {
        font-size: calc(32/768*100vw);
        margin-top: calc(30/768*100vw);
    }

    .service a {
        margin: calc(50/768*100vw) auto 0;
    }

}

/* 院長挨拶セクションのスタイル */
.doctor-message {
    background-color: #f9f9f9;
}

.doctor-content {
    display: flex;
    align-items: center;
    gap: 2rem;
    margin: 0 auto;
}

.doctor-photo {
    text-align: center;
    width: 257px;
}

.doctor-photo img {
    max-width: 100%;
    height: auto;
    border-radius: 30px;
}

.doctor-text {
    flex: 2;
    font-size: 18px;
    line-height: 1.8;
    text-align-last: left;
}

.doctor-text h4 {
    font-weight: 400;
    margin-bottom: 1rem;
    border-bottom: solid 1px #4E342E;
}

.doctor-text h4 span {
    font-size: 26px;
}

.doctor-text p {
    margin-bottom: 1.5rem;
    line-height: 2;
}


@media (max-width: 768px) {
    .doctor-content {
        flex-direction: column;
    }

    .doctor-photo img {
        border-radius: calc(30/768*100vw);
    }

    .doctor-text {
        font-size: calc(35/768*100vw);
    }

    .doctor-text h4 span {
        font-size: calc(50/768*100vw);
    }
}

/* お客様の声セクション */
.voice {
    background: url("../images/voice_bg.png") no-repeat bottom center /cover;
    border-radius: 8px;
    text-align: center;
}

.voice-lists {
    list-style: none;
    padding: 0;
    margin: 0;
}

.voice-lists .voice-list {
    background: #fff;
    border-radius: 30px;
    padding: 25px;
    width: 100%;
    box-shadow: 4px 4px 15px 0px rgba(0, 0, 0, 0.25);
    text-align: left;
    display: flex;
    align-items: center;
}

.voice-lists .voice-list+.voice-list {
    margin-top: 25px;
}

.voice-lists .voice-image {
    width: 100px;
    height: 100px;
    margin-right: 15px;
    border-radius: 50%;
    background: #D9D9D9;
}

.voice-lists p {
    font-size: 20px;
    margin: 0;
    line-height: 2;
}


@media (max-width: 768px) {
    .voice {
        border-radius: calc(8/768*100vw);
    }

    .voice-lists .voice-list {
        border-radius: calc(30/768*100vw);
        padding: calc(25/768*100vw);
    }

    .voice-lists .voice-list+.voice-list {
        margin-top: calc(25/768*100vw);
    }

    .voice-lists .voice-image {
        width: calc(100/768*100vw);
        height: calc(100/768*100vw);
        margin-right: calc(15/768*100vw);
    }

    .voice-lists p {
        font-size: calc(32/768*100vw);
    }
}

/* アクセス＆診療時間 */
.access {
    background: rgba(200, 230, 201, 0.6);
}

.access_top {
    display: flex;
    gap: 30px;
    margin-bottom: 30px;
}


@media (max-width: 768px) {
    .access_top {
        display: block;
    }

    .access_top {
        gap: calc(30/768*100vw);
        margin-bottom: calc(30/768*100vw);
    }
}

.access_top .txt_area {
    text-align-last: left;
    flex: 1;
}

.access_top .txt_area .address {
    font-size: 24px;
    line-height: 1.2;
    margin: 9px 0;
	text-align:left;
}

.access_top .txt_area .txt {
    line-height: 2;
}

.access_top .txt_area .tel {
    width: 302.5px;
    margin-top: 10px;
}

.access_top .time {
    background: #fff;
    border-radius: 20px;
    width: 440px;
}

@media (max-width: 768px) {

    .access_top .txt_area .address {
        font-size: calc(43/768*100vw);
        margin: calc(9/768*100vw) 0;
    }

    .access_top .txt_area .tel {
        margin-top: calc(10/768*100vw);
        width: 100%;
    }

    .access_top .time {
        margin-top: calc(30/768*100vw);
        width: 100%;
        padding-bottom: calc(32/768*100vw);
        border-radius: calc(32/768*100vw);
    }
}

.access_top .time h4 {
    background: #2E7D32;
    color: #fff;
    font-size: 20px;
    font-weight: 400;
    line-height: 50px;
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
    letter-spacing: 0.5em;
}

.access_top .time thead {
    background: #fff;
    font-size: 19px;
}

.table {
    border-collapse: collapse;
    margin: 15px 22px 5px;
	width:auto;
}

.table th,
.table td {
    border-bottom: 2px solid #4E342E;
    padding: 8px;
    text-align: center;
}

.table tbody th {
    font-size: 18px;
    line-height: 1.6;
    padding: 2px 8px;
}

.table tbody th span {
    font-size: 14px;
    display: block;
}

.access_top .time p {
    text-align-last: left;
    margin: 15px 22px 15px;
    font-size: 12px;
}

.access iframe {
    border-radius: 20px;
}

@media (max-width: 768px) {
    .access_top .time h4 {
        font-size: calc(40/768*100vw);
        line-height: 3;
        border-top-left-radius: calc(32/768*100vw);
        border-top-right-radius: calc(32/768*100vw);
    }

    .access_top .time thead {
        font-size: calc(30/768*100vw);
    }

    .table {
        margin: calc(10/768*100vw) calc(22/768*100vw) calc(5/768*100vw);
   width: calc(100% - (44/768*100vw));
    }

    .table th,
    .table td {
        padding: calc(5/768*100vw);
    }

    .table tbody th {
        font-size: calc(30/768*100vw);
        line-height: 1.6;
        padding: calc(2/768*100vw) calc(8/768*100vw);
    }

    .table tbody th span {
        font-size: calc(25/768*100vw);
    }

    .access_top .time p {
        margin: calc(10/768*100vw) calc(22/768*100vw) calc(15/768*100vw);
        font-size: calc(24/768*100vw);
    }

    .access iframe {
        border-radius: calc(32/768*100vw);
    }
}

/* Footer */
.footer {
    background-color: #2E7D32;
    color: white;
    text-align: center;
    padding: 20px;
}

@media (max-width: 768px) {
    .footer {
        padding: calc(32/768*100vw);
    }
}

/* 院内案内ページ */
.clinic .fv_page {
    text-align: center;
    background: url("../images/clinic_fv.jpg") no-repeat top center / cover;
    padding: 40px 20px;
    height: 423px;
}

.clinic .fv_page h2 {
    font-size: 40px;
    background: #fff;
    border-radius: 30px;
    width: 283px;
    margin: 180px auto;
    padding: 5px;
}

@media (max-width: 768px) {
    .clinic .fv_page {
        padding: calc(40/768*100vw) calc(32/768*100vw);
        height: calc(423/768*100vw);
    }

    .clinic .fv_page h2 {
        font-size: calc(40/768*100vw);
        border-radius: calc(30/768*100vw);
        width: calc(283/768*100vw);
        margin: calc(180/768*100vw) auto;
        padding: calc(5/768*100vw);
    }

}

/* 保険診療と自由診療 */
.treatment__cards {
    display: flex;
    gap: 40px;
    justify-content: center;
}

.treatment__card {
    flex: 1;
    padding: 0 0 20px;
    background-color: #fff;
    border-radius: 20px;
    text-align: left;
    box-shadow: 4px 4px 15px 0px rgba(0, 0, 0, 0.25);
    line-height: 2;
}

.treatment__card-title {
    font-size: 30px;
    font-weight: 400;
    background-color: #2E7D32;
    color: #fff;
    text-align: center;
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
    letter-spacing: 0.2em;
}

.treatment__card-text {
    font-size: 20px;
    margin-bottom: 10px;
    padding: 20px;
}

.treatment__card-table {
    margin: 20px auto;
    border-collapse: collapse;
}

.treatment__card-table th {
    font-weight: normal;
    text-align: center;
    line-height: 1;
    border: solid 1px #4E342E;
    padding: 20px;
}

.treatment__card-table td {
    border: solid 1px #4E342E;
    padding: 20px;
}

.treatment__card-text p+p {
    margin-top: 30px;
}

.treatment__card ul {
    padding-left: 20px;
    margin: 30px 0;
}

.treatment__card ul li {
    font-size: 20px;
    margin-bottom: 5px;
    list-style: disc;
}

.treatment__card-text--accident {
    color: #F03030;
}

@media (max-width: 768px) {
    .treatment__cards {
        flex-wrap: wrap;
        gap: calc(40/768*100vw);
    }

    .treatment__card {
        flex: auto;
        padding: 0 0 calc(32/768*100vw);
        border-radius: calc(32/768*100vw);
    }


    .treatment__card-title {
        font-size: calc(30/768*100vw);
        border-top-left-radius: calc(32/768*100vw);
        ;
        border-top-right-radius: calc(32/768*100vw);
        ;
    }

    .treatment__card-text {
        font-size: calc(32/768*100vw);
        margin-bottom: calc(10/768*100vw);
        padding: calc(32/768*100vw);
    }

    .treatment__card-table {
        margin: calc(20/768*100vw) auto;
    }

    .treatment__card-table th {
        padding: calc(32/768*100vw);
    }

    .treatment__card-table td {
        padding: calc(32/768*100vw);
    }

    .treatment__card-text p+p {
        margin-top: calc(30/768*100vw);
    }

    .treatment__card ul {
        padding-left: calc(32/768*100vw);
        margin: calc(30/768*100vw) 0;
    }

    .treatment__card ul li {
        font-size: calc(32/768*100vw);
        margin-bottom: calc(5/768*100vw);
    }


}

/* 治療法 */
.treatment-method {
    background: rgba(200, 230, 201, 0.5);
}

.treatment-method__cards {
    display: flex;
    flex-direction: column;
    gap: 40px;
    align-items: center;
}

.treatment-method__card {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    background-color: #fff;
    border-radius: 20px;
    max-width: 900px;
    width: 100%;
    padding: 20px 60px;
    box-shadow: 4px 4px 15px 0px rgba(0, 0, 0, 0.25);
}

.treatment-method__card--left {
    flex-direction: row;
}

.treatment-method__card--right {
    flex-direction: row-reverse;
}

.treatment-method__card-img {
    width: 300px;
    height: auto;
    border-radius: 20px;
}

.treatment-method__card-content {
    text-align: left;
    width: 415px;
}

.treatment-method__card-title {
    font-size: 25px;
    font-weight: 400;
    margin-bottom: 10px;
}

.treatment-method__card-text {
    font-size: 20px;
    line-height: 2;
}


@media (max-width: 768px) {
    .treatment-method__cards {
        gap: calc(40/768*100vw);
    }

    .treatment-method__card {
        gap: calc(30/768*100vw);
        border-radius: calc(32/768*100vw);
        padding: calc(60/768*100vw);
        box-shadow: 4px 4px 15px 0px rgba(0, 0, 0, 0.25);
    }

    .treatment-method__card--left,
    .treatment-method__card--right {
        flex-direction: column;
    }

    .treatment-method__card-img {
        width: 100%;
        border-radius: calc(32/768*100vw);
    }


    .treatment-method__card-content {
        width: 100%;
    }

    .treatment-method__card-title {
        font-size: calc(40 / 768 * 100vw);
        margin-bottom: calc(10/768*100vw);
    }

    .treatment-method__card-text {
        font-size: calc(32/768*100vw);
    }

}

/* 治療機器 */

.medical-equipment__cards {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
}

.medical-equipment__card {
    background-color: #fff;
    box-shadow: 4px 4px 15px 0px rgba(0, 0, 0, 0.25);
    max-width: 900px;
    border-radius: 20px;
}

.medical-equipment__card-img {
    width: 100%;
    height: auto;
    border-radius: 20px;
    padding: 30px 30px 0;
}

.medical-equipment__card-content {
    padding: 30px;
    text-align: left;
}

.medical-equipment__card-title {
    font-size: 25px;
    font-weight: 400;
    background: #C8E6C9;
    height: 60px;
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
    align-content: center;
}

.medical-equipment__card-text {
    font-size: 20px;
    line-height: 2;
}

@media (max-width: 768px) {
    .medical-equipment__cards {
        grid-template-columns: repeat(1, 1fr);
        gap: calc(40/768*100vw);
    }

    .medical-equipment__card {
        border-radius: calc(32/768*100vw);
    }

    .medical-equipment__card-img {
        border-radius: calc(32/768*100vw);
        padding: calc(30/768*100vw) 30px 0;
    }

    .medical-equipment__card-content {
        padding: calc(30/768*100vw);
    }

    .medical-equipment__card-title {
        font-size: calc(40 / 768 * 100vw);
        height: auto;
        line-height: 2;
        border-top-left-radius: calc(32/768*100vw);
        border-top-right-radius: calc(32/768*100vw);
    }

    .medical-equipment__card-text {
        font-size: calc(32/768*100vw);
    }

}

/* マーカー */
.yellow_line {
    background: linear-gradient(transparent 10%, #fffb00 10%);
}