a {
	cursor: pointer;
}

a[href=""],
a:not([href]) {
	opacity: 0.3;
	filter: grayscale(100%);
	-webkit-pointer-events: none;
	pointer-events: none;
}

.disabled {
	opacity: 0.6;
	-webkit-pointer-events: none;
	pointer-events: none;
}

.noPC {
	display: none;
}

.inner {
	width: 1400px;
	max-width: 100%;
	margin: 0 auto;
}

.mb10 {
	margin-bottom: 10px;
}

.b {
	font-weight: bold;
}

/* アクセント（初夏・夏向けティール系）※割引ブロック .plan 内は従来のゴールド系のまま */
.red {
	color: #138b9e;
}

.danger {
	color: red;
}

.line {
	text-decoration: underline;
}

/* HEAD
**************************************************************/

.header {
	position: relative;
}

.head_inner {
	text-align: center;
}

#home .head_inner {}

.head_inner p img {
	margin-left: auto;
	margin-right: auto;
}

.main_box {
	padding: 0 3% 50px 3%;
}

.logo {
	max-width: 415px;
	margin: 0 auto;
}

.main_txt {
	max-width: 1000px;
	margin: 0 auto;
}

.header h1 {
	width: 100vw;
}

.header h1 .head_logo {
	display: block;
	max-width: none;
	width: 100%;
	margin: 0 auto;
}

.header h1 .head_logo img {
	width: 100%;
}

.header h1 img.head_subhead {
	width: 90%;
	margin: 16px auto 0;
}

.warning {
	width: 90%;
	color: #f00;
	border: 4px solid;
	text-align: left;
	margin: 50px auto;
	padding: 10px 3%;
}

.warning .warning_ttl {
	margin-top: 10px;
	font-size: 25px;
	font-weight: bold;
}

.warning .warning_txt {
	margin-top: 10px;
	font-size: 16px;
	font-weight: normal;
	color: #000;
	line-height: 1.4;
}

.top_info {
	width: 90%;
	margin: 120px auto 50px;
	border: 2px #ff0000 solid;
}

.top_info .info_ttl {
	padding: 10px;
	background-color: #ff0000;
	color: #fff;
	font-size: 20px;
	font-weight: bold;
}

.top_info .info_txt {
	text-align: left;
	padding: 10px 4%;
}

.top_info .info_txt span.notice {
	padding: 0;
	line-height: 1.4;
	display: block;
	text-align: left;
	margin-top: 5px;
}

.top_info ul.info_txt {
	padding-left: calc(4% + 1em);
}

.top_info ul.info_txt>li {
	list-style: disc;
}

.top_info .info_txt a {
	text-decoration: underline;
}

.info_txt a[target="_blank"]::after {
	display: inline-block;
	width: 1em;
	height: 1em;
	content: url('data:image/svg+xml;charset=utf8,%3Csvg%20version%3D%221.1%22%20id%3D%22_x32_%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20x%3D%220px%22%20y%3D%220px%22%20viewBox%3D%220%200%20512%20512%22%20style%3D%22width%3A%20256px%3B%20height%3A%20256px%3B%20opacity%3A%201%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cstyle%20type%3D%22text%2Fcss%22%3E%20.st0%7Bfill%3A%23000000%3B%7D%3C%2Fstyle%3E%3Cg%3E%20%3Cpath%20class%3D%22st0%22%20d%3D%22M96%2C0v416h416V0H96z%20M472%2C376H136V112h336V376z%22%20style%3D%22fill%3A%20rgb(0%2C%200%2C%200)%3B%22%3E%3C%2Fpath%3E%20%3Cpolygon%20class%3D%22st0%22%20points%3D%2240%2C472%2040%2C296%2040%2C136%2040%2C96%200%2C96%200%2C512%20416%2C512%20416%2C472%20376%2C472%20%22%20style%3D%22fill%3A%20rgb(0%2C%200%2C%200)%3B%22%3E%3C%2Fpolygon%3E%3C%2Fg%3E%3C%2Fsvg%3E');
	vertical-align: text-top;
}


