/*
Theme Name: wps_005
Theme URL: https://tnc-style.net/wt0039
Description: ウエディングフォトサービス和装版用テーマ
Author: TNCommunications
Version: 1.0
*/


@import url("reset.css");

body {
    font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-weight: 400;
    font-style: normal;
    color: #4b3833;
}
header {
    position: relative;
    width: 100%;
    height: 100vh;
}
.content-firstview {
    width: 100%;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
}
.content-firstview-sp {
    display: none
}
.content-firstview .firstview-img, .content-firstview .firstview-text  {
    flex-basis: 50%;
    height: 100%;
}
header .firstview-visual {
    width: 100%;
    height: 100vh!important;
}
.firstview-img {
    width: 100%;
    height: 100vh!important;
    background: url("https://tnc-style.net/wt0039/wp-content/uploads/2025/06/bg_firstview-split-pc.jpg") no-repeat center center;
    background-size: cover;
}
.firstview-text {
    width: 100%;
    height: 100vh!important;
    background: url("https://tnc-style.net/wt0039/wp-content/uploads/2025/06/bg_firstview-ttl_wps006-scaled-1.jpg") no-repeat right center;
    background-size: cover;
    padding: 0 20px;
}
.ttl-firstview {
    display: flex;
	flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}
.ttl-firstview h1 {
    font-weight: 400;
    font-size: clamp( 2.25rem, calc( 0.4516129032258065rem + 5.161290322580645vw ), 4rem );
    color: #e60033;
    margin: 0 0 20px;
}
.ttl-firstview h1 span {
    color: #d2971b;
}
.ttl-firstview p {
    font-size: clamp( 0.9375rem, calc( 0.7923387096774194rem + 0.4838709677419355vw ), 1.125rem );
    font-weight: 600;
    line-height: 1.6;
	text-align: center;
}
.ttl-firstview p:first-of-type {
    margin: 0 0 15px;
}
.ttl-firstview .date {
    margin: 0 0 15px;
}
.ttl-firstview .logo-hall {
    width: 200px;
}
.ttl-firstview .logo-hall img {
    width: 100%;
}
.content-firstview .player {
    position: absolute;
    top: 20px;
    right: 20px;
}
.content-firstview .player audio {
    width: 250px;
    height: 45px;
}

/* キャッチコピーアニメーション */
.fadeIn01 {
    animation: fadeIn01 2.4s ease 0s 1 forwards;
    -webkit-animation: fadeIn01 2.4s ease 0s 1 forwards;
    opacity: 0;
    transform: translateY(30px);
}
@keyframes fadeIn01 {
    0% {}
    100% {
        transform: translateY(0);
        opacity: 1
    }
}
@-webkit-keyframes fadeIn01 {
    0% {}
    100% {
        transform: translateY(0);
        opacity: 1
    }
}
.fadeIn02 {
    animation: fadeIn02 2.4s ease 0.7s 1 forwards;
    -webkit-animation: fadeIn02 2.4s ease 0.7s 1 forwards;
    opacity: 0;
    transform: translateY(30px);
}
@keyframes fadeIn02 {
    0% {}
    100% {
        transform: translateY(0);
        opacity: 1
    }
}
@-webkit-keyframes fadeIn02 {
    0% {}
    100% {
        transform: translateY(0);
        opacity: 1
    }
}
.fadeIn03 {
    animation: fadeIn03 2.4s ease 1.4s 1 forwards;
    -webkit-animation: fadeIn03 2.4s ease 1.4s 1 forwards;
    opacity: 0;
    transform: translateY(30px);
}
@keyframes fadeIn03 {
    0% {}
    100% {
        transform: translateY(0);
        opacity: 1
    }
}
@-webkit-keyframes fadeIn03 {
    0% {}
    100% {
        transform: translateY(0);
        opacity: 1
    }
}
.fadeIn04 {
    animation: fadeIn04 2.4s ease 2.1s 1 forwards;
    -webkit-animation: fadeIn04 2.4s ease 2.1s 1 forwards;
    opacity: 0;
    transform: translateY(30px);
}
@keyframes fadeIn04 {
    0% {}
    100% {
        transform: translateY(0);
        opacity: 1
    }
}
@-webkit-keyframes fadeIn04 {
    0% {}
    100% {
        transform: translateY(0);
        opacity: 1
    }
}

