@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@400;500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=BIZ+UDGothic:wght@400;700&display=swap');

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');

@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap');

@import url('https://fonts.googleapis.com/css2?family=Niconne&display=swap');

@font-face {
    font-family: 'Impact';
    src: 
         url('../fonts/impact.woff') format('woff'),
         url('../fonts/impact.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'DIN 2014';
    src: url('../fonts/din-2014.otf') format('opentype');
    font-weight: normal;
    font-style: normal;
}

@import url('https://fonts.googleapis.com/css2?family=BIZ+UDGothic&display=swap');

html {
    scroll-behavior: smooth;
}

body {
    font-family: "Noto Sans JP", sans-serif;    
}

.title-en {
    font-size: 42px;
    font-weight: 400;
    color: rgba(242, 89, 133, 1);
    text-align: center;    
    font-family: Georgia, serif;
}

.title-jp {
    font-size: 20px;
    font-weight: 700;
    color: rgba(51, 51, 51, 1);
    text-align: center;    
}

.title-wrap {
    position: relative;
}

.title-wrap .title-bg {
    text-align: center;
}

.title-text {
    /* position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); */
}

/*=======  Common=========*/
.container {
    max-width: 1460px;
}

.sp-show {
    display: none;
}

.sp-none {
    display: inline-block;
}

.mgt-10 {
    margin-top: 10px;
}

.mgt-20 {
    margin-top: 20px;
}

.mgt-30 {
    margin-top: 30px;
}

.mgt-40 {
    margin-top: 40px;
}

.mgt-60 {
    margin-top: 60px;
}

.mgt-80 {
    margin-top: 80px;
}

.mgt-100 {
    margin-top: 100px;
}

.mgb-10 {
    margin-bottom: 10px;
}

.mgb-20 {
    margin-bottom: 20px;
}

.mgb-30 {
    margin-bottom: 30px;
}

.mgb-40 {
    margin-bottom: 40px;
}

.mgb-60 {
    margin-bottom: 60px;
}

.mgb-80 {
    margin-bottom: 80px;
}

.txt-bold {
    font-weight: 700;
}

/*======= Header =========*/

.hdr__logo-link {
    text-decoration: none;
    display: block;
}

.hdr__logo-container {
    display: flex;
    align-items: center;
    gap: 15px;    
}

.hdr__logo-img {
    max-height: 60px;
    width: auto;
}

.hdr__logo-text {
    display: flex;
    flex-direction: column;
}

.hdr__logo-text1 {
    font-size: 18px;
    color: rgba(66, 62, 63, 1);
    font-weight: 500;
}

.hdr__logo-text2 {
    font-size: 36px;
    font-weight: 700;
    color: rgba(66, 62, 63, 1);
}

.hdr__navi {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.hdr__navi-tel-container {
    display: flex;
    align-items: center;
    margin-bottom: 5px;
    width: 100%;
    justify-content: flex-end;
    padding-right: 20px;
}

.hdr__navi-menu {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 20px;
}

.hdr__navi-menu li a {
    color: #333;
    text-decoration: none;
    font-size: 16px;
}

.hdr__navi-menu li a:hover {
    color: #ff864c;
}

.hdr__navi-tel {
    color: rgba(51, 51, 51, 1);
    font-size: 30px;
    font-weight: 700;
    text-decoration: none;
    font-family: 'DIN 2014';
}

.hdr__navi-tel:hover {
    text-decoration: none;
    color: rgba(51, 51, 51, 1);
}

.hdr__navi-tel img {
    width: 30px;
    height: auto;
    position: relative;
    top: -5px;
}

.hdr__navi-sns img {
    width: 50px;
    height: auto;   
    margin: 0 0 0 20px; 
}

.hdr__navi-sns:last-child img {
    margin: 0;
}

.btn-reservation {
    background: rgba(86, 140, 235, 1);
    text-decoration: none;
    color: #fff;
    padding: 10px 20px;
    border-radius: 100px;
    display: flex;
    align-items: center;
    margin-left: 20px;   
}

.btn-reservation:hover {
    text-decoration: none;
    color: #fff;
}

.btn-reservation img {
    margin-left: 20px;
    width: 10px;
    height: auto;    
}

.btn-contact-hd {
    background: rgba(242, 89, 133, 1);
    text-decoration: none;
    color: #fff;
    padding: 10px 20px;
    border-radius: 100px;
    display: flex;
    align-items: center;
    margin-left: 20px;   
}

.btn-contact-hd:hover {
    text-decoration: none;
    color: #fff;
}

.btn-contact-hd img {
    margin-left: 20px;
    width: 10px;
    height: auto;    
}

/*======= Main FV =========*/
#main {
    position: relative;   
    height: 100%;
    width: 100%;  
    z-index: 2;
    overflow: hidden;    
}

#main .container-fluid {
    padding: 0;
}

#main h2 img {
    width: 100%;
}

#main h2 video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.main-content-wrapper {
    position: relative;
}

.main-content {
    position: absolute;
    top: 50%;
    width: 100%;
    text-align: center;
    transform: translateY(-50%);    
}

.main-content-text p {
    color: #fff;
    font-size: 38px;
    font-weight: 700;
    text-shadow: 1px 1px 1px rgba(88, 94, 90, 0.92);
    line-height: 1.8;
}

/* ========== Lower Banner ==========*/
.banner-lower {
    position: relative;
    padding: 0;
    height: 400px;
}

.banner-img img {
    width: 100%;
    height: 400px;
    object-fit: cover;
}

.banner-txt {
    position: absolute;
    top: 60%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #fff;
    font-size: 40px;
    font-weight: 700;
    letter-spacing: 0;
    width: 100%;
    text-align: center;
    text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.7);
    font-family: "Noto Serif JP", serif;
}

/*======= Information Section =========*/
#information {
    padding: 80px 0 60px;
    background-image: url('../images/bg1.jpeg');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    min-height: 400px;
    height: 100%;
    width: 100%; 
    margin-top: -10px;
}

.information-wrapper {
    margin: 60px auto 0;
    max-width: 800px;
}

.information-item {
    display: flex;
    align-items: center;
    padding: 15px 20px;  
}

