
section.curriculum .message {
		position: relative;
		margin: 0% auto 5%;
		padding: 5% 0% 5%;
}
.message-container p{
	font-size: 1.2vw;
	@media screen and (max-width: 767.9px) {
		font-size: 15px;
		text-align: left;
	}
	
}
br.sp-none{
	display: block;
	@media screen and (max-width: 767.9px) {
		display: none;
	}
}
section.curriculum .free-campaign {
	position: fixed;
	/* top: 38%; */
	top: 25vw;
	left: 6%;
	text-align: left;
	z-index: 900;
}

@media screen and (max-width: 767.9px) {
	section.curriculum .free-campaign {
		display: none;
	}
}

section.curriculum .free-campaign div {
	transition: 0.3s;
}
img.campaign-btn{
	max-width: 318px;
	width: 18vw;
}
section.curriculum .free-campaign div:hover {
	transform: translateY(3%);
}

section.curriculum .free-campaign .campaign-ttl {
	font-size: 1.5vw;
	color: #FF0000;
	padding-left: 4.8vw;
}

section.curriculum .free-campaign .font-large {
	display: block;
	font-size: 1.2vw;
	line-height: 1.2;
	margin-top: 2%;
	margin-bottom: 2%;
}
section.curriculum .free-campaign .under-txt {
	padding-left: 5vw;
}
#blog .campaign-container{
	margin-bottom: 0;
}
.campaign-main{
	padding-bottom: 152px;
}
.free-campaign-none{
	display: none;
}
.campaign-dl-block{
	display: flex;
	justify-content: flex-end;
}
.campaign-dl{
	display: flex;
	align-items: center;
}
.campaign-dl::before{
	content: '';
	display: block;
	background-image: url('image/campaign/download-pdf.png');
	width: 48px;
	height: 48px;
}
br.sp-only{
	display: none;
}
@media screen and (max-width: 767.9px) {
	br.sp-only{
		display: block;
	}
}
#popup-btn br{
	display: block !important;
}
/* ポップアップ */
.popup-block{
	position: absolute;
	bottom: 8%;
	left: 0;
	width: 100%;
}
@media screen and (max-width: 767.9px) {
	.popup-block{
		position: relative;
		bottom: auto;
		left: auto;
		width: 95%;
		margin: 4% auto 0;
	}
}
p.popup-btn{
	display: inline-block;
	background-color: #00BFFF;
	border-radius: 53px;
	font-size: 2vw;
	white-space: nowrap;
	line-height: 1;
	padding: 2% 6%;
	font-weight: 500;
	cursor: pointer;
}
p.popup-btn span{
	font-size: 1.5vw;
	line-height: 1;
}

@media screen and (max-width: 767.9px) {
	p.popup-btn{
		font-size: 24px;
		padding: 2% 6%;
		font-weight: 500;
	
	}
	p.popup-btn span{
		font-size: 17px;
	}
}

.hidden {
	display: none;
}
.popup-content{
	position: absolute;
	right: -50%;
	bottom: 0;
	background-color: #fff;
	border: 6px solid #FFD900;
	border-radius: 56px;
	z-index: 99;
	padding: 1% 3% 5%;
	width: 35vw;
}
@media screen and (max-width: 767.9px) {
	.popup-content{
		position: absolute;
		right: 0;
		bottom: 0;
		border: 4px solid #FFD900;
		border-radius: 16px;
		padding: 2% 5% 6%;
		width: 95%;
	}
}
.popup-content img{
	width: 85px;
}
@media screen and (max-width: 767.9px) {
	.popup-content img{
		width: 68px;
	}
}
.popup-content .popup-ttl{
	font-size: 2vw;
	font-weight: 500;
	margin-bottom: 1%;
}
@media screen and (max-width: 767.9px) {
	.popup-content .popup-ttl{
		font-size: 20px;
		
	}
}
.popup-content .popup-ttl .font-large{
	font-size: 2.5vw;
	line-height: 1;
}
@media screen and (max-width: 767.9px) {
	.popup-content .popup-ttl .font-large{
		font-size: 23px;
	}
}
.popup-content span.color-red{
	color: #DF2016;
}
.popup-content .popup-txt p{
	text-align: left;
	font-size: 1.24vw;
	font-weight: 400;
}
@media screen and (max-width: 767.9px) {
	.popup-content .popup-txt p{
		font-size: 14px;
		line-height: 1.57;
		font-weight: 400;
	}
}
/* ポップアップアニメーションを3秒かけて実行 */
.popup-message {
	animation: popup .4s ease-out forwards;
  }
  
  @keyframes popup {
	from {
		transform: scale(0.6);
		opacity: 0;
	  }
	
	  to {
		transform: scale(1);
		  opacity: 1;
	  }
}
.dd-hidden{
	display: none;
}

