.visit{
    position:relative;
	background: url(../images/visit/keyv.png) no-repeat 67% 33%;
	background-size: cover;
    height: clamp(640px, 53.33vw, 800px);
}
.visit-container{
    width: 100%;
    min-width: 1400px;
    display: block;
    margin: auto;
}
@media(max-width: 767px){
	.visit{
	background: url(../images/visit/sp/keyv.webp) no-repeat center /cover;
    height: 542px;
    width: 100%;
	}
}
.visit__ttl{
    font-size:1.2rem;
    line-height:1;
    color:#fff;
    position:absolute;
    top: clamp(92px, 7.67vw, 115px);
    left: clamp(30.4px, 2.53vw, 38px);
    font-weight:600
}
.visit__btn{    
    z-index:1;
    min-width: clamp(822.4px, 68.53vw, 1028px);
    opacity: 0;
    padding-top: clamp(300px,25vw,385px);
    margin: auto;
}
h1.visit__btn small {
    color: #fff;
    font-size: clamp(1.3rem,1.09vw,2.1rem);
    white-space: nowrap;
    letter-spacing: -1px;
    font-weight: 700;
    text-align: center;
    margin: auto;
    display: block;
    line-height: 1;
}
h1.visit__btn em {
    font-family: "Cinzel", serif;
    color: #fff;
    font-size: clamp(5.8rem,4.89vw,9.4rem);
    font-weight: 900;
    font-style: italic;
    letter-spacing: clamp(3px,0.26vw,5px);
    line-height: 1;
    width: 100%;
    display: block;
    text-align: center;
}
/* .visit__btn::before{
    content:"";
    background:url(../images/visit/label.svg) no-repeat center center;
    background-size:contain;
    position:absolute;
    top: clamp(-130px, -8.67vw, -104px);
    left: clamp(-140px, -9.33vw, -112px);
    width: clamp(176px, 14.67vw, 220px);
    height: clamp(176px, 14.67vw, 220px);
    display:block;
    z-index:-1
} */
 .visit .yellow{
    position: absolute;
    top: clamp(148px, 9.89vw,190px );
    left: clamp(188px, 12.5vw,240px);
    width: clamp(188px,15.625vw,300px);
    height: auto;
    display: block;
    z-index: -1;
    opacity: 0;
}
 .visit .one-point{
    position:absolute;
    bottom: clamp(-50px,-2.6vw,-31px);
    right: clamp(218.75px,18.29vw,350px);
    width: clamp(242px,20vw,397px);
    height: auto;
    display:block;
    z-index:-1;
    opacity: 0;
}
@media(max-width: 767px){
	.visit__btn {
        width: 100%;
        min-width: 100%;
        padding-top: 0;
        position: relative;
        max-width: 375px;
	}
    .visit__btn::before{
		content: none;
	}
    .visit .yellow {
        top: unset;
        left:25px;
        width:150px;
        height:150px;
        bottom: 20px;
    }
     .visit .one-point{
        position:absolute;
        bottom: -43px;
        right: 6px;
        width: 177px;
        height: auto;
        display:block;
        z-index:-1;
        opacity: 0;
    }
    h1.visit__btn small {
        font-size: 1.4rem;
        font-weight: 400 ;
        letter-spacing: 0;
        line-height: 1.8;
        padding-top: 208px;
    }

    h1.visit__btn em {
        font-size: 5.5rem;
        font-weight: 900;
        letter-spacing: 1px;
        line-height: 242px;
        text-align: left;
        transform: rotate(-5deg);
        position: absolute;
        top: 0;
        right: 17px;
        white-space:nowrap;
    }
    h1.visit__btn em strong{
        font-size: 7rem;
        font-weight: 900;
        text-indent: 22px;
        
    }
}
.visit__main{
    background:url(../images/visit/bg.svg) no-repeat center center;
    background-size:contain;
    position:relative;
    z-index:1;
    margin-bottom:250px
}
@media(max-width: 767px){
	.visit__main {
		background: none;
		position:relative;
		margin-bottom:62px
	}
    .visit__main::before {
        content: "";
        background: url(../images/visit/sp/bg.svg) no-repeat center top;
        background-size: cover;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
    }
}
.visit__main .container {
    width: 100%;
    max-width: 1500px;
    padding: 0 min(25px, 1.67vw);
}
@media(max-width: 767px){
    .visit__main .container{
    padding:0
}
}
.visit__main--img1{
    margin-top:30px;
    
}
.visit__main--img2{
    margin-top:-80px
}
@media(max-width: 767px){
    .visit__main--img2{
    margin-top:0
}
}
.visit__main--img3{
    margin-top:-80px
}
@media(max-width: 767px){
    .visit__main--img3{
    margin-top:0
}
}
.visit__main--img4{
    margin-top:-80px;
    margin-bottom:80px
}
@media(max-width: 767px){
    .visit__main--img4{
    margin-top:0
}
}

