.inter {
font-family: "Inter", sans-serif;
font-optical-sizing: auto;
font-weight: 500;
font-style: normal;
}
.noto-sans-jp {
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
}

.old-standard-tt-regular {
    font-family: "Old Standard TT", serif;
    font-weight: 400;
    font-style: normal;
}

.old-standard-tt-bold {
    font-family: "Old Standard TT", serif;
    font-weight: 700;
    font-style: normal;
}

.old-standard-tt-regular-italic {
    font-family: "Old Standard TT", serif;
    font-weight: 400;
    font-style: italic;
}
*,*::before,*::after{box-sizing:border-box}html{-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}ul[role='list'],ol[role='list']{list-style:none}body{min-height:100svh;line-height:1.5}h1,h2,h3,h4,button,input,label{line-height:1.1}h1,h2,h3,h4{text-wrap:balance}a:not([class]){text-decoration-skip-ink:auto;color:currentColor}img,picture{max-width:100%;display:block}input,button,textarea,select{font:inherit}textarea:not([rows]){min-height:10em}:target{scroll-margin-block:5ex}
li {list-style-type: none;}ul{padding: 0;margin: 0;}a{text-decoration: none;}
/* a {pointer-events: none;} */

@media screen and (min-width: 1025px) {
    a {transition: all 0.5s;}
    a:hover {opacity: 0.5;}
}

html {
height: 100svh;
}
:root {
    font-size: 0.4592svh;
    font-family: "Inter", "Noto Sans JP", sans-serif;
    color: #000;
}
* {
    box-sizing: border-box;
}


/*スクロールバー非表示（Chrome・Safari）*/
*::-webkit-scrollbar{
    display:none;
}
body,html {
    background-color: #fffbf2;
}
/*
@media screen and (max-width: 768px) {

    body main::after{
        content: '';
        display: block;
        position: fixed;
        z-index: 100;
        width: 15vw;
        height: 100svh;
        top: 0;
        left: 85vw;
        pointer-events: none;
        background-image: linear-gradient(90deg, transparent 0%, #8484847a 60%, #848484 100%);
        opacity: 0;
    }

    body.yet main::after{
        animation: scrollX 2s 1.5s infinite ease forwards;
    }
    @keyframes scrollX {
        0% {opacity: 0;}
        50% {opacity: 1;}
        100% {opacity: 0;}
    }
}*/

body,main,
main .wrapper {
    width: max-content;
    height: 100svh;
    overflow-y: hidden;
    -ms-overflow-style: none;
}
main .wrapper {
    display: flex;
    background-color: #000;
    margin-left: min(0px, calc(50vw - 38.7385svh));
}
main .wrapper > section {
    height: 100svh;
    position: relative;
    display: block;
}
a:has(.h1logo,.ig) {
    position: fixed;
    display: block;
    z-index: 100;
}
a:has(.h1logo){
    width: 4.477svh;
    top: 9rem;
    left: 8rem;
}
a:has(.ig) {
    width: 6rem;
    top: 11rem;
    right:11rem;
}

.h1logo,.ig {
    width: 100%;
}


.top {
    width: 339svh;
    padding-left: 33.4svh;
    background-color: #fffbf2;
}

.logo-top {
    width: 10.677svh;
    position: relative;
    top: 45.2354svh;
}
.top h2,
.top p.lead {
    display: block;
    width: max-content;
    position: absolute;
    left: 67.9679svh;
    top: 39.4948svh;
}
.top h2 {
    line-height: 1.34;
    letter-spacing: -.05em;
    font-size: 19rem;
    font-family: "Old Standard TT", serif;
    font-weight: 400;
}
.top p.lead {
    top: auto;
    bottom: 6.6131svh;
    font-size: 2rem;
    line-height: 1;
    color:#656374;
    font-weight: 300;
}
.top img.fl {
    position: absolute;
    width: 39.72445svh;
    top: 45svh;
    left: 228.817svh;
}

.bg {
    width: 491.2744svh;
    background-color: #000;
}

.bg > * {
    position: absolute;
}