/* 既存スタイル上書き　 */
section.curriculum .inner {
    width: 65%;
	@media screen and (max-width: 767.9px){
		width: 90%;
	}
}
section.curriculum .study .hello,.curriculum .details-04 .enjoy {
    left: -33%;
}
.enjoy {
    left: -15%;
}
@media screen and (max-width: 767.9px) {
	
	.top-title {
		padding: 14.8vw 0 15vw;
	}
	.top-title .sns-sp {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
	}
}
@media screen and (max-width: 450px) {
	.top-title {
		padding: 14.8vw 0 11.3vw;
	}
}
.campaign-main .free-school{
	position: fixed;
    top: 39%;
    right: 5%;
    width: 18%;
	max-width: 320px;
}
@media screen and (max-width: 767.9px) {
	.campaign-main .free-school{
		display: none;
	}
}
.campaign-main .free-school div {
	color: #005192;
	line-height: 1.3;
	padding: 8% 6% 9% 14%;
	background: url("image/speech_b05.png") left/contain no-repeat;
	transition: 0.3s;
}

.campaign-main .free-school::after {
	position: absolute;
	bottom: -11%;
    right: -25%;
	content: "";
	width: 32%;
	height: 58%;
	background: url("image/girl.png") center/contain no-repeat;
	z-index: -1;
}

.campaign-main .free-school div:hover {
	transform: translateY(3%);
}

.campaign-main .free-school div a {
	font-size: 1.4vw;
	color: #005192;
}

.campaign-main .free-school div a.link-blog {
	color: #FF0000;
}

.campaign-main .free-school .font-large {
	display: block;
	font-size: 1.6vw;
	line-height: 1.2;
	margin-top: 2%;
	margin-bottom: 2%;
}
@media screen and (max-width:767.9px){
	.single__contents::before {
		width: 10.9vw;
		height: 100%;
		left: -10px;
		background-size: 100%;
	}
}
footer .sp-menu .campaign {
	position: relative;
    width: 100%;
    background-color: #1EE725;
    font-size: 4.2vw;
	padding: 0;
}
footer .sp-menu .campaign::before{
	position: absolute;
    bottom: 50%;
    left: 3%;
    content: "";
    width: 17.1vw;
	height: 17.1vw;
    background: url(image/campaign/campaign-boy.png) center/contain no-repeat;
    transform: translateY(50%);
}
footer .sp-menu .campaign a{
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	font-size: 6.2vw;
    color: #0C3F02;
    line-height: 1.3;
	height: 100%;
	padding: 14px 0;

}
footer .sp-menu .campaign a span:last-child{
	font-size: 3.8vw;
}
@media screen and (max-width: 767.9px) {
	#campaign {
		display: none;
	}

	#campaign.open {
		display: block;
	}
}
@media screen and (max-width:767.9px){
footer .sp-menu {
    flex-wrap: wrap;
}
}
section.curriculum .study-container div {
    width: 22%;
	
}
@media screen and (max-width:767.9px){
	section.curriculum .study-container div {
		width: 65%;
		
	}
}
@media screen and (max-width:767.9px){
	.campaign-ttl{
		max-width: 243px;
	}
}
body.blog .top-images .kirakira-a {
    position: absolute;
    top: 5%;
    left: auto;
    right: 29%;
}
body.blog .top-images .kirakira-b {
    position: absolute;
    bottom: 11%;
    left: 32%;
}
@media screen and (max-width:767.9px){
	body.blog .top-images .kirakira-a {
	position: absolute;
    top: -3%;
    left: auto;
    right: 26%;
}
	body.blog .top-images .kirakira-b {
		position: absolute;
	    top: auto;
	    bottom: 5%;
	    left: 30%;
	}
}
section.curriculum .free-school div a{
	font-size: 1.2vw;
}
section.curriculum .free-school .font-large {
    display: block;
    font-size: 1.3vw;
    line-height: 1.2;
    margin-top: 2%;
    margin-bottom: 2%;
}
.completion{
	display: inline-block;
	font-size: 1.3vw;
	padding: 2px 6px;
	background-color: #03E10A;
	border-radius: 20px;
}
/* メニュー位置変更 */
.sp-menuBtn2 {
	display: none;
}
@media screen and (max-width:767px) {
	.sp-menuBtn2 {
		position: fixed;
		top: 10px;
		right: 20px;
		display: flex;
		justify-content: center;
		align-items: center;
		width: 58px;
		height: 58px;
		background-color: #FF0000;
		border-radius: 50%;
		z-index: 99;
		transition: .5s;
		transform: translateX(200px);
	}
}
.sp-menuBtn2.on {
		transform: translateX(0);
}
footer .sp-menu .tel {
    width: 25%;
    background-color: #F08D08;
    font-size: 4.2vw;
    text-align: center;
}
/* footer .sp-menu .tel::before {
    height: 50%;
} */
footer .sp-menu .blog {
    width: 25%;
    background-color: #00BFFF;
    font-size: 4.2vw;
    text-align: center;
}
footer .sp-menu .blog::before {
    content: "";
    display: block;
    width: 33%;
    height: 117%;
    background: url(image/campaign/menu_blog.svg) center/contain no-repeat;
    margin: 0 auto 2%;
}
footer .sp-menu .blog a {
    color: #fff;
}
footer .sp-menu .contact {
    position: relative;
    width: 50%;
	padding: 0;
    background-color: #FFD900;
}
footer .sp-menu .contact a{
	position: relative;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}