.visit__main .container:has(.visit__plan) {
    padding: 0 min(50px, 3.33vw);
}
@media(max-width: 767px){
	.visit__main .container:has(.visit__plan) {
		padding: 0;
	}
}
.visit__plan {
    opacity: 0;
}
.visit__plan--frame2{
    position:relative;
    
}
@media(max-width: 767px){
	.visit__plan--frame2 {
		height: 120px;
        opacity: 1;
	}
}
.visit__plan--frame2::before {
    content: "";
    background: url(../images/visit/c1@2x.png) no-repeat center center;
    background-size: cover;
    position: absolute;
    left: min(calc((1400px - 100vw) / 2), -50px);
    top: clamp(60px, 5.00vw, 75px);
    right: 0;
    z-index: 1;
    height: 100%;
}
@media(max-width: 767px){
    .visit__plan--frame2::before {
        left: 0;
        right: 33.33%;
        top: -36px;
        bottom: 18px;
        height: auto;
	}
}
.visit__plan--wrap {
    text-align:center;
    background:#fa0000;
    color:#fff;
    display:grid;
    grid-template-columns: 1fr calc(47.62vw + 14px);
}
a.visit__plan--wrap:hover {
    background-color: #ff4242;
    opacity: 1;
}
@media(max-width: 767px){
    .visit__plan--wrap {
		grid-template-columns:1fr;
		gap:0
	}
}
.visit__plan--box3 {
    margin: clamp(50px, 4.13vw, 62px) 0 clamp(32px, 2.67vw, 40px);
}
@media(max-width: 767px){
	.visit__plan--box3 {
		margin: 0 0 clamp(32px, 2.67vw, 32px);
        opacity: 1;
	}
}
.visit__plan--box3--ttl{
    font-size: clamp(40px, 3.33vw, 50px);
    line-height: 1.4;
    letter-spacing: clamp(4px, 0.33vw, 5px);
    margin-bottom: clamp(28px, 2.33vw, 35px);
    font-weight: 900;
	color: #FFF;
}
.visit__plan--box3--ttl > span {
    position:relative;
}
@media(max-width: 767px){
	.visit__plan--box3--ttl{
		font-size:3rem;
		line-height:1.4;
		margin-bottom:14px;
		letter-spacing: 0;
		position: relative;
	}
}
.visit__plan--box3--ttl > span::before {
    content: "";
    background: url(../images/visit/c2.svg) no-repeat center center;
    background-size: contain;
    width: clamp(142.4px, 11.87vw, 178px);
    height: clamp(142.4px, 11.87vw, 178px);
    display: block;
    position: absolute;
    left: clamp(-198px, -13.20vw, -158.4px);
    top: clamp(-20px, -1.33vw, -16px);
    z-index: 1;
    animation: fade--in 2s ease-out forwards, pulsate-fwd 5s ease-in-out 2s infinite both;
}
@media(max-width: 767px){
    .visit__plan--box3--ttl > span::before{
		content: none;
	}
    .visit__plan--box3--ttl::before {
        content: "";
        background: url(../images/visit/sp/c2.svg) no-repeat center center;
        background-size: contain;
        width: 87.5px;
        height: 87.5px;
        display: block;
        position: absolute;
        left: unset;
        z-index: 1;
        right: 4.8%;
        top: -105px;
    }
}
.visit__plan--box3--ttl small{
    font-size:3.8rem;
	font-weight: 900;
}
@media(max-width: 767px){
    .visit__plan--box3--ttl small{
    font-size:2.3rem
}
}
.visit__plan--box3--sub{
    font-size: clamp(19.2px, 1.60vw, 24px);
    margin-bottom: clamp(6.4px, 0.53vw, 8px);
	font-weight: 500;
}
@media(max-width: 767px){
    .visit__plan--box3--sub{
    font-size:1.4rem;
    margin-bottom: 5px
}
}
.visit__plan--box3--tel{
    font-size: clamp(44.8px, 3.73vw, 56px);
    margin-bottom: clamp(12px, 1.00vw, 15px);
    font-weight:800;
    line-height:1
}
@media(max-width: 767px){
    .visit__plan--box3--tel{
    font-size:3.2rem;
    margin-bottom: 8px
}
}
.visit__plan--box3--tel small{
    font-size:3.4rem
}
@media(max-width: 767px){
    .visit__plan--box3--tel small{
    font-size:2rem
}
}
.visit__plan--box3--time{
    font-size:1.6rem;
	line-height: 1.75;
}
@media(max-width: 767px){
    .visit__plan--box3--time{
    font-size:1.3rem
}
}

