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

/*--------------------------------------
 　ベース
  --------------------------------------*/
:root {
  --main-color: #fe9f83;
  --footer-bg-color: #ffede9;
  --text-color: #545454;
  --width: calc(100vw + 0px);    
}
html {
    box-sizing: border-box;
    font-size: 16px;
}
body {
    font-family: yu-gothic-pr6n, sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 0.9rem;
    line-height: 1.5;
    margin: 0;
    padding: 0;
    width: 100%
}
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
    color: var(--text-color);    
    margin: 0;
    padding: 0;
    border: 0;
}
table, caption, th, td {
    margin: 0;
    padding: 0;
    border: 0;
    border-collapse : collapse ;
    border-spacing: 0px;
    empty-cells: show;
    text-align: left;
    font-weight: normal;    
}
ol, ul, li {
   list-style: none; 
}
a {
    text-decoration: none;
}
h1, h2, h3, h4, .text_em {
    font-family: vdl-v7marugothic, sans-serif !important;
    font-weight: 700;
    font-style: normal;
}
h1 {
    font-size: 1.7rem;
    margin: auto;
    padding: 1.5rem 0;
    text-align: center;
}
h1 span {
    font-size: 1.4rem;
    padding-right: 0.1rem;
}
p {
    
}
.col_two {
    display: flex;
    align-items: flex-start; 
    justify-content: center;
    gap: 3vw;
}
.col_two .col {
    width: 50%;
}

/*--------------------------------------
 　ヘッダ
  --------------------------------------*/
header {
        
}

/*--------------------------------------
 　コンテンツ
  --------------------------------------*/
#container {
}
.main-content {
    position: relative;    
}
.main-content img {
    width: 100%;
    height: auto;
    aspect-ratio: 7 / 4;
}
.main-content .catch {
    font-size: 1.8rem;
    letter-spacing: 0.8rem;
    line-height: 3.2rem;
    position: absolute;
    top: 8%;
    left: 43%;    
    writing-mode: vertical-rl;
}
.content {
    width: 57vw;
    max-width: 1100px;
    margin: 5rem auto;
}
.content p {
    font-size: 1.1rem;  
    line-height: 1.5;   
}
.content .content_title {
    font-size: 1.4rem;  
    line-height: 1.4;   
    margin-bottom: 2rem;
}
.content .content_detail ul li {
    border-bottom: #808080 dashed 1px;
    padding: 0.7rem 0;
}
.content .content_detail ul li .date {
    display: block;
    font-size: 0.9rem;
}


/*--------------------------------------
 　フッタ
 --------------------------------------*/
footer {
    width: 100%;
    background: var(--footer-bg-color);
    padding: 3rem 0;
}
.footer-content {
    width: 57vw;
    max-width: 1100px;
    margin: 0 auto;   
}
.footer-content .notes {
    font-size: 0.8rem;
}
.content_clinic {       
}
.clinic_name {
    font-size: 1.6rem;
    margin-bottom: 0.5rem;
}
.clinic_tel span {
    font-size: 1.4rem;
}
.content_hours {
}
.content_hours table {
    border: 3px solid var(--main-color);
    table-layout: fixed;
}
.content_hours table tr:first-child {
    background-color: var(--main-color);    
}
.content_hours table th {
    background-color: var(--main-color);
    border-bottom: 1px solid var(--main-color);
    color: #FFF;
 }
.content_hours table th,
.content_hours table td {
    border-bottom: 1px solid var(--main-color);
    border-right: 1px solid var(--main-color);
    font-size: 0.9rem;
    font-weight: 700;
    padding: 0.8rem;
    text-align: center;
    white-space: nowrap;
 }
.content_hours table td {
    background-color: #FFF;
    border-bottom: 1px solid var(--main-color);
    color: var(--main-color);
 }
.content_hours table td.closed {
    color: var(--text-color);
}
.content_hours table td:first-child {
    color: var(--text-color);
 }
.content_hours table td:last-child {
    border-right: none;  
 }
.content_hours .notes {
    margin: 1rem 0 0;
 }
.content_etc {
    display: block;
    font-size: 0.85rem; 
    line-height: 1.4;     
    margin: 3rem auto;
    text-align: center;
}
address {
    font-size: 1rem;
    text-align: center;
    margin: 3rem auto 0;
}

@media (max-width: 1680px) {
    html {
        font-size: 15px;
    }
    .content,
    .footer-content {
        width: 61vw;
        max-width: none;
    }    
}
@media (max-width: 1440px) {
    html {
        font-size: 12px;
    }
    .content,
    .footer-content {
       width: 59vw;
    }       
}
@media (max-width: 1280px) {
    .content,
    .footer-content {
        width: 64vw;
        max-width: none;
    }      
}
@media (max-width: 1180px) {
    .main-content .catch {
        left: 43%;    
    }    
    .content,
    .footer-content {
        width: 69vw;
        max-width: none;
    }    
}
@media (max-width: 1024px) {
    .main-content .catch {
        left: 40%;    
    }    
    .content,
    .footer-content {
        width: 79vw;
        max-width: none;
    }        
}
@media (max-width: 960px) {
    html {
        font-size: 12px;
    }    
    .main-content .catch {
        left: 40%;    
    }
    .content {
        display: block;          
        margin: 3rem auto;
        width: 75vw;          
    }
    .content .col {
        width: 100%;        
        margin: 0 auto 1.5rem;
    }    
    .content .content_title {
        margin-bottom: 0.5rem;
    }
    .content .content_detail ul li {
        padding: 0 0 0.7rem;
    } 
    .footer-content .col {
        margin: 0 auto 1.5rem;
    }
    .content_etc {
         width: 75vw;
        text-align: left;
    }
}
@media (max-width: 768px) {
    .col_two {
        display: block;
        width: 85vw;      
    }
    .col_two .col {
        width: 100%;
        margin: 0 auto 1.5rem;
    }
    .main-content .catch {
        left: 40%;    
    }    
    .footer-content {
        text-align: center;
    }     
    .clinic_name {
        margin-bottom: 1.5rem;
    } 
    .clinic_address p {
        display: inline-block;
        margin: 0 auto;
        text-align: left;
    }
    .clinic_tel p {
        display: inline-block;
        margin: 0.5rem auto 0;
        text-align: left;        
    }
    .content_hours table {
        border: 2px solid var(--main-color);        
        margin: 0 auto;
    }   
}
@media (max-width: 520px) {
    .main-content .catch {
        top: 6%;
        left: 35%;
        font-size: 1.2rem;
        letter-spacing: 0.3rem;
        line-height: 2rem;
        text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.4);
    }
}