footer .sp-menu .contact img{
	max-width: 310px;
    width: 100%;
}
/* footer .sp-menu .free-school div {
	padding: 15% 9% 18% 10%;
    position: absolute;
    top: -95%;
    left: 2%;
    background: url(image/fukidashi.png) center/100% no-repeat;
    line-height: 1.3;
    background-size: 85%;
    z-index: 30;
    text-align: center;
} */
.page__ttl .en {
	font-family: "futura-pt-bold", sans-serif;
}
.fukidashi_pc{
	max-width: 100%;
    height: auto;
    vertical-align: middle;
}
section.curriculum .free-school div {
    padding: 0;
    background: none;
}
footer .sp-menu .free-school div{
	top: -70%;
    left: 4%;
	background: none !important;
	padding: 0 !important;
}
.campaign-main .free-school div {
	padding: 0;
    background: none;
}
section.curriculum .free-school {
	position: fixed;
    top: 39%;
    right: 5%;
    width: 18%;
	max-width: 320px;
}
section.curriculum .free-school::after {
    bottom: -11%;
    right: -25%;
}
.single__body .wp-block-image img {
    width: auto;
    height: auto;
    margin-bottom: 1.6vw;
}
@media screen and (max-width: 767.9px) {
	li.blog {
		display: none;
	}
}

.ttl_wrap{
	display: flex;
	flex-direction: row;
	align-items: flex-end;
}
@media screen and (max-width: 767.9px) {
	.ttl_wrap{
		display: flex;
		flex-direction: column;
	}
}

@media screen and (max-width: 767.9px) {
	.curriculum .price .enter-price_img {
		width: 100%;
		margin: 0 0 7%;
	}
}
@media screen and (max-width: 767.9px) {
	.curriculum .price .enter-price_img img{
		width: 100%;
	}
}


.curriculum .lesson table td {
    padding: 2% 1.5%;
}
hr.border{
	border-top: 3px dashed #000;
	margin-bottom: -15px;
}
@media screen and (max-width: 767.9px) {
	.curriculum .lesson dl dd {
		padding: 6% 5%;
	}
}
section.event .camp h4 {
    position: absolute;
    top: 8%;
    left: 50%;
    width: 57%;
    transform: translate(-50%, 0);
}
section.event .camp::after {
	width: 70%;
    height: 66%;
    background: url(image/easter_egg.png) center / contain no-repeat;
}
section.event .camp::after {
    position: absolute;
    bottom: 2%;
    right: -5%;
}
@media screen and (max-width: 767.9px) {
	section.event .camp::after {
        right: -2%;
    }
}

