@charset "utf-8";

:root {
	/* base */
	--cts-gutter: clamp(5.333333333333334vw, -2.212rem + 8.91vw, 3.3854166666666665vw);/*375-768*/
	--cts-width: 90.10416666666666vw;

	/* font */
	--dp-font-jp: "IBM Plex Sans JP", sans-serif;      
	/* IBM Plex Sans JP
	100-700
	*/

	/* color */
	--color-white-1: #FFFFFF;
	--color-yellow-1: #E4E841;
	--color-yellow-2: #C6AF75;
	--color-blue-1: #7CA1F0;
	--color-blue-2: #019FF9;
	--color-blue-3: #2C3DD9;
	--color-blue-4: #294AA5;
	--color-blue-5: #003795;
	--color-blue-6: #394252;
	--color-red-1: #BD4252;
	--color-black-1: #000000;
}

/* LP共通汎用
____________________*/
body {
	padding-right: 0 !important;
	overflow: visible !important;
}
#container a, #container a span {
    color: inherit;
    text-decoration: none;
}
figure {
	margin: 0;
	text-align: center;
}
img {
	image-rendering: -webkit-optimize-contrast;
}
.l-header {
    width: 100%;
    background: #fff;
    position: relative;
}
.c-breadcrumb--gray {
	display: flex;
	align-items: center;
}
.bnr_link_win11_wrap {
    margin: 0 auto;
}
.bnr_link_win11 img {
    transition: opacity 0.3s;
    width: 300px;
}
.bnr_link_win11 img:hover {
	opacity: 0.75;
}
.BreadcrumbList_wrap {
	background: #fff;
	position: relative;
    z-index: 2;
}
.footer-wrap {
    background: #fff;
    position: relative;
    z-index: 2;
}
@media screen and (max-width: 1280px) {
    .l-header {
        z-index: 10;
    }
}
@media screen and (min-width: 768px), print and (min-width: 768px) {
	.c-breadcrumb__list.u-pc-width,
	.bnr_link_win11_wrap.u-pc-width {
		padding-inline: 30px;
	}
	.bnr_link_win11_wrap.u-pc-width {
		width: auto;
	}
}
@media screen and (max-width: 1000px) {
	.c-breadcrumb--gray {
		display: inherit;
	}
	.bnr_link_win11_wrap {
		width: 100%;
		margin: 10px auto 0 !important;
		padding-block-end: 10px;
	}
	.bnr_link_win11 {
		width: 100%;
		margin-top: 0;
		text-align: center;
	}
}
.contents__wrap {
	width: 100%;
	background: var(--cts-color1);
	margin-inline: auto;
	font-size: var(--cts-font-size);
	font-family: var(--dp-font-jp);
	letter-spacing: 0.05em;
	color: var(--color-blue-6);
}
.contents__wrap img {
	max-width: 100%;
	vertical-align: bottom;
}
.pc {
	display: block !important;
}
.sp {
	display: none !important;
}
.flash:hover {
	animation-name: hover-flash;
	animation-duration: 1s;
	opacity: .85;
}
@keyframes hover-flash {
	0% {
		opacity: .3;
	}
	100% {
		opacity: .85;
	}
}

/* コンテンツ
____________________*/
::selection {
	color: var(--color-white-1);
	background-color: var(--color-blue-5);
}
.contents__wrap {
	/* margin-bottom: 100px; */
	background: var(--color-blue1);
	position: relative;
	z-index: 1;
}
.contents__wrap .lp-bg {
	width: 100vw;
	height: 100vh;
	position: fixed;
	top: 0;
	left: 0;
	background: url(../../gamepc/img/ibrahim/bg-lp-pc.webp) no-repeat left top /cover;
}
.contents__inner {
	width: 100%;
	max-width: var(--cts-width);
	margin-inline: auto;
	padding-inline: var(--cts-gutter);
	box-sizing: border-box;
	position: relative;
	/* overflow: hidden; */
}
.ttl-h2 {
	margin-inline: auto;
}
/* モーダル基本スタイル */
.modals {
	/* display: none; は削除 */
	position: fixed;
	z-index: 1000;
	top: 0; left: 0;
	width: 100%; height: 100%;
	background-color: rgba(0,0,0,0.9);
	
	/* ふわっとさせる設定 */
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.4s ease, visibility 0.4s ease;
	pointer-events: none; /* 非表示の時はクリックをスルーさせる */
}

/* 表示状態のクラス */
.modals.is-active {
	opacity: 1;
	visibility: visible;
	pointer-events: auto; /* 表示されたらクリックを有効にする */
}

/* 画像も少し遅れて浮き上がるようにするとおしゃれ */
.modals-content {
	margin: auto;
	display: block;
	max-width: 90%;
	max-height: 80%;
	position: relative;
	top: 50%;
	transform: translateY(-40%); /* 少し下げておく */
	transition: transform 0.4s ease;
}

.modals.is-active .modals-content {
  transform: translateY(-50%); /* 中央に戻る */
}
.modals-close {
	position: absolute;
	top: 20px;
	right: 35px;
	color: #fff;
	font-size: 2.083333333333333vw;
	font-family: var(--dp-font-jp);
	font-weight: bold;
	cursor: pointer;
}
.modals-close:hover {
    opacity: 0.7;
}
/* コンテンツを包む白い箱 */
.modals-content-wrapper {
    background: #fff;
    color: #333;
    padding: 2.083333333333333vw;
    width: 90%;
    max-width: 600px;
    margin: auto;
    position: relative;
    top: 50%;
    transform: translateY(-40%);
    transition: transform 0.4s ease;
    box-sizing: border-box;
}

#modals-html.is-active .modals-content-wrapper {
    transform: translateY(-50%);
}
/* モーダル内の Swiper 外枠 */
.modals .modalSwiper {
    width: 90%;            /* 画面に対しての幅（お好みで調整） */
    max-width: 1000px;     /* これが重要！画像の最大サイズに合わせて制限する */
    height: 80vh;
    margin: auto;
    position: relative;
    top: 50%;
    transform: translateY(-50%);

}

/* スライド内の画像 */
.modalSwiper .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: contain;   /* 画像の全体を表示 */
}

/* モーダル内のナビゲーションボタン */
.modals .swiper-button-prev,
.modals .swiper-button-next {
    color: #fff;
    /* 縦位置の調整 */
    top: 50%;
    transform: translateY(-50%);
    /* サイズを少し大きく（必要であれば） */
    width: 3vw;
    height: 3vw;
}

