@charset "UTF-8";
/* 基本 */

/* *{
    border: red solid 1px;
} */

body{
    font-family: "Kaisei Decol", serif;
    font-weight: 400;
    font-style: normal;
    margin: 0;
    padding: 0;
    background-color: ghostwhite;
}

h1,h2,h3,h4,h5,h6,p,figure{
    margin: 0;
}

p{
    line-height: 1.8;
}

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

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

.header{
    height: 112px;
    margin: 15px;
}

header img{
    width: 200%;
    height: auto;
}

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

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


.hero{
    height: 650px;
    background-image: url(img/img10.jpg);
    background-position: center;
    background-size: cover;
    margin-top: 25px;
      opacity: 0.5; /* 50%透過 */
}

.hero-container{
    display: grid;
    justify-items:right;
    align-content: center;
    height: 100%;
}

.hero p{
    margin-bottom: 42px;
    font-size:clamp(36px,3vw,72px);
    font-weight: 400;
    line-height: 1.3;
    text-align: center;
    color: #d8bfd8;
    background-color: ghostwhite;
    border-radius: 25%;
}

/* 画像とテキスト */
.imgtext{
    padding: clamp(90px,9vw,120px);
    text-align: center;
}

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

.imgtext-container{
    display: flex;
    flex-direction: column;
    gap: clamp(45px,6vw,80px);
}

@media(min-width: 768px){
    .imgtext-container{
        flex-direction: row;
        align-items: center;
    }

.imgtext-container.reverse{
    flex-direction: row-reverse;
}

.imgtext-container > .text{
    flex: 1;
    min-width: 17rem;
}

.imgtext-container > .img{
    flex: 2;
}
}

/* タイトルとサブタイトル */
.heading-decoration{
    font-size: clamp(30px,3vw,40px);
    min-height: 0vw;
    font-weight: 400;
}

.heading-decoration + p{
    margin-top: 1rem;
    margin-bottom: 2rem;
    color: #707070;
    font-size: 18px;
}

.entry-container{
    padding: clamp(90px,9vw,120px);
}

.comment{
    font-family: "Licorice", cursive;
    font-weight: 400;
    font-style: normal;
    font-size: 30px;
    margin-bottom: 90px;
}

.design{
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: clamp(45px,6vw,80px);
}
@media(min-width: 400px){
.design img{
    transition: transform 0.8s ease; /* 拡大にアニメーションを適用 */
    cursor: pointer; /* ホバー時にカーソルをポインターに変更 */
    }

img:focus {
    transform: scale(1.5); /* フォーカス時に拡大 */
    transform-origin: center;
    outline: none; /* フォーカス時の枠線を非表示にする場合 */
    }
}
.heading-decoration{
    text-align: center;
}

 /* 画面サイズが768px未満の場合の設定 */
@media(max-width: 767px){
    .design{
            display:flex;
            flex-flow: column;
}
}

/* .footer{
    font-family: "Licorice", cursive;
    font-weight: 400;
    font-style: normal;
    font-size: 30px;
} */

.footer{
    height: 112px;
}