.top_info.info02 {
	border-color: #3d9ce5;
}

.top_info+.top_info.info02 {
	margin-top: 50px;
}

.info_ttl.info02 {
	background-color: #3d9ce5;
}

.data {
	margin-top: 15px;
	font-size: 30px;
	font-weight: bold;
	line-height: 1.4;
}

.main_txt ol.discount-criteria {
	list-style: none;
	width: fit-content;
	max-width: 100%;
	margin: 10px auto 0;
	padding-left: 0;
	box-sizing: border-box;
	text-align: left;
}

.main_txt ol.discount-criteria li {
	position: relative;
	margin-top: 0.4em;
	padding-left: 1.65em;
}

.main_txt ol.discount-criteria li:first-child {
	margin-top: 0;
}

.main_txt ol.discount-criteria li::before {
	position: absolute;
	left: 0;
	top: 0;
	font-weight: bold;
}

.main_txt ol.discount-criteria li:nth-child(1)::before {
	content: "①";
}

.main_txt ol.discount-criteria li:nth-child(2)::before {
	content: "②";
}

.main_txt ol.discount-criteria li:nth-child(3)::before {
	content: "③";
}

h1+.data {
	margin-top: 12%;
}

ul.notes li {
	list-style-type: '※';
	list-style-position: inside;
	word-break: keep-all;
	overflow-wrap: anywhere;
}

ul.notes li.notes__notice {
	color: red;
	font-size: 30px;
}


ul.notes .notes__notice--span {
	font-size: 20px;
}

@media screen and (max-width: 768px) {
	ul.notes li.notes__notice {
		font-size: 20px;
	}

	ul.notes .notes__notice--span {
		font-size: 16px;
	}
}

p.data+ul.notes {
	margin-top: 15px;
}

.data-b {
	color: #138b9e;
	font-size: 35px;
	width: 400px;
	margin-left: auto;
	margin-right: auto;
}

.data02 {
	color: #f00;
	font-size: 25px;
	line-height: 1.4;
}

.data-note {
	margin-top: 0.4em;
	font-size: clamp(0.8125rem, 2.2vw, 1.0625rem);
	font-weight: normal;
	line-height: 1.5;
}

.data-note a {
	color: #138b9e;
	text-decoration: underline;
}

.data span {
	margin-top: 10px;
	display: block;
	font-size: 16px;
	line-height: 1.4;
}

.data span.red {
	font-size: 20px;
	font-weight: bold;
}

.data table {
	margin: auto;
}

table.data {
	margin: 0 auto -15px;
}

.data th,
.data td {
	font-size: 16px;
	border: 1px solid;
	vertical-align: middle;
	padding: 5px;
}

.data th {
	background-color: #e6f3f5;
}

.data_txt {
	margin-top: 30px;
	background-color: #d1f8ff;
	display: inline-block;
	padding: 2% 5%;
	font-size: 12px;
	border-radius: 10px;
	text-align: left;
	width: 90%;
}

.data_txt li {
	text-indent: -1em;
	padding-left: 1em;
}

.data_txt li.data_ttl {
	font-size: 16px;
	font-weight: bold;
	margin-bottom: 10px;
	text-align: center;
	text-indent: 0;
	padding-left: 0;
}

.data_txt li.data_subttl {
	margin-bottom: 10px;
	text-align: center;
	text-indent: 0;
	padding-left: 0;
}

.logo img {
	width: 445px;
}

.data img {
	width: 1170px;
}

.head_list {
	padding: 0 25px 25px;
	display: flex;
	justify-content: space-evenly;
	align-items: center;
}

.head_list ul {
	max-width: 100%;
	padding: 25px;
	border: 4px double;
	border-radius: 10px;
}

