@charset 'UTF-8';


/*
BASE
================================================ */
:root {
    /* Color */
    --light-grey: #ccc;
    --grey: #666;
    --dark-grey: #707070;
    /* --green: #7bba93; */
    --dark-blue: #39565C;
    --white: #fff;
    --pale-yellow: #F9F9F4;
    --green: rgb(103, 155, 7);
    --aqua: rgb(0, 255, 255);
    --lightgray: lightslategray;
    --darkgreen: #023604e1;
    --black:black;
    
    /* Font/Space Size */
    --font-sm: .75rem;
    --font-md: 1rem;
    --font-lg: 1.25rem;
    --font-xl: 1.625rem;

    /* Border Radius Size */
    --round-sm: 6px;
    --round-md: 10px;
    --round-lg: 50%;

    /* Font Family */
    font-family: 'Zen Kaku Gothic New', 'Dancing Script', 'M PLUS Rounded 1c', 'Marcellus', 'Noto Sans',  sans-serif;
}

/*
GENERAL STYLING
================================================ */
body {
	color: var(--grey);
    font-family: 'Noto Sans JP', sans-serif;
    background: var(--pale-yellow);
    width: 100%;
    height: 100%;
    /* position: relative; */
}

/*
COMMON
================================================ */
p {
    line-height: 1.7;
}
img,
iframe {
    max-width: 100%;
}

/*
LAYOUT
================================================ */
.wrapper {
    width: 100%;
    margin: 0 auto;
    padding: 0 2rem;
}
.container{
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

/*
HEADER
================================================ */
#header{
    width: 100%;
    height: 100px;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99;
    background-color: var(--green);
}

.main-header{
    display: flex;
    align-items: center;
    padding: 1rem 0;
}

.site-title{
    padding-left: 1rem;
    color: var(--white);
    font-size: 1.5rem;
    font-weight: 700;
    font-family: 'Zen Kaku Gothic New';
}
.site-logo {
    height: 2rem;
}


/* Navigation */
.btn-menu {
    color: var(--white);
    border: 1px solid var(--light-grey);
    border-radius: var(--round-sm);
    padding: .5rem 1rem;
    position: absolute;
    top: 1rem;
    right: 2rem;
    background: rgba(0,0,0,.3);
}

.menu-wrapper {
    background: rgba(255,255,255,.7);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    margin-top: 1rem;
    position: absolute;
    z-index: 1;
    top: calc(100px - 1rem);
    right: 0;
    overflow-x: hidden;
    text-align: center;
    width: 0;
    transition: .5s;
}

.menu-wrapper li {
    padding: 0.3rem 1rem 0.3rem;
}
.menu-wrapper a {
    white-space: nowrap;
    transition:all 0.3s;
}
.menu-wrapper a:hover{
    color: var(--aqua);
    font-weight: bold;
}
.menu-wrapper.open-menu {
    width: 100%;
}

/* Header-cover */
.header-cover{
    width: 100%;
    height: 100px;
}

/*
HERO
================================================ */

.hero-title{
    background-image: url("../images/little-girl.jpg");
    background-size: cover;
    width: 100%;
    height: 300px;
    position: relative;
}
.hero-title::after{
    content: "";
    position: absolute;
    top: 0;
    /* top: 120px; */
    left: 0;
    width: 100%;
    height: 300px;
    background-color: var(--lightgray);
    opacity: 0.4;
}
.hero-title h1{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 2rem;
    color:var(--white);
    font-weight: 400;
    white-space: nowrap;
    z-index: 1;
}
.site-description{
    position: absolute;
    top: 65%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: var(--font-md);
    font-weight: bold;
    color: var(--white);
    z-index: 1;
} 

/*
MAIN
================================================ */
/* Section Index */
.main-contents{
    font-size: 1.5rem;
    margin-top: 1rem;
    margin-bottom: 3rem;
}
.section-index{
    margin-top: 2rem;
    margin-bottom: 1rem;
    text-align: center;
    font-weight: 700;
}

/* Post-List */
.post-list{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 1rem;
    margin-bottom: 3rem;
}
.post-item {
    background: var(--light-grey);
    border-radius: var(--round-md);
    position: relative;
    margin-bottom: 1rem;
}
.post-item .wp-post-image {
    border-radius: var(--round-md) var(--round-md) 0 0;
    aspect-ratio: 16 / 9;
    width: 100%;
    height: auto;
    object-fit: cover;
}
.post-header {
    padding: 1rem;
    background-color: var(--light-grey);
    border-radius: 0  0 var(--round-md) var(--round-md) ;
}
.post-title {
    margin-bottom: .5rem;
    line-height: 1.5;
    word-break: break-word;
}

.post-date {
    color: var(grey);
    font-size: var(--font-sm);
}
.post-categories {
    position: absolute;
    top: 1rem;
    left: 1rem;
}
.post-categories li {
    background: var(--dark-blue);
    color: var(--white);
    font-size: var(--font-sm);
    border-radius: var(--round-sm);
    padding: .5rem;
}

/* Post-navigation */
.nav-links {
    display: flex;
    justify-content: center;
    gap: 2rem;
}
.nav-links a{
    padding: .75rem 1rem .85rem;
    background: var(--green);
    border-radius: var(--round-sm);
    color: var(--white);
    box-shadow: 0 4px 10px rgba(123, 186, 147, .6);
}
.nav-links a:hover{
    background: var(--dark-blue);
    box-shadow: 0 4px 10px rgba(57, 86, 92, 6);
}

/*
FOOTER
================================================ */
.copyright{
    position: fixed;
    left:10px;
    top:40%;
    color: var(--green);
    line-height: 1;
    font-family: 'Marcellus';
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
}

