@charset "UTF-8";

*{
    margin: 0;
    padding: 0;
}

/* ------------.header---------------------- */
header {
    background-color: #FAEBAE;
}
.header-photo {
    height: 80vh;
    background-image:url(../images/main.jpg) ;
    background-repeat: no-repeat;
    background-size: contain;
}
.header-flex {
    display: flex;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    padding-top: 2vw; 
    
}
h1 {
    width: 30%;
}
h1 a {

}
h1 a img {
    display: block;
    width: 100%;
}
.header-adoress {
    width: 25%;
    margin-left: 15%;
    font-style: normal;
    font-size: 1.0vw;
}
.header-adoress p:nth-of-type(1) {
    font-size: 1.0vw;
    white-space: pre-wrap;
    color: #505050;
}
.header-adoress p:nth-of-type(2) {
    font-size: 2.0vw;
    white-space: pre-wrap;
    color: #505050;
}
/* --------Webボタン----------------------------- */
/* --------box1------------------------- */
.header-box1 { 
    width: 13%;
    height: 3vw;
    margin-left: 3%;
    padding: 1vw 0;
    background-color: #EA7683;
    border-radius: 10px;
    align-items: baseline;
}
.header-box1:hover {
    background-color: #fff;
    border: 3px solid #EA7683;
    transition: 1s;
}
.header-box1 a {
    display: block;
    line-height: 2;
    text-decoration: none;      
}
.box1 {
    display: flex;  
}
.box1 img {
    display: block;
    width: 20%;
    height: 3vw;
    margin-left: 0.5vw;
}
.box1 p {
    width: 78%;    
    margin-left: 2%;
    font-size: 1.7vw;
    font-weight: 600;
    color: #fff; 
    transition: 1s;
}
.box1 p:hover {
    color: #EA7683; 
    transition: 1s;
}
/* ------box2---------- */
.header-box2 {   
    width: 13%;
    height: 3vw;
    margin-left: 1%;
    padding: 1vw 0;
    background-color: #EFA724;
    border-radius: 10px;
    align-items: baseline;
}
.header-box2:hover {
    background-color: #fff;
    border: 3px solid #EFA724;
    transition: 1s;
}
.header-box2 a {
    display: block;
    line-height: 2;
    text-decoration: none;      
}
.box2 {
    display: flex;
}
.box2 img {
    display: block;
    width: 20%;
    height: 3vw;
    margin-left: 0.5vw;     
}
.box2 p {
    width: 78%;
    margin-left: 2%;
    font-size: 1.7vw;
    font-weight: 600;
    color: #fff;
    transition: 1s;
}
.box2 p:hover {
    color: #EFA724;
    transition: 1s;
}

/* --------.header nav----------------- */
nav {
    height: 15vh;
    background-color: #FAEBAE;
}
nav ul {  
    display: flex;
    width: 77%;
    margin-top: 48vh;
    margin-left: auto;
    margin-right: auto;  
}
nav ul li { 
    width: calc(100%/7);
    height: 9.5vh;
    margin-top: 1vw;
    padding-top: 1vw;
    border-left: 1px solid #909090;
    list-style: none;
    text-decoration: none;
    text-align: center;
    background-color: #FAEBAE;
}
nav ul li:hover {
    background-color: #fff;
}
nav ul li:nth-of-type(7) {
    border-right: 1px solid #909090;
}
.nav-child {
    width: 100%; 
}
.nav-child a {
    display: block;
    width: 100%;
    height: 6vw;
    text-decoration: none;
}
nav ul li p {
    font-size: 1.1vw;
}
.nav-child a img:nth-of-type(2) {
    display: block;
    width: 30%;
    margin-left: auto;
    margin-right: auto;
    opacity: 0;   
}
.nav-child a img:nth-of-type(2):hover {
    display: block;
    opacity: 1;
    transition: 0.1;
}


/* -------main--------------------- */
/* ------トップ戻るボタン----------------- */
.top-pagebutton {
    position: fixed;
    top: 35.5vw; 
    left: 90%;
    transition: 1s;
    z-index: 100;   
}
.top-pagebutton:hover {
    transform: scale(1.2,1.2);
    transition: 1s;
}