.information-date {
    font-size: 18px;
    color: rgba(51, 51, 51, 1);
    font-family: Georgia, serif;
    margin-right: 100px;
    min-width: 100px;
    font-weight: 400;
}

.information-title {
    font-size: 20px;
    color: rgba(51, 51, 51, 1);
    font-weight: 500;
    text-decoration: none;
    flex: 1;
}

.information-title:hover {
    text-decoration: none;
    color: #000;
}

.btn-more {
    background: rgba(242, 89, 133, 1);
    text-decoration: none;
    color: #fff;
    padding: 10px 20px;
    border-radius: 100px;
    display: block;   
    margin: 0 auto; 
    width: fit-content;
}

.btn-more:hover {
    text-decoration: none;
    color: #fff;
}

.btn-more img {
    margin-left: 20px;
    width: 10px;
    height: auto;    
}



/*======= Visitor Guide Section =========*/
#visitor-guide {
    padding: 80px 0 60px;
    background-image: url('../images/bg2.png');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;    
}

.visitor-guide-desc {
    text-align: center;
}

.guide-wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    gap: 20px;    
    box-sizing: border-box;
}

.guide-item {
    width: calc((100% - 3 * 20px) / 4); /* 4 items per row, 3 gaps */
    text-align: center;
    box-sizing: border-box;
    background: #fff;
    padding: 20px;    
    border-radius: 8px;
    box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.1);
}

.guide-item:hover {
    text-decoration: none;
}

.guide-img img {
    height: 80px;
}

.guide-img {
    margin-bottom: 10px;
}

.guide-text h4 {
    color: rgba(51, 51, 51, 1);
    font-size: 16px;
    font-weight: 500;
}


/*======= About Yokoyama Section =========*/
#about-yokoyama {
    padding: 80px 0 60px;
    background: rgba(248, 232, 232, 1);
}

.about-yokoyama-img img {
    width: 100%;
}

.about-yokoyama-btn {
    text-align: right;
    margin-top: 40px;
}

.about-yokoyama-btn .btn-more {
    margin: 0 0 0 auto;
}

#about-yokoyama .row.mgt-40 {
    display: flex;
    align-items: center;
}

#about-yokoyama .col-md-8.pl-4 {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/*======= Outpatient Services Section =========*/
#outpatient-services {
    padding: 80px 0 60px;
    background-image: url('../images/bg3.png');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

.outpatient-services-img {
    padding-right: 40px;
}

.outpatient-services-img img {
    max-width: 100%;
}

.services-wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    gap: 20px;    
    box-sizing: border-box;
}

.services-item {
    width: calc((100% - 2 * 20px) / 3); /* 4 items per row, 3 gaps */
    text-align: center;
    box-sizing: border-box;
}

.services-img img {
    width: 100%;
	border-radius: 8px;
}

/*======= Hospitalization Guide Section =========*/
#hospitalization-guide {
    padding: 80px 0 60px;
    background: rgba(248, 232, 232, 1);
}

.hospitalization-guide-btn {
    margin-top: 40px;
    text-align: left;
}

.hospitalization-guide-btn .btn-more {
    margin: 0;
}

.hospitalization-guide-img img {
    width: 100%;
	border-radius : 8px;
}

#hospitalization-guide .row.mgt-40 {
    display: flex;
    align-items: center;
}

#hospitalization-guide .col-md-8.pl-4 {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/*======= Fee Guide Section =========*/
#fee-guide {
    padding: 80px 0 160px;
    background: rgba(250, 249, 239, 1);
    position: relative;
}

#fee-guide::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 35%;
    height: 35%;
    background-image: url('../images/hana2.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: right top;
}

#fee-guide::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 30%;
    height: 30%;
    background-image: url('../images/hana1.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: left bottom;
}

.fee-guide-wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    gap: 20px;    
    box-sizing: border-box;
}

.fee-guide-item {
    width: calc((100% - 2 * 20px) / 3); /* 4 items per row, 3 gaps */
    text-align: center;
    box-sizing: border-box;
    background: #fff;
    box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.1);
    padding: 20px 5px;
    border-radius: 12px
}

/*======= Instagram Section =========*/
#instagram {
    padding: 80px 0 60px;
    background-image: url('../images/bg1.jpeg');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;  
    height: 100%;
    width: 100%; 
}

.instagram-wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    gap: 20px;    
    box-sizing: border-box;
}

.instagram-item {
    width: calc((100% - 5 * 20px) / 6); /* 4 items per row, 3 gaps */
    text-align: center;
    box-sizing: border-box;
}

.instagram-item img {
    width: 100%;
}


/*======= Column Section =========*/
#column {
    padding: 80px 0 60px;
    background-image: url('../images/bg3.png');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

.blog-wrapper {
    margin-top: 60px;
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    justify-content: space-evenly;
}

.blog-item {
    flex: 100%;
    max-width: calc(100% / 3 - 30px);
    margin: 0 30px 30px 0;
}

.blog-item:nth-child(3n) {
    margin: 0 0 30px 0;
}

.blog-wrapper2 {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    gap: 40px; 
    padding: 20px 0;
    box-sizing: border-box;
}

.blog-item2 {
    width: calc((100% - 1 * 40px) / 2); /* 2 items per row, 1 gaps */   
    box-sizing: border-box;
}

.blog-img img {
    width: 100%;
    height: 200px;
    object-fit: cover;
}

.blog-img2 img {
    width: 100%;
    height: 200px;
    object-fit: cover;
}


.blog-content {
    margin-top: 10px;    
    padding: 5px 10px;
    background: rgba(248, 232, 232, 1);  
    color: rgba(51, 51, 51, 1);
    position: relative;
    display: block;
    text-decoration: none; 
}

.blog-content:hover {
    text-decoration: none;
    color: rgba(51, 51, 51, 1);
}

.blog-date {
    display: inline-block;
    margin-right: 30px;
    font-family: georgia, serif;
    font-size: 18px;
}

.blog-title {
    display: inline-block;     
    color: rgba(51, 51, 51, 1);  
    font-weight: 500;
    font-size: 16px;
}

.blog-name {
    margin-top: 10px;
    display: block;
    color: rgba(51, 51, 51, 1);
    text-decoration: none;
    font-weight: 500;
    font-size: 16px;
}

