.shippori-mincho-regular {
    font-family: "Shippori Mincho", serif;
    font-weight: 600;
    font-style: normal;
}


body {
    margin: 0;
    /* background: url(../img/background_image.png) no-repeat center top/cover; */
    background: linear-gradient(to bottom right,
            #ECE6DC,
            #E2D0BF);
}


header {
    position: relative;
    z-index: 0;
    height: 750px;
    text-align: center;
    background: linear-gradient(to bottom right,
            #ECE6DC,
            #E2D0BF);
}

h1 {
    display: inline-block;
    width: 280px;
    height: 580px;
    background: url(../img/back_image1.png) no-repeat;
    background-position: center;
    background-size: contain;
    pointer-events: none;
    z-index: -1;
    margin-top: 50px;
}

h1 .title_image {
    height: 500px;
    padding-top: 90px;
}


header ul li {
    position: absolute;
}

/* ul内お名前の配置、サイズ */
.hideyoshi_image {
    right: 48px;
    top: 40px;
}

.hideyoshi_image img {
    width: 49px;
}

.hidenaga_image {
    left: 46px;
    top: 430px;
}

.hidenaga_image img {
    width: 47px;
}

.ieyasu_image {
    right: 32px;
    top: 280px;
}

.ieyasu_image img {
    width: 43px;
}

.mandokoro_image {
    left: 80px;
    top: 60px;
}

.mandokoro_image img {
    width: 50px;
}

.doami_image {
    left: 35px;
    top: 200px;
}

.doami_image img {
    width: 38px;
}

.terumoto_image {
    right: 80px;
    top: 480px;
}

.terumoto_image img {
    width: 43px;
}


.catch p {
    text-align: center;
    font-size: 16px;
    padding: 80px 40px 80px;
    line-height: 1.7rem;
    /* background-color: #55504c; */
    background: linear-gradient(40deg, #55504c, #686056);
    color: #f8f6f2;
}


.viewpoint_wrap1,
.viewpoint_wrap2,
.viewpoint_wrap3 {
    margin-top: 155px;
}

.viewpoint_wrap4 {
    margin: 80px 0 60px;
    text-align: center;
    font-size: 23px;
}

.viewpoint div h2 img {
    width: 85%;
}

.viewpoint div h2 {
    margin-bottom: 20px;
    text-align: center;
}

.viewpoint div h3 {
    text-align: center;
    font-size: 21px;
    margin: 0 auto 30px;
    line-height: 1.7rem;
}

.viewpoint_wrap1 div,
.viewpoint_wrap2 div,
.viewpoint_wrap3 div {
    text-align: center;
}

.viewpoint_wrap1 div img:nth-child(2),
.viewpoint_wrap1 div img:nth-child(4),
.viewpoint_wrap2 div img,
.viewpoint_wrap3 div img {
    max-width: 65%;
}

.viewpoint div .caption {
    margin: 2px 0 14px;
    font-size: 12px;
}

.viewpoint div p {
    font-size: 14px;
    line-height: 1.4rem;
    margin: 0 45px;
    text-align: center;
}

.viewpoint .viewpoint_wrap5 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
}

.viewpoint .viewpoint_wrap5 img {
    flex-basis: 40%;
}

.viewpoint .viewpoint_wrap5 img:nth-child(1),
.viewpoint .viewpoint_wrap5 img:nth-child(2) {
    margin-bottom: 5px;
}

.viewpoint .viewpoint_wrap5 img:nth-child(3) {
    margin-bottom: 80px;
}


/*footer*/
.footer {
    padding: 100px 0 30px;
    position: relative;
}

.footer_box01 {
    border-top: 1px solid #55504c;
    padding-top: 45px;
    margin: 0 30px 100px 30px;
}

.footer_box01 .box_l {
    width: 40%;
    padding-right: 80px;
}

.footer_box01 .box_r {
    width: 60%;
    margin-bottom: 100px;
}

.footer_box01 .txt04 {
    line-height: 1.8;
    letter-spacing: 0.1em;
    text-align: justify;
}

.f_logo img {
    max-width: 300px;
    margin-bottom: 20px;
}

.sns_list01 {
    margin-top: 40px;
}

.box_r .sns_list01 li {
    border-bottom: 1px solid #55504c;
    padding-bottom: 9px;
    padding-right: 30px;
    margin-bottom: 20px;
}

.btn01:hover {
    cursor: pointer;
}

.sns_list01 li {
    width: calc((100% - 90px) / 4);
}

.sns_list01 li a {
    font-size: 13px;
    padding-bottom: 15px;
    position: relative;
}

/*.sns_list01 li a::after{
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background-color: var(--color-secondary);
}*/
.copyright {
    font-size: 13px;
}

@media screen and (max-width: 899px) {
    .footer {
        padding-top: 0;
    }

    .footer_box01 {
        margin: 0 30px 100px 30px;
    }

    .footer_box01 .box_l {
        width: 100%;
        padding-right: 0;
        margin-bottom: 30px;
    }

    .footer_box01 .box_r {
        width: 100%;
    }

    .f_logo {
        margin-bottom: 15px;
    }

    .footer_box01 .txt04 {
        font-size: 12px;
    }

    .sns_list01 li {
        width: 100%;
        margin-bottom: 15px;
    }

    .sns_list01 li:last-child {
        margin-bottom: 0;
    }
}





/* 全員同じ場所に重ねる（1人ずつ表示） */
.bushou-names>li {

    animation: nameSwap 12s infinite ease-in-out;

    /* ②ずっとふわふわ（別アニメ） */
    /* ※ li と img の transform が干渉しないよう img 側で動かす */
}

/* 画像を少しだけ“浮かせる”＆影でエモく */
.bushou-names>li img {
    display: block;
    max-width: min(90vw, 720px);
    /* 大きすぎる時の保険 */
    height: auto;

    /* ほんのり発光 + 影（背景に合わせて調整） */
    filter: drop-shadow(0 12px 22px rgba(0, 0, 0, .28)) drop-shadow(0 0 24px rgba(255, 255, 255, .10));
    animation: floaty 5.2s infinite ease-in-out;
}

/* 個別ディレイ（順番） */
.bushou-names>li:nth-child(1) {
    animation-delay: 0s;
}

.bushou-names>li:nth-child(2) {
    animation-delay: 2s;
}

.bushou-names>li:nth-child(3) {
    animation-delay: 4s;
}

.bushou-names>li:nth-child(4) {
    animation-delay: 6s;
}

.bushou-names>li:nth-child(5) {
    animation-delay: 8s;
}

.bushou-names>li:nth-child(6) {
    animation-delay: 10s;
}

/* floaty も“位相ずらし”すると気持ちいい */
.bushou-names>li:nth-child(2) img {
    animation-delay: -0.4s;
}

.bushou-names>li:nth-child(3) img {
    animation-delay: -0.8s;
}

.bushou-names>li:nth-child(4) img {
    animation-delay: -1.2s;
}

.bushou-names>li:nth-child(5) img {
    animation-delay: -1.6s;
}

.bushou-names>li:nth-child(6) img {
    animation-delay: -2.0s;
}

/* 出る→余韻→消える（ブラー解除と一緒に） */
@keyframes nameSwap {
    0% {
        opacity: 0;
        transform: translateY(18px) scale(.985);
        filter: blur(12px);
    }

    10% {
        opacity: 1;
        transform: translateY(0) scale(1);
        filter: blur(0);
    }

    34% {
        opacity: 1;
        transform: translateY(0) scale(1);
        filter: blur(0);
    }

    48% {
        opacity: 0;
        transform: translateY(-14px) scale(1.01);
        filter: blur(12px);
    }

    100% {
        opacity: 0;
        transform: translateY(-14px) scale(1.01);
        filter: blur(12px);
    }
}

/* ふわふわ（揺れは極小に） */
@keyframes floaty {

    0%,
    100% {
        transform: translateY(0) rotate(-0.15deg);
    }

    50% {
        transform: translateY(-16px) rotate(0.15deg);
    }
}