@charset "utf-8";
/* CSS Document */



/* 基本
------------------------------------------------------*/
body {
	font: 14px/22px "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	background: #d5f1f9;
}

/* 1733修正 */
body.no-scroll {
  overflow: hidden;
  touch-action: none; /* スマホでのスワイプも防止 */
}


a,
.accordion-header,
.close-btn,
#page-top img {
    transition: .5s;
}

a:hover,
.accordion-header:hover,
.close-btn:hover,
#page-top img:hover {
	opacity:0.7;
}

.overflow-hidden {
	overflow: hidden;
}

.wrap-swp {
	padding-bottom: 10%;
	overflow: hidden;
}
#page-top {
	position: fixed;
	bottom: 85px;
	right: 5px;
	cursor: pointer;
	z-index: 99;
	background: #fff;
	border-radius: 50%;
}

@media (min-width: 540px) {

	#page-top {
		bottom: 20px;
		right: 20px;
	}

}
@media (min-width: 1500px) {

	#page-top {
		bottom: 20px;
		right: 20px;
	}

}


.animate__animated {
	opacity: 0;
}

.lity-wrap {
	padding: 25px;
}
.lity-wrap .lity-container,
.lity-wrap .lity-content {
	height: 100%;
}
.lity-wrap .lity-content {
  display: flex;
  justify-content: center;
  align-items: center;
}
.lity-wrap .lity-content img {
	max-height: 100% !important;
}

.pb-5per {
	padding-bottom: 5%;
}



/* ハンバーガー
----------------------------------------------------------- */

#hbg,
#hbg .icon,
#menu-hbg {
	position: absolute;
}
#hbg,
#menu-hbg {
	width: 100%;
}
#hbg {
	top: 0;
	left: 0;
	aspect-ratio: 800 / 132;
	z-index: 100000;
}
#hbg .icon {
    width: 12.25%;
    z-index: 1;
    top: 68px;
    right: 2.6%;
}
#hbg.scrolled .icon {
	top: 0;
}
#hbg.scrolled .flhdr {
	position: fixed;
	top: 5px;
	width: 100%;
}
#menu-hbg {
	top: 0;
	left: 0;
	padding-top: 11%;
}
#hbg.scrolled #menu-hbg {
	position: fixed;
	padding-top: 0;
}
#menu-hbg .menu {
	background: linear-gradient(#8ed9ef, #fff, #8ed9ef);
	padding: 5% 7%;
	overflow-y: auto;
	height: 100vh;
	box-sizing: border-box;
}
#menu-hbg .menu .ttl {
	width: 42%;
	padding: 12% 0 5%;
	margin: 0 auto;
}
#menu-hbg .menu_main li {
	padding-top: 5%;
	
}





/* 追従ボタン
----------------------------------------------------------- */
.fl {
	bottom: 0;
	aspect-ratio: 375 / 72;
	background-color: rgba(255, 255, 255, 0.8); /* ← 白の80%不透明 */
	display: none;
	align-items: center;
	padding: 0 1%;
	box-sizing: border-box;
	gap: 2.5%;
	z-index: 99999; /* 09251700修正 */
}

@media screen and (max-width: 767px) {
  .fl {
    display: flex;
  }
}

#menu-hbg .menu_sub {
	margin: 10% 16%;
}
#menu-hbg .menu_sub li {
    width: 100%;
    margin-top: 8%;
}
#menu-hbg .btns {
	margin-top: 9%;
}
#menu-hbg .btns .btn {
	width: 71.5%;
	display: block;
	margin: 0 auto;
}


/* .accordion
------------------------------------------------------*/

.accordion {
  overflow: hidden;
}

/* タイトル部分 */
.accordion-header {
  cursor: pointer;
}



#lpwrap .accordion .accordion-header .opn,
#lpwrap .accordion.active .accordion-header .cls {
	display: none;
}
#lpwrap .accordion .accordion-header .cls,
#lpwrap .accordion.active .accordion-header .opn {
	display: inline;
}

/* コンテンツ部分（初期は非表示） */
.accordion-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.2s ease, padding 0.2s ease;
  box-sizing: border-box;
}


/* 「閉じる」ボタン */
.close-btn {
  display: inline-block;
  border: none;
  cursor: pointer;
	position: absolute; /* 1130修正 */
	bottom: 2.5%; /* 1130修正 */
}


/* 1530修正ここから */
.shingatasya_05 .close-btn {
	bottom: 1.9%;
}

#lpwrap .shingatasya_05 .popup-btn {
	position: absolute;
	top: auto;
	bottom: 4.7%;
}
/* 1530修正ここまで */






/* lp
------------------------------------------------------*/

.position-relative {
	position: relative;
}
.position-absolute {
	position: absolute;
}
.position-fixed {
	position: fixed;
}


@media (min-width: 576px) {

	.mw-375px {
		max-width: 375px;
	}

}


.mw-400px {
	max-width: 400px;
}
.mw-450px {
	max-width: 450px;
}
.mw-768px {
	max-width: 768px;
}
.mx-auto {
	margin-right: auto;
	margin-left: auto;
}
.bg-ffffff {
	background: #ffffff;
}
.shadow {
	box-shadow: 0 0 15px rgba(0,0,0,.2);
}

#lpwrap img {
	max-width: 100%;
	width: 100%;
	height: auto;
	display: block;
}

.side {
	flex-grow: 1;
}
.side.left {
}
.side.right {
}

.lpmain {
	padding-bottom: 0;

}

@media screen and (max-width: 767px) {
  .lpmain {
    padding-bottom: 19%;
  }
}

@media (min-width: 1200px) {

	.lpmain .hd {
		display: none;
	}

}




