@charset "UTF-8";

/* 基本 */
:root{
    --v-space: clamp(90px, 9vw, 120px);
}

body{
    margin: 0;
    background-color: #eeeeee;
    color: #222222;
    font-family: sans-serif;
}

h1,h2,h3,figure,ul{
    margin: 0px;
    padding: 0px; 
    list-style: none;
}

p{
    list-style: none;
    line-height: 1.8em;
}

a{
    color: inherit;
    text-decoration: none;
}

a:hover{
    filter: brightness(85%) contrast(125%);
}

img{
    display: block;
    max-width: 100%;
    height: auto;
}

/* 横幅と左右の余白 */
.width-adjust{
    width: min(92%, 1166px);
    margin: auto;
    /*position: relative;*/
}

/* ヘッダー */
.header{
    height: 72px;
    background-color: #ffffff;
    position: sticky;
    top: 0;
    z-index: 10;
}

.header-container{
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 100%;
}

/* ナビボタン */
.navbtn{
    padding: 0;
    outline: none;
    border: none;
    background-color: transparent;
    cursor: pointer;
    color: #aaaaaa;
    font-size: 30px;
}

.open .navbtn{
    z-index: 110;
    color: #ffffff;    
}

.navbtn .fa-bars{
    display: revert;
}

.open .navbtn .fa-bars{
    display: none;
}

.navbtn .fa-times{
    display: none;
}

.open .navbtn .fa-times{
    display: revert;
}

/* ナビゲーションメニュー：モバイル */
@media screen and (max-width: 768px){
    .nav{
        position: fixed;
        inset: 0 -100% 0 100%;
        z-index: 100;
        background-color: rgba(0, 0, 100, 0.781);
        transition: transform 0.3s;
    }

    .open .nav{
        transform: translate(-100%, 0);
    }

    .open body{
        position: fixed;
        overflow: hidden;
    }

    .nav ul{
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        height: 100%;
        gap: 40px;
        color: #ffffff;
    }

    .year-calender-box{
        display: grid;
        grid-template-columns:repeat(2,220px);
        grid-template-rows: repeat(6,180px);
        justify-content: center;
        gap: 5px;
    }
}

/* ナビゲーションメニュー：PC */
@media screen and (min-width: 769px){
    
    .nav ul{
        display: flex;
        gap: 30px;
        color: #707070;
    }
    .navbtn{
        display: none;
    }
    
    .contents-container{
        grid-template-columns: repeat(3, 1fr);
    }
    
    /* お知らせ */
    .info dt{
        padding-left: 8%;
        width: 30%;
        clear: left;
        float: left;
    }
    .info dd{
        margin-left: 6%;
    }
    .year-calender-box{
        display: grid;
        grid-template-columns:repeat(3,230px);
        grid-template-rows: repeat(4,180px);
        justify-content: center;
        gap: 10px;
    }
}

/* メイン画像 */
.main{
    height: 650px;
    background-image: url(img/minori.jpg);
    background-position: center;
    background-size: cover;
}

.main-container1{
    display: grid;
    grid-template-rows: auto auto;
    gap: 20px;    
    justify-items: center;
    height: 100;
}

.copy{
    padding-top: 80px;
    
    align-self: flex-end;
    font-family: 'M PLUS Rounded 1c', sans-serif;
    font-size:  clamp(16px, 2.5vw, 44px);
    min-height: 0vw;
    font-weight: 400;
    text-align: center;
    color: #ffffff;
    /*background-color: #ffffff66;*/
}    

.sub-copy{
    align-self: flex-start;
    padding: 0;
    margin: 0;
    font-size:  clamp(12px, 2vw, 24px);
    min-height: 0vw;
    text-align: center;
    color: #ffffff;
    /*background-color: #ffffff66;*/
}

.main-container2{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(1, 1fr);
    gap: clamp(0px, 2vw, 40px);
    align-items: start;
}

.caltext{
    padding: 0;
    padding-top: clamp(80px, 2vw, 120px);;
    padding-bottom: 5px;
    margin: 0;
    font-size:  clamp(16p, 2vw, 20px);
    font-weight: 400;
    color: #ffffff;
    
    min-height: 0vw;
    text-align: center;
}

.cal1{
    grid-column: 1;
    grid-row: 1;
    background-color: #ffffff66;
    width: clamp(300px, 5vw, 500px);
    justify-self: end;
}