.blog-name:hover {
    color: rgba(51, 51, 51, 1);
    text-decoration: none;
}



/*======= FAQ Section =========*/
#faq {
    padding: 80px 0 80px;
    background: rgba(248, 232, 232, 1);
}

/*======= Inquiry Section =========*/
#inquiry {
    padding: 80px 0 80px;
    background: rgba(250, 249, 239, 1);
}

.inquiry-text {
    text-align: center;
    background: rgba(248, 232, 232, 1);
    border: 1px solid rgba(242, 89, 133, 1);
    padding: 20px;
}

.icon-phone {
    width: 24px;
    height: auto;
    margin-right: 5px;
    position: relative;
    top: -3px;
}

.inquiry-text-title {
    color: rgba(242, 89, 133, 1);
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 10px;
}

.inquiry-text-content {
    color: rgba(51, 51, 51, 1);
    font-weight: 900;
    margin-bottom: 10px;
}

.inquiry-text-number {
    color: rgba(242, 89, 133, 1);
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 10px;
}

.inquiry-text-number a {
    color: rgba(242, 89, 133, 1);
    text-decoration: none;
    font-family: 'DIN 2014';
}

/*======= Inquiry Form Section =========*/
#inquiry-form {
    padding: 80px 0 80px;
    background: rgba(250, 249, 239, 1);
}

.contact-form {
    width: 80%;
    margin: 40px auto 0;    
}
.form-group {
    /* display: flex;
    align-items: flex-start;
    margin-bottom: 40px;
    gap: 15px;
    flex-wrap: wrap; */
    /* Adds consistent spacing between label and input */
}

.form-group p {
    display: flex;
    align-items: flex-start;
    margin-bottom: 30px;
    gap: 15px;
    flex-wrap: wrap;
}

.form-group p label {
    flex: 100%;
    /* min-width: 260px; */
    min-width: 100%;
    max-width: 20%;
    /* Adjust based on your longest label */
    white-space: nowrap;
    /* Prevents label from wrapping */
}

.form-group3 p label {
    /* min-width: 200px; */
}

.form-group .required {
    color: #fff;
    background: rgba(242, 89, 133, 1);  
    margin-left: 10px;
    font-size: 16px;
    font-weight: 700;
    padding: 2px 10px;
    float: none;
}

.form-group .norequired {
    color: #fff;
    background: rgba(184, 184, 184, 1);    
    margin-left: 5px;
    font-size: 16px;
    font-weight: 700;
    padding: 3px 40px;
    float: right;
}

.form-group p .wpcf7-form-control-wrap {
    flex: 1;
    padding: 8px;
    /* border: 1px solid #000; */
    border-radius: 0;
    background-color: #fff;
    color: rgba(89, 89, 89, 1);
}

.form-group2 p .wpcf7-form-control-wrap {
    flex: 1;
    padding: 8px;
    border: none;
    border-radius: 0;
    background-color: transparent;
    color: rgba(89, 89, 89, 1);
    margin-top: -5px;
}

.form-group3 p .wpcf7-form-control-wrap {
    flex: 1;
    padding: 8px;
    border: none;
    border-radius: 0;
    background-color: transparent;
    color: rgba(89, 89, 89, 1);
    margin-top: -5px;
}

input.wpcf7-form-control.wpcf7-text.wpcf7-validates-as-required.form-control {
    background: #fff;
    border: none;
    color: #000;
}

textarea.wpcf7-form-control.wpcf7-textarea.wpcf7-validates-as-required.form-control02 {
    background: #fff;
    border: none;
    width: 100%;
    color: #000;
}

.form-group .form-control02 {
    flex: 1;
    /* Takes up remaining space */
    padding: 8px;
    border: 1px solid #000;
    background-color: transparent;
    color: #000;
}

/* Special styling for textarea */
.form-group textarea {
    height: 140px;
    flex: 1;
    color: #000;
    /* Adjust height as needed */
    resize: vertical;
    /* Allows vertical resizing */
    border: none
}

.wpcf7-list-item {
    width: 290px;
}

.form-group4 .wpcf7-list-item {
    width: fit-content;
}

.form-control {
    border: none;
}

.btn-submit {
    /* display: block;
    margin: 20px auto 0; */
    cursor: pointer;
    /* background: transparent;
    border: none; */
}

.wpcf7-form-control-wrap {
    display: inline-block;
}

.wpcf7-text:focus,
.wpcf7-textarea:focus {
    outline: none !important;
}

/* Remove blue glow/outline from Contact Form 7 inputs */
.wpcf7-form-control:focus {
    box-shadow: none !important;
    outline: none !important;
    border-color: #ccc !important;
}

/* Specifically target input and textarea elements */
.wpcf7 input:focus,
.wpcf7 textarea:focus {
    box-shadow: none !important;
    outline: none !important;
    border-color: #ccc !important;
}

/* Override autofill background color */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 30px transparent inset !important;
    -webkit-text-fill-color: #000 !important;
    transition: background-color 5000s ease-in-out 0s;
}

/* For Firefox */
input:autofill,
input:autofill:hover,
input:autofill:focus,
input:autofill:active {
    box-shadow: 0 0 0 30px transparent inset !important;
    -webkit-text-fill-color: #000 !important;
}

.btn-submit:focus {
    outline: -webkit-focus-ring-color none;
}

.btn-submit {
    background: rgba(242, 89, 133, 1);
    color: #fff;   
    font-weight: 700;
    padding: 15px 40px;   
    text-decoration: none;
    width: fit-content!important;
    margin: 40px auto 0;
    border: none;
    border-radius: 100px;
}

.btn-submit:hover {
    color: #fff!important;
    text-decoration: none;
}

input[type=radio] {
    height: 20px;
    width: 20px;
    vertical-align: middle;
    appearance: none;
    border-radius: 50%;
    background-clip: content-box;
    border: 2px solid rgba(217, 217, 217, 1);
    background-color: rgba(217, 217, 217, 1);
}

input[type="radio"]:checked {
    background-color: #000;
    padding: 4px;
    border: 2px solid #000;
}