.bg h3{
    display: block;
    font-size: 2.4rem;
    color: #ebe3bc;
    top: 107rem;
    left: 82.5rem;
    font-weight: 300;
}

.bg > div {
    left: 82.32svh;
    top: 32.5rem;
    width: max-content;
    height: max-content;
    display: flex;
}

.bgimg:not(.bg1) {
    margin-left: 3.5rem;
}

.bg img{
    width: auto;    
    outline: 1px solid #000;
    outline-offset: -1px;
}

.bg1 img,
.bg6 img {
    height: 70.6svh;
}
.bg1 p,
.bg6 p{
    font-size: 2rem;
    display: block;
    width: max-content;
    margin: 1em auto 0;
    color: #ebe3bc;
    font-weight: 300;
}
.bg23 img:first-child,
.bg45 img:first-child {
    height: 78rem;
    margin-bottom: 2.5rem;
}
.bg23 img:last-child,
.bg45 img:last-child {
    height: 73.25rem;
}

.bg > p {
    bottom: 6.6131svh;
    font-size: 2rem;
    line-height: 1;
    color: #ebe3bc;
    left: 82.32svh;
    font-weight: 300;
}
.bg > img {
    left: 898.25rem;
    top: 60rem;
    width: 108rem;
}

.about {
    width: 793rem;
    background-color: #fffbf2;
}
.about h3{
    display: block;
    position: relative;
    font-size: 2.5rem;
    font-weight: 300;
    width: max-content;
    top: 107rem;
    padding: 0 79rem;
    left: auto;
}


.about > * {
    display: block;
    position: absolute;
    left: 178rem;
}
.about p {
    color: #656374;
}
.about > p {
    bottom: 6.6131svh;
    font-size: 2rem;
    line-height: 1;
    font-weight: 300;
}

.about > div {
    height: 153.75rem;
    padding-right: 12rem;
    top: 32.25rem;
    width: max-content;
    display: flex;
}
.about .about-b {
    padding: 8rem 12rem 0 7.5rem;
    border-left: .3px dashed #bbb;
}
.about .about-b > section {
    padding: 0 11.25rem 0 12.5rem;
}
.about .ab1 {
    width: 116.75rem;
}
.about .ab1 > section {
    height: 76.75rem;
}
.about .ab1 > section img:first-child {
    width: 6rem;
}
.about .ab1 > section:last-child {
    border-top: .3px dashed #bbb;    
    padding-top: 9.75rem;
}
.about .ab1 > section:last-child img:first-child {
    width: 5rem;
}
.about .ab1 > section img:last-child {
    width: 93rem;
    margin-top: 10.75rem;
}
.about .ab2 section > div,
.about .ab2 section > div img:first-child,
.about .ab3 section > div,
.about .ab3 section > div img:first-child{
    height: 24.68rem;
    width: 39.4rem;
    object-fit: cover;
    position: relative;
}
.about .ab2 section > div img:last-child {
    position: absolute;
    width: 11.5rem;
    top: 55%;
    left: 40%;
}
.about .ab2 section > img {
    width: 13.25rem;
    margin: 12rem 0 11.5rem;
}
.about section > p {
    width: 65.75rem;
    font-size: 3rem;
    line-height: 157.8%;
    font-weight: 400;
}
.about section > p small{
    width: 50.75rem;
    font-size: 2rem;
    letter-spacing: .05em;
    color: #a9a9a9;
    margin-top: 7.5rem;
    display: block;
    font-weight: 300;
}

.about .ab3 section > div {
    margin-top: 10rem;
}
.about .ab3 section > div::after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: #07ff2f;
    opacity: .6;
    mix-blend-mode: color-dodge;
}
.about .ab3 section > img {
    width: 13.25rem;
    margin-bottom: 9rem;
}

.about .ab4 h4 {
    font-size: 5rem;
    line-height: 1.34;
    letter-spacing: -.05em;
    font-family: "Old Standard TT", serif;
    font-weight: 400;

}
.about .ab4 section > p {
    width: 188.25rem;
    margin-top: 7.25rem;
}