.course-inner{
	width:100%;
	/* min-width:1400px;
	padding: 0 50px; */
	color: #fff;
	margin: auto;
	display: block;
	position: relative;
}
.course{
	width: 45%;
	position: absolute;
    height: 691px;
}
.course.right{
	right: 160px;
}
.course.left{
	left: 113px;
}
.car-img {
	height: auto;
	margin: auto;
    position: relative;
    opacity: 0;
}
.visit__main--img1 .right .car-img{
    width: 630px;
    right: -150px;
}
.visit__main--img2 .left .car-img{
    width: 600px;
    left: -118px;
}
.visit__main--img3 .right .car-img{
    width: 638px;
    right: -142px;
}
.visit__main--img4 .left .car-img{
    width: 580px;
    left: -124px;
}
.course-inner .course-text{
    opacity: 0;
}
.course-inner .course-name h2{
	font-size: 3.4rem;
	font-weight: 900;
	width: 100%;
	text-align: center;
    line-height: 1;
    margin-top: 16px;
}
.course-frase{
	font-size: 2.3rem;
	font-weight: 700;
	width: 100%;
	text-align: center;
    margin-top: 18px;
    letter-spacing: -1px;
}
.course-content{
	font-size: 1.6rem;
    font-weight: 500;
    width: 540px;
    text-align: justify;
    margin: 13px auto 0px;
    line-height: 1.8;
    letter-spacing: -1px;
}
@media (min-width: 768px) and (max-width: 1499px) {
    .course{
        width:clamp(408px,45%,652px);
        position: absolute;
        height: clamp(552px,46vw,691px);
    }	
	.course.right{
	right: clamp(128px,10.6vw,160px);
    }
    .course.left{
        left: clamp(90px,7.53vw,113px);
    }

    .visit__main--img1 .right .car-img{
        width: clamp(504px,42vw,630px);
        right: clamp(-150px,-10vw,-120px);
    }
    .visit__main--img2 .left .car-img{
        width: clamp(480px,40vw,600px);
        left: clamp(-118px,-0.786vw,-94px);
    }
    .visit__main--img3 .right .car-img{
        width: clamp(510px,42.5vw,638px);
        right: clamp(-142px,-9.46vw,-114px);
    }
    .visit__main--img4 .left .car-img{
        width: clamp(464px,38.6vw,580px);
        left: clamp(-124px,-8.26vw,-99px);
    }
    .course-inner .course-name h2{
        font-size: clamp(27.2px,2.26vw,3.4rem);
        margin-top: clamp(13px,1.06vw,16px);
    }
    .course-frase{
        font-size: clamp(18px,1.53vw,2.3rem);
        margin-top: clamp(14px,1.2vw,18px);
    }
    .course-content{
        font-size:clamp(1.3rem,1.06vw,1.6rem);
        width: clamp(432px,36vw,540px);
        margin: clamp(11px,0.86vw,13px) auto 0px;
    }
	
}

@media (max-width: 767px) {

	.course-inner{
	width:100%;
	min-width:unset;
	padding: 0 50px;
	color: #fff;
	margin: auto;
	display: block;
	position: relative;
    }
    .course{
        width: 100%;
        position: absolute;
        height: 667px;
    }
    .course.right{
        right: 0;
    }
    .course.left {
        left: 0;
    }
	.visit__main--img1 .right .car-img {
        width: 310px;
        right: -45px;
        margin-top: min(10.66vw,40px);
    }
    .visit__main--img2 .left .car-img {
        width: 320px;
        left: -40px;
        margin-top: min(10.66vw,40px);
    }
    .visit__main--img3 .right .car-img {
        width: 320px;
        right: -40px;
        margin-top: min(10.66vw,40px);
    }
    .visit__main--img4 .left .car-img {
        width: 310px;
        left: -45px;
        margin-top: min(10.66vw,40px);
    }
    .course-inner .course-name h2 {
        font-size: 2.5rem;
    }
    .visit__main--img1 .course-name h2{
        margin-top: min(8vw,30px);
    }
    .visit__main--img2 .course-name h2{
        margin-top: min(3.2vw,12px);
        line-height: 1.2;
    }
    .visit__main--img3 .course-name h2{
        margin-top: min(8vw,30px);
    }
    .visit__main--img4 .course-name h2{
        margin-top: min(8vw,30px);
    }
    .course-inner .course-text {
        max-width: 375px;
        margin: auto;
    }
    .course-frase {
        font-size: 2rem;
    }
    .visit__main--img1 .course-frase {
        margin-top: min(6.4vw,24px);
    }
    .visit__main--img2 .course-frase {
        margin-top: min(1.86vw,7px);
    }
    .visit__main--img3 .course-frase {
        margin-top: min(5.86vw,22px);
    }
    .visit__main--img4 .course-frase {
        margin-top: min(5.86vw,22px);
    }
    .course-content {
        font-size: 1.4rem;
        line-height: 1.75;
        padding: 0 min(13vw,50px);
        width:100%;   
    }
    .visit__main--img img.sp{
        object-fit: cover;
        height: 667px;
        width: 600px;
        object-position: 40%;
        margin: auto;
    }
	
}