.top1_03 {
	background: url("../images/top1_03.jpg") no-repeat 0 0 / 100% auto;
}
.top1_04 .btn {
	width: 51.7%;
	top: 83.5%;
	left: 24.15%;
}

.top2_02 .btn {
	display: block;
	width: 41.1%;
	position: absolute;
	top: 21.9%;
	left: 7.6%;
	overflow: hidden;
	border-radius: 5px;
}
.kira,
.ev02-btn2,
.swiper2 .swiper-pagination,
.swiper5 .swiper-pagination,
.swiper6 .swiper-pagination {
	overflow: hidden;
}
.kira:after,
.ev02-btn2:after,
.swiper2 .swiper-pagination:after,
.swiper5 .swiper-pagination:after,
.swiper6 .swiper-pagination:after {
	position: absolute;
	top: -200%;
	left: -150%;
	content: "";
	height: 500%;
	width: 70px;
	background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.7) 40%, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0));
	transform: rotate(50deg);
	animation: 2s shine infinite linear;
}

@keyframes shine {
  0% {
    left: -100%;
  }
  20% {
    left: 150%;
  }
  100% {
    left: 150%;
  }
}

.top2_02 .btn.cp2,
.top2_02 .btn.cp4 {
	left: 51.4%;
}
.top2_02 .btn.cp3,
.top2_02 .btn.cp4 {
	top: 56.3%;
}


.sec {
	padding-top: 18%;
	margin-top: -18%;
}

.top3_01 {
	position: absolute;
	top: 22.4%;
	left: 0;
}
.top3_01.top3_01_2 {
	top: 39.6%;
}
.top3_01.top3_01_3 {
	top: 56.7%;
}
.top3_01.top3_01_4 {
	top: 73.9%;
}

.top3_02 .btn {
	position: absolute;
	top: 50.4%;
	left: 12%;
	width: 33.4%;
}
.top3_02 .btn.btn2,
.top3_02 .btn.btn4 {
	left: 54.6%;
}
.top3_02 .btn.btn3,
.top3_02 .btn.btn4 {
	top: 80.9%;
}



.cp1 .btn {
	width: 80%;
	top: 86.2%;
	left: 10%;
}
.cp1.cp1_03 .btn {
	top: 88.6%;
}
.cp1.cp1_04 .btn {
	top: 84.6%;
}

.cp1_02 {
	background: url("../images/cp1_02-bg.jpg") no-repeat 0 0 / 100% auto;
}
.cp1_03 {
	background: url("../images/cp1_03-bg.jpg") no-repeat 0 0 / 100% auto;
}
.cp1_04 {
	background: url("../images/cp1_04-bg.jpg") no-repeat 0 0 / 100% auto;
}


.cp2_01 .btn {
	position: absolute;
    top: 8.89%;
	left: 0;
	width: 100%;
}
.cp2_01 .btn.cp1 {
    top: 13.7%;
    width: 83.3%;
    left: 8%;
}
.cp2_01 .btn.cp2 {
	top: 27.7%;
    width: 83.3%;
    left: 8%;
}
.cp2_01 .btn.cp3 {
    top: 41.5%;
    width: 83.3%;
    left: 8%;
}
.cp2_01 .btn.cp4 {
    top: 55.5%;
    width: 83.3%;
    left: 8%;
}
.cp2_01 .btn.cp5 {
    top: 69.5%;
    width: 83.3%;
    left: 8%;
}
.cp2_01 .btn.cp6 {
	top: 83.4%;
    width: 83.3%;
    left: 8%;
}
.cp2_01 .btn.cp7 {
    top: 7%;
    width: 83.3%;
    left: 8%;
}
.cp2_01 .btn.cp8 {
    top: 65.5%;
}
.cp2_01 .btn.cp9 {
    top: 81.4%;
}

#sec5 .close-btn {
	position: absolute;
	width: 53.6%;
	bottom: 4.1%;
	left: 23.3%;
	padding: 0;
	background-color: transparent;
}

.cp3_05 .btn {
	position: absolute;
	width: 68%;
	top: 16.6%;
	left: 16%;
}
.cp3_05 .btn.pu2 {
	top: 28.6%;
}

.sk_mnt1_02 .btn {
	position: absolute;
	width: 72.3%;
	top: 56%;
	left: 13.7%;
}

#sec7 {
	background: #ccebf8;
}

.sk_mnt3_01 .btn {
	position: absolute;
	width: 78.9%;
	top: 62.5%;
	left: 10.6%;
}
.sk_mnt3_01 .btn.zaiko2 {
	top: 76.1%;
}


.sk_mnt3_02 .btn {
	position: absolute;
	width: 85.1%;
	top: 27.9%;
	left: 7.3%;
}
.sk_mnt3_02 .btn.ft2 {
	top: 44.3%;
}
.sk_mnt3_02 .btn.ft3 {
	top: 60.6%;
}



/* 250922 footer */

.footer__sns {
  position: relative;
}
.sne_icon,
.pgtp01 {
  position: absolute;
  display: block;
}
.footer__link01 {
	top: 4.3%;
    left: 5.5%;
    width: 88.7%;
}

.footer__link02 {
    top: 46.4%;
    left: 5.5%;
    width: 88.7%;
}

.footer__link03 {
    top: 58%;
    left: 5.5%;
    width: 88.7%;
}

.sne_icon01 {
    bottom: 14.1%;
    left: 8.4%;
    width: 26.5%;
}

.sne_icon02 {
    bottom: 14.1%;
    right: 37%;
    width: 26.5%;
}

.sne_icon03 {
    bottom: 14.1%;
    right: 8%;
    width: 26.5%;
}

.pgtp01 {
    bottom: 4%;
    left: 41.8%;
    width: 16%;
}
	