input.wpcf7-form-control.wpcf7-email.wpcf7-text.wpcf7-validates-as-email.form-control {
    border: none;
}




/*======= Footer Section =========*/
footer {
    background-image: url('../images/bg-footer.png');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    padding: 40px 0 0;
}

.footer-wrap {    
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    /* align-items: center; */
    max-width: 1460px;
    margin: 0 auto;
    padding: 50px 15px 20px;
}

.footer-left {
    flex: 100%;
    max-width: calc(50% - 30px);
    margin: 0 30px 30px 0;
}

.footer-right {
    flex: 100%;
    max-width: 50%;
    margin: 0 0 30px 0;
    padding-right: 10px;
    color: rgba(66, 62, 63, 1);
}

.timetable-header {
    font-size: 22px;
    font-weight: 700;
    color: rgba(51, 51, 51, 1);
    margin-bottom: 20px;
}

.ft-note-header {
    color: rgba(51, 51, 51, 1);
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 20px;
}

.tbl-timetable {
    width: 100%;
    border-collapse: collapse;    
}

.tbl-timetable tr th {
    background: rgba(242, 89, 133, 1);
    color: #fff;
    font-weight: 500;
    padding: 10px;
    border: 1px solid #fff;
    text-align: center;
}

.tbl-timetable tr td {
    padding: 10px;
    color: rgba(51, 51, 51, 1);
    font-weight: 400;
    border: 1px solid rgba(229, 229, 229, 1);
    background: #fff;
    text-align: center;
}

.timetable-note {
    margin-top: 10px;
    line-height: 2.0em;
}

.footer-wrap2 {
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    max-width: 1460px;
    margin: 0 auto;
    padding: 20px 15px 40px;    
    align-items: center;
}

.footer-item {
    flex: 100%;
    max-width: 33.33%;
    margin: 0 auto 0;
    padding: 0 10px;
    color: rgba(51, 51, 51, 1);
}

.logo-ft {
    max-width: 100%;
}

.ft-contact-address {
    font-size: 14px;
    font-weight: 500;
    color: rgba(51, 51, 51, 1);
    margin-bottom: 10px;
}

.ft__icon-tel {
    width: 36px;
    height: auto;
    position: relative;
    top: -5px;
}

.ft-tel {
    text-decoration: none;
    color: rgba(51, 51, 51, 1);
    font-size: 30px;
    font-weight: 700;
    font-family: 'DIN 2014';
}

.ft-tel:hover {
    text-decoration: none;
    color: rgba(51, 51, 51, 1);
}

.ft-contact-tel {
    margin-bottom: 0;
}

.ft-contact-parking {
    font-size: 14px;
    font-weight: 500;
    color: rgba(51, 51, 51, 1);
    margin-bottom: 10px;
}

.ft__icon-sns {
    height: 50px;
    width: auto;
}

.ft__icon-sns:first-child {
    margin-right: 20px;
}



.copyright {
    background: rgba(242, 89, 133, 1);
    color: #fff;
    padding: 15px 0;
    text-align: center;
    font-size: 12px;
}

.copyright p {
    margin: 0;
}

.ft-sns-list {
    background: #fff;
    padding: 10px;
    border-radius: 50%;
    margin-left: 10px;
    display: inline-block;
}

/* Page About */
/*======= Hospital Policy Section =========*/
#hospital-policy {
    padding: 80px 0 60px;
    background-image: url('../images/bg2.png');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center; 
}

.hospital-policy-desc {
    text-align: center;
}

/*======= Hospital Characteristics Section =========*/
#hospital-characteristics {
    padding: 80px 0 60px;
    background-image: url('../images/bg1.jpeg');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center; 
}

.characteristics-wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    gap: 20px;    
    box-sizing: border-box;
}

.characteristics-item {
    width: calc((100% - 2 * 20px) / 3); /* 4 items per row, 3 gaps */     
    box-sizing: border-box;
    text-align: center;
    border: 1px solid rgba(229, 229, 229, 1);
    background: #fff;
    padding: 20px 10px;
    border-radius: 8px;
}  

.characteristics-img  {
    margin-bottom: 10px;
}

.characteristics-img img {
    max-width: 100%;
    width: 56px;
    height: auto;
}

.characteristics-title {
    font-size: 18px;
    font-weight: 700;   
    margin-bottom: 10px;
}

.characteristics-desc {
    font-size: 16px;
    font-weight: 500;    
    margin-bottom: 0;
}

/*======= Delivery Method Section =========*/
#delivery-method {
    padding: 80px 0 0;
    background: rgba(250, 249, 239, 1);
    position: relative;
}

.delivery-method-intro {
    
}

.delivery-method-wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    gap: 40px;    
    box-sizing: border-box;
}

.delivery-method-item {
    width: calc((100% - 2 * 40px) / 3); /* 4 items per row, 3 gaps */
    box-sizing: border-box;  
    background: rgba(248, 232, 232, 1);
    padding: 40px 40px;
    border-radius: 8px;
    min-height: 427px;
}

.delivery-method-title {
    font-size: 22px;
    font-weight: 700;    
    margin-bottom: 20px;
}

.delivery-method-list {
    margin-top: 20px;
}

.btn-more2 {
    background:rgba(86, 140, 235, 1);    
}

.delivery-deco-img1 {
    width: 40%;
    position: relative;
    top: 30%;    
}

.delivery-deco-img2 {
    width: 50%;    
}

/*======= Staff Introduction Section =========*/
#staff-introduction {
    padding: 80px 0 60px;
    background-image: url('../images/bg3.png');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center; 
}

.staff-introduction-wrapper {
    margin-bottom: 60px;
}

.staff-introduction-item {
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    margin-top: 20px;
}

.staff-introduction-img {
    flex: 100%;
    max-width: calc(40% - 60px);
    margin: 0 60px 30px 0;    

}

.staff-introduction-text {
    flex: 100%;
    max-width: calc(60% - 60px);
    margin: 0 0 30px 0;    
}

.staff-introduction-img img {
    width: 100%;
    height: auto;
}

.staff-introduction-banner {
    background: linear-gradient(to right, rgba(242, 89, 133, 1), rgba(242, 89, 133, 0));
    margin-bottom: 20px;
    color: #fff;
    padding: 10px 20px;
}