/* モーダルウィンドウ */
/* モーダルウィンドウの基本スタイル */
.modal {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.5);
	justify-content: center;
	align-items: center;
	z-index: 999;
  }
  .modal.active {
	display: flex;
  }
.modal-content {
	background: white;
    padding: 3%;
    max-width: 60vw;
    width: 100%;
    max-height: 80vh;
    height: auto;
    overflow: hidden;
    border: 8px solid #E35A0B;
    border-radius: 38px;
    z-index: 9999;
}
@media screen and (max-width: 767.9px) {
	.modal-content {
		background: white;
		padding: 6%;
		max-width: 90vw;
		width: 100%;
		max-height: none;
		height: auto;
		overflow: hidden;
		border: 3px solid #E35A0B;
		border-radius: 38px;
		z-index: 9999;
	}
}
.closeModal {
	position: absolute;
	top: 10px;
	right: 10px;
	font-size: 20px;
	cursor: pointer;
}

/* .modal-content .flex{
	display: flex;
	align-items: center;
	justify-content: center;
	max-width: 860px;
    margin: auto;
	width: 100%;
	gap: 3%;
} */

.modal-content .instalink{
	max-width: 630px;
	margin: auto;
}
.modal-content .instalink img{
	width: 3vw;
	margin-right: 1em;
}
@media screen and (max-width: 767.9px) {
	.modal-content .instalink img{
		min-width: 24px;
		margin-right: 1em;
	}
}
.modal-content .txt{
	font-size: 1vw;
	line-height: 1.5;
	max-width: 700px;
	margin: auto;
	margin-bottom: 10px;
	display: -webkit-box;
	-webkit-line-clamp: 2; /* 最大3行まで表示 */
	-webkit-box-orient: vertical;
	overflow: hidden;
	  
}
@media screen and (max-width: 767.9px) {
	.modal-content .txt{
		font-size: 16px;
		line-height: 1.375;
		font-weight: 700;
	}
}
/* 背景スクロール禁止用のクラス */
/* 背景スクロール禁止用のクラス */
body.modal-open {
	position: fixed;
	width: 100%;
}
.modal-content .swiper-wrap{
	position: relative;
	padding: 0 0px;
	margin: auto;
}
.modal-content .swiper{
	margin: 0px auto 20px;
    width: 100%;
    max-width: 630px;
	max-height: 50vh;
	border-radius: 26px;
	overflow: hidden;
}
.modal-content .swiper-slide img{
	object-fit: cover;
	display: block;
	aspect-ratio: 864 / 580;
	height: auto;
}

@media screen and (max-width: 767.9px) {
	.modal-content .swiper-slide img{
		height: auto;
	}
}
.swiper{
	position: relative;
}

/* 前へ次への矢印カスタマイズ */
.swiper-button-prev,
.swiper-button-next {
  height: 52px;
  width: 52px;
}
@media screen and (max-width: 767.9px) {
	.swiper-button-prev,
	.swiper-button-next {
 	 height: 24px;
 	 width: 24px;
	}
}
/* 前へ次への矢印カスタマイズ */
.swiper-button-prev::after,
.swiper-button-next::after {
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  height: 3vw;
  margin: auto;
  width: 3vw;
}
@media screen and (max-width: 767.9px) {
	.swiper-button-prev::after,
	.swiper-button-next::after {
	  background-repeat: no-repeat;
	  background-size: contain;
	  content: "";
	  height: 24px;
	  margin: auto;
	  width: 24px;
	}
}
/* 前への矢印カスタマイズ */
.swiper-button-prev::after {
  background-image: url(./image/icon/plev-button.svg);
}
/* 次への矢印カスタマイズ */
.swiper-button-next::after {
  background-image: url(./image/icon/play-button.svg);
}
.swiper-button-prev {
    left: 0vw;
    right: auto;
}
.swiper-button-next {
    right: 0vw;
    left: auto;
}
@media screen and (max-width: 767.9px) {
	.swiper-button-prev {
		left: -25px;
		right: auto;
	}
	.swiper-button-next {
		right: -25px;
		left: auto;
	}
}
.teacher-item{
	/* max-width: 33%; */
	width: 100%;
}
@media screen and (max-width: 767.9px) {
	.teacher-item{
		max-width: none;
	}
}
@media screen and (min-width: 768px) {
	.curriculum .details .level span {
    font-size: 1.4vw;
}
}
/* section.event .campLink__wrapper {
	position: absolute;
	top: 7.8vw;
	left: 0;
} */

