@charset "utf-8";
/* ---------------------------------------------------
・このCSSはPCとSPの表示比率を合わせています。
・サイズの単位は原則remにしてください。1rem = 1vw換算です。
・rootセレクタ内で、色やサイズの設定を指定してください。
---------------------------------------------------- */
/* BASE
------------------------- */ :root {
		/* メインカラー */
		--mainColor: #dc1f00;
		/* サブカラー */
		--subColor: #00435c;
		/* フォーム背景色 */
		--formColor: #00435c;
		/* テキストカラー */
		--mainTxtColor: #083139;
		/* 2つの値の大きい方が指定される (横幅)*/
		--contentWidth: max(500px, 20vw);
		--white: #ffffff;
		--black: #083139;
		--blue: #126678;
		--red: #dc1f00;
		--yellow: #ffee98;
		--gray: #666666;
		--gray2: #cfcccc;
		--gray3: #f9f9f9;
		--notcieGray: #8a8a8a;
}
a[href^="tel:"] {
		pointer-events: none;
		text-decoration: none;
		color: var(--gray);
}
html {
		font-size: min(1vw, calc(var(--contentWidth) / 100));
		overflow-x: hidden;
}
body {
		background-image: url("../img/bg.jpg");
		background-size: cover;
		background-repeat: repeat;
		background-position: top center;
		background-attachment: fixed;
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-size: 4.5rem;
		line-height: 1.5;
		color: var(--mainTxtColor);
		margin: 0;
}
* {
		box-sizing: border-box;
}
img {
		width: 100%;
		height: auto;
		max-width: 100%;
		vertical-align: middle;
		margin: 0;
		padding: 0;
}
a {
		text-decoration: underline;
		color: revert;
}
#contents {
		background: #fff;
		max-width: var(--contentWidth);
		margin-inline: auto;
		box-shadow: 0 0 20rem 0 rgba(87, 87, 87, 0.3);
}
.l-header-info {
		position: fixed;
		top: 0;
		bottom: 0;
		left: 0;
		height: 100%;
		width: calc(50% - 250px);
		display: grid;
		place-content: center stretch;
}
.l-header-logo {
		width: 50%;
		margin: 0 auto;
}
.r {
		color: var(--red);
}
.y {
		color: var(--yellow);
}
.y2 {
		color: rgb(211 165 83 / 22%);
}
.y3 {
		color: #d2ac28;
}
.blue {
		color: var(--blue);
}
.or {
		color: var(--mainColor);
}
.g {
		color: var(--subColor);
}
.wht {
		color: #fff;
}
.brown {
		color: #372f0b;
}
.grad_blk_rd {
		background: linear-gradient(90deg, var(--black), var(--red));
		-webkit-background-clip: text;
		-webkit-text-fill-color: transparent;
}
.grad_blk_rd2 {
		background: linear-gradient(0deg, var(--black), var(--red));
		-webkit-background-clip: text;
		-webkit-text-fill-color: transparent;
}
.grad_gold {
		background: linear-gradient(to bottom, #ffeeb3 0%, #dcbd37 100%);
		-webkit-background-clip: text;
		-webkit-text-fill-color: transparent;
}
.grad_gold2 {
		background: linear-gradient(-90deg, #5A3C10, #A77530, #5A3C10);
		-webkit-background-clip: text;
		-webkit-text-fill-color: transparent;
}
.grad_gold2 {
		background: linear-gradient(-90deg, #5A3C10, #A77530, #5A3C10);
		-webkit-background-clip: text;
		-webkit-text-fill-color: transparent;
}
.grad_bl {
		color: #126678;
		background: linear-gradient(to bottom, #04a1aa, #126678);
		-webkit-background-clip: text;
		background-clip: text;
		-webkit-text-fill-color: transparent;
}
.bg_gry {
		background: #e5e5e5;
}
.bg_or2 {
		background: #fbf2e3;
}
.bg_r {
		background: var(--red);
}
.bg_r2 {
		background: #f9e9ea;
}
.bg_blue {
		background: var(--blue);
}
.bg_grad_gold {
		background: linear-gradient(to right, #7f690b 0%, #b69d45 50%, #7f690b 100%);
}
.b {
		font-weight: bold;
}
.b600 {
		font-weight: 600;
}
.b900 {
		font-weight: 900;
}
.u {
		text-decoration: underline;
}
.italic {
		font-style: italic;
}
.bg_g {
		background: var(--subColor);
}
.bg_wht {
		background: #fff;
}
.bg_blk {
		background: var(--black);
}
.bg_blk2 {
		background: #000;
}
.bg_or {
		background: var(--mainColor);
}
.bg_y2 {
		background: #ffffe8;
}
.shadow_r {
		filter: drop-shadow(0 0 1.5rem rgba(255, 0, 38, 0.2));
}
.shadow_or {
		filter: drop-shadow(0 0 1.5rem rgba(255, 187, 0, 0.3));
}
.shadow_wh {
		filter: drop-shadow(0 0 1rem rgba(255, 255, 255, 0.8));
}
.shadow {
		filter: drop-shadow(0 0 1rem rgba(0, 0, 0, 0.1));
}
/* ----------------------
font-size
---------------------- */
.small40 {
		font-size: 40%;
}
.small50 {
		font-size: 50%;
}
.small60 {
		font-size: 60%;
}
.small65 {
		font-size: 65%;
}
.small70 {
		font-size: 70%;
}
.small80 {
		font-size: 80%;
}
.small85 {
		font-size: 85%;
}
.small90 {
		font-size: 90%;
}
.small95 {
		font-size: 95%;
}
.large110 {
		font-size: 110%;
}
.large115 {
		font-size: 115%;
}
.large120 {
		font-size: 120%;
}
.large125 {
		font-size: 125%;
}
.large130 {
		font-size: 130%;
}
.large140 {
		font-size: 140%;
}
.large145 {
		font-size: 145%;
}
.large150 {
		font-size: 150%;
}
.large160 {
		font-size: 160%;
}
.large170 {
		font-size: 170%;
}
.large180 {
		font-size: 180%;
}
.large190 {
		font-size: 190%;
}
.large200 {
		font-size: 200%;
}
.large250 {
		font-size: 250%;
}
.large270 {
		font-size: 270%;
}
/* line-height */
.lh_11 {
		line-height: 1.1;
}
.lh_12 {
		line-height: 1.2;
}
.lh_13 {
		line-height: 1.3;
}
.lh_14 {
		line-height: 1.4;
}
.lh_17 {
		line-height: 1.7;
}
/* text-align */
.txt_c {
		text-align: center;
}
.txt_r {
		text-align: right;
}
.txt_l {
		text-align: left;
}
.bottom {
		margin-bottom: 1rem;
}
.bottomx2 {
		margin-bottom: 2rem;
}
.bottomx3 {
		margin-bottom: 3rem;
}
.bottomx4 {
		margin-bottom: 4rem;
}
.bottomx5 {
		margin-bottom: 5rem;
}
.bottomx6 {
		margin-bottom: 6rem;
}
.bottomx7 {
		margin-bottom: 7rem;
}
.bottomx8 {
		margin-bottom: 8rem;
}
.bottomx9 {
		margin-bottom: 9rem;
}
.bottomx10 {
		margin-bottom: 10rem;
}
.bottomx11 {
		margin-bottom: 11rem;
}
.bottomx12 {
		margin-bottom: 12rem;
}
.bottomx15 {
		margin-bottom: 15rem;
}
.bottomx20 {
		margin-bottom: 20rem;
}
.mark_y {
		background: linear-gradient(transparent 50%, #fffcbd 50%);
}
.mark_r {
		font-weight: bold;
		background: var(--red);
		color: #fff;
		padding: 1rem 2rem 1.8rem;
		display: inline-block;
		line-height: 1;
}
.mark_gold {
		color: #093a44;
		display: inline-block;
		padding: 0 1rem;
		margin: 0 0.5rem;
		line-height: 1.4;
		background-image: linear-gradient(315deg, #dcbd37 0%, #ffeeb3 74%);
}
.mark_st {
		background-image: repeating-linear-gradient(-45deg, #f0ea6c 0, #fffcbd 3px, transparent 3px, transparent 6px);
		background-repeat: no-repeat;
		background-position: left bottom;
		background-size: 100% 20%;
}
.stripe-marker {
		background-image: repeating-linear-gradient(-45deg, var(--yellow) 0, var(--yellow) 2px, transparent 2px, transparent 4px);
		background-repeat: no-repeat;
		background-position: left bottom;
		background-size: 100% 0.5em;
}
.arrow {
		display: inline-block;
		border-style: solid;
		border-width: 30px 25px 0 25px;
		border-color: var(--red) transparent transparent transparent;
		margin: 3rem auto;
}
.arrow2 {
		width: 1.4em;
		height: 1.4em;
		border: 4px solid;
		border-color: transparent transparent #c52022 #c52022;
		transform: rotate(-45deg);
		margin: 0rem auto 5rem;
		position: relative;
		animation: move-y 1s infinite alternate ease-in-out;
}
@keyframes move-y {
		from {
				top: 0;
		}
		to {
				top: 15px;
		}
}
.arrow.or {
		border-color: var(--mainColor) transparent transparent transparent;
}
.arrow.wht {
		border-color: #fff transparent transparent transparent;
}
.arrow.r {
		border-color: var(--red) transparent transparent transparent;
}
.line {
		border-top: 2px solid #54556C;
		border-image: linear-gradient(to right, #fff, #10243a, #fff) 1;
		margin: 15rem 10rem;
}
.flex {
		display: flex;
}
/* 注釈 */
.notice {
		padding-top: 3rem;
		font-size: 2.4rem;
		color: #989898;
		letter-spacing: 1px;
		position: relative;
}
.notice li {
		position: relative;
		padding-left: 3rem;
		display: inline-block;
}
.notice li::before {
		content: "※";
		position: absolute;
		left: 0;
}
.serif {
		font-family: 'Noto Serif JP', "serif";
		letter-spacing: -0.5px;
}
/*--------prihead--------*/
#scheader {
		z-index: 100;
		position: fixed;
		top: 0;
		width: var(--contentWidth);
		font-size: 2rem;
		font-weight: bold;
		text-align: center;
		background: var(--mainTxtColor);
		color: #fff;
		padding: 2rem 0;
		line-height: 1;
		display: none;
}
@media screen and (max-width: 480px) {
		#scheader {
				width: 100%;
		}
}
#scheader .countdown {
		padding: 1rem 0;
		margin: 0 auto;
		line-height: 1.2;
		/* Retained specific line-height */
		font-family: Verdana, Roboto, "Droid Sans", "游ゴシック", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", sans-serif, monospace;
}
.timer_num {
		display: inline-block;
		padding: 0 .4rem;
		margin: 0 .4rem;
		border-radius: 3px;
		color: var(--black);
		font-size: 150%;
		background: #fff;
}
/* Header1
------------------------- */
.header1 h1 {
		margin: 0;
}
/* Header2
------------------------- */
.header2 {
		position: relative;
}
.header2 .head_video {
		position: absolute;
		top: 51rem;
		left: 5rem;
		width: 90%;
		margin: 0 auto;
		z-index: 3;
}
/* Header3
------------------------- */
.header3 {
		position: relative;
}
.header3 .head_video {
		position: absolute;
		top: 28rem;
		left: 5rem;
		width: 90%;
		margin: 0 auto;
		z-index: 3;
}
.countdown {
		font-size: 3.5rem;
}
/*-----残数-------------------------------*/
.zansu {
		justify-content: center;
		overflow: hidden;
}
.zansu li {
		width: 22%;
		margin: 0.5rem 1rem;
		padding: 1rem;
		font-size: 3rem;
		font-weight: bold;
		background: #fff;
		border-radius: 6px;
		text-align: center;
		line-height: 1.4;
}
.zansu li a {
		text-decoration: none;
		color: #1a1a1a;
}
.zansu_area {
		background: #eee;
}
.zansu .flex {
		justify-content: center;
		flex-wrap: wrap;
}
#open1 {
		display: none;
		margin: 0 2rem;
		padding-top: 2rem;
		padding-bottom: 2rem;
}
#open2 {
		display: none;
		margin: 0 2rem;
		padding-top: 2rem;
		padding-bottom: 2rem;
}
#open3 {
		display: none;
		margin: 0 2rem;
		padding-top: 2rem;
		padding-bottom: 2rem;
}
#open4 {
		display: none;
		margin: 0 2rem;
		padding-top: 2rem;
		padding-bottom: 2rem;
}
/*.zansu2 {width: 420px;font-size: 1.6rem;margin: 0 auto;padding: 1rem 0 3rem;}*/
/* 赤点滅 */
.blinking {
		-webkit-animation: blink 0.6s ease-in-out infinite alternate;
		-moz-animation: blink 0.6s ease-in-out infinite alternate;
		animation: blink 0.6s ease-in-out infinite alternate;
		color: #dc304d;
		font-size: 100%;
		font-weight: bold;
}
.sche_zan .blinking {
		color: #fff;
}
@-webkit-keyframes blink {
		0% {
				opacity: 0;
		}
		70% {
				opacity: 1;
		}
}
@-moz-keyframes blink {
		0% {
				opacity: 0;
		}
		70% {
				opacity: 1;
		}
}
@keyframes blink {
		0% {
				opacity: 0;
		}
		70% {
				opacity: 1;
		}
}
@keyframes loop {
		0% {
				transform: translateX(100%);
		}
		to {
				transform: translateX(-100%);
		}
}
@keyframes loop2 {
		0% {
				transform: translateX(0);
		}
		to {
				transform: translateX(-200%);
		}
}
/* hatching1 -----------------*/
.zansu .hatching1 > .flex {
		opacity: 1;
}
.zansu .hatching1 {
		background: rgba(255, 255, 255, 0);
		pointer-events: inherit;
		padding: 0;
		z-index: 10
}
.zansu .hatching1:after {
		display: none;
}
/*網掛け*/
.zansu .hatching1 li.release {
		position: relative;
		pointer-events: none;
}
.zansu .hatching1 li.release:after {
		content: '';
		display: block;
		z-index: 2;
		color: #fff;
		font-weight: bold;
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		margin: auto;
		background: #565656c7;
		text-align: center;
		border-radius: 6px;
		width: 100%;
}
/* 上部コース */
/* hatching2 -----------------*/
.zansu .hatching2 > .flex {
		opacity: 1;
}
.zansu .hatching2 {
		background: rgba(255, 255, 255, 0);
		pointer-events: inherit;
		padding: 0;
		z-index: 10
}
.zansu .hatching2:after {
		display: none;
}
/*網掛け*/
.zansu .hatching2.release {
		pointer-events: none;
		position: relative;
		padding: 0;
}
.zansu .hatching2.release:after {
		content: '';
		display: block;
		z-index: 2;
		color: #fff;
		font-weight: bold;
		position: absolute;
		top: 0;
		bottom: 0.5rem;
		margin: auto;
		background: #565656c7;
		text-align: center;
		border-radius: 6px;
		width: 100%;
}
/*下部終了コースのグレーアウト*/
/* hatching1 -----------------*/
.schedule .hatching1:after {
		display: none;
}
/*網掛け*/
/*下部終了コースのグレーアウト*/
/* hatching1 -----------------*/
.schedule .hatching1 > p, .hatching1 table {
		opacity: 1;
}
.schedule .hatching1 {
		background: rgba(255, 255, 255, 0);
		pointer-events: inherit;
		padding: 0;
		z-index: 10
}
.schedule .hatching1:after {
		display: none;
}
/*網掛け*/
.schedule .hatching1 tr.release {
		pointer-events: none;
		background: #bbb;
		color: #dbd9d9;
		position: relative;
		padding: 0;
}
.schedule .hatching1 tr.release td:nth-child(3) .blinking {
		pointer-events: none;
		position: relative;
		padding: 0;
		animation: none;
		background: none;
		color: #dbd9d9;
}
/*下部終了コースのグレーアウト*/
/* hatching2 -----------------*/
.schedule .hatching2 > p, .hatching2 table {
		opacity: 1;
}
.schedule .hatching2 {
		background: rgba(255, 255, 255, 0);
		pointer-events: inherit;
		padding: 0;
		z-index: 10
}
.schedule .hatching2:after {
		display: none;
}
/*網掛け*/
.schedule .hatching2.release {
		pointer-events: none;
		background: #1a1a1a;
		position: relative;
		padding: 0;
}
.schedule .hatching2.release:after {
		display: block;
		z-index: 2;
		color: #fff;
		font-weight: bold;
		font-size: 6rem;
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		margin: auto;
		width: 650px;
		height: 100px;
		padding: 10px 10px 10px 10px;
		background: #AF1D19;
		text-align: center;
}
.schedule .hatching2.release .schedule_table tr {
		background: #bbb;
		color: #dbd9d9;
}
.schedule .hatching2.release .schedule_table td:nth-child(3) .blinking {
		pointer-events: none;
		position: relative;
		padding: 0;
		animation: none;
		background: none;
		color: #dbd9d9;
}
/* common
------------------------- */
main {
		overflow: hidden;
}
section {
		padding: 12rem 0;
}
.sub_head {
		font-size: 6.2rem;
		line-height: 1.5;
		text-align: center;
		font-weight: 900;
}
.bg_head {
		padding: 3rem;
}
.bg_head.lead {
		padding: 3rem 5rem;
}
.head_diagonal {
		width: 120%;
		transform: rotate(-5deg);
		position: relative;
		left: -10%;
}
.lead {
		font-size: 5.5rem;
		line-height: 1.5;
		text-align: center;
		font-weight: 900;
}
.img_arrow {
		width: 60%;
		margin-left: auto;
		margin-right: auto;
}
.sec_inner {
		padding: 0;
		margin: 0 5%;
		position: relative;
}
video {
		width: 100%;
		vertical-align: bottom;
}
iframe {
		width: 100%;
		aspect-ratio: 16 / 9;
}
/* mv_btn */
.mv_btn {
		text-align: center;
}
.mv_btn a {
		display: inline-block;
		background: #ddd;
		padding: 5px 20px;
		margin: 1rem auto 0;
		border-radius: 30px;
		font-size: 3.5rem;
		text-decoration: none;
		text-align: center;
		color: inherit;
}
/* Form
------------------------- */
.form {
		background: var(--formColor);
		color: #fff;
		padding: 5rem;
		position: relative;
}
.form.form_arrow::before {
		content: "";
		position: absolute;
		width: 100%;
		height: 0;
		border-top: 7rem solid transparent;
		border-left: min(calc(var(--contentWidth) / 2), 50vw) solid var(--formColor);
		border-right: min(calc(var(--contentWidth) / 2), 50vw) solid var(--formColor);
		border-bottom: none;
		top: calc(-7rem + 1px);
		left: 0;
}
.form form {
		display: grid;
		grid-template-columns: 1fr;
		grid-template-rows: 1fr 1fr auto;
		gap: 3rem;
}
.form_prev {
		margin: 0rem 0 3rem;
		font-size: 4.5rem;
		font-weight: bold;
		text-align: center;
}
.form_prev p {
		line-height: 1.3;
}
.form_box {
		position: relative;
}
.form_input {
		position: relative;
		background: #fff;
		width: 100%;
		padding: 0.3em 0.5em 0.3em 15rem;
		font-size: 5.5rem;
		border: 2px solid #ccc;
		border-radius: 2rem;
		color: #111111;
		text-align: left;
}
.form_must {
		position: absolute;
		width: 10rem;
		left: 3rem;
		top: 50%;
		transform: translateY(-50%);
		display: inline-block;
		background: #991f10;
		color: #fff;
		font-size: 3rem;
		text-align: center;
		padding: 0.2em 0;
		z-index: 10;
}
.form_label {
		position: absolute;
		top: 50%;
		left: 15rem;
		transform: translateY(-50%);
		transition: ease 0.3s;
		pointer-events: none;
		color: #aaa;
		z-index: 10;
		font-size: 4rem;
}
.form_input:focus + .form_label, .form_input:not(:placeholder-shown) + .form_label {
		top: 15%;
		font-size: 3rem;
		color: #3377ff;
}
.form_btn button {
		position: relative;
		width: 100%;
		height: 100%;
		background: #00ad48;
		border: 2px solid #7dff88;
		border-radius: 100px;
		line-height: 1;
		cursor: pointer;
		transition: all 0.2s ease;
		font-size: 5rem;
		font-weight: bold;
		color: #fff;
		text-align: center;
		padding-right: 6rem;
}
.form_btn button .form_btn_icon::after {
		content: '';
		position: absolute;
		top: 50%;
		width: 0.6em;
		height: 0.6em;
		border-top: 0.5rem solid #fff;
		border-right: 0.5rem solid #fff;
		transform: translate(0.1em, -50%) rotate(45deg);
		filter: drop-shadow(0 2px 3px #00865c);
}
.form_btn button:hover {
		filter: brightness(1.2);
}
.form_notice p {
		font-size: 3.5rem;
		text-align: center;
}
.ui-autocomplete {
		position: absolute !important;
		background: #fff;
		list-style: none;
		border-radius: 1rem;
		overflow: hidden;
		z-index: 100;
		box-shadow: 0 5px 10px rgba(0, 0, 0, 0.3);
}
.ui-autocomplete li {
		border-bottom: 1px solid #ccc;
		padding: 1rem;
		font-family: inherit !important;
		text-align: left;
		color: #111111;
}
.ui-autocomplete li:hover, .ui-state-focus {
		background: #ff7;
}
.ui-helper-hidden-accessible {
		display: none !important;
}
.merit_icon {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		margin-bottom: 3rem;
		text-align: center;
}
.form_text-wrap {
		font-weight: bold;
		font-size: 3.5rem;
		margin: 1rem 0rem;
		padding: 1rem;
		width: 49% !important;
		border: 1px dotted #fff;
		border-radius: 2rem;
}
.form_icon {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		margin-bottom: 3rem;
		align-items: stretch;
		/* 子要素の高さを揃える */
}
.form_icon p {
		font-weight: bold;
		font-size: 3.5rem;
		margin: 1rem 0;
		padding: 1rem;
		width: 49%;
		/* 横幅の調整 */
		border: 1px dotted #fff;
		border-radius: 2rem;
		text-align: center;
		display: flex;
		/* コンテンツを中央揃え */
		align-items: center;
		justify-content: center;
		box-sizing: border-box;
		/* パディング込みで幅を調整 */
}
/* Information
------------------------- */
#information {
		padding: 10rem 0;
}
#information p {
		font-size: 4rem;
		font-weight: bold;
		margin-bottom: 0.5em;
		line-height: 1.5;
}
#information ul {
		font-size: 3rem;
		line-height: 1.5;
}
#information ul li {
		text-align: justify;
		text-indent: -1em;
		padding: 0.2em 0 0.2em 1em;
}
#information ul li::before {
		content: "●";
}
/* Footer
------------------------- */
footer {
		display: grid;
		grid-template-columns: 1fr;
		gap: 3rem;
		background: #dddddd;
		color: #707070;
		padding: 5rem;
		margin: auto;
}
#footer_logo {
		text-align: center;
		width: 70%;
		margin: 0 auto;
}
#footer_info p {
		font-size: 2.5rem;
		text-align: center;
}
#footer_info ul {
		width: fit-content;
		margin: 0 auto;
		display: grid;
		grid-template-columns: repeat(2, auto);
		gap: 2rem;
}
#footer_info ul li a {
		display: block;
		padding: 0.5em;
		font-size: 3.5rem;
		text-align: center;
		color: inherit !important;
		text-decoration: none;
}
#footer_info p a {
		color: inherit !important;
		text-decoration: none;
}
/* ----------------------------------------------------
レター追加
------------------------------------------------------ */
/*-----------------------------------------------------
price
 -----------------------------------------------------*/