.staff-introduction-position {
    font-size: 20px;
    font-weight: 700;
}

.staff-introduction-name {
    font-family: 'Noto Serif JP', serif;
    font-size: 32px;
    font-weight: 700;
    margin-bottom: 0;
}

.staff-introduction-name .name-en {   
    font-weight: 400;
    font-family: "Niconne", cursive;
    margin-left: 10px;
}

.staff-introduction-title {
    color: rgba(17, 17, 17, 1);
    font-weight: 700;
    font-size: 24px;
    border-bottom: 1px solid rgba(242, 89, 133, 1);
    margin-bottom: 20px;
    font-family: 'Noto Serif JP', serif;
}

.staff-introduction-content p,
.staff-introduction-desc {
    color: rgba(17, 17, 17, 1);
    font-weight: 400;
    font-size: 16px;
    line-height: 2.0em
}

.tbl-staff-intro {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid rgba(229, 229, 229, 1);
}

.tbl-staff-intro tr th {
    background: rgba(248, 232, 232, 1);
    color: rgba(242, 89, 133, 1);
    font-size: 20px;
    font-weight: 700;
    padding: 10px;
    border-top: 1px solid rgba(242, 89, 133, 1);
    border-bottom: 1px solid rgba(242, 89, 133, 1);
    text-align: center;
}

.tbl-staff-intro tr td {
    padding: 10px;
    color: rgba(51, 51, 51, 1);
    font-weight: 500;
    border-top: 1px solid rgba(242, 89, 133, 1);
    border-bottom: 1px solid rgba(242, 89, 133, 1);
}

.tbl-staff-intro tr td ul {
    margin-bottom: 0;
}

/*======= Facility Overview Section =========*/
#facility-overview {
    padding: 80px 0 60px;
    background: rgba(250, 249, 239, 1); 
}

.facility-overview-intro {
  
}

/* Tab Navigation */
.facility-tab-navigation {
    display: flex;
    flex-wrap: nowrap;
    width: 100%;
    gap: 0;
    margin-bottom: 0;
    border-bottom: 1px solid rgba(242, 89, 133, 0.3);
}

.facility-tab-btn {
    flex: 1;
    background: rgba(255, 240, 245, 1);
    color: rgba(242, 89, 133, 1);
    border: 1px solid rgba(242, 89, 133, 1);
    padding: 15px 20px;
    font-size: 16px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s ease;
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
    /* margin-right: 2px; */
    font-family: "Noto Sans JP", sans-serif;
    text-align: center;
    outline: none;
}

.facility-tab-btn:last-child {
    margin-right: 0;
}

.facility-tab-btn:hover {
    background: rgba(242, 89, 133, 0.2);
    color: rgba(242, 89, 133, 1);
}

.facility-tab-btn:focus,
.facility-tab-btn:active {
    outline: none;
}

.facility-tab-btn.active {
    background: rgba(242, 89, 133, 1);
    color: #fff;
    font-weight: 700;
}

/* Tab Content Wrapper */
.facility-tab-content-wrapper {
    background: #fff;
    border: 1px solid rgba(242, 89, 133, 1);
    border-top: none;
    padding: 40px;
    min-height: 400px;
    position: relative;
}

.facility-tab-content {
    display: none;
}

.facility-tab-content.active {
    display: block;
}

.facility-tab-title {
    font-size: 24px;
    font-weight: 700;
    color: rgba(51, 51, 51, 1);
    text-align: center;
    margin-bottom: 40px;    
}

/* Content Sections */
.facility-content-section {
    margin-bottom: 40px;
}

.facility-content-section:last-child {
    margin-bottom: 0;
}

.facility-section-title {
    font-size: 20px;
    font-weight: 700;
    color: rgba(51, 51, 51, 1);
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    font-family: "Noto Sans JP", sans-serif;
}

.facility-title-bar {
    width: 8px;
    height: 28px;
    background: rgba(242, 89, 133, 1);
    margin-right: 15px;
    display: inline-block;
    flex-shrink: 0;
}

.facility-section-desc {
    font-size: 16px;
    color: rgba(51, 51, 51, 1);
    line-height: 2.0em;
    margin-bottom: 20px;
    font-weight: 400;
}

.facility-amenities {
    margin-top: 20px;
}

.facility-amenities-title {
    font-size: 16px;
    font-weight: 700;
    color: rgba(51, 51, 51, 1);
    margin-bottom: 10px;
}

.facility-amenities-list {
    font-size: 16px;
    color: rgba(51, 51, 51, 1);
    line-height: 2.0em;
    margin-bottom: 0;
}

/*======= Facility Content Image Section =========*/
.facility-content-image-wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    gap: 40px;
}

.facility-content-image-item {
    width: calc((100% - 1 * 40px) / 2);
}

.facility-content-image-item img {
    width: 100%;
    height: auto;
	border-radius: 20px;
}

.facility-content-image-item-title {
    color: rgba(51, 51, 51, 1);
    font-weight: 700;
    text-align: center;
    margin: 10px 0;
}

.facility-layout-wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    gap: 60px;
    box-sizing: border-box;
}

.facility-layout-item {
    width: calc((100% - 1 * 60px) / 2);
    box-sizing: border-box;
}

.facility-layout-item img {
    width: 100%;
    height: auto;
	border-radius: 20px;
}

.facility-layout-item-title {
    color: rgba(51, 51, 51, 1);
}

/* Page Outpatient =========*/
/*======= Medical Services Section =========*/
#medical-services {
    padding: 80px 0 60px;
    background-image: url('../images/bg2.png');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center; 
}

.medical-services-desc {
    font-size: 16px;
    color: rgba(51, 51, 51, 1);
    line-height: 2.0em;
    margin-bottom: 20px;
}

.medical-services-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    gap: 20px;
    box-sizing: border-box;
}

.medical-services-item {
    width: calc((100% - 2 * 20px) / 3);
    box-sizing: border-box;
    background: #fff;
    border-radius: 8px;
    padding: 20px;
    min-height: 277px;
}

.medical-services-img img {
    width: 80px;
    height: auto;
    margin: 0 auto;
    display: block;
}

