.wrap{
    max-width : 750px;
    width : 100%;
    min-height : 100vh;
    margin : 0 auto;
    overflow: hidden;
}
.main-section-visual{
    width : 100%;
    /* height : 100vh; */
	height: 100vh;
	height : 100svh;
    overflow: hidden;
    position : relative;
    padding : 0 8.3333vw;
}
.visual-bg{
    position : absolute;
    left : 0;
    top : 0;
    width : 100%;
    height : 100%;
}
.visual-bg > img{
    width : 100%;
    height : 100%;
    object-fit: cover;
    object-position: center;
}
.on .visual-bg > img{
    animation : visual-bg 5s both cubic-bezier(0.65, 0, 0.35, 1);
}
@keyframes visual-bg {
    0%{
        transform: scale(1.4);
    }
    100%{
        transform: scale(1);
    }
}
@keyframes visual-title1{
	0%{
		transform : translateX(-300px);
		opacity : 0;
	}
	100%{
		transform :translateX(0);
		opacity : 1;
	}
}
@keyframes visual-title1-1{
	0%{
		transform : translateX(-100px);
		opacity : 0;
	}
	100%{
		transform :translateX(0);
		opacity : 1;
	}
}
@keyframes visual-title1-2{
	0%{
		transform : translateX(100px);
		opacity : 0;
	}
	100%{
		transform :translateX(0);
		opacity : 1;
	}
}
@keyframes visual-title2{
	0%{
		transform : translateX(300px);
		opacity : 0;
	}
	100%{
		transform :translateY(0);
		opacity : 1;
	}
}
@keyframes visual-sign1 {
    0%{
        transform: skew(-15deg) translateX(-50px) translateY(50px);
        filter: blur(4px);
        opacity: 0;
    }
    100%{
        transform: skew(0) translateX(0) translateY(0);
        filter: blur(0);
        opacity: 1;
    }
}
@keyframes visual-sign2 {
    0%{
        transform: skew(-15deg) translateX(50px) translateY(-50px);
        filter: blur(4px);
        opacity: 0;
    }
    100%{
        transform: skew(0) translateX(0) translateY(0);
        filter: blur(0);
        opacity: 1;
    }
}
@keyframes visual-up {
    0%{
        transform: translateY(50px);
        filter: blur(4px);
        opacity: 0;
    }
    100%{
        transform: translateY(0);
        filter: blur(0);
        opacity: 1;
    }
}
@keyframes rotate-text {
    0%{
        transform: rotate(0);
    }
    100%{
        transform: rotate(360deg);
    }
}
.visual-title{
    position : absolute;
    z-index: 1;
    top : 21vh;
}
.visual-title > div:nth-child(1){
    font-size: 4.1667vw;
    font-weight: 300;
    letter-spacing: -0.033em;
    color : #fff;
    margin-bottom : 3.5vw;
    /* animation : visual-title1 1.5s both; */
}
.visual-title > div:nth-child(1) > p > span{
    font-weight: 500;
}
.visual-title > div:nth-child(1) > p:nth-child(1){
	animation : visual-title1-1 1.5s both;
}
.visual-title > div:nth-child(1) > p:nth-child(2){
	animation : visual-title1-2 1.5s both;
}
.visual-title > p:nth-child(2){
    font-size : 8.3333vw;
    line-height: 1em;
    font-weight: 100;
    color : #fff;
    margin-bottom : 5.1667vw;
    animation : visual-title2 1.5s both;
    animation-delay: .7s;
}
.visual-title > p:nth-child(2) > span{
    font-weight: 700;
    color : #e6d2a2;
}
.visual-title > p:nth-child(3){
    font-size: 2.8333vw;
    font-weight: 100;
    color : #fff;
    line-height: 4.2333vw;
    margin-bottom : 1.6667vw;
    animation : visual-up 1.5s both;
    animation-delay: 1.4s;
}
.visual-sign{
    display: flex;
    align-items: center;
}
.visual-sign > img:nth-child(1){
    width: 30.1667vw;
    max-width: 181px;
}
.visual-sign > img:nth-child(2){
    /* width: 29.3333vw; */
	width : 18vw;
    max-width : 173px;
}
.main-section-visual.on .visual-sign > img:nth-child(1){
    animation: visual-sign1 2s both;
    animation-delay : 2.1s;
}
.main-section-visual.on .visual-sign > img:nth-child(2){
    animation: visual-sign2 2s both;
    animation-delay : 2.1s;
}
.visual-open{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: .3vw;
	/* width: 17.1667vw; */
	width : 14vw;
	max-width: 103px;
	/* height: 17.1667vw; */
	height : 14vw;
	max-height: 103px;
	background: #173360;
	color : #fff;
	border-radius: 50%;
	font-size: 1.8vw;
	font-weight : 300;
	letter-spacing : -0.033em;
	line-height: 1em;
	padding-top : .8vw;
}
.visual-open span{
	display : inline-block;
	font-weight : 700;
	/* font-size : 3.2vw; */
	font-size : 2.5vw;
	line-height : 2.8vw;
	font-family : CarismaClassic-600DemiBold;
	text-align : center;
	justify-content : center;
}
.visual-btn-box{
    display: flex;
    align-items: center;
    /* gap : 3.1667vw; */
	gap : 2vw;
    position : absolute;
    bottom : 9.3333vw;
    right : 5.8333vw;
    z-index: 1;
}
.youtube{
			display: flex;
			flex-direction: column;
			justify-content: center;
			align-items: center;
			/* width : 17.1667vw; */
			width : 14vw;
			max-width: 72px;
			/* height : 17.1667vw; */
			height : 14vw;
			max-height: 72px;
			/* background: #b71215; */
			background : url(/assets/images/main/youtube.png)no-repeat;
			background-size : cover;
			border-radius: 50%;
			letter-spacing : -0.06em;
			font-weight : 500;
			position : relative;
			color : #fff;
			cursor : pointer;
			z-index : 1;
		}
		.youtube-list{
			position : absolute;
			bottom : 100%;
			left : 0;
			width : 150px;
			background : #fff;
			border-radius : 8px;
			padding : 5px;
			opacity : 0;
			transform : translateY(-20px);
			pointer-events : none;
			transition : opacity .3s, transform .3s;
		}
		.youtube:hover .youtube-list{
			pointer-events : all;
			opacity : 1;
			transform : translateY(-10px);
		}
		.youtube-list > p{
			display : flex;
			flex-direction : column;
			align-items : center;
			font-size : 12px;
			padding-bottom : 5px;
		}
		.youtube-list > p > img{
			width : 15vw;
			max-width : 90px;
		}
		.youtube-list > p > span{
			color : #b71215;
			font-weight : 700;
			font-size : 14px;
		}
		.youtube-list > ul{
			background : #f7f7f7;
			padding : 0 5px;
		}
		.youtube-list > ul > li:nth-child(1){
			border-top : 1px solid #ddd;
		}
		.youtube-list > ul > li{
			border-bottom : 1px solid #ddd;
		}
		.youtube-list > ul > li > a{
			display : block;
			text-align : center;
			padding : 3px 0;
			width : 100%;
			font-size : 12px;
			font-weight : 500;
			color : #333;
		}
		.youtube-list > ul > li > a:hover{
			font-weight :700;
		}