#price {
		padding-top: 0;
}
#price .small70 {
		display: inline-block;
}
#price .sub_head {
		line-height: 1.2;
}
#price .sub_head.detail {
		margin-bottom: 1rem;
}
#price .sub_head.bg_grad_lightGold {
		line-height: 1.3;
		padding: 4rem 1rem;
}
#price .sub_head.bg_grad_lightGold .small70 {
		display: inline-block;
}
/*-----------------------------------------------------
message
 -----------------------------------------------------*/
#message {
		background: #e5efe0;
}
#message .sub_head {
		color: #fff;
		font-size: 6.3rem;
		margin: 0 5rem 5rem;
}
#message .sec_inner {
		padding: 5rem;
		background-color: #fff;
		border: 2px solid #04a1aa;
}
#message .sec_inner:last-child {
		padding: 0;
		background-color: transparent;
		margin-top: 5rem;
		border: none;
}
.message_txt {
		font-family: 'Noto Serif JP', serif;
		line-height: 2.08;
		font-size: 4rem;
		text-align: left;
		font-weight: bold;
		padding-bottom: 2rem;
}
/* 返金保証の流れ */
#guarantee .arrow {
		margin: auto;
}
.hosho_txt {
		margin-top: 2rem;
}
.hosho_step {
		margin: 2rem 0;
		padding: 3rem 5rem;
		border: 1px solid var(--mainColor);
		background: #fff;
}
.hosho_step .step_box {
		width: 100%;
		margin-bottom: 4rem;
}
.hosho_step .serif {
		font-family: 'Noto Serif JP', "serif";
		font-weight: 900;
}
.step_box img {
		margin: 2rem auto 2rem;
}
.hosho_step h4 {
		color: var(--mainColor);
		margin-bottom: 1rem;
		border-bottom: 1px solid var(--mainColor);
		font-size: 4rem;
		font-weight: bold;
		text-align: center;
}
.hosho_step p {
		font-size: 4rem;
		line-height: 1.4;
}
.hosho .img_left {
		padding: 0rem 2rem 2rem 0;
		width: 45%;
}
/* 品質保証 */
.hosho2_flow_wrap {
		margin: 5rem auto 0;
		font-size: 70%;
}
.hosho2_flow_list {
		margin: 0 auto;
		width: 30%;
}
.hosho2_flow_list p {
		padding: 5px 20px;
}
/* 料金/*form
----------------------------------------------------------------------------------------------*/
.price-table {
		width: 100%;
		margin: 20px auto 0;
		border: 2px solid var(--red);
		line-height: 1.3;
		background: #fff;
}
.price-table th {
		background: var(--red);
		color: #fff;
		font-weight: bold;
		padding: 5px;
}
.price-table tr:nth-child(2n) {
		background: #fff5f4;
}
.price-table td {
		padding: 2rem 2.5rem;
		vertical-align: middle;
}
.price-table td .small {
		font-size: 60%;
}
.price-table td:nth-child(odd) {
		width: 63%;
		font-size: 2rem;
}
.price-table td:nth-child(even) {
		width: 30%;
		text-align: center;
		font-size: 2.2rem;
		border-left: 3px dotted #ddd;
}
.price-table td .small {
		font-size: 75%;
}
.price-table .bg_red {
		display: block;
		background: var(--red);
		padding: 1rem 0;
		margin: 0 0 1.5rem;
		color: #fff;
		font-size: 4rem;
		font-weight: bold;
}
tr.price-table-result td {
		padding: 3rem;
		text-align: center;
}
.price-table-result .large160 {
		font-size: 160%;
		font-weight: bold;
}
.price-table-result .large200 {
		font-size: 200%;
		font-weight: bold;
}
.price_box {
		width: calc(100% - 10rem);
		margin: 5rem auto 2rem;
		background: #fff;
		padding: 7rem 5rem 7rem;
}
.price_result {
		margin: 0 auto;
		font-weight: bold;
		font-family: Arial, Helvetica, "sans-serif";
		position: relative;
		padding-top: 1rem;
}
.price_result_main {
		font-size: 6rem;
		line-height: 1;
		margin: 0 0 0 13rem;
		color: var(--red);
}
.price_result_sub {
		margin-top: 0;
		font-size: 4.5rem;
		text-align: right;
		line-height: 1;
}
.price_notice {
		padding: 3rem;
		margin: 2rem auto 0;
		background: #fff6f6;
}
.price_notice p {
		padding: 0 0 0 1em;
		margin: 0 auto;
		font-size: 2.2rem;
		text-indent: -1em;
}
/*月々約*/
.price_monthly {
		background: var(--red);
		width: 110px;
		height: 110px;
		border-radius: 200px;
		position: absolute;
		color: #fff;
		line-height: 110px;
		text-align: center;
		font-size: 3rem;
		top: 0%;
}
/*amazon風料金*/
.am_price {
		margin: 0 auto;
		font-family: Arial, Helvetica, "sans-serif";
		position: relative;
}
.am_price .flex {
		justify-content: flex-start;
}
.am_price_description.flexbox {
		justify-content: start;
		align-items: center;
		margin-bottom: 2rem;
}
.am_price_description_ttl {
		background: var(--red);
		color: #fff;
		padding: 4px 8px 4px 8px;
		font-size: 3.5rem;
		margin-right: 1rem;
		border-radius: 4px;
}
.am_price_main {
		font-weight: bold;
		margin: 3rem auto 0;
}
.am_price_box {
		font-size: 13rem;
		line-height: 1;
		margin-bottom: 2rem;
}
.am_price_symbol {
		font-size: 41%;
		top: -3rem;
		position: relative;
}
.am_price_symbol2 {
		font-size: 41%;
		top: -3rem;
		position: relative;
}
.am_price_symbol3 {
		font-size: 41%;
		top: -1.1rem;
		position: relative;
}
.am_price_result_sub {
		margin: 1rem auto 0;
		font-size: 4rem;
		line-height: 1;
		text-align: left;
		color: #565959;
		font-weight: bold;
}
.am_price_result_sub2 {
		font-size: 4rem;
		line-height: 1;
		text-align: left;
		color: #565959;
		font-weight: bold;
		margin: 0 0 2rem;
}
.am_price span.r {
		color: var(--red);
}
.am_price_list {
		margin: 0 auto;
		list-style: none;
}
.am_price_list li {
		position: relative;
		padding: .3rem 0 0 5rem;
		line-height: 1.4;
		font-size: 4rem;
		color: #1a6171;
}
.am_price_list li:before, .list1 li:after {
		content: "";
		position: absolute;
}
.am_price_list li:before {
		top: .5rem;
		left: .5rem;
		-webkit-transform: rotate(50deg);
		-ms-transform: rotate(50deg);
		transform: rotate(50deg);
		width: 1.3rem;
		height: 3rem;
		border-right: 3px solid #1a6171;
		border-bottom: 3px solid #1a6171;
}
.am_price_list li:after {
		left: 0;
		top: .5rem;
		width: 1.8rem;
		height: 1.8rem;
		border: 1px solid #626161;
		border-radius: 2px;
}
.am_price_list li:last-child {
		padding-bottom: 0;
}
.price_label {
		background: #691a28;
		color: #fff;
		text-align: center;
		font-size: 4.6rem;
		font-weight: bold;
		line-height: 1.2;
		padding: 2rem 0;
}
.am_price_list {
		margin-top: 1rem;
		padding: 0;
}
p.am_price_main2 {
		font-size: 5rem;
		text-align: right;
		margin-top: 1rem;
		font-weight: bold;
}
.am_price p + p {
		padding-top: 1rem;
}
/* 2023～新ボタン ----------------------------------------------------------------------------------------------*/
.letter_btn {
		position: relative;
		display: block;
		width: 100%;
		margin: 0 auto 1rem;
		margin: 2rem auto;
		padding: 2rem 7rem;
		transition: 0.3s;
		background: #2590d0;
		font-size: 2.6rem;
		color: #fff;
		text-align: center;
		line-height: 1.3;
		text-decoration: none;
		text-shadow: 0 1px 3px #004cab;
		border-radius: 2rem;
		box-shadow: rgb(0, 103, 219) 0px 7px 0px 0px, rgba(255, 255, 255, 0.3) 0px 0px 20px 0px inset;
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 700;
}
.letter_btn:hover {
		filter: brightness(1.3);
}
.letter_btn:after {
		position: absolute;
		content: "";
		width: 3rem;
		height: 3rem;
		border-color: #fff;
		border-style: solid;
		border-width: 3.5px 3.5px 0 0;
		transform: rotate(45deg) translateY(-50%);
		top: 47%;
		right: 4rem;
}
.btn_ft .letter_btn {
		font-size: 5.5rem;
		line-height: 1.2;
		padding: 3rem 3rem 3rem 1rem;
}
.tokyo {
		background: #cf1d00;
		text-shadow: 0 1px 3px #690f00;
		box-shadow: rgb(159 0 0) 0px 7px 0px 0px, rgba(255, 255, 255, 0.3) 0px 0px 20px 0px inset;
}
.osaka {
		background: #00bc34;
		text-shadow: 0 1px 3px #005217;
		box-shadow: rgb(0 120 34) 0px 7px 0px 0px, rgba(255, 255, 255, 0.3) 0px 0px 20px 0px inset;
}
/* form ----------------------------------------------------------------------------------------------*/
.form_wrap {
		width: 100%;
		margin: 4rem 0 0;
}
.form_wrap a {
		text-decoration: none;
}
.form_txt {
		font-size: 2rem;
		text-align: center;
		line-height: 1.5;
}
.form_btn {
		position: relative;
}
.form_btn::after {
		position: absolute;
		content: '';
		background: url(../img/base/cta.png)no-repeat;
		width: 100px;
		height: 100px;
		right: -1.5rem;
		top: 50%;
		transform: translateY(-50%)scale(.3);
		display: inline-block;
}
/* footer ----------------------------------------------------------------------------------------------*/
#footer {
		background: #f1f1f1;
		color: var(--black);
}
.footer_logo img {
		max-width: 300px;
}
.footer_txt {
		padding: 0 0 0 2rem;
		font-size: 2rem;
		line-height: 1.9;
}
.footer_txt ul {
		padding: 0;
}
#footer_wrap {
		width: 100%;
		text-align: center;
		padding: 2rem 0;
		margin: 0 auto;
		font-size: 80%;
		justify-content: center;
}
#footer_wrap li {
		display: inline-block;
		padding: 0 1rem 0;
		border-left: 1px solid #aaa;
}
#footer_wrap li:first-child {
		border: none;
		padding: 0 1em 0 0;
}
/* scfooter ----------------------------------------------------------------------------------------------*/
#scfooter {
		z-index: 1000;
		position: fixed;
		bottom: 0;
		left: 0;
		width: 100%;
		padding: 0;
		background: rgb(255 255 255 / 70%);
		display: none;
}
.scfooter_inner {
		display: block;
		width: 90%;
		padding: 1rem 0;
		margin: 0 auto;
		border-radius: 20px;
		text-align: center;
		position: relative;
		max-width: calc(500px - 10rem);
}
.scfooter_inner a {
		text-decoration: none;
}
/*.scfooter_inner::before { position: absolute; content: ""; width: 280px; height: 150px; top: 1.4rem; left: 1rem; z-index: 10;}*/
.btn_ft {
		position: relative;
		overflow: hidden;
		border-radius: 4px;
		-webkit-border-radius: 4px;
		-moz-border-radius: 4px;
}
.hvr-wobble-vertical {
		vertical-align: middle;
		-webkit-transform: translateZ(0);
		transform: translateZ(0);
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
		-moz-osx-font-smoothing: grayscale;
}
.btn_ft a p {
		color: #fff;
		padding: 1.5rem 0;
		text-align: center;
		font-family: "Gothic MB101 Bold";
		line-height: 1;
		background: #0088c9;
		border-radius: 10px;
}
.btn_ft {
		position: relative;
}
.btn_ft .bg_wht {
		display: inline-block;
		background: #fff;
		color: #003fa7;
		font-size: 115%;
		padding: 0.5rem;
		line-height: 1;
		text-shadow: none;
}
.btn_ft .top_txt {
		top: -3px;
		position: relative;
}
.btn_ft .bottom_txt {
		display: block;
		font-size: 4.5rem;
		/* line-height: 1.5; */
}
.btn_ft .bottom_txt span {
		display: block;
		line-height: 1;
}
#scfooter.side .btn_ft .bottom_txt {
		margin-top: 0rem;
		display: block;
		font-size: 2.7rem;
}
.btn_ft img {
		border-radius: 4px;
}
.btn_ft a {
		text-decoration: none !important;
		display: block;
}
.btn_in {
		position: relative;
}
.btn_in::before {
		position: absolute;
		content: "";
		background-size: 220px;
		width: 280px;
		height: 150px;
		top: 1.4rem;
		left: 1rem;
		z-index: 10;
}
.btn_in .bg_wht {
		display: inline-block;
		background: #fff;
		color: #003fa7;
		font-size: 115%;
		padding: 0.5rem;
		line-height: 1;
		text-shadow: none;
}
.btn_in {
		position: relative;
		overflow: hidden;
		border-radius: 4px;
		-webkit-border-radius: 4px;
		-moz-border-radius: 4px;
}
.btn_in .letter_btn {
		font-size: 2.3rem;
		padding: 3rem;
		width: 80%;
		line-height: 1.6;
}
#scfooter .flex {
		justify-content: space-between;
}
#scfooter .btn_ft {
		width: 49%;
}
#scfooter .letter_btn {
		font-size: 4.5rem;
		padding: 3rem 2rem 3rem 1rem;
}
#header_bottom {
		background: #FEFDDF;
		padding: 6rem 0 10rem;
}
#header_bottom .btn_under_wrap {
		margin-top: 0;
}
#header_bottom .btn_under {
		margin-bottom: 0;
}
#header_bottom .btn_wrap {
		margin-bottom: 0;
}
.btn_ft img {
		display: inline;
		width: 28rem;
		padding-right: 1rem;
}
#header_bottom .letter_btn {
		margin-top: 0;
}
header .btn_under {
		width: 750px;
		margin: 0 auto;
}
header .btn_under_list img {
		margin: 0 auto;
		width: 100%;
}
.btn_under {
		margin: 0 auto;
}
.btn_under_list {
		margin: 0 auto;
		width: 30%;
}
.btn_under_list img {
		margin: 0 auto;
		width: 100%;
}
.btn_under_list p {
		font-size: 62%;
		padding: 5px;
		font-weight: bold;
		line-height: 1.3;
		margin: 0;
}
.btn_under_list .btn_under_list_txt {
		padding-top: 2rem;
}
/* form */
#form .form_item:has(.form_data) {
		grid-column: span 3 !important;
}
.form_must {
		position: relative;
}
#form .form_head label {
		display: block !important;
}
#form .form_must {
		top: 1.2rem;
}
/*-----------------------------------------------------
section
 -----------------------------------------------------*/