/* 左右コンテンツ
------------------------------------------------------*/
.side {
	position: fixed;
	top: 0;
	width: calc(50% - 225px);
	height: 100vh;
	display: none;
	flex-direction: column;
}
@media (min-width: 1200px) {

	.side {
		display: flex;
	}

}


.side.left {
	background: url("../images/pc_side/bg-l.jpg") no-repeat center center / cover;
	left: 0;
}
.side.left .main {
	background: url("../images/pc_side/main-l.png") no-repeat center center / contain;
}


.side.right {
	background: url("../images/pc_side/bg-r.jpg") no-repeat center center / cover;
	right: 0;
}

.side > div {
	display: flex;
	justify-content: center;
	align-items: center;
}
.side .hd {
	height: 100px;
	flex-shrink: 0;
}

#lpwrap .side .hd img {
	max-width: 660px;
}
#lpwrap .side.right .hd img {
	max-width: 661px;
}
.side .main {
	flex: 1;
	padding: 30px 30px 80px;;
	height: calc(100vh - 100px);
	box-sizing: border-box;
}

@media (min-width: 1700px) {

	.side .main {
		padding: 30px;
	}

}
@media (min-width: 2000px) {

	.side .main {
		padding: 66px;
	}

}



#lpwrap .side .main img {
	width: 100%;
	max-width: 650px; /* 上限 */
	height: auto;
	margin-top: 5%;
}

.side.right .main .wrap {
	width: 100%;
	max-width: 453px;
	max-height: 100%;
	box-sizing: border-box;
	border-radius: 20px;
	padding: 40px 25px 50px;
	overflow-y: auto;
}
#lpwrap .side.right .main .wrap .menu {
	width: 100%;
	max-width: 345px;
	margin: 0 auto;
}
#lpwrap .side.right .main .wrap .menu img.ttl {
	margin: 0 auto;
	max-width: 170px;
}
#lpwrap .side.right .main .wrap .menu .menu_main {
	margin-top: 10%;
	margin-bottom: 8%;
}
#lpwrap .side.right .main .wrap .menu .menu_main li {
	margin-bottom: 3%;
}
#lpwrap .side.right .main .wrap .menu .menu_main li:nth-child(3) {
	margin-bottom: 1%;
}

#lpwrap .side.right .main .wrap .menu .menu_sub {
	margin-bottom: 1%;
}
#lpwrap .side.right .main .wrap .menu .menu_sub,
#lpwrap .side.right .main .wrap .menu .btns {
	display: flex;
	justify-content: space-between;
}
#lpwrap .side.right .main .wrap .menu .menu_sub li,
#lpwrap .side.right .main .wrap .menu .btns .btn {
	width: 49%;
	display: block;
}
@media (max-width: 1900px) {
  #lpwrap .top-main-img {
    display: none;
  }
}



/* スライド
------------------------------------------------------*/
    .dummy-content { padding: 2em; background: #ececec; text-align: center; }
    .swiper-container { width: 100%; position: relative; overflow: visible; }
    .swiper-slide { position: relative; }
    .slide-image { width: 100%; height: 100%; object-fit: cover; }
    .popup-btn, .popup-btn2, .accordion-btn, .link-btn { cursor: pointer; display: block; margin: 1em auto; }
    /* swiper1: ドット型ページャー下部配置 */


	.swiper1 {
		padding-bottom: 13%;
	}

	.swiper3 {
		padding-bottom: 10%;
	}


.wrap_swiper {
	overflow: hidden;
}
.wrap_swiper.wrap_swiper2 {
	padding-top: 77vw;
}
.wrap_swiper.wrap_swiper4 {
	padding-top: 45vw;
}
.wrap_swiper.wrap_swiper5,
.wrap_swiper.wrap_swiper6 {
	padding-top: 27vw;
	padding-bottom: 6%;
	background: url("../images/02/02_hmkyusyu_tryhondaev_ev_08.png") no-repeat center bottom / 100% auto;
}

@media (min-width: 451px) {

	.wrap_swiper.wrap_swiper2 {
		padding-top: 340px;
	}
	.wrap_swiper.wrap_swiper5,
	.wrap_swiper.wrap_swiper6 {
		padding-top: 100px;
	}
	.wrap_swiper.wrap_swiper4 {
		padding-top: 200px;
	}
	
}


.wrap_swiper.wrap_swiper4 {
	background: #ebebeb;
}








.link-btn {
	position: absolute;
	left: 6.4%; /* 09251700修正 */
	bottom: 2.8%; /* 09251700修正 */
	margin: 0;
	width: 88.7%; /* 09251700修正 */
}
.link-btn2 {
	position: absolute;
	left: 18%;
	bottom: 19.7%;
	margin: 0;
	width: 64%;
}
.link-btn3 {
	position: absolute;
	left: 2.4%;
	bottom: 3.7%;
	margin: 0;
	width: 94.6%;
}

.swiper4 .link-btn {
	left: 17.4%;
	bottom: 17.9%;
	width: 65.2%;
}


/* swiper2-5: 画像型ページャー上部配置 */
.swiper2 .swiper-pagination,
.swiper3 .swiper-pagination,
.swiper4 .swiper-pagination,
.swiper5 .swiper-pagination,
.swiper6 .swiper-pagination {
  position: absolute;
  top: -23%;
  left: 0;
  right: 0;
  bottom: auto;
  margin: 0 auto;
  text-align: center;
  z-index: 10;
}
.swiper2 .swiper-pagination {
	top: -77vw;
	height: 77vw;
}

@media (min-width: 451px) {

	.swiper2 .swiper-pagination {
		top: -340px;
		height: 340px;
	}

	
}



.swiper1 .swiper-pagination {
  position: absolute;
  bottom: 3%;
  left: 0;
  right: 0;
  margin: 0 auto;
  text-align: center;
  z-index: 10;
}



.swiper3 .swiper-pagination {
  top: -22%;
}
.swiper3.accordion-open .swiper-pagination {
  top: -15.7%;
}
.swiper4 .swiper-pagination {
  top: -33.5%;
}
.swiper5 .swiper-pagination,
.swiper6 .swiper-pagination {
  top: -27vw;
}
@media (min-width: 451px) {
	.swiper5 .swiper-pagination,
	.swiper6 .swiper-pagination {
	  top: -100px;
	}	
}



/* 画像型ページャーのサイズを大きく */
#lpwrap .swiper2 .swiper-pagination img,
#lpwrap .swiper3 .swiper-pagination img,
#lpwrap .swiper4 .swiper-pagination img,
#lpwrap .swiper5 .swiper-pagination img,
#lpwrap .swiper6 .swiper-pagination img {
  width: 26.5%;
  border-radius: 0;
	display: inline;
	margin: 0 1.5%;
	opacity: 1;
}

