@charset "UTF-8";

@keyframes fadeIn {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}
@keyframes fadeOut {
    0% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}

.c-invitationPage {
    background:#F5f5f5;
    background:url(bgimage.jpg) repeat-y;
    background-size: 100%;
}
.c-invitationSec--title__img01Wrap {
    width: 100%;
    position: relative;
    padding-top: 151.333%;
}
.c-invitationSec--title__ttl_top {
    opacity: 1;
    top: 28%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 3;
    position: absolute;
    width: 90%;
}
#lottie {
    animation: fadeIn 2s ease 1s 1 normal both;
}
.c-invitationSec--title__ttlImg {
    animation: fadeIn 2s ease 4s 1 normal both;
}
.c-invitationSec--title__ttl_bgImg {
    position: absolute;
    z-index: 4;
    top: 0;
    height: 100%;
    width: 100%;
}
.c-invitationSec--title__ttl_bgflower {
    animation: fadeOut 2s ease-in-out 6s 1 normal both;
    position: absolute;
    z-index: 2;
    top: 0;
    height: 100%;
    width: 100%;
    opacity: 0;
}
.c-invitationSec--title__img01Wrap::before{
    content: "";
    background:rgba(51, 51, 51, 0.24);
    position: absolute;
    z-index: 3;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.c-invitationSec--title__img01Wrap::after{
    content: "";
    position: absolute;
    z-index: 4;
    width: 100%;
    height: 26.6667%;
    left: 0;
    right: 0;
    bottom: 0;
    background:url(bg_img01.png) no-repeat 50% 100%;
    background-size: 100%;
}
.c-invitationSec--title__img01 {
    margin: 0;
    z-index: 1;
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.c-invitationSec--title__ttlImg_caption {
    width: 100%;
}
.c-invitationSec--title__ttlImg {
    margin: 0 auto;
    width: 75%;
}
.c-invitationSec--title__name_img {
    margin-bottom: -5px;
    display: inline;
    max-width: 15%;
}
.c-invitationSec--title__name {
    width: 100%;
    animation: fadeIn 2s ease 5s 1 normal both;
    text-align: center;
    position: absolute;
    bottom: 15%;
    z-index: 4;
    color: #fff;
    font-size: 2.3rem;
    font-family: Gerbera;
}
.c-invitationSec--title__name > span {
    display: block;
    margin-top: 2rem;
}
.c-invitationSec--invTxt {
    padding: 3rem 0 6rem;
}
.c-invitationSec--invTxt_img {
    margin: 0 auto;
    width: 53%;
    max-width: 400px;
}
.c-invitationSec--scheTxt {
    background: none;
    padding: 6rem 0;
}
.c-invitationSec--scheTxt_img {
    margin: 0 auto;
    width: 53%;
    max-width: 400px;
}
.c-invitationSec--invTxt {
    margin: 0 0 25px;
    padding-bottom: 40px;
}
.c-invitationSec--img02 {
    margin: 0px;
}
.c-invitationSec--brunch_img {
    position: relative;
}
.c-invitationSec--title__feature {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 80%;
}
.c-invitationSec--invTxt__middle {
    margin-top: 2rem;
}
.c-invitationSec--scheTxt__middle{
    margin-top: 2rem;
}
.c-invitationSec--replyBtn__btnWrap .c-buttonL {
    color: #666;
    border: 1px solid #666;
}

/* 返信ページ */
.c-invitationSec--repTitle__ttl{
    aspect-ratio: 1 / 0.625;
    overflow: hidden;
    position: relative;
    z-index: 0;
}
.c-invitationSec--repTitle__ttl:has(> .c-invitationSec--repTitle__ttl__upImg)::before{
    content: "";
    background-color: rgba(51, 51, 51, 0.24);
    position: absolute;
    z-index: 1;
    inset: 0;
}
.c-invitationSec--repTitle__ttl__ttlImg{
    position: absolute;
    z-index: 2;
    inset: 0;
    margin: auto;
    max-width: 70%;
}
.c-invitationSec--repTitle__ttl__upImg{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* プロフィール */
.c-invitationSec--profile__ttl {
     width: 42%;
}
.c-invitationSec--profile__deco {
	width: 35%;
}