.ba_title {
		color: #fff;
		text-align: center;
		font-size: 5rem;
}
.ribbon {
		display: inline-block;
		position: relative;
		padding: 2rem 5rem;
		line-height: 1.3;
		color: #FFF;
		/*フォントカラー*/
		background: var(--subColor);
		/*背景色*/
}
.ribbon:before {
		position: absolute;
		content: '';
		top: 100%;
		left: 0;
		border: none;
		border-bottom: solid 7.5px transparent;
		border-right: solid 10px rgb(149, 158, 155);
		/*折り返し部分*/
}
.ribbon:after {
		position: absolute;
		content: '';
		top: 100%;
		right: 0;
		border: none;
		border-bottom: solid 7.5px transparent;
		border-left: solid 10px rgb(149, 158, 155);
		/*折り返し部分*/
}
.balloon {
		position: relative;
		padding: 2rem 5rem;
		border-radius: 50rem;
		background: var(--red);
		color: #fff;
		text-align: center;
		width: fit-content;
		margin: 0 auto 4rem;
}
.balloon::after {
		content: "";
		position: absolute;
		bottom: -3.9rem;
		left: 50%;
		z-index: 0;
		width: 5rem;
		height: 4rem;
		transform: translateX(-50%);
		box-sizing: border-box;
		background: var(--red);
		clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.balloon.balloon_top {
		margin-bottom: 0;
		margin-top: 8rem;
}
.balloon.balloon_top::after {
		content: "";
		position: absolute;
		bottom: auto;
		top: -4.9rem;
		left: 50%;
		z-index: 0;
		width: 10rem;
		height: 5rem;
		transform: translateX(-50%);
		box-sizing: border-box;
		background-color: #999;
		clip-path: polygon(0 100%, 50% 0, 100% 100%);
}
.balloon.bg_wht {
		background: #fff;
}
.balloon.bg_wht::after {
		background-color: #fff;
}
.balloon.bg_rd {
		background: var(--red);
}
.balloon.bg_rd::after {
		background-color: var(--red);
}
.balloon.bg_or {
		background: var(--mainColor);
		color: #fff;
}
.balloon.bg_or::after {
		background-color: var(--mainColor);
}
.balloon.bg_y {
		background: var(--yellow);
}
.balloon.bg_y::after {
		background-color: var(--yellow);
}
.balloon.bg_g {
		background: var(--subColor);
		color: #fff;
}
.balloon.bg_g::after {
		background-color: var(--subColor);
}
/***　ルーズリーフ風ボックス　***/
/*外枠の設定*/
.note-box {
		border: solid 2px #fff;
		/*外枠の線*/
		padding: 5rem 5rem 5rem 10rem;
		/*内側の余白*/
		position: relative;
		background: #fff;
		box-shadow: 4px 4px 0 var(--red);
}
.note-box .image {
		width: 20rem;
		height: 20rem;
		position: absolute;
		top: -6rem;
		left: 10rem;
}
.note-box p {
		position: relative;
		font-size: 4.2rem;
}
.note-box .title {
		font-size: 5rem;
		padding-left: 22rem;
		margin-bottom: 6rem;
}
.note-box p:after {
		content: '';
		display: block;
		border-bottom: dotted 1px #ccc;
}
/*ドットの設定*/
.note-box::before {
		content: "";
		position: absolute;
		border-right: dotted 10px #ddd;
		/*ドットの大きさ、高さ*/
		height: 90%;
		top: 0.5em;
		/*位置*/
		left: 0.5em;
		/*位置*/
}
.flexbox {
		display: flex;
		justify-content: space-between;
}
.flexbox .col2 {
		width: 48.5%;
}
/* -- sec1 --*/
#lp_sec1 {
		background: rgb(242, 255, 222);
		background: linear-gradient(0deg, rgba(242, 255, 222, 1) 0%, rgba(254, 255, 244, 1) 100%);
}
.hukidasi4 {
		position: relative;
		padding: 4rem;
		border-radius: 5rem;
		border: 2px solid #0f7282;
		color: #333;
		font-weight: bold;
		font-size: 5rem;
		text-align: center;
}
.hukidasi4:before {
		position: absolute;
		top: 100%;
		left: 50%;
		transform: translateX(-50%);
		height: 3px;
		width: 20px;
		background-color: #fff;
		content: "";
}
.hukidasi4:after {
		position: absolute;
		top: 90%;
		left: 50%;
		transform: translateX(-50%);
		height: 40px;
		width: 2px;
		background-color: #0f7282;
		content: "";
}
.lead.pt1 {
		background: #ffffff99;
		padding: 4rem 0;
		box-shadow: 0 0 10rem 0 rgb(162 253 234 / 68%);
}
/*---ribbon1-----------------------*/
.ribbon1 {
		display: inline-block;
		position: relative;
		line-height: 8rem;
		text-align: center;
		padding: 2rem 10rem 2.5rem;
		color: #fffcbd;
		box-sizing: border-box;
		background: linear-gradient(to bottom, #04a1aa, #126678);
		margin-top: 1rem;
}
.ribbon1:before, .ribbon1:after {
		position: absolute;
		content: '';
		width: 0px;
		height: 0px;
		z-index: 1;
}
.ribbon1:before {
		top: 0;
		left: 0;
		border-width: 10.5rem 0 10.5rem 5rem;
		border-color: transparent transparent transparent #F3FFE0;
		border-style: solid;
}
.ribbon1:after {
		top: 0;
		right: 0;
		border-width: 10.5rem 5rem 10.5rem 0;
		border-color: transparent #F3FFE0 transparent transparent;
		border-style: solid;
}
/* -- sec2 --*/
#lp_sec2 {
		background-color: #fff8ed;
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60' viewBox='0 0 60 60'%3E%3Cg fill-rule='evenodd'%3E%3Cg fill='%23fff0d9' fill-opacity='0.4' fill-rule='nonzero'%3E%3Cpath d='M29 58.58l7.38-7.39A30.95 30.95 0 0 1 29 37.84a30.95 30.95 0 0 1-7.38 13.36l7.37 7.38zm1.4 1.41l.01.01h-2.84l-7.37-7.38A30.95 30.95 0 0 1 6.84 60H0v-1.02a28.9 28.9 0 0 0 18.79-7.78L0 32.41v-4.84L18.78 8.79A28.9 28.9 0 0 0 0 1.02V0h6.84a30.95 30.95 0 0 1 13.35 7.38L27.57 0h2.84l7.39 7.38A30.95 30.95 0 0 1 51.16 0H60v27.58-.01V60h-8.84a30.95 30.95 0 0 1-13.37-7.4L30.4 60zM29 1.41l-7.4 7.38A30.95 30.95 0 0 1 29 22.16 30.95 30.95 0 0 1 36.38 8.8L29 1.4zM58 1A28.9 28.9 0 0 0 39.2 8.8L58 27.58V1.02zm-20.2 9.2A28.9 28.9 0 0 0 30.02 29h26.56L37.8 10.21zM30.02 31a28.9 28.9 0 0 0 7.77 18.79l18.79-18.79H30.02zm9.18 20.2A28.9 28.9 0 0 0 58 59V32.4L39.2 51.19zm-19-1.4a28.9 28.9 0 0 0 7.78-18.8H1.41l18.8 18.8zm7.78-20.8A28.9 28.9 0 0 0 20.2 10.2L1.41 29h26.57z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}
.bf_list, .an_list {
		padding: 5rem;
		background: #ffffec;
}
.bf_list h3, .an_list h3 {
		font-family: 'Noto Serif JP', serif;
		text-align: center;
		font-size: 6rem;
		line-height: 1.5;
}
.bf_list + .an_list {
		margin: 5rem auto 0
}
.bf_list {
		background: #faffff;
		padding: 5rem 5rem 3rem;
		border: #126678 2px solid;
		border-radius: 15px;
}
.an_list {
		padding: 5rem 5rem 3rem;
		border: #dc1f00 2px solid;
		border-radius: 15px;
}
.ba_list li {
		position: relative;
		padding: 3rem 1rem 3rem 7rem;
		line-height: 1.4;
		font-weight: 600;
		border-bottom: 2px dotted #c0c0c0;
}
.ba_list li:last-child {
		border-bottom: none;
}
.ba_list li:before, .ba_list li:after {
		content: "";
		position: absolute;
}
.ba_list li:before {
		top: 3.5rem;
		left: 1.4rem;
		-webkit-transform: rotate(50deg);
		-ms-transform: rotate(50deg);
		transform: rotate(50deg);
		width: 1.5rem;
		height: 3.5rem;
		border-right: 3px solid #126678;
		border-bottom: 3px solid #126678;
}
.ba_list li:after {
		left: 0;
		top: 4rem;
		width: 4rem;
		height: 4rem;
		border: 1px solid #126678;
		border-radius: 3px;
}
.an_list .ba_list li:before {
		top: 3.5rem;
		left: 1.4rem;
		-webkit-transform: rotate(50deg);
		-ms-transform: rotate(50deg);
		transform: rotate(50deg);
		width: 1.5rem;
		height: 3.5rem;
		border-right: 3px solid #dc1f00;
		border-bottom: 3px solid #dc1f00;
}
.an_list .ba_list li:after {
		left: 0;
		top: 4rem;
		width: 4rem;
		height: 4rem;
		border: 1px solid #dc1f00;
		border-radius: 3px;
}
.sec2_box_ttl {
		width: 100%;
		padding: 3rem 0;
		margin: 0 auto;
		background: var(--red);
		background-image: linear-gradient(90deg, #aa0619 0%, #001852 100%);
		color: #fff;
		font-weight: 900;
		line-height: 1.4;
		text-align: center;
		border-radius: 3rem 3rem 0 0;
}
/*-----------------------------------------------------
list
-----------------------------------------------------*/
.list {
		margin-top: 4rem;
		margin-bottom: 2rem;
}
.list li:first-child {
		border-top: 2px dotted #c0c0c0;
}
.list li {
		border-bottom: 2px dotted #c0c0c0;
		padding: 3rem 1rem 3rem 6rem;
		position: relative;
		font-family: 'Noto sans JP', "san-serif";
}
.list li:before, .list li:after {
		content: "";
		display: block;
		position: absolute;
}
.list li::before {
		width: 4rem;
		height: 4rem;
		border-radius: 4px;
		left: 0;
		top: 4.7rem;
		background: var(--red);
}
.list li:after {
		border-left: 2.5px solid #fff;
		border-bottom: 2.5px solid #fff;
		width: 2.2rem;
		height: 1rem;
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
		left: 0.5rem;
		top: 5.7rem;
}
#lp_sec2 .list {
		padding: 1.5rem 5rem 2rem;
		margin: 0;
		background: #fff;
		border-radius: 0 0 3rem 3rem;
}
#lp_sec2 .list li:first-child {
		border-top: none;
}
#lp_sec2 .list li:last-child {
		border-bottom: none;
}
/* -- sec3_1 --*/
#lp_sec3_1 {
		padding: 0 0 6rem;
		background: #fffff4;
}
#lp_sec3_1 .sub_head {
		text-align: center;
		line-height: 1.4;
		background: #ffffffb3;
		padding: 4rem 3rem;
		border-top: 3px solid #126678;
		border-bottom: 3px solid #126678;
}
.lead_l {
		font-size: 5.5rem;
		line-height: 1;
		text-align: left;
		font-weight: 700;
}
.content_box img {
		box-shadow: 2px 0px 15px 4px #ffeacb;
}
.content_ttl {
		color: rgb(211 165 83 / 22%);
		font-style: italic;
		font-size: 8rem;
}
.content_num {
		color: #c6a966;
		font-size: 12rem;
}
/* -- sec3_2 --*/
#lp_sec3_2 {
		padding: 7rem 0 12rem;
		background-color: #f8f5e0;
		position: relative;
}
#lp_sec3_2::before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 0 0 5rem 100rem;
		border-color: transparent transparent transparent #fffff4;
}
#lp_sec3_2::after {
		content: "";
		position: absolute;
		bottom: 0;
		left: 0;
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 5rem 0 0 100rem;
		border-color: transparent transparent transparent #fffff4;
}
.lead_r {
		font-size: 5.5rem;
		line-height: 1;
		text-align: right;
		font-weight: 700;
}
/* -- sec3_3 --*/
#lp_sec3_3 {
		padding: 3rem 0 6rem;
		background: #fffff4;
		position: relative;
}
/* -- sec3_4 --*/
#lp_sec3_4 {
		padding: 7rem 0 12rem;
		background-color: #f8f5e0;
		position: relative;
}
#lp_sec3_4::before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 0 0 5rem 100rem;
		border-color: transparent transparent transparent #fffff4;
}
#lp_sec3_4::after {
		content: "";
		position: absolute;
		bottom: 0;
		left: 0;
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 5rem 0 0 100rem;
		border-color: transparent transparent transparent #fffff4;
}
/* -- sec3_5 --*/
#lp_sec3_5 {
		padding: 3rem 0 12rem;
		background: #fffff4;
		position: relative;
}
.dot {
		font-weight: bold;
		border-bottom: 1px dotted;
		margin: 0 auto;
}
/* -- sec4 --*/
#lp_sec4 {
		color: #fff;
		background-color: rgb(0, 58, 55);
		fill: rgba(0, 61, 63, 0.49);
		background-size: 800px;
		background-repeat: repeat;
		background-image: url("data:image/svg+xml;charset=utf8,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' x='0' y='0' viewBox='0 0 600 600' xml:space='preserve'%3E%3Cstyle%3E.st0{fill:rgba(0, 61, 63, 0.49)}%3C/style%3E%3Cpath class='st0' d='M-.3 111.6H110v6H-.3zM-.3 99.9H110v6H-.3zM-.3 88.2H110v6H-.3zM-.3 76.5H110v6H-.3zM-.3 64.8H110v6H-.3zM-.3 53.1H110v6H-.3zM-.3 41.4H110v6H-.3zM-.3 18H110v6H-.3zM-.3 29.7H110v6H-.3zM-.3 6.3H110v6H-.3zM552.1 205h16.2v395h-16.2z'/%3E%3Cpath class='st0' d='M520.6 240.8H328.5v6h192.1v5.7H328.5v6h192.1v5.7H328.5v6h192.1v5.7H328.5v6h192.1v5.7H328.5v6h192.1v5.7H328.5v6h192.1v5.7H328.5v6h192.1v5.7H328.5v6h192.1v5.7H328.5v6h192.1v5.7H328.5v5h-.3v86.3H221.5V347h.2V240.6h106.8v-107H221.7v36.8h-.2V0h-6v170.4h-5.7V0h-6v170.4h-5.7V0h-6v170.4h-5.7V0h-6v170.4h-5.7V0h-6v170.4H163V0h-6v170.4h-5.7V0h-6v170.4h-5.7V0h-6v170.4H128V0h-6v170.4h-5.7V0h-6v122.9H.1v16.2h110.2v15.2H.1v16.2h110v5.9h111.6v17.4H110.3v-5.7h111v-6H109.7v3.6H.1V202h110.3v-2.1h111.3v5.7H110.1v6h111.6v5.7H.1v16.2h110v1.5h111.6v5.1H110v8.6H.1v16.2H110V280H.1v16.2H110v15.2H.1v16.2H110v15.2H.1V359h110.2v15.2H.1v16.2h110.2v15.2H.1V422h110.2v15.4H0v16.2h110.2v15.2H0V485h110.2v15.2H0v99.4h82v-83.2h28.2V599h6v-82.6h5.7V599h6v-82.6h5.7V599h6v-82.6h5.7V599h6v-82.6h5.7V599h6v-82.6h5.7V599h6v-82.6h5.7V599h6v-82.6h5.7V599h6v-82.6h5.7V599h6v-82.6h5.7V599h6v-82.6h25V599h82v-82.6H404V599h6v-82.6h5.7V599h6v-82.6h5.7V599h6v-82.6h5.7V599h6v-82.6h5.7V599h6v-82.6h5.7V599h6v-82.6h5.7V599h6v-82.6h5.7V599h6v-82.6h5.7V599h6v-82.6h5.7V599h6v-82.6h5.4V600h16.2V205h-16.2v35.8zm-410.3-11.9v-5.7h111.3v5.7H110.3zm387.2 208.5h-5.7v-85.3h5.7v85.3zm6.1-85.3h5.7v85.3h-5.7v-85.3zm-17.7 85.3h-5.7v-85.3h5.7v85.3zm-11.7 0h-5.7v-85.3h5.7v85.3zm-11.7 0h-5.7v-85.3h5.7v85.3zm-11.7 0h-5.7v-85.3h5.7v85.3zm-11.7 0h-5.7v-85.3h5.7v85.3zm-11.7 0h-5.7v-85.3h5.7v85.3zm-11.7 0h-5.5v-85.3h5.5v85.3zm0 16.2v15.2H410v-15.2h5.7zm6 0h5.7v15.2h-5.7v-15.2zm11.7 0h5.7v15.2h-5.7v-15.2zm11.7 0h5.7v15.2h-5.7v-15.2zm11.7 0h5.7v15.2h-5.7v-15.2zm11.7 0h5.7v15.2h-5.7v-15.2zm11.7 0h5.7v15.2h-5.7v-15.2zm11.7 0h5.7v15.2h-5.7v-15.2zm11.7 0h5.7v15.2h-5.7v-15.2zm11.7 0h5.4v15.2h-5.4v-15.2zm0-16.2v-85.3h5.4v85.3h-5.4zM404 453.6v15.2H221.5v-15.2H404zm-211.9-16.2h-5.7V347h5.7v90.4zm6-90.4h5.7v90.4h-5.7V347zm-17.7 90.4h-5.7V347h5.7v90.4zm-11.7 0H163V347h5.7v90.4zm-11.7 0h-5.7V347h5.7v90.4zm-11.7 0h-5.7V347h5.7v90.4zm-11.7 0H128V347h5.7v90.4zm0 16.2v15.2H128v-15.2h5.6zm6.1 0h5.7v15.2h-5.7v-15.2zm11.6 0h5.7v15.2h-5.7v-15.2zm11.7 0h5.7v15.2H163v-15.2zm11.7 0h5.7v15.2h-5.7v-15.2zm11.7 0h5.7v15.2h-5.7v-15.2zm11.7 0h5.7v15.2h-5.7v-15.2zm11.7 0h5.7v15.2h-5.7v-15.2zm5.7-16.2h-5.7V347h5.7v90.4zM116.3 347h5.7v90.4h-5.7V347zm0 106.6h5.7v15.2h-5.7v-15.2zm0 46.6V485h5.7v15.2h-5.7zm11.7 0V485h5.7v15.2H128zm11.7 0V485h5.7v15.2h-5.7zm11.6 0V485h5.7v15.2h-5.7zm11.7 0V485h5.7v15.2H163zm11.7 0V485h5.7v15.2h-5.7zm11.7 0V485h5.7v15.2h-5.7zm11.7 0V485h5.7v15.2h-5.7zm11.7 0V485h5.7v15.2h-5.7zm11.7 0V485H404v15.2H221.5zm188.5 0V485h5.7v15.2H410zm11.7 0V485h5.7v15.2h-5.7zm11.7 0V485h5.7v15.2h-5.7zm11.7 0V485h5.7v15.2h-5.7zm11.7 0V485h5.7v15.2h-5.7zm11.7 0V485h5.7v15.2h-5.7zm11.7 0V485h5.7v15.2h-5.7zm11.7 0V485h5.7v15.2h-5.7zm11.7 0V485h5.7v15.2h-5.7zm11.7 0V485h5.4v15.2h-5.4zM583.5 205h16.2v395h-16.2z'/%3E%3Cpath class='st0' d='M328.5 198.6h271.2v6H328.5zM328.5 186.9h271.2v6H328.5zM328.5 175.2h271.2v6H328.5zM328.5 163.5h271.2v6H328.5zM328.5 151.8h271.2v6H328.5zM328.5 140.2h271.2v6H328.5zM328.5 128.5h271.2v6H328.5zM328.5 105.1h271.2v6H328.5zM328.5 116.8h271.2v6H328.5zM328.5 93.4v6h271.2V-.4h-82.8v93.8z'/%3E%3Cpath class='st0' d='M328.2 0h84.4v93.2h-84.4z'/%3E%3C/svg%3E");
}
#lp_sec4 a {
		text-decoration: none;
}
/* -- sec4_2 --*/
#lp_sec4_2 {
		background: #041d1c;
		color: #fff;
}
#lp_sec4_2 .arrow {
		border-color: #fff transparent transparent transparent;
		border-width: 25px 20px 0 20px;
}
/*-----------------------------------------------------
hukidashi
-----------------------------------------------------*/
.hukidashi {
		position: relative;
		margin-bottom: 3rem;
}
.hukidashi::before, .hukidashi::after {
		position: absolute;
		top: 1.5rem;
		content: '';
		width: 2px;
		height: 19rem;
		background: var(--yellow);
}
.hukidashi::before {
		transform: skew(25deg);
		left: 6rem;
}
.hukidashi::after {
		transform: skew(-25deg);
		right: 6rem;
}
/* -- sec5 --*/
#lp_sec5 {
		background-color: rgb(255, 255, 255);
		background-image: linear-gradient(90deg, rgb(231 255 243) 0px, rgb(245 255 252));
}
.sub_head_wrap {
		background-color: var(--mainTxtColor);
		position: relative;
		margin-bottom: 10rem;
}
.sub_head_wrap::before, .sub_head_wrap::after {
		content: "";
		position: absolute;
		left: 0;
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 0 0 5rem 100rem;
}
.sub_head_wrap::before {
		bottom: -4.9rem;
		border-color: transparent transparent transparent var(--mainTxtColor);
}
.sub_head_wrap::after {
		top: 0;
		border-color: transparent transparent transparent #edfff7;
}
#lp_sec5 .sub_head {
		width: 100%;
		padding: 6rem 2rem 0;
		line-height: 1.3;
		text-align: center;
		color: #fff;
		rotate: -3deg;
		font-size: 7rem;
}
.symptom {
		background: linear-gradient(#fffff7, #fffdd5);
		margin-top: 3rem;
		padding: 6rem 5rem;
		background-size: cover;
		background-repeat: no-repeat;
		border: 2px solid #d2ac28;
		border-radius: 8rem;
}
.symptom_ttl {
		font-weight: 700;
		text-align: center;
		line-height: 1.4;
		margin-bottom: 4rem;
		font-size: 5.5rem;
}
.symptom_notice {
		color: var(--red);
		font-weight: 700;
		position: relative;
}
.symptom_notice li {
		position: relative;
		padding-left: 4.5rem;
		display: inline-block;
		margin-top: 2rem;
}
.symptom_notice li::before {
		content: "※";
		position: absolute;
		left: 0;
}
/* -- sec6 --*/
#lp_sec6 {
		background: #FFFFDC;
}
.case_b {
		background: #126678;
		padding: 5rem 0 3rem;
		border-radius: 8rem 8rem 0 0;
}
.case_b .lead {
		color: #fff;
}
.case_b .hukidashi2 {
		color: var(--mainTxtColor);
}
.case_a {
		background: #dc1f00;
		padding: 2.5rem 0;
		border-radius: 150px 0 0 0;
}
.case_num {
		background: #FFF;
		color: #126678;
		margin: 0 auto 2rem;
		text-align: center;
		width: fit-content;
		font-weight: 700;
		border-radius: 50rem;
		padding: 0rem 4rem 1rem;
}
.case_box + .case_box {
		margin-top: 8rem;
}
.hukidashi2 {
		width: fit-content;
		text-align: center;
		padding: 3rem 6rem;
		background: #fff;
		border-radius: 5rem;
		display: block;
		margin: 0 auto 5rem;
		font-weight: bold;
		position: relative;
		font-size: 5rem;
		line-height: 1.4;
}
.hukidashi2::after {
		position: absolute;
		content: "";
		width: 0;
		height: 0;
		bottom: -20px;
		left: 50%;
		transform: translateX(-50%);
		border-style: solid;
		border-width: 20px 15px 0 15px;
		border-color: #fff transparent transparent transparent;
}
/* -- sec7 --*/
#lp_sec7 {
		padding: 0 0 5rem;
		background: #083139;
		color: #fff;
}
#lp_sec7 .sub_head {
		position: relative;
}
#lp_sec7 .sub_head::after {
		position: absolute;
		content: "";
		width: 0;
		height: 0;
		bottom: -20px;
		left: 50%;
		transform: translateX(-50%);
		border-style: solid;
		border-width: 20px 15px 0 15px;
		border-color: #b59c44 transparent transparent transparent;
}
.slash {
		position: relative;
}
.slash::after {
		content: '';
		background-size: 7px 7px;
		background-color: #04a1aa;
		background-image: repeating-linear-gradient(-45deg, #04a1aa 0, #04a1aa 3px, #fff 0, #fff 50%);
		width: 100%;
		height: 7px;
		position: absolute;
		bottom: -5px;
		left: 0;
}
/* -- sec8 --*/
#lp_sec8 {
		padding: 6rem 0 12rem;
		background-color: #f5f5db;
		background-image: url("data:image/svg+xml,%3Csvg width='44' height='12' viewBox='0 0 44 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 12v-2L0 0v10l4 2h16zm18 0l4-2V0L22 10v2h16zM20 0v8L4 0h16zm18 0L22 8V0h16z' fill='%23fbfcf0' fill-opacity='0.4' fill-rule='evenodd'/%3E%3C/svg%3E");
}
#lp_sec8 .sub_head {
		line-height: 1.3;
}
.sum_up_box + .sum_up_box {
		margin-top: 6rem;
}
.sum_up_ttl {
		position: relative;
		align-items: center;
		border-bottom: 2px solid #dc1f00;
		margin-bottom: 4rem;
		padding-bottom: 2rem;
}
.sum_up_ttl p {
		font-weight: 900;
		font-size: 9rem;
		color: #dc1f00;
		text-align: center;
		line-height: 1;
		font-style: italic;
		margin: 0 auto 1rem;
}
.sum_up_ttl h3 {
		font-size: 6rem;
		line-height: 1.4;
		text-align: center;
		font-weight: 900;
}
.sum_up_box img {
		margin-bottom: 3rem;
}
/* -- sec9 --*/
#lp_sec9 {
		background-color: #f5f4e7;
		background-image: url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 20.5V18H0v-2h20v-2H0v-2h20v-2H0V8h20V6H0V4h20V2H0V0h22v20h2V0h2v20h2V0h2v20h2V0h2v20h2V0h2v20h2v2H20v-1.5zM0 20h2v20H0V20zm4 0h2v20H4V20zm4 0h2v20H8V20zm4 0h2v20h-2V20zm4 0h2v20h-2V20zm4 4h20v2H20v-2zm0 4h20v2H20v-2zm0 4h20v2H20v-2zm0 4h20v2H20v-2z' fill='%23eeedd7' fill-opacity='0.4' fill-rule='evenodd'/%3E%3C/svg%3E");
}
.sld_box {
		padding: 6rem 5rem;
		border: 3px solid #d2ac28;
		background: #fff;
		border-radius: 8rem;
		height: 110rem;
}
.sld_box img {
		margin-bottom: 3rem;
}
.swiper {
		margin-top: 4rem;
}
.swiper-button-next, .swiper-button-prev {
		width: 3% !important;
}
.swiper-button-next:after, .swiper-button-prev:after {
		font-size: 7rem !important;
}
.triangle {
		width: 0;
		height: 0;
		border-left: 5rem solid transparent;
		border-right: 5rem solid transparent;
		border-top: 5rem solid #c52022;
		position: absolute;
		left: 45%;
		top: 46rem;
}
.triangle2 {
		width: 0;
		height: 0;
		border-left: 5rem solid transparent;
		border-right: 5rem solid transparent;
		border-top: 5rem solid #c52022;
		position: absolute;
		left: 45%;
		top: 43rem;
}
.triangle3 {
		width: 0;
		height: 0;
		border-left: 5rem solid transparent;
		border-right: 5rem solid transparent;
		border-top: 5rem solid #111;
		position: absolute;
		left: 45%;
		top: 35rem;
}
@media screen and (max-width: 480px) {
		.triangle {
				top: 45.5rem;
		}
}
/* -- sec10 --*/
#lp_sec10 {
		background: url(../img/ozw_lp_sec10_1_bg.jpg);
		background-position: top center;
}
/* -- sec11 --*/
#lp_sec11 {
		background-color: #fffcbd;
}
.hukidashi3 {
		position: relative;
		padding: 0 0 2rem;
		border-bottom: 3px solid #0C292F;
		margin: 0 auto 5rem;
}
.hukidashi3:before {
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		bottom: -40px;
		content: '';
		border-width: 20px;
		border-style: solid;
		border-color: #0C292F transparent transparent transparent;
}
.hukidashi3:after {
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		bottom: -36px;
		content: '';
		border-width: 20px;
		border-style: solid;
		border-color: #fffcbd transparent transparent transparent;
}
.caption {
		width: 100%;
		padding: 3rem;
		margin: 0 auto;
		background: #093a44;
		color: #fff;
		font-weight: bold;
		line-height: 1.4;
		text-align: center;
}
/* -- sec12 --*/
#lp_sec12 {
		padding: 0 0 12rem;
		background-attachment: fixed;
		background-color: #07242a;
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='152' height='152' viewBox='0 0 152 152'%3E%3Cg fill-rule='evenodd'%3E%3Cg id='temple' fill='%23a1ccd5' fill-opacity='0.03'%3E%3Cpath d='M152 150v2H0v-2h28v-8H8v-20H0v-2h8V80h42v20h20v42H30v8h90v-8H80v-42h20V80h42v40h8V30h-8v40h-42V50H80V8h40V0h2v8h20v20h8V0h2v150zm-2 0v-28h-8v20h-20v8h28zM82 30v18h18V30H82zm20 18h20v20h18V30h-20V10H82v18h20v20zm0 2v18h18V50h-18zm20-22h18V10h-18v18zm-54 92v-18H50v18h18zm-20-18H28V82H10v38h20v20h38v-18H48v-20zm0-2V82H30v18h18zm-20 22H10v18h18v-18zm54 0v18h38v-20h20V82h-18v20h-20v20H82zm18-20H82v18h18v-18zm2-2h18V82h-18v18zm20 40v-18h18v18h-18zM30 0h-2v8H8v20H0v2h8v40h42V50h20V8H30V0zm20 48h18V30H50v18zm18-20H48v20H28v20H10V30h20V10h38v18zM30 50h18v18H30V50zm-2-40H10v18h18V10z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}
#lp_sec12 .arrow2 {
		border-color: transparent transparent var(--yellow) var(--yellow);
}
.prf_box {
		margin: 0;
		position: relative;
}
.prf_box:last-of-type {
		margin-bottom: 0;
}
.prf_box p {
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 900;
		padding: 3rem 0;
		text-align: center;
		line-height: 1.3;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		background: #fffcbd;
		border-radius: 8rem 8rem 0 0;
}
.prf_box p.text_box {
		font-weight: 700;
		padding: 2rem 0;
		text-align: center;
		line-height: 1.3;
		color: #093a44;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		background: #e3cc99;
}
.prf_box .xsmall {
		font-size: 70%;
		display: contents;
}
.prf_box img {
		border-radius: 0 0 8rem 8rem;
}
.prf_box2 {
		background: #fff;
		padding: 6rem 5rem;
		border-radius: 5rem;
		margin-bottom: 2rem;
}
#lp_sec12 .notice + .prf_box {
		margin-top: 6rem;
}
/* -- sec13 --*/
#lp_sec13 {
		padding: 0 0 6rem;
		background: #000;
}
.naname_ttl_wrap {
		background-color: #c52022;
		position: relative;
		margin-bottom: 5rem;
}
.naname_ttl_wrap::before, .naname_ttl_wrap::after {
		content: "";
		position: absolute;
		left: 0;
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 0 0 5rem 100rem;
}
.naname_ttl_wrap::before {
		bottom: -4.9rem;
		border-color: transparent transparent transparent #c52022;
}
.naname_ttl_wrap::after {
		top: 0;
		border-color: transparent transparent transparent #000 !important;
}
.naname_ttl {
		color: #fff;
		text-align: center;
		padding: 4rem 2rem 0;
		rotate: -3deg;
		font-size: 9rem;
		font-weight: 900;
}
/* -- sec14 --*/
#lp_sec14 {
		background-image: url(../img/bg_sec14.jpg);
		background-position: top center;
		padding: 12rem 0 8rem;
}
/* -- sec15 --*/
#lp_sec15 {
		padding: 0 0 12rem;
		background-color: #000000;
		color: #fff;
}
#lp_sec15 .balloon {
		background: var(--blue);
		color: #fff;
}
#lp_sec15 .balloon::after {
		content: none;
}
/* -- schedule ----------------------------------------------------------------------------------------------*/
#schedule {
		background: #ffffdc;
}
#schedule .hukidashi {
		margin-bottom: 1rem;
}
#schedule .hukidashi::before, #schedule .hukidashi::after {
		top: 0.5rem;
		height: 9rem;
}
/* 日程 */
.sche_day {
		background: #ffee98;
		text-align: center;
		font-weight: bold;
		border: 1px solid #ccc;
		padding: 2rem;
}
.sche_day2 {
		background: #897804;
}
.schedule_ttl {
		border-left: 5px solid #c52022;
		margin-top: 6rem;
		margin-bottom: 2rem;
		padding-left: 3rem;
		font-size: 5.5rem;
		font-weight: bold;
		color: var(--red);
		line-height: 1.2;
}
.schedule_table {
		width: 100%;
		border: 1px solid #ccc;
		font-weight: 500;
		position: relative;
		font-size: 3.5rem;
}
.schedule_table th, .schedule_table td {
		border: 1px solid #ccc;
		padding: 2rem;
}
.schedule_table th {
		background: #4f4f4f;
		color: #fff;
		text-align: center;
		font-weight: bold;
}
.schedule_table th:nth-child(1) {
		width: 40rem;
}
.schedule_table th:nth-child(2) {
		width: 30rem;
}
.schedule_table tr:nth-of-type(even) {
		background: #fbfbfb;
}
.schedule_table tr:nth-of-type(odd) {
		background: #fff;
}
.schedule_table td:nth-child(3) {
		text-align: center;
		vertical-align: middle;
}
.schedule_table td a {
		text-decoration: none;
		-webkit-animation: blink 0.6s ease-in-out infinite alternate;
		-moz-animation: blink 0.6s ease-in-out infinite alternate;
		animation: blink 0.6s ease-in-out infinite alternate;
		color: #b50000;
		font-size: 100%;
		font-weight: bold;
}
/* 会場 */
.schedule_place {
		font-size: 4rem;
}
.schedule_place hr {
		margin: 7rem 0;
}
.map {
		width: 100%;
		height: auto;
		margin: 2rem auto 0;
}
.schedule_place hr {
		margin: 5rem 0;
		color: #105e66;
}
/* -- sec16 --*/
#lp_sec16 {
		background: #fffff5;
}
/* -- よくある質問 ----------------------------------------------------------------------------------------------*/
#cp {
		background-color: #f5f5db;
}
.cp_qa *, .cp_qa *:after, .cp_qa *:before {
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
}
.cp_qa .cp_actab {
		position: relative;
		overflow: hidden;
		width: 100%;
		margin: 0 0 1em 0;
}
.cp_qa .cp_actab:last-child {
		margin-bottom: 0;
}
.cp_qa .cp_actab input {
		position: absolute;
		opacity: 0;
}
/* 質問 */
.cp_qa .cp_actab label {
		font-weight: bold;
		line-height: 1.6em;
		position: relative;
		display: block;
		margin: 0 0 0 0;
		padding: 1em 2em 1em 2.8em;
		cursor: pointer;
		border-radius: 0.5em;
		background: #fff;
		font-size: 4rem;
}
.cp_qa .cp_actab label::before {
		position: absolute;
		font-family: serif;
		font-size: 1.5em;
		left: 3rem;
		top: 4.2rem;
		content: 'Q';
}
.cp_qa .cp_actab label:hover {
		transition: all 0.3s;
		color: #0059a9;
}
/* --質問の＋アイコン */
.cp_qa .cp_actab label::after {
		font-size: 1.7em;
		font-weight: bold;
		/* line-height: 2em; */
		position: absolute;
		top: 4rem;
		right: 0;
		content: '+';
		display: inline-block;
		right: 2rem;
		-webkit-transition: transform 0.4s;
		transition: transform 0.4s;
		position: absolute;
}
/* 答え */
.cp_qa .cp_actab .cp_actab-content {
		position: relative;
		overflow: hidden;
		max-height: 0;
		padding: 0 0 0 2.5em;
		-webkit-transition: max-height 0.2s;
		transition: max-height 0.2s;
		border-radius: 0 0 0.5em 0.5em;
		font-size: 3.5rem;
}
.cp_qa .cp_actab .cp_actab-content::before {
		font-family: serif;
		font-size: 1.5em;
		position: absolute;
		margin: 0.4em 0 0 -1em;
		padding: 0;
		content: 'A';
		color: var(--red);
		top: 2rem;
}
.cp_qa .cp_actab .cp_actab-content_inner {
		padding: 5rem 5rem 5rem 0;
}
/* 質問を開いた時の仕様 */
/* --答えの高さ */
.cp_qa .cp_actab input:checked ~ .cp_actab-content {
		max-height: 55em;
		border: 10px solid #fff;
		border-top: none;
		background: #f8f8f8;
}
/* --答えの高さ */
.cp_qa .cp_actab input:checked ~ .cp_actab-content.px {
		max-height: 85em;
		border: 10px solid #fff;
}
/* 質問をクリックした時のアイコンの動き */
.cp_qa .cp_actab input:checked ~ label {
		border-radius: 0.5em 0.5em 0 0;
}
/* 質問をクリックした時の+の動き */
.cp_qa .cp_actab input[type=checkbox]:checked + label::after {
		-webkit-transform: rotateZ(45deg);
		transform: rotateZ(45deg);
		-webkit-transform-origin: 50% 50%;
		transform-origin: 50% 50%;
}
.cp_actab .notice {
		padding-top: 0;
}
.ac_inner {
		background: #fff4e9;
		padding: 2rem;
}
.ac_inner:first-child {
		padding: 0rem;
}
/* アコーディオンエリアの設定 */
.ac_area {
		display: none;
		padding: 0 0 2rem;
}
.ac_inner:first-child {
		padding: 0rem;
}
/* フォームボタンの文言・アイコン */
.cta_btn:after {
		content: '▶';
		position: absolute;
		right: 3rem;
		top: 50%;
		transform: translateY(-50%);
}
.cta_btn.opened {
		background: var(--gray);
		border: 2px solid #8c8c8c;
}
.cta_btn.opened:before {
		content: '閉じる';
		font-size: 4.5rem;
}
.cta_btn.opened:after {
		content: '▲';
}
.cta_btn span {
		display: block;
		font-size: 4.5rem;
}
.cta_btn.opened span {
		display: none;
}
.cta_btn {
		display: block;
		width: 100%;
		background: #04a1aa;
		font-weight: bold;
		color: #fff;
		line-height: 1.2;
		padding: 3rem 0;
		cursor: pointer;
		transition: 0.3s ease;
		position: relative;
		border: none;
		z-index: 10;
		text-decoration: none;
}
.cta_btn:hover {
		filter: brightness(1.3);
}
/* -- ボタン網掛け --*/
/*ボタンの親要素にposition:relative;を追加*/
.header_form {
		position: relative;
		margin-top: 3rem;
		padding-bottom: 8rem;
} /*ボタンの親要素にposition:relative;を追加*/
.form_close {
		pointer-events: none;
} /*ボタンをクリックできないようにする(時限式で追加される)*/
.form_close .btn_ft {
		opacity: 0.3;
} /*ボタンに薄い網掛けをする(時限式で追加される)*/
.form_close:before {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		content: "募集は終了しました";
		font-weight: 900;
		font-size: 5rem;
		z-index: 1;
		color: var(--red);
		font-family: 'Noto Sans JP', sans-serif;
		background: #fff;
		padding: 13rem 20rem;
		width: fit-content;
		text-align: center;
}
#message .btn2 .btn_ft .letter_btn {
		width: 34%;
		min-width: 510px;
}
/*ボタンの親要素にposition:relative;を追加*/
.form_close {
		pointer-events: none;
		position: relative;
}
/*ボタンをクリックできないようにする(時限式で追加される)*/
.form_close .form-btn, .form_close .letter_btn {
		opacity: 0.3;
}
#scfooter.form_close:before {
		top: 65%;
		padding: 2rem 20rem;
}
/*ボタンの上に終了の文言を表示(時限式で追加される)*/
footer {
		background: #eee;
}
/*ボディ内のボタン網掛けの位置調整*/
main .form_close:before {
		width: 50%;
		top: 42%
}
#signup .form_close:before {
		top: 50%;
}
@media screen and (max-width: 480px) {
		#scfooter.form_close:before {
				width: 45%;
		}
}
/*アニメーション*/
/* ----------------------------------------------------
ふわっと表示
------------------------------------------------------ */
.scroll-up {
		opacity: 0;
		visibility: hidden;
		transform: translateY(50px);
		transition: all 1s;
}
.scroll-up.is-show {
		opacity: 1;
		visibility: visible;
		transform: translateY(0px);
}
/* ----------------------------------------------------
ポップアップ
------------------------------------------------------ */
.popup-overlay {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: rgba(0, 0, 0, 0.9);
		justify-content: center;
		align-items: center;
		z-index: 1000;
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.5s ease;
}
.popup-overlay.show {
		visibility: visible;
		opacity: 1;
}
.popup-content {
		position: relative;
		top: 45%;
		left: 50%;
		transform: translate(-50%, -50%);
		width: 100%;
		max-width: 400px;
		height: fit-content;
}
.popup-content .button {
		width: 100%;
		font-size: 2.7rem;
		padding: .4em 0 .5em;
}
.popup-close {
		background: #ccc;
		border: none;
		margin: 1.5em auto 0;
		padding: 5px 20px;
		cursor: pointer;
}
/* ✖️ボタン */
.close-btn {
		position: absolute;
		top: 1rem;
		right: 1rem;
		background: transparent;
		border: none;
		font-size: 9rem;
		cursor: pointer;
		border-radius: 50%;
		transition: 0.3s;
		width: 9rem;
		height: 9rem;
		display: flex;
		align-items: center;
		justify-content: center;
		line-height: 1;
}
/* ホバー時に白い円を表示 */
.close-btn:hover {
		background-color: white;
		color: var(--red);
}
@media screen and (max-width: 480px) {
		.popup-content {
				width: 80%;
		}
		.close-btn {
				right: 0;
		}
}
/* -- その他 --*/
#form .grid {
		grid-template-columns: 1fr !important;
}
.w_700 {
		font-weight: 700;
}