@media screen and (max-width: 820px) {
    .firstview-img {
        background: url("https://tnc-style.net/wt0039/wp-content/uploads/2025/06/bg_firstview-sp.jpg") left center / cover;
        background-repeat: no-repeat;
        align-items: center;
    }
}
@media screen and (max-width: 768px) {
    header .ttl-firstview h1 {
        margin: 0 0 10px;
    }
    header .info-wedding .date {
        font-size: calc(20 / 16 * 1rem);
    }
    header .info-wedding .date {
        margin: 0 0 10px;
    }
    header .info-wedding .logo-hall {
        width: 150px;
    }
}
@media screen and (max-width: 480px) {
    header {
        align-items: flex-end;
    }
    header .content-firstview {
        display: none;
    }
    header .content-firstview-sp {
        display: block!important;
        background: url("https://tnc-style.net/wt0039/wp-content/uploads/2025/06/bg_firstview-sp.jpg") no-repeat left top;
        background-size: cover;
        height: 100vh;
        position: relative;
    }
    header .firstview-text-sp {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        flex-direction: column;
        width: 100%;
        height: 100%;
        padding: 20px 20px 60px 20px;
    }
    header .ttl-firstview-sp {
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: 20px;
        background: rgba(255, 255, 255, .4);
        border-radius: 6px;
    }
    header .ttl-firstview-sp h1 {
        font-weight: 400;
        font-size: clamp( 2.5rem, calc( -0.3500000000000001rem + 12vw ), 3.25rem );
        color: #e60033;
        margin: 0 0 20px;
    }
    header .ttl-firstview-sp h1 span {
        color: #d2971b;
    }
    header .ttl-firstview-sp p {
        font-size: clamp( 1rem, calc( 0.7625rem + 1vw ), 1.0625rem );
        font-weight: 600;
        line-height: 1.6;
		text-align: center;
    }
    header .ttl-firstview-sp p br {
        display: none;
    }
    header .ttl-firstview-sp p:first-of-type {
        margin: 0 0 15px;
    }
    header .ttl-firstview-sp .date {
        margin: 0 0 15px;
    }
    header .ttl-firstview-sp .logo-hall {
        width: 200px;
    }
    header .ttl-firstview-sp .logo-hall img {
        width: 100%;
    }
    header .content-firstview-sp .player {
        position: absolute;
        top: 20px;
        right: 20px;
    }
    header .content-firstview-sp .player audio {
        width: 250px;
        height: 45px;
    }
}

main {
    background-image: url("https://tnc-style.net/wt0040/wp-content/uploads/2025/06/bg_paper.jpg");
    background-repeat: repeat;
}


.greeting {
    background-image: url("https://tnc-style.net/wt0039/wp-content/uploads/2025/04/bg_gold-pc.png");
    background-size: cover;
    background-position: bottom center;
    background-repeat: no-repeat;
}
.greeting-content {
    position: relative;
    max-width: 1100px;
    width: 100%;
    margin: 0 auto;
    padding: 100px 20px 200px;
    display: flex;
    justify-content: space-between;
}
.greeting-content .pic-preshot {
    width: 44%;
    margin-top: -160px;
    z-index: 2;
}
.greeting-content .pic-preshot img {
    width: 100%;
    /* padding: 11px;
    background: #fff; */
    box-shadow: 0px 0px 8px 0 rgb(0 0 0 / 20%);
}

.fadein {
	opacity: 0;
	transform: translate(0,0);
	transition: all 1.2s;
}
.fadein.fadein-up {
	transform: translate(0,40px);
}
.fadein.fadein-right {
	transform: translate(50px,0);
}
.fadein.scrollin{
	opacity: 1 !important;
	transform: translate(0, 0) !important;
}

.greeting-content .txt-greeting {
    width: 50%;
    writing-mode: vertical-rl;
}
.greeting-content .txt-greeting h2 {
    font-size: clamp( 1.5rem, calc( 1.2142857142857144rem + 1.1428571428571428vw ), 2rem );
    margin: 0 0 0 1em;
}
.greeting-content .txt-greeting p {
    font-size: clamp( 0.9375rem, calc( 0.8660714285714286rem + 0.2857142857142857vw ), 1.0625rem );
    line-height: 1.8;
    margin: 0 0 0 1.5em;
}

