/******************** 変数 ********************/
:root {
    /* title */
    --fs-lg: 1.5rem;  /* PC:24px / SP:21px */

    /* space scale */
    --space-sm: 0.5rem; /* PC:8px  / SP:7px */
    --space-xl: 3rem; /* PC:48px  / SP:42px */
    
    /* font family */
    --title-font: "a-otf-ryumin-pr6n",
        serif;

    /* color */
    --bg-gray: #b5b6b6;
}

/******************** base ********************/
html {
    font-size: 14px;
}
body {
    color: #333;
    font-size: 12px;
    font-family: "Hiragino Mincho ProN",
        "Hiragino Mincho",
        serif;
    line-height: 1.7;
}
.nehan-zu img {
    width: auto;
    height: auto;
    max-width: 100%;
}
.nehan-zu p {
    line-height: 2.2;
}
.nehan-zu section {
    margin: var(--space-xl) auto;
}
section + section {
    border-top: 1px solid var(--bg-gray);
    padding-top: var(--space-xl);
}

/* grid設定 */
.grid {
    display: grid;
}
.grid-1fr {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.7rem;
}
.flex {
    display: flex;
}

.fs-sm {
    line-height: 1.5;
}
.space-btm--m {
    margin-bottom: var(--space-xl);
}
.space-btm--s {
    margin-bottom: var(--space-sm);
}

/* sp css */
.sp-br {
    display: block;
}
.img-area {
    margin-top: 1rem;
}

/* ウインドウ幅100% */
 .full-width {
     width: 100vw;
     position: relative;
     left: 50%;
     right: 50%;
     margin-left: -50vw;
     margin-right: -50vw;
     text-align: center;
 }

 .full-width img {
     max-width: 1000px;
     width: 100vw;
 }

/******************** top ********************/
.nehan-zu {
    max-width: 90%;
    margin: 0 auto;
    padding-bottom: var(--space-xl);
}

h2 {
    font-family: var(--title-font);
    font-size: var(--fs-lg);
    text-align: center;
    margin-bottom: 1rem;
    font-weight: bold;
}
h2::before {
    content: "";
    background: url(../img/icon.png) no-repeat;
    background-size: contain;
    display: block;
    width: 2.5rem;
    height: 2.5rem;
    margin: 0 auto;
}
h4 {
    font-weight: bold;
}
.text-area .img-wrap + .img-wrap {
    margin-top: var(--space-sm);
}
.dateyoshimura {
    max-width: 540px;
    margin: 0.5rem auto;
}
.box {
    border: 1px solid var(--bg-gray);
    padding: 1rem 2rem;
    box-sizing: border-box;
}
.box h3 {
    text-align: center;
    font-size: 0.875rem;
    font-weight: bold;
}

.co-hosting .flex {
    justify-content: center;
    font-size: 0.8rem;
    gap: 0.5rem;
}
.co-hosting .flex dt {
    width: 50px;
}
/**************************************** PC responsive **********************************/
@media screen and (min-width: 769px) {
    html {
        font-size: 16px;
    }
    .pc-flex {
        display: flex;
    }
    .pc-grid {
        display: grid;
    }
    .grid-6-4 {
        grid-template-columns: 62% 1fr;
        gap: 3%;
    }
    .grid-4-6 {
        grid-template-columns: 38% 1fr;
        gap: 3%;
    }
    .nehan-zu {
        max-width: 630px;
    }
    .sp-br {
        display: none;
    }

    /************************************** page ****************************/
    .page-fv.pc-flex {
        gap: 50px;
    }
    .fv-text p {
        line-height: 2.4;
    }
    .img-area {
        margin-top: 0;
    }
}