#lpwrap .swiper2 .swiper-pagination img {
	position: absolute;
	margin: 0;
	width: 31%;
}
#lpwrap .swiper2 .swiper-pagination img:nth-child(1),
#lpwrap .swiper2 .swiper-pagination img:nth-child(2) {
	top: 0;
}
#lpwrap .swiper2 .swiper-pagination img:nth-child(3),
#lpwrap .swiper2 .swiper-pagination img:nth-child(4) {
	top: 37vw;
}

@media (min-width: 451px) {

	#lpwrap .swiper2 .swiper-pagination img:nth-child(3),
	#lpwrap .swiper2 .swiper-pagination img:nth-child(4) {
		top: 165px;
	}

	
}


#lpwrap .swiper2 .swiper-pagination img:nth-child(1),
#lpwrap .swiper2 .swiper-pagination img:nth-child(3) {
	left: 16%;
}
#lpwrap .swiper2 .swiper-pagination img:nth-child(2),
#lpwrap .swiper2 .swiper-pagination img:nth-child(4) {
	right: 16%;
}



#lpwrap .swiper3 .swiper-pagination img {
	margin: 0 3%;
}
#lpwrap .swiper4 .swiper-pagination img {
	width: 32%;
	margin: 0 -0.5%;
}
#lpwrap .swiper5 .swiper-pagination img,
#lpwrap .swiper6 .swiper-pagination img {
	width: 43.5%;
	margin: 0 .5%;
}


.swiper2 .swiper-pagination-bullet,
.swiper2 .swiper-pagination-bullet-active,
.swiper3 .swiper-pagination-bullet,
.swiper3 .swiper-pagination-bullet-active,
.swiper4 .swiper-pagination-bullet,
.swiper4 .swiper-pagination-bullet-active,
.swiper5 .swiper-pagination-bullet,
.swiper5 .swiper-pagination-bullet-active,
.swiper6 .swiper-pagination-bullet,
.swiper6 .swiper-pagination-bullet-active {
	background: none;
}

#simpleSliderWrap .swiper-pagination-bullet.swiper-pagination-bullet-active,
.swiper1 .swiper-pagination-bullet.swiper-pagination-bullet-active {
	background: #333;
}
#simpleSliderWrap .swiper-pagination-bullet,
.swiper1 .swiper-pagination-bullet {
	background: #fff;
	border: 1px solid #333;
	opacity: 1;
	width: 10px;
	height: 10px;
	border-radius: 0;
}


#lpwrap .popup-btn {
	position: absolute;
	top: 81.2vw;
	left: 0;
	width: 100%;
}


@media (min-width: 451px) {

	#lpwrap .popup-btn {
		top: 366px;
	}

}



#lpwrap .popup-btn1 {
	position: absolute;
	top: 38.3%;
	left: 20.5%;
	width: 59%;
}

#lpwrap .popup-btn2 {
	position: absolute;
	top: 38.5%;
	left: 15.6%;
	width: 68.8%;
}
#lpwrap .swiper4 .popup-btn2 {
	top: 72.5%;
}
#lpwrap .swiper4 .swiper-slide3 .popup-btn2 {
	top: 70%;
}



#lpwrap .popup-btn3 {
	position: absolute;
	top: 71%;
	left: 17%;
	width: 65%;
}
#lpwrap .slide-accordion-btn {
	position: absolute;
	top: 192.8vw;
	left: 0;
	cursor: pointer;
}

@media (min-width: 451px) {

	#lpwrap .slide-accordion-btn {
		top: 868px;
	}

	
}




.slide-accordion-content {
	position: relative;
	top: -5vw;
}

@media (min-width: 451px) {

	.slide-accordion-content {
		top: -23px;
	}

}




#lpwrap .open .popup-btn2 {
	top: 26.9%;
}


