@import url("https://fonts.googleapis.com/css2?family=Geologica:wght@400&display=swap");
.ske-lp {
  display: block;
  max-width: 1160px;
  margin-left: auto;
  margin-right: auto;
  background-color: #fff;
  position: relative;
}


.link-blank a:not(:has(img))[target="_blank"]::after {
	content: '\f35d'; 
	font-family: "Font Awesome 5 Free"!important;
	font-weight: bold; /*指定しないと表示されない*/
	margin-left: 0.5em;
	font-size: 1.3rem;
	color: #696969;
  }


.spIn {
	display: none;
}

.pcIn {
	display: inline;
}

@media screen and (max-width: 767px){
.spIn {
	display: inline;
}

.pcIn {
	display: none;
}
}


/*-------------------------------------------------------------------
	firstview　（mainVisual）
-------------------------------------------------------------------*/

.firstview {
	position: relative;  /* 疑似要素の配置基準を設定 */
	background:
	 /* linear-gradient(rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.5)),上に重ねる半透明のレイヤー */
	 url("../images/back_img_pc.png") no-repeat;
	background-position: center;
	background-size: cover;
	padding: 3%;
	align-items: center;
	text-align: center;
	font-size: 1.8rem;
	font-weight: 500;
}

@media screen and (max-width: 767px) {
	.firstview {
		background:
		 /* linear-gradient(rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.5)),上に重ねる半透明のレイヤー */
		 url("../images/back_img_sp.png") no-repeat;
		background-size: cover;
		height: 120%;
	}
}

/*-------------------------------------------------------------------
	白背景指定
-------------------------------------------------------------------*/

.main-contents {
	background: #FFF!important;
	padding-top: 4%!important;
}
@media screen and (max-width: 1024px) {
	.main-contents {
		padding-top: 0px!important;
	}
}
@media screen and (max-width: 767px) {
	.main-contents {
		padding-top: 2%!important;
	}
}


.firstview {
		background-color: #FFF!important;
	}



/*-------------------------------------------------------------------
	リュウベア配置
-------------------------------------------------------------------*/

/* deco-right　※PCのみ表示 */
.deco-right {
	position: absolute;
	max-width: 350px;
	height: auto;
	top: 80%;
	right: 0px;
}
@media (width: 768px) {
	.deco-right {
		width: 120px;
		top: 80%;
  }
}
@media (max-width: 767px) {
	.deco-right {
		display: none;
  }
}

/*-------------------------------------------------------------------
	pointWrap
-------------------------------------------------------------------*/

.pointWrap {
	position: relative;
	width: 100%;
	/* background-color: #172A88; */
	padding: 20px;
}