/* ボタンの位置を画像のすぐ横に寄せる */
.modals .swiper-button-prev {
    left: 0; /* 数値を大きくすると画像から離れ、小さくすると寄ります */
}

.modals .swiper-button-next {
    right: 0;
}

/* スマホなど画面が狭い時はボタンを内側に入れる */
@media (max-width: 768px) {
    .modals .swiper-button-prev {
        left: 10px;
    }
    .modals .swiper-button-next {
        right: 10px;
    }
}
/* 閉じるボタン（画面右上に固定） */
.modals-close-html {
	position: absolute;
	top: 20px;
	right: 35px;
	color: #fff;
	font-size: 40px;
	font-family: var(--dp-font-jp);
	font-weight: bold;
	cursor: pointer;
}

/* ホバー時に少し透明度を変えるとおしゃれです */
.modals-close-html:hover {
    opacity: 0.7;
}
.modals-ttl {
	color: var(--color-blue-4);
	font-size: 2.3438vw;
    font-weight: 600;
    line-height: 1.3;
	padding-bottom: 0.5208333333333333vw;
    border-bottom: 2px solid var(--color-blue-4);
}
.shop-list {
	display: flex;
	flex-direction: column;
	gap: 0.5208333333333333vw;
    margin-top: 1.3021vw;
}
.shop-list li {
	font-size: 1.1458vw;
    font-weight: 500;
    line-height: 1.7;
    letter-spacing: 0.05em;
}
.shop-note {
	font-size: 0.8333333333333334vw;
    font-weight: 500;
	line-height: 1.5;
	margin-top: 1.40625vw;
}
@media (max-width: 768px) {
.pc {
	display: none !important;
}
.sp {
	display: block !important;
}
.contents__wrap .lp-bg {
	width: 100vw;
	height: 100vh;
	position: fixed;
	top: 0;
	left: 0;
	background: url(../../gamepc/img/ibrahim/bg-lp-sp.webp) no-repeat left top /cover;
}
.modals-content-wrapper { 
	padding: 5.333333333333334vw;
}
.modals-close {
	font-size: 8.083333vw;
	right: 25px;
}
.modals-ttl {
	font-size: 4.533333333333333vw;
	padding-bottom: 3.466667vw;
    border-bottom: 1px solid var(--color-blue-4);
}
.shop-list {
	gap: 0.5208333333333333vw;
    margin-top: 1.3021vw;
}
.shop-list li {
	font-size: 3.933333vw;
    letter-spacing: 0.05em;
}
.shop-note {
	font-size: 2.933333vw;
	margin-top: 1.40625vw;
}
}
/* mv
____________________*/
.contents__wrap .contents--mv {
	background: url(../../gamepc/img/ibrahim/kv-bg-pc.webp) no-repeat left top/100%;
	width: 100%;
	position: relative;
	z-index: 1;
	overflow: hidden;
	aspect-ratio: 1920 / 1090;
}
.contents--mv .kv-logo {
	width: 20.833333333333336vw;
	position: absolute;
	z-index: 2;
	right: 2.34375vw;
	top: 1.8229166666666667vw;
}
.contents--mv .kv-ttl {
	width: 42.03125vw;
	right: 7.968749999999999vw;
	top: 7.968749999999999vw;
	position: absolute;
	z-index: 2;
}
.contents--mv .kv-bar {
	width: 58.177083333333336vw;
    position: absolute;
    left: -2.083333333333333vw;
    bottom: 8.854166666666668vw;
    z-index: 2;
}

.contents--mv .kv-bg {
	width: 100%;
	height: auto;
	position: relative;
	z-index: 1;
}
.contents--mv .kv-bg img {
	width: 100%;
	height: auto;
}
.kv-ttl, .kv-bar {
    opacity: 0;
}
@media (max-width: 768px) {
	.contents__wrap .contents--mv {
		background: url(../../gamepc/img/ibrahim/kv-bg-sp.webp) no-repeat left top/100%;
		aspect-ratio: 375 / 667;
	}
	.contents--mv .kv-logo {
		width: 120px;
		top: 10px;
		right: inherit;
		left: 15px;
	}
	.contents--mv .kv-ttl {
		width: 88vw;
		top: inherit;
		bottom: 24vw;
	}
	.contents--mv .kv-bar {
		width: 73.33333333333333vw;
		top: 74.66666666666667vw;
		right: -9.333333333333334vw;
		bottom: inherit;
		left: inherit;
	}
}
/* nav
____________________*/

/* 追従ボタン */
.menu-trigger {
	position: fixed;
	top: 0;
	right: 0;
	z-index: 1000;
	cursor: pointer;
	width: 7.291666666666667vw; /* 画像サイズに合わせて調整 */
	height: 7.291666666666667vw;
	background: var(--color-blue-1);
	opacity: 0; /* 初期は非表示 */
	visibility: hidden;
	transition: opacity 0.3s;
	box-sizing: border-box;
}

.menu-trigger.is-visible {
	opacity: 1;
	visibility: visible;
}

.menu-trigger img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 4.166666666666666vw;
	transition: opacity 0.3s;
}

.menu-trigger .img-active {
	opacity: 0;
}

/* アクティブ時の画像切り替え */
.menu-trigger.is-active .img-normal { opacity: 0; }
.menu-trigger.is-active .img-active { opacity: 1; }

