@charset "UTF-8";
* {
    padding: 0;
    margin: 0;
}
li {
    list-style-type: none;
}
a {
    text-decoration: none;
}

html {
     scroll-behavior: smooth;
}

@font-face {
    font-family: Barrio-Regular;
    src: url(../font/Barrio/Barrio-Regular.ttf);
}

@font-face {
    font-family: MPLUSRounded1c-Light;
    src: url(../font/MPLUSRounded1c-Light.ttf);
}

.header-back {
    background-image: url(../images/back.gif);
    height: 120vh;
}

h1 {
    background-image: url(../images/logoback.gif);
    height: 90vh;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: relative;
    z-index: 2;
}
.h1-title {
    position: absolute;
    z-index: 200000;
    top: 45vh;
    left: 27%;
    font-family: Barrio-Regular;
    color: rgba(0, 0, 0, 0);
    font-size: 5vw;
    width: fit-content;
}

.gra {
    height: 20vw;
    background: linear-gradient(0deg,rgba(255, 255, 255, 1) 32%, rgba(255, 255, 255, 0) 100%);
}
.gra a {
    color: #362f5f;
}
/* タイトルanimation　ここから */
h1 span:nth-of-type(1){
    animation: font1 2s forwards;
}
@keyframes font1 {
    20% {
        color: #333;
        
    }
    100% {
        color: #333;
    }
}
h1 span:nth-of-type(2){
    animation: font2 2s forwards;
}
@keyframes font2 {
    25% {
        color: #333;
    }
    100% {
        color: #333;
    }
}
h1 span:nth-of-type(3){
    margin-left: 0.5em;
    animation: font3 2s forwards;
}
@keyframes font3 {
    35% {
        color: #333;
    }
    100% {
        color: #333;
    }
}
h1 span:nth-of-type(4){
    animation: font4 2s forwards;
}
@keyframes font4 {
    40% {
        color: #333;
    }
    100% {
        color: #333;
    }
}
h1 span:nth-of-type(5){
    animation: font5 2s forwards;
}
@keyframes font5 {
    45% {
        color: #333;
    }
    100% {
        color: #333;
    }
}
h1 span:nth-of-type(6){
    animation: font6 2s forwards;
}
@keyframes font6 {
    50% {
        color: #333;
    }
    100% {
        color: #333;
    }
}
h1 span:nth-of-type(7){
    animation: font7 2s forwards;
}
@keyframes font7 {
    55% {
        color: #333;
    }
    100% {
        color: #333;
    }
}
h1 span:nth-of-type(8){
    animation: font8 2s forwards;
}
@keyframes font8 {
    60% {
        color: #333;
    }
    100% {
        color: #333;
    }
}
h1 span:nth-of-type(9){
    animation: font9 2s forwards;
}
@keyframes font9 {
    65% {
        color: #333;
    }
    100% {
        color: #333;
    }
}
h1 span:nth-of-type(10){
    animation: font10 2s forwards;
}
@keyframes font10 {
    70% {
        color: #333;
    }
    100% {
        color: #333;
    }
}
h1 span:nth-of-type(11){
    animation: font11 2s forwards;
}
@keyframes font11 {
    80% {
        color: #333;
    }
    100% {
        color: #333;
    }
}
/* タイトルanimation　ここまで */

header p {
    width: fit-content;
    margin-left: auto;
    margin-right: 15vw;
    font-size: 2vw;
    color: #362f5f;
    font-family: Barrio-Regular;
    animation: sclollplz 1.5s infinite;
}
@keyframes sclollplz {
    50% {
        transform: translateY(-0.7em);
    }

}

/* グローバルナビゲーション　ここから */

.sukesuke{
    background-color: rgba(255, 255, 255, 50%);
    width: 100%;
    position: fixed;
    z-index: 999999999999999999999999999999999;

}
nav{
    width: 60%;
    margin: 3vh auto 3vh auto;
    border-bottom: 3px solid #888;
    
}

nav .main-ul {
    display: flex;
    text-align: center;

}
.main-li{
        margin-left: auto;
    margin-right: auto;
}

.main-a{
    display: flex;
    flex-direction: column;
    transition: .3s;

}
nav ul li a:hover {
    transform: translateY(-0.5em);
    transition: .3s;
}

