*,
*::before,
*::after {
	margin: 0; /* マージンは0に */
	padding: 0; /* パディングも常に0に */
	box-sizing: border-box; /* もちろん、より直感的なbox-sizingに設定 */
}
 
:where([hidden]:not([hidden='until-found'])) {
	display: none !important;  /* hiddenは非表示を意味します */
}
 
:where(html) {
	-webkit-text-size-adjust: none; /* iOSのランドスケープでテキストが調整されないようにする */
	color-scheme: dark light; /* ユーザーがダークテーマを好む場合、自動的にダークテーマになる */
}
 
@supports not (min-block-size: 100dvb) {
	:where(html) {
		block-size: 100%;
	}
}
 
@media (prefers-reduced-motion: no-preference) {
	:where(html:focus-within) {
		scroll-behavior: smooth; /* 何かにフォーカスがある場合のみスムーズスクロール */
	}
}
 
:where(body) {
	block-size: 100%; /* サファリ以外のブラウザのフォールバック */
	block-size: 100dvb; /* 1dvbは動的ビューポートの長さの1%、100dvbで高さいっぱいに */
	line-height: 1.5; /* アクセシブルな行の高さ */
	font-family: system-ui, sans-serif; /* timeの代わりにシステムフォントを使用 */
	-webkit-font-smoothing: antialiased; /* テキストのレンダリングを改善 */
}
 
:where(input, button, textarea, select) {
	font: inherit; /* フォーム コントロールは親フォントを継承 */
	color: inherit; /* カラーも継承 */
}
 
:where(textarea) {
	resize: vertical; /* テキストエリアの水平リサイズを無効に */
	resize: block;
}
 
:where(button, label, select, summary, [role='button'], [role='option']) {
	cursor: pointer; /* インタラクティブなものにカーソルを合わせる */
}
 
:where(:disabled) {
	cursor: not-allowed; /* フォームコントロール無効時のカーソルを許可しない */
}
 
:where(label:has(> input:disabled), label:has(+ input:disabled)) {
	cursor: not-allowed; /* ラベルにもカーソルを許可しない */
}
 
:where(button) {
	border-style: solid; /* ボタンのボーダーのスタイルを設定しやすくする */
}
 
:where(a) {
	text-underline-offset: 0.2ex; /* 下線の上にスペースを追加する */
}
 
:where(ul, ol) {
	list-style: none; /* ビュレットを削除、必要に応じて手動で追加する */
}
 
:where(img, svg, video, canvas, audio, iframe, embed, object) {
	display: block; /* 置換された要素をより予測可能にする */
}
 
:where(img, picture, svg) {
	max-inline-size: 100%; /* images should never overflow past the available space */
	block-size: auto; /* アスペクト比を保持 */
}
 
:where(p, h1, h2, h3, h4, h5, h6) {
	overflow-wrap: break-word; /* 長い単語は改行 */
}
 
:where(h1, h2, h3) {
	line-height: calc(1em + 0.5rem); /* 見出しの行の高さを減らす */
}
 
:where(hr) { /* より一貫性のある、スタイリッシュなhr */
	border: none;
	border-block-start: 1px solid;
	color: inherit;
	block-size: 0;
	overflow: visible;
}
 
:where(:focus-visible) { /* より一貫性のある、カスタマイズ可能なフォーカスのアウトライン */
	outline: 2px solid var(--focus-color, Highlight);
	outline-offset: 2px;
}
 
 /* .visually-hiddenは後のカスケードレイヤーを上書きするために!importantを使用 */