/* -------セクション部分全体---------- */
section h2 {
    font-family:"Kiwi Maru", serif;
    font-weight: 300;
    font-size: 3vw;
    text-align: center;
    padding-top: 2vw;
    margin-bottom: 2vw; 
    color: red;
}
h3 {
    margin-top: 2vw;
    margin-bottom: 1vw;
    font-size: 2vw;
}
/* ----------------------------------------------- */
/* ----------------------------------------------- */

/* -------section➀　当クリニックのご紹介----------------------- */

section:nth-of-type(1) {
    height: 120vh;
    width: 77%;
    margin-left: auto;
    margin-right: auto;    
}
.girl {
    display: flex;
    width: 100%;
    margin-bottom: 4vw;
}
.girl p {
    width: 67%;
    line-height: 1.7;
    white-space: pre-wrap;
    margin-top: 1vw;
    margin-right: 5%;
}
.girl img {
    display: block;
    width: 15%;
    height: 12vh;
}
h4 { 
    margin-top: 1.2vw; 
    margin-left: 3vw; 
    font-size: 2.2vw;
}
h4::before {
    content: " ● ";
    color: #FC6077;
}
section:nth-of-type(1) p {
    margin-top: 1vw;
    margin-left: 3vw; 
}
section:nth-of-type(1) ul {
    margin-left: 3vw;
    margin-bottom: 3vw;
}
section:nth-of-type(1) ul li{
    list-style-position: inside;
    line-height: 1.7;
}
/* --------sectio➁　施設のご紹介--------------- */
section:nth-of-type(2) {
    height: 220vh;
    width: 77%;
    margin-left: auto;
    margin-right: auto;
    position: relative;
}
/* -------イラスト------------------------ */
.illust {
    width: 100%;
    height: 2vh; 
    background-color: #FBEBAE;
}
.rabbit {
    position: absolute;
    width: 10%;
    top: 500px;
    left: 0px;
    animation: anime-rabbit 3s infinite;
}
.rabbit img {
    display: block;
    width: 100%;
}
@keyframes anime-rabbit{
    50%{
        transform: translateY(4vw);
    }
}
/* ---------------------------------- */
.bear {
    position: absolute;
    width: 10%;
    top: -60px;
    left: 600px;
    animation: anime-bear 3s infinite;
    animation-delay: 1s;
}
.bear img {
    display: block;
    width: 100%;
}
@keyframes anime-bear {
    50% {
         transform: translateX(4vw);
    }
}
/* --------------------------- */
.harinezumi {
    position: absolute;
    width: 10%;
    top: 30px;
    left: 50px;
    animation: anime-harinezumi 3s infinite;
    animation-delay: 0.5s;
}
.harinezumi img {
    display: block;
    width: 100%;
}
@keyframes anime-harinezumi{
    50% {
        transform: rotateY(180deg);
    }
}
/* --------sectio➁　施設のご紹介----------------------- */

.photo {
    display: flex;
    width: 84%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 3vw;
}
figure:nth-child(1) {
    width: 46%;
    margin-right: 8%; 
}
figure:nth-of-type(2) {
    width: 46%;
}
.photo-child {
    overflow: hidden;
}
.photo img {
    display: block;
    width: 100%;
    border: 4px solid #FAEBAE;
    border-radius: 10px;
     transition: 1s;
}
.photo img:hover {
    transform: scale(1.2,1.2);
    transition: 1s;
}
/* -------------------------------- */
.kannsenn {
    
    width: 84%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 3vw;
    height: 45vh;
    border: 4px solid #FAEBAE;
    border-radius: 10px;
    background-color: #FDF8E3;

}
.kannsenn h3 img {
    display: block;

}
.kannsenn p {
    margin-left: 3vw;
}
.kannsenn ul {

}
.kannsenn ul li {
    line-height: 1.7;
    list-style-position: inside;
    margin-left: 4vw;
} 
.girl2{
    width: 100%;
    height: 1vh;
    position: relative;   
}
.girl-child {
    position: absolute;
    top: -200px;
    left: 600px;

}

/* --------------点線--------------- */
.dotted-1 {
    width: 77%;
    margin-left: auto;
    margin-right: auto;
    border-bottom: 5px dotted #F3C223;
}
.dotted-2 {
    width: 78%;
    margin-left: auto;
    margin-right: auto;
    border-bottom: 5px dotted #3488DF;
}
.dotted-3 {
    width: 77%;
    margin-left: auto;
    margin-right: auto;
    border-bottom: 5px dotted #FC5B72;
}