.eigo {
    font-size: 1vw;
    color: #888;
    font-family: MPLUSRounded1c-Light;
}
.nihongo {
    font-size: 1.6vw;
    color: #555;
    font-family: MPLUSRounded1c-Light;
    font-weight: 800;
}

/* プルダウンメニュー */

.sub-ul {
    list-style-type: none;
    height: 0vw;
    position: absolute;
    width: 100%;
    overflow: hidden;
    transition: .5s;
}

.sub-ul .sub-li {
    background-color: rgba(255, 255, 255, 50%);


}

.sub-ul .sub-li a {
    display: block;
    line-height: 2.4;
    text-align: center;
    text-decoration: none;
    color: #333;
    font-size: 1.2vw;
    font-family: MPLUSRounded1c-Light;
    transition: .3s;

}

.pull {
    position: relative;
}

.pull:hover .sub-ul {
    height: 10vw;
    transition: .5s;
}
/* グローバルナビゲーション　ここまで */


/* webサイトここから */

/* kazari */

.maru1 {
    position: absolute;
    width: 100px;
    height: 100px;
    border-radius: 100%;
    top: 0vw;
    left: 90vh;
    background-color: #d4eaff;
    animation: huwa1 8s infinite linear;
}

@keyframes huwa1 {
    0%{
        border-top-right-radius: 80%;
        border-bottom-left-radius: 73%;     
        border-bottom-right-radius: 62%;
        transform: scale(1.1);


    }
    20% {
        border-top-left-radius: 90%;
        border-bottom-right-radius: 90%;
        border-bottom-left-radius: 76%;
    }

    43%{
        transform: scale(0.9);
    }
    60% {
        border-bottom-left-radius: 70%;
        border-top-right-radius: 60%;
        border-bottom-right-radius: 80%;
    }
    100% {
        border-top-right-radius: 80%;
        border-bottom-left-radius: 73%;
        border-bottom-right-radius: 62%;
        transform: scale(1.1);


    }
}


.maru2 {
    position: absolute;
    width: 500px;
    height: 500px;
    border-radius: 100%;
    top: 0vw;
    left: -150vh;
    background-color: #d4eaff;
    animation: huwa2 6s infinite ease-in-out;
}

@keyframes huwa2{
    0% {
        transform: scale(0.9);
        border-top-right-radius: 70%;
        border-bottom-right-radius: 60%;
    }

    20% {
        border-bottom-right-radius: 80%;
        border-top-right-radius: 90%;
    }
    50% {
        transform: scale(1);
                border-bottom-right-radius: 90%;
        border-top-right-radius: 70%;
    }
    70%{
                border-bottom-right-radius: 60%;
        border-top-right-radius: 80%;
    }
    100% {
        transform: scale(0.9);
        border-top-right-radius: 70%;
        border-bottom-right-radius: 60%;
    }

}
.maru3 {
    position: absolute;
    width: 70px;
    height: 70px;
    border-radius: 100%;
    top: 35vw;
    left: 90vh;
    background-color: #d4eaff;
        animation: huwa1 2s infinite ease-in-out;
}
@keyframes huwa3 {
    0%{
        border-top-right-radius: 70%;
        border-bottom-left-radius: 73%;     
        border-bottom-right-radius: 80%;
        transform: scale(1);


    }
    20% {
        border-top-left-radius: 96%;
        border-bottom-right-radius: 80%;
        border-bottom-left-radius: 100%;
    }

    43%{
        transform: scale(0.9);
    }
    60% {
        border-bottom-left-radius: 100%;
        border-top-right-radius: 60%;
        border-bottom-right-radius: 70%;
    }
    100% {
        border-top-right-radius: 70%;
        border-bottom-left-radius: 73%;     
        border-bottom-right-radius: 80%;
        transform: scale(1);



    }
}

/* kazari fin */


h2{
    margin: 10vh auto 8vh auto;
    display: flex;
    flex-direction: column;
    text-align: center;
    border-bottom: 2px solid #888;
    width: 15vw;
    position: relative;

}
.tategaki {
    writing-mode: vertical-rl;
    border-left: 2px solid #888;
    margin-right: 1em;
    font-size: 1.4vw;
    color: #333;
        font-family: MPLUSRounded1c-Light;
                font-weight: 600;
}
.web-parent{
    display: flex;
    width: 80%;
    margin-left: auto;
    margin-right: auto;
    gap: 1em;

}
.web-yokonarabi {
    display: flex;
}


