/*.main01,
.main02,
.main04 { display: none !important; }*/

.container { width: 100%; height: 100%; }

.mainVisual { width: 100%; height: 100vh; display: block; /*background: var(--bg);*/ background: url('../images/main/main_visual.jpg') no-repeat center / cover; position: fixed; top: 0; z-index: -1; }
.mainVisual video { width: 100%; height: 100%; object-fit: cover; }	/* video tag */
.mainVisual iframe { position:absolute;top:0;left:0;width:100%;height:100%; }	/* vimeo embed 2025.05 */

.main01 { padding: 500px 0 40px; color: #fff; }
.main01 h1 { font-weight: 500; letter-spacing: 0px; }
.main01 p { padding: 15px 0 30px; font-weight: 700; line-height: 1.4; letter-spacing: 0px; }
.main01 a { display: inline-block; position: relative; }
.main01 .btnBg { width: 140px; height: 50px; display: flex; justify-content: center; align-items: center; border-radius: 60px; background: #fff2d8; font-weight: 600; transition: all 0.5s; }
.main01 a .moreBtn { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); width: 100%; text-align: center;color: var(--sh-black); font-weight: 600; }
.main01 a:hover .btnBg { scale: 1.1}
.main01 a:hover .moreBtn { animation: play_a 0.5s forwards linear; }

.main02 { padding: 100px 0 140px; background: var(--sh-beige); width: 83.3%; border-radius: 20px; margin: 0 auto; position: relative; top: 100px; }
.main02 .wrap { display: flex; justify-content: space-between; }
.main02 .leftBox { display: flex; justify-content: space-between; flex-direction: column; width: 50%; }
.main02 .leftBox p { color: var(--sh-black); line-height: 1.3; }
.main02 .leftBox .topBox h1 { padding: 20px 0 10px; color: var(--sh-red); font-size: 18px; font-weight: 600; }
.main02 .leftBox .topBox p { font-size: 40px; }
.main02 .leftBox .topBox p span { font-weight: 700; }
.main02 .leftBox .bottomBox p { line-height: 1.6; font-weight: 400; }
.main02 .leftBox .bottomBox a { color: var(--sh-red); margin-top: 10px; display: inline-flex; align-items: center; font-weight: 500; position: relative; }
.main02 .leftBox .bottomBox a::after { content: ''; display: block; position: absolute; width: 0; height: 2px; background: var(--sh-red); bottom: -2px; transition-duration: 0.5s; margin-right: 25%; right: 0; }
.main02 .leftBox .bottomBox a:hover::after { width: 75%; left: 0; }
.main02 .leftBox .bottomBox a img { padding-left: 10px; filter: grayscale(1) brightness(0.5); }
.main02 .rightBox { /* background: url('../images/main/video_thumb.png') no-repeat center / cover; */ width: 50%; height: 657px; position: relative; display: flex; align-items: center; justify-content: center; }
.main02 .rightBox iframe { width: 100%; height: 100%; border-radius: 20px; }
.main02 .rightBox a { display: inline-block; position: relative; }
.main02 .rightBox p { font-weight: 700; padding-left: 5px; }
.main02 .rightBox .btnBg { width: 140px; height: 50px; display: flex; justify-content: center; align-items: center; border-radius: 60px; background: #ffd550; font-weight: 600; transition: all 0.5s; }
.main02 .rightBox .moreBtn { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); width: 100%; text-align: center;color: var(--sh-black); font-weight: 600; display: flex; justify-content: center; align-items: center; }
.main02 a:hover .btnBg { scale: 1.1}
.main02 a:hover .moreBtn { animation: play_a 0.5s forwards linear; }


.main03 { width: 100%; background: url('../images/main/main3_bg.jpg') no-repeat 50% 30% / cover; position: relative; margin-top: -20px; z-index: -1; padding: 170px 0; }
.main03::before { content: ""; position: absolute; left: 0; top: 0; z-index: -1; width: 100%; height: 100%; background: rgba(153, 93, 17, 0.3); }
.main03 h2 { padding: 100px 0; color: #fff; line-height: 1.4; text-align: center; font-weight: 300; }
.main03 h2 span { font-weight: 500; }


.main04 { background: #ffd1c6; margin-top: -20px; overflow: hidden; height: 100vh;display: flex; align-items: center; position: relative; }
.main04 ul { display: flex; width: 100vw; }
.main04 li:first-child { display: flex; flex-direction: column; justify-content: space-between; margin-right: 16%; min-width: 555px; }
.main04 li:first-child .topBox h1 { padding-bottom: 5px; color: var(--sh-red); font-size: 18px; font-weight: 600; }
.main04 li:first-child .topBox p { color: var(--sh-black); font-size: 40px; line-height: 1.3; }
.main04 li:first-child .topBox p span { font-weight: 700; }
.main04 li:first-child .bottomBox { padding-bottom: 50px; }
.main04 li:first-child .bottomBox p { color: var(--sh-black); padding-bottom: 18px; line-height: 1.6; padding-left: 2px; font-weight: 400; letter-spacing: 0px; }
.main04 li:first-child .bottomBox a { color: var(--sh-red); display: inline-flex; align-items: center; font-weight: 500; position: relative; }
.main04 li:first-child .bottomBox a::after { content: ''; display: block; position: absolute; width: 0; height: 2px; background: var(--sh-red); bottom: -2px; transition-duration: 0.5s; margin-right: 25%; right: 0; }
.main04 li:first-child .bottomBox a img { padding-left: 10px; }
.main04 li:first-child a .moreBtn { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); width: 100%; text-align: center; color: #FEFCF7; font-weight: 500; }
.main04 li:first-child a .btnBg { width: 140px; height: 50px; display: flex; justify-content: center; align-items: center; border-radius: 60px; background: var(--sh-black); font-weight: 600; transition: all 0.5s; }
.main04 li:first-child a:hover .btnBg { transform: scale(1.1); }
.main04 li:first-child a:hover .moreBtn { animation: play_a 0.5s forwards linear; }
.main04 li:not(:first-child) { display: flex; flex-direction: column; align-items: center; margin-right: 8%; min-width: 22%; justify-content: space-between; }
.main04 li:not(:first-child) .img_box { border-radius: 20px; overflow: hidden; }
.main04 li:not(:first-child) .img_box:hover img { transform: scale(1.1); }
.main04 li:not(:first-child) .img_box img { width: 100%; max-width: 420px; height: auto; display: block;transition: all 0.5s; }
.main04 li:not(:first-child) p.fa_title { padding: 40px 0 35px; font-size: 22px; font-weight: 500; }
.main04 li:not(:first-child) a { display: inline-block; position: relative; }
.main04 li:not(:first-child) img { width: 100%; height: auto; }



.main05 { height: 100vh; width: 100%; display: flex; overflow: hidden; position: relative; z-index: 1; }
.main05 .leftBox { width: 50%; position: relative; height: 100%; border-radius: 0 0 0 20px; overflow: hidden; }
.main05 .leftBox li { width: 100%; height: 100%; }
.main05 .leftBox li:not(:first-child) { position: absolute; top: 0%; z-index: 2; opacity: 0; }
.main05 .leftBox li:first-child { background: url('../images/main/main5_eq01.jpg') no-repeat center / cover; }
.main05 .leftBox li:nth-child(2) { background: url('../images/main/main5_eq03.jpg') no-repeat center / cover; }
.main05 .leftBox li:nth-child(3) { background: url('../images/main/main5_eq02.jpg') no-repeat center / cover; }
.main05 .rightBox { width: 50%; background: var(--sh-beige); height: 100%; padding: 97px 50px; color: var(--sh-black); border-radius: 0 0 20px 0; }
.main05 .rightBox li:first-child { padding-bottom: 130px; }
.main05 .rightBox li:first-child h1 { color: var(--sh-red); padding-bottom: 10px; font-weight: 500; }
.main05 .rightBox li:first-child p span { font-weight: 700; }
.main05 .rightBox li:not(:first-child) { padding-bottom: 40%; opacity: 0.4; }
.main05 .rightBox li:not(:first-child) h2 { font-weight: 700; }
.main05 .rightBox li:not(:first-child) p { padding: 15px 0 10px; line-height: 1.6}
.main05 .rightBox li:not(:first-child) a { color: var(--sh-red); display: inline-flex; align-items: center; font-weight: 500; position: relative; }
.main05 .rightBox li:not(:first-child) a::after { content: ''; display: block; position: absolute; width: 0; height: 2px; background: var(--sh-red); bottom: -2px; transition-duration: 0.5s; margin-right: 25%; right: 0; }
.main05 .rightBox li:not(:first-child) a:hover::after { width: 75%; left: 0; }
.main05 .rightBox li:not(:first-child) a img { padding-left: 10px; }
.main05 .rightBox figure { display: none; }



@media (max-width: 1280px){
	.mainVisual iframe { width: 600vw; height: 100vh; transform: translateX(-40%); }	/* vimeo embed 2025.05 */

	.main01 { padding: 450px 0 35px; }
	.main02 { padding: 80px 0 120px; }
	.main02 .rightBox { height: 600px; }

	.main03 { padding: 150px 0; }

	.main04 li:first-child { min-width: 425px; }
	.main04 li:first-child .bottomBox p br { display: none; }

}

@media (max-width: 1080px){
	.main01 { padding: 400px 0 30px; }

	.main02 { padding: 60px 0 100px; }
	.main02 .leftBox .topBox p { font-size: 32px; }
	.main02 .rightBox { height: 550px; }

	.main03 { padding: 130px 0; }

	.main04 li:first-child { min-width: 325px; }
	.main04 li:first-child .topBox p br { display: none; }

}

@media (max-width: 900px){

	/* .mainVisual { background: url('images/main/visual_img.jpg') no-repeat center / cover; } */
	.mainVisual video { object-position: 60% bottom; }	/* video tag */
	.mainVisual iframe { width: 500vw; transform: translateX(-45%); }	/* vimeo embed 2025.05 */

	.main01 { padding: 330px 0 25px; }
	.main01 p br { display: none; }
	.main01 .btnBg { width: 100px; height: 30px; }

	.main02 .leftBox .topBox p { font-size: 28px; }

	.main04 { height: auto; }
	.main04 ul { width: 100%; flex-wrap: wrap; }
	.main04 li:first-child { min-width: initial; margin: 30px 0; }
	.main04 li:not(:first-child) { width: 48.5%; margin-right: 3%; margin-bottom: 8%; }
	.main04 li:nth-child(2n+1) { margin-right: 0; }
	.main04 li:not(:first-child) .img_box img { max-width: 360px; }
	.main04 li:not(:first-child) figure { padding: 30px 0 25px; }
	.main04 li:first-child .topBox p { padding-bottom: 40px; }
	.main04 li:not(:first-child) .btnBg { width: 100px; height: 35px; }

	.main05 { flex-direction: column; overflow: initial; height: 100%; }
	.main05 .leftBox { display: none; }
	.main05 .rightBox { width: 100%; height: 100%; padding: 60px 4%; border-radius: 0}
	.main05 .rightBox figure { display: flex; width: 100%; height: 300px; overflow: hidden; align-items: center; justify-content: center; border-radius: 10px; margin-bottom: 20px; }
	.main05 .rightBox figure img { width: 100%; max-width: 960px; height: auto; }
	.main05 .rightBox li:not(:first-child) { opacity: 1; padding-bottom: 40px; }
	.main05 .rightBox li:first-child { padding-bottom: 50px; }

}

@media (max-width: 793px){

	.main02 .leftBox .bottomBox p br { display: none; }

}

@media (max-width: 768px){

	.main02 { padding: 40px 0 80px; }
	.main02 .wrap { flex-direction: column; }
	.main02 .leftBox { width: 100%; padding-bottom: 40px; }
	.main02 .leftBox .topBox p { padding-bottom: 40px; }
	.main02 .rightBox { height: 500px; width: 100%; }

	.main03 { padding: 110px 0; background-position: 50% 0; }

}

@media (max-width: 500px){
	.mainVisual iframe { transform: translateX(-50%); }	/* vimeo embed 2025.05 */

	.main01 { padding: 300px 0 20px; }

	.main02 { padding: 20px 0 60px; }
	.main02 .leftBox .topBox p { padding-bottom: 30px; }
	.main02 .rightBox { height: 450px; }

	.main03 ul { display: none; }
	.main03 { padding: 90px 0; }

	.main04 li:not(:first-child) img { width: 60%; }
	.main04 li:not(:first-child) figure { padding: 20px 0 15px; display: flex; justify-content: center; }
	.main04 li:not(:first-child) .img_box img { max-width: 320px; }
	.main04 li:first-child .topBox p { padding-bottom: 30px; }

	.main05 .rightBox { padding: 40px 4%; }
	.main05 .rightBox li:first-child { padding-bottom: 30px; }

}