/* メニューエリア */
/* メニュー展開エリア全体 */
.menu-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 999;
	display: none; 
	justify-content: flex-end; 
	align-items: stretch; /* 高さをいっぱいに広げる */
}
/* 黒い背景部分 */
.menu-overlay__bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.8);
	cursor: pointer;
}
/* 右側に表示されるコンテンツエリア */
.menu-content {
	position: relative;
	z-index: 1;
	width: 1200px; /* メニューの幅を適宜調整してください */
	height: 100%;
	padding: 5.208333333333334vw 7.291666666666667vw; /* 上下の余白を調整 */
	box-sizing: border-box;
	
	/* 背景画像の設定 */
	background-image: url(../../gamepc/img/ibrahim/bg-menu-pc.webp);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-end; 
}
.menu-list {
	list-style: none;
	padding: 0;
	margin: 0;
	text-align: right; /* テキストを右揃えに */
}
.menu-item {
	margin: 1.8229166666666667vw 0;
	opacity: 0;
	transform: translateX(-30px);
}
.menu-item a {
	display: inline-block;
	transition: transform 0.3s ease, color 0.3s ease;
}
.menu-item.menu-1 a {
	width: 10.214583vw;
}
.menu-item.menu-2 a {
	width: 21.145833333333332vw;
}
.menu-item.menu-3 a {
	width: 10.677083333333332vw;
}
.menu-item.menu-4 a {
	width: 25.572916666666668vw;
}
.menu-item.menu-5 a {
	width: 11.770833333333334vw;
}
.menu-item.menu-6 a {
	width: 10.885416666666666vw;
}
.menu-item a:hover {
	transform: scale(1.1);
}
@media (max-width: 768px) {
	.menu-trigger {
		width: 16.53333333333333vw;
		height: 16.53333333333333vw;
	}
	.menu-trigger img {
		width: 10.133333333333333vw;
	}
	.menu-content {
		width: 100%;
		padding: 16vw 12vw;
		background-image: url(../../gamepc/img/ibrahim/bg-menu-sp.webp);
		justify-content: end;
	}
	.menu-item {
		margin: 4vw 0;
		transform: translateX(-8vw);
	}
	.menu-item a {
		display: inline-block;
		transition: transform 0.3s ease, color 0.3s ease;
	}
	.menu-item.menu-1 a {
		width: 24.533333vw;
	}
	.menu-item.menu-2 a {
		width: 45.6vw;
	}
	.menu-item.menu-3 a {
		width: 24vw;
	}
	.menu-item.menu-4 a {
		width: 54.93333333333334vw;
	}
	.menu-item.menu-5 a {
		width: 29.86666666666667vw;
	}
	.menu-item.menu-6 a {
		width: 24.53333333333333vw;
	}
}
/* intro
____________________*/
.contents__wrap .contents--intro {
    width: 100%;
    padding-top: 31.25vw;
    padding-bottom: 9.375vw;
    position: relative;
    margin-top: -28.645833333333332vw;
    z-index: 3;
    overflow: hidden;
}
.contents__wrap .contents--intro::after {
    content: "";
    width: 127.49999999999999vw;
    height: 51.40625vw;
    background: url(../../gamepc/img/ibrahim/wave-pc.webp) no-repeat center center / 100%;
    display: block;
    position: absolute;
    top: 3.6458333333333335vw;
    left: -12.5vw;
    z-index: 3;
}
.contents__wrap .contents--intro .intro {
	position: relative;
	z-index: 5;
}
.intro-txt {
	font-size: 1.5625vw;
	font-weight: 700;
	line-height: 1.7;
	text-align: center;
}
.intro-txt-2 {
	font-size: 1.0416666666666665vw;
	font-weight: 700;
	text-align: center;
	line-height: 1.5;
	margin-top: 3.125vw;
}
@media (max-width: 768px) {
	.contents__wrap .contents--intro {
    padding-top: 28vw; /* 105px */
    padding-bottom: 20vw; /* 75px */
    margin-top: -26.666667vw; /* -100px */
}
.contents__wrap .contents--intro .intro {
    max-width: inherit;
}
.contents__wrap .contents--intro::after {
    width: 100%;
    height: 138.666667vw; /* 520px */
    background: url(../../gamepc/img/ibrahim/wave-sp.webp) no-repeat center center / 100%;
    top: -34.666667vw; /* -130px */
    left: 0;
}
.intro-txt {
    font-size: 3.733333vw; /* 14px */
}
.intro-txt-2 {
    font-size: 3.2vw; /* 12px */
    margin-top: 1em; /* 相対単位のため維持 */
    letter-spacing: 0;
}
}
/* line-up
____________________*/
.contents--line-up {
	padding-top: 5.208333333333334vw;
}
.line-up .ttl-h2 {
	width: 29.322916666666664vw;
	position: absolute;
	top: -3.125vw;
	left: 1.5625vw;
}
.line-up-flex {
	display: flex;
	gap: 3.90625vw;
}
.model-image {
    width: 28.281250000000004vw;
    position: relative;
    margin-top: 10.416666666666668vw;
}
.model-image img {
	position: sticky;
	top: 2.604166666666667vw;
}
/* タブのレイアウト（2列） */
.tab-wrap {
	width: 46.35416666666667vw;

}
.tab-menu {
	display: flex;
	justify-content: center;
	cursor: pointer;
	gap: 1.7708333333333333vw;
}

.tab-item {
	width: 20.833333333333336vw;
	position: relative;
}

/* 画像の重ね合わせ設定 */
.tab-item img {
	width: 100%;
	display: block;
	transition: opacity 0.4s ease; /* フェード速度 */
}

.tab-item .img-active {
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0; /* 通常は非表示 */
}