.cal2{
    grid-column: 2;
    grid-row: 1;
    background-color: #ffffff66;
    width: clamp(300px, 5vw, 500px);
}
.year-cal{
    padding-top: 20px;
    text-align: center;
    color: white;
    font-weight: 200;    
}
.year-cal:hover{
    color: rgb(131, 238, 255);
    font-weight: 400;
}
.year-calender-box{
    padding: 10px;
    background-color: White;
}

/* 画像とテキスト */
.imgtext{
    padding: var(--v-space) 0;
    background-color: #ffffff;
}

.imgtext + .imgtext{
    padding-top: 0;
}

/* お知らせ */
.info dl{
    border-bottom: 1px solid #ccc;
    padding: 20px 0;
}

.info dt{
    padding-bottom: 6px;
}
.info dd{
    padding-bottom: 12px;
}

.info-cat{
    background: #64abf6;
    color: #FFF;
    text-align: center;
    /*display: inline-block;*/
    padding: 5px 20px;
    font-size: 12px;
    line-height: 1;
}
.info-topics{
    color:black;
    font-weight: bold;
}
.info-topics:hover{
    color:blue;
}

.info-deco{
    color: rgb(202, 100, 17);
}

.info{
    padding-top: 0px;
    padding-bottom: 0px;    
    background-color: #ffffff;
    
}

/* コンテンツ一覧 */
.contents{
    padding: var(--v-space) 0;
    background-color: rgb(227, 248, 255);
}

.contents-container{
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 32px 25px;
}

.content-text p{
    text-indent: 1em;
}

/* フッター */
.footer{
    padding: 0;
    background-color: #ffffff;
    color: #707070;
    font-size: clamp(11px, 1.6vw, 14px);
    min-height: 0vw;
}

.footer-container{
    padding-top: 30px;
    display: grid;   
    justify-items: center;
    padding-bottom: 30px;
}

/* 診療日 */
.footer-week table{
    
        width: 380px;
        table-layout: fixed;
        height: 100px;
        text-align: center;
        
}

.type_0 {
    height: 30;
}
.type_1 {
    height: 20;
}
.type_2 {
    height: 15;
    font-size: smaller;
}
.maru {
    color:#0300ae;
    background: #ffffff;
    font-size: medium;
}

.footer-week tr:first-child{
    
        color:#0300ae;
        background: rgb(164, 255, 255);
        font-weight: bold;
}

.footer-week td:first-child{
        width: 90px;
}


.footer-week img{
    width: 560px;
    height: auto;
}

.footer-holiday{
    color: #222222;
    text-align: center;
    padding-top: 30px;
    padding-bottom: 30px;
}

/* Googleの地図 */
.footer-map{
    margin: auto;
    position: relative;
    padding: calc(300 / 400 * 100%) 0 0;
    width: min(75%, 1166px);
}

.footer-map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.footer-address{
    text-align: center;
    padding-top: 20px;
}

.footer-tel{
    padding-top: 0px;
    padding-bottom: 30px;
    color: #222222;
    font-size: clamp(16px, 5vw, 32px);
}

.footer-container2{
    padding-top: 30px;
    padding-bottom: 30px;
    display: grid;   
    justify-items: center;
    background-color: #f0f0f0;
}

.footer-copyright{
    padding-top: 20px;
    text-align: center;
}

@media(min-width: 769px){
    .footer-container{
        display: grid; 
        gap: 20px;  
        grid-template-rows: repeat(2, 1fr);
        grid-template-columns: repeat(2, 1fr);
    }
    .footer-container > .footer-fx1{
        grid-column: 1;
        grid-row: 1;
    }
    
    .footer-container > .footer-fx1  > .footer-holiday{
        font-size: clamp(10px, 1vw, 16px);
    }

    .footer-container > .footer-fx2{
        grid-column: 1;
        grid-row: 2;
    }

    .footer-container > .footer-map{
        grid-column: 2;
        grid-row: 1 / 3;
    }

}

/* コンテンツ */
.content{
    padding-bottom: var(--v-space);
    background-color: #ffffff;
}

.content-img img{
    width: 100%;
    max-height: 300px;
    object-fit: cover;
    margin-bottom: calc(var(--v-space)*2/3);
}

.content .width-adjust{
    max-width: 720px;
}

.content a{
    display: block;
}

.content h3{
    margin: 1em 0 1em;
    font-family: 'M PLUS Rounded 1c', sans-serif;
    font-size: clamp(14px, 2vw, 20px);
    min-height: 0vw;
    color: #707070;
}
.content-year-calender h3{
    margin: 1em 0 1em;
    font-family: 'M PLUS Rounded 1c', sans-serif;
    font-size: clamp(14px, 2vw, 20px);
    min-height: 0vw;
    color: #707070;    
}