section.event .bnr {
	width: max-content;
	height: 3vw;
	padding: 8px 0 8px 17px;
	padding-right: 2.5em;
	position: absolute;
	display: block;
	border-radius: 30px;
	background-color: #E35A0B;
	text-align: left;
	color: #fff;
	font-size: 1.5vw;
}
section.event .bnr01{
	bottom: 77%;
    left: 94%;
}
section.event .bnr02{
	bottom: 100%;
    left: 5vw;
}
section.event .bnr03{
	bottom: -38%;
    left: 20%;
}
section.event .bnr04{
	bottom: 0%;
	left: -33%;
}

section.event .bnr::after {
	width: 1.4vw;
	height: 1.4vw;
	content: '';
	position: absolute;
	top: 50%;
	right: 1vw;
	transform: translateY(-50%);
	background-image: url("image/right-arrow-wh.png");
	background-size: contain;
	background-repeat: no-repeat;
}

@media screen and (max-width: 767.9px) {
	
	section.event .bnr {
		width: auto;
		height: auto;
		padding: 8px 2.5em 8px 17px;
		font-size: 5.7vw;
	}
	
	
	section.event .bnr::after {
		width: 7.2vw;
		height: 7.2vw;
		right: 2.5vw;
	}

	section.event .bnr01{
		bottom: -18vw;
        left: 3vw;
    }
	
	section.event .bnr02{
		bottom: -17vw;
		left: 5vw;
	}
	section.event .bnr03{
		bottom: -17vw;
		left: 4vw;
	}
	section.event .bnr04{
		bottom: -15vw;
		left: 10vw;
	}
}

/* ---------- ベース ---------- */
section.teacher .teacher-wrapper {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 4%;
  margin: 6% auto;
}

/* 1枚目は全幅 */
section.teacher .teacher-wrapper > .teacher-item:first-child {
  flex: 0 0 100%;
  margin-bottom: 50px;
}

/* 2枚目以降は3列（gap 4% が2つ入るので 100 - 8 を3等分） */
section.teacher .teacher-wrapper > .teacher-item:not(:first-child) {
  flex: 0 0 calc((100% - 8%) / 3);
}

/* 画像の安全策（横幅いっぱい・縦比率維持） */
section.teacher .teacher-item .teacher-img img,
section.teacher .message-item img,
section.teacher .message-item_sp img {
  display: block;
  width: 100%;
  height: auto;
}

/* SPは縦並び */
@media screen and (max-width: 767.9px) {
  section.teacher .teacher-wrapper {
    display: block;
  }
  section.teacher .teacher-item {
    width: 90%;
    margin: 0 auto 12%;
  }
}

/* ---------- タイトルバルーンの個別余白調整の直し ---------- */


/* 既存指定はそのまま活かす（必要箇所のみ再掲） */
section.teacher .teacher-item {
  position: relative;
  padding: 6% 0 0;
}
section.teacher .teacher-item p {
  position: absolute;
  top: 0;
  left: 0;
  background: url("image/speech_b04.png") center/contain no-repeat;
  font-size: 1.5vw;
  text-align: left;
  line-height: 1.3;
  padding: 10px;
  width: 10vw;
  height: 10vw;
  max-width: 200px;
  max-height: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 150px;
  max-height: 150px;
}
@media screen and (max-width: 767.9px) {
  section.teacher .teacher-item p { 
	width: 30vw;
    height: 30vw;
	font-size: 4.8vw;
   }
  section.teacher .teacher-item .teacher-img {
    width: 65%;
    margin: 18% auto 0;
  }
}
/* 以前の :nth-of-type(2/3) は .message-content も数えてしまうためズレます */
/* 近代ブラウザ対応（推奨）：`:nth-child(n of .teacher-item)` を使う */
@supports selector(:nth-child(2 of .teacher-item)) {
  section.teacher .teacher-wrapper > .teacher-item:nth-child(2 of .teacher-item) p { /* 2枚目のteacher */
    /* padding: 13% 7%; */
  }
}