/* アクティブ時の画像切り替え */
.tab-item.active .img-normal { opacity: 0; }
.tab-item.active .img-active { opacity: 1; }
.tab-note {
	font-size: 0.8333333333333334vw;
	font-weight: 500;
	text-align: center;
	margin-top: 1.40625vw;
}
/* コンテンツのフェード設定 */
.tab-content-wrapper {
	margin-top: 1.0416666666666665vw;
}
.tab-content {
	display: none;
	opacity: 0;
}
.tab-content.active {
	display: block;
	animation: fadeIn 0.5s forwards;
}
@keyframes fadeIn {
	from { opacity: 0; }
	to { opacity: 1; }
}
.item-wrap {
	display: flex;
	flex-direction: column;
	gap: 1.0416666666666665vw;
}
.model-link {
	color: var(--color-white-1);
	background: var(--color-blue-4);
	padding: 1.3020833333333335vw 1.8229166666666667vw;
	display: flex;
	justify-content: space-between;
}
#content2 .model-link  {
	background: var(--color-red-1);
}
.item-inner-left {
	width: 33.489583333333336vw;
}
.catch-block {
	padding-bottom: 0.5208333333333333vw;
	border-bottom: 2px solid var(--color-white-1);
}
.catch {
	color: #E4E841;
	font-size: 1.7187500000000002vw;
	font-weight: 700;
	line-height: 1.5;
}
.model-name {
	font-size: 1.0416666666666665vw;
	font-weight: 700;
	line-height: 1.5;
	margin-top: 0.78125vw;
}
.model-spec {
	font-size: 0.8333333333333334vw;
	font-weight: 500;
	line-height: 1.7;
	margin-top: 0.5208333333333333vw;
}
.model-spec .slash {
	display: none;
}
.item-inner-right {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	gap: 2.083333333333333vw;
}
.link-btn-block {
	width: 100%;
}
.link-btn {
	width: 3.5416666666666665vw;
	height: 3.5416666666666665vw;
	margin-inline: auto;
	position: relative;
	z-index: 1;
}
.link-btn::after {
	content: "";
	width: 3.5416666666666665vw;
	height: 3.5416666666666665vw;
	border: 2px solid var(--color-white-1);
	transform: rotate(45deg);
	position: absolute;
	top: 0;
	left: 0;
}
.link-btn .arrow {
	width: 3.28125vw;
	height: 1.1979166666666667vw;
	background: url(../../gamepc/img/ibrahim/arrow-white.webp) no-repeat center center/contain;
	position: absolute;
	top: 50%;
	right: 0.177083vw;
	z-index: 2;
	transform: translateY(-50%);
	transition: transform 0.3s ease, right 0.3s ease;
}
.model-link:hover .arrow {
    right: -1.84375vw; 
}
.model-price {
	font-size: 1.25vw;
	font-weight: 700;
	line-height: 1;
}
.model-price .tax {
	font-size: 0.9375vw;
}
@media (max-width: 768px) {
	.contents--line-up {
    padding-top: 5.333333vw; /* 20px */
}
.line-up {
    max-width: inherit;
}
.line-up .ttl-h2 {
    width: 53.866667vw; /* 202px */
    position: relative;
    top: inherit;
    left: inherit;
}
.line-up-flex {
    gap: 1.333333vw; /* 5px */
    margin-top: 5.333333vw; /* 20px */
}
.model-image {
    width: 34.666667vw; /* 130px */
    margin-top: 1.333333vw; /* 5px */
}
.tab-wrap {
    width: 60.533333vw; /* 227px */
}
.tab-menu {
    gap: 1.333333vw; /* 5px */
    margin-top: 2.666667vw; /* 10px */
}
.tab-item {
    width: 46.933333vw; /* 176px */
}
.item-wrap {
    gap: 2.133333vw; /* 8px */
}
.model-link {
    flex-direction: column;
    padding: 3.466667vw; /* 13px */
}
.item-inner-left {
    width: 100%;
}
.catch-block {
    border-bottom: 1px solid var(--color-white-1); /* ボーダー維持 */
    padding-bottom: 3.466667vw; /* 13px */
}
.catch {
    font-size: 4.266667vw; /* 16px */
}
.model-name {
    font-size: 2.933333vw; /* 11px */
    margin-top: 2.666667vw; /* 10px */
}
.model-spec {
    font-size: 2.933333vw; /* 11px */
    font-weight: 400;
    letter-spacing: 0;
    margin-top: 2.666667vw; /* 10px */
}
.model-spec .slash {
    display: inline;
}
.item-inner-right {
    flex-direction: row-reverse;
    justify-content: space-between;
}
.link-btn-block {
    width: 10.666667vw; /* 40px */
}
.link-btn {
    width: 10.666667vw; /* 40px */
    height: 10.666667vw; /* 40px */
}
.link-btn::after {
    width: 7.733333vw; /* 29px */
    height: 7.733333vw; /* 29px */
}
.link-btn .arrow {
    width: 7.013333vw; /* 26.3px */
    height: 2.365333vw; /* 8.87px */
    top: 37%;
    right: 3.177083vw; /* 既にvwのため維持 */
}
.model-link:hover .arrow {
    right: -1.24375vw; /* 既にvwのため維持 */
}
.model-price {
    font-size: 4vw; /* 15px */
}
.model-price .tax {
    font-size: 2.666667vw; /* 10px */
}
.tab-note {
    font-size: 2.933333vw; /* 11px */
    margin-top: 6.666667vw; /* 25px */
}
}
/* special-design
____________________*/
.contents--special-design {
	padding-top: 14.0625vw;
	position: relative;
	z-index: 2;
}
.special-design-block {
	box-sizing: border-box;
	background: url(../../gamepc/img/ibrahim/bg-special-design-pc.webp) repeat-y center center/cover;
	padding: 7.552083333333333vw 15.625vw 10.416666666666668vw;
	position: relative;
}
.special-design-block::before,
.special-design-block::after {
	content: "";
	width: 46.875vw;
	height: 62.5vw;
	background: var(--color-yellow-2);
	position: absolute;
	z-index: -1;
}
.special-design-block::before {
	top: -1.0416666666666665vw;
	left: -1.0416666666666665vw;
}
.special-design-block::after {
	bottom: -1.0416666666666665vw;
	right: -1.0416666666666665vw;
}
.special-design .ttl-h2 {
	width: 27.65625vw;
}
.special-design-block .special-block {
	display: flex;
	flex-direction: row-reverse;
	justify-content: center;
	align-items: center;
}
.special-design-block .special-block:nth-of-type(even) {
	flex-direction: row;
}
.special-design-block .special-block:nth-of-type(1) {
	gap: 5.885416666666667vw;
}
.special-design-block .special-block:nth-of-type(2) {
	gap: 3.125vw;
	margin-top: 6.770833333333333vw;
	position: relative;
	z-index: 0;
}
.special-design-block .special-block:nth-of-type(2)::after {
	content: "";
    width: 61%;
    height: 100%;
	background: var(--color-blue-2);
	position: absolute;
    left: -15.625vw;
    bottom: 3.3854166666666665vw;
    z-index: -1;
}
.special-design-block .special-block:nth-of-type(3) {
	gap: 8.59375vw;
	margin-top: 12.760416666666666vw;
	align-items: flex-start;
	position: relative;
	z-index: 0;
}
.special-design-block .special-block:nth-of-type(3)::after {
	content: "";
	width: 100%;
	height: 77%;
	background: var(--color-blue-2);
	position: absolute;
	left: 100px;
    bottom: -2.864583333333333vw;
    z-index: -1;
}
.special-design-block .special-block:nth-of-type(1) .image-block {
	position: relative;
	z-index: 0;
}
.special-design-block .special-block:nth-of-type(1) .image-block::after {
	content: "";
	width: 104%;
	height: 50%;
	background: var(--color-blue-2);
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: -1;
}
.txt-block {
	flex: none;
}
.special-design .ttl-h3 {
	color: var(--color-yellow-1);
	font-size: 2.34375vw;
	font-weight: 600;
	line-height: 1.4;
}
.line-adjustment {
	position: relative;
	top: -2.083333333333333vw;
}
.special-design .ttl-h3 .emphasis {
	color: var(--color-blue-5);
	font-size: 4.53125vw;
	font-weight: 600;
	margin-right: 1.0416666666666665vw;
	position: relative;
    z-index: 0;
    display: inline-block;
}
.special-design .ttl-h3 .emphasis.mr30 {
	margin-left: 1.5625vw;
}
.special-design .ttl-h3 .emphasis.mlr50 {
	margin-inline: 2.604166666666667vw;
}
.special-design .ttl-h3 .emphasis::after {
	content: "";
	width: 5.729166666666666vw;
	height: 5.729166666666666vw;
	display: block;
	background: var(--color-white-1);
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%) rotate(15deg);
	z-index: -1;
}
.special-design .special-block:nth-of-type(1) .ttl-h3 {
	text-align: right;
}
.special-design .txt-normal {
	color: var(--color-white-1);
	font-size: 1.1458333333333333vw;
	line-height: 1.7;
}
.special-design .special-block:nth-of-type(1) .txt-normal {
	text-align: right;
	margin-top: 0;
}
.special-design .special-block:nth-of-type(2) .txt-normal {
	margin-top: 1.5625vw;
}
.special-design .special-block:nth-of-type(3) .txt-normal {
	margin-top: 3.125vw;
}
/* Swiper基本サイズ */
.swiper {
	width: 100%;
	max-width: 32.604166666666664vw;
	height: 32.604166666666664vw;
}