.content-deco{
    font-family: 'M PLUS Rounded 1c', sans-serif;
    font-size:  clamp(30px, 2.5vw, 40px);
    min-height: 0vw;
    font-weight: 400;
}

.content-deco::after{
    display: block;
    content: '';
    width: 300px;
    height: 0px;
    border-top: solid 2px #0300a0;
    margin-top: 0.6em;
}

.content-text{
    font-size: clamp(16px, 2.4vw, 18px);
}

.content-text ul{
    line-height: 1.8em;
    padding-left: 50px;
    list-style: revert;
}

.content-text :where(p){
    margin-top: revert;
    margin-bottom: revert;
    padding: revert;
}

.content-link{
    color: rgb(0, 0, 255);
    text-align: right;
}

.content-text a{
    color: rgb(0, 0, 255);    
}

.inlist-linktext a{
    padding-left: 100px;
    margin-left: 0px;
    color: rgb(0, 0, 255);    
}



/* 設備写真 */
@media(max-width: 768px){
    .image-container{
        display: grid;
        grid-template-columns: repeat(2,1fr);
        grid-template-rows: repeat(4,1fr);
        text-align: center;
        align-items: center;
        font-size: 12px;
        gap: 10px
    }
    .intro-image01{
        grid-column: 1;
        grid-row: 1;
    }
    .intro-image02{
        grid-column: 2;
        grid-row: 2;
    }
    .intro-image03{
        grid-column: 1;
        grid-row: 3;
    }
    .intro-image04{
        grid-column: 2;
        grid-row: 4;
    }
    .intro-text01{
        grid-column: 2;
        grid-row: 1;
        
    }
    .intro-text02{
        grid-column: 1;
        grid-row: 2;
        
    }
    .intro-text03{
        grid-column: 2;
        grid-row: 3;
        
    }
    .intro-text04{
        grid-column: 1;
        grid-row: 4;
        
    }
}

@media(min-width: 768px){
    .image-container{
        display: grid;
        grid-template-columns: repeat(4,1fr);
        grid-template-rows: repeat(2,1fr);
        text-align: center;
        align-items: center;
        font-size: 12px;
        gap: 0px;
        padding-bottom: 50px;
    }
    .intro-image01{
        grid-column: 1;
        grid-row: 1;
    }
    .intro-image02{
        grid-column: 2;
        grid-row: 2;
        
    }
    .intro-image03{
        grid-column: 3;
        grid-row: 1;
    }
    .intro-image04{
        grid-column: 4;
        grid-row: 2;
    } 
    .intro-text01{
        grid-column: 2;
        grid-row: 1;
        
    }
    .intro-text02{
        grid-column: 1;
        grid-row: 2;
        
    }
    .intro-text03{
        grid-column: 4;
        grid-row: 1;
        
    }
    .intro-text04{
        grid-column: 3;
        grid-row: 2;
    }
}

.access-map{
    background-color: rgb(229, 253, 253);
}

.orthofee table{
    margin: auto;
    width: 80%;
    border: 0px;
    border-collapse: collapse;
    /*table-layout: fixed;*/
}

@media (min-width: 769px){
    .orthofee table th {
        width: calc(100% / 2);
        font-weight: normal;
        background-color: rgb(219, 250, 255);
        font-size: 16px;
        border-bottom: 1px solid #1348b0;
        color: #020148;
        text-align: left;
        padding: 15px;
    }
    .orthofee table tr {
        width: calc(100% / 2);
        font-weight: normal;
        background-color: rgb(255, 255, 255);
        font-size: 16px;
        border-bottom: 1px solid #1348b0;
        color: #1e1e1e;
        text-align: center;
        padding: 15px;
    }
}
@media (max-width: 768px){
    .orthofee table th {
        width: calc(100% / 2);
        font-weight: normal;
        background-color: rgb(219, 250, 255);
        font-size: 12px;
        border-bottom: 1px solid #1348b0;
        color: #020148;
        text-align: left;
        padding: 10px;
    }
    .orthofee table tr {
        width: calc(100% / 2);
        font-weight: normal;
        background-color: rgb(255, 255, 255);
        font-size: 12px;
        border-bottom: 1px solid #1348b0;
        color: #1e1e1e;
        text-align: center;
        padding: 10px;
    }
}