@media screen and (max-width: 768px) {
    .greeting-content {
        padding: 0 20px 200px;
        flex-direction: column-reverse;
        justify-content: space-between;
    }
    .greeting .pic-preshot {
        width: 90%;
        margin: -40px auto 40px;
    }
    .greeting .txt-greeting {
        width: 90%;
        margin: 0 auto;
        writing-mode: horizontal-tb;
    }
    .greeting .txt-greeting h2 {
        margin: 0 0 .5em;
    }
    .greeting .txt-greeting p {
        margin: 0 0 1em;
    }
    .greeting .txt-greeting p br {
        display: none;
    }
    .greeting .txt-greeting p br.br_sp {
        display: block;
    }
}

/* ご挨拶写真が横組みの場合 
----------------------------------------------------------*/
.greeting-content-landscape {
    max-width: 1100px;
    width: 100%;
    margin: 0 auto;
    padding: 100px 20px 200px;
}
.greeting-content-landscape .pic-preshot {
    width: 100%;
    margin: 0 auto;
    margin-top: -130px;
    z-index: 2;
}
.greeting-content-landscape .pic-preshot img {
    width: 100%;
    box-shadow: 0px 0px 8px 0 rgb(0 0 0 / 20%);
}
.greeting-content-landscape .txt-greeting {
    width: 100%;
    writing-mode: vertical-rl; 
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin: 40px auto 0;
}
.greeting-content-landscape .txt-greeting h2 {
    font-size: clamp( 1.5rem, calc( 1.2142857142857144rem + 1.1428571428571428vw ), 2rem );
    margin: 0 0 0 1em;
}
.greeting-content-landscape .txt-greeting p {
    font-size: clamp( 0.9375rem, calc( 0.8660714285714286rem + 0.2857142857142857vw ), 1.0625rem );
    line-height: 1.8;
    margin: 0 0 0 1.5em;
}


.bestphoto {
    padding: 100px 0 0;
    /* background: url("images/cloud-right.png");
    background-position: 77% 15%;
    background-size: 300px auto;
    background-repeat: no-repeat; */
    position: relative;
}
.bestphoto h2 {
    font-size: clamp( 1.5rem, calc( 1.2142857142857144rem + 1.1428571428571428vw ), 2rem );
    writing-mode: vertical-rl;
    line-height: 1.2;
    margin: 0 auto 80px;
    position: relative;
    z-index: 1;
}
.bestphoto .golden-cloud {
    width: 300px;
    height: auto;
    position: absolute;
    top: 15%;
    right: 16%;
    z-index: 0;
}
.bestphoto-wrapper {
    width: 100%;
    position: relative;
    background: url("https://tnc-style.net/wt0039/wp-content/uploads/2025/04/bg_seigaiha.png") no-repeat left bottom /  contain, #d3cbc6;
    padding: 0 20px 240px;
}
.bestphoto-content {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto!important;
    position: relative;
    z-index: 2;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    padding: 0 130px;
}
.bestphoto-content > .is-layout-flex {
    align-items: flex-end!important;
    justify-content: space-between!important;
}
.bestphoto-each {
    position: relative;
    margin-top: -50px!important;
    padding: 0 20px;
}
.bestphoto-content .bestphoto-landscape {
    width: 100%;
    max-width: 400px;
    height: auto;
}
.bestphoto-content .bestphoto-vertical {
    width: 100%;
    max-width: 300px;
    height: auto;
}
.bestphoto-pict img {
    box-shadow: 0px 0px 8px 0 rgb(0 0 0 / 20%);
}
.bestphoto-label {
    width: 160px;
    height: auto;
    position: absolute;
    z-index: 2;
}
.bestphoto-content .bestphoto-each:first-of-type .bestphoto-label {
    left: -130px;
    bottom: 70px;
}
.bestphoto-content .bestphoto-each:last-of-type .bestphoto-label {
    right: -130px;
    bottom: 70px;
}
.meoto-chidori {
    position: absolute;
    left: 30%;
    bottom: 60px;
    width: 120px;
    height: auto;
}
.float-target {
    animation: floating-y 1.8s ease-in-out infinite alternate-reverse;
}

/* 要素をふわふわ浮遊させる*/
@keyframes floating-y {
    0% {
    transform: translateY(-10%);
    }
    100% {
    transform: translateY(10%);
    }
}