#lpwrap .swiper3.accordion-open .swiper-button-prev {
	top: 35.6%;
}
#lpwrap .swiper3.accordion-open .swiper-button-next {
	top: 35.6%;
}
#lpwrap .swiper5 .slide-accordion-btn {
	top: 87.5%;
}
#lpwrap .swiper5.accordion-open .swiper-button-prev {
	top: 30.8%;
}
#lpwrap .swiper5.accordion-open .swiper-button-next {
	top: 30.8%;
}
#lpwrap .swiper5 .open .slide-accordion-btn {
	top: 53.9%;
}
.swiper-button-prev, .swiper-button-next { color: #000; z-index: 10; cursor: pointer; }
.swiper-button-prev { left: 10px; }
.swiper-button-next { right: 10px; }


/* グローバルモーダル */
#modal-overlay { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; background: rgba(0,0,0,0.5); display: none; align-items: center; justify-content: center; z-index: 99999; } /* 1700修正 */








/* FVフローティングスライダー */

.lpmain {
	position: relative;
}
.wrap_kv {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 999999;
}
.kv { position: relative; width: 100%; max-width: 960px; margin: 0 auto;
/* ← ベースにtransitionを置く（確実にフェードする） */
  transition: opacity .6s ease;
  opacity: 1;
}
.kv img { display:block; width:100%; height:auto; }
.swiper-slide { position: relative; }

/* スライド上ボタン（必要に応じて調整） */
.slide-btn {
  position: absolute; left: 50%; bottom: 3%;
  transform: translateX(-50%);
  border: none;
  background-color: transparent; font-size: 16px; cursor: pointer;
	padding: 0;
	width: 41%;
    transition: .5s;
}
.slide-btn.slide-btn2 {
    left: 24%;
    bottom: 46%;
    width: 44%;
}

.slide-btn:hover {
	opacity:0.7;
}

.kv .arw {
    position: absolute;
    width: 44%;
    bottom: 46.5%;
}
.kv .arw.arw-r {
	right: 2%;
}
.kv .arw.arw-l {
	left: 0%;
}

/* フェードアウト状態 */
.kv.is-fadeout { opacity: 0; }





/* FVスライダー */

#simpleSliderWrap { position: relative; margin-bottom: 5% }
#outsideImage { width: 20%; position: fixed; left: 0; top: 0; z-index: 999; }

/* スライダー全体 */
#simpleSliderWrap .swiper { height: auto; }        /* 既存 */
#simpleSliderWrap .simple-swiper { max-width: 960px; margin: 0 auto; }
#simpleSliderWrap .simple-swiper img { display:block; width:100%; height:auto; }

/* ★ 外に出したページャーの見た目 */
#simpleSliderWrap .simple-pagination {
  display: flex;
  justify-content: center;
  gap: 0;                /* Swiper側で整うので0でOK */
  margin-top: 10px;      /* “下に出す”ための余白 */
}

/* 外側画像の表示制御（既存） */
#simpleSliderWrap .outside-image { width: 100%; text-align:center; opacity:0; transition:opacity .4s ease; text-align: right;}
#simpleSliderWrap .outside-image.is-visible { opacity:1; }



#simpleSliderWrap .outside-image .wrap_btn {
	max-width: 450px;
	margin: 0 auto;
	height: 0;
	position: relative;
}

#simpleSliderWrap .outside-image .wrap_btn a {
	position: absolute;
	display: block;
	width: 30%;
	right: 5%;
	bottom: -180vw;
	transition: bottom 2s ease;
}
.body-scrolled #simpleSliderWrap .outside-image .wrap_btn a {
	bottom: -45vw;
}


@media (min-width: 451px) {

	#simpleSliderWrap .outside-image .wrap_btn a {
		bottom: -770px;
	}
	.body-scrolled #simpleSliderWrap .outside-image .wrap_btn a {
		bottom: -200px;
	}

}
@media (min-width: 1200px) {

	.body-scrolled #simpleSliderWrap .outside-image .wrap_btn a {
		bottom: -150px;
	}

}