.LTR {
    width: 842.5rem;
    background-image: url(../img/swim.webp);
    background-repeat: no-repeat;
    background-size: cover;
}
.LTR > * {
    position: absolute;
    display: block;
}
.LTR *{
    color: #fff !important;
    font-weight: 400;
}

.LTR h3 {
    font-size: 2.5rem;
    left: 67rem;
    top: 101rem;
    font-weight: 300;
}

.LTR > p {
    left: 142.5rem;
    bottom: 6.6131svh;
    font-size: 2rem;
    line-height: 1;
    font-weight: 300;
}

.LTR > section.copy {
    left: 142.5rem;
    top: 51rem;
}
.LTR > section.copy > div {
    width: 92.25rem;
    height: 17.88rem;
    background-image:url(../img/dear.png);
    background-size: contain;
    background-repeat: no-repeat;
    position: relative;
    margin-bottom: 26.25rem;
}

.LTR > section.copy > div p,
.LTR h4, .LTR #count {
    line-height: 1.34;
    letter-spacing: -.05em;
    font-family: "Old Standard TT", serif;
    font-weight: 400;
}

.LTR > section.copy > div p {
    font-size: 7.45rem;
    position: absolute;
    left: 0;
    bottom: 0;
    line-height: .5;
}
.LTR > section.copy h4 {
    font-size: 12.75rem;
}
.LTR > section.copy h5 {
    letter-spacing: -.05em;
    font-size: 3.32rem;
    line-height: 1.08;
    font-weight: 600;
}
.LTR > section.copy h5 span {
    letter-spacing: -.14em;
    font-weight: 700;
}

.launch {
    left: 288rem;
    top: 71.75rem;
}

.launch h4,
.launch > p#count{
    font-size: 8rem;
}
.launch > p#count {
    margin-top: 5rem;
}
.launch > p span {
    font-size: 19rem;
    margin: 0 2rem 0 8rem;
    line-height: 1.34;
    letter-spacing: -.05em;
    font-family: "Old Standard TT", serif;
    font-weight: 400;
}
.launch > p span#day {
    margin-left: 0rem;
}
.launch > p:not(#count){
    font-size: 2rem;
    width: 43.25rem;
    line-height: 1.57;
    margin-top: 17.5rem;
    font-weight: 400;
}

.iglink {
    left: 680rem;
    top: 80rem;
    position: relative;
    width: max-content;
}
.iglink span{
    position: absolute;
    display: block;
    top: 22rem;
}
.iglink span.line {
    width: 115rem;
    left: -115rem;
    border-bottom: 1px dashed;
}
.iglink span.dot {
    width: 7px;
    height: 7px;
    border-radius: 100px;
    background: #fff;
    left: -7px;
    translate: 0 -3px;
}
.iglink h4{
    font-size: 8rem;
}

.iglink a {
    display: block;
    margin: 5.5rem auto;
    width: 12rem;
}

.love {
    width: 631rem;
}
.love > * {
    display: block;
    position: absolute;
    color: #fff;
}
.love h3 {
    line-height: 2.51;
    letter-spacing: -.05em;
    font-size: 5.25rem;
    font-family: "Old Standard TT", serif;
    font-weight: 400;
    left: 62.25rem;
    top: 101.25rem;
}

.love > p {
    font-weight: 550;
    line-height: 1.87;
    font-size: 3.5625rem;
    top: 80rem;
    letter-spacing: -.16em;
}
.love > p:nth-child(2){
    left: 194.75rem;
    width: 65rem;
}
.love > p:nth-child(3){
    left: 317rem;
    width: 64.5rem;
}
.love > p:nth-child(4){
    left: 438.25rem;
    width: 63rem;
}
.love > p:nth-child(5){
    left: 558.75rem;
    width: 72.25rem;
}

.love img {
    width: 568.75rem;
    margin-left: 62.25rem;
    margin-top: 80rem;
}

.last {
    width: 100vw;
    display: flex !important;
    justify-content: center;
    align-items: center;
    margin-left: 12vw;
}
.last img{
    width: 50rem;
    pointer-events: none;
}