.site-footer{
    width: 100%;
    height: 100px;
    background-color:var(--green);
    margin-top: auto;
}
.site-footer .footer-comment{
    text-align: center;
    line-height: 100px;
    color: var(--white);
}

/*=================================================
MEDIUM SIZE            >= 520px
================================================ */
@media(min-width: 520px){
    /* LAYOUT  */
        .wrapper{
            padding: 0 4rem;
        }
    /* HEADER */
        #header{
            height: calc(140px + 0.5rem);
        }
        .site-header {
            text-align: center;
        }
        .main-header{
            padding: 1.5rem 0 0;
        }
        .site-title {
            font-size: 2rem;
        }
        .site-logo {
            height: 50px;
        }
    
    
        /* Navigation */
        .btn-menu {
            display: none;
        }
        .menu-wrapper {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            background: none;
            position: static;
            width: 100%;
            margin-top: 0.1rem;
            transition: none;
            /* backdrop-filter:none; */
            color:var(--white);
            font-size: 1.3rem;
        }
        .menu-wrapper a{
            position: relative;
            z-index: 1;
        }
        .menu-wrapper a:hover {
            color: var(--white);
            font-weight: normal;
        }
        .menu-wrapper a::after{
            content: "";
            position: absolute;
            left: 0;
            bottom: -1px;
            width: 0;
            height: 2px;
            background: var(--white);
            z-index: -1;
            transition: all 0.3s;
        }
        .menu-wrapper a:hover::after{
            width: 100%;
        }
        .home .menu-wrapper{
            margin-top: 0.8rem;
        }
    
    /* Hero */
    .hero-title{
        height: 500px;
    }
    .hero-title::after{
        height: 500px;
    }
    .hero-title h1{
        top: 50%;
        font-size: 3rem;
    }
    .site-description{
        top: 65%;
        font-size: var(--font-lg);
        font-weight: normal;
    }

    /* FOOTER */
    .site-footer{
        height: 100px;
    }
    .site-footer .footer-comment{
        line-height: 100px;
        font-size: 1.3rem;
    }

}

/*================================================
LARGE SIZE      >= 960px
================================================ */
@media(min-width:960px){

    .menu-wrapper{
        font-size: 1.4rem;
    }

    .sub-menu2-wrapper{
        display: inline-block;
        display: flex;
    }

    home .post-list,
    .archive .post-list,
    .search .post-list {
        grid-template-columns: repeat(3, 1fr);
    }
}

/*================================================
ARCHIVE
================================================ */
.main-header p{
    display: block;
}
@media(min-width:520px){
    .archive .header-cover{
        height: calc(140px + 0.5rem);
    }
}

/* ================================================== 
                    Single 
===================================================== */

.single .header-cover{
    width: 100%;
    /* height: 300px; */
}
.single .post-item {
    background: var(--pale-yellow);
}
.single .post-title{
    margin: 1rem 0;
    font-weight: bold;
}
.single .post-comment{
    margin: 1rem 0;
}
.single .wp-block-video{
    width: 30%;
}


/*  TAG LIST  single.phpの最下部のタグボタンのレイアウト*/

.single .post-footer{
    padding-top: 1rem;
}
.single .tag-list{
    display: flex;
}
.single .tag-list li {
    display: inline-block;
    font-size: var(--font-sm);
    border: 1px solid var(--dark-blue);
    border-radius: var(--round-sm);
    padding: .4rem .5rem .5rem;
    margin-right: .25rem;
}
.single .tag-list a::before {
    content: '#';
    margin-right: .25rem;
}
.single .tag-list li:hover {
    color: var(--darkgreen);
    background-color: var(--white);
    font-weight: bold;
}
.single .tag-list li+li{
    margin-left: 0.5rem;
}

@media (min-width:520px) {
    .single .header-cover{
        height: calc(140px + 0.5rem);
    }
    .single .post-comment{
        font-size: 1.3rem;
    }
}

/* ================================================== 
                    Page 
===================================================== */
.page{
    background-image:url(../images/children.jpg);
    background-color: rgb(255,255,255,0.8);
    background-blend-mode: lighten;
    background-position: center;
    background-size: cover;
}
.page .post-item{
    background: none;
}
.page .post-comment{
    font-size: var(--font-md);
}

@media (min-width:520px) {
    .page .header-cover{
        height: calc(140px + 0.5rem);
    }
    .page .post-comment{
        font-size: var(--font-lg);
    }
}
/* .page-contents .post-title{
    margin: 1rem 0;
    font-weight: bold;
} */




/* ================================================== 
                    Page-About 
===================================================== */
.about .section-index{
    text-align: center;
  }
  .about .section-index h1{
    font-family: 'Dancing Script' ;
    font-weight: 900;
    font-size: 48px;
    padding-top: 2rem;
  }
  
  .about .wrapper{
    padding-top: 50px;
    padding-left: 16px;
    padding-right: 16px;
  }
  .about .bg-about{
    width: 100%;
    height: 150vh;
    background-image:url(../images/children.jpg);
    background-color: rgb(255,255,255,0.8);
    background-blend-mode: lighten;
    background-position: center;
    background-size: cover;
  }
  
  .about details{
    padding: 0 16px;
    max-width: 500px;
    margin: 0 auto;
    background-blend-mode: lighten;
    background-position: center;
    background-size: cover;
  }
  .about summary{
    font-size: 24px;
    color: #333;
    cursor: pointer;
    height: auto;
    margin-bottom: 1rem;
  }
  .about summary :hover{
    color: var(--green);
  }
  .about details p{
    color: #333;
    font-weight:bold;
  }
  .about summary::before{
    transform: rotate(90deg);
  }
  .about details:nth-child(2){
    margin-top: 40px;
  }
  .about details:nth-child(3){
    margin-top: 40px;
  }