.head_list ul li {
	text-indent: -1em;
	margin-left: 1em;
}

/* MAIN
**************************************************************/

section h2 img {
	width: 820px;
	margin: 0 auto;
}

section .inner {
	width: 1000px;
}

.plan {
	background-color: #fef6e1;
	padding: 80px 3%;
}

.plan ul li {
	padding: 10px;
}

.plan ul img {
	max-width: none;
	width: 100%;
}

.plan .inner div {
	padding: 10px;
	margin: 0 auto;
}

.plan .inner .txt p {
	width: fit-content;
	margin: 0 auto;
}

.plan .inner .sample {
	margin: 50px auto;
}

.plan table {
	border-collapse: collapse;
	background: #fff;
}

.plan caption {
	text-align: left;
	padding: 10px 5px;
	font-weight: bold;
}

.plan .table-description {
	margin-top: 10px;
	line-height: 1.2;
	padding-left: 1em;
	text-indent: -1em;
}

.plan .table-description::before {
	content: '※';
}

.plan th,
.plan td {
	border: 2px solid #ba8729;
	padding: 2px 15px;
}

.plan tbody th {
	-moz-text-align-last: justify;
	text-align-last: justify;
	text-justify: inter-ideograph;
}

.plan .table01 {
	width: 100%;
}

.plan .table01 tbody th {
	min-width: 12rem;
}

.plan .table01 thead {
	background-color: #ffebcb;
}

.plan .table01 tr:nth-child(even) {
	background: #ffebcb;
}

.plan .table01 td span {
	color: #e60012;
}

.plan .table02 .holiday {
	background-color: #ffebcb;
	color: #ba8729;
}

.reserve {
	background-color: #e8f4f8;
	padding: 80px 3%;
}

.reserve .txt {
	margin-top: 20px;
}

.reserve p {
	position: relative;
	font-size: 120%;
	padding-left: 1.5em;
}

.reserve .txt p::before {
	position: absolute;
	content: "\025cf";
	left: 0;
}

.reserve .txt p.kome::before {
	content: "※";
}

.reserve ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 10px auto 0;
	width: 960px;
	max-width: 100%;
}

.reserve ul li {
	padding: 20px 0;
}

.reserve ul img {
	width: 300px;
}

.buttons {
	padding: 25px 50px 25px;
}

@media screen and (max-width: 768px) {
	.buttons {
		padding: 2.5% 5% 2.5%;
	}
}

.buttons .inner ul {
	width: 850px;
	max-width: 100%;
	margin: 0px auto;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 20px 40px;
}

.buttons .inner ul.reserve {
	grid-template-columns: repeat(1, minmax(280px, 1fr));
}

.buttons .inner ul li {
	display: block;
	height: 100px;
	padding: 0;
}

.buttons .inner ul li a {
	display: block;
	width: 100%;
	height: 100%;
	padding: 4px 20px;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--button-background, gray);
	border: var(--button-border, none);
}

.buttons .inner ul li a.comingsoon {
	opacity: 0.5;
	cursor: not-allowed;
	pointer-events: none;
	user-select: none;
	filter: grayscale(100%);
	transition: all 0.3s ease;
	transform: scale(0.98);
	box-shadow: none;
	border: none;
	background: #ccc;
	color: #666;
	font-weight: normal;
	font-size: 16px;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
}