.swiper-slide {
	position: relative;
	cursor: pointer;
}

.swiper-slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.swiper-horizontal>.swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction {
	bottom: var(--swiper-pagination-bottom, 0);
}
/* 中央の「◯の中に×」アイコン */
.plus-icon {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background: url(../../gamepc/img/ibrahim/icon-enlarge.webp) no-repeat center center /contain;
	width: 5.46875vw;
	height: 5.46875vw;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0.8;
	transition: transform 0.3s ease, opacity 0.3s ease;
}
.modals-open:hover .plus-icon {
    /* 中央配置を維持しながら1.2倍に拡大 */
    transform: translate(-50%, -50%) scale(1.2);
    opacity: 0.8; /* お好みで不透明度を上げる */
}
/* ひし形のページネーション */
.swiper-pagination-bullet {
	width: 0.625vw !important;
	height: 0.625vw !important;
	background: transparent !important;
	border: 2px solid var(--color-yellow-2) !important;
	border-radius: 0 !important; /* 丸みを消す */
	transform: rotate(45deg);
	opacity: 1 !important;
	margin: 0 0.5208333333333333vw !important;
}

/* アクティブ時の背景付与 */
.swiper-pagination-bullet-active {
	background: var(--color-yellow-2) !important;
}
.swiper-button-next, .swiper-button-prev {
	color: var(--color-white-1);
	opacity: 0.8;
}
.swiper-button-next, .swiper-button-prev {
	width: 2.3958333333333335vw;
	height: 4.791666666666667vw;
	top: var(--swiper-navigation-top-offset, 45%);
}
.swiper-button-next:after, .swiper-button-prev:after {
	font-size: 4.6875vw;
}
/* スイッチ全体 */
.switch-wrap {
	margin-top: 1.8229166666666667vw;
	display: flex;
	align-items: center;
	gap: 1.5625vw;
}
.led-note {
	color: var(--color-white-1);
	font-size: 0.9375vw;
	font-weight: 500;
	line-height: 1;
}
.switch {
	position: relative;
	display: inline-block;
	width: 4.322916666666667vw;
	height: 1.5625vw;
}
.txt-switch {
	color: var(--color-white1);
	font-size: 0.625vw;
	line-height: 1;
	letter-spacing: 0.1em;
}
/* inputは非表示 */
.switch input {
	opacity: 0;
	width: 0;
	height: 0;
}
/* スイッチの背景部分 */
.switch-btn {
	position: absolute;
	cursor: pointer;
	top: 0; left: 0; right: 0; bottom: 0;
	background-color: var(--color-blue-6);
	transition: 0.4s ease;
	border-radius: 9999px;
	border: 1px solid var(--color-white-1);
}

/* 丸いノブ */
.switch-btn:before {
	position: absolute;
	content: "";
	height: 0.9896vw; 
	width: 0.9896vw;
	right: 0.2083vw;  /* 初期は右（OFF） */
	bottom: 0.2083vw;
	background-color: white;
	transition: 0.4s ease;
	border-radius: 50%;
}