.visual-btn-box > .customer{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap : 1.5vw;
    /* width : 17.1667vw; */
	width : 14vw;
    max-width : 103px;
    /* height : 17.1667vw; */
	height : 14vw;
    max-height : 103px;
    background : #e6d2a2;
    border-radius: 50%;
}
.visual-btn-box > .customer > p{
    display: flex;
    align-items: center;
    flex-direction: column;
    font-size: 2.2vw;
    font-weight: 100;
    letter-spacing: -0.033em;
    line-height: 2.9117vw;
}
.visual-btn-box > .customer > p > span{
    font-weight: 700;
}

.telecom{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	/* width : 17.1667vw; */
	width : 14vw;
    max-width : 103px;
    /* height : 17.1667vw; */
	height : 14vw;
    max-height : 103px;
	background: #e6d2a2;
	border-radius: 50%;
	letter-spacing : -0.06em;
	font-weight : 500;
}
.telecom{
	font-size : 2.5vw;
	line-height : 1.2em;
	background : #fff;
	color : #000b38;
}

.visual-btn-box > .rotate{
    display: flex;
    /* width : 26.6667vw; */
	width : 22vw;
    max-width: 160px;
    /* height : 26.6667vw; */
	height : 22vw;
    max-height: 160px;
    transition : background .5s;
}
.visual-btn-box > .rotate > div{
    width : 100%;
    height : 100%;
    background : url(/m/assets/images/main/visual-rotate-text.png)no-repeat;
    background-size: 100% 100%;
    animation : rotate-text 7s infinite linear;
}
.visual-btn-box > .rotate.down{
    background : url(/m/assets/images/main/visual-rotate-arrow.png)no-repeat;
    background-position: center;
    background-size: 2.1667vw auto;
}
.main-section-premium{
    width : 100%;
    height : auto;
    /* overflow: hidden; */
}
.premium-list > li{
    display: flex;
    align-items: center;
    /* height : 98px; */
    min-height : 98px;
    padding : 0 9vw;
    border-bottom : 1px solid rgba(255,255,255,0.4);
    position : relative;
    overflow: hidden;
}
.premium-list > li.on{
    height : auto;
}
.premium-con{
    display: none;
}
.premium-list > li.on .premium-con{
    display: block;
}
.premium-name{
    position : absolute;
    width : 100%;
    height : 98px;
    line-height: 98px;
    padding : 0 9vw;
    font-size: 2.3333vw;
    letter-spacing: -0.013em;
    font-weight: 100;
    color : rgba(255,255,255,0.5);
    left : 0;
    bottom : 0;
}
.premium-name > span{
    font-weight: 700;
}
.premium-list > li.on .premium-name{
    color : #fff;
}
.premium-title{
    padding-top : 70px;
    font-size: 10.5833vw;
    font-weight: 700;
    color : rgba(255,255,255,0.7);
    letter-spacing: -0.033em;
    margin-bottom : 2.6667vw;
}
.premium-text{
    padding-top : 5.3333vw;
    position : relative;
    padding-bottom : calc(4.5vw + 98px);
}
.premium-text > p:nth-child(1){
    font-size: 5.08vw;
    letter-spacing: -0.033em;
    color : #fff;
    margin-bottom : 3.8333vw;
    font-weight: 500;
}
.premium-text > p:nth-child(2){
    font-size: 2.8333vw;
    font-weight: 100;
    letter-spacing: -0.033em;
    color : #fff;
}
.premium-sign{
    height : 18.8333vw;
    max-height : 113px;
}
.premium-list > .premium-01{
    background : url(/m/assets/images/main/premium-01.jpg)no-repeat;
    background-size: cover;
    background-position : center;
}
.premium-list > .premium-02{
    background : url(/m/assets/images/main/premium-02.jpg)no-repeat;
    background-size: cover;
    background-position : center;
}
.premium-list > .premium-03{
    background : url(/m/assets/images/main/premium-03.jpg)no-repeat;
    background-size: cover;
    background-position : center;
}
.premium-list > .premium-04{
    background : url(/m/assets/images/main/premium-04.jpg)no-repeat;
    background-size: cover;
    background-position : center;
}
.premium-list > .premium-05{
    background : url(/m/assets/images/main/premium-05.jpg)no-repeat;
    background-size: cover;
    background-position : center;
}
.premium-list > .premium-06{
    background : url(/m/assets/images/main/premium-06.jpg)no-repeat;
    background-size: cover;
    background-position : center;
}
.premium-list > .premium-07{
    background : url(/m/assets/images/main/premium-07.jpg)no-repeat;
    background-size: cover;
    background-position : center;
}
/**/
.main-section-arch{
    padding : 13.6667vw 8.6667vw 36.1667vw;
    position : relative;
}
.arch-bg{
    position : absolute;
    width : 100%;
    height : 100%;
    left : 0;
    top : 0;
    z-index: -1;
}
.arch-bg > div{
    position : absolute;
}
.arch-bg > div:nth-child(1){
    width : 105vw;
    height : 105vw;
    border-radius: 50%;
    border : 23vw solid rgba(0,0,0,0.07);
    left : 0;
    top : 0;
    transform: translateX(-60%) translateY(-50%);
}
.arch-bg > div:nth-child(2){
    width : 120vw;
    height : 120vw;
    border-radius: 50%;
    border : 28vw solid rgba(0,0,0,0.05);
    right : 0;
    top : 50%;
    transform: translateX(60%) translateY(-50%);
}
.arch-bg > div:nth-child(3){
    width : 95vw;
    height : 95vw;
    border-radius: 50%;
    border : 21vw solid rgba(0,0,0,0.07);
    left : 0;
    bottom : 0%;
    transform: translateX(-60%) translateY(65%);
}
.arch-title{
    font-size: 12.5vw;
    letter-spacing: -0.033em;
    font-weight: 900;
    line-height: 1em;
    margin-bottom : 3vw;
}
.arch-title > p:nth-child(1){
    color : #173360;
}
.arch-title > p:nth-child(2){
    color : #fff;
    text-shadow: -1px 0px #000, 0px 1px #000, 1px 0px #000, 0px -1px #000;
}
.arch-img-box{
    position : relative;
}
.arch-img-box .arch-inner{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.arch-img-box > .arch-inner > div{
    width : 30%;
    order : 2;
}
.arch-img-box > .arch-inner > div.on{
    width : 100%;
    order : 1;
    animation : opacity .8s both;
}
@keyframes opacity {
    0%{
        opacity: 0;
    }
    100%{
        opacity: 1;
    }
}
.arch-img-box > div > img{
    width : 100%;
}
.arch-img{
    position : relative;
}
.arch-img > .arch-sign{
    position : absolute;
    bottom : -15px;
    left : 5px;
    height : 25.6667vw;
    max-height: 154px;
    opacity: 0;
    transform: translateY(50px);
}
.on .arch-img > .arch-sign{
    opacity: 1;
    transform: translateY(0);
    transition : opacity 1s, transform 1s;
}
.arch-con{
    text-align: center;
    padding :3vw 0 3.6667vw;

    opacity : 0;
    transform : translateY(50px);
    overflow : hidden;
    height : 0;
}
.on .arch-con{
    height : auto;
    opacity: 1;
    transform: translateY(0);
    transition : opacity 1s, transform 1s;
    transition-delay: .25s;
}
.arch-con>p:nth-child(1){
    font-size: 2.54vw;
    letter-spacing: -0.033em;
    font-weight: 100;
    margin-bottom : 2.6667vw;
}
.arch-con>p:nth-child(2){
    font-size: 5.08vw;
    font-weight: 700;
    letter-spacing: -0.033em;
}
.arch-slide{
    position : absolute;
    left : 0;
    top : 0;
    width : 100%;
    height : 100%;
}
.arch-sub-title{
    text-align: right;  
}
.arch-sub-title > p:nth-child(1){
    font-size: 4.1667vw;
    letter-spacing: -0.053em;
    line-height: 5.5vw;
    font-weight: 300;
    margin-bottom : 4vw;
}
.arch-sub-title > p:nth-child(1) > span{
    font-weight: 700;
}
.arch-sub-title > p:nth-child(2){
    font-size: 2.8333vw;
    font-weight: 100;
    line-height: 4.2333vw;
    letter-spacing: -0.033em;
}
/**/
.golf-title{
    display: flex;
    flex-direction: column;
    margin-top : 26.8333vw;
    font-size: 12.5vw;
    letter-spacing: -0.053em;
    line-height: 1.1em;
}
.golf-title > p:nth-child(1){
    margin-right : auto;
    color: #00109f;
}
.golf-title > p:nth-child(2){
    margin-left : auto;
    color : #fff;
    text-shadow: -1px 0px #173360, 0px 1px #173360, 1px 0px #173360, 0px -1px #173360;
}
.golf-comment{
    font-size: 2.8333vw;
    text-align: center;
    letter-spacing: -0.033em;
    margin-top : 5.5vw;
    margin-bottom :12.8333vw;
}

.golf-slide{
    width : 60vw;
    margin : 0 auto;
}
.golf-dim{
    display: flex;
    justify-content: center;
    align-items: end;
    position : absolute;
    width : 100%;
    height : 70%;
    left : 0;
    bottom : 0;
    background : linear-gradient(to top, rgba(0,0,0,0.3), rgba(0,0,0,0));
    border-radius: 22px;
    padding-bottom : 17px;

    opacity : 0;
    transition : opacity .5s;
}
.swiper-slide-active .golf-dim{
    opacity : 1;
}
.golf-dim > p{
    color : #fff;
    font-size: 5.73vw;
    font-weight: 300;
    letter-spacing: -0.033em;

    opacity : 0;
    transform: translateY(50px);
    transition : opacity .5s, transform .5s;
}
.swiper-slide-active .golf-dim > p{
    opacity: 1;
    transform: translateY(0);
    transition-delay: .5s;
}
.golf-dim > p > span{
    font-weight: 700;
}
.golf-slide .swiper-slide::after{
    position : absolute;
    content: '';
    width : 100%;
    height : 100%;
    left : 0;
    top : 0;
    background : rgba(0,0,0,0.08);
    /* transition : background 1s; */
    border-radius: 20px;
}
.golf-slide .swiper-slide-prev::after{
    position : absolute;
    content: '';
    width : 70%;
    height : 100%;
    left : 0;
    top : 0;
    background : linear-gradient(to right, rgba(0,0,0,0.08), rgba(0,0,0,0));
    border-radius: 20px;
}
.golf-slide .swiper-slide-next::after{
    position : absolute;
    content: '';
    width : 70%;
    height : 100%;
    left : auto;
    right : 0;
    top : 0;
    background : linear-gradient(to left, rgba(0,0,0,0.08), rgba(0,0,0,0));
    border-radius: 20px;
}
.golf-slide .swiper-slide-active::after{
    background : transparent;
}
.golf-con{
    display: flex;
    flex-direction: column;
    align-items: center;
    position : absolute;
    top : 100%;
    left : 0;
    width : 100%;
    color : #000;
}
.golf-con > p{
    font-size: 11.3733vw;
    font-weight: 700;
    letter-spacing: -0.033em;
    line-height: 12.485vw;
    color : #00109f;
    margin-bottom : 5px;
    transform: translateY(50px);
    opacity: 0;
    transition : transform .5s, opacity .5s;
}
.swiper-slide-active .golf-con > p{
    opacity: 1;
    transform: translateY(0);
    transition-delay: .75s;
}
.golf-con > p > span{
    color : #757d82;
}
.golf-con > span{
    font-size: 3.4867vw;
    font-weight : 300;
    letter-spacing: -0.033em;
    transform: translateY(50px);
    opacity: 0;
    transition : transform .5s, opacity .5s;
}
.swiper-slide-active .golf-con > span{
    opacity: 1;
    transform: translateY(0);
    transition-delay: 1s;
}
/**/
.main-section-location{
    position : relative;
    padding : 17.8333vw 16.6667vw;
}
.location-bg{
    position : absolute;
    left : 0;
    top : 0;
    width : 100%;
    height : 100%;
    background : url(/m/assets/images/main/location-bg.jpg)no-repeat;
    background-size: cover;
    background-position : center bottom;
    z-index: -1;
}
.location-title{
    font-size: 10.5833vw;   
    color : #fff;
    letter-spacing: -0.033em;
    text-align: center;
    margin-bottom : 8.1667vw;
}
.location-title > span{
    -webkit-text-stroke: #fff 1px;
    color : transparent;
}
.location-box{
    margin-bottom : 7vw;
}
.location-address{
    font-size: 2.9633vw;
    text-align: center;
    color : #fff;
    padding : 4.3333vw 0 3.3333vw;
    font-weight: 300;
}
.location-btn-box{
    display: flex;
    width : 52.3333vw;
    max-width : 314px;
    border-radius: 300px;
    border : 1px solid #fff;
    padding : 1.1667vw 0;
    margin : 0 auto;
}
.location-btn-box > a{
    display: flex;
    justify-content: center;
    align-items: center;
    gap : 1.6667vw;
    width : 50%;
    height : 100%;
    font-size: 2.1167vw;
    /* font-weight: 100; */
	font-weight : 300;
    color : #fff;
}
.location-btn-box > a > img{
    width : 5.5vw;
    max-width: 33px;
}