.sec01Title > img:first-child {
	position: absolute;
	width: 40%;
	margin-top: 0%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.sec01Title > img:nth-child(2) {
	 position: absolute;
	 width: 30%;
	 top: 200px;
	 left: 75%;
	 transform: translate(-50%, -50%);
	}

.contInner01 {
	margin-bottom: 50px;
}

.contInner01 img {
	margin-top: 70px;
	width: 40%;
	left: 15%;
	border-radius: 10px;
}

/* .contInner01 p {
	color: #fff;
	font-size: 2em;
	font-weight: 700;
	text-align: center;
	margin-bottom: 7%;
} */


.notesWrap_ttl img {
	width: 80%;
	margin-top: 3%;
	margin-bottom: -5%;
	left: 50%;
	transform: translate(-50%, -50%);
}


@media (max-width: 767px) {
	.pointWrap {
		margin-top: -8%;
	}
	.sec01Title > img:first-child {
		width: 80%;
		margin-top: -6%;
	}
	.sec01Title > img:nth-child(2) {
		width: 80%;
		margin-top: -25%;
		left: 50%;
		transform: translate(-50%, 0%);
	}
	  
	.contInner01 img {
		margin-top: 30%;
		width: 50%;
		border-radius: 5px;
		left: 50%;
		transform: translate(-50%, 0%);
	}
	.contInner01 p {
		font-size: 1.2em;
		font-weight: 500;
		margin-bottom: 10%;
	}

	.notesWrap_ttl img {
		width: 95%;
		margin-bottom: -10%;
	}
}

@media (max-width: 480px){
	.sec01Title > img:first-child {
		margin-top: -3%;
	}
	.sec01Title > img:nth-child(2) {
		width: 100%;
		margin-top: -45%;
	}

	.contInner01 img {
		margin-top: 35%;
		width: 70%;
	}
}

@media (max-width: 390px){
	.sec01Title > img:first-child {
		margin-top: -3%;
	}
	.sec01Title > img:nth-child(2) {
		width: 100%;
		margin-top: -55%;
	}

	.contInner01 img {
		margin-top: 35%;
		width: 75%;
	}
}

/*-------------------------------------------------------------------
　　CP
-------------------------------------------------------------------*/

.airconCP {
	position: relative;
	width: 100%;
	background-color: #e1fffe;
	padding: 20px;
}

.airconCP img {
	left: 50%;
	transform: translate(-50%, 0%);
}

.button-link {
	display: inline-block;
	color: #333;
	border: 0px;
	border-radius: 5px;
	transform: perspective(10px) rotateX(5deg) translateY(0) translateX(-50%);
	box-shadow: 0px 5px 5px rgba(0, 0, 0, 0.5);
	transition: box-shadow 0.1s ease-in-out, transform 0s ease-in-out;
	left: 50%;
	transform: translate(-50%, 0%);
  }
  
  .button-link:hover {
	transform: perspective(10px) rotateX(0deg) translateY(02px) translateX(-50%); /* 少し下に移動 */
	box-shadow: inset 0px 1px 2px rgba(0, 0, 0, 0.5);
  }
  
  .button-link img {
	display: block;
  }


.airconCP-deco {
	position: absolute;
	top: 40%;
	width: 90%;
	opacity: 0.5;
}

@media (max-width: 767px) {
	.airconCP-deco {
		display: none;
	}
}

/*-------------------------------------------------------------------
	規約部分
-------------------------------------------------------------------*/

.cp-kiyaku {
	width: 100%;
	background-color: #EDEEEA;
	background-size: cover;
	margin-top: -5%;
}

.contInner {
	max-width: 95%;
	margin: 0 auto;
}

.contInner2 {
	max-width: 90%;
	margin: 0 auto;
	margin-top: -5%;
}

h4 {
	font-size: 1.5em;
	font-weight: 700;
	box-shadow: 0 2px 0 currentColor; /* 下方向に影を作成 */
    padding-bottom: 2px; /* 隙間の調整 */
}
h4::before{
	content: '■';
	color: #1682e6;
	margin-right: 0.3rem;
}

@media screen and (max-width: 767px) {
	.cp-kiyaku {
		background-size: cover;
		margin-top: -10%;
	}	
}

/* ★★ 以下、表部分 ★★ */

/* =================================== */
/* ▼▼▼ スマホ用のスタイル ▼▼▼ */
/* =================================== */
/* スマホ用テーブルのコンテナ */
.mobile-table {
    width: 100%;
    max-width: 600px;
    margin: 20px auto;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

/* ヘッダー部分 */
.table-header-wrapper {
    background-color: #eaf2f8;
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
}

/* ボディ部分（スクロール領域） */
.table-body-wrapper {
    max-height: 300px;
    overflow-y: auto;
    border-bottom-left-radius: 8px;
    border-bottom-right-radius: 8px;
}

/* スマホ用テーブルの共通スタイル */
.mobile-table table {
    width: 100%;
    table-layout: fixed; 
}

.table-header-wrapper th {
    color: #2c5282;
    font-weight: 600;
    padding: 12px 15px;
	text-align: center;
}

.table-body-wrapper td {
    padding: 12px 15px;
    border-bottom: 1px solid #e2e8f0;
    background-color: #fff;
}
.table-body-wrapper tr:last-child td {
    border-bottom: none;
}
.table-body-wrapper tr:nth-child(even) td {
    background-color: #f9fafb;
}

/* スマホ用テーブルの列幅 */
.col-item { 
    width: 65%;
    text-align: left; 
}
.col-price { 
    width: 35%;
    text-align: right; 
    white-space: nowrap;
}


/* =================================== */
/* ▼▼▼ PC用のスタイル ▼▼▼ */
/* =================================== */

/* デフォルトではPC用テーブルを非表示に */
.desktop-table {
    display: none;
}

/* 画面幅が1024px以上の場合のスタイル */
@media (min-width: 1024px) {
    
    /* スマホ用テーブルを非表示に */
    .mobile-table {
        display: none;
    }

    /* PC用テーブルを表示し、flexで横並びに */
    .desktop-table {
        display: flex;
        gap: 20px;
        width: 100%;
        max-width: 1200px;
        margin: 0 auto;
    }

    .table-wrapper {
        flex: 1; /* 2つのテーブルが均等な幅になる */
        background-color: #ffffff;
        border-radius: 8px;
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
        overflow: hidden;
    }

    .desktop-table table {
        width: 100%;
        border-collapse: collapse;
    }

    .desktop-table th {
        background-color: #eaf2f8;
        color: #2c5282;
        font-weight: 600;
        padding: 12px;
        text-align: center;
    }

    .desktop-table td {
        padding: 10px;
        border-bottom: 1px solid #e2e8f0;
    }
    .desktop-table tbody tr:last-child td {
        border-bottom: none;
    }

    .desktop-table td:first-child { text-align: left; }
    .desktop-table td:last-child { text-align: right; font-weight: 500; white-space: nowrap; }
}

/*---------------------
 annotation内の表
-----------------------*/

.annotation-table {
    width: 100%;
    max-width: 330px;
    margin: 20px auto;
    border: 1px solid #a9a9a9;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

/* ヘッダー部分 */
.annotation-table-header-wrapper {
    background-color: #a9a9a9;
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
}

/* ボディ部分（スクロール領域） */
.annotation-table-body-wrapper {
    max-height: 250px;
    overflow-y: auto;
    border-bottom-left-radius: 8px;
    border-bottom-right-radius: 8px;
}

/* スマホ用テーブルの共通スタイル */
.annotation-table table {
    width: 100%;
    table-layout: fixed; 
}

.annotation-table-header-wrapper th {
    color: #fff;
    font-weight: 500;
	font-size: 1.4rem;
    padding: 15px;
	text-align: left;
}

.annotation-table-body-wrapper td {
    padding: 5px 15px;
    border-bottom: 1px solid #e2e8f0;
    background-color: #fff;
}
.annotation-table-body-wrapper tr:last-child td {
    border-bottom: none;
}
.annotation-table-body-wrapper tr:nth-child(even) td {
    background-color: #f5f5f5;
}

/* スマホ用テーブルの列幅 */
.annotation-col-item { 
    width: 55%;
	font-size: 1.2rem;
    text-align: left; 
}
.annotation-table-header-wrapper .annotation-col-item {
	text-align: center; 
}

.annotation-col-price { 
    width: 45%;
	font-size: 1.2rem;
    text-align: right; 
    white-space: nowrap;
}

@media (min-width: 1024px) {
	.annotation-table {
		max-width: 70%;
	}
	.annotation-table-header-wrapper .annotation-col-item { 
		width: 40%;
		text-align: center; 
	}
	.annotation-col-item {
		width: 40%;
		text-indent:2rem;
	}
	.annotation-table-header-wrapper .annotation-col-price, .annotation-col-price{ 
		width: 30%;
		text-align: center; 
	}
}


/*-------------------------------------------------------------------
　　規約スクロール部分
-------------------------------------------------------------------*/

.whiteArea {
	box-sizing: border-box;
	padding: 25px 40px;
	margin-bottom: 5%;
	border-radius: 10px;
	background: #fff;
}

.tateScroll {
	width: 100%;
	box-sizing: border-box;
	height: 420px;
	overflow-y: auto;
	padding-right: 20px;
}

.annotation-inner {
	padding-left: 2em;
	font-size: 1.4rem;
}

.mainIndTxt {
	text-indent: -2em;
	padding-left: 2em;
}
.eventImgText {
	font-size: 1.3em;
	font-weight: 700;
}

.dotList {
	position: relative;
	padding-left: 1em;
}

.dotList::before {
	content: "";
	display: block;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	position: absolute;
	top: 7px;
	left: 0;
	background: #000;
}

.noteList {
	position: relative;
	padding-left: 1em;
}

.noteList::before {
	content: "\025ce";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
}

.kiyakuList{
	position: relative;
	padding-left: 2.5em;
}
.kiyakuList::before {
	content: "※";
	display: block;
	position: absolute;
	top: 0;
	left: 1em;
}

.numberList {
	position: relative;
	padding-left: 1.4em;
	counter-increment: list-counter; /* カウンタ */
}
.numberList::before {
	content: counter(list-counter) ". ";
	display: inline-block;
	position: absolute;
	font-weight: bold;
	top: 0;
	left: 0;
}


@media screen and (max-width: 767px) {
.whiteArea {
	box-sizing: border-box;
	padding: 20px 5%;
	margin-bottom: 10%;
	background: #fff;
}

.tateScroll {
	padding-right: 10px;
}
}