@media screen and (max-width: 1000px) {
    .bestphoto .golden-cloud {
        top: 10%;
        right: 12%;
        z-index: 0;
    }
    .bestphoto-content {
        flex-direction: column;
        justify-content: space-between;
        align-items: center;
        padding: 0;
        margin: 0 auto;
    }

    .bestphoto-content .bestphoto-each:last-of-type .bestphoto-pict {
        margin: 160px 0 0;
    }
    .bestphoto-each {
        margin-top: 0;
    }
    .meoto-chidori {
        left: 14%;
        bottom: 60px;
        width: 100px;
    }
}
@media screen and (max-width: 768px) {
    /* .bestphoto {
        background: url("images/cloud-right.png");
        background-position: 94% 6%;
        background-size: 230px auto;
        background-repeat: no-repeat;
    } */
    .bestphoto .golden-cloud {
        width: 230px;
        height: auto;
        top: 8%;
        right: 2%;
    }
    .bestphoto-wrapper {
        background: url("https://tnc-style.net/wt0039/wp-content/uploads/2025/04/bg_seigaiha.png") no-repeat left bottom /  240%, #d3cbc6;
    }
    .bestphoto-label {
        width: 130px;
    }
    .bestphoto-content .bestphoto-each:first-of-type .bestphoto-label {
        left: 20px;
        bottom: -75px;
    }
    .bestphoto-content .bestphoto-each:last-of-type .bestphoto-label {
        right: 20px;
        bottom: -75px;
    }
    
}

.prayer {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 170px 20px;
}
.prayer p {
    font-size: clamp( 1.25rem, calc( 1.0714285714285714rem + 0.7142857142857143vw ), 1.5625rem );
    position: relative;
    line-height: 1.6;
    text-align: center;
}
.prayer p br {
    display: none;
}
.prayer p::after {
    content: "";
    width: 72px;
    height: 40px;
    display: block;
    background: url("https://tnc-style.net/wt0039/wp-content/uploads/2025/04/sasa.png");
    background-size: contain;
    position: absolute;
    top: 60px;
    left: 50%;
    transform: translate(-50%, 0);
}
.prayer p span {
    color: #e60033;
}
@media screen and (max-width: 768px){
    .prayer {
        padding: 140px 20px;
    }
    .prayer p br {
        display: block;
    }
    .prayer p::after {
        top: 80px;
    }
}

.gallery {
    background: url("https://tnc-style.net/wt0039/wp-content/uploads/2025/04/pt_bg-gallary.png") repeat left top;
}
.gallery-wrapper {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    padding: 120px 20px;
}
.gallery-wrapper h3 {
    text-align: center;
    font-size: clamp( 1.25rem, calc( 1.0714285714285714rem + 0.7142857142857143vw ), 1.5625rem );
    line-height: 1.6;
    margin-bottom: 100px;
    position: relative;
}
.gallery-wrapper h3::after {
    content: "";
    width: 90px;
    height: 46px;
    display: block;
    position: absolute;
    top: 90px;
    left: 50%;
    transform: translate(-50%, 0);
}
.gallery-wrapper:first-of-type h3::after {
    background: url("https://tnc-style.net/wt0039/wp-content/uploads/2025/04/hishi-monyou_groom.png");
    background-size: contain;
}
.gallery-wrapper:last-of-type h3::after {
    background: url("https://tnc-style.net/wt0039/wp-content/uploads/2025/04/hishi-monyou_blide.png");
    background-size: contain;
}

.carousel {
    width: 100%;
    padding: 80px 20px 100px;
}
.carousel h3 {
    text-align: center;
    font-size: clamp( 1.25rem, calc( 1.0714285714285714rem + 0.7142857142857143vw ), 1.5625rem );
    line-height: 1.6;
    margin-bottom: 40px;
    position: relative;
}

body {
    position: relative;
}
footer {
    width: 100%;
    position: absolute;
    bottom: 0;
}
footer .note {
	font-size: 11px;
    margin: 0 0 5px 20px;
}
.copyright {
    padding: 6px 0;
	background: #e60033;
	color: #fff;
    font-size: 11px;
    display: flex;
    justify-content: center;
}

/* 上に戻るボタン */
.btn-pagetop {
	position: fixed;
 	bottom: 50px;
	right: 20px;
	width: 68px;
	height: 77.5px;
}
.btn-pagetop img {
	width: 100%;
	height: auto;
}

#scroll-fadein {
	visibility: hidden;
	opacity: 0;
	transition: .4s;
}

#scroll-fadein.btn_fadein {
	visibility: visible;
	opacity: 1;
}