.bg1 {
	background: linear-gradient(#8ed9ef, #fff);
}
.bg2 {
	background: linear-gradient(#fff, #8ed9ef);
}
.bg3 {
	background: linear-gradient(#8ed9ef, #fff, #8ed9ef);
}










.modal { padding: 1em; text-align: center; max-width: 450px; max-height: 80%; overflow-y: auto;}
.modal .inr-modal {
	position: relative;
}
.close-modal {
	cursor: pointer;
	background: url("../images/05/05_popup_cls_btn.png") no-repeat 0 0 / contain;
	position: absolute;
    bottom: 0%;
    left: 0%;
    width: 100%;
    aspect-ratio: 445 / 70;
	border: none;
	padding: 0;
}
.modal--modal2-1 .inr-modal,
.modal--modal2-2 .inr-modal,
.modal--modal2-3 .inr-modal {
	padding: 4%;
}
.modal--modal2-1 .close-modal,
.modal--modal2-2 .close-modal,
.modal--modal2-3 .close-modal {
	background: url("../images/teikinri_smcnt/popup_tekinri_cls.png") no-repeat 0 0 / contain;
	top: 0;
	right: 0;
	bottom: auto;
	left: auto;
	width: 10%;
	aspect-ratio: 1 / 1;
}
.modal--modal4-1 .close-modal,
.modal--modal4-2 .close-modal,
.modal--modal4-3 .close-modal {
	background: url("../images/04/04_zankure_slider_cls_btn.png") no-repeat 0 0 / contain;
    bottom: 2%;
    left: 15.5%;
    width: 68.7%;
	aspect-ratio: 460 / 115;
}

/* 1700修正ここから */
.modal--modal4-2-1 .inr-modal,
.modal--modal4-2-2 .inr-modal {
	padding: 4%;
}

.modal--modal4-2-1 .close-modal,
.modal--modal4-2-2 .close-modal {
	background: url("../images/04/popup_cls.png") no-repeat 0 0 / contain;
	top: 0;
	right: 0;
	bottom: auto;
	left: auto;
	width: 10%;
	aspect-ratio: 1 / 1;
}
/* 1700修正ここまで */



/* 1530修正ここから */
.modal--modal6 .close-modal {
	background: url("../images/06/06_acc_popup_cls_btn.png") no-repeat 0 0 / contain;
    bottom: 2%;
	aspect-ratio: 750 / 45;
}
/* 1530修正ここまで */

/*
    .accordion-content { display: none; text-align: center; }
*/

.swiper-button-next,
.swiper-button-prev {
	width: 13%;
	height: 0;
	max-width: 80px;
	padding-top: 13%;
}
.swiper2 .swiper-button-next,
.swiper2 .swiper-button-prev {
	top: 100vw;
}

@media (min-width: 451px) {

	.swiper2 .swiper-button-next,
	.swiper2 .swiper-button-prev {
		top: 500px;
	}
	
}




.swiper-button-next:after,
.swiper-button-prev:after {
	content: none!important; /* または content: ""; でも可 */
	display: block!important;
}

.swiper-button-next {
	background: url("../images/01/slider_right.png") no-repeat 0 0 / 100% auto; /* 09251700修正 */
}
.swiper-button-prev {
	background: url("../images/01/slider_left.png") no-repeat 0 0 / 100% auto; /* 09251700修正 */
}

/* 各nvi */
/* swiper2 ナビ画像 */
.swiper2 .swiper-button-prev {
  background-image: url("../images/05/05_slider_left.png");
}
.swiper2 .swiper-button-next {
  background-image: url("../images/05/05_slider_right.png");
}

/* swiper3 ナビ画像 */
.swiper3 .swiper-button-prev {
  background-image: url("../images/teikinri_smcnt/nv_teikinri_left.png");
}
.swiper3 .swiper-button-next {
  background-image: url("../images/teikinri_smcnt/nv_teikinri_right.png");
}

/* swiper4 ナビ画像 */
.swiper4 .swiper-button-prev {
  background-image: url("../images/04/04_zankure_slider_left.png");
}
.swiper4 .swiper-button-next {
  background-image: url("../images/04/04_zankure_slider_right.png");
}

/* swiper5 ナビ画像 */
.swiper5 .swiper-button-prev {
  /*background-image: url("../images/02/02_slider_right.png");*/
}
.swiper5 .swiper-button-next {
  background-image: url("../images/02/02_slider_right.png");
}

/* swiper6 ナビ画像 */
.swiper6 .swiper-button-prev {
  /*background-image: url("../images/03/sinkosya_smcnt/nv_sinkosya_left.png");*/
}
.swiper6 .swiper-button-next {
  background-image: url("../images/02/02_slider_right.png");
}


/* N-VAN用の専用リンクボタン */
.nvane-link-btn {
    position: absolute;
    left: 0%;
    bottom: 2.6%;
    z-index: 2;
}

.nvane-link-btn img {
  display: block;
  width: clamp(180px, 40vw, 360px); /* レスポンシブ対応例 */
  height: auto;
}

/* slider text img */
/* スライドを配置の基準にする */
#simpleSwiper {
  position: relative;
}

#simpleSwiper .overlay-fixed {
  position: absolute;
  top: 7.5%; 
  left: 0;
  width: 100%;
  pointer-events: none;
  z-index: 5;
}




/* FV
------------------------------------------------------*/
.anm {
	position: absolute;
}
#lpwrap .anm.anm1 {
  width: 90.93%;
  opacity: 0;
  top: 16.6%;
  left: 5%;
  /* 中央を起点に縦横同時に拡大 */
  transform-origin: center center;
  transform: scale(0);
  animation: fadeExpand 1s ease-out forwards;
	z-index: 1;
}

/* Fade-in and expand animation from center (both X and Y) */
@keyframes fadeExpand {
  0% {
    opacity: 0;
    transform: scale(0);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}


#lpwrap .anm.anm2 {
    width: 85.7%;
    top: 71.4%;
    left: 4%;
	z-index: 2;
    /* 初期状態で完全に透明 */
    opacity: 0;
    /* 2秒後に上からフェードイン（1秒）、終わった後ピコピコを無限ループ */
    animation:
        fade-in-from-top 1s ease 4s forwards,
        piko-piko 1.5s ease-in-out 5s infinite;
}

@keyframes fade-in-from-top {
  0% {
    transform: translateY(-50%);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}

@keyframes piko-piko {
  0%, 100% {
    transform: translateY(0);
  }
  10%, 30% {
    transform: translateY(-3%);
  }
  20%, 40% {
    transform: translateY(0);
  }
}

#lpwrap .anm.anm3 {
  width: 46.1%;
  top: 55.3%;
  left: 27.5%;
  /* 初期状態 */
  opacity: 0;
  transform: translateY(20%);
  animation: fadeMove3 1.5s ease-out 2.5s forwards;
}