.cafesite img,.sikasite img,.posite img,.kensite img{
    width: 25vw;
    border: 2px solid #333;
    transition: .3s;
    margin-bottom:1vh;

}
.cafesite img:hover,.sikasite img:hover,.posite img:hover,.kensite img:hover{
    transform: translateY(-1vh);
    box-shadow: 3px 3px 3px #888;
    transition: .2s;
}

.kensite {
    margin-left: 5vw;
    margin-top: 2em;
}
.cafesite p,.sikasite p,.posite p,.kensite p{
    font-size: 1.2vw;
    color: #333;
        font-family: MPLUSRounded1c-Light;
        font-weight: 600;
        margin-bottom: 0.3em;

}

.wakutuki {
    margin-right: 0.2em;
    width: fit-content;
    padding: 0.2em 0.4em 0.2em 0.4em;
    border: 1px solid #362f5f;
    border-radius: 10px;
}
.motto {
    background-color: #ceb06e;
    width: fit-content;
    padding: 0.4em 1.5em 0.4em 1.5em;
    border-radius: 10px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 5vh;
    font-size: 1.4vw;
    transition: .3s;

}
.motto a {
        color: white;
                font-family: MPLUSRounded1c-Light;
        font-weight: 600;
}
.motto:hover{
    background-color: #8b784e;
    transform: translateY(1vh);
    transition: .3s;
}

/* バナーセクション　ここから */


.bnr {
    background-color: #b3eaff;

}
.cloud {
    background-image: url(../images/moko.gif);
    height: 30vh;
    background-size: cover;

}
.bnr-parent {
    display: flex;
    padding-top: 15vh;
        gap: 1em;

}
.bnr-parent h3 {
    margin-left: 7em;
    height: fit-content;
    padding-bottom: 20vh;
}




.bnr-left img,.bnr-center img,.bnr-right img{
    width: 25vw;
    border: 2px solid #333;
    transition: .3s;
    margin-bottom:1vh;

}
.bnr-left img:hover,.bnr-center img:hover,.bnr-right img:hover{
    transform: translateY(-1vh);
    box-shadow: 3px 3px 3px #888;
    transition: .2s;
}


.bnr-left p,.bnr-center p,.bnr-right p{
    font-size: 1.2vw;
    color: #333;
        font-family: MPLUSRounded1c-Light;
        font-weight: 600;
        margin-bottom: 0.3em;

}

.cloud2 {
    background-image: url(../images/moko2.gif);
    height: 30vh;
    background-size: cover;

}
.bnr-content {
    display: flex;
}
/* わたしについて　ここから */


.about-parent {
    margin-top: 20vh;
    display: flex;
        color: #333;
        gap: 6vw;
}
.about-me img{
    width: 30%;
}
.about-parent {
    width: 70%;
    margin-left: auto;
    margin-right: auto;
}
.about-me address {
    display: block;
    font-style: normal;
    font-size: 1.3vw;
    line-height: 1.6;
}
.name {
    color: #333;
    font-size: 2vw;
    padding-top: .5em;
    border-bottom: 2px solid #555;
    width: fit-content;
    padding: 0 1em;
    margin-left: auto;
    margin-right: auto;
}

.p2{
        font-size: 1.3vw;
    line-height: 1.6;
}
.name {
    color: #333;
    font-size: 2vw;
    padding-top: .5em;
    border-bottom: 2px solid #555;
    margin-bottom: 1em;
    width: fit-content;
    padding: 0 1em;
    margin-left: auto;
    margin-right: auto;
}

.p3 {
    margin-top: 1em;
    font-size: 1.3vw;
    line-height: 1.6;
    white-space: pre-wrap;
}
.address{
    margin-top: 4em;
    margin-bottom: 1em;
}

footer p {
    margin-top: 10vh;
    background-color: #b3eaff;
    color: #fff;
    font-size: 1.2vw;
    text-align: center;
}