:where(.visually-hidden:not(:focus, :active, :focus-within, .not-visually-hidden)) {
	clip-path: inset(50%) !important;
	height: 1px !important;
	width: 1px !important;
	overflow: hidden !important;
	position: absolute !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.sp {
    display: none;
}
.pc {
    display: block;
    width: 100%;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
}
.pc p {
    text-align: center;
}
.pc .headline1 {
    font-weight: bold;
    font-size: 1.4rem;
    text-align: center;
    margin-bottom: 1rem;
}
.pc .headline1 span {
    display: block;
    font-size: 1.8rem;
    color: #0094C6;
}
.pc .qr {
    display: block;
    width: 300px;
    margin: 0 auto;
}

@media (max-width: 767px) {
    .sp {
        display: block;
    }
    .pc {
        display: none;
    }
    .red {
        color: #F00;
    }
    .small {
        font-size: 0.85rem;
    }
    .more_small {
        font-size: 0.6rem;
        text-align: right;
        width: 82%;
        margin: 0 auto;
    }
    header {
        background-color: #FFF;
        height: 50px;
        position: fixed;
        width: 100%;
    }
    header .logo {
        width: 50%;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }
    
    
/**************** 以下、ハンバーガーボタンのスタイリング ****************/
button.btn {
	/* ボタンの配置位置  */
	position: fixed;
	top: 10px;
	right: 10px;
	/* 最前面に */
	z-index: 10;
	/* ボタンの大きさ  */
	width: 30px;
	height: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-style: none;
    background-color: inherit;
}
/***** 真ん中のバーガー線 *****/
.btn-line {
	display: block;
	/* バーガー線の位置基準として設定 */
	position: relative;
	/* 線の長さと高さ */
	width: 80%;
	height: 2px;
	/* バーガー線の色 */
	background-color: #000;
	transition: .2s;
    z-index: 11;
}
/***** 上下のバーガー線 *****/
.btn-line::before , .btn-line::after {
	content: "";
	/* 基準線と同じ大きさと色 */
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: #000;
	transition: .5s;
}
.btn-line::before {
	/* 上の線の位置 */
	transform: translate(-12px, -6px);
}
.btn-line::after {
	/* 下の線の位置 */
	transform: translate(-12px, 6px);
}
/***** メニューオープン時 *****/
.btn-line.open {
	/* 真ん中の線を透明に */
	background-color: transparent;
}
.btn-line.open::before , .btn-line.open::after {
	content: "";
	background-color: #333;
	transition: .2s;
}
.btn-line.open::before {
	/* 上の線を傾ける */
	transform: rotate(45deg) translate(-7px, 7px);
}
.btn-line.open::after {
	/* 上の線を傾ける */
	transform: rotate(-45deg) translate(-7px, -7px);
}
/**************** ここまで、ハンバーガーボタンのスタイリング ****************/
/**************** 以下、メニューのスタイリング ****************/
.menu {
	/* メニューを縦に */
	/* メニューの位置マイナス指定で画面外に */
}
    .menu a {
        color: #FFF;
        text-decoration: none;
        display: block;
        padding: 0.6rem 1rem;
    }
.nav_list {
	/* メニューテキスト位置をリスト内中心に */
    position: absolute;
    top: 50px;
	right: -70%;
	width: 70%;
	height: calc(100vh - 50px);
	background-color: rgba(0, 148, 198, .7);
	transition: .3s;
}
.nav_list.open {
	position: absolute;
	right: 0;
}

    #headline {
        background-image: url("images/headline_bg@2x.jpg");
        background-position: center top;
        background-repeat: no-repeat;
        background-size: contain;
        padding-top: 50px;
    }
    #headline .howto {
        width: 90%;
        margin: 0 auto;
        font-weight: bold;
        padding-top: 1rem;
    }
    #headline .howto h3 {
        color: #F00;
    }
    #headline .howto h3 span {
        font-size: 1.6rem;
    }
    #headline .howto p {
        margin-bottom: 1rem;
    }
    #headline .go_enquete {
        background-image: url("images/for_anque_bg@2x.png");
        background-position: center bottom;
        background-repeat: no-repeat;
        background-size: contain;
        padding: 2rem 0 3rem;
    }
    #headline .go_enquete a,
    button.mfp_element_submit {
        width: 80%;
        display: block;
        margin: 0 auto;
        color: #FFF100;
        font-size: 1.6rem;
        text-align: center;
        padding: 1rem 0;
        text-decoration: none;
        background: linear-gradient(172deg, #EE7480 0%, #EE7480 40%, #E94C5B 55%);
        border-radius: 15px;
    }
    button.mfp_element_submit {
        border: none;
        text-shadow: 0 0 0;
        margin-bottom: 2rem;
    }
    #prize {
        background-color: #FFF100;
        padding-bottom: 1rem;
    }
    #prize ul {
        width: 82%;
        margin: 0 auto;
    }
    #prize ul li {
        background-color: #FFF;
        margin-bottom: 2rem;
        padding: 4% 0;
    }
    #prize ul li:nth-child(3) {
        background-image: url("images/prize-c_img@2x.jpg");
        background-position: right top;
        background-repeat: no-repeat;
        background-size: 50%;
    }
    #prize ul li:nth-child(4) {
        background-image: url("images/prize-d_img@2x.jpg");
        background-position: right top;
        background-repeat: no-repeat;
        background-size: contain;
    }
    #prize ul li:nth-child(5) {
        background-image: url("images/prize-e_img@2x.jpg");
        background-position: right top;
        background-repeat: no-repeat;
        background-size: contain;
    }
    .prize_img {
        width: 92%;
        margin: 0 auto 13px;
    }
    #prize ul li:nth-child(-n+2) .prize_title {
        width: 56%;
        height: auto;
    }
    #prize ul li:nth-child(n+3) .prize_title {
        width: 44%;
        height: auto;
    }
    #prize ul li:first-child h3 {
        font-size: 1.7rem;
        font-weight: bold;
        padding: 0.4rem 4% 0;
    }
    #prize ul li:nth-child(2) .prize_title + p {
        padding-top: 0.4rem;
        font-weight: bold;
    }
    #prize ul li:nth-child(2) h3 {
        font-size: 1.7rem;
        font-weight: bold;
        padding: 0 4%;
    }
    #prize ul li:nth-child(n+3) h3 {
        font-size: 1.3rem;
        font-weight: bold;
        padding: 0.4rem 3% 0;
    }
    #prize ul li:nth-child(5) h3 {
        letter-spacing: -0.1rem;
    }
    #prize ul li h3 span {
        font-size: 1.3rem;
    }
    #prize ul li .note {
        width: 92%;
        margin: 0 auto;
        text-indent: -0.8rem;
        padding-left: 0.8rem;
        font-size: 0.8rem;
    }
    #prize ul li ul {
        width: 92%;
    }
    #prize ul li ul li {
        margin-bottom: 0;
        padding: 0 0.4rem 0 0.7rem;
        font-size: 0.7rem;
        font-weight: bold;
        text-indent: -0.7rem;
        display: inline-block;
    }
    #prize ul li ul li:nth-child(3) {
        background-image: none;
    }
    #prize ul li ul li::before {
        content: '●';
        display: inline;
        color: #ED7985;
    }
    #enq_form {
        background-image: url("images/quest_bg@2x.jpg");
        background-repeat: repeat-y;
        background-position: 0 -24%;
        background-size: contain;
    }
    #enq_form .row {
        width: 94%;
        margin: 0 auto;
    }
    #enq_form h2 {
        padding-top: 2rem;
    }
    #enq_form h2.parson_form {
        padding: 0.8rem 0;
        text-align: center;
        color: #FFF;
        background-color: #009BE2;
    }
    #enq_form .enq_list {
        background-color: #FFF;
        padding: 0 4% 1rem;
        margin-bottom: 3rem;
    }
    .enq_list li {
        display: flex;
        flex-wrap: wrap;
        margin-bottom: 1rem;
    }
    .enq_list li .number {
        width: 100%;
        text-align: center;
        font-weight: bold;
        font-size: 2rem;
        padding-bottom: 0.4rem;
        background-image: url("images/question_bg@2x.png");
        background-repeat: no-repeat;
        background-position: center bottom;
        background-size: 50%;
        margin-bottom: 0.6rem;
    }
    .enq_list li .number span {
        font-size: 2.6rem;
    }
    .enq_list li h3 {
        width: 100%;
        text-align: center;
        font-size: 1.1rem;
        margin-bottom: 0.8rem;
        font-feature-settings: "palt";
    }
    .enq_list li h3 span {
        font-size: 0.9rem;
    }
    .enq_list li label {
        width: 100%;
        font-size: 0.9rem;
        margin: 0 0 0.2rem;
    }
    .enq_list li:first-child label,
    .enq_list li:nth-child(3) label,
    .enq_list li:nth-child(6) label {
        width: 50%;
    }
    .enq_list li label input[type="checkbox"] {
        border: 1px solid #F00;
    }
    .enq_list li label.sonota {
        width: 100%;
        font-size: 0.9rem;
        margin: 0 0 0.2rem;
    }
    #enq_form div.enq_list {
        font-size: 1rem;
        padding-top: 1.5rem;
    }
    #enq_form div.enq_list p:first-child {
        margin-bottom: 1rem;
    }
    div.enq_list label {
        width: 100%;
        font-size: 1rem;
        margin-bottom: 1rem;
        display: block;
    }
    input[type="text"] {
        width: calc(100% - 1rem);
        margin-left: 1rem;
        display: block;
    }
    #enq_form div.enq_list select,
    input[type="tel"] {
        margin-left: 1rem;
    }
    
    .note::before {
        content: '※';
        display: inline;
    }
    
    .kojinjoho {
        border: solid 1px #999;
        padding: 1em;
        width: 100%;
        font-size: 16px;
        text-align: justify;
        color: #000;
        margin-bottom: 1rem;
    }
    div.enq_list .kojinjoho + label {
        margin-bottom: 4rem;
    }
    .shimekiri {
        color: #E94C5B;
        font-size: 1.8rem;
        font-weight: bold;
        text-align: center;
    }
    .shimekiri span {
        font-size: 1.4rem;
    }
    .shimekiri_time {
        text-align: right;
        padding-bottom: 1rem;
    }
    #gosoudan {
        background-image: url("images/gosoudan_bg.jpg");
        background-repeat: no-repeat;
        background-position: center top;
        background-size: cover;
        padding-bottom: 3rem;
    }
    #gosoudan .row {
        margin: 0 auto;
        width: 94%;
    }
    .zehi {
        display: flex;
        justify-content: space-between;
        padding: 2rem 0 1.5rem;
    }
    .zehi .image {
        width: 37%;
    }
    .zehi .texts {
        width: 60%;
    }
    .zehi .omoide {
        text-align: center;
        position: relative;
        font-size: 0.8rem;
        letter-spacing: -0.05rem;
    }
    .zehi .omoide hr.left {
        transform: rotate(80deg);
        position: absolute;
        left: -7%;
        top: 50%;
        width: 20%;
    }
    .zehi .omoide hr.right {
        transform: rotate(110deg);
        position: absolute;
        right: -7%;
        top: 50%;
        width: 20%;
    }
    .zehi .omoide + p {
        font-weight: bold;
        font-size: 1.1rem;
        text-align: center;
        padding-top: 0.6rem;
        letter-spacing: -0.1rem;
    }
    .otoiawase {
        background-color: #FFF;
        padding: 1.5rem 0.5rem;
        border-radius: 10px;
        -webkit-border-radius: 10px;
        -moz-border-radius: 10px;
        text-align: center;
        margin-bottom: 1rem;
    }
    .otoiawase h3 {
        font-size: 1.6rem;
        margin-bottom: 0.6rem;
    }
    .otoiawase p {
        font-feature-settings: "palt";
        font-weight: bold;
    }
    .otoiawase p a {
        color: #000;
        text-decoration: none;
    }
    .by_sumaho {
        width: 96%;
        margin: 0 auto;
        text-indent: -1rem;
        padding: 0 1rem;
        box-sizing: border-box;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
    }
    footer {
        text-align: center;
        padding: 1.5rem;
    }
    footer img {
        width: 70%;
        margin: 0 auto;
    }
    
    #thanks-area {
        width: 100%;
        height: 100vh;
        padding: 0 5%;
        display: flex;
        justify-content: center;
        align-items: center;
        box-sizing: border-box;
    }
    #thanks-area h2 {
        text-align: center;
        margin-bottom: 1.5rem;
    }
}