/* フォールバック（古いブラウザ向け）：
   .teacher-item と .message-content が交互なら、
   2枚目=3番目の子、3枚目=5番目の子 になります */
@supports not selector(:nth-child(2 of .teacher-item)) {
  section.teacher .teacher-wrapper > .teacher-item:nth-child(3) p { /* 2枚目 */
    /* padding: 13% 7%; */
  }
}

/* モーダル(?) の位置づけ：中央固定であれば wrapper を基準にする */

section.teacher .message-content {
  position: fixed; 
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  display: none;
  z-index: 9999;
  cursor: pointer;
}
section.teacher .message-content img{
	height: auto;
	object-fit: contain;
}

.teacher-item--first{
	display: flex;
	gap: 5vw;
}
.teacher-item__image{
	flex: 0 0 calc((100% - 8%) / 3);
}
.teacher-item__content{
	text-align: left;
}
@media screen and (max-width: 767.9px) {
  	.teacher-item--first{
		flex-direction: column;
		gap: 30px;
	}
	.teacher-item__image{
		flex: 0 0 100%;
	}
	.teacher-item__content{
		padding-top: 0;
	}
}	
svg.swiper-navigation-icon {
    display: none;
}
.blogSec{
	text-align: center;
	background: #fff;
	border-radius: 24px;
	padding: 80px 50px 60px;
	width: 65%;
	margin: auto auto 90px;
}
.blogSec h2,
.blogSec .sub-title{
	text-align: center;
}
@media screen and (max-width: 767.9px){
	.blogSec{
		width: 90%;
		padding: 3% 5% 15%;
		margin: auto auto 50px;
	}
}
.blogSec .blog__lists{
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 30px;
	padding-top: 5%;
}
.blogSec .blog__lists img{
	aspect-ratio: 342/276;
	object-fit: cover;
	border-radius: 16px;
}
.blogSec .blog__lists .data{
	text-align: left;
}
.blogSec .blog__lists .ttl{
	display: -webkit-box;
  -webkit-line-clamp: 2; 
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: left;
  /* line-height: 1.6;  */
  /* height: calc(1.6em * 2);  */
}
@media screen and (max-width: 767.9px) {
	.blogSec .blog__lists{
		grid-template-columns: 1fr;
	}
	.blogSec .blog__content{
		max-width: 342px;
		margin: auto;
	}
	.blogSec .blog__lists img{
		max-width: 342px;
		width: 100%;
	}
	.blogSec .blog__lists .data{
		font-size: 12px;
	}
	.blogSec .blog__lists .ttl{
		font-size: 15px;
	}
}
.blogSec .btnBlock{
	margin-top: 60px;
}
.blogSec .btnBlock .btn{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 75%;
	max-width: 295px;
    font-size: 1.6vw;
    background-color: #FFC500;
    padding: 2% 0 2% 0;
	margin: auto;
	background: #FFC500;
	border-radius: 30px;
	color: #2E1717;
}
.blogSec .btnBlock .btn span::before{
	width: 22%;
    height: 2rem;
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    display: block;
    background: url(image/icon/right-arrow.svg) center / contain no-repeat;
}
@media screen and (max-width: 767.9px) {
	.blogSec .btnBlock{
	margin-top: 30px;
}
.blogSec .btnBlock .btn{
	max-width: 298px;
	height: 48px;
	font-size: 20px;
}
}
.fv-image{
	position: relative;
}
.present-banner{
	position: absolute;
	top: 2%;
	left: 1%;
	z-index: 9999;
}
.present-banner img{
	width: 35vw;
	max-width: 751px;
	object-fit: contain;
}


/* SPでPC版を非表示 */
@media (max-width: 767.9px) {

  .present-banner{
	position: fixed;
	top: auto;
	left: auto;
	bottom: 50px;
	width: 100%;
	max-width: 700px;
	}
	.present-banner img{
	width: 100%;
	max-width: 600px;
	object-fit: contain;
	margin: auto;
	}
}
.present-banner {
  transition: transform 0.3s ease, opacity 0.3s ease;
}

.present-banner.is-hide {
  opacity: 0;
  transform: translateX(-100%);
  pointer-events: none;
}