.buttons .inner ul li a span {
	display: block;
	width: fit-content;
	font-size: 18px;
	line-height: 1.2;
	font-weight: bold;
	color: var(--button-color, #fff);
	word-break: keep-all;
	overflow-wrap: anywhere;
	text-align: center;
}

.buttons .inner ul li a span small {
	font-size: min(16px, 3vw);
}

.button-faq {
	--button-background: #3d9ce5;
}

.button-forms {
	--button-background: #f2a72e;
}

.button-agency {
	--button-background: #45b035;
}

.button-site {
	margin: 1% 0 0;
}

.brand-message {
	padding: 34px 3% 44px;
}

.logo-message {
	max-width: 960px;
	margin: 0 auto;
	padding: 0;
	background: transparent;
	text-align: left;
}

.logo-message img {
	width: min(100%, 300px);
	height: auto;
	margin: 0 auto 12px;
	display: block;
}

.logo-message h3 {
	margin: 8px 0 14px;
	padding: 4px 0;
	font-size: clamp(1.08rem, 1.6vw, 1.32rem);
	line-height: 1.55;
	font-weight: 800;
	color: #0f6f7d;
	letter-spacing: 0.01em;
	text-align: center;
}

.logo-message p {
	margin-top: 10px;
	font-size: clamp(0.92rem, 1.2vw, 1rem) !important;
	line-height: 1.8;
	letter-spacing: 0.01em;
	color: #1d3135;
	padding: 0;
}

.logo-message-link {
	display: inline-block;
	margin-top: 12px;
	padding: 8px 14px;
	border-radius: 999px;
	background-color: #138b9e;
	color: #fff;
	font-size: 0.9rem;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	margin-left: auto;
	margin-right: auto;
	display: table;
}

.logo-message-link:hover {
	opacity: 0.88;
}

@media screen and (max-width: 768px) {
	.buttons .inner ul {
		grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
		gap: 5% 2.5%;
	}

	.buttons .inner ul.reserve {
		grid-template-columns: repeat(1, minmax(120px, 1fr));
		gap: 5% 2.5%;
	}

	.buttons .inner ul li {
		height: 14vw;
	}

	.buttons .inner ul li a {
		padding: 4px 2.5vw;
		border-radius: 2vw;
	}

	.head_list {
		padding-bottom: 2.5%;
	}

	.brand-message {
		padding: 24px 5% 32px;
	}

	.logo-message {
		margin-top: 0;
		padding: 0;
	}

	.logo-message img {
		width: min(100%, 230px);
		margin-bottom: 10px;
	}

	.logo-message h3 {
		font-size: 1rem;
	}

	.logo-message p {
		margin-top: 8px;
		font-size: 0.9rem !important;
		line-height: 1.75;
	}

	.logo-message-link {
		margin-top: 10px;
		padding: 7px 12px;
		font-size: 0.84rem;
	}
}

.question {
	padding: 80px 3%;
}

.question dl {
	margin-top: 60px;
}

.question dt,
.question dd {
	min-height: 40px;
	display: flex;
	align-items: baseline;
}

.question dt {
	padding-top: 5px;
	margin-bottom: 10px;
	border-bottom: 1px dashed #aaa;
	padding-bottom: 15px;
	font-weight: 700;
	color: #138b9e;
}

.question dd {
	padding-top: 5px;
	margin-bottom: 50px;
}

.question dt::before,
.question dd::before {
	font-size: 26px;
	width: 70px;
	flex-basis: 70px;
	display: inline-block;
	font-weight: bold;
	text-align: right;
	padding-right: 15px;
}

.question dt::before {
	content: 'Q';
}

.question dd::before {
	content: 'A';
	color: #3d9ce5;
}

.question {
	counter-reset: number 0;
}

.question .test dt:before {
	counter-increment: number 1;
	content: "Q" counter(number);
}

.question dt p {
	font-weight: bold;
}

.question dt p,
.question dd p {
	width: calc(100% - 70px);
}

.document {
	padding: 80px 3%;
}

.document_area {
	width: 1260px;
	max-width: 100%;
	margin: 60px auto 0;
}

.document_area .document_list {
	width: 90%;
	border: 4px solid;
	border-radius: 10px;
	text-align: center;
	padding: 20px 10px;
	margin: 0 auto 50px;
}

.document_area .document_list h3 {
	font-size: 24px;
	font-weight: 700;
}

.document_area .document_list ul {
	font-size: 18px;
}

.document_area .document_list li {
	margin-top: 30px;
}

.document_area .document_list .document_note {
	width: 90%;
	margin: 25px auto 25px;
	padding: 0;
	text-align: left;
	font-size: 16px;
	line-height: 1.7;
}

.document_area .document_list .document_note p {
	margin: 0;
}

.document_area .document_list .document_note p.document_note_mark {
	position: relative;
	padding-left: 1.2em;
}

.document_area .document_list .document_note p.document_note_mark::before {
	content: "※";
	position: absolute;
	left: 0;
	top: 0;
}

.document_area .document_list .document_note p+p {
	margin-top: 10px;
}

.document_area .document_list .document_note .document_note_title {
	color: #1f6fb0;
	font-weight: 700;
}

.document_area .document_list .document_note .document_note_emphasis {
	color: #d0342c;
	font-weight: 700;
	background: linear-gradient(transparent 65%, #ffe38a 65%);
}

.document_area .document_list li a {
	background: #AAAAAA;
	border-radius: 20px;
	color: #FFFFFF;
	padding: 10px 20px;
	margin: 5px auto;
	display: block;
	width: 70%;
	font-size: 14px;
}

.document_area .list00 {
	border-color: #138b9e;
	border: none;
}

.document_area .list00 h3 {
	color: #138b9e;
}

.document_area .list00 li a {
	background-color: #138b9e;
}

.document_area .list01 {
	border-color: #3d9ce5;
}

.document_area .list01 h3 {
	color: #3d9ce5;
}

.document_area .list01 li a {
	background-color: #3d9ce5;
}

.document_area .list05 {
	border-color: red;
}

.document_area .list05 h3 {
	color: red;
}

.document_area .list05 li a {
	background-color: red;
}

.link_btn a {
	display: block;
	color: #138b9e;
	border: 4px solid #138b9e;
	margin: 60px auto;
	width: 400px;
	max-width: 80%;
	border-radius: 10px;
	text-align: center;
	font-weight: bold;
	padding: 20px;
	font-size: 20px;
}

/* FOOT
**************************************************************/

.footer {
	/* background-image: url(../img/bg.png); */
	background:
		repeating-linear-gradient(-45deg,
			#8bd0ff 0px,
			#8bd0ff 4px,
			#7fc7ff 4px,
			#7fc7ff 8px);
	padding: 30px 3%;
	text-align: center;
	color: #FFFFFF;
}

.foot_logo {
	width: 300px;
	margin: 0 auto;
}

.foot_logo img {
	width: 300px;
	height: auto;
	/* PNGロゴに白フチをつけて背景との視認性を上げる */
	filter:
		drop-shadow(1px 0 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 1px 0 #fff) drop-shadow(0 -1px 0 #fff);
}

.footer dl {
	font-weight: bold;
	margin-top: 10px;
}

.footer dt {
	margin-bottom: 5px;
}

.footer dd span {
	font-weight: normal;
	font-size: 14px;
}

.footer dd+dt {
	margin-top: 1em;
}

.footer dd a {
	text-decoration: underline;
}

.footer dd a[target="_blank"]::after {
	display: inline-block;
	width: 1em;
	height: 1em;
	content: url('data:image/svg+xml;charset=utf8,%3Csvg%20version%3D%221.1%22%20id%3D%22_x32_%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20x%3D%220px%22%20y%3D%220px%22%20viewBox%3D%220%200%20512%20512%22%20style%3D%22width%3A%20256px%3B%20height%3A%20256px%3B%20opacity%3A%201%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cstyle%20type%3D%22text%2Fcss%22%3E%20.st0%7Bfill%3A%23ffffff%3B%7D%3C%2Fstyle%3E%3Cg%3E%20%3Cpath%20class%3D%22st0%22%20d%3D%22M96%2C0v416h416V0H96z%20M472%2C376H136V112h336V376z%22%20style%3D%22fill%3A%20rgb(255%2C%20255%2C%20255)%3B%22%3E%3C%2Fpath%3E%20%3Cpolygon%20class%3D%22st0%22%20points%3D%2240%2C472%2040%2C296%2040%2C136%2040%2C96%200%2C96%200%2C512%20416%2C512%20416%2C472%20376%2C472%20%22%20style%3D%22fill%3A%20rgb(255%2C%20255%2C%20255)%3B%22%3E%3C%2Fpolygon%3E%3C%2Fg%3E%3C%2Fsvg%3E');
	vertical-align: text-top;
}

/* 1400px以下 */

@media screen and (max-width: 1400px) {}


/* 1024px以下 */

@media screen and (max-width: 1024px) {}


/* 768px以下 */

@media screen and (max-width: 768px) {
	.noPC {
		display: block;
	}

	.noSP {
		display: none;
	}

	.header {
		background-image: none;
	}

	.head_inner {
		padding: 0;
	}

	.main_box {
		display: block;
		height: auto;
		text-align: center;
		padding: 20px 0;
	}

	.header h1 .head_logo {
		width: 100%;
	}

	.header h1 img.head_subhead {
		margin-top: 8px;
		width: 100%;
	}

	.logo {
		width: 80%;
		margin: 0 auto;
	}

	.main_txt {
		width: 90%;
		margin: 0 auto;
	}

	.logo img {
		width: 50%;
	}

	.data {
		font-size: 20px;
	}

	.data-b {
		font-size: 25px;
		max-width: 100%;
	}

	.data span {
		font-size: 12px;
	}

	.data span.red {
		font-size: 16px;
	}

	.data th,
	.data td {
		font-size: 12px;
	}

	.data02 {
		font-size: 16px;
	}

	ul.data_txt {
		font-size: 12px;
	}

	.data_txt .data_ttl {
		font-size: 14px;
	}

	.data_txt li {
		text-align: left;
		text-indent: -1em;
		padding-left: 1em;
	}

	.head_list {
		padding: 0 5% 5%;
		display: block;
	}

	.head_list ul {
		padding: 10px;
		font-size: 10px;
	}

	.plan {
		padding: 2%;
	}

	.plan ul {
		justify-content: center;
		flex-wrap: wrap;
	}

	.plan .inner div {
		max-width: 510px;
	}

	.plan .table01 thead {
		display: none;
	}

	.plan .table01 th,
	.plan .table01 td {
		display: block;
		padding: 5px 15px;
	}

	.plan .table01 tr:nth-child(even) {
		background: none;
	}

	.plan .table01 th {
		color: #fff;
		background-color: #ba8729;
		text-align-last: center;
	}

	.plan .scroll {
		overflow-x: auto;
		white-space: nowrap;
	}

	.plan .table02 th,
	.plan .table02 td {
		padding: 0 10px;
	}

	.reserve {
		padding: 30px 5%;
	}

	.reserve .txt {
		margin-top: 20px;
	}

	.reserve p {
		font-size: 16px !important;
	}

	.reserve ul {
		margin-top: 20px;
		justify-content: center;
	}

	.reserve ul li {
		padding: 5px 0;
		width: 100%;
	}

	.reserve ul img {
		margin: 0 auto;
	}

	.document_area .document_list li a {
		width: 90%;
	}

	.document_area .list01 {
		margin-bottom: 30px;
	}

	.warning {
		width: 100%;
	}

	.warning .warning_ttl {
		font-size: 20px;
		line-height: 1.4;
	}

	.warning .warning_txt {
		font-size: 16px;
	}

	.top_info {
		width: 100%;
		margin: 40px auto 20px !important;
	}

	.top_info.info02 {
		margin-top: 20px !important;
	}

	.data_txt {
		width: 100%;
	}

	.footer dl {
		font-size: 14px;
	}
}