/* ------------------------------------------------ */
/* ------sectio➂-診療のご案内------------------------ */
section:nth-of-type(3) {
    background-color:#F8F7F7;
    height: 100vh;
    color: #505050;
}
/* -------------------------- */
.sinnsatu-flexbox {
    display: flex;
    width: 77%;
    margin-left: auto;
    margin-right: auto;
}
.info {
    width: 47%;
    margin-right: 3%; 
}
h3 {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    font-size: 2vw; 
    font-family: "Kiwi Maru", serif;
    font-weight: 300;
    margin-bottom: 1vw;
    border-bottom: 2px dotted #909090;
    color: red;
}
tr td:nth-of-type(1) {
    width: 30%;
    text-align: center;
}
table thead tr th {
    padding-top: 1vw;
    padding-bottom: 1vw;
}
table {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    border-collapse: collapse;
    border: 1px solid #909090;
    text-align: center;
}
   
thead {
    background-color:#E0DCDA ; 
}
thead  tr th {   
    border: 1px solid #909090;
}
tbody tr td {
     border: 1px solid #909090;
}
tbody tr td img{
    text-align: center;
     vertical-align: bottom;
}
/* ------------------ */
.mark-p {
    margin-top: 1vw;
    margin-left: 1vw;
    color: red;
}
.mark {
    display: flex;
    margin-left: 1vw;  
}
.mark img {
    display: block;
    width: 10%;
    height: 6vh;
}
.mark p {
    line-height: 3; 
} 
/* --------アクセスマップ----------------- */
.access {
    width: 50%;
}
.map {
}
.map iframe {
    display: block;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
}
.access-address {
    margin-top: 1vw;
    margin-left: 1vw;
}
.access-address p {
    font-style: normal;
    white-space: pre-wrap;
    margin-left: 1vw;
}
.access-address p strong {
    margin-right: 2%;
}
.root {
    width: 12em;
    line-height: 2;
    border-radius: 10px;
    margin-left: auto;
    margin-top: 2vw;
    background-color: #0E7FC4;
    transition: 1s;
}
.root:hover {
    border: 3px solid #0E7FC4;
    background-color: #fff;
    transition: 1s;
}
.root p {
    text-align: center;
}
.root p a {
    display: block;
    text-decoration: none;
    color: #fff;
    transition: 1s;
}
.root p a:hover {
    display: block;
    color: #0E7FC4;
    transition: 1s;
}
/* -----footer--------------------- */

.footer {
    width: 100%;
    height: 25vh; 
    color: #505050;
}
.footer img{
    display: block;
    width: 100%;
    height: 25vh; 
}
.footer-logo {
    width: 100%;
    height: 8vh;
    background-color: #FFAD1D;
}
.footer-logo img {
    display: block;
    height: 2.4vw;
    margin-left: auto;
    margin-right: auto;
    
}
/* ----------------------------------------- */
.footer-color {
     background-color: #FBEBAE;
}
.footer-flex {
    display: flex;
    width: 77%;
    height: 20vh;
    margin-left: auto;
    margin-right: auto;
}
.footer-address{
    width: 25%;
    margin-top: 1vw;
    margin-left: 5%;
    margin-right: 5%;
    border-right: 1px solid #909090;
}
.footer-address p {
    font-size: 0.8vw;
    font-style: normal;
    white-space: pre-wrap;
    color: #505050;
}
.footer-address p:nth-of-type(1) {
    white-space: pre-wrap;
}
.footer-address p:nth-of-type(2) {
    font-size: 1.9vw;
    white-space: pre-wrap;
}

.footer-ul {
    display: flex;
    width: 65%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 1vw;
   
}
.footer-ul ul {
    margin-left: 3%;
    width: calc(100%/3);
   
}
.footer-ul ul li p a{
    display: block;
    text-decoration: none;
    font-size: 1.3vw;
}

/* ------------------------- */
.footer-copy p {
    width: 100%;
    text-align: center;
    padding-top: 1vw;
    padding-bottom: 1vw;
    color: #505050;
    background-color: #FBEBAE;
}