.medical-services-text {
    text-align: center;
    margin-top: 10px;
}

.medical-services-title {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 10px;
}

.medical-services-desc {
    color: rgba(17, 17, 17, 1);
}

/*======= Consultation Hours Section =========*/
#consultation-hours {
    padding: 80px 0 80px;
    background-image: url('../images/bg1.jpeg');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center; 
}

.consultation-hours-table {
    width: 100%;
    border-collapse: collapse;
}

.consultation-hours-table tr th {
    background: rgba(233, 30, 99, 1);
    color: #fff;
    border: 1px solid #fff;
    padding: 10px;
    text-align: center;
    font-weight: 900;
    width: calc(100% / 8);
}

.consultation-hours-table tr td {
    padding: 10px;
    background: #fff;
    text-align: center;
    border: 1px solid rgba(229, 229, 229, 1);
    width: calc(100% / 8);
}

.consultation-hours-note {
    margin-top: 20px;
}

/*======= 4D Ultrasound Section =========*/
#ultrasound-4d {
    padding: 80px 0 80px;
    background: rgba(250, 249, 239, 1);
}

.ultrasound-desc {
    font-size: 16px;
    color: rgba(17, 17, 17, 1);
    line-height: 2.0em;   
    font-weight: 500;
    margin-bottom: 20px;
}

.ultrasound-table {
    width: 100%;
    border-collapse: collapse;
}

.ultrasound-table tr th {   
    color: rgba(51, 51, 51, 1);
    border-bottom: 1px solid rgba(242, 89, 133, 1);
    padding: 10px;    
    font-weight: 900;    
}

.ultrasound-table tr td {       
    padding: 10px;    
    border-bottom: 1px solid rgba(242, 89, 133, 1);    
}

.ultrasound-note {
    margin-top: 20px;
    color: rgba(17, 17, 17, 1);
    font-weight: 500;
}

.ultrasound-img {
    text-align: center;    
}

.ultrasound-img img {
    width: 100%;
    height: auto;
}

.ultrasound-img video {
    width: 100%;
    height: auto;
}

/*======= Returning Home Section =========*/
#returning-home {
    padding: 80px 0 80px;
    background-image: url('../images/bg1.jpeg');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

.returning-home-img img {
    width: 100%;
    height: auto;
	border-radius: 8px;
}

.returning-home-desc {
    font-size: 16px;
    color: rgba(17, 17, 17, 1);
    line-height: 2.0em;
    font-weight: 500;
}

.returning-home-table {
    width: 100%;
    border-collapse: collapse;
}

.returning-home-table tr th {   
    color: rgba(51, 51, 51, 1);
    border-bottom: 1px solid rgba(242, 89, 133, 1);
    padding: 10px;    
    font-weight: 900;    
}

.returning-home-table tr td {       
    padding: 10px;    
    border-bottom: 1px solid rgba(242, 89, 133, 1);    
}

/*======= Mother Class Section =========*/
#mother-class {
    padding: 80px 0 80px;
    background: rgba(250, 249, 239, 1);
}

.mother-class-desc {
    font-size: 16px;
    color: rgba(51, 51, 51, 1);
    line-height: 2.0em;
    font-weight: 500;
}

.mother-class-desc h4 {
    font-size: 20px;
    font-weight: 700;
    color: rgba(51, 51, 51, 1);
}

.mother-class-desc p {
    font-weight: 500;
}

.mother-class-img img {
    width: 100%;
    height: auto;
	border-radius: 8px;
}

.mother-class-table {
    width: 100%;
    border-collapse: collapse;
}

.mother-class-table tr th {
    background: #f8e8e8;
    color: rgba(242, 89, 133, 1);
    border: 1px solid rgba(242, 89, 133, 1);
    padding: 10px;
    text-align: center;
    font-weight: 700;
}

.mother-class-table tr td {
    background: #fff;
    color: rgba(51, 51, 51, 1);
    border: 1px solid rgba(242, 89, 133, 1);
    padding: 10px;
    text-align: center;
    font-weight: 500;
}

.mother-class-table tr td:last-child {
    text-align: left;
}

.mother-class-note-wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    gap: 20px;
    box-sizing: border-box;
}

.mother-class-note {
    width: calc((100% - 1 * 20px) / 2);
    box-sizing: border-box;
    background: #fff;
    border: 1px solid rgba(242, 202, 212, 1);
    border-radius: 12px;
    padding: 20px;
    min-height: 165px;
}

.mother-class-note h4 {
    font-size: 18px;
    font-weight: 700;
    color: rgba(51, 51, 51, 1);
    border-bottom: 2px solid rgba(245, 155, 177, 1);
    display: inline-block;
    padding-bottom: 5px;
}

.mother-class-note ul {
    margin-left: -15px;
}

/* Page Hospitalization =========*/
/*======= Hospitalization Menu Section =========*/
.hospitalization-menu {    
    padding: 30px 20px;
    margin-bottom: 40px;   
}

.hospitalization-menu-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    justify-content: flex-start;
    position: relative;
    max-width: 70%;
    margin: 0 auto;
}

.hospitalization-menu-list li {
    margin: 0;
    padding: 0;
}

/* Top row: 3 buttons */
.hospitalization-menu-list li:nth-child(1),
.hospitalization-menu-list li:nth-child(2),
.hospitalization-menu-list li:nth-child(3) {
    width: calc((100% - 2 * 30px) / 3);
}

/* Bottom row: 2 buttons positioned below gaps between top row buttons */
.hospitalization-menu-list li:nth-child(4) {
    width: calc((100% - 2 * 30px) / 3);
    margin-left: calc((100% - 2 * 30px) / 6);
}

.hospitalization-menu-list li:nth-child(5) {
    width: calc((100% - 2 * 30px) / 3);
}

.hospitalization-menu-list li a {
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(242, 89, 133, 1);
    color: #fff;
    text-decoration: none;
    padding: 15px 20px;
    border-radius: 100px;
    font-size: 16px;
    font-weight: 700;
    transition: all 0.3s ease;
    gap: 8px;
}

