@charset "UTF-8";
* { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; word-wrap: break-word; }

html { font-size: 62.5%; }
@media screen and (max-width: 750px) { html { font-size: 2.1111111111vw; } }

body { color: #3E2930; font-family: "Noto Sans JP", YuGothicM, YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif; font-size: 1.8rem; -webkit-text-size-adjust: 100%; }

li { list-style: none; }

img { max-width: 100%; vertical-align: bottom; }

video { max-width: 100%; }

a { color: #3E2930; }
a:hover { text-decoration: none; }

button { padding: 0; border: none; background: none; font-family: inherit; font-size: 1.8rem; cursor: pointer; }

input[type="text"], input[type="password"], input[type="tel"], input[type="email"], input[type="submit"], input[type="button"], textarea, select { font-family: inherit; font-size: 1.8rem; }

.only-pc { display: block; }
@media screen and (max-width: 750px) { .only-pc { display: none; } }

.only-sp { display: none; }
@media screen and (max-width: 750px) { .only-sp { display: block; } }

img.only-pc, span.only-pc { display: inline; }
@media screen and (max-width: 750px) { img.only-pc, span.only-pc { display: none; } }
img.only-sp, span.only-sp { display: none; }
@media screen and (max-width: 750px) { img.only-sp, span.only-sp { display: inline; } }

table.only-pc { display: table; }
@media screen and (max-width: 750px) { table.only-pc { display: none; } }
table.only-sp { display: none; }
@media screen and (max-width: 750px) { table.only-sp { display: table; } }

.js-tel { color: #000 !important; text-decoration: none; cursor: default; }

.pagetop { position: fixed; bottom: 20px; right: 20px; z-index: 9999; opacity: 0; transition: all .5s; transform: translateY(100px); width: 40px; }
.pagetop.is-show { opacity: 1; transform: translateY(0); }

.main { padding: 20px 0 30px; background-color: #FEF1F1; }
@media screen and (max-width: 750px) { .main { padding: 5.1282051282% 0 7.6923076923%; } }

.inner { max-width: 700px; margin: 0 auto; padding: 0 20px; line-height: 1.6; }
@media screen and (max-width: 750px) { .inner { max-width: initial; padding: 0 5.1282051282%; } }

/* ------------------------------ ヘッダー
------------------------------ */
.header { position: sticky; top: 0; left: 0; z-index: 9999; width: 100%; }
.header .header-in { display: flex; align-items: center; height: 110px; padding: 0 40px; background-color: #fff; border-bottom: 1px solid #FFDEDE; }
@media screen and (max-width: 980px) { .header .header-in { height: 80px; padding: 0 20px; } }
@media screen and (max-width: 750px) { .header .header-in { padding: 0 5.1282051282%; } }
.header .header-logo { width: 100%; max-width: 800px; margin-right: 10px; }
@media screen and (max-width: 980px) { .header .header-logo { max-width: 238px; } }
.header .header-con { flex: 1; display: flex; align-items: center; column-gap: 30px; justify-content: flex-end; height: 100%; }
@media screen and (max-width: 750px) { .header .header-con { column-gap: 1rem; } }
.header .account-link { align-items: flex-start; justify-content: flex-end; margin-bottom: 0; }
@media screen and (max-width: 750px) { .header .account-link { display: none; } }
.header .header-login { display: none; width: 5em; font-size: 0.9rem; }
@media screen and (max-width: 750px) { .header .header-login { display: block; } }
.header .header-login a { display: block; text-decoration: none; }
.header .header-login img { display: block; width: 2.3rem; margin: 0 auto; text-align: center; }
.header .header-login figcaption { margin-top: 3px; text-align: center; }
@media screen and (max-width: 750px) { .header .header-login figcaption { margin-top: 7.5%; } }
.header .header-menu { width: 41px; cursor: pointer; }
@media screen and (max-width: 750px) { .header .header-menu { width: 30px; } }
.header .header-menu p { position: relative; padding-top: 100%; }
.header .header-menu p span { position: absolute; left: 0; display: block; width: 100%; height: 5px; background-color: #3E2930; border-radius: 4px; transition: all .5s; }
@media screen and (max-width: 750px) { .header .header-menu p span { height: 4px; } }
.header .header-menu p span:nth-child(1) { top: 0; }
.header .header-menu p span:nth-child(2) { top: 18px; }
@media screen and (max-width: 750px) { .header .header-menu p span:nth-child(2) { top: 13px; } }
.header .header-menu p span:nth-child(3) { bottom: 0; }

/* ------------------------------ メニュー
------------------------------ */
.nav-menu { z-index: 99999; display: none; position: fixed; top: 110px; left: 0; width: 100%; height: calc(100% - 110px); background-color: #fff; }
@media screen and (max-width: 980px) { .nav-menu { top: 80px; height: calc(100% - 80px); } }
.nav-menu .nav-menu-content { position: absolute; top: 0; left: 0; width: 100%; height: 100%; padding-bottom: 25px; overflow-y: auto; }
@media screen and (max-width: 750px) { .nav-menu .nav-menu-content { padding-bottom: 6.4102564103%; } }
.nav-menu .nav-menu-in { padding: 0 20px; }
@media screen and (max-width: 750px) { .nav-menu .nav-menu-in { padding: 0 5.1282051282%; } }
.nav-menu .nav-menu-list { margin-bottom: 20px; }
@media screen and (max-width: 750px) { .nav-menu .nav-menu-list { margin-bottom: 5.7142857143%; } }
.nav-menu .nav-menu-list p { border-bottom: 1px solid #FFDEDE; }
.nav-menu .nav-menu-list p a { display: block; text-decoration: none; padding: 15px 0; }
@media screen and (max-width: 750px) { .nav-menu .nav-menu-list p a { padding: 4.2857142857% 0; } }
.nav-menu .nav-menu-list dl { border-bottom: 1px solid #FFDEDE; }
.nav-menu .nav-menu-list dl dt { padding: 15px 0; background: url("../img/common/ico_toggle_o.svg") no-repeat right center; background-size: 14px auto; }
@media screen and (max-width: 750px) { .nav-menu .nav-menu-list dl dt { padding: 4.2857142857% 0; background-size: 4% auto; } }
.nav-menu .nav-menu-list dl dt.active { background-image: url("../img/common/ico_toggle_c.svg"); }
.nav-menu .nav-menu-list dl dd { display: none; padding-bottom: 15px; }
@media screen and (max-width: 750px) { .nav-menu .nav-menu-list dl dd { padding-bottom: 4.2857142857%; } }
.nav-menu .nav-menu-list dl dd ul { display: flex; flex-wrap: wrap; padding: 0 25px; gap: 10px; }
@media screen and (max-width: 750px) { .nav-menu .nav-menu-list dl dd ul { padding: 0 7.1428571429%; gap: 10px 2.8571428571%; } }
.nav-menu .nav-menu-list dl dd ul li { width: 150px; }
@media screen and (max-width: 750px) { .nav-menu .nav-menu-list dl dd ul li { width: 48.3333333333%; } }
.nav-menu .nav-menu-list dl dd ul li a { display: flex; align-items: center; height: 100%; padding: 10px; background-color: #FEF1F1; border-radius: 5px; font-size: 1.6875rem; text-decoration: none; }
.nav-menu .nav-banner { margin-bottom: 20px; text-align: center; }
@media screen and (max-width: 750px) { .nav-menu .nav-banner { width: 88.5714285714%; margin: 0 auto 5.7142857143%; } }

.js-menuopen { overflow: hidden; }
.js-menuopen .header .account-link { display: none; }
.js-menuopen .header .header-menu p span:nth-child(1) { transform: translateY(18px) rotate(135deg); }
@media screen and (max-width: 750px) { .js-menuopen .header .header-menu p span:nth-child(1) { transform: translateY(13px) rotate(135deg); } }
.js-menuopen .header .header-menu p span:nth-child(2) { opacity: 0; }
.js-menuopen .header .header-menu p span:nth-child(3) { transform: translateY(-18px) rotate(-135deg); }
@media screen and (max-width: 750px) { .js-menuopen .header .header-menu p span:nth-child(3) { transform: translateY(-13px) rotate(-135deg); } }
.js-menuopen .nav-menu { display: block; }

/* ------------------------------ ぱんくず
------------------------------ */
.topicpath { padding: 10px 0; }
@media screen and (max-width: 750px) { .topicpath { padding: 2.5641025641% 0; } }
.topicpath ol { display: flex; flex-wrap: wrap; }
.topicpath ol li { font-size: 1.575rem; }
.topicpath ol li::after { content: '＞'; margin: 0 1em; }
.topicpath ol li:last-child::after { display: none; }
.topicpath ol li a { text-decoration: none; color: #E33F2B; }

/* ------------------------------ バナー
------------------------------ */
.banner-sec { padding: 40px 0 30px; }
@media screen and (max-width: 750px) { .banner-sec { padding: 10.2564102564% 0 7.6923076923%; } }
.banner-sec ul { width: 350px; margin: 0 auto; }
@media screen and (max-width: 750px) { .banner-sec ul { width: 100%; } }
.banner-sec ul li { margin-bottom: 20px; }
@media screen and (max-width: 750px) { .banner-sec ul li { margin-bottom: 5.7142857143%; } }
.banner-sec ul li:last-child { margin-bottom: 0; }

/* ------------------------------ フッター
------------------------------ */
.footer { padding: 30px 0 15px; background-color: #FEF1F1; }
@media screen and (max-width: 750px) { .footer { padding: 7.6923076923% 0 3.8461538462%; } }
.footer .footer-heading { margin-bottom: 15px; font-weight: 700; }
@media screen and (max-width: 750px) { .footer .footer-heading { margin-bottom: 4.2857142857%; } }
.footer .footer-box { display: flex; justify-content: space-between; margin-bottom: 20px; }
@media screen and (max-width: 750px) { .footer .footer-box { margin-bottom: 5.7142857143%; } }
.footer .footer-box .footer-box-item { flex: 1; }
.footer .footer-box .footer-box-item p { font-size: 1.6875rem; }
.footer .footer-box .footer-box-item .footer-mail a { text-decoration: none; }
.footer .footer-box .footer-box-item .footer-time { padding-left: 5.5em; text-indent: -5.5em; }
.footer .footer-box .footer-insta { width: 40px; }
@media screen and (max-width: 750px) { .footer .footer-box .footer-insta { width: 11.4285714286%; } }
.footer .footer-bottom { display: flex; margin-bottom: 10px; }
.footer .footer-bottom .footer-banner { width: 138px; margin-right: 8px; }
@media screen and (max-width: 750px) { .footer .footer-bottom .footer-banner { width: 37.1428571429%; margin-right: 2.2857142857%; } }
.footer .footer-bottom .footer-subheading { font-size: 1.8rem; font-weight: 700; line-height: 1.4; }
@media screen and (max-width: 750px) { .footer .footer-bottom .footer-subheading { margin-bottom: 2.8571428571%; } }
.footer .copy { font-size: 1.35rem; text-align: center; }

.font-num { font-family: "Poppins", sans-serif; }

.cmn-pagettl { position: relative; margin-bottom: 20px; padding-bottom: 20px; background: url("../img/common/bg_pagettl.png") no-repeat center bottom; font-size: 2.25rem; font-weight: 700; text-align: center; }
@media screen and (max-width: 750px) { .cmn-pagettl { margin-bottom: 5.7142857143%; padding-bottom: 5.7142857143%; } }

.cmn-anchor { position: relative; }
.cmn-anchor a { position: absolute; top: -110px; }
@media screen and (max-width: 750px) { .cmn-anchor a { top: -80px; } }

.cmn-icobtn { display: inline-flex; align-items: center; justify-content: center; column-gap: 5px; text-decoration: none; padding: 10px 1em; border: 1px solid #ED7D7A; background-color: #fff; font-weight: 500; color: #E33F2B; border-radius: 2em; }

.txt-cap { padding-left: 1em; text-indent: -1em; }

.account-link { display: flex; justify-content: center; margin-bottom: 20px; column-gap: 10px; }
@media screen and (max-width: 750px) { .account-link { margin-bottom: 5.7142857143%; column-gap: 2.8571428571%; } }
.account-link li { width: 175px; }
@media screen and (max-width: 750px) { .account-link li { width: 50%; } }
.account-link li a { display: flex; align-items: center; justify-content: center; text-decoration: none; width: 100%; height: 2.5em; padding: 8px; font-weight: 500; color: #fff; text-align: center; border-radius: 5px; }
.account-link li a .ico { margin-right: 7px; }
.account-link li._login a { background-color: #48BEC6; }
.account-link li._registration a { background-color: #3E2930; }

.cmn-form { padding: 30px 20px; border: 1px solid #ED7D7A; background-color: #fff; border-radius: 5px; }
@media screen and (max-width: 750px) { .cmn-form { padding: 8.5714285714% 5.7142857143%; } }
.cmn-form dl { margin-bottom: 30px; }
@media screen and (max-width: 750px) { .cmn-form dl { margin-bottom: 9.6774193548%; } }
.cmn-form dl dt { margin-bottom: 10px; font-weight: 700; }
@media screen and (max-width: 750px) { .cmn-form dl dt { margin-bottom: 3.2258064516%; } }

.form-txt { margin-bottom: 30px; font-size: 1.6875rem; }
@media screen and (max-width: 750px) { .form-txt { margin-bottom: 11.4285714286%; } }
.form-txt strong { font-weight: 700; }
.form-txt span { color: #ED7D7A; }

.form-btn { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; height: 2.5em; padding: 8px 35px; font-weight: 500; color: #fff; text-align: center; border-radius: 5px; }
@media screen and (max-width: 750px) { .form-btn { width: 56.4516129032%; background-position: right 6.4516129032% center; } }
.form-btn._sent { background: #48BEC6 url("../img/common/ico_arrow_w.svg") no-repeat right 20px center; background-size: 11px auto; }
.form-btn._back { background: #929292 url("../img/common/ico_arrow_w_l.svg") no-repeat left 20px center; background-size: 11px auto; }
.form-btn:disabled { background-color: #929292; cursor: default; }

.form-agree { margin-bottom: 3rem; text-align: center; }

._form .cmn-form dl dd p, ._entry .cmn-form dl dd p { color: #E33F2B; margin: 0.5em 0; padding-left: 1em; text-indent: -1em; }
._form .cmn-form dl dd input, ._entry .cmn-form dl dd input { width: 100%; padding: 10px 20px; background: #fff; border: 1px solid #CBCBCB; }
@media screen and (max-width: 750px) { ._form .cmn-form dl dd input, ._entry .cmn-form dl dd input { padding: 3.2258064516% 6.4516129032%; } }
._form .cmn-form .form-btn, ._entry .cmn-form .form-btn { min-width: 175px; margin: 0 auto; }

._conf .cmn-form dl dt { padding-bottom: 10px; border-bottom: 1px solid #ED7D7A; }
._conf .cmn-form .form-btn-list { display: flex; justify-content: space-between; }
._conf .cmn-form .form-btn-list .form-btn { min-width: 150px; }

._comp .form-btn { min-width: 205px; margin: 0 auto; }

.message._error { margin-bottom: 1em; padding: 5px 1em; background-color: #f00; color: #fff; text-align: center; }

.error-message { margin-top: 1rem; color: #f00; }

.ico { display: inline-flex; justify-content: center; align-items: center; width: 1em; line-height: 0; }
.ico::before { width: 100% !important; }

.ico-login-w::before { content: url("../img/common/ico_login_w.svg"); }

.ico-registration-w::before { content: url("../img/common/ico_registration_w.svg"); }

.ico-pdf::before { content: url("../img/common/ico_pdf.svg"); }

.ico-arrow-w::before { content: url("../img/common/ico_arrow_w.svg"); }

.ico-recipe::before { content: url("../img/common/ico_recipe.svg"); }

.ico-document::before { content: url("../img/common/ico_document.svg"); }

.ico-judg-c::before { content: url("../img/common/ico_judg_check.svg"); }

.ico-judg-p::before { content: url("../img/common/ico_judg_person.svg"); }

.ico-award::before { content: url("../img/common/ico_award.svg"); }

.ico-card::before { content: url("../img/common/ico_card.svg"); }

.ico-prize-1::before { content: url("../img/common/ico_rank_01.svg"); }

.ico-prize-2::before { content: url("../img/common/ico_rank_02.svg"); }

.ico-prize-3::before { content: url("../img/common/ico_rank_03.svg"); }

.caution-list li { margin-bottom: 1em; font-size: 1.6875rem; }
.caution-list li:last-child { margin-bottom: 0; }
.caution-list li span { color: #ED7D7A; }

.policy-box { margin-bottom: 30px; font-size: 1.6875rem; }
.policy-box._box04 p { margin-bottom: 1em; }
.policy-box .policy-heading { margin-bottom: 10px; font-size: 1.8rem; font-weight: 700; }
.policy-box dl { margin-top: 30px; }
.policy-box dl dt { margin-bottom: 10px; font-size: 1.8rem; font-weight: 700; }
.policy-box ol li { margin-bottom: 0.5em; padding-left: 1.8em; text-indent: -1.8em; }

.clearfix { zoom: 1; }
.clearfix::before { content: ""; display: table; }
.clearfix::after { content: ""; display: table; clear: both; }

.w100 { width: 100%; }

.mab0 { margin-bottom: 0 !important; }

.aic { align-items: center; }

.tac { text-align: center; }

.tar { text-align: right; }

.js-anime-fadein { opacity: 0; animation-duration: .5s; animation-timing-function: ease-in-out; animation-fill-mode: forwards; }
.js-anime-fadein.js-anime-on { animation-name: fadeIn; }

@keyframes fadeIn { 0% { opacity: 0; }
  100% { opacity: 1; } }
.js-anime-slide { opacity: 0; animation-duration: .5s; animation-timing-function: ease-in-out; animation-fill-mode: forwards; }
.js-anime-slide.js-anime-on { animation-name: slide; }

@keyframes slide { 0% { opacity: 0; transform: translateY(100px); }
  100% { opacity: 1; transform: translateY(0); } }
.js-anime-slideleft { opacity: 0; animation-duration: .5s; animation-timing-function: ease-in-out; animation-fill-mode: forwards; }
.js-anime-slideleft.js-anime-on { animation-name: slideLeft; }

@keyframes slideLeft { 0% { opacity: 0; transform: translateX(-100px); }
  100% { opacity: 1; transform: translateX(0); } }
.js-anime-slideright { opacity: 0; animation-duration: .5s; animation-timing-function: ease-in-out; animation-fill-mode: forwards; }
.js-anime-slideright.js-anime-on { animation-name: slideRight; }

@keyframes slideRight { 0% { opacity: 0; transform: translateX(100px); }
  100% { opacity: 1; transform: translateX(0); } }
@media print { .js-anime-fadein, .js-anime-slide, .js-anime-slideleft, .js-anime-slideright { opacity: initial; } }

/*# sourceMappingURL=style.css.map */