/* ON のとき（左へ移動） */
.switch input:checked + .switch-btn {
	background-color: var(--color-blue-3);
}
.switch input:checked + .switch-btn:before {
	transform: translateX(-2.7604vw);
}
.water-cooled-head {
	width: 20.677083333333332vw;
}
.led {
	width: 20.052083333333336vw;
}
@media (max-width: 768px) {
	.contents--special-design {
    padding-top: 26.666667vw; /* 100px */
}
	.special-design {
		max-width: inherit;
	}
	.special-design-block {
		padding: 16vw 10.666667vw 26.666667vw; /* 60px 40px 100px */
		background: url(../../gamepc/img/ibrahim/bg-special-design-sp.webp) repeat-y center center/cover;
	}
	.special-design-block::before, .special-design-block::after {
		width: 80vw; /* 300px */
		height: 234.133333vw; /* 878px */
	}
	.special-design-block::before {
		top: -2.933333vw; /* -11px */
		left: -2.933333vw; /* -11px */
	}
	.special-design-block::after {
		bottom: -2.933333vw; /* -11px */
		right: -2.933333vw; /* -11px */
	}
	.special-design .ttl-h2 {
		width: 50.666667vw; /* 190px */
	}
	.special-design-block .special-block {
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}
	.special-design-block .special-block:nth-of-type(even) {
		flex-direction: column;
	}
	.special-design-block .special-block:nth-of-type(1) {
		gap: 5.125vw;
	}
	.special-design-block .special-block:nth-of-type(1) .image-block::after {
		content: "";
		width: 100%;
		height: 37%;
		top: 52%;
		left: 51.8%;
		transform: translate(-50%, -50%);
		z-index: -1;
	}
	.special-design-block .special-block:nth-of-type(2) {
		gap: 5.125vw;
		margin-top: 22.770833vw;
	}
	.special-design-block .special-block:nth-of-type(2)::after {
		width: 71%;
		height: 60%;
		left: -7.625vw;
		top: -13.333333vw; /* -50px */
		bottom: inherit;
	}
	.special-design-block .special-block:nth-of-type(2) .image-block {
		margin-left: auto;
	}
	.special-design-block .special-block:nth-of-type(3) {
		align-items: center;
		margin-top: 21.760417vw;
	}
	.special-design-block .special-block:nth-of-type(3)::after {
		content: "";
		width: 62%;
		height: 115%;
		left: -7.625vw;
		bottom: -7.864583vw;
		z-index: -1;
	}
	.special-design .ttl-h3 {
		font-size: 5.066667vw; /* 19px */
	}
	.special-design .ttl-h3 .emphasis {
		font-size: 9.866667vw; /* 37px */
	}
	.special-design .ttl-h3 .emphasis::after {
		width: 11.729167vw;
		height: 11.729167vw;
		top: 44%;
	}
	.special-design .ttl-h3 .emphasis.mr30 {
		margin-left: 2.5625vw;
		margin-right: 2.5625vw;
	}
	.special-design .ttl-h3 .emphasis.mlr50 {
		margin-inline: 4.604167vw;
	}
	.line-adjustment {
		top: -5.083333vw;
	}
	.special-design .txt-normal {
		font-size: 2.933333vw; /* 11px */
	}
	.special-design .special-block:nth-of-type(3) .txt-normal {
		text-align: right;
	}

	/* swiper */
	.swiper {
		width: 100%;
		max-width: 86.133333vw; /* 323px */
		height: 96vw; /* 360px */
	}
	.swiper-slide {
		display: flex;
		justify-content: center;
	}
	.swiper-slide img {
		width: 90%;
		height: 90%;
	}
	.swiper-pagination-bullet {
		width: 2.666667vw !important; /* 10px */
		height: 2.666667vw !important; /* 10px */
		margin: 0 1.333333vw !important; /* 5px */
	}
	.swiper-button-next, .swiper-button-prev {
		width: 5.333333vw; /* 20px */
		height: 13.333333vw; /* 50px */
		top: var(--swiper-navigation-top-offset, 51%);
	}
	.swiper-button-next:after, .swiper-button-prev:after {
		font-size: 13.6875vw;
	}
	.plus-icon {
		width: 13.333333vw; /* 50px */
		height: 13.333333vw; /* 50px */
		top: 52%;
	}
	/* /swiper */

	.water-cooled-head {
		width: 48vw; /* 180px */
	}
	.led {
		width: 49.6vw; /* 186px */
	}
	.switch-wrap {
		margin-top: 6.666667vw; /* 25px */
		gap: 3.466667vw; /* 13px */
	}
	.led-note {
		font-size: 3.466667vw; /* 13px */
		font-weight: 400;
	}
	.switch {
		width: 13.333333vw; /* 50px */
		height: 4.8vw; /* 18px */
	}
	.switch-btn:before {
		width: 2.933333vw; /* 11px */
		height: 2.933333vw; /* 11px */
		right: 0.933333vw; /* 3.5px */
		bottom: 0.666667vw; /* 2.5px */
	}
	.switch input:checked + .switch-btn:before {
		transform: translateX(-8vw); /* -30px */
	}
}
/* bonus
____________________*/
.contents--bonus {
	background: var(--color-blue-6);
	padding-top: 11.979166666666668vw;
	padding-bottom: 9.895833333333332vw;
	margin-top: 9.895833333333332vw;
	position: relative;
	z-index: 1;
	overflow: hidden;
}
.contents--bonus::before,
.contents--bonus::after {
	content: "";
	width: 100%;
	height: 2.2917vw;
	background: url(../../gamepc/img/ibrahim/deco.webp) repeat-x center center /contain;
	position: absolute;
	left: 0;
	z-index: 2;
}
.contents--bonus::before {
	top: 0;
}
.contents--bonus::after {
	bottom: 0;
}
.contents--bonus .deco {
	position: absolute;
	z-index: 2;
}
.contents--bonus .deco.pattern-1 {
	width: 153.69791666666666vw;
    top: 0px;
    left: -30.208333333333332vw;
}
.contents--bonus .deco.pattern-2 {
    width: 43.541666666666664vw;
    top: 89.0625vw;
    left: -12.5vw;
}
.contents--bonus .deco.pattern-3 {
	width: 110.31249999999999vw;
    top: 92.1875vw;
    right: -22.395833333333336vw;
}
.contents--bonus .deco.pattern-4 {
    width: 51.87500000000001vw;
    bottom: -6.770833333333333vw;
    right: -25vw;
}
.bonus {
	color: var(--color-white-1);
	position: relative;
	z-index: 3;
}
.bonus .ttl-h2 {
	width: 28.125vw;
}
.bonus-contents-block {
	width: 67.70833333333334vw;
	margin: 9.114583333333332vw auto 0;
	display: flex;
	flex-direction: column;
	gap: 8.333333333333332vw;
}
.bonus-contents-block .bonus-block {
	width: fit-content;
	margin-inline: auto;
}
.bonus-contents-block .bonus-block .bonus-inner-flex {
	display: flex;
	align-items: flex-end;
	gap: 2.8646vw;
}
.bonus-contents-block .bonus-block:nth-of-type(even) .bonus-inner-flex {
	flex-direction: row-reverse;
}
.bonus-contents-block .bonus-block:nth-of-type(1) .number {
	width: 15.520833333333334vw;
}
.bonus-contents-block .bonus-block:nth-of-type(2) .number {
	width: 17.760416666666668vw;
}
.bonus-contents-block .bonus-block:nth-of-type(3) .number {
	width: 16.927083333333336vw;
}
.bonus-contents-block .bonus-block:nth-of-type(4) .number {
	width: 19.322916666666668vw;
}
.bonus-contents-block .bonus-block .ttl-h3 {
	color: var(--color-yellow-1);
	font-size: 2.34375vw;
	font-weight: 600;
	line-height: 1.4;
}
.bonus-contents-block .bonus-block:nth-of-type(even) .ttl-h3 {
	text-align: right;
}
.bonus-contents-block .bonus-block .txt-normal {
	font-size: 1.1458vw;
	line-height: 1.8;
	margin-top: 1em;
}
.bonus-contents-block .bonus-block:nth-of-type(even)  .txt-normal {
	text-align: right;
}
.bonus-item {
	margin-top: 3.125vw;
}
.bonus-contents-block .bonus-block:nth-of-type(1) .bonus-item {
	margin-left: 18.4375vw;
}
.bonus-note {
	font-size: 1.0417vw;
	line-height: 1.9;
	margin-top: 1.5625vw;
}
/* mp3player */
.player {
	color: var(--color-blue-6);
	width: 23.28125vw;
	display: flex;
	align-items: center;
	gap: 0.5208333333333333vw;
	background: #F1F3F4;
	padding: 0.5208vw 1.0417vw;
	margin: 0;
	border-radius: 9999px;
	box-sizing: border-box;
	flex: none;
	position: relative;
}
.player button {
	font-family:"Noto Sans JP", sans-serif;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 0;
	border: none;
	background: none;
	font-size: 1.25vw;
	cursor: pointer;
}
.player .playPauseBtn {
	font-size: 13px;
	line-height: 1;
	width: 1.5625vw;
	height: 1.5625vw;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 50%;
	flex: none;
}
.player .playPauseBtn:hover {
	background: #e0e0e0;
}
.player input[type="range"] {
	width: 100%;
	height: 1px;
	appearance: auto;
	background: inherit;
	accent-color: #484848;
}
.player input[type="range"]::-webkit-slider-thumb {
	width: 0.4167vw;
	height: 0.4167vw;
}
.player .currentTime, .duration {
	font-size: 0.7292vw;
}
.player .volumeIcon {
	width: 1.0417vw;
}
.wallpaper-wrap {
	display: flex;
	justify-content: flex-end;
	gap: 1.9792vw;
}
.wallpaper {
	width: 28.645833333333332vw;
	cursor: pointer;
}
.poster-wrap {
	display: flex;
	justify-content: flex-start;
	gap: 2.1875vw;
}
.poster {
	width: 25.364583333333336vw;
	cursor: pointer;
	position: relative;
}
.poster img {
	position: relative;
}
.poster::after {
	content: "";
	width: calc(100% - 1.6667vw);
	height: calc(100% - 1.6667vw);
	background: var(--color-white-1);
	position: absolute;
    top: 1.1979vw;
    left: 1.1979vw;
	z-index: -1;
}
.poster figcaption {
    font-size: 0.8333vw;
    position: absolute;
    left: 1.3021vw;
    bottom: -1.0417vw;
    z-index: 3;
}
.shipping-box {
	width: 33.697916666666664vw;
	margin-left: auto;
}
@media (max-width: 768px) {
	.contents--bonus {
		margin-top: 18.666666666666668vw;
		padding-top: 18.666666666666668vw;
		padding-bottom: 21.333333333333336vw;
	}	
	.contents--bonus .deco.pattern-1 {
		width: 423.697917vw;
		top: -57vw;
		left: -75.208333vw;
	}
	.contents--bonus .deco.pattern-2 {
		width: 78.541667vw;
		top: 274.0625vw;
		left: -21.5vw;
	}
	.contents--bonus .deco.pattern-3 {
		width: 200.3125vw;
		top: 332.1875vw;
		right: -116.395833vw;
	}
	.contents--bonus .deco.pattern-4 {
		display: none;
	}
	.bonus {
		max-width: inherit;
	}
	.contents--bonus::before, .contents--bonus::after {
		background: url(../../gamepc/img/ibrahim/deco.webp) repeat-x center center / cover;
		height: 4.266666666666667vw;
	}
	.bonus .ttl-h2 {
		width: 51.46666666666667vw;
	}
	.bonus-contents-block {
		width: 100%;
		margin-top: 16vw;
		gap: 16vw;
	}
	.bonus-contents-block .bonus-block .bonus-inner-flex {
		justify-content: center;
	}
	.bonus-contents-block .bonus-block:nth-of-type(1) .number {
		width: 25.866666666666667vw;
	}
	.bonus-contents-block .bonus-block:nth-of-type(2) .number {
		width: 29.333333333333332vw;
	}
	.bonus-contents-block .bonus-block:nth-of-type(3) .number {
		width: 28.000000000000004vw;
	}
	.bonus-contents-block .bonus-block:nth-of-type(4) .number {
		width: 32vw;
	}
	.bonus-contents-block .bonus-block .ttl-h3 {
		font-size: 5.066666666666666vw;
	}
	.bonus-contents-block .bonus-block .txt-normal {
		font-size: 2.933333333333333vw;
	}
	.bonus-contents-block .bonus-block:nth-of-type(1)  .txt-normal {
		margin-top: 9.333333333333334vw;
	}
	.bonus-contents-block .bonus-block:nth-of-type(2) .txt-normal {
		text-align: left;
		margin-top: 9.333333333333334vw;
	}
	.bonus-contents-block .bonus-block:nth-of-type(3) .txt-normal {
		text-align: center;
		margin-top: 9.333333333333334vw;
	}
	.bonus-contents-block .bonus-block:nth-of-type(4) .txt-normal {
		text-align: center;
		margin-top: 9.333333333333334vw;
	}
	.bonus-note {
		font-size: 2.933333333333333vw;
		margin-top: 8vw;
	}
	.player {
		width: 73.33333333333333vw;
		gap: 2.1333333333333333vw;
		padding: 2.5208vw 4.0417vw;
		margin-inline: auto;
	}
	.player .playPauseBtn {
        width: 6.666666666666667vw;
        height: 6.666666666666667vw;
	}
	.player .currentTime, .duration {
		font-size: 3.4666666666666663vw;
	}
	.player .volumeIcon {
		width: 5.066666666666666vw;
	}
	.bonus-contents-block .bonus-block:nth-of-type(1) .bonus-item {
		margin-top: 6.666666666666667vw;
		margin-left: 0;
		letter-spacing: 0;
	}
	.wallpaper-wrap {
		flex-direction: column;
		gap: 4vw;
	}
	.wallpaper {
		width: 77.86666666666666vw;
	}
	.poster-wrap {
		flex-direction: column;
	}
	.poster {
		width: 70.39999999999999vw;
		gap: 4.8vw;
	}
	.poster::after {
		width: calc(100% - 4vw);
        height: calc(100% - 4vw);
        top: 2.666666666666667vw;
        left: 2.666666666666667vw;
	}
	.poster figcaption {
		font-size: 2.933333333333333vw;
		left: -3.6979vw;
		bottom: 20.9583vw;
		writing-mode: vertical-rl;
	}
	.shipping-box {
		width: 67.73333333333333vw;
		margin: 4.266666666666667vw auto 0;
	}
}
/* special-contents
____________________*/
.contents--special-contents {
	padding-top: 10.4167vw;
	padding-bottom: 14.8438vw;
	position: relative;
	z-index: 2;
	overflow: hidden;
}
.special-contents .ttl-h2 {
	width: 35.9375vw;
	position: relative;
	z-index: 3;
}
.special-contents-block {
	width: 62.81250000000001vw;
	margin: 5.729166666666666vw auto 0;
	display: flex;
	flex-direction: column;
	gap: 1.6666666666666667vw;
	position: relative;
	z-index: 1;
}
.special-contents-block::after {
	content: "";
    width: 125%;
    height: 125%;
	background:var(--color-blue-1);
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%) rotate(-10deg);
	z-index: -1;
}
.special-contents-block .special-block {
	color: var(--color-blue-4);
	background: var(--color-white-1);
	padding: 3.3854166666666665vw 3.90625vw;
	box-sizing: border-box;
}
.special-contents-block .special-block .special-block-inner-flex {
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	gap: 3.3854166666666665vw;
}
.special-contents-block .special-block .txt-block {
	width: 31.25vw;
	display: flex;
	flex-direction: column;
}
.special-contents .ttl-h3 {
	font-size: 2.3438vw;
	font-weight: 600;
	line-height: 1.3;
}
.special-contents .txt-normal {
	font-size: 1.1458vw;
	font-weight: 500;
	line-height: 1.7;
	letter-spacing: 0.05em;
	margin-top: 1.3021vw;
}
.special-contents .txt-normal:nth-of-type(2) {
	margin-top: 1.8229vw;
}
.logo-nijifes {
	width: 20.833333333333336vw;
}
.btn-link {
	font-size: 1.1458vw;
	font-weight: 500;
	line-height: 1;
	padding-block: 1.9271vw;
	width: 31.25vw;
	border: 2px solid var(--color-blue-4);
	margin: 2.8646vw auto 0;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}