.hospitalization-menu-list li a:hover {
    background: rgba(242, 89, 133, 0.9);
    text-decoration: none;
    color: #fff;  
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

.hospitalization-menu-list li a .icon-arrow {
    width: 28px;
    height: auto;
    filter: brightness(0) invert(1);
    position: relative;
    top: 3px;
}

/*======= Admit Hospital Section =========*/
#admit-hospital {
    padding: 80px 0 80px;
    background-image: url('../images/bg3.png');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

.admit-hospital-sec1 {
    background: rgba(248, 232, 232, 1);
    border: 1px solid rgba(242, 89, 133, 1);
    padding: 20px;
    text-align: center;
    border-radius: 12px;
}

.admit-hospital-sec1-center1 {
    display: inline-block;
    text-align: center;
}

.admit-hospital-sec1-center1 .txt-black {
    color: rgba(51, 51, 51, 1);
    font-weight: 900;
}

.txt-pink {
    color: rgba(242, 89, 133, 1);
    font-size: 20px;
    font-weight: 700;
}

.txt-pink img {
    width: 24px;
    height: auto;
    margin-right: 5px;   
}

.txt-pink2 {
    color: rgba(242, 89, 133, 1);
    font-size: 24px;
    font-weight: 700;
}


.txt-pink-tel {
    font-family: 'DIN 2014';    
}

.admit-hospital-sec1-center2 {
    display: inline-block;
    text-align: left;
    margin-top: 20px;
}

ul.admit-hospital-sec1-list {    
    list-style: none;
    padding-left: 0;
}

ul.admit-hospital-sec1-list li {
    position: relative;
    padding-left: 30px;
    margin-bottom: 8px;
}

ul.admit-hospital-sec1-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 2px;
    width: 20px;
    height: 20px;
    background-image: url('../images/check_circle.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.admit-hospital-sec3-table {
    width: 100%;
    border-collapse: collapse;
}

.admit-hospital-sec3-table tr th {
    background: rgba(248, 232, 232, 1);
    font-size: 16px;
    font-weight: 700;
    color: rgba(51, 51, 51, 1);
    padding: 20px 10px;
    text-align: center;
    border: 1px solid rgba(242, 89, 133, 1);
}

.admit-hospital-sec3-table tr td {
    padding: 20px 10px;
    border: 1px solid rgba(242, 89, 133, 1);  
    color: rgba(51, 51, 51, 1);  
    background: #fff;
}

.admit-hospital-sec3-table tr td:first-child {    
    font-weight: 900;
    text-align: center;
}

.admit-hospital-sec3-note {
    margin-top: 20px;   
    font-weight: 900;
    color: rgba(233, 30, 99, 1);
}

/*======= Things to Prepare Section =========*/
#things-to-prepare {
    padding: 80px 0 80px;
    background-image: url('../images/bg1.jpeg');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

.things-to-prepare-desc {
    font-size: 16px;
    color: rgba(51, 51, 51, 1);
    line-height: 2.0em;
    font-weight: 400;
}

.things-to-prepare-table {
    width: 100%;
    border-collapse: collapse;
}

.things-to-prepare-table tr th {
    color: rgba(51, 51, 51, 1);
    font-weight: 700;
    font-size: 18px;
    padding: 15px 20px;
    border-top: 1px solid rgba(242, 89, 133, 1);
    border-bottom: 1px solid rgba(242, 89, 133, 1);   
}

.things-to-prepare-table tr td {
    padding: 15px 20px;
    border-top: 1px solid rgba(242, 89, 133, 1);
    border-bottom: 1px solid rgba(242, 89, 133, 1);
    color: rgba(51, 51, 51, 1);
    font-weight: 500;
}

.things-to-prepare-group {
    margin: 40px 0;
}

.things-to-prepare-group-title {
    color: rgba(51, 51, 51, 1);
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 20px;
    border-left: 8px solid rgba(242, 89, 133, 1);
    padding: 5px 0 5px 15px;
}

.things-to-prepare-group-desc {
    font-size: 16px;
    color: rgba(51, 51, 51, 1);
    line-height: 2.0em;
    font-weight: 400;
}

.things-to-prepare-remark {
    background: rgba(250, 249, 239, 1);
    border: 1px solid rgba(242, 89, 133, 1);
    border-radius: 20px;
    padding: 20px;
    color: rgba(51, 51, 51, 1);
}

.things-to-prepare-remark-title {
    font-weight: 700;
    margin-bottom: 10px;
}

ul.things-to-prepare-remark-list {
    margin-left: -15px;
}

ul.things-to-prepare-list {
    margin-left: -15px;
}

/*======= Visiting Information Section =========*/
#visiting-information {
    padding: 80px 0 80px;
    background: url('../images/bg2.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.visiting-information-box {
    background: #fff;    
    border-radius: 8px;
    padding: 20px;
}

ul.visiting-information-list {    
    list-style: none;
    padding-left: 0;
}

ul.visiting-information-list li {
    position: relative;
    padding-left: 30px;
    margin-bottom: 8px;
}

ul.visiting-information-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 2px;
    width: 20px;
    height: 20px;
    background-image: url('../images/check_circle.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

/*======= During Hospital Stay Section =========*/
#during-hospital-stay {
    padding: 80px 0 80px;
    background: rgba(248, 232, 232, 1);
}

.during-hospital-stay-img img {
    width: 100%;
    height: auto;
	border-radius: 8px;
}

.during-hospital-stay-table {
    width: 100%;
    border-collapse: collapse;
}

.during-hospital-stay-table tr th {
    background: rgba(242, 89, 133, 1);
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    padding: 20px 10px;
    text-align: center;
    border: 1px solid #fff;
}

.during-hospital-stay-table tr td {
    padding: 20px 20px;
    border: 1px solid rgba(242, 89, 133, 1);
    color: rgba(51, 51, 51, 1);
    background: #fff;
}

.btn-download {
    border: 1px solid rgba(242, 89, 133, 1);
    background: #fff;
    color: rgba(242, 89, 133, 1);
    padding: 10px 20px;
    border-radius: 50px;
    display: block;   
    margin: 0 auto; 
    width: fit-content;
}

.btn-download img {
    width: auto;
    height: 14px;
    margin-right: 5px;
}

.btn-download:hover {
    text-decoration: none;
    color: rgba(242, 89, 133, 1);
}

/*======= Signs of Labor Section =========*/
#signs-of-labor {
    padding: 80px 0 0;
    background: url('../images/bg3.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
    overflow: visible;
}

#signs-of-labor .container {
    padding-bottom: 0;
}

