@media screen and (min-width:1024px) {
    /*whole*/
    *{
        font-family: 'Noto Sans JP', sans-serif;
    }
    html, body{
        margin:0;
        padding:0;
    }
    body{
        position: relative;
    }

    /*header*/
    .site-header{
        width: 100%;
        margin: 1.0em auto;
        background: #fff;
        top: 0;
        transition: .5s;
        z-index: 999;
        opacity: 0.9;
    }
    .header-logo img{
        height: 20px;
        width: auto;
    }
    .nav{
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
    .nav li:last-child{
        margin-right:1.5em;
        padding: 0.5em;
    }
    .nav_item{
        list-style-type: none;
        font-size:1.3em;
        color: black;
    }
    .nav_item img{
        height: 9vh;
    }
    .nav_item a:hover{
        text-decoration: none;
        opacity: 0.7;
    }
    .nav_item{
        font-weight: bold;
        font-size:medium;
    }
 /********contents********/
 .main{
    width: 100%;
}

/*****title*****/
.headline{
    width: 100%;
    height: 40vw;
    margin: 0.5em 0;
    display: flex;
}
.left_headline{
    width: 70%;
    height: 40vw;
    background-color: #99CFFF;
    z-index: 100;
    position: relative;
}

.left_headline::after{
    position: absolute;
    content: '';
    right: -14.9vh;
    border-bottom: 40vw solid transparent;
    border-left: 15vh solid #99CFFF;
}
.right_headline{
    width: 50%;
    position: relative;
    height: 40vw;
    background-image: url(../image/Kaylie.jpg);
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: 0px 20%;
}
.right_headline::before{
    content: '';
    background-color: rgba(247, 243, 243, 0.251);
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}
.title_headline{
    width: 90%;
    margin: 0.5em auto;
    text-align: center;
    position: absolute;
    top:50%;
    left: 54%;
    transform: translate(-50%, -50%);
}
.title_headline p{
    font-family: 'PT Serif', serif;
    font-size: 4.0em;
    font-weight: 900;
    letter-spacing: 0.1em;
    line-height: 1.5em;
    color: #fff;
}
.title_headline p:first-child{
    font-family: 'PT Serif', serif;
    font-size:2.5em;
    font-weight: 900;
    letter-spacing: 0.1em;
    line-height: 1.5em;
    color: #fff;
}
    /*drop down menu*/
    .dropdown{
        width: 90%;
        margin: 0 auto 1.0em;
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        background: #fff;
        opacity: 0.9;
        border-bottom: 1px solid #e6e6e6;
    }
    .item_dropdown{
        width: 20%;
        position: relative;
        font-weight: bold;
        list-style-type: none;
    }    
    .title_dropdown{
        position: relative;
        line-height: 1.5em;
        margin: 0 auto;
        padding: 1.0em 0;
        font-size: 1.1em;
        font-weight: 900;
        text-align: center;
        color: #333;
    }
    .title_dropdown a:hover{
        color: #ff0000;
        transition: all .3s;
        cursor: pointer;
    }


    /*contents*/
    /*tabs*/
    .contents{
        width: 90%;
        margin: 2.5em auto;
    }
    .contents_caption{
        width: 86%;
        margin: 0 auto;
    }
    .contents_caption p{
        line-height: 1.5em
    }
    .contents_school a{
        color:#6495ed;

    }
    .contents_school a:hover{
        cursor: pointer;
        text-decoration: underline;
    }
    .contents_school a:visited{
        color: #981C01
    }
    .all-in{
        display: flex;
        flex-wrap: wrap;
        margin:1.0em 0;
    }
    .all-in::after{
        content: '';
        width: 100%;
        height: 3px;
        background: #99CFFF;
        display: block;
        order: -1;
    }
    .label_tab_basic{
        color: white;
        background: lightgray;
        font-size: 1.2em;
        font-weight: 800;
        white-space: nowrap;
        text-align: center;
        padding: 10px .5em;
        order: -1;
        position: relative;
        z-index: 1;
        cursor: pointer;
        border-radius: 5px 5px 0 0;
        flex: 1;
    }
    .label_tab_basic:not(:last-of-type){
        margin-right: 5px;
    }
    .switch_tab_basic:checked+.label_tab_basic{
        position: relative;
        background: #99CFFF;
        margin-top: -0.5rem;
        transition: .3s;
        align-items: center;
        display: flex;
        justify-content: center;
    }
    .switch_tab_basic:checked+.label_tab_basic+.contents_tab{
        height: auto;
        overflow: auto;
        padding: 15px;
        opacity: 1;
        transition: .5s;
        box-shadow: 0 0 3px rgba(0, 0, 0, 0.3);
    }
    .switch_tab_basic{
        display: none;
    }
    .contents_tab{
        width: 100%;
        height: 0;
        overflow: hidden;
        opacity: 0;
    }
    /*update*/
    .contents_update{
        width: 95%;
        margin: 1.0em auto;
        display: flex;
        justify-content: center;
    }
    .calendar{
        width: 55%;
        margin: 1.0em auto;
    }
    .title_calendar{
        width: 90%;
        margin: 0 auto;
    }
    .title_calendar p{
        font-size: 1.5em;
        font-weight: 800;
        letter-spacing: 0.1em;
    }
    .title_calendar p::first-letter{
        font-size: 1.7em;
        color:#4484ce;
    }
    .caption_calendar{
        width: 90%;
        margin: 1.5em auto;
    }
    .caption_calendar p{
        font-size: 1.1em;
        line-height: 1.5em;
    }
    .flex_calendar{
        width: 95%;
        margin: 1.0em auto;
        display: flex;
        justify-content: center;
        list-style-type: none;
    }
    .date_calendar{
        width: 30%;
    }
    .item_date_calendar{
        padding: 0.7em 1.0em;
        border: 1px solid #325A8C;
        text-align: center;
        font-size: 1.1em;
        font-weight: 700;
        margin-left: -1px;
        margin-top: -1px;
    }
    .cap_calendar{
        width: 65%;
    }
    .item_cap_calendar{
        padding: 0.7em 1.0em;
        border: 1px solid #325A8C;
        font-size: 1.1em;
        margin-left: -1px;
        margin-top: -1px;
    }
    .map{
        width: 40%;
        margin: 1.0em auto;
        position: relative;
    }
    .title_map{
        width: 90%;
        margin: 0 auto; 
    }
    .title_map p{
        font-size: 1.5em;
        font-weight: 800;
        letter-spacing: 0.1em;
    }
    .title_map p::first-letter{
        font-size: 1.7em;
        color:#4484ce;
    }
    .contents_map{
        width: 100%;
        position: relative;
        margin: 1.5em auto;
        padding-top: 56.25%;
        height: 40vw;
    }
    .contents_map iframe{
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
    /*album*/
    .contents_album{
        width: 95%;
        height: 1000px;
        margin: 2.0em auto;
    }
    .title_album{
        width: 90%;
        margin: 0 auto;
    }
    .title_album p{
        font-size: 1.5em;
        font-weight: 800;
        letter-spacing: 0.1em;
    }
    .title_album p::first-letter{
        font-size: 1.7em;
        color:#4484ce;
    }
    .caption_album{
        width: 90%;
        margin: 1.5em auto;
    }
    .caption_album p{
        font-size: 1.1em;
        line-height: 1.5em;
    }
    .photo_album{
        width: 98%;
        margin: 1.0em auto;
    }
    .tab_photo_album{
        width: 95%;
        margin: 2.0em auto;
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
    }
    .item_tab_album{
        width: 15%;
        margin: 0.5em;
        padding: 0.5em 1.0em;
        border: 1px solid green;
        border-radius: 30px;
        text-align: center;
        color: green;
        cursor: pointer;
    }
    .item_tab_album.active {
        background: green;
        color: white;
    }
    .contents_photo_album{
        width: 100%;
        margin: 3.0em 0;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .item_date_album{
        width: 100%;
        display: none;        
    }
    .item_date_album.show{
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        margin: 0 auto 4.0em;
    }
    .item_photo_album{
        max-width: 200px;
        padding: 5px;
        list-style-type: none;
    }    
    .item_photo_album img{
        max-width: 100%;
        height: auto;
        border: 2px solid #333;
    }
    /*report*/
    .contents_report{
        width: 95%;
        margin: 2.0em auto;
    }
    .subtitle_report{
        width: 90%;
        margin: 0 auto;
    }
    .subtitle_report p{
        font-size: 1.5em;
        font-weight: 800;
        letter-spacing: 0.1em;
    }
    .subtitle_report p::first-letter{
        font-size: 1.7em;
        color:#4484ce;
    }
    .caption_report{
        width: 90%;
        margin: 1.5em auto;
    }
    .caption_report p{
        font-size: 1.1em;
        line-height: 1.5em;
    }
    .list_report{
        width: 98%;
        margin: 1.0em auto;
    }
    .tab_date_report{
        width: 95%;
        margin: 2.0em auto;
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
    }
    .item_date_report{
        width: 15%;
        margin: 0.5em;
        padding: 0.5em 1.0em;
        border: 1px solid green;
        border-radius: 30px;
        text-align: center;
        color: green;
        cursor: pointer; 
    }
    .item_date_report.active {
        background: green;
        color: white;
    }
    .contents_list_report{
        width: 100%;
        margin: 1.0em 0;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .item_list_report{
        width: 100%;
        display: none;
    }
    .item_list_report.show{
        display: flex;
        justify-content: center;
    }
    .title_date_report{
        width: 15%;
    }
    .contents_date_report{
        width: 75%;
        margin: 1.0em 0;
    }
    .contents_date_report p{
        font-size: 1.2em;
        line-height: 1.5em;
    }

    /*date*/
    .box_date{
        max-width: 45%;
        margin: 0 auto;
        text-align: center;
    }
    .year_date{
        color : #3B5998;
        width : 100%;
        font-size : 1.2em;
        font-weight : 700;
        padding : 0.2em;
        text-align : center;
    }
    .month_date{
        background-color : #3B5998;
        border : 1px solid #3B5998;
        color : white;
        width : 100%;
        font-size : 1.2em;
        font-weight : 700;
        padding : 0.2em;
        text-align : center;
        box-shadow: 1px 1px 3px #bbb;
    }
    .day_date{
        background-color : #ffffff;
        border: 1px solid #3B5998;
        color : #3B5998;
        width : 100%;
        font-size : 1.7em;
        font-weight : 700;
        padding : 0.5em;
        text-align : center;
        box-shadow: 1px 1px 3px #bbb;
    }

    /*smooth scroll*/
    .topbtn{
        right: 40px;
        background: #333;
        opacity: 0.6;
        border-radius: 50%;
        display: block;
        width: 70px;
        height: 70px;
        text-decoration: none;
    }
    .topbtn::before{
        font-family: 'Font Awesome 5 Free';
        font-weight: 900;
        content: '\f102';
        font-size: 25px;
        color: #fff;
        position: absolute;
        width: 25px;
        height: 25px;
        top: -5px;
        bottom: 0;
        right: 0;
        left: 0;
        margin: auto;
        text-align: center;
    }

    /*footer*/
    .site-footer{
        position: relative;
        margin-top: 2.4em;
        color: #fff;
    }
    .site-footer a{
        text-decoration: none;
        color: #fff;
    }
    .site-footer .top-section{
        padding: 1.6em 0.9em;
        background-color: #333;
    }
    .site-footer .top-section .flex{
        display: flex;
        justify-content: center;
    }
    .site-footer .top-section .flex .left{
        width: 50%;
        margin-left: 10vw;
    }
    .site-footer .footer-logo{
        position: relative;
        padding: 0;
        margin: 0;
        width: 100%;
        font-size: 2.2em;
        font-weight: bold;
    }
    .address{
        margin: 0.8em 0 0;
        padding: 0;
    }
    .site-footer .sns{
        margin: 1.2em 0 0 2.5em;
        padding: 0;
    }
    .site-footer .sns li{
        display: inline-block;
        margin: 0 1.2em 0 0;
        padding: 0;
        font-size: 2.2em;
    }
    .site-footer .sns li:last-child{
        margin-right: 0;
    }
    .site-footer .sns li a{
        transition: all 0.5s;
    }
    .site-footer .sns li a:hover{
        opacity: 0.7;
        transform:scale(1.2, 1.2)
    }
    .site-footer .top-section .flex .right{
        display: flex;
        width: 70%;
    }
    .navi-section{
        display: flex;
        flex-direction: column;
        width: 50%;
        margin-left: 6vw;
    }
    .title-section{
        width: 15vw;
        min-width: 30px;
        padding: 0.5rem 2rem;
        border-top: 3px solid white;
        border-bottom: 3px solid white;
        text-align: center;
        margin: 1em 0;
    }
    .site-footer .navi-list{
        margin: 0;
        padding: 0;
        list-style: none;
        line-height: 2em;
    }
    .site-footer .navi-list li{
        margin: 0.5em 0 0 0;
        padding: 0;
    }
    .site-footer .navi-list li:first-child{
        margin: 0;
    }
    .site-footer .navi-list a:hover,
    .site-footer .title-list a:hover{
        text-decoration: none;
        opacity: 0.7;
    }
    .site-footer .title-list{
        margin: 0 0 0.9em 0;
        padding: 0;
        font-weight: bold;
        line-height: 2em;
    }
    .site-footer .bottom-section{
        display: flex;
        justify-content: center;
        padding: 1.6em 0.9em;
        background: #222;
    }
    .site-footer .copyright{
        width: 90%;
        margin: 0;
        padding: 0;
        text-align: center;
    }  
}









@media screen and (min-width:768px) and (max-width:1023px) {
    /*whole*/
    *{
        font-family: 'Noto Sans JP', sans-serif;
    }
    html, body{
        margin:0;
        padding:0;
    }
    body{
        position: relative;
    }

    /*header*/
    .site-header{
        width: 100%;
        top: 0;
        transition: .5s;
        z-index: 999;
        margin: 1.0em auto;
    }
    .nav{
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
    .nav li:last-child{
        margin-right:1.5em;
        padding: 0.5em;
    }
    .nav_item{
        list-style-type: none;
        font-size:1.1em;
        color: black;
    }
    .nav_item img{
        height: 4vh;
    }
    .nav_item a:hover{
        text-decoration: none;
        opacity: 0.7;
    }
    .nav_item{
        font-weight: bold;
        font-size:medium;
    }
    /*contents*/
    .main{
        width: 100%;
    }
    /*****title*****/
    .headline{
        width: 100%;
        height: 40vw;
        margin: 0.5em 0;
        display: flex;
    }
    .left_headline{
        width: 75%;
        height: 40vw;
        background-color: #99CFFF;
        z-index: 100;
        position: relative;
    }
    .left_headline::after{
        position: absolute;
        content: '';
        right: -5.9vh;
        border-bottom: 40vw solid transparent;
        border-left: 6vh solid #99CFFF;
    }
    .right_headline{
        width: 45%;
        position: relative;
        height: 40vw;
        background-image: url(../image/Kaylie.jpg);
        background-size: 105%;
        background-repeat: no-repeat;
        background-position: 0px 0;
    }
    .right_headline::before{
        content: '';
        position: absolute;
        background-color: rgba(247, 243, 243, 0.251);
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
    }
    .title_headline{
        width: 90%;
        margin: 0.5em auto;
        text-align: center;
        position: absolute;
        top:50%;
        left: 54%;
        transform: translate(-50%, -50%);
    }
    .title_headline p{
        font-family: 'PT Serif', serif;
        font-size: 2.5em;
        font-weight: 900;
        letter-spacing: 0.1em;
        line-height: 1.5em;
        color: #fff;
    }
    .title_headline p:first-child{
        font-family: 'PT Serif', serif;
        font-size: 1.5em;
        font-weight: 900;
        letter-spacing: 0.1em;
        line-height: 1.5em;
        color: #fff;
    }
    /*tabs*/
    .contents{
        width: 95%;
        margin: 2.0em auto;
    }
    .contents_caption{
        width: 86%;
        margin: 0 auto;
    }
    .contents_caption p{
        line-height: 1.5em
    }
    .contents_school a{
        color:#6495ed;

    }
    .contents_school a:hover{
        cursor: pointer;
        text-decoration: underline;
    }
    .contents_school a:visited{
        color: #981C01
    }
    .all-in{
        display: flex;
        flex-wrap: wrap;
        margin: 1.0em 0;
    }
    .all-in::after{
        content: '';
        width: 100%;
        height: 3px;
        background: #99CFFF;
        display: block;
        order: -1;
    }
    .label_tab_basic{
        color: white;
        background: lightgray;
        font-size: 1.0em;
        font-weight: 800;
        white-space: nowrap;
        text-align: center;
        padding: 10px .5em;
        order: -1;
        position: relative;
        z-index: 1;
        cursor: pointer;
        border-radius: 5px 5px 0 0;
        flex: 1;
    }
    .label_tab_basic:not(:last-of-type){
        margin-right: 5px;
    }
    .switch_tab_basic:checked+.label_tab_basic{
        position: relative;
        background: #99CFFF;
        margin-top: -0.5rem;
        transition: .3s;
        align-items: center;
        display: flex;
        justify-content: center;
    }
    .switch_tab_basic:checked+.label_tab_basic+.contents_tab{
        height: auto;
        overflow: auto;
        padding: 15px;
        opacity: 1;
        transition: .5s;
        box-shadow: 0 0 3px rgba(0, 0, 0, 0.3);
    }
    .switch_tab_basic{
        display: none;
    }
    .contents_tab{
        width: 100%;
        height: 0;
        overflow: hidden;
        opacity: 0;
    }
    /*update*/
    .contents_update{
        width: 95%;
        margin: 1.0em auto;
        display: flex;
        flex-direction: column;
    }
    .calendar{
        width: 95%;
        margin: 0 auto;
    }
    .title_calendar{
        width: 90%;
        margin: 0 auto;
    }
    .title_calendar p{
        font-size: 1.2em;
        font-weight: 800;
        letter-spacing: 0.1em;
    }
    .title_calendar p::first-letter{
        font-size: 1.4em;
        color:#4484ce;
    }
    .caption_calendar{
        width: 90%;
        margin: 1.5em auto;
    }
    .caption_calendar p{
        font-size: 1.0em;
        line-height: 1.5em;
    }
    .flex_calendar{
        width: 100%;
        margin: 1.0em auto;
        display: flex;
        justify-content: center;
        list-style-type: none;
    }
    .date_calendar{
        width: 20%;
    }
    .item_date_calendar{
        padding: 0.7em 1.0em;
        border: 1px solid #325A8C;
        text-align: center;
        font-size: 1.0em;
        font-weight: 700;
        margin-left: -1px;
        margin-top: -1px;
    }
    .cap_calendar{
        width: 75%;
    }
    .item_cap_calendar{
        padding: 0.7em 1.0em;
        border: 1px solid #325A8C;
        font-size: 1.0em;
        margin-left: -1px;
        margin-top: -1px;
    }
    .map{
        width: 95%;
        margin: 2.0em auto 1.0em;
        position: relative;
    }
    .title_map{
        width: 90%;
        margin: 0 auto; 
    }
    .title_map p{
        font-size: 1.2em;
        font-weight: 800;
        letter-spacing: 0.1em;
    }
    .title_map p::first-letter{
        font-size: 1.4em;
        color:#4484ce;
    }
    .contents_map{
        width: 100%;
        position: relative;
        margin: 1.5em auto;
        padding-top: 56.25%;
        height: 50vw;
    }
    .contents_map iframe{
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
    /*album*/
    .contents_album{
        width: 95%;
        height: 1000px;
        margin: 1.5em auto;
    }
    .title_album{
        width: 90%;
        margin: 0 auto;
    }
    .title_album p{
        font-size: 1.2em;
        font-weight: 800;
        letter-spacing: 0.1em;
    }
    .title_album p::first-letter{
        font-size: 1.4em;
        color:#4484ce;
    }
    .caption_album{
        width: 90%;
        margin: 1.5em auto;
    }
    .caption_album p{
        font-size: 1.0em;
        line-height: 1.5em;
    }
    .photo_album{
        width: 98%;
        margin: 1.0em auto;
    }
    .tab_photo_album{
        width: 95%;
        margin: 1.0em auto;
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
    }
    .item_tab_album{
        width: 15%;
        margin: 0.5em;
        padding: 0.5em 1.0em;
        border: 1px solid green;
        border-radius: 30px;
        font-size: 0.9em;
        text-align: center;
        color: green;
        cursor: pointer;
    }
    .item_tab_album.active {
        background: green;
        color: white;
    }
    .contents_photo_album{
        width: 100%;
        margin: 2.0em 0;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .item_date_album{
        width: 100%;
        display: none;
    }
    .item_date_album.show{
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        margin: 0 auto 2.5em;
    }
    .item_photo_album{
        max-width: 150px;
        padding: 5px;
        list-style-type: none;
    }    
    .item_photo_album img{
        max-width: 100%;
        height: auto;
        border: 2px solid #333;
    }
    /*report*/
    .contents_report{
        width: 95%;
        margin: 1.5em auto;
    }
    .subtitle_report{
        width: 90%;
        margin: 0 auto;
    }
    .subtitle_report p{
        font-size: 1.2em;
        font-weight: 800;
        letter-spacing: 0.1em;
    }
    .subtitle_report p::first-letter{
        font-size: 1.4em;
        color:#4484ce;
    }
    .caption_report{
        width: 90%;
        margin: 1.5em auto;
    }
    .caption_report p{
        font-size: 1.0em;
        line-height: 1.5em;
    }
    .list_report{
        width: 98%;
        margin: 1.0em auto;
    }
    .tab_date_report{
        width: 95%;
        margin: 1.0em auto;
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
    }
    .item_date_report{
        width: 15%;
        margin: 0.5em;
        padding: 0.5em 1.0em;
        border: 1px solid green;
        border-radius: 30px;
        font-size: 0.9em;
        text-align: center;
        color: green;
        cursor: pointer; 
    }
    .item_date_report.active {
        background: green;
        color: white;
    }
    .contents_list_report{
        width: 100%;
        margin: 1.0em 0;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .item_list_report{
        width: 100%;
        display: none;
    }
    .item_list_report.show{
        display: flex;
        justify-content: center;
    }
    .title_date_report{
        width: 15%;
    }
    .contents_date_report{
        width: 85%;
        margin: 1.0em 0;
    }
    .contents_date_report p{
        font-size: 1.0em;
        line-height: 1.5em;
    }

    /*date*/
    .box_date{
        max-width: 55%;
        margin: 0 auto;
        text-align: center;
    }
    .year_date{
        color : #3B5998;
        width : 100%;
        font-size : 0.8em;
        font-weight : 700;
        padding : 0.2em;
        text-align : center;
    }
    .month_date{
        background-color : #3B5998;
        border : 1px solid #3B5998;
        color : white;
        width : 100%;
        font-size : 1.2em;
        font-weight : 700;
        padding : 0.2em;
        text-align : center;
        box-shadow: 1px 1px 3px #bbb;
    }
    .day_date{
        background-color : #ffffff;
        border: 1px solid #3B5998;
        color : #3B5998;
        width : 100%;
        font-size : 1.2em;
        font-weight : 700;
        padding : 0.5em;
        text-align : center;
        box-shadow: 1px 1px 3px #bbb;
    }

    /*smooth scroll*/
    .topbtn{
        right: 40px;
        background: #333;
        opacity: 0.6;
        border-radius: 50%;
        display: block;
        width: 70px;
        height: 70px;
        text-decoration: none;
    }
    .topbtn::before{
        font-family: 'Font Awesome 5 Free';
        font-weight: 900;
        content: '\f102';
        font-size: 25px;
        color: #fff;
        position: absolute;
        width: 25px;
        height: 25px;
        top: -5px;
        bottom: 0;
        right: 0;
        left: 0;
        margin: auto;
        text-align: center;
    }

    /*footer*/
    .site-footer{
        position: relative;
        color: #fff;
    }
    .site-footer a{
        text-decoration: none;
        color: #fff;
    }
    .site-footer .top-section{
        padding: 1.6em 0;
        background-color: #333;
    }
    .site-footer .top-section .flex{
        display: flex;
        justify-content: center;
    }
    .site-footer .top-section .flex .left{
        width: 50%;
        margin-left: 8vw;
    }
    .site-footer .footer-logo{
        position: relative;
        padding: 0;
        margin: 0;
        width: 100%;
        font-size: 2.2em;
        font-weight: bold;
    }
    .address{
        margin: 0.8em 0 0;
        padding: 0;
        line-height: 1.5em;
    }
    .site-footer .sns{
        margin: 1.2em 0 0 2.5em;
        padding: 0;
    }
    .site-footer .sns li{
        display: inline-block;
        margin: 0 1.2em 0 0;
        padding: 0;
        font-size: 2.2em;
    }
    .site-footer .sns li:last-child{
        margin-right: 0;
    }
    .site-footer .sns li a{
        transition: all 0.5s;
    }
    .site-footer .sns li a:hover{
        opacity: 0.7;
        transform:scale(1.2, 1.2)
    }
    .site-footer .top-section .flex .right{
        display: flex;
        width: 70%;
    }
    .navi-section{
        display: flex;
        flex-direction: column;
        width: 50%;
        margin-left: 6vw;
    }
    .title-section{
        width: 19vw;
        min-width: 30px;
        padding: 0.5rem 2rem;
        border-top: 3px solid white;
        border-bottom: 3px solid white;
        text-align: center;
        margin: 1em 0;
    }
    .site-footer .navi-list{
        margin: 0;
        padding: 0;
        list-style: none;
        line-height: 2em;
        font-size: 0.8em;
    }
    .site-footer .navi-list li{
        margin: 0.5em 0 0 0;
        padding: 0;
    }
    .site-footer .navi-list li:first-child{
        margin: 0;
    }
    .site-footer .navi-list a:hover,
    .site-footer .title-list a:hover{
        text-decoration: none;
        opacity: 0.7;
    }
    .site-footer .title-list{
        margin: 0 0 0.9em 0;
        padding: 0;
        font-weight: bold;
        line-height: 2em;
    }
    .site-footer .bottom-section{
        display: flex;
        padding: 1.6em 0.9em;
        background: #222;
    }
    .site-footer .copyright{
        width: 90%;
        margin: 0;
        padding: 0;
        text-align: center;
    }
}









@media screen and (max-width:767px) {
    /*whole*/
    *{
        font-family: 'Noto Sans JP', sans-serif;
    }
    html, body{
        margin:0;
        padding:0;
    }
    body{
        position: relative;
    }

    /*header*/
    .site-header{
        width: 100%;
        margin: 1.0em 0;
        top: 0;
        transition: .5s;
        z-index: 999;
    }
    .nav_item a:hover{
        text-decoration: none;
        opacity: 0.7;
    }
    .nav_item{
        font-weight: bold;
        font-size:medium;
        list-style-type: none;
        padding:1.0em 1.0em 1.0em ;
    }
    .nav_item a:hover{
        text-decoration: none;
        opacity: 0.7;
    }
    .nav_item{
        font-weight: bold;
        font-size:medium;
    }

    /*slide*/
    .slide{
        width: 100%;
        position: relative;
    }
    #slideshow{
        width: 100%;
        height: 40vh;
    }
    .background{
        max-height: 40em;
        overflow: hidden;
    }
    .title_slide{
        width: 75%;
        position:absolute;
        bottom: 2vw;
        left: -3vw;
        z-index: 5;
    }
    .title_slide img{
        width: 100%;
    }

    /*contents*/
    .main{
        width: 100%;
    }
        /*****title*****/
        .headline{
            width: 100%;
            height: 30vh;
            margin: 0.5em 0;
            display: flex;
        }
        .left_headline{
            width: 55%;
            height: 30vh;
            background-color: #99CFFF;
            z-index: 100;
            position: relative;
        }
        .left_headline::after{
            position: absolute;
            content: '';
            right: -5.9vh;
            border-bottom: 30vh solid transparent;
            border-left: 6vh solid #99CFFF;
        }
        .right_headline{
            width: 45%;
            position: relative;
            height: 30vh;
            background-image: url(../image/Kaylie.jpg);
            background-size: 120%;
            background-repeat: no-repeat;
            background-position: 0 0;
        }
        .right_headline::before{
            content: '';
            position: absolute;
            background-color: rgba(247, 243, 243, 0.251);
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
        }
        .title_headline{
            width: 90%;
            margin: 0.5em auto;
            text-align: center;
            position: absolute;
            top:46%;
            left: 52%;
            transform: translate(-50%, -50%);
        }
        .title_headline p{
            font-family: 'PT Serif', serif;
            font-size: 1.6em;
            font-weight: 900;
            letter-spacing: 0.1em;
            line-height: 1.5em;
            color: #fff;
        }
        .title_headline p:first-child{
            font-family: 'PT Serif', serif;
            font-size: 1.0em;
            font-weight: 900;
            letter-spacing: 0.1em;
            line-height: 1.5em;
            color: #fff;
        }
    
    /*tabs*/
    .contents{
        width: 95%;
        margin: 1.5em auto;
    }
    .contents_caption{
        width: 89%;
        margin: 0 auto;
    }
    .contents_caption p{
        line-height: 1.5em
    }
    .contents_school a{
        color:#6495ed;

    }
    .contents_school a:hover{
        cursor: pointer;
        text-decoration: underline;
    }
    .contents_school a:visited{
        color: #981C01
    }
    .all-in{
        display: flex;
        flex-wrap: wrap;
        margin: 1.0em 0;
    }
    .all-in::after{
        content: '';
        width: 100%;
        height: 3px;
        background: #99CFFF;
        display: block;
        order: -1;
    }
    .label_tab_basic{
        width: calc(100%/3);
        color: white;
        background: lightgray;
        font-size: 0.9em;
        font-weight: 800;
        white-space: nowrap;
        text-align: center;
        padding: 10px .3em;
        order: -1;
        position: relative;
        z-index: 1;
        cursor: pointer;
        border-radius: 5px 5px 0 0;
        flex: 1;
    }
    .label_tab_basic:not(:last-of-type){
        margin-right: 5px;
    }
    .switch_tab_basic:checked+.label_tab_basic{
        position: relative;
        background: #99CFFF;
        margin-top: -0.5rem;
        transition: .3s;
        align-items: center;
        display: flex;
        justify-content: center;
    }
    .switch_tab_basic:checked+.label_tab_basic+.contents_tab{
        height: auto;
        overflow: auto;
        padding: 15px;
        opacity: 1;
        transition: .5s;
        box-shadow: 0 0 3px rgba(0, 0, 0, 0.3);
    }
    .switch_tab_basic{
        display: none;
    }
    .contents_tab{
        width: 100%;
        height: 0;
        overflow: hidden;
        opacity: 0;
    }

    /*smooth scroll*/
    .topbtn{
        right: 40px;
        background: #333;
        opacity: 0.6;
        border-radius: 50%;
        display: block;
        width: 50px;
        height: 50px;
        text-decoration: none;
    }
    .topbtn::before{
        font-family: 'Font Awesome 5 Free';
        font-weight: 900;
        content: '\f102';
        font-size: 25px;
        color: #fff;
        position: absolute;
        width: 25px;
        height: 25px;
        top: -5px;
        bottom: 0;
        right: 0;
        left: 0;
        margin: auto;
        text-align: center;
    }
    /*update*/
    .contents_update{
        width: 95%;
        margin: 0.5em auto;
        display: flex;
        flex-direction: column;
    }
    .calendar{
        width: 95%;
        margin: 0 auto;
    }
    .title_calendar{
        width: 100%;
        margin: 1.0em 0;
    }
    .title_calendar p{
        font-size: 1.1em;
        font-weight: 800;
        letter-spacing: 0.1em;
    }
    .title_calendar p::first-letter{
        font-size: 1.3em;
        color:#4484ce;
    }
    .caption_calendar{
        width: 100%;
        margin: 0.5em 0;
    }
    .caption_calendar p{
        font-size: 0.9em;
        line-height: 1.5em;
    }
    .flex_calendar{
        width: 100%;
        margin: 1.0em auto;
        display: flex;
        justify-content: center;
        list-style-type: none;
    }
    .date_calendar{
        width: 25%;
    }
    .item_date_calendar{
        padding: 0.5em;
        border: 1px solid #325A8C;
        text-align: center;
        font-size: 0.9em;
        font-weight: 700;
        margin-left: -1px;
        margin-top: -1px;
    }
    .cap_calendar{
        width: 75%;
    }
    .item_cap_calendar{
        padding: 0.5em;
        border: 1px solid #325A8C;
        font-size: 0.9em;
        margin-left: -1px;
        margin-top: -1px;
    }
    .map{
        width: 95%;
        margin: 1.5em auto 0.5em;
        position: relative;
    }
    .title_map{
        width: 100%;
        margin: 0 auto; 
    }
    .title_map p{
        font-size: 1.1em;
        font-weight: 800;
        letter-spacing: 0.1em;
    }
    .title_map p::first-letter{
        font-size: 1.3em;
        color:#4484ce;
    }
    .contents_map{
        width: 100%;
        position: relative;
        margin: 1.5em auto;
        padding-top: 56.25%;
        height: 90vw;
    }
    .contents_map iframe{
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
    /*album*/
    .contents_album{
        width: 95%;
        height: 1000px;
        margin: 1.5em auto;
    }
    .title_album{
        width: 100%;
        margin: 0 auto;
    }
    .title_album p{
        font-size: 1.0em;
        font-weight: 800;
        letter-spacing: 0.1em;
    }
    .title_album p::first-letter{
        font-size: 1.2em;
        color:#4484ce;
    }
    .caption_album{
        width: 100%;
        margin: 1.0em auto;
    }
    .caption_album p{
        font-size: 0.9em;
        line-height: 1.5em;
    }
    .photo_album{
        width: 100%;
        margin: 1.0em auto;
    }
    .tab_photo_album{
        width: 100%;
        margin: 1.0em auto;
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
    }
    .item_tab_album{
        width: 25%;
        margin: 0.5em;
        padding: 0.5em;
        border: 1px solid green;
        border-radius: 30px;
        font-size: 0.8em;
        text-align: center;
        color: green;
        cursor: pointer;
    }
    .item_tab_album.active {
        background: green;
        color: white;
    }
    .contents_photo_album{
        width: 100%;
        margin: 1.5em 0;
        display: flex;
        justify-content: center;
        align-items: center;
        overflow-y: scroll;
    }
    .item_date_album{
        width: 100%;
        display: none;
    }
    .item_date_album.show{
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        margin: 0 auto 2.0em;
    }
    .item_photo_album{
        max-width: 100px;
        padding: 5px;
        list-style-type: none;
    }    
    .item_photo_album img{
        max-width: 100%;
        height: auto;
        border: 2px solid #333;
    }
    /*report*/
    .contents_report{
        width: 95%;
        margin: 1.5em auto;
    }
    .subtitle_report{
        width: 100%;
        margin: 0 auto;
    }
    .subtitle_report p{
        font-size: 1.0em;
        font-weight: 800;
        letter-spacing: 0.1em;
    }
    .subtitle_report p::first-letter{
        font-size: 1.2em;
        color:#4484ce;
    }
    .caption_report{
        width: 100%;
        margin: 1.0em auto;
    }
    .caption_report p{
        font-size: 0.9em;
        line-height: 1.5em;
    }
    .list_report{
        width: 100%;
        margin: 1.0em auto;
    }
    .tab_date_report{
        width: 100%;
        margin: 1.0em auto;
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
    }
    .item_date_report{
        width: 25%;
        margin: 0.5em;
        padding: 0.5em;
        border: 1px solid green;
        border-radius: 30px;
        font-size: 0.8em;
        text-align: center;
        color: green;
        cursor: pointer; 
    }
    .item_date_report.active {
        background: green;
        color: white;
    }
    .contents_list_report{
        width: 100%;
        margin: 0.5em 0;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .item_list_report{
        width: 100%;
        display: none;
    }
    .item_list_report.show{
        display: flex;
        justify-content: center;
    }
    .title_date_report{
        width: 20%;
    }
    .contents_date_report{
        width: 80%;
        margin: 1.0em 0;
    }
    .contents_date_report p{
        font-size: 0.9em;
        line-height: 1.5em;
    }

    /*date*/
    .box_date{
        max-width: 70%;
        margin: 0 auto;
        text-align: center;
    }
    .year_date{
        color : #3B5998;
        width : 90%;
        font-size : 0.6em;
        font-weight : 700;
        padding : 0.2em;
        text-align : center;
    }
    .month_date{
        background-color : #3B5998;
        border : 1px solid #3B5998;
        color : white;
        width : 90%;
        font-size : 1.0em;
        font-weight : 700;
        padding : 0.2em;
        text-align : center;
        box-shadow: 1px 1px 3px #bbb;
    }
    .day_date{
        background-color : #ffffff;
        border: 1px solid #3B5998;
        color : #3B5998;
        width : 90%;
        font-size : 1.0em;
        font-weight : 700;
        padding : 0.5em;
        text-align : center;
        box-shadow: 1px 1px 3px #bbb;
    }

    /*footer*/
    .site-footer{
        position: relative;
        margin-top: 2.4em;
        color: #fff;
    }
    .site-footer a{
        text-decoration: none;
        color: #fff;
    }
    .site-footer a:hover{
        text-decoration: underline;
    }
    .site-footer .top-section{
        padding: 1.2em;
        background: #333;
    }
    .site-footer .top-section .flex{
        display: block;
    }
    .site-footer .top-section .flex .left{
        width: 100%;
    }
    .site-footer .top-section .flex .left p{
        line-height: 1.8em;
    }
    .site-footer .footer-logo{
        font-size: 1.7em;
    }
    .address{
        font-size: 0.8em;
    }
    .site-footer .sns{
        margin: 0.5em 0 0;
        padding: 0;
    }
    .site-footer .sns li{
        display: inline-block;
        margin: 0 1em 0 0;
        padding: 0;
        font-size: 1.5em;
    }
    .site-footer .sns li:last-child{
        margin-right: 0;
    }
    .site-footer .top-section .flex .right{
        width: 100%;
    }
    .navi-section{
        display: block;
        width: 100%;
        margin: 40px 0 0;
    }
    .title-section{
        width: 40vw;
        min-width: 30px;
        padding: 0.5rem 1rem;
        border-top: 2px solid white;
        border-bottom: 2px solid white;
        text-align: center;
        margin: 1em 0;
    }
    .site-footer .navi-list{
        list-style: none;
        padding-bottom: 10px;
        border-bottom: 1px solid #444;
    }
    .site-footer .navi-list li{
        border-top: 1px solid #444;
        padding-top: 10px;
        margin-top: 10px;
        font-size: 0.8em;
    }
    .site-footer .navi-list li:first-child{
        margin: 0;
    }
    .site-footer .navi-list a:hover,
    .site-footer .title-list a:hover{
        text-decoration: none;
    }
    .site-footer .title-list{
        margin: 0 0 0.9em 0;
        padding: 0;
        font-weight: bold;
        line-height: 2em;
    }
    .site-footer .bottom-section{
        display: block;
        padding: 2.2em;
        background: #222;
    }
    .site-footer .copyright{
        width: 100%;
        text-align: center;
        font-size: 0.9em;
    }
}