.btn-link .arrow {
	width: 4.1667vw;
	height: 4.1667vw;
	position: absolute;
	top: 50%;
	right: 1.5625vw;
	transform: translateY(-50%);
}
.btn-link .arrow::before,
.btn-link .arrow::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
}
.btn-link .arrow::before {
	width: 3.2813vw;
	height: 1.0938vw;
	background: url(../../gamepc/img/ibrahim/arrow-blue.webp) no-repeat center center/contain;
	transform: translate(-50%,-50%);
	transition: transform 0.3s ease;
}
.btn-link:hover .arrow::before {
    transform: translate(-10%, -50%);
}
.btn-link .arrow::after {
	content: "";
	width: 2.9167vw;
	height: 2.9167vw;
	border: 2px solid var(--color-blue-4);
	transform: translate(-50%,-50%) rotate(45deg);
}
.mt-auto {
	margin-top: auto;
}
@media (max-width: 768px) {
	.contents--special-contents {
		padding-top: 16vw;
		padding-bottom: 8vw;
	}
	.special-contents-block::after {
		width: 128%;
		height: 104%;
		transform: translate(-50%, -50%) rotate(-2.5deg);
	}
	.special-contents {
		padding-inline: 0;
	}
	.special-contents .ttl-h2 {
		width: 65.86666666666666vw;
	}
	.special-contents-block {
		width: 85.33333333333334vw;
		margin-top: 8vw;
		gap: 4vw;
	}
	.special-contents-block .special-block {
		padding: 5.333333333333334vw;
	}
	.special-contents-block .special-block .special-block-inner-flex {
		flex-direction: column;
	}
	.special-contents-block .special-block .txt-block {
		width: 100%;
	}
	.special-contents .ttl-h3 {
		font-size: 4.533333333333333vw;
	}
	.special-contents .txt-normal {
		font-size: 2.933333333333333vw;
		margin-top: 2.666666666666667vw;
	}
	.logo-nijifes {
		width: 58.13333333333334vw;
		margin-inline: auto;
	}
	.panel {
		width: 50.66666666666667vw;
		margin-inline: auto;
	}
	.btn-link {
		font-size: 2.933333333333333vw;
		width: 74.66666666666667vw;
		justify-content: flex-start;
		padding: 5.866666666666666vw;
		margin-top: 2.666666666666667vw;
	}
	.btn-link .arrow {
		width: 10.666666666666668vw;
		height: 10.666666666666668vw;
		right: 4.5625vw;
	}
	.btn-link .arrow::before {
		width: 7.733333333333333vw;
		height: 3.4666666666666663vw;
	}
	.btn-link .arrow::after {
		width: 7.733333333333333vw;
		height: 7.733333333333333vw;
		border-width: 1px;
	}
	.btn-link:hover .arrow::before {
		transform: translate(-1%, -50%);
	}
}
/* gallery
____________________*/
.contents--gallery {
	padding-top: 6.25vw;
	position: relative;
	z-index: 3;
}
.gallery .ttl-h2 {
	width: 25.760417vw;
}
.movie-box {
	width: 100%;
	max-width: 41.66666666666667vw;
	aspect-ratio: 16 / 9;
	margin: 3.125vw auto 0;
}
.movie-box iframe {
	width: 100%;
	height: 100%;
}
@media (max-width: 768px) {
	.contents--gallery {
		padding-top: 18.666666666666668vw;
	}
	.gallery {
		max-width: inherit;
	}
	.gallery .ttl-h2 {
		width: 60.5333vw;
	}
	.movie-box {
		max-width: 85.33333333333334vw;
	}
}
/* profile
____________________*/
.contents--profile {
	padding-top: 14.0625vw;
	padding-bottom: 6.25vw;
	margin-top: 14.0625vw;
	background: #7CA1F0;
	background: linear-gradient(180deg, rgba(124, 161, 240, 0) 0%, rgba(124, 161, 240, 1) 15%, rgba(124, 161, 240, 1) 100%);
	position: relative;
	z-index: 2;
}
.profile {
	color: var(--color-black-1);
	display: flex;
	flex-direction: column;
	align-items: center;
}
.profile .logo-ibrahim {
	width: 12.447916666666666vw;
	will-change: transform, opacity;
}
.profile .ttl-h2 {
	width: 5.572916666666667vw;
	margin-top: 6.25vw;
}
.profile .txt-normal {
	font-size: 1.1979166666666667vw;
	font-weight: 600;
	line-height: 2.2;
	text-align: center;
	margin-top: 1.3020833333333335vw;
}
.sns-list {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1.0417vw;
	margin-top: 5.2083vw;
}
.sns-list-item a {
	width: 4.4271vw;
	display: block;
	transition: transform 0.3s ease;
}
.sns-list-item a:hover {
    transform: scale(1.15);
}
.lp-copy {
	font-size: 0.6771vw;
	margin-top: 4.6875vw;
}
@media (max-width: 768px) {
	.contents--profile {
		margin-top: 22.6667vw;
		padding-top: 40.0000vw;
		padding-bottom: 10.666666666666668vw;
	}
	.profile .logo-ibrahim {
		width: 40.53333333333333vw;
	}
	.profile .ttl-h2 {
		width: 22.133333333333333vw;
		margin-top: 13.333333333333334vw;
	}
	.profile .txt-normal {
		font-size: 2.933333333333333vw;
		margin-top: 6.666666666666667vw;
	}
	.sns-list {
		gap: 2.666666666666667vw;
		margin-top: 6.666666666666667vw;
	}
	.sns-list-item a {
		width: 11.200000000000001vw;
	}
	.lp-copy {
		font-size: 2.666666666666667vw;
		margin-top: 8vw;
	}
}