.signs-of-labor-desc {
    font-size: 16px;
    color: rgba(51, 51, 51, 1);
    line-height: 2.0em;
    font-weight: 400;
}

#signs-of-labor .row.mgt-40:last-child {
    margin-bottom: 0;
    align-items: flex-end;
}

.signs-of-labor-img {
    position: relative;
    margin-left: -15px;
    margin-bottom: -15px;
    padding-bottom: 0;
    bottom: 20px;
}

.signs-of-labor-img img {
    width: 100%;
    height: auto;
    display: block;
    margin-bottom: 0;
}

.labor-sign-wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    gap: 20px;
}

.labor-sign-item {
    width: calc((100% - 1 * 20px) / 2);
    box-sizing: border-box;
    background: #fff;   
    border-radius: 8px;
    padding: 30px;
    box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
    min-height: 260px;
}

.labor-sign-item-title {
    color: rgba(242, 89, 133, 1);
    font-size: 18px;
    font-weight: 700;
}

.labor-sign-item-desc {
    margin-top: 20px;
    color: rgba(51, 51, 51, 1);
    line-height: 28px;
}

.signs-of-labor-note {
    margin-top: 20px;
    color: rgba(51, 51, 51, 1);
    font-size: 16px;
    font-weight: 500;
    margin-bottom: 60px;
}

/* Page Price =========*/
/*======= Maternity Delivery Fees Section =========*/
#maternity-delivery-fees {
    padding: 80px 0 80px;
    background: url('../images/bg3.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.w80 {
    width: 80%;
    margin: 0 auto;
}

.tbl-maternity-delivery-fees {
    width: 100%;
    border-collapse: collapse;
}

.tbl-maternity-delivery-fees tr th {
    background: rgba(248, 232, 232, 1);
    padding: 20px 30px;
    color: rgba(51, 51, 51, 1);
    font-size: 18px;
    font-weight: 700;
    border-bottom: 1px solid rgba(242, 89, 133, 1);
}

.tbl-maternity-delivery-fees tr td {
    padding: 20px 30px;
    border-bottom: 1px solid rgba(242, 89, 133, 1);
    background: #fff;
    color: rgba(51, 51, 51, 1);
}

.maternity-delivery-fees-note {
    color: rgba(51, 51, 51, 1);
    margin-top: 20px;
}

.maternity-delivery-fees-note-title {
    color: rgba(51, 51, 51, 1);
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 20px;
    border-left: 8px solid rgba(242, 89, 133, 1);
    padding: 5px 0 5px 15px;
}


ul.maternity-delivery-fees-note-list {    
    list-style: none;
    padding-left: 0;
}

ul.maternity-delivery-fees-note-list li {
    position: relative;
    padding-left: 30px;
    margin-bottom: 15px;
}

ul.maternity-delivery-fees-note-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 2px;
    width: 20px;
    height: 20px;
    background-image: url('../images/check_circle.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

/*======= Private Medical Fees Section =========*/
#private-medical-fees {
    padding: 80px 0 80px;
    background: url('../images/bg1.jpeg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.private-medical-fees-desc {
    color: rgba(51, 51, 51, 1);
}

.tbl-private-medical-fees {
    width: 100%;
    border-collapse: collapse;
}

.tbl-private-medical-fees tr th {
    background: rgba(242, 89, 133, 1);
    color: #fff;
    padding: 20px 30px;
    font-size: 18px;
    font-weight: 700;
    border-bottom: 1px solid rgba(242, 89, 133, 1);
}

.tbl-private-medical-fees tr td {
    padding: 20px 30px;
    border-bottom: 1px solid rgba(242, 89, 133, 1);
    background: #fff;
    color: rgba(51, 51, 51, 1);
}

.tbl-private-medical-fees tr td:first-child {
    font-weight: 500;
}

/*======= Medical Document Fee Section =========*/
#medical-document-fee {
    padding: 80px 0 80px;
    background: url('../images/bg2.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.medical-document-fee-desc {
    color: rgba(51, 51, 51, 1);
}

.tbl-medical-document-fee {    
    width: 100%;
    border-collapse: collapse;
}

.tbl-medical-document-fee tr th {
    background: rgba(248, 232, 232, 1);
    font-weight: 700;
    font-size: 16px;
    padding: 20px 30px;
    border-top: 1px solid rgba(242, 89, 133, 1);
    border-bottom: 1px solid rgba(242, 89, 133, 1);
    color: rgba(51, 51, 51, 1);
}

.tbl-medical-document-fee tr td {
    background: #fff;
    padding: 20px 30px;
    border-bottom: 1px solid rgba(242, 89, 133, 1);
    color: rgba(51, 51, 51, 1);
}

.tbl-medical-document-fee tr th:first-child,
.tbl-medical-document-fee tr td:first-child  {
    width: 55%;    
}

/*======= Private Room Fee Section =========*/
#private-room-fee {
    padding: 80px 0 80px;
    background: rgba(248, 232, 232, 1);
}

.private-room-fee-desc {
    color: rgba(51, 51, 51, 1);
}

.tbl-private-room-fee {
    width: 100%;
    border-collapse: collapse;
}

.tbl-private-room-fee tr th {
    background: rgba(242, 89, 133, 1);
    color: #fff;
    padding: 20px 30px;
    font-size: 18px;
    font-weight: 700;
    border-bottom: 1px solid rgba(242, 89, 133, 1);
}

.tbl-private-room-fee tr td {
    padding: 20px 30px;
    border-bottom: 1px solid rgba(242, 89, 133, 1);
    background: #fff;
    color: rgba(51, 51, 51, 1);
}

.tbl-private-room-fee tr td:first-child {
    font-weight: 500;
}

/*======= Thanks Section =========*/
#thanks {
    padding: 80px 0 80px;    
}

.thanks-desc {
    color: rgba(51, 51, 51, 1);
    text-align: center;
}

.tbl-private-medical-fees-sp {
    display: none;
}