@keyframes fadeMove3 {
  0% {
    opacity: 0;
    transform: translateY(20%);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

#lpwrap .anm.anm4 {
	width: 16.1%;
	top: 29.3%;
	left: 78.7%;
  /* 初期状態 */
  opacity: 0;
  transform: translateY(-50%);
  animation: fadeMove4 1.1s ease-out 1s forwards;
}

@keyframes fadeMove4 {
  0% {
    opacity: 0;
    transform: translateY(-50%);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}



#lpwrap .anm.anm5 {
	width: 23.7%;
	top: 64.2%;
	left: 19.6%;
  /* 初期状態 */
  opacity: 0;
  transform: translateX(120%);
  animation: fadeMove5 1.2s ease-out 1.2s forwards;
}

@keyframes fadeMove5 {
  0% {
    opacity: 0;
    transform: translateX(120%);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}



#lpwrap .anm.anm6 {
	width: 27.1%;
	top: 52.9%;
	left: 74.8%;
  /* 初期状態 */
  opacity: 0;
  transform: translateX(-120%);
  animation: fadeMove6 1s ease-out 1s forwards;
}


@keyframes fadeMove6 {
  0% {
    opacity: 0;
    transform: translateX(-120%);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}


#lpwrap .anm.anm7 {
	width: 26.3%;
	top: 3%;
	left: 6.9%;
  /* 初期状態 */
  opacity: 0;
  transform: translateX(30%);
  animation: fadeMove7 1s ease-out 1s forwards;
}


@keyframes fadeMove7 {
  0% {
    opacity: 0;
    transform: translateX(30%);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}











/* 追従ボタン付きコンテンツ */

        .box {
            position: relative;
        }



/* 1630修正ここから */

        .sticky-container {
            position: sticky;
            top: -18%;
            left: 0;
            width: 100%;
            height: 0;
            z-index: 20;
        }


        .sticky-button {
            position: absolute;
            left: 0;
            top: 0;
            transform: translateX(-100%) translateY(126%); /* 初期位置を左外に設定 */
            opacity: 0;


            font-size: 1rem;
            cursor: pointer;
            transition: transform 0.5s ease-out, opacity 0.5s ease-out;
			width: 36%;
        }

        /* アニメーション用クラス */
        .sticky-button.visible {
            transform: translateX(5%) translateY(126%); /* ページ内への移動 */
            opacity: 1;
			transition-delay: .5s;
        }

        .sticky-button.hidden {
            transform: translateX(-100%) translateY(126%); /* ページ左外への移動 */
            opacity: 0;
        }
/* 1630修正ここまで */



/* 250925 mizoue 追加中 */
.zank-wrap {
  position: relative;
}

#lpwrap .zank-wrap .popup-btn {
	width: 48.8%;
	top: 0;
	left: 25.6%;
}
#lpwrap .zank-wrap.zank-wrap2 .popup-btn {
	top: -2%;
}
/* 1700修正ここまで */


#lpwrap .ev_getugaku .popup-btn {
	width: 80%;
	top: auto;
	bottom: 3.6%;
	left: 10%;
}


#lpwrap .wrap_price {
	padding-bottom: 5%;
}
#lpwrap .wrap_price .popup-btn {
	position: static;
}

.zank-syousai_btn {
	position: absolute;
    top: 0%;
    left: 25.1%;
    width: 50%;
}

/* 250925 fade */
/* fade-in 設定　スクロール時に発火 */

.fadeIn {
  transform: translate3d(0, 50px, 0);/* ここで開始位置を指定 その場の場合は削除 */
  transition: 1.4s ease;
  transition-delay: 0.7s;
  opacity: 0;
}

.fadeIn.animated {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

.fadeDown {
  transform: translate3d(0, -50px, 0);/* ここで開始位置を指定 その場の場合は削除 */
  transition: 1.4s ease;
  transition-delay: 0.7s;
  opacity: 0;
}

.fadeDown.animated {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

.fadeUp {
  transform: translate3d(0, 0, 0);/* ここで開始位置を指定 その場の場合は削除 */
  transition: 1.4s ease;
  transition-delay: 0.7s;
  opacity: 0;
}

.fadeUp.animated {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

.fadeRight {
  transform: translate3d(50px, 0, 0);/* ここで開始位置を指定 その場の場合は削除 */
  /*margin-left: -50px;*/
  transition: 1.4s ease;
  transition-delay: 0.7s;
  opacity: 0;
}

.fadeRight.animated {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

.fadeLeft {
  transform: translate3d(-50px, 0, 0); /*ここで開始位置を指定 その場の場合は削除 */
  transition: 1.4s ease;
  transition-delay: 0.7s;
  opacity: 0;
}

.fadeLeft.animated {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

/* 拡大 */

.zoomIn {
  transform: scale(0); /* 開始時は0にスケール */
  transition: 1s ease;
  transition-delay: 0s;
  opacity: 0;
}

.zoomIn.animated {
  transform: scale(1); /* 通常サイズにスケール */
  opacity: 1;
}


/* fv fade-in */

.contt_fade {
  position: relative;
  width: 100%;
  max-width: 650px;
  margin: 0 auto;
}

.ehevtop1_fade {
    position: absolute;
    top: 34.9%;
    right: 0%;
    width: 44% !important;
    transition-delay: 0s;
    animation-duration: 1s;
}
.ehevtop2_fade {
    position: absolute;
    top: 43.7%;
    right: 0%;
    width: 44% !important;
    transition-delay: 0s;
    animation-duration: 1s;
}
.ehevtop3_fade {
    position: absolute;
    bottom: 16%;
    left: 0%;
    width: 100% !important;
    transition-delay: 0s;
    animation-duration: 1s;
}
.evfv1_fade {
    position: absolute;
    top: 34.9%;
    left: 0%;
    width: 44% !important;
    transition-delay: 0s;
    animation-duration: 1s;
}
.evfv2_fade {
    position: absolute;
    top: 43.6%;
    left: 0%;
    width: 44% !important;
    transition-delay: 0s;
    animation-duration: 1s;
}
.evfv3_fade {
    position: absolute;
    bottom: 15.7%;
    left: 0%;
    width: 100% !important;
    transition-delay: 0s;
    animation-duration: 1s;
}
.nonefv_fade {
    position: absolute;
    top: 38.9%;
    left: 2%;
    width: 36% !important;
    transition-delay: 0s;
    animation-duration: 1s;
}
.ev01_fade {
    position: absolute;
    top: 14.1%;
    left: 0%;
    width: 80.2% !important;
    transition-delay: 0s;
    animation-duration: 1s;
}
.ev02_fade {
    position: absolute;
    top: 17.2%;
    left: 0%;
    width: 100%;
    transition-delay: 0s;
    animation-duration: 1s;
}
.ev03_fade {
    position: absolute;
    bottom: 4.8%;
    left: 0%;
    width: 93.2% !important;
    transition-delay: 0s;
    animation-duration: 1s;
}
.ev04_fade {
    position: absolute;
    top: 0%;
    left: 0%;
    width: 100%;
    transition-delay: 0s;
    animation-duration: 1s;
}
.ev05_fade {
    position: absolute;
    top: 0%;
    left: 0%;
    width: 100%;
    transition-delay: 0s;
    animation-duration: 1s;
}
.ev06_fade {
    position: absolute;
    bottom: 4.8%;
    left: 0%;
    width: 93.2% !important;
    transition-delay: 0s;
    animation-duration: 1s;
}
.ehevnew_fade {
    position: absolute;
	bottom: 65.1%;
    left: 0%;
    width: 100%;
    transition-delay: 0s;
    animation-duration: 1s;
}
.singatasya_fade {
    position: absolute;
    bottom: 5.4%;
    left: 0%;
    width: 100%;
    transition-delay: 0s;
    animation-duration: 1s;
}
.goseiyaku_fade {
    position: absolute;
    top: 0%;
    left: 4%;
    width: 30.4% !important;
    transition-delay: 1s;
    animation-duration: 3s;
}

.zankuretop1_fade {
    position: absolute;
    top: 2.6%;
    left: 0%;
    width: 100% !important;
    transition-delay: 1s;
    animation-duration: 3s;
}
.zankuretop2_fade {
    position: absolute;
	top: 11.6%;
    left: 0%;
    width: 100% !important;
    transition-delay: 1s;
    animation-duration: 3s;
}
.zankure1_fade {
    position: absolute;
	bottom: 64.9%;
    left: 0%;
    width: 100% !important;
    transition-delay: 1s;
    animation-duration: 3s;
}
.zankure2_fade {
    position: absolute;
    bottom: 45.1%;
    left: 0%;
    width: 100% !important;
    transition-delay: 1s;
    animation-duration: 3s;
}
.zankure3_fade {
    position: absolute;
    bottom: 28.4%;
    left: 0%;
    width: 100% !important;
    transition-delay: 1s;
    animation-duration: 3s;
}
.zankure4_fade {
    position: absolute;
    bottom: 2.7%;
    left: 0%;
    width: 100% !important;
    transition-delay: 1s;
    animation-duration: 3s;
}
.zankure5_fade {
    position: absolute;
	bottom: 61.9%;
    left: 0%;
    width: 100% !important;
    transition-delay: 1s;
    animation-duration: 3s;
}
.zankure6_fade {
    position: absolute;
    bottom: 43%;
    left: 0%;
    width: 100% !important;
    transition-delay: 1s;
    animation-duration: 3s;
}
.zankure7_fade {
    position: absolute;
    bottom: 27.2%;
    left: 0%;
    width: 100% !important;
    transition-delay: 1s;
    animation-duration: 3s;
}
.zankure8_fade {
    position: absolute;
    bottom: 2.6%;
    left: 0%;
    width: 100% !important;
    transition-delay: 1s;
    animation-duration: 3s;
}


/* 調整中 */
.ev_getugaku {
  position: relative;
}

.ev_kuwasiku {
    position: absolute;
    bottom: 3.5%;
    left: 9.7%;
    width: 80.5%;
    display: block;
}

.zankure_none_kuwasiku {
  position: relative;
}

.zankure_none_kuwasiku_btn {
position: absolute;
    bottom: 0%;
    left: 25%;
    width: 50%;
    display: block;
}

.zankure_none_kuwasiku_btn img {
  width: 100%;
  height: auto;
  display: block;
}

.ehev_icon_wrap {
  position: relative;
}

.ehev_icon_link,
.ehev_icon_link2,
.ehev_icon_link3 {
	position: absolute;
    left: 2%;
    z-index: 1;
    width: 35%;
}
.ehev_icon_link {
    top: -26%;
}
.ehev_icon_link2,
.ehev_icon_link3 {
    top: -10%;
}




/* .ev02-btn2 */
.ev02-btn2 {
	position: absolute;
	width: 76%;
	border-radius: 9999px;
}
#box2 .ev02-btn2 {
	top: 55%;
	left: 11%;
}
#box4 .ev02-btn2 {
	top: 59%;
	left: 12%;
}


.wrap_vezelbtn {
	position: relative;
	aspect-ratio: 450 / 86;
	
}


/*　テスト中　*/
/* FV全体（画面を覆うレイヤー） */
.wrap_kv {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100vh;
  z-index: 999999;
  opacity: 1;
  transition: opacity .6s ease;
  
  /* 【修正点1】デフォルトはクリックを「通過」させる */
  pointer-events: none;
}

/* FVアクティブ時（画面を覆い、クリックを「捕捉」する） */
.wrap_kv.is-kv-active {
  /* アクティブ時のスタイルはここに集約し、不要なものを削除 */
  
  /* 【修正点2】アクティブ時にクリックを「捕捉」し、真下の要素へのクリックを無効化 */
  pointer-events: auto; 
  
  /* 【修正点3】背景画像など、アクティブ時のみ必要なスタイルを定義 */
  background: url("../images/01/flbg.jpg") no-repeat center center / cover;
}

/* --- */

/* FVの中だけスクロール可能に（本文は動かない） */
.kv {
  position: relative;
  width: 100%;
  max-width: 450px;
  margin: 0 auto;
  height: 100vh;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  
  /* 【修正点4】捕捉されたクリックをFV内部の要素（ボタンなど）に「再通過」させる */
  pointer-events: auto; 
}

/* スライドの高さは中身に合わせる */
.kv-swiper { height: auto; }
.kv-swiper .swiper-wrapper { height: auto; }
.kv-swiper .swiper-slide { height: auto; }