@charset "UTF-8";
/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.slick-track:before,
.slick-track:after {
  display: table;
  content: '';
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px;
}

[dir='rtl'] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

/*カラー設定-------------------------------------------------------------------------------------------------------------*/
/* //////テキストカラー////// */
/* //////エラーカラー////// */
/* //////リンクカラー////// */
/* //////カラー////// */
/* //////影////// */
/* //////フォント////// */
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

body {
  line-height: 1;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

/*COMMON-----------------------------------------------------------------------------------------------------------------*/
/* --------------------
リセット追加
-------------------- */
input[type="text"], input[type="password"], input[type="submit"], input[type="button"], input[type="tel"], input[type="email"], textarea, select, button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: none;
  border: none;
  outline: none;
  font-family: inherit;
  font-size: 100%;
}

select::-ms-expand {
  display: none;
}

input[type="submit"], input[type="button"], button {
  cursor: pointer;
}

input:-ms-input-placeholder {
  color: #999;
  font-size: 1.3125rem;
}

input::placeholder {
  color: #999;
  font-size: 1.3125rem;
}

ul, ol, li {
  list-style: none;
}

/* --------------------
基本設定
-------------------- */
html {
  overflow-y: scroll;
}

html.msie body {
  font-size: 100%;
}

html.no-msie body {
  font-size: 16px;
}

html.iphone a:hover, html.ipod a:hover, html.ipad a:hover, html.android a:hover {
  opacity: 1.0 !important;
}

html.iphone a:hover img, html.ipod a:hover img, html.ipad a:hover img, html.android a:hover img {
  opacity: 1.0 !important;
}

body {
  -webkit-text-size-adjust: 100%;
  text-align: center;
  color: #fff;
  font-family: "Noto Serif JP", serif !important;
  font-weight: normal;
  line-height: 1.4;
}

body.bgChange {
  background-color: #fff;
}

body {
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: unset;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
  body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
}

a {
  text-decoration: none;
}

img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0 auto;
  vertical-align: bottom;
}

body, body input, body button {
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Noto sans JP", "NotoSansCJKjp", sans-serif !important;
  font-weight: 400 !important;
}

body img, body input img, body button img {
  width: 100%;
  height: auto;
}

body li, body input li, body button li {
  list-style: none;
}

body *, body :after, body :before, body input *, body input :after, body input :before, body button *, body button :after, body button :before {
  box-sizing: border-box;
  line-break: strict;
}

body p, body input p, body button p {
  font-size: 15px;
  font-weight: 500;
}

body a, body input a, body button a {
  cursor: pointer;
}

body article, body input article, body button article {
  position: relative;
}

body {
  position: relative;
  background-color: #00308c;
}

body::before {
  content: "";
  position: fixed;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 460px;
  height: 100vh;
  background-color: #fff;
}

body .IndexBody {
  position: relative;
  overflow: hidden;
  max-width: 460px;
  margin: 0 auto;
  z-index: 2;
}

body .IndexBody.HomeBg {
  background-color: #f7f7ff;
}

body .IndexBody.CalBg {
  background-color: #f6fcff;
}

body .IndexBody.CalBg.Top {
  background-color: #c6edff;
}

body .Loading, body .BeforeLoading {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  transition: opacity .5s .0s;
  z-index: 99999;
}

body .Loading.LoadingBlue, body .LoadingBlue.BeforeLoading {
  background-color: #0039a6;
}

body .Loading.LoadingSky, body .LoadingSky.BeforeLoading {
  background-color: #54c9ff;
}

body .Loading img, body .BeforeLoading img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 112px;
}

body .Loading.hide, body .hide.BeforeLoading {
  pointer-events: none;
  opacity: 0;
}

body .BeforeLoading {
  left: calc(100% + 100px);
}

body .BeforeLoading.BeforeLoadingHome {
  background-color: #54c9ff;
}

body .BeforeLoading.BeforeLoadingCal {
  background-color: #0039a6;
}

body .BeforeLoading::after {
  content: "";
  position: absolute;
  top: 0;
  right: calc(100% - 2px);
  transform: rotate(-90deg);
  display: block;
  width: 140vh;
  height: 140vh;
  background: url(../images/cal_wave01.png) center bottom/100% auto no-repeat;
  pointer-events: none;
}

body .BeforeLoading.Go {
  animation: surusuru01 1.0s ease-in-out;
}

@keyframes surusuru01 {
  0% {
    left: calc(100% + 100px);
  }
  50% {
    left: 0;
  }
}

body .BtnHistory {
  position: relative;
  display: block;
  width: 96px;
  height: 49px;
  padding-top: 1px;
  background-color: #fff;
  border-radius: 100px;
  letter-spacing: .02em;
  color: #0039a6;
  font-size: 11px;
  font-weight: 600;
  line-height: 1;
}

body .BtnHistory img {
  width: 30px;
}

body .BtnReceipt, body .BtnStretch {
  position: relative;
  display: block;
  width: calc(100% - 104px);
  height: 49px;
  padding: 0 12px 0 9px;
  background-color: #fff;
  border-radius: 100px;
  color: #0039a6;
  font-weight: 600;
}

body .BtnReceipt .BtnInner, body .BtnStretch .BtnInner {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  margin: 0 auto;
}

body .BtnReceipt .BtnInner img, body .BtnStretch .BtnInner img {
  width: 40px;
  height: auto;
}

body .BtnReceipt .BtnInner .BtnTxt, body .BtnStretch .BtnInner .BtnTxt {
  position: relative;
  display: inline-block;
  padding: 0 3px;
}

body .BtnReceipt .BtnInner .BtnTxt .BtnTxt01, body .BtnStretch .BtnInner .BtnTxt .BtnTxt01, body .BtnReceipt .BtnInner .BtnTxt .BtnTxt03, body .BtnStretch .BtnInner .BtnTxt .BtnTxt03 {
  display: block;
  font-size: 13px;
  line-height: 1.4;
}

body .BtnReceipt .BtnInner .BtnTxt .BtnTxt02, body .BtnStretch .BtnInner .BtnTxt .BtnTxt02 {
  display: block;
  letter-spacing: -.02em;
  font-size: 10px;
  line-height: 1.4;
}

body .BtnReceipt .BtnInner .BtnTxt .BtnTxt03, body .BtnStretch .BtnInner .BtnTxt .BtnTxt03 {
  padding-top: 8px;
}

body .BtnReceipt .BtnInner .BtnTxt .BtnTxtFukidashi, body .BtnStretch .BtnInner .BtnTxt .BtnTxtFukidashi {
  position: absolute;
  bottom: 19px;
  left: 50%;
  transform: translateX(-50%);
  width: 114px;
}

body .BtnReceipt .BtnInner .BtnTxt .BtnTxtFukidashi img, body .BtnStretch .BtnInner .BtnTxt .BtnTxtFukidashi img {
  width: 100%;
}

body .BtnStretch {
  width: 74%;
  min-width: 240px;
  margin: 0 auto;
}

body .BtnStretch .BtnInner .BtnTxt {
  padding: 0 4px 0 6px;
}

body .BtnBlue, body .BtnGreen, body .BtnBack, body .BtnSolid, body .BtnSkyAncher, body .BtnCamera, body .SubmitBlue, body .SubmitRed, body .BtnHomeWelcomeModalClose, body .BtnCalWelcomeModalClose, body .BtnWinRecieve {
  position: relative;
  transform: translateZ(0);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 260px;
  height: 44px;
  margin: 0 auto;
  background-color: #0039a6;
  border-radius: 100px;
  letter-spacing: .02em;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
  filter: drop-shadow(0 3px 9px rgba(0, 29, 84, 0.3));
}

body .BtnBlue input, body .BtnGreen input, body .BtnBack input, body .BtnSolid input, body .BtnSkyAncher input, body .BtnCamera input, body .SubmitBlue input, body .SubmitRed input, body .BtnHomeWelcomeModalClose input, body .BtnCalWelcomeModalClose input, body .BtnWinRecieve input {
  width: 100%;
  height: 100%;
  color: #fff;
  font-weight: 600 !important;
}

body .BtnBlue::after, body .BtnGreen::after, body .BtnBack::after, body .BtnSolid::after, body .BtnSkyAncher::after, body .BtnCamera::after, body .SubmitBlue::after, body .SubmitRed::after, body .BtnHomeWelcomeModalClose::after, body .BtnCalWelcomeModalClose::after, body .BtnWinRecieve::after {
  content: "\e409";
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  font-family: "Material Symbols Rounded";
  font-size: 19px;
  font-weight: 500;
}

body .BtnGreen {
  background-color: #06c755;
  filter: drop-shadow(0 2px 6px rgba(0, 29, 84, 0.3));
}

body .BtnBack {
  max-width: 220px;
  height: 34px;
  background-color: transparent;
  border: 1px solid #151515;
  color: #151515;
  font-size: 12px;
  filter: none;
}

body .BtnBack::after {
  content: "\e408";
  right: auto;
  left: 10px;
  font-size: 19px;
  font-weight: 500;
}

body .BtnSolid, body .BtnSkyAncher {
  max-width: 220px;
  height: 34px;
  background-color: transparent;
  border: 1px solid #151515;
  color: #151515;
  font-size: 12px;
  filter: none;
}

body .BtnAcod {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 220px;
  height: 32px;
  margin: 0 auto;
  padding: 0 0 0 15px;
  background-color: #fff;
  border: 1px solid #0039a6;
  border-radius: 100px;
  letter-spacing: .02em;
  color: #0039a6;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
}

body .BtnAcod::after {
  content: "\e313";
  font-family: "Material Symbols Rounded";
  font-size: 19px;
  font-weight: 500;
}

body .BtnAcod.open::after {
  content: "\e316";
}

body .BtnCamera {
  padding: 0 4px 0 0;
  background-color: #3b98d9;
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
  filter: drop-shadow(0 2px 6px rgba(0, 29, 84, 0.15));
}

body .BtnCamera::before {
  content: "\e412";
  margin-right: 5px;
  font-family: "Material Symbols Rounded";
  font-size: 22px;
  font-weight: 300;
}

body .BtnCamera::after {
  content: none;
}

body .BtnReload, body .BtnZoom, body .BtnWhiteSmall, body .BtnModalClose {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100px;
  height: 28px;
  margin: 0 auto;
  padding: 0 5px 0 0;
  border: 1px solid #fff;
  border-radius: 100px;
  color: #fff;
  font-size: 12px;
}

body .BtnReload::before, body .BtnZoom::before, body .BtnWhiteSmall::before, body .BtnModalClose::before {
  content: "\e5d5";
  margin-right: 3px;
  font-family: "Material Symbols Rounded";
  font-size: 20px;
  font-weight: 300;
}

body .BtnZoom {
  width: 160px;
  padding: 0;
  background-color: #fff;
  border: 1px solid #151515;
  letter-spacing: -.03em;
  color: #151515;
}

body .BtnZoom::before {
  content: "\e8ff";
  font-weight: 300;
}

body .BtnWhiteSmall {
  width: 108px;
  height: 22px;
  padding: 0 0 0 8px;
  background-color: #fff;
  border: none;
  letter-spacing: -.07em;
  color: #0039a6;
  font-size: 10px;
}

body .BtnWhiteSmall::after {
  content: "\e409";
  margin-left: 0;
  font-family: "Material Symbols Rounded";
  font-size: 15px;
  font-weight: 500;
}

body .BtnWhiteSmall::before {
  content: none;
}

body .SubmitBlue, body .SubmitRed {
  max-width: 400px;
  height: 40px;
  filter: none;
}

body .SubmitBlue > input, body .SubmitRed > input {
  width: 100%;
  height: 100%;
  letter-spacing: .02em;
  color: #fff;
  font-size: 14px;
  font-weight: 600 !important;
}

body .SubmitRed {
  background-color: #e60012;
}

body .BtnModalClose {
  width: 160px;
  height: 36px;
  background-color: #fff;
  border: none;
  color: #151515;
  font-size: 14px;
  font-weight: 600 !important;
}

body .BtnModalClose::before {
  content: "\e5cd";
  font-size: 22px;
  font-weight: 400;
}

body .BtnHomeWelcomeModalClose, body .BtnCalWelcomeModalClose {
  max-width: 270px;
  height: 39px;
  font-size: 12px;
  font-weight: 600 !important;
}

body .BtnHomeWelcomeModalClose::after, body .BtnCalWelcomeModalClose::after {
  content: none;
}

body .BtnHomeWelcomeModalClose sub, body .BtnCalWelcomeModalClose sub {
  padding-top: .4em;
}

body .BtnCalWelcomeModalClose {
  background-color: #3b98d9;
}

body .DisableBtn {
  background-color: #919191 !important;
  pointer-events: none !important;
  color: rgba(255, 255, 255, 0.5) !important;
  filter: none !important;
}

body .DisableBtn input {
  pointer-events: none !important;
  opacity: 0.5 !important;
}

body .DisableBtn::after {
  opacity: 0.5 !important;
}

body .BtnUnderline, body .BtnUnderlineBlack, body .BtnLineUnderline, body .BtnHistoryUnderLine {
  position: relative;
  display: inline-block;
  padding: 10px 22px 10px 20px;
  text-decoration: underline;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
}

body .BtnUnderline::after, body .BtnUnderlineBlack::after, body .BtnLineUnderline::after, body .BtnHistoryUnderLine::after {
  content: "\e409";
  position: absolute;
  top: 50%;
  right: 3px;
  transform: translateY(-50%);
  font-family: "Material Symbols Rounded";
  font-size: 19px;
  font-weight: 500;
}

body .BtnUnderlineBlack {
  color: #151515;
  font-size: 12px;
}

body .BtnLineUnderline, body .BtnHistoryUnderLine {
  padding: 12px 22px 12px 40px;
}

body .BtnLineUnderline::before, body .BtnHistoryUnderLine::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 4px;
  transform: translateY(-50%);
  width: 30px;
  height: 30px;
  background: url(../images/icon/icon_line.png) center center/100% auto no-repeat;
}

body .BtnHistoryUnderLine {
  padding: 12px 22px 12px 25px;
  color: #0039a6;
  font-size: 12px;
}

body .BtnHistoryUnderLine::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 4px;
  width: 20px;
  height: 20px;
  background: url(../images/icon/icon_history_img.png) center center/100% auto no-repeat;
}

body .BtnTxtHistory {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 90px;
  margin: 0 auto;
  padding: 0 20px 0 0;
  color: #0039a6;
}

body .BtnTxtHistory img {
  width: 20px;
  height: auto;
  margin: 0 1px 0 0;
}

body .BtnTxtHistory span {
  text-decoration: underline;
  letter-spacing: .02em;
  font-size: 11px;
  font-weight: 600;
}

body .BtnTxtHistory::after {
  content: "\e409";
  position: absolute;
  top: 50%;
  right: 6px;
  transform: translateY(-50%);
  font-family: "Material Symbols Rounded";
  font-size: 16px;
  font-weight: 500;
}

body .BtnWinRecieve {
  width: 100%;
  max-width: none;
  height: 38px;
  margin: -5px 0 15px;
  border-radius: 6px;
  font-size: 12px;
  filter: drop-shadow(0 1px 5px rgba(0, 29, 84, 0.15));
}

body .BtnWinRecieve::after {
  right: 6px;
}

body .BtnSkyAncher {
  width: 116px;
  height: 20px;
  margin: 0 auto;
  padding: 0 1px 0 0;
  background-color: #3b98d9;
  border: 1px solid #3b98d9;
  letter-spacing: -.03em;
  color: #fff;
  font-size: 10px;
  filter: none;
}

body .BtnSkyAncher::after {
  content: "\e313";
  right: 3px;
  font-size: 15px;
}

header .HomeBottomNav, header .CalBottomNav {
  position: fixed;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 460px;
  height: 120px;
  background: linear-gradient(transparent, rgba(30, 52, 94, 0.1) 40%);
  pointer-events: none;
  z-index: 1000;
}

header .HomeBottomNav .BottomNavInner, header .CalBottomNav .BottomNavInner {
  position: absolute;
  bottom: 26px;
  left: 50%;
  transform: translateX(-50%) translateZ(0);
  width: 75px;
  height: 75px;
  filter: drop-shadow(0 0 12px rgba(0, 29, 84, 0.3));
}

header .HomeBottomNav .BottomNavInner .NavEarn, header .CalBottomNav .BottomNavInner .NavEarn {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  padding-top: 3px;
  background-color: #fff;
  border: 4px solid #0039a6;
  border-radius: 50%;
  pointer-events: auto;
}

header .HomeBottomNav .BottomNavInner .NavEarn img, header .CalBottomNav .BottomNavInner .NavEarn img {
  width: 45px;
}

header .HomeBottomNav .BottomNavInner .NavEarn span, header .CalBottomNav .BottomNavInner .NavEarn span {
  display: block;
  margin: -3px auto 0;
  color: #0039a6;
  font-size: 11px;
  font-weight: 600;
  line-height: 1;
}

header .HomeBottomNav .BottomNavInner .NavHome, header .CalBottomNav .BottomNavInner .NavHome {
  position: absolute;
  top: 50%;
  right: calc(50% + 82px);
  transform: translate(50%, -50%);
  display: block;
  width: 62px;
  height: 62px;
  padding-top: 9px;
  background-color: #0039a6;
  border-radius: 50%;
  pointer-events: none;
}

header .HomeBottomNav .BottomNavInner .NavHome img, header .CalBottomNav .BottomNavInner .NavHome img {
  width: 28px;
}

header .HomeBottomNav .BottomNavInner .NavHome span, header .CalBottomNav .BottomNavInner .NavHome span {
  display: block;
  margin: -2px auto 0;
  color: #fff;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.1;
}

header .HomeBottomNav .BottomNavInner .NavCal, header .CalBottomNav .BottomNavInner .NavCal {
  position: absolute;
  top: 50%;
  left: calc(50% + 82px);
  transform: translate(-50%, -50%);
  width: 66px;
  height: 66px;
  padding-top: 5px;
  background-color: #54c9ff;
  border: 2px solid #54c9ff;
  border-radius: 50%;
  pointer-events: auto;
  color: #0039a6;
}

header .HomeBottomNav .BottomNavInner .NavCal::after, header .CalBottomNav .BottomNavInner .NavCal::after {
  content: "\e409";
  position: absolute;
  top: 50%;
  right: -4px;
  transform: translateY(-50%);
  font-family: "Material Symbols Rounded";
  font-size: 19px;
  font-weight: 500;
}

header .HomeBottomNav .BottomNavInner .NavCal img, header .CalBottomNav .BottomNavInner .NavCal img {
  width: 28px;
}

header .HomeBottomNav .BottomNavInner .NavCal span, header .CalBottomNav .BottomNavInner .NavCal span {
  display: block;
  margin: -2px auto 0;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.1;
}

header .HomeBottomNav .BottomNavInner .NavCal span.NavCalTxt01, header .CalBottomNav .BottomNavInner .NavCal span.NavCalTxt01 {
  margin: -4px auto 0;
}

header .HomeBottomNav .BottomNavInner .NavCal span.NavCalTxt01 sub, header .CalBottomNav .BottomNavInner .NavCal span.NavCalTxt01 sub {
  margin-right: -.4em;
  vertical-align: 0.02em !important;
}

header .HomeBottomNav .BottomNavInner .NavCal span.NavCalTxt02, header .CalBottomNav .BottomNavInner .NavCal span.NavCalTxt02 {
  letter-spacing: -.13em;
}

header .HomeBottomNav .BottomNavInner::before, header .CalBottomNav .BottomNavInner::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 50%;
  transform: translateY(-50%);
  display: block;
  width: 82px;
  height: 75px;
  background: url(../images/nav_curve_blue.svg) center center/100% auto no-repeat;
}

header .CalBottomNav .BottomNavInner .NavEarn {
  border: 4px solid #54c9ff;
}

header .CalBottomNav .BottomNavInner .NavHome {
  width: 66px;
  height: 66px;
  border: 2px solid #0039a6;
  pointer-events: auto;
}

header .CalBottomNav .BottomNavInner .NavHome::after {
  content: "\e408";
  position: absolute;
  top: 50%;
  left: -4px;
  transform: translateY(-50%);
  color: #fff;
  font-family: "Material Symbols Rounded";
  font-size: 19px;
  font-weight: 500;
}

header .CalBottomNav .BottomNavInner .NavCal {
  width: 62px;
  height: 62px;
  background-color: #54c9ff;
  background-image: none;
  border: none;
  pointer-events: none;
}

header .CalBottomNav .BottomNavInner .NavCal::after {
  display: none;
}

header .CalBottomNav .BottomNavInner::before {
  right: auto;
  left: 50%;
  background: url(../images/nav_curve_sky.svg) center center/100% auto no-repeat;
}

header .Hamburger {
  position: absolute;
  right: 10.7%;
  bottom: 56px;
  transform: translate(50%, 50%);
  width: 44px;
  height: 44px;
  pointer-events: auto;
}

header .Hamburger .HamburgerBg {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 44px;
  height: 44px;
  background-color: #151515;
  border-radius: 50%;
  transition: all .3s ease-out;
}

header .Hamburger .Stick01, header .Hamburger .Stick02, header .Hamburger .Stick03 {
  position: absolute;
  top: calc(50% - 7px);
  left: 50%;
  transform: translate(-50%, -50%);
  display: block;
  width: 19px;
  height: 2px;
  background-color: #fff;
  border-radius: 10px;
  transition: all .3s ease-in-out;
}

header .Hamburger .Stick02 {
  top: 50%;
}

header .Hamburger .Stick03 {
  top: calc(50% + 7px);
}

header .Hamburger.open .HamburgerBg.HamburgerBgHome {
  background-color: #0039a6;
}

header .Hamburger.open .HamburgerBg.HamburgerBgCal {
  background-color: #3b98d9;
}

header .Hamburger.open .Stick01, header .Hamburger.open .Stick02, header .Hamburger.open .Stick03 {
  top: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
  width: 23px;
}

header .Hamburger.open .Stick02 {
  transform: translate(-50%, -50%) rotate(-45deg);
  width: 23px;
}

header .Hamburger.open .Stick03 {
  top: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
  width: 23px;
}

header .HamburgerInner {
  position: fixed;
  top: 45%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: none;
  width: 100%;
  max-width: 460px;
  z-index: 1000;
}

header .HamburgerInner .HamburgerTtlHome, header .HamburgerInner .HamburgerTtlCal {
  width: 300px;
  margin: 0 auto;
  padding: 8px 0 6px;
  background-color: #fff;
  border-radius: 4px;
  letter-spacing: -.02em;
  color: #0039a6;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
}

header .HamburgerInner .HamburgerTtlHome span, header .HamburgerInner .HamburgerTtlCal span {
  letter-spacing: 0;
  font-family: "Arial", sans-serif;
  font-size: 17px;
  line-height: 1.3;
}

header .HamburgerInner .HamburgerTtlCal {
  color: #3b98d9;
}

header .HamburgerInner .HamburgerUl > li {
  opacity: 0;
}

header .HamburgerInner .HamburgerUl > li:nth-child(1) {
  animation: fuwa .5s ease 0s forwards;
}

header .HamburgerInner .HamburgerUl > li:nth-child(2) {
  animation: fuwa .5s ease .05s forwards;
}

header .HamburgerInner .HamburgerUl > li:nth-child(3) {
  animation: fuwa .5s ease .10s forwards;
}

header .HamburgerInner .HamburgerUl > li:nth-child(4) {
  animation: fuwa .5s ease .15s forwards;
}

header .HamburgerInner .HamburgerUl > li:nth-child(5) {
  animation: fuwa .5s ease .20s forwards;
}

header .HamburgerInner .HamburgerUl > li:nth-child(6) {
  animation: fuwa .5s ease .25s forwards;
}

header .HamburgerInner .HamburgerUl > li:nth-child(7) {
  animation: fuwa .5s ease .30s forwards;
}

@keyframes fuwa {
  0% {
    transform: translateY(10px);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}

body .Area {
  padding: 30px 25px 40px;
}

body .Area .AreaInner {
  max-width: 370px;
  margin: 0 auto;
}

body .AreaBtn {
  padding: 25px 25px;
  background-color: #fff;
  border-top: 1px solid rgba(21, 21, 21, 0.2);
}

body .AreaApply {
  padding: 62px 25px 40px;
}

body .AreaCalInput {
  padding: 52px 25px 40px;
}

body .Bnr {
  transform: translateZ(0);
  display: block;
  filter: drop-shadow(0 2px 20px rgba(0, 29, 84, 0.15));
}

body .HeadBlue01, body .HeadBlue03, body .HeadSky01 {
  color: #0039a6;
  font-size: 17px;
  font-weight: 600;
}

body .HeadBlue02 {
  display: inline-block;
  padding: 2px 12px;
  border: 1px solid #0039a6;
  border-radius: 4px;
  color: #0039a6;
  font-size: 14px;
  font-weight: 600;
}

body .HeadBlue03 {
  font-size: 15px;
}

body .HeadSky01 {
  color: #3b98d9;
}

body .BarHeadBlue {
  position: relative;
  padding: 10px 12px;
  background-color: #0039a6;
  border-radius: 3px;
  text-align: left;
  letter-spacing: .04em;
  color: #fff;
  font-size: 13px;
}

body .BarHeadBlue span {
  padding: 0 0 0 12px;
  letter-spacing: 0;
  font-size: 14px;
}

body .LeftTxt {
  text-align: left;
  color: #151515;
  font-size: 12px;
}

body .RedLeftTxt {
  text-align: left;
  color: #e60012;
  font-size: 12px;
}

body .CenterTxt {
  text-align: center;
  color: #151515;
  font-size: 14px;
}

body .RedCenterTxt {
  text-align: center;
  color: #e60012;
  font-size: 14px;
  font-weight: 600;
}

body .TxtIndent {
  padding-left: 1em;
  text-indent: -1em;
}

body .LinkTxt {
  text-decoration: underline;
  color: #151515;
  font-weight: 600;
}

body .Cap, body .RedCap {
  text-align: left;
  color: #151515;
  font-size: 10px;
}

body .Cap span, body .RedCap span {
  color: #e60012;
  font-weight: 600;
}

body .Cap li, body .RedCap li {
  padding-left: 1em;
  text-indent: -1em;
}

body .Cap li.Bold, body .RedCap li.Bold {
  font-weight: 600;
}

body .RedCap {
  color: #e60012;
  font-size: 12px;
  font-weight: 600;
}

body .CenterCap {
  text-align: center;
  color: #151515;
  font-size: 10px;
}

body .AddToHomeCap {
  text-align: center;
  color: #e60012;
  font-size: 12px;
  font-weight: 600;
}

body .AddToHomeCap.None {
  display: none;
}

body .BoldTxt {
  font-weight: 600;
}

body sub {
  padding-right: .12em;
  vertical-align: sub !important;
  line-height: 0 !important;
}

body .Megane {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
}

body .TotalPointTxt {
  display: inline-block;
  padding: 6px 20px;
  border: 1px solid #0039a6;
  border-radius: 100px;
  color: #0039a6;
  font-size: 12px;
  line-height: 1.5;
}

body .TotalPointTxt span {
  padding: 0 2px;
  font-size: 14px;
  line-height: 1;
}

body .SpTxtWrap, body .CenterSpTxtWrap {
  padding: 15px 18px;
  background-color: rgba(0, 57, 166, 0.1);
  border-radius: 4px;
  text-align: left;
  color: #151515;
}

body .SpTxtWrap > p, body .CenterSpTxtWrap > p {
  font-size: 12px;
}

body .CenterSpTxtWrap {
  text-align: center;
}

body .SolidWrap {
  position: relative;
  width: 100%;
  padding: 16px 20px;
  background-color: #fff;
  border: 1px solid #b3b3b3;
  border-radius: 6px;
  z-index: 2;
}

body .PointBox {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  margin: 7px auto 0;
  color: #0039a6;
  line-height: 1;
}

body .PointBox .PointTxt {
  display: block;
  padding: 0 0 4px 0;
  font-size: 16px;
  font-weight: 600;
}

body .PointBox .PointNum {
  padding: 0 4px;
  letter-spacing: -.02em;
  font-family: Futura, "Century Gothic", CenturyGothic, sans-serif !important;
  font-size: 38px;
  line-height: 1;
}

body .NecessityTxt {
  margin: 0 auto 6px;
  color: #e60012;
  font-size: 13px;
  font-weight: 600;
}

body .CautionWrap {
  position: relative;
  padding: 8px 8px;
  background-color: #e60012;
  border-radius: 3px;
  text-align: center;
  color: #fff;
  font-size: 12px;
  font-weight: 600;
}

body .CautionWrap span {
  letter-spacing: 0;
  font-size: 10px;
}

body .BnrShadow {
  transform: translateZ(0);
  filter: drop-shadow(0 1px 4px rgba(0, 57, 166, 0.15));
}

body .EnqueteForm {
  text-align: left;
  color: #0039a6;
}

body .EnqueteForm > dl > dt {
  margin: 20px auto 8px;
}

body .EnqueteForm > dl > dt .EnqueteQuestion {
  padding-left: 2.7em;
  text-indent: -2.7em;
  font-size: 13px;
  font-weight: 600;
}

body .EnqueteForm > dl > dt .EnqueteQuestion .Qnum {
  display: inline-block;
  width: 2.7em;
  padding-right: .5em;
  text-align: right;
  text-indent: 0;
  letter-spacing: -.03em;
}

body .EnqueteForm > dl > dt .EnqueteQuestion .DtCap {
  font-size: 11px;
  font-weight: 400;
}

body .EnqueteForm > dl > dt .EnqueteError {
  display: block;
  margin: 6px auto 0;
  padding: 4px 8px;
  background: #e60012;
  border-radius: 3px;
  color: #fff;
  font-size: 12px;
  font-weight: 600;
}

body .EnqueteForm > dl > dd .EnqueteRadio, body .EnqueteForm > dl > dd .EnqueteRadio02 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  color: #151515;
}

body .EnqueteForm > dl > dd .EnqueteRadio input, body .EnqueteForm > dl > dd .EnqueteRadio02 input {
  display: none;
}

body .EnqueteForm > dl > dd .EnqueteRadio .RadioBtn, body .EnqueteForm > dl > dd .EnqueteRadio02 .RadioBtn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc((100% - 12px) / 3);
  min-height: 38px;
  padding: 6px 12px;
  background: #fff;
  border: 1px solid #0039a6;
  border-radius: 6px;
  color: #0039a6;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.3;
}

body .EnqueteForm > dl > dd .EnqueteRadio input[type="radio"]:checked + .RadioBtn, body .EnqueteForm > dl > dd .EnqueteRadio02 input[type="radio"]:checked + .RadioBtn {
  background-color: #0039a6;
  color: #fff;
}

body .EnqueteForm > dl > dd .EnqueteRadio02 .RadioBtn {
  justify-content: flex-start;
  width: 100%;
  margin-top: 5px;
}

body .EnqueteForm > dl > dd .EnqueteRadio02 .RadioBtn:nth-child(-n+2) {
  margin-top: 0;
}

body .EnqueteForm > dl > dd .EnqueteSelect {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}

body .EnqueteForm > dl > dd .EnqueteSelect .SelectWrap {
  position: relative;
  width: 100%;
  height: 42px;
}

body .EnqueteForm > dl > dd .EnqueteSelect .SelectWrap.Year {
  width: calc((100% - 84px) * 40 / 100);
}

body .EnqueteForm > dl > dd .EnqueteSelect .SelectWrap.Month {
  width: calc((100% - 84px) * 30 / 100);
}

body .EnqueteForm > dl > dd .EnqueteSelect .SelectWrap.Day {
  width: calc((100% - 84px) * 30 / 100);
}

body .EnqueteForm > dl > dd .EnqueteSelect .SelectWrap select {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 2px 25px 0 12px;
  background-color: #fff;
  background-image: url(../images/icon/arrow_select_navy.svg);
  background-repeat: no-repeat;
  background-position: top 55% right 10px;
  background-size: 10px auto;
  border: 1px solid #0039a6;
  border-radius: 6px;
  text-align: left;
  color: #151515;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.3;
}

body .EnqueteForm > dl > dd .EnqueteSelect .SelectWrap::after {
  content: "\e5c5";
  position: absolute;
  top: 52%;
  right: 6px;
  transform: translateY(-50%);
  pointer-events: none;
  font-family: "Material Symbols Rounded";
  font-size: 20px;
  font-weight: 900;
}

body .EnqueteForm > dl > dd .EnqueteSelect span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  color: #0039a6;
  font-size: 12px;
  font-weight: 600;
  line-height: 36px;
}

body .EnqueteForm > dl > dd .EnqueteCheckbox {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

body .EnqueteForm > dl > dd .EnqueteCheckbox input[type=checkbox] {
  display: none;
}

body .EnqueteForm > dl > dd .EnqueteCheckbox .Checkbox {
  position: relative;
  display: flex;
  align-items: center;
  box-sizing: border-box;
  width: calc(50% - 3px);
  min-height: 36px;
  margin-top: 6px;
  padding: 6px 4px 6px 30px;
  background-color: rgba(255, 255, 255, 0.7);
  border: 1.5px solid rgba(0, 57, 166, 0.3);
  border-radius: 6px;
  text-align: left;
  color: #151515;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.3;
  transition: background-color .2s linear;
}

body .EnqueteForm > dl > dd .EnqueteCheckbox .Checkbox span {
  width: calc(100% - 44px);
}

body .EnqueteForm > dl > dd .EnqueteCheckbox .Checkbox img {
  width: 44px;
  height: auto;
  margin: -4px 0;
}

body .EnqueteForm > dl > dd .EnqueteCheckbox .Checkbox::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 15px;
  transform: translate(-50%, -50%);
  display: block;
  width: 16px;
  height: 16px;
  background-color: #fff;
  border: 1.5px solid rgba(21, 21, 21, 0.5);
  border-radius: 3px;
  transition: border-color .2s linear;
}

body .EnqueteForm > dl > dd .EnqueteCheckbox .Checkbox::after {
  content: "\e876";
  position: absolute;
  top: 50%;
  left: 15px;
  transform: translate(-50%, -50%);
  color: #0039a6;
  color: #fff;
  font-family: "Material Symbols Rounded";
  font-size: 20px;
  font-weight: 700;
  opacity: 0;
}

body .EnqueteForm > dl > dd .EnqueteCheckbox .Checkbox:nth-child(-n+4) {
  margin-top: 0;
}

body .EnqueteForm > dl > dd .EnqueteCheckbox input[type=checkbox]:checked + .Checkbox {
  background-color: rgba(84, 201, 255, 0.1);
  border: 1.5px solid #0039a6;
}

body .EnqueteForm > dl > dd .EnqueteCheckbox input[type=checkbox]:checked + .Checkbox::before {
  background-color: #0039a6;
  border: 1.5px solid #0039a6;
}

body .EnqueteForm > dl > dd .EnqueteCheckbox input[type=checkbox]:checked + .Checkbox::after {
  opacity: 1;
}

body .EnqueteForm > dl > dd .EnqueteInput {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 120px;
  height: 42px;
  padding: 6px 0 6px 12px;
  background: #fff;
  border: 1px solid #0039a6;
  border-radius: 6px;
  color: #151515;
  font-size: 16px;
  font-weight: 600 !important;
  line-height: 1.3;
}

body .EnqueteForm > dl > dd .EnqueteInput::placeholder {
  font-size: 16px;
  font-weight: 600;
}

body .CommonError {
  position: relative;
  display: block;
  padding: 9px 9px 9px 29px;
  background: #fff;
  border: 1px solid #e60012;
  border-radius: 4px;
  color: #e60012;
}

body .CommonError::before {
  content: "\e000";
  position: absolute;
  top: 50%;
  left: 4px;
  transform: translateY(-50%);
  font-family: "Material Symbols Rounded";
  font-size: 22px;
  font-weight: 400;
}

body .CommonError .CommonErrorTxt {
  font-size: 12px;
  font-weight: 600;
}

body .CheckBox {
  position: relative;
  text-align: center;
}

body .CheckBox input[type="checkbox"] {
  display: none;
}

body .CheckBox input[type="checkbox"] + label {
  position: relative;
  padding-left: 24px;
  color: #151515;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
}

body .CheckBox input[type="checkbox"] + label::before {
  content: "";
  position: absolute;
  top: 52%;
  left: 0;
  transform: translateY(-50%);
  display: block;
  box-sizing: border-box;
  width: 18px;
  height: 18px;
  background-color: #fff;
  border: 1px solid #151515;
  border-radius: 3px;
}

body .CheckBox input[type="checkbox"]:checked + label::before {
  background-color: #0039a6;
  border: 1px solid #0039a6;
}

body .CheckBox input[type="checkbox"]:checked + label::after {
  content: "\e876";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  color: #fff;
  font-family: "Material Symbols Rounded";
  font-size: 18px;
  font-weight: 800;
}

body .PeriodWrap, body .CalPeriodWrap {
  max-width: 340px;
  margin: 0 auto;
  padding: 3px 5px;
  padding: 7px 10px 8px;
  border: 1px solid rgba(0, 57, 166, 0.6);
  border-radius: 4px;
}

body .PeriodWrap h2, body .CalPeriodWrap h2 {
  color: #0039a6;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
}

body .PeriodWrap .Period01, body .CalPeriodWrap .Period01 {
  margin-top: 4px;
}

body .PeriodWrap .Period02, body .CalPeriodWrap .Period02 {
  margin-top: 4px;
}

body .PeriodWrap .Period02 > img, body .CalPeriodWrap .Period02 > img {
  width: 85%;
  height: auto;
  margin: 0;
  opacity: .7;
}

body .PeriodWrap .PeriodTxt, body .CalPeriodWrap .PeriodTxt {
  margin-top: 5px;
  color: #0039a6;
  font-size: 12px;
  line-height: 1;
}

body .CalPeriodWrap {
  background-color: rgba(246, 252, 255, 0.9);
  border: none;
}

body .FixPoint {
  position: fixed;
  top: 0;
  left: 50%;
  transform: translateX(-50%) translateZ(0);
  width: 100%;
  max-width: 460px;
  filter: drop-shadow(0 3px 25px rgba(0, 29, 84, 0.2));
  z-index: 200;
}

body .FixPoint .FixPointInner {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 8px 12px 8px 8px;
  background-color: #0039a6;
  border-radius: 0 0 14px 0px;
  color: #fff;
}

body .FixPoint .FixPointInner .LineIcon {
  overflow: hidden;
  width: 28px;
  height: 28px;
  border-radius: 100px;
}

body .FixPoint .FixPointInner .LineIcon img {
  width: 100%;
  height: auto;
}

body .FixPoint .FixPointInner .PointName {
  padding: 0 7px 0 8px;
  text-align: left;
  letter-spacing: -.02em;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.12;
}

body .FixPoint .FixPointInner .PointNum {
  padding: 0;
  letter-spacing: -.02em;
  font-family: Futura, "Century Gothic", CenturyGothic, sans-serif !important;
  font-size: 22px;
  line-height: 1;
}

body .FixPoint .FixPointInner .PointUnit02 {
  transform: scale(0.88);
  margin: 0 -2px 0 -1px;
  padding-top: 8px;
  letter-spacing: -.07em;
  font-size: 10px;
  font-weight: 600;
}

body .FixPoint .FixPointInner .PointKai {
  padding: 4px 0 0 3px;
  font-family: Futura, "Century Gothic", CenturyGothic, sans-serif !important;
  font-size: 13px;
  font-weight: 600;
}

body .ApplyUl {
  transform: translateZ(0);
  filter: drop-shadow(0 2px 20px rgba(0, 29, 84, 0.15));
}

body .ApplyUl .ApplyLi {
  position: relative;
  overflow: hidden;
  margin-top: 15px;
  background-color: #fafafc;
  border-radius: 8px;
  z-index: 1;
}

body .ApplyUl .ApplyLi:first-child {
  margin-top: 0;
}

body .ApplyUl .ApplyLi .ApplyImg {
  position: relative;
  border-bottom: 1px solid #e8e8ea;
}

body .ApplyUl .ApplyLi .ApplyDesc {
  position: relative;
  padding: 16px 20px 20px;
  background-color: #fafafc;
  text-align: left;
}

body .ApplyUl .ApplyLi .ApplyDesc .ApplyCont {
  font-size: 0;
}

body .ApplyUl .ApplyLi .ApplyDesc .ApplyCont .ApplyCourse {
  display: inline-block;
  margin: 0 0 6px;
  padding: 4px 9px;
  background-color: #0039a6;
  border-radius: 100px;
  color: #fff;
  line-height: 0;
}

body .ApplyUl .ApplyLi .ApplyDesc .ApplyCont .ApplyCourse span {
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
}

body .ApplyUl .ApplyLi .ApplyDesc .ApplyCont .ApplyTtl {
  padding: 0 0 0 4px;
  color: #151515;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.3;
}

body .ApplyUl .ApplyLi .ApplyDesc .ApplyCont .ApplyWinnersNum {
  padding: 6px 0 0 4px;
  color: #0039a6;
  font-size: 11px;
  font-weight: 600;
  line-height: 1;
}

body .ApplyUl .ApplyLi .ApplyDesc .ApplyBtn {
  display: flex;
  justify-content: space-between;
  margin-top: 14px;
}

body .ApplyUl .ApplyLi .ApplyDesc .ApplyBtn .ApplyInfo {
  display: flex;
  align-items: center;
  flex: 1 1 86px;
  justify-content: center;
  height: 37px;
  padding: 0 0 0 14px;
  border: 1px solid #151515;
  border-radius: 100px;
  color: #151515;
  font-size: 12px;
}

body .ApplyUl .ApplyLi .ApplyDesc .ApplyBtn .ApplyInfo::after {
  content: "\e409";
  margin-left: 2px;
  font-family: "Material Symbols Rounded";
  font-size: 17px;
  font-weight: 500;
}

body .ApplyUl .ApplyLi .ApplyDesc .ApplyBtn .BtnBlue, body .ApplyUl .ApplyLi .ApplyDesc .ApplyBtn .BtnGreen, body .ApplyUl .ApplyLi .ApplyDesc .ApplyBtn .BtnBack, body .ApplyUl .ApplyLi .ApplyDesc .ApplyBtn .BtnSolid, body .ApplyUl .ApplyLi .ApplyDesc .ApplyBtn .BtnSkyAncher, body .ApplyUl .ApplyLi .ApplyDesc .ApplyBtn .BtnCamera, body .ApplyUl .ApplyLi .ApplyDesc .ApplyBtn .SubmitBlue, body .ApplyUl .ApplyLi .ApplyDesc .ApplyBtn .SubmitRed, body .ApplyUl .ApplyLi .ApplyDesc .ApplyBtn .BtnHomeWelcomeModalClose, body .ApplyUl .ApplyLi .ApplyDesc .ApplyBtn .BtnCalWelcomeModalClose, body .ApplyUl .ApplyLi .ApplyDesc .ApplyBtn .BtnWinRecieve {
  flex: 4 4 205px;
  height: 37px;
  margin-left: 3%;
  font-size: 12px;
  filter: drop-shadow(0 1px 4px rgba(0, 29, 84, 0.15));
}

body .ApplyUl .ApplyLi .ApplyDesc .ApplyBtn .BtnBlue::after, body .ApplyUl .ApplyLi .ApplyDesc .ApplyBtn .BtnGreen::after, body .ApplyUl .ApplyLi .ApplyDesc .ApplyBtn .BtnBack::after, body .ApplyUl .ApplyLi .ApplyDesc .ApplyBtn .BtnSolid::after, body .ApplyUl .ApplyLi .ApplyDesc .ApplyBtn .BtnSkyAncher::after, body .ApplyUl .ApplyLi .ApplyDesc .ApplyBtn .BtnCamera::after, body .ApplyUl .ApplyLi .ApplyDesc .ApplyBtn .SubmitBlue::after, body .ApplyUl .ApplyLi .ApplyDesc .ApplyBtn .SubmitRed::after, body .ApplyUl .ApplyLi .ApplyDesc .ApplyBtn .BtnHomeWelcomeModalClose::after, body .ApplyUl .ApplyLi .ApplyDesc .ApplyBtn .BtnCalWelcomeModalClose::after, body .ApplyUl .ApplyLi .ApplyDesc .ApplyBtn .BtnWinRecieve::after {
  content: "\e409";
  right: 8px;
  font-size: 17px;
}

body .ApplyUl.SlickApplyUl, body .ApplyUl.SlickPointWrap, body .ApplyUl.SlickStepUl {
  margin: 0 -25px;
  filter: drop-shadow(0 3px 25px rgba(0, 29, 84, 0.15));
}

body .ApplyUl.SlickApplyUl .ApplyLi, body .ApplyUl.SlickPointWrap .ApplyLi, body .ApplyUl.SlickStepUl .ApplyLi {
  margin: 0 8px;
}

body .ApplyUl.SlickApplyUl .ApplyLi .ApplyDesc, body .ApplyUl.SlickPointWrap .ApplyLi .ApplyDesc, body .ApplyUl.SlickStepUl .ApplyLi .ApplyDesc {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  padding: 11px 12px 12px;
}

body .ApplyUl.SlickApplyUl .ApplyLi .ApplyDesc .ApplyCont, body .ApplyUl.SlickPointWrap .ApplyLi .ApplyDesc .ApplyCont, body .ApplyUl.SlickStepUl .ApplyLi .ApplyDesc .ApplyCont {
  flex: 3 3 155px;
  padding: 0 2% 0 0;
}

body .ApplyUl.SlickApplyUl .ApplyLi .ApplyDesc .ApplyCont .ApplyCourse, body .ApplyUl.SlickPointWrap .ApplyLi .ApplyDesc .ApplyCont .ApplyCourse, body .ApplyUl.SlickStepUl .ApplyLi .ApplyDesc .ApplyCont .ApplyCourse {
  margin: 0 0 5px;
  padding: 3px 9px;
}

body .ApplyUl.SlickApplyUl .ApplyLi .ApplyDesc .ApplyCont .ApplyCourse span, body .ApplyUl.SlickPointWrap .ApplyLi .ApplyDesc .ApplyCont .ApplyCourse span, body .ApplyUl.SlickStepUl .ApplyLi .ApplyDesc .ApplyCont .ApplyCourse span {
  font-size: 10px;
}

body .ApplyUl.SlickApplyUl .ApplyLi .ApplyDesc .ApplyCont .ApplyTtl, body .ApplyUl.SlickPointWrap .ApplyLi .ApplyDesc .ApplyCont .ApplyTtl, body .ApplyUl.SlickStepUl .ApplyLi .ApplyDesc .ApplyCont .ApplyTtl {
  padding: 0 0 0 3px;
  font-size: 12px;
}

body .ApplyUl.SlickApplyUl .ApplyLi .ApplyDesc .ApplyCont .ApplyWinnersNum, body .ApplyUl.SlickPointWrap .ApplyLi .ApplyDesc .ApplyCont .ApplyWinnersNum, body .ApplyUl.SlickStepUl .ApplyLi .ApplyDesc .ApplyCont .ApplyWinnersNum {
  padding: 4px 0 3px 3px;
  color: #0039a6;
  font-size: 10px;
  font-weight: 600;
  line-height: 1;
}

body .ApplyUl.SlickApplyUl .ApplyLi .ApplyDesc .ApplyBtn, body .ApplyUl.SlickPointWrap .ApplyLi .ApplyDesc .ApplyBtn, body .ApplyUl.SlickStepUl .ApplyLi .ApplyDesc .ApplyBtn {
  display: flex;
  flex: 1 1 61px;
  justify-content: space-between;
  margin-top: 14px;
}

body .ApplyUl.SlickApplyUl .ApplyLi .ApplyDesc .ApplyBtn .ApplyInfo, body .ApplyUl.SlickPointWrap .ApplyLi .ApplyDesc .ApplyBtn .ApplyInfo, body .ApplyUl.SlickStepUl .ApplyLi .ApplyDesc .ApplyBtn .ApplyInfo {
  height: 26px;
  padding: 0 0 0 9px;
  font-size: 10px;
}

body .ApplyUl.SlickApplyUl .ApplyLi .ApplyDesc .ApplyBtn .ApplyInfo::after, body .ApplyUl.SlickPointWrap .ApplyLi .ApplyDesc .ApplyBtn .ApplyInfo::after, body .ApplyUl.SlickStepUl .ApplyLi .ApplyDesc .ApplyBtn .ApplyInfo::after {
  margin-left: 1px;
  font-size: 15px;
}

body .ApplyUl.SlickApplyUl .ApplyLi .ApplyDesc .ApplyBtn .BtnBlue, body .ApplyUl.SlickPointWrap .ApplyLi .ApplyDesc .ApplyBtn .BtnBlue, body .ApplyUl.SlickStepUl .ApplyLi .ApplyDesc .ApplyBtn .BtnBlue, body .ApplyUl.SlickApplyUl .ApplyLi .ApplyDesc .ApplyBtn .BtnGreen, body .ApplyUl.SlickPointWrap .ApplyLi .ApplyDesc .ApplyBtn .BtnGreen, body .ApplyUl.SlickStepUl .ApplyLi .ApplyDesc .ApplyBtn .BtnGreen, body .ApplyUl.SlickApplyUl .ApplyLi .ApplyDesc .ApplyBtn .BtnBack, body .ApplyUl.SlickPointWrap .ApplyLi .ApplyDesc .ApplyBtn .BtnBack, body .ApplyUl.SlickStepUl .ApplyLi .ApplyDesc .ApplyBtn .BtnBack, body .ApplyUl.SlickApplyUl .ApplyLi .ApplyDesc .ApplyBtn .BtnSolid, body .ApplyUl.SlickPointWrap .ApplyLi .ApplyDesc .ApplyBtn .BtnSolid, body .ApplyUl.SlickStepUl .ApplyLi .ApplyDesc .ApplyBtn .BtnSolid, body .ApplyUl.SlickApplyUl .ApplyLi .ApplyDesc .ApplyBtn .BtnSkyAncher, body .ApplyUl.SlickPointWrap .ApplyLi .ApplyDesc .ApplyBtn .BtnSkyAncher, body .ApplyUl.SlickStepUl .ApplyLi .ApplyDesc .ApplyBtn .BtnSkyAncher, body .ApplyUl.SlickApplyUl .ApplyLi .ApplyDesc .ApplyBtn .BtnCamera, body .ApplyUl.SlickPointWrap .ApplyLi .ApplyDesc .ApplyBtn .BtnCamera, body .ApplyUl.SlickStepUl .ApplyLi .ApplyDesc .ApplyBtn .BtnCamera, body .ApplyUl.SlickApplyUl .ApplyLi .ApplyDesc .ApplyBtn .SubmitBlue, body .ApplyUl.SlickPointWrap .ApplyLi .ApplyDesc .ApplyBtn .SubmitBlue, body .ApplyUl.SlickStepUl .ApplyLi .ApplyDesc .ApplyBtn .SubmitBlue, body .ApplyUl.SlickApplyUl .ApplyLi .ApplyDesc .ApplyBtn .SubmitRed, body .ApplyUl.SlickPointWrap .ApplyLi .ApplyDesc .ApplyBtn .SubmitRed, body .ApplyUl.SlickStepUl .ApplyLi .ApplyDesc .ApplyBtn .SubmitRed, body .ApplyUl.SlickApplyUl .ApplyLi .ApplyDesc .ApplyBtn .BtnHomeWelcomeModalClose, body .ApplyUl.SlickPointWrap .ApplyLi .ApplyDesc .ApplyBtn .BtnHomeWelcomeModalClose, body .ApplyUl.SlickStepUl .ApplyLi .ApplyDesc .ApplyBtn .BtnHomeWelcomeModalClose, body .ApplyUl.SlickApplyUl .ApplyLi .ApplyDesc .ApplyBtn .BtnCalWelcomeModalClose, body .ApplyUl.SlickPointWrap .ApplyLi .ApplyDesc .ApplyBtn .BtnCalWelcomeModalClose, body .ApplyUl.SlickStepUl .ApplyLi .ApplyDesc .ApplyBtn .BtnCalWelcomeModalClose, body .ApplyUl.SlickApplyUl .ApplyLi .ApplyDesc .ApplyBtn .BtnWinRecieve, body .ApplyUl.SlickPointWrap .ApplyLi .ApplyDesc .ApplyBtn .BtnWinRecieve, body .ApplyUl.SlickStepUl .ApplyLi .ApplyDesc .ApplyBtn .BtnWinRecieve {
  display: none;
}

body .ApplyUl.ConfirmApplyUl .ApplyLi .ApplyDesc {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}

body .ApplyUl.ConfirmApplyUl .ApplyLi .ApplyDesc .ApplyCont {
  flex: 3 3 198px;
  padding: 0 2% 0 0;
}

body .ApplyUl.ConfirmApplyUl .ApplyLi .ApplyDesc .ApplyCont .ApplyWinnersNum {
  padding-bottom: 4px;
}

body .ApplyUl.ConfirmApplyUl .ApplyLi .ApplyDesc .ApplyBtn {
  flex: 1 1 86px;
  margin-top: 10px;
}

body .ApplyUl.ConfirmApplyUl .ApplyLi .ApplyDesc .ApplyBtn .BtnBlue, body .ApplyUl.ConfirmApplyUl .ApplyLi .ApplyDesc .ApplyBtn .BtnGreen, body .ApplyUl.ConfirmApplyUl .ApplyLi .ApplyDesc .ApplyBtn .BtnBack, body .ApplyUl.ConfirmApplyUl .ApplyLi .ApplyDesc .ApplyBtn .BtnSolid, body .ApplyUl.ConfirmApplyUl .ApplyLi .ApplyDesc .ApplyBtn .BtnSkyAncher, body .ApplyUl.ConfirmApplyUl .ApplyLi .ApplyDesc .ApplyBtn .BtnCamera, body .ApplyUl.ConfirmApplyUl .ApplyLi .ApplyDesc .ApplyBtn .SubmitBlue, body .ApplyUl.ConfirmApplyUl .ApplyLi .ApplyDesc .ApplyBtn .SubmitRed, body .ApplyUl.ConfirmApplyUl .ApplyLi .ApplyDesc .ApplyBtn .BtnHomeWelcomeModalClose, body .ApplyUl.ConfirmApplyUl .ApplyLi .ApplyDesc .ApplyBtn .BtnCalWelcomeModalClose, body .ApplyUl.ConfirmApplyUl .ApplyLi .ApplyDesc .ApplyBtn .BtnWinRecieve {
  display: none;
}

body .ApplyNumWrap {
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  color: #151515;
  font-weight: 600;
}

body .ApplyNumWrap span {
  padding: 0 0 8px;
  font-size: 14px;
}

body .ApplyNumWrap .ApplyConfirmNum {
  margin: 0 6px 0 10px;
  padding: 0 0 4px;
  font-size: 24px;
}

body .ApplyNumWrap .ApplyNumSelectWrap {
  position: relative;
  display: block;
  height: 40px;
  margin: 0 4px 0 8px;
}

body .ApplyNumWrap .ApplyNumSelectWrap select {
  position: relative;
  display: block;
  height: 100%;
  padding: 1px 22px 0 10px;
  background-color: #fff;
  border: 1px solid #595a5b;
  border-radius: 6px;
  text-align: left;
  letter-spacing: -.04em;
  font-size: 16px;
  font-weight: 600;
}

body .ApplyNumWrap .ApplyNumSelectWrap::after {
  content: "\e5c5";
  position: absolute;
  top: 52%;
  right: 2px;
  transform: translateY(-50%);
  pointer-events: none;
  font-family: "Material Symbols Rounded";
  font-size: 20px;
  font-weight: 900;
}

body .SlickApplyUl .slide-dots, body .SlickPointWrap .slide-dots, body .SlickStepUl .slide-dots {
  width: 100%;
  margin: 20px auto 0;
  text-align: center;
  font-size: 0;
}

body .SlickApplyUl .slide-dots li, body .SlickPointWrap .slide-dots li, body .SlickStepUl .slide-dots li {
  display: inline-block;
  margin: 0 7px;
}

body .SlickApplyUl .slide-dots li button, body .SlickPointWrap .slide-dots li button, body .SlickStepUl .slide-dots li button {
  position: relative;
  width: 10px;
  height: 10px;
  padding: 0;
  background: none;
  border: none;
  text-indent: -9999px;
  font-size: 0;
}

body .SlickApplyUl .slide-dots li button:before, body .SlickPointWrap .slide-dots li button:before, body .SlickStepUl .slide-dots li button:before {
  content: "●";
  position: absolute;
  top: 0;
  left: 0;
  text-indent: 0px;
  color: #94abdb;
  font-size: 10px;
  line-height: 1;
  transition: .2s;
}

body .SlickApplyUl .slide-dots li.slick-active button:before, body .SlickPointWrap .slide-dots li.slick-active button:before, body .SlickStepUl .slide-dots li.slick-active button:before {
  transform: scale(1.06);
  color: #0039a6;
}

body .SlickApplyUl .slick-track, body .SlickPointWrap .slick-track, body .SlickStepUl .slick-track {
  display: flex;
}

body .SlickApplyUl .slick-slide, body .SlickPointWrap .slick-slide, body .SlickStepUl .slick-slide {
  height: auto !important;
}

body .SlickPointWrap .slide-dots {
  margin: 15px auto 0;
}

body .SlickPointWrap .slide-dots li {
  margin: 0 6px;
}

body .SlickPointWrap .slide-dots li button:before {
  color: #94abdb;
  font-size: 9px;
}

body .SlickPointWrap .slide-dots li.slick-active button:before {
  color: #0039a6;
}

body .SlickPointWrap .prev, body .SlickPointWrap .next {
  position: absolute;
  top: 0;
  left: 0;
  width: calc(50% - 150px);
  height: calc(100% - 25px);
  color: #0039a6;
  z-index: 20;
}

body .SlickPointWrap .prev::after, body .SlickPointWrap .next::after {
  content: "\e408";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-family: "Material Symbols Rounded";
  font-size: 25px;
  font-weight: 500;
}

body .SlickPointWrap .prev.slick-disabled, body .SlickPointWrap .slick-disabled.next {
  opacity: 0;
}

body .SlickPointWrap .next {
  right: 0;
  left: auto;
}

body .SlickPointWrap .next::after {
  content: "\e409";
}

body .StepUl {
  transform: translateZ(0);
  margin: 0 -25px;
  filter: drop-shadow(0 2px 20px rgba(0, 29, 84, 0.15));
}

body .StepUl .StepLi {
  margin: 0 8px;
}

body .SlickStepUl .prev, body .SlickStepUl .next {
  position: absolute;
  top: 0;
  left: 0;
  width: 12%;
  height: calc(100% - 30px);
  color: #0039a6;
  z-index: 20;
}

body .SlickStepUl .prev::after, body .SlickStepUl .next::after {
  content: "\e408";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-family: "Material Symbols Rounded";
  font-size: 32px;
  font-weight: 500;
}

body .SlickStepUl .prev.slick-disabled, body .SlickStepUl .slick-disabled.next {
  opacity: 0;
}

body .SlickStepUl .next {
  right: 0;
  left: auto;
}

body .SlickStepUl .next::after {
  content: "\e409";
}

body .SubmitWrap {
  position: fixed;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%) translateZ(0);
  width: 100%;
  max-width: 460px;
  padding: 18px 20px 26px;
  background-color: #fff;
  border-radius: 22px 22px 0 0;
  filter: drop-shadow(0 -3px 20px rgba(0, 29, 84, 0.3));
  z-index: 20;
}

body .SubmitWrap .TeaserTxt {
  width: 230px;
  margin: 0 auto;
}

body .SubmitWrap .SubmitCheckUl {
  display: flex;
  justify-content: space-between;
  width: 196px;
  margin: -3px auto 12px;
}

body .SubmitWrap .SubmitCheckUl .SubmitCheck {
  position: relative;
  display: flex;
  align-items: center;
  color: #a6a6a6;
}

body .SubmitWrap .SubmitCheckUl .SubmitCheck::before {
  content: "\e876";
  width: 20px;
  height: 20px;
  background-color: #a6a6a6;
  border-radius: 50%;
  color: rgba(255, 255, 255, 0.8);
  font-family: "Material Symbols Rounded";
  font-size: 18px;
  font-weight: 800;
  line-height: 20px;
}

body .SubmitWrap .SubmitCheckUl .SubmitCheck > span {
  padding: 2px 0 0 6px;
  font-size: 12px;
  font-weight: 600;
}

body .SubmitWrap .SubmitCheckUl .SubmitCheck.checked {
  color: #3b98d9;
}

body .SubmitWrap .SubmitCheckUl .SubmitCheck.checked::before {
  background-color: #3b98d9;
  color: #fff;
}

body .SubmitWrap .SubmitCheckUl .SubmitCheck.checked::after {
  content: "";
  position: absolute;
  top: 50%;
  right: calc(100% - 17px);
  transform: translateY(-50%);
  width: 14px;
  height: 57%;
  background-color: #3b98d9;
  animation: shu .6s ease-in-out both;
}

@keyframes shu {
  0% {
    width: 14px;
  }
  35% {
    width: 8px;
  }
  50% {
    width: 8px;
  }
  100% {
    width: 0;
  }
}

body .FlowUl {
  position: fixed;
  top: 6px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  overflow: hidden;
  justify-content: flex-start;
  width: 100%;
  max-width: 460px;
  z-index: 100;
}

body .FlowUl li {
  position: relative;
  display: inline-block;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 24px;
  margin-right: 14px;
  padding: 0 0 0 7px;
  background-color: #a6a6a6;
}

body .FlowUl li:first-child {
  padding: 0 0 0 9px;
}

body .FlowUl li span {
  position: relative;
  font-size: 11px;
  font-weight: 600;
  line-height: 1;
  opacity: .8;
  z-index: 2;
}

body .FlowUl li::before {
  content: "";
  position: absolute;
  top: 0;
  right: calc(100% - 7px);
  width: 14px;
  height: 24px;
  background-color: #a6a6a6;
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%, 50% 50%);
}

body .FlowUl li::after {
  content: "";
  position: absolute;
  top: 0;
  left: calc(100% - 2px);
  width: 14px;
  height: 24px;
  background-color: #a6a6a6;
  clip-path: polygon(0% 0%, 50% 0%, 100% 50%, 50% 100%, 0% 100%);
}

body .FlowUl li.FlowCurrent, body .FlowUl li.FlowFinished {
  background-color: #3b98d9;
}

body .FlowUl li.FlowCurrent span, body .FlowUl li.FlowFinished span {
  opacity: 1;
}

body .FlowUl li.FlowCurrent::before, body .FlowUl li.FlowFinished::before {
  background-color: #3b98d9;
}

body .FlowUl li.FlowCurrent::after, body .FlowUl li.FlowFinished::after {
  background-color: #3b98d9;
}

body .FlowUl li.FlowFinished {
  background-color: #72b5e4;
}

body .FlowUl li.FlowFinished span {
  opacity: .7;
}

body .FlowUl li.FlowFinished::before {
  background-color: #72b5e4;
}

body .FlowUl li.FlowFinished::after {
  background-color: #72b5e4;
}

body .ReceiptForm .BtnWhiteSmall {
  position: absolute;
  top: 50%;
  right: 8px;
  transform: translateY(-50%);
}

body .ReceiptForm .ReceiptTxt {
  padding: 0 8px;
}

body .ReceiptForm .ReceiptRadioWrap .ReceiptRadio {
  transform: translateZ(0);
  display: flex;
  justify-content: center;
  color: #151515;
  filter: drop-shadow(0 2px 20px rgba(0, 29, 84, 0.15));
}

body .ReceiptForm .ReceiptRadioWrap .ReceiptRadio input {
  display: none;
}

body .ReceiptForm .ReceiptRadioWrap .ReceiptRadio .RadioBtn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44%;
  height: 36px;
  margin: 0 1%;
  padding: 10px;
  background: #fff;
  border: 1px solid #0039a6;
  border-radius: 50px;
  text-align: center;
  color: #0039a6;
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
}

body .ReceiptForm .ReceiptRadioWrap .ReceiptRadio input[type="radio"]:checked + .RadioBtn {
  background-color: #0039a6;
  color: #fff;
}

body .ReceiptForm .ReceiptRadioWrap .ReceiptRadio input[type="radio"]:checked + .RadioBtn::after {
  content: "";
  position: absolute;
  top: calc(100% - 2px);
  left: 50%;
  transform: translateX(-50%);
  width: 14px;
  height: 9px;
  background-color: #0039a6;
  clip-path: polygon(0% 0%, 100% 0, 50% 100%);
}

body .ReceiptForm .ReceiptProductsWrap, body .ReceiptForm .ReceiptConfirmWrap {
  transform: translateZ(0);
  padding: 0 4px;
  filter: drop-shadow(0 2px 20px rgba(0, 29, 84, 0.15));
}

body .ReceiptForm .ReceiptProductsInner {
  position: relative;
  padding: 0 20px 12px;
}

body .ReceiptForm .ReceiptProductsInner .GuideBox {
  display: flex;
  justify-content: flex-end;
  margin: 0 auto -1px;
}

body .ReceiptForm .ReceiptProductsInner .GuideBox .GuideNum {
  width: 44px;
  text-align: center;
  color: #151515;
  font-size: 11px;
  font-weight: 600;
  line-height: 1;
}

body .ReceiptForm .ReceiptProductsInner > dl {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 8px 0;
}

body .ReceiptForm .ReceiptProductsInner > dl > dt {
  display: flex;
  align-items: center;
  width: calc(100% - 44px);
  height: 50px;
}

body .ReceiptForm .ReceiptProductsInner > dl > dt .ProductsBox {
  display: flex;
  align-items: center;
  width: calc(100% - 20px);
  height: 100%;
  padding-left: 52px;
  background-color: #f7f7ff;
  border-radius: 4px;
}

body .ReceiptForm .ReceiptProductsInner > dl > dt .ProductsBox .ProductsPoint {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 100%;
  background-color: #0039a6;
  border-radius: 4px 0 0 4px;
  text-align: center;
}

body .ReceiptForm .ReceiptProductsInner > dl > dt .ProductsBox .ProductsPoint .ProductsPointTxt {
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  line-height: 1em;
}

body .ReceiptForm .ReceiptProductsInner > dl > dt .ProductsBox .ProductsPoint .ProductsPointTxt > span {
  letter-spacing: -.1em;
  font-size: 10px;
}

body .ReceiptForm .ReceiptProductsInner > dl > dt .ProductsBox .ProductsImg {
  position: relative;
  width: 40px;
  height: 50px;
}

body .ReceiptForm .ReceiptProductsInner > dl > dt .ProductsBox .ProductsImg img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 128%;
  margin: 0 auto;
}

body .ReceiptForm .ReceiptProductsInner > dl > dt .ProductsBox .ProductsName {
  width: calc(100% - 40px);
  padding: 0 10px 0 5px;
  font-size: 10px;
  line-height: 1.2;
}

body .ReceiptForm .ReceiptProductsInner > dl > dt .ProductsX {
  width: 20px;
  text-align: center;
  font-size: 16px;
}

body .ReceiptForm .ReceiptProductsInner > dl > dd {
  position: relative;
  display: flex;
  justify-content: space-between;
  width: 44px;
  height: 50px;
}

body .ReceiptForm .ReceiptProductsInner > dl > dd .InputNum {
  display: block;
  width: 100%;
  height: 100%;
  padding: 2px 2px 0;
  border: 1px solid #595a5b;
  border-radius: 6px;
  text-align: center;
  letter-spacing: -.04em;
  font-size: 16px;
  font-weight: 600 !important;
}

body .ReceiptForm .ReceiptProductsInner > dl.ProductsNoImage dt .ProductsName {
  width: 100%;
  padding: 0 10px 0 4px;
}

body .ReceiptForm .ReceiptProductsInner .ReceiptProductsShoulder01, body .ReceiptForm .ReceiptProductsInner .ReceiptProductsShoulder02 {
  position: relative;
  display: flex;
  align-items: center;
  width: calc(100% + 6);
  height: 100%;
  margin-bottom: -3px;
  margin-left: -6px;
}

body .ReceiptForm .ReceiptProductsInner .ReceiptProductsShoulder01 .ProductsImg, body .ReceiptForm .ReceiptProductsInner .ReceiptProductsShoulder02 .ProductsImg {
  position: relative;
  width: 40px;
  height: 44px;
}

body .ReceiptForm .ReceiptProductsInner .ReceiptProductsShoulder01 .ProductsImg img, body .ReceiptForm .ReceiptProductsInner .ReceiptProductsShoulder02 .ProductsImg img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 128%;
  margin: 0 auto;
}

body .ReceiptForm .ReceiptProductsInner .ReceiptProductsShoulder01 .ProductsName, body .ReceiptForm .ReceiptProductsInner .ReceiptProductsShoulder02 .ProductsName {
  width: calc(100% - 40px);
  padding: 0 2px 0 5px;
  font-size: 11px;
  line-height: 1.2;
}

body .ReceiptForm .ReceiptProductsInner .ReceiptProductsShoulder01 + .GuideBox, body .ReceiptForm .ReceiptProductsInner .ReceiptProductsShoulder02 + .GuideBox {
  margin-top: -11px;
}

body .ReceiptForm .ReceiptProductsInner .ReceiptProductsShoulder02 {
  margin-top: 36px;
}

body .ReceiptForm .ReceiptProductsInner .ReceiptProductsShoulder02::after {
  content: "";
  position: absolute;
  top: -17px;
  left: 6px;
  width: calc(100% - 6px);
  height: 1px;
  background-color: rgba(0, 0, 0, 0.4);
}

body .ReceiptForm .ReceiptPhotoWrap {
  padding: 0 4px;
}

body .ReceiptForm .ReceiptPhotoWrap .ReceiptPhoto {
  overflow-y: scroll;
  width: 100%;
  height: 230px;
  border: 1px solid rgba(21, 21, 21, 0.4);
}

body .ReceiptForm .ReceiptConfirmWrap .ProductsAcod .ReceiptProductsInner {
  display: block;
  padding: 7px 15px;
}

body .ReceiptForm .ReceiptConfirmWrap .ProductsAcod .ReceiptProductsInner > dl {
  height: 54px;
  margin: 8px 0;
  padding-right: 14px;
  background-color: #f7f7ff;
}

body .ReceiptForm .ReceiptConfirmWrap .ProductsAcod .ReceiptProductsInner > dl > dt {
  width: calc(100% - 30px);
}

body .ReceiptForm .ReceiptConfirmWrap .ProductsAcod .ReceiptProductsInner > dl > dt .ProductsName {
  width: calc(100% - 40px);
  padding: 0 5px;
}

body .ReceiptForm .ReceiptConfirmWrap .ProductsAcod .ReceiptProductsInner > dl > dt .ProductsX {
  width: 20px;
}

body .ReceiptForm .ReceiptConfirmWrap .ProductsAcod .ReceiptProductsInner > dl > dd {
  align-items: center;
  justify-content: flex-end;
  width: 30px;
}

body .ReceiptForm .ReceiptConfirmWrap .ProductsAcod .ReceiptProductsInner > dl > dd .ConfirmNum {
  width: 100%;
  padding: 2px 2px 0;
  border-radius: 6px;
  text-align: right;
  letter-spacing: -.01em;
  font-size: 14px;
  font-weight: 600;
}

body .ReceiptForm .ReceiptConfirmPointWrap {
  position: relative;
  margin-top: 8px;
  padding: 22px 20px 20px;
  background-color: #fff;
  border: 1px solid rgba(21, 21, 21, 0.4);
  border-radius: 6px;
  text-align: center;
  color: #151515;
}

body .ReceiptForm .ReceiptConfirmPointWrap .ConfirmPointTxt01 {
  font-size: 12px;
  font-weight: 600;
}

body .ReceiptForm .ReceiptConfirmPointWrap .ConfirmPointTxt02 {
  margin-top: 12px;
  letter-spacing: -.03em;
  color: #0039a6;
  font-size: 14px;
  font-weight: 600;
}

body .ReceiptForm .ReceiptConfirmPointWrap .ConfirmPointTxt02 > span {
  display: inline-block;
  margin: 0 8px 0 10px;
  padding: 8px 14px;
  background-color: #f7f7ff;
  border: 1px solid #0039a6;
  border-radius: 5px;
  vertical-align: .1em;
  font-size: 18px;
  line-height: 1;
}

body .EarnedPoints .EarnedPointsHead {
  margin-top: 10px;
  padding: 3px 0;
  background-color: #0039a6;
  border-radius: 4px 4px 0 0;
  color: #fff;
  font-size: 12px;
  font-weight: 600;
}

body .EarnedPoints .EarnedPointsHead > span {
  margin-right: 3px;
  font-size: 14px;
}

body .EarnedPoints .EarnedPointsUl {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  padding: 5px 5px 12px;
  border: 1px solid #0039a6;
  border-top: none;
  border-radius: 0 0 4px 4px;
}

body .EarnedPoints .EarnedPointsUl .EarnedPointsLi {
  width: 50%;
  margin-top: 5px;
  padding: 0 8px;
}

body .EarnedPoints .EarnedPointsUl .EarnedPointsLi .EarnedPointsImg {
  display: flex;
  align-items: center;
  justify-content: center;
}

body .EarnedPoints .EarnedPointsUl .EarnedPointsLi .EarnedPointsImg img {
  width: 64px;
  margin: 0;
}

body .EarnedPoints .EarnedPointsUl .EarnedPointsLi .EarnedPointsImg .EarnedPointsNum {
  margin: 5px 14px 0 -14px;
  font-size: 12px;
  font-weight: 600;
}

body .EarnedPoints .EarnedPointsUl .EarnedPointsLi .EarnedPointsTxt {
  letter-spacing: -.02em;
  font-size: 10px;
  line-height: 1.2;
}

body .EarnedPoints .EarnedPointsUl.ThreeColumns .EarnedPointsLi {
  width: calc(100% / 3);
}

body .EarnedPoints .EarnedPointsUl.OneColumn {
  justify-content: center;
}

body .ReceiptLoading {
  padding: 30px 0 60px;
}

body .ReceiptLoading img {
  width: 60px;
}

body .ReceiptPointWrap {
  transform: translateZ(0);
  padding: 30px 25px 42px;
  background-color: #fff;
  border-radius: 6px;
  filter: drop-shadow(0 2px 20px rgba(0, 29, 84, 0.15));
}

body .CalForm .CalInputWrap {
  transform: translateZ(0);
  padding: 0 4px;
  filter: drop-shadow(0 2px 20px rgba(0, 29, 84, 0.15));
}

body .CalForm .CalInputFlex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 0 12px 12px;
  color: #151515;
}

body .CalForm .CalInputFlex input[type=checkbox] {
  display: none;
}

body .CalForm .CalInputFlex .Checkbox {
  position: relative;
  display: flex;
  align-items: center;
  box-sizing: border-box;
  width: calc(50% - 2.5px);
  margin-top: 5px;
  padding: 4px 4px 10px 24px;
  background-color: rgba(255, 255, 255, 0.7);
  border: 2px solid rgba(21, 21, 21, 0.15);
  border-radius: 8px;
  text-align: center;
  transition: background-color .2s linear;
}

body .CalForm .CalInputFlex .Checkbox > span {
  display: block;
  width: 100%;
}

body .CalForm .CalInputFlex .Checkbox > span img {
  width: 62px;
  height: auto;
}

body .CalForm .CalInputFlex .Checkbox > span .ProductsName {
  display: block;
  letter-spacing: -.02em;
  font-size: 10px;
  line-height: 1.2;
}

body .CalForm .CalInputFlex .Checkbox::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 15px;
  transform: translate(-50%, -50%);
  display: block;
  width: 16px;
  height: 16px;
  background-color: #fff;
  border: 1.5px solid rgba(21, 21, 21, 0.3);
  border-radius: 4px;
  transition: border-color .2s linear;
}

body .CalForm .CalInputFlex .Checkbox::after {
  content: "\e876";
  position: absolute;
  top: 50%;
  left: 15px;
  transform: translate(-50%, -50%);
  color: #0039a6;
  font-family: "Material Symbols Rounded";
  font-size: 19px;
  font-size: 20px;
  font-weight: 700;
  opacity: 0;
}

body .CalForm .CalInputFlex .Checkbox:nth-child(-n+4) {
  margin-top: 0;
}

body .CalForm .CalInputFlex .Checkbox.CheckboxAction {
  width: 100%;
  padding: 4px 8px 4px 34px;
}

body .CalForm .CalInputFlex .Checkbox.CheckboxAction > span {
  width: calc(100% - 62px);
  padding: 10px 0;
}

body .CalForm .CalInputFlex .Checkbox.CheckboxAction > span .ProductsName {
  text-align: left;
  letter-spacing: -.02em;
  font-size: 12px;
  font-weight: 600;
}

body .CalForm .CalInputFlex .Checkbox.CheckboxAction > span .ProductsEx {
  display: block;
  margin-top: 3px;
  text-align: left;
  letter-spacing: -.02em;
  font-size: 10px;
  line-height: 1.2;
}

body .CalForm .CalInputFlex .Checkbox.CheckboxAction img {
  width: 62px;
  height: auto;
}

body .CalForm .CalInputFlex .Checkbox.CheckboxAction:nth-child(-n+4) {
  margin-top: 5px;
}

body .CalForm .CalInputFlex .Checkbox.CheckboxAction:nth-child(-n+2) {
  margin-top: 0;
}

body .CalForm .CalInputFlex input[type=checkbox]:checked + .Checkbox {
  background-color: rgba(84, 201, 255, 0.1);
  border: 2px solid rgba(0, 57, 166, 0.8);
}

body .CalForm .CalInputFlex input[type=checkbox]:checked + .Checkbox::after {
  opacity: 1;
}

body .CalForm .CalConfirmWrap {
  transform: translateZ(0);
  filter: drop-shadow(0 2px 20px rgba(0, 29, 84, 0.15));
}

body .CalForm .CalConfirmWrap .DlFood, body .CalForm .CalConfirmWrap .DlAction {
  overflow: hidden;
  margin-top: 20px;
  background-color: #fff;
  border-radius: 6px;
}

body .CalForm .CalConfirmWrap .DlFood:first-child, body .CalForm .CalConfirmWrap .DlAction:first-child {
  margin-top: 0;
}

body .CalForm .CalConfirmWrap .DlFood dt, body .CalForm .CalConfirmWrap .DlAction dt {
  padding: 8px 0;
  background-color: #3b98d9;
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
}

body .CalForm .CalConfirmWrap .DlFood dd, body .CalForm .CalConfirmWrap .DlAction dd {
  padding: 16px;
}

body .CalForm .CalConfirmWrap .DlFood dd .CalConfirmUl > li, body .CalForm .CalConfirmWrap .DlAction dd .CalConfirmUl > li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 8px;
}

body .CalForm .CalConfirmWrap .DlFood dd .CalConfirmUl > li:first-child, body .CalForm .CalConfirmWrap .DlAction dd .CalConfirmUl > li:first-child {
  margin-top: 0;
}

body .CalForm .CalConfirmWrap .DlFood dd .CalConfirmUl > li .CalConfirmImg, body .CalForm .CalConfirmWrap .DlAction dd .CalConfirmUl > li .CalConfirmImg {
  width: 58px;
  border: 1px solid rgba(0, 57, 166, 0.3);
  border-radius: 6px;
}

body .CalForm .CalConfirmWrap .DlFood dd .CalConfirmUl > li .CalConfirmName, body .CalForm .CalConfirmWrap .DlAction dd .CalConfirmUl > li .CalConfirmName {
  display: block;
  width: calc(100% - 72px);
  text-align: left;
  color: #151515;
  font-size: 12px;
}

body .CalForm .CalConfirmWrap .DlFood dd .CalConfirmNone, body .CalForm .CalConfirmWrap .DlAction dd .CalConfirmNone {
  color: #151515;
  font-size: 14px;
  font-weight: 600;
}

body .CalForm .CalConfirmWrap .DlFood dd .Cap, body .CalForm .CalConfirmWrap .DlAction dd .Cap, body .CalForm .CalConfirmWrap .DlFood dd .RedCap, body .CalForm .CalConfirmWrap .DlAction dd .RedCap {
  padding: 0 5px;
}

body .CalForm .CalConfirmWrap .DlAction dd .CalConfirmUl > li .CalConfirmImg {
  border: 1px solid rgba(230, 0, 18, 0.3);
}

body .ProductsAcod {
  margin-top: 8px;
  background-color: #fff;
  border-radius: 6px;
  text-align: left;
  color: #151515;
}

body .ProductsAcod:first-child {
  margin-top: 0;
}

body .ProductsAcod .BtnProductsType {
  position: relative;
  display: block;
  padding: 16px 20px;
  color: #0039a6;
  font-size: 14px;
  font-weight: 600;
}

body .ProductsAcod .BtnProductsType::after {
  content: "\e313";
  position: absolute;
  top: 50%;
  right: 16px;
  transform: translateY(-50%);
  font-family: "Material Symbols Rounded";
  font-size: 19px;
  font-weight: 500;
}

body .ProductsAcod .BtnProductsType.open::after {
  content: "\e316";
}

body .ProductsAcod .ProductsAcodInner {
  display: none;
}

body .HistoryWrap .HistoryNone {
  padding: 30px 0;
  color: #151515;
  font-size: 14px;
  font-weight: 600;
}

body .HistoryWrap table {
  display: block;
  width: 100%;
  padding: 15px 0;
  border-top: solid 1px rgba(0, 57, 166, 0.3);
}

body .HistoryWrap table:first-child {
  border-top: none;
}

body .HistoryWrap table tbody {
  display: block;
  width: 100%;
}

body .HistoryWrap table tbody tr {
  display: flex;
  overflow: hidden;
  justify-content: space-between;
  margin-top: 3px;
  border-radius: 3px;
}

body .HistoryWrap table tbody tr:first-child {
  margin-top: 0;
}

body .HistoryWrap table tbody tr th {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 82px;
  min-height: 42px;
  background: rgba(0, 57, 166, 0.1);
  text-align: center;
  color: #151515;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.25;
}

body .HistoryWrap table tbody tr td {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: calc(100% - 82px);
  padding: 8px 10px;
  background-color: #fff;
  text-align: left;
  color: #151515;
  font-size: 12px;
}

body .HistoryWrap table tbody tr td ul li {
  padding-left: 1em;
  text-indent: -1em;
}

body .HistoryWrap table tbody tr td a {
  position: relative;
  margin-left: 10px;
  text-decoration: underline;
  color: #0039a6;
  font-weight: 600;
}

body .HistoryWrap table tbody tr td a::after {
  content: "\e409";
  position: absolute;
  top: 50%;
  left: calc(100% - 2px);
  transform: translateY(-50%);
  font-family: "Material Symbols Rounded";
  font-size: 18px;
  font-weight: 500;
  line-height: 12px;
}

body .HistoryWrap table tbody tr td .SmallTxt {
  font-size: 10px;
}

body .HistoryWrap table tbody tr td .BoldTxt {
  font-weight: 600;
}

body .HistoryWrap .RecievePeriodTxt {
  margin: -10px 0 14px;
  text-align: center;
  color: #e60012;
  font-size: 10px;
  font-weight: 600;
}

body .HistoryPagenation {
  transform: translateZ(0);
  filter: drop-shadow(0 3px 9px rgba(0, 29, 84, 0.15));
}

body .HistoryPagenation nav {
  display: flex;
  justify-content: center;
  height: 40px;
  margin: 0 auto;
}

body .HistoryPagenation nav .HistoryPagePrev, body .HistoryPagenation nav .HistoryPageNext {
  position: relative;
  display: block;
  width: 52px;
  height: 100%;
  background-color: #fff;
  border-radius: 50px 0 0 50px;
  color: #0039a6;
  z-index: 2;
}

body .HistoryPagenation nav .HistoryPagePrev::after, body .HistoryPagenation nav .HistoryPageNext::after {
  content: "\e408";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-family: "Material Symbols Rounded";
  font-size: 24px;
  font-weight: 500;
}

body .HistoryPagenation nav .HistoryPageNext {
  border-radius: 0 50px 50px 0;
}

body .HistoryPagenation nav .HistoryPageNext::after {
  content: "\e409";
}

body .HistoryPagenation nav .HistoryPulldown {
  position: relative;
  width: 180px;
  background-color: #fff;
  border-right: 1px solid rgba(0, 57, 166, 0.2);
  border-left: 1px solid rgba(0, 57, 166, 0.2);
}

body .HistoryPagenation nav .HistoryPulldown .HistoryPulldownLabel {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  width: 100%;
  height: 100%;
  color: #0039a6;
  z-index: 1;
}

body .HistoryPagenation nav .HistoryPulldown .HistoryPulldownLabel::after {
  content: "\e5c5";
  position: absolute;
  top: 50%;
  left: calc(50% + 24px);
  transform: translateY(-50%);
  font-family: "Material Symbols Rounded";
  font-size: 21px;
  font-weight: 900;
}

body .HistoryPagenation nav .HistoryPulldown .HistoryPulldownLabel > p {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: inline-block;
  font-size: 14px;
  font-weight: 600;
}

body .HistoryPagenation nav .HistoryPulldown .HistoryPulldownLabel > p span {
  margin: 0 3px;
}

body .HistoryPagenation nav .HistoryPulldown select {
  position: relative;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: block;
  width: 100%;
  height: 100%;
  border: none;
  opacity: 0;
  cursor: pointer;
  z-index: 2;
}

body .NoteInner {
  text-align: left;
  color: #151515;
}

body .NoteInner > h2:first-child, body .NoteInner p:first-child, body .NoteInner ul:first-child, body .NoteInner ol:first-child {
  margin-top: 0;
}

body .NoteInner .NoteTtl {
  margin-top: 15px;
  font-size: 12px;
  font-weight: 600;
}

body .NoteInner .NoteTxt {
  margin-top: 5px;
  font-size: 11px;
}

body .NoteInner .NoteAnswer {
  margin: 5px 0 -2px;
  font-size: 12px;
  font-weight: 600;
}

body .NoteInner .NoteCap {
  margin-top: 5px;
  font-size: 11px;
}

body .NoteInner .NoteCap > li {
  margin-top: 2px;
  padding-left: 1em;
  text-indent: -1em;
}

body .NoteInner .NoteCap > li:first-child {
  margin-top: 0;
}

body .NoteInner ol.NoteCap > li {
  padding-left: 1.2em;
  list-style-position: inside;
  list-style-type: decimal;
  text-indent: -1.2em;
}

body .NoteInner a {
  position: relative;
  padding-right: 2px;
  text-decoration: underline;
  word-break: break-all;
  color: #0039a6;
  font-weight: 600;
}

body .NoteInner a::after {
  content: "\e89e";
  vertical-align: -1px;
  font-family: "Material Symbols Rounded";
  font-weight: 500;
}

body .NoteInner .NoteOl01 > li {
  padding-left: 2.7em;
  text-indent: -2.7em;
}

body .ModalReceiptHowto {
  padding: 18px 18px 24px !important;
}

body .ModalReceiptHowto .ReceiptHowtoWrap, body .ModalReceiptHowto .ReceiptHowtoRedWrap {
  padding: 8px 9px;
  border: 1px solid #999;
  border-radius: 5px;
}

body .ModalReceiptHowto .ReceiptHowtoRedWrap {
  border: 1px solid #e60012;
  color: #e60012;
}

body .ModalReceiptHowto p {
  text-align: left;
  font-size: 12px;
}

body .ModalReceiptHowto h3 {
  font-size: 15px;
}

body .ModalReceiptHowto h4 {
  font-size: 15px;
}

body .ModalReceiptHowto .ReceiptHowtoCap {
  text-align: left;
  font-size: 12px;
  line-height: 1.5;
}

body .ModalReceiptHowto .ReceiptHowtoCap li {
  padding-left: 1em;
  text-indent: -1em;
}

body .ModalReceiptHowto .ReceiptHowtoCheckUl {
  width: calc(100% - 10px);
  max-width: 320px;
  margin: 0 auto;
  padding-bottom: 4px;
  text-align: left;
  font-size: 12px;
  line-height: 1.35;
}

body .ModalReceiptHowto .ReceiptHowtoCheckUl li {
  position: relative;
  padding-left: 1.4em;
  line-height: 1.6em;
}

body .ModalReceiptHowto .ReceiptHowtoCheckUl li::after {
  content: "\e5ca";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  text-indent: -.02em;
  color: #fff;
  font-family: "Material Symbols Rounded";
  font-size: 1.1em;
  font-weight: 700;
}

body .ModalReceiptHowto .ReceiptHowtoCheckUl li::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 1.1em;
  height: 1.1em;
  background-color: #e60012;
  border-radius: 50%;
}

body .ModalReceiptHowto .ReceiptHowtoOK, body .ModalReceiptHowto .ReceiptHowtoNG {
  position: relative;
  display: inline-block;
  padding: 0 .2em .3em 1.5em;
  border-bottom: 4px solid #e60012;
  letter-spacing: -.02em;
  color: #e60012;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.1em;
}

body .ModalReceiptHowto .ReceiptHowtoOK::after, body .ModalReceiptHowto .ReceiptHowtoNG::after {
  content: "\ef4a";
  position: absolute;
  top: 0;
  left: 0;
  font-family: "Material Symbols Rounded";
  font-size: 1.25em;
  font-weight: 900;
}

body .ModalReceiptHowto .ReceiptHowtoNG {
  border-bottom: 4px solid #595a5b;
  color: #595a5b;
}

body .ModalReceiptHowto .ReceiptHowtoNG::after {
  content: "\e5cd";
}

body .LpKv {
  border-bottom: 1px solid #fff;
}

body .LpTtl {
  padding: 0 0 18px .06em;
  background: url(../images/lp_underline.png) center bottom/73px no-repeat;
  letter-spacing: .06em;
  color: #0039a6;
  font-size: 17px;
  font-weight: 600;
  line-height: 1;
}

body .LpHomeTtl, body .LpCalTtl {
  max-width: 340px;
  margin: 0 auto;
  padding: 8px;
  background-color: #0039a6;
  border-radius: 3px;
  font-size: 14px;
  line-height: 1;
}

body .LpCalTtl {
  background-color: #3b98d9;
}

body .LpInner {
  max-width: 370px;
  margin: 0 auto;
}

body .LpPad {
  max-width: 340px;
  margin: 0 auto;
  padding: 0 10px;
}

body .LpStatement {
  padding: 46px 3.2% 59px;
  background: linear-gradient(90deg, #0039a6 50%, #54c9ff 50.1%);
}

body .LpStatement .LpStatementTtl {
  width: 275px;
  margin: 0 auto;
}

body .LpStatement .LpStatementTxt {
  width: 275px;
  margin: 8px auto 0;
}

body .LpStatement .LpStatementUl {
  display: flex;
  justify-content: space-between;
  margin-top: 22px;
}

body .LpStatement .LpStatementUl > li {
  width: 46.9%;
}

body .LpApply {
  padding: 20px 25px 72px;
  background-color: #fff;
}

body .LpApply .CalApplyUl .ApplyLi .ApplyDesc {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}

body .LpApply .CalApplyUl .ApplyLi .ApplyDesc .ApplyCont {
  flex: 3 3 202px;
  padding: 0 2% 1% 0;
}

body .LpApply .CalApplyUl .ApplyLi .ApplyDesc .ApplyBtn {
  display: flex;
  flex: 1 1 72px;
  justify-content: space-between;
  margin-top: 0;
}

body .LpApply .CalApplyUl .ApplyLi .ApplyDesc .ApplyBtn .ApplyInfo {
  height: 30px;
  padding: 0 0 0 9px;
  font-size: 11px;
}

body .LpApply .CalApplyUl .ApplyLi .ApplyDesc .ApplyBtn .ApplyInfo::after {
  margin-left: 1px;
  font-size: 16px;
}

body .LpApply .CalApplyUl .ApplyLi .ApplyDesc .ApplyBtn .BtnBlue, body .LpApply .CalApplyUl .ApplyLi .ApplyDesc .ApplyBtn .BtnGreen, body .LpApply .CalApplyUl .ApplyLi .ApplyDesc .ApplyBtn .BtnBack, body .LpApply .CalApplyUl .ApplyLi .ApplyDesc .ApplyBtn .BtnSolid, body .LpApply .CalApplyUl .ApplyLi .ApplyDesc .ApplyBtn .BtnSkyAncher, body .LpApply .CalApplyUl .ApplyLi .ApplyDesc .ApplyBtn .BtnCamera, body .LpApply .CalApplyUl .ApplyLi .ApplyDesc .ApplyBtn .SubmitBlue, body .LpApply .CalApplyUl .ApplyLi .ApplyDesc .ApplyBtn .SubmitRed, body .LpApply .CalApplyUl .ApplyLi .ApplyDesc .ApplyBtn .BtnHomeWelcomeModalClose, body .LpApply .CalApplyUl .ApplyLi .ApplyDesc .ApplyBtn .BtnCalWelcomeModalClose, body .LpApply .CalApplyUl .ApplyLi .ApplyDesc .ApplyBtn .BtnWinRecieve {
  display: none;
}

body .LpApply .CalApplyUl .Shoulder {
  position: absolute;
  top: -12px;
  left: -20px;
  width: 57px;
  height: 57px;
  z-index: 20;
}

body .LpApply .CalApplyUl::before {
  content: "";
  position: absolute;
  top: -12px;
  left: -20px;
  width: 57px;
  height: 57px;
  background: url(../images/apply_shoulder_bg.png) center center/100% auto no-repeat;
  animation: guruguru 8.7s linear infinite;
  z-index: 20;
}

body .LpStep {
  padding: 20px 25px 45px;
  background-color: #f7f7ff;
}

body .LpProducts {
  padding: 44px 0 0;
  background-color: #fff;
}

body .LpProducts .LpProductsHome, body .LpProducts .LpProductsCal {
  padding: 25px 25px 72px;
  background-color: #0039a6;
}

body .LpProducts .LpProductsHome h3, body .LpProducts .LpProductsCal h3 {
  margin-bottom: 12px;
  letter-spacing: -.04em;
  font-size: 14px;
  font-weight: 600;
}

body .LpProducts .LpProductsCal {
  padding: 25px 25px 36px;
  background-color: #54c9ff;
}

body .LpProducts .LpProductsCal h3 {
  color: #0039a6;
}

body .LpLinks {
  padding: 25px 25px;
  background-color: #fff;
}

body .LpLinks > a {
  margin-top: 8px;
}

body .LpLinks > a:first-child {
  margin-top: 0;
}

body .LpWaveWh, body .LpWaveBlueLight, body .LpWaveBlue, body .LpWaveSky {
  position: relative;
}

body .LpWaveWh::before, body .LpWaveBlueLight::before, body .LpWaveBlue::before, body .LpWaveSky::before {
  content: "";
  position: absolute;
  bottom: calc(100% - 1px);
  left: 0;
  width: 655px;
  height: 30px;
  background: url(../images/lp_wave_wh.png) center bottom/cover no-repeat;
  animation: byubyu01 4.6s linear infinite;
}

body .LpWaveWh::after, body .LpWaveBlueLight::after, body .LpWaveBlue::after, body .LpWaveSky::after {
  content: "";
  position: absolute;
  bottom: calc(100% - 1px);
  left: 0;
  width: 655px;
  height: 30px;
  background: url(../images/lp_wave_wh.png) center bottom/cover no-repeat;
  animation: byubyu02 4.6s linear infinite;
}

body .LpWaveBlueLight::before {
  background: url(../images/lp_wave_blue_light.png) center bottom/cover no-repeat;
}

body .LpWaveBlueLight::after {
  background: url(../images/lp_wave_blue_light.png) center bottom/cover no-repeat;
}

body .LpWaveBlue::before {
  background: url(../images/lp_wave_blue.png) center bottom/cover no-repeat;
}

body .LpWaveBlue::after {
  background: url(../images/lp_wave_blue.png) center bottom/cover no-repeat;
}

body .LpWaveSky::before {
  background: url(../images/lp_wave_sky.png) center bottom/cover no-repeat;
}

body .LpWaveSky::after {
  background: url(../images/lp_wave_sky.png) center bottom/cover no-repeat;
}

@keyframes byubyu01 {
  0% {
    left: 0;
  }
  100% {
    left: -654px;
  }
}

@keyframes byubyu02 {
  0% {
    left: 654px;
  }
  100% {
    left: 0;
  }
}

body .HomeArticle, body .CalArticle {
  position: relative;
}

body .HomeArticle .TopPoint, body .CalArticle .TopPoint {
  position: relative;
  height: 198px;
  padding: 30px 0 0;
}

body .HomeArticle .TopPoint::before, body .CalArticle .TopPoint::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  display: block;
  width: 190%;
  height: 100%;
  background: url(../images/home_bg02.png) center bottom/cover no-repeat;
  z-index: 1;
}

body .HomeArticle .TopPoint::after, body .CalArticle .TopPoint::after {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  display: block;
  width: 190%;
  height: 100%;
  background: url(../images/home_bg01.png) center bottom/cover no-repeat;
  z-index: 1;
}

body .HomeArticle .TopPoint .PointWrap, body .CalArticle .TopPoint .PointWrap {
  position: relative;
  z-index: 3;
}

body .HomeArticle .TopPoint .PointWrap .PointInner .PointName, body .CalArticle .TopPoint .PointWrap .PointInner .PointName {
  font-size: 14px;
  line-height: 1;
}

body .HomeArticle .TopPoint .PointWrap .PointInner .TopPointBox, body .CalArticle .TopPoint .PointWrap .PointInner .TopPointBox {
  position: relative;
  display: inline-block;
  margin: 7px auto 0;
  line-height: 1;
}

body .HomeArticle .TopPoint .PointWrap .PointInner .TopPointBox .LineIcon, body .CalArticle .TopPoint .PointWrap .PointInner .TopPointBox .LineIcon {
  position: absolute;
  top: 53%;
  right: calc(100% + 10px);
  transform: translateY(-50%);
  overflow: hidden;
  width: 33px;
  height: 33px;
  border-radius: 33px;
}

body .HomeArticle .TopPoint .PointWrap .PointInner .TopPointBox .LineIcon img, body .CalArticle .TopPoint .PointWrap .PointInner .TopPointBox .LineIcon img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
}

body .HomeArticle .TopPoint .PointWrap .PointInner .TopPointBox .PointNum, body .CalArticle .TopPoint .PointWrap .PointInner .TopPointBox .PointNum {
  margin: 0 auto;
  font-family: Futura, "Century Gothic", CenturyGothic, sans-serif !important;
  font-size: 44px;
  line-height: 1;
}

body .HomeArticle .TopPoint .PointWrap .PointInner .TopPointBox .PointUnit01, body .CalArticle .TopPoint .PointWrap .PointInner .TopPointBox .PointUnit01 {
  position: absolute;
  top: 70%;
  left: calc(100% + 3px);
  transform: translateY(-50%);
  width: 60px;
  text-align: left;
  letter-spacing: -.07em;
  font-size: 13px;
  font-weight: 600;
}

body .HomeArticle .TopPoint .PointWrap .PointInner .TopPointBox .PointUnit02, body .CalArticle .TopPoint .PointWrap .PointInner .TopPointBox .PointUnit02 {
  top: 66%;
  left: calc(100% + 8px);
  font-size: 20px;
  font-weight: 600;
}

body .HomeArticle .TopPoint .PointWrap .PointInner .PointReload, body .CalArticle .TopPoint .PointWrap .PointInner .PointReload {
  margin: 9px auto 0;
}

body .HomeArticle .HomeNav, body .CalArticle .HomeNav, body .CalArticle .CalNav {
  position: relative;
  transform: translateZ(0);
  display: flex;
  justify-content: space-between;
  width: calc(100% - 50px);
  max-width: 370px;
  margin: -38px auto 0;
  filter: drop-shadow(0 2px 20px rgba(0, 29, 84, 0.3));
  z-index: 2;
}

body .HomeArticle .AreaHomeMain, body .CalArticle .AreaHomeMain, body .CalArticle .AreaCalMain {
  position: relative;
  padding: 34px 25px 60px;
}

body .HomeArticle .AreaHomeMain::before, body .CalArticle .AreaHomeMain::before, body .CalArticle .AreaCalMain::before {
  content: "";
  position: absolute;
  bottom: -2px;
  transform: translateX(-50%);
  display: block;
  width: 190%;
  height: 7vw;
  max-height: 32px;
  background: url(../images/home_wave02.png) center bottom/100% auto no-repeat;
  animation: yurayura01 4.6s cubic-bezier(0.6, 0, 0.4, 1) infinite alternate;
}

body .HomeArticle .AreaHomeMain::after, body .CalArticle .AreaHomeMain::after, body .CalArticle .AreaCalMain::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 50%;
  transform: translateX(-50%);
  display: block;
  width: 190%;
  height: 7vw;
  max-height: 32px;
  background: url(../images/home_wave01.png) center bottom/100% auto no-repeat;
  animation: yurayura02 3.8s cubic-bezier(0.6, 0, 0.4, 1) infinite alternate;
}

@keyframes yurayura01 {
  0% {
    left: 10%;
  }
  100% {
    left: 90%;
  }
}

@keyframes yurayura02 {
  0% {
    left: 80%;
  }
  100% {
    left: 20%;
  }
}

body .AreaHomeSub, body .AreaCalSub {
  position: relative;
  padding: 35px 25px 0;
  background-color: #0039a6;
}

body .AreaLast {
  padding-bottom: 35px;
}

body .AccessBlock, body .ProductsBlock {
  position: relative;
  padding: 25px 25px 20px;
  background-color: #fff;
  border-radius: 12px;
  color: #0039a6;
}

body .AccessBlock .BlockTtl, body .ProductsBlock .BlockTtl {
  font-size: 16px;
  font-weight: 600;
}

body .AccessBlock .BlockTxt, body .ProductsBlock .BlockTxt {
  margin-top: 3px;
  font-size: 12px;
  font-weight: 600;
}

body .AccessBlock .MiniAppWrap, body .ProductsBlock .MiniAppWrap {
  display: none;
  padding-top: 12px;
}

body .AccessBlock .MiniAppWrap .MiniAppHead, body .ProductsBlock .MiniAppWrap .MiniAppHead {
  padding: 4px 12px;
  background-color: #0039a6;
  border-radius: 3px;
  text-align: left;
  letter-spacing: .04em;
  color: #fff;
  font-size: 13px;
}

body .AccessBlock .MiniAppWrap .MiniAppOl, body .ProductsBlock .MiniAppWrap .MiniAppOl {
  padding: 5px 5px 5px;
  text-align: left;
}

body .AccessBlock .MiniAppWrap .MiniAppOl > li, body .ProductsBlock .MiniAppWrap .MiniAppOl > li {
  position: relative;
  margin-top: 5px;
  padding-left: 1.3em;
  text-indent: -1.3em;
  font-size: 12px;
  line-height: 1.58em;
}

body .AccessBlock .MiniAppWrap .MiniAppOl > li .MiniAppImg01, body .ProductsBlock .MiniAppWrap .MiniAppOl > li .MiniAppImg01 {
  display: inline;
  width: 126px;
  margin: 0 3px 0 0;
  vertical-align: -48%;
}

body .AccessBlock .MiniAppWrap .MiniAppOl > li .MiniAppImg02, body .ProductsBlock .MiniAppWrap .MiniAppOl > li .MiniAppImg02 {
  display: inline;
  width: 17px;
  vertical-align: -23%;
}

body .AccessBlock .MiniAppWrap .MiniAppOl > li .MiniAppImg03, body .ProductsBlock .MiniAppWrap .MiniAppOl > li .MiniAppImg03 {
  display: inline;
  width: 187px;
  margin: 0 3px 0 0;
  vertical-align: -62%;
}

body .ProductsBlock {
  overflow: hidden;
  height: 306px;
  padding: 20px 20px 0;
  color: #151515;
  transition: all .6s ease-in-out;
}

body .ProductsBlock .BlockTtl {
  font-size: 14px;
}

body .ProductsBlock .ProductsWrap {
  padding-bottom: 66px;
  text-align: left;
}

body .ProductsBlock .ProductsWrap .ProductsType {
  padding: 20px 0 0 4px;
  font-size: 12px;
}

body .ProductsBlock .ProductsWrap .ProductsUl {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  margin: 4px auto 0;
}

body .ProductsBlock .ProductsWrap .ProductsUl > li {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 50%;
  padding: 3px 0;
}

body .ProductsBlock .ProductsWrap .ProductsUl > li .ProductsImg {
  position: relative;
  width: 40px;
  height: 58px;
}

body .ProductsBlock .ProductsWrap .ProductsUl > li .ProductsImg img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: auto;
  height: 100%;
}

body .ProductsBlock .ProductsWrap .ProductsUl > li .ProductsName {
  width: calc(150px - 42px);
  padding: 0 5px 0 5px;
  font-size: 10px;
}

body .ProductsBlock .ProductsWrap .ProductsUl > li.Landscape .ProductsImg img {
  height: 78%;
}

body .ProductsBlock .ProductsWrap.ProductsHome .OnlyCal {
  display: none;
}

body .ProductsBlock .BtnAcod {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
}

body .ProductsBlock::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 92px;
  background: linear-gradient(rgba(255, 255, 255, 0.01) 0, rgba(255, 255, 255, 0.95) 60%);
}

body .CalArticle .TopPoint {
  height: 236px;
  padding: 25px 0 0;
}

body .CalArticle .TopPoint::before {
  background-image: url(../images/cal_bg02.png);
}

body .CalArticle .TopPoint::after {
  background-image: url(../images/cal_bg01.png);
}

body .CalArticle .TopPoint .PointWrap .PointInner {
  color: #0039a6;
}

body .CalArticle .TopPoint .PointWrap .PointInner .PointName {
  font-weight: 600;
}

body .CalArticle .TopPoint .PointWrap .PointInner .PointApplyAncher {
  margin: 4px auto 10px;
}

body .CalArticle .TopPoint .PointWrap .PointInner .PointGaugeWrap .PointGauge {
  display: flex;
  justify-content: space-between;
  width: 107px;
  margin: 0 auto;
}

body .CalArticle .TopPoint .PointWrap .PointInner .PointGaugeWrap .PointGauge li {
  width: 35px;
  height: 14px;
  background-color: #0039a6;
  opacity: .15;
}

body .CalArticle .TopPoint .PointWrap .PointInner .PointGaugeWrap .PointGauge li:nth-child(1) {
  border-radius: 2px 0 0 2px;
}

body .CalArticle .TopPoint .PointWrap .PointInner .PointGaugeWrap .PointGauge li:nth-child(3) {
  border-radius: 0 2px 2px 0;
}

body .CalArticle .TopPoint .PointWrap .PointInner .PointGaugeWrap .PointComment {
  position: relative;
  transform: scale(0.9);
  display: inline-block;
  margin: 6px auto 0;
  padding: 2px 6px;
  background-color: #fff;
  border: 1px solid #0039a6;
  border-radius: 5px;
  font-size: 0;
}

body .CalArticle .TopPoint .PointWrap .PointInner .PointGaugeWrap .PointComment > span {
  font-size: 10px;
  font-weight: 600;
}

body .CalArticle .TopPoint .PointWrap .PointInner .PointGaugeWrap .PointComment::after {
  content: "";
  position: absolute;
  bottom: calc(100% - 1px);
  left: 0;
  display: block;
  width: 100%;
  height: 7px;
  background: url(../images/arrow_fukidashi.png) center center/auto 100% no-repeat;
}

body .CalArticle .TopPoint .PointWrap .PointInner .PointGaugeWrap.n1 .PointGauge li:nth-child(1) {
  opacity: 1;
}

body .CalArticle .TopPoint .PointWrap .PointInner .PointGaugeWrap.n2 .PointGauge li:nth-child(1) {
  opacity: 1;
}

body .CalArticle .TopPoint .PointWrap .PointInner .PointGaugeWrap.n2 .PointGauge li:nth-child(2) {
  opacity: 1;
}

body .CalArticle .TopPoint .PointWrap .PointInner .DaysUl {
  display: flex;
  width: 90%;
  max-width: 320px;
  margin: 28px auto 0;
}

body .CalArticle .TopPoint .PointWrap .PointInner .DaysUl > li {
  width: 50%;
  padding: 14px 0 13px;
}

body .CalArticle .TopPoint .PointWrap .PointInner .DaysUl > li:first-child {
  border-right: 1px solid #0039a6;
}

body .CalArticle .TopPoint .PointWrap .PointInner .DaysUl > li .DaysName {
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
}

body .CalArticle .TopPoint .PointWrap .PointInner .DaysUl > li .DaysNum {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  margin: 10px auto 0;
}

body .CalArticle .TopPoint .PointWrap .PointInner .DaysUl > li .DaysNum .Num {
  font-family: Futura, "Century Gothic", CenturyGothic, sans-serif !important;
  font-size: 38px;
  font-weight: 400;
  line-height: 1;
}

body .CalArticle .TopPoint .PointWrap .PointInner .DaysUl > li .DaysNum .Day {
  padding: 0 0 4px 2px;
  font-size: 18px;
  font-weight: 600;
  line-height: 1;
}

body .CalArticle .CalNav {
  display: block;
  margin: -20px auto 0;
}

body .CalArticle .AreaCalMain {
  padding: 30px 3.1% 60px;
}

body .CalArticle .AreaCalMain .CalBlock {
  padding: 7px 0 18px;
  background-color: #f6fcff;
  border-radius: 12px;
}

body .CalArticle .AreaCalMain .CalBlock .CalTransition {
  position: relative;
}

body .CalArticle .AreaCalMain .CalBlock .CalTransition .CalSelectPulldown {
  position: relative;
  width: 140px;
  height: 50px;
  margin: 0 auto;
}

body .CalArticle .AreaCalMain .CalBlock .CalTransition .CalSelectPulldown .CalSelectLabel {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 0 0 0 15px;
  color: #0039a6;
  font-size: 13px;
  font-weight: 600;
  z-index: 1;
}

body .CalArticle .AreaCalMain .CalBlock .CalTransition .CalSelectPulldown .CalSelectLabel::after {
  content: "\e5c5";
  font-family: "Material Symbols Rounded";
  font-size: 21px;
  font-weight: 900;
}

body .CalArticle .AreaCalMain .CalBlock .CalTransition .CalSelectPulldown select {
  position: relative;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: block;
  width: 100%;
  height: 100%;
  border: none;
  opacity: 0;
  cursor: pointer;
  z-index: 2;
}

body .CalArticle .AreaCalMain .CalBlock .CalTransition .CalPrev, body .CalArticle .AreaCalMain .CalBlock .CalTransition .CalNext {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 100%;
  color: #0039a6;
}

body .CalArticle .AreaCalMain .CalBlock .CalTransition .CalPrev::after, body .CalArticle .AreaCalMain .CalBlock .CalTransition .CalNext::after {
  content: "\e408";
  text-align: center;
  font-family: "Material Symbols Rounded";
  font-size: 27px;
  font-weight: 500;
}

body .CalArticle .AreaCalMain .CalBlock .CalTransition .CalNext {
  right: 0;
  left: auto;
}

body .CalArticle .AreaCalMain .CalBlock .CalTransition .CalNext::after {
  content: "\e409";
}

body .CalArticle .AreaCalMain .CalBlock .CalTable {
  display: block;
  margin-top: 12px;
  padding: 0 3.5%;
}

body .CalArticle .AreaCalMain .CalBlock .CalTable thead {
  display: block;
}

body .CalArticle .AreaCalMain .CalBlock .CalTable thead tr {
  display: flex;
}

body .CalArticle .AreaCalMain .CalBlock .CalTable thead tr th {
  width: calc(100% / 7);
  color: #595a5b;
  font-size: 3.6vw;
  font-size: clamp(10px, 3.6vw, 16px);
  line-height: 1;
}

body .CalArticle .AreaCalMain .CalBlock .CalTable tbody {
  display: block;
  margin-top: 10px;
}

body .CalArticle .AreaCalMain .CalBlock .CalTable tbody tr {
  display: flex;
  flex-wrap: wrap;
}

body .CalArticle .AreaCalMain .CalBlock .CalTable tbody tr td {
  width: calc(100% / 7);
}

body .CalArticle .AreaCalMain .CalBlock .CalTable tbody tr td .CalCell {
  position: relative;
  display: block;
  width: 100%;
  padding-bottom: 96.9%;
  background: url(../images/cal_gauge_none.png) center center/contain no-repeat;
}

body .CalArticle .AreaCalMain .CalBlock .CalTable tbody tr td .CalCell span {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 51.5%;
  height: 53.2%;
  padding: 0 1% 0 0;
  border-radius: 100%;
  letter-spacing: -.03em;
  color: #595a5b;
  font-family: Futura, "Century Gothic", CenturyGothic, sans-serif !important;
  font-size: 3.6vw;
  font-size: clamp(10px, 3.6vw, 16px);
  line-height: 1;
}

body .CalArticle .AreaCalMain .CalBlock .CalTable tbody tr td .CalCell.Selected span {
  background-color: #595a5b;
  color: #fff;
}

body .CalArticle .AreaCalMain .CalBlock .CalTable tbody tr td .CalCell.Today span {
  background: none;
  color: #000;
}

body .CalArticle .AreaCalMain .CalBlock .CalTable tbody tr td .CalCell.Today.Selected span {
  background-color: #000;
  color: #fff;
}

body .CalArticle .AreaCalMain .CalBlock .CalTable tbody tr td .CalCell.Both {
  background: url(../images/cal_gauge_both.png) center center/contain no-repeat;
}

body .CalArticle .AreaCalMain .CalBlock .CalTable tbody tr td .CalCell.Food {
  background: url(../images/cal_gauge_food.png) center center/contain no-repeat;
}

body .CalArticle .AreaCalMain .CalBlock .CalTable tbody tr td .CalCell.Action {
  background: url(../images/cal_gauge_action.png) center center/contain no-repeat;
}

body .CalArticle .AreaCalMain .CalBlock .CalTable tbody tr td .CalCell.Future {
  background: none;
  pointer-events: none;
}

body .CalArticle .AreaCalMain .CalBlock .CalTable#Sun tbody tr::before {
  content: "";
  width: 0;
}

body .CalArticle .AreaCalMain .CalBlock .CalTable#Mon tbody tr::before {
  content: "";
  width: calc(100% / 7);
}

body .CalArticle .AreaCalMain .CalBlock .CalTable#Tue tbody tr::before {
  content: "";
  width: calc(200% / 7);
}

body .CalArticle .AreaCalMain .CalBlock .CalTable#Wed tbody tr::before {
  content: "";
  width: calc(300% / 7);
}

body .CalArticle .AreaCalMain .CalBlock .CalTable#Thu tbody tr::before {
  content: "";
  width: calc(400% / 7);
}

body .CalArticle .AreaCalMain .CalBlock .CalTable#Fri tbody tr::before {
  content: "";
  width: calc(500% / 7);
}

body .CalArticle .AreaCalMain .CalBlock .CalTable#Sat tbody tr::before {
  content: "";
  width: calc(600% / 7);
}

body .CalArticle .AreaCalMain .CalBlock .CalGuide {
  display: flex;
  justify-content: center;
  margin: 16px auto 0;
  color: #151515;
  font-size: 10px;
  font-weight: 600;
}

body .CalArticle .AreaCalMain .CalBlock .CalGuide > li {
  position: relative;
  margin: 0 7px;
  padding: 0 0 0 16px;
}

body .CalArticle .AreaCalMain .CalBlock .CalGuide > li::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  display: block;
  width: 11px;
  height: 11px;
  border-radius: 2px;
}

body .CalArticle .AreaCalMain .CalBlock .CalGuide > li:nth-child(1)::after {
  background-color: #0039a6;
}

body .CalArticle .AreaCalMain .CalBlock .CalGuide > li:nth-child(2)::after {
  background-color: #e60012;
}

body .CalArticle .AreaCalMain .ReportBlock {
  margin-top: 12px;
  background-color: #fff;
  border-radius: 6px;
  text-align: left;
}

body .CalArticle .AreaCalMain .ReportBlock .ReportInner {
  display: none;
  width: 100%;
  min-height: 92px;
  padding: 18px;
}

body .CalArticle .AreaCalMain .ReportBlock .ReportInner .ReportDate {
  padding-left: 2px;
  letter-spacing: .04em;
  color: #595a5b;
  font-size: 10px;
  font-weight: 600;
}

body .CalArticle .AreaCalMain .ReportBlock .ReportInner .ReportDate span {
  margin: 0 1px;
  vertical-align: -3%;
  font-family: Futura, "Century Gothic", CenturyGothic, sans-serif !important;
  font-size: 12px;
  font-weight: 400;
}

body .CalArticle .AreaCalMain .ReportBlock .ReportInner .ReportUl {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin-top: 7px;
}

body .CalArticle .AreaCalMain .ReportBlock .ReportInner .ReportUl .ReportBg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 100;
}

body .CalArticle .AreaCalMain .ReportBlock .ReportInner .ReportUl .ReportLi {
  position: relative;
  width: 15.3%;
  margin-right: 1.64%;
  background-color: #fff;
  border-radius: 6px;
  z-index: 200;
}

body .CalArticle .AreaCalMain .ReportBlock .ReportInner .ReportUl .ReportLi:nth-child(n+7) {
  margin-top: 2%;
}

body .CalArticle .AreaCalMain .ReportBlock .ReportInner .ReportUl .ReportLi.ReportFood {
  border: 1px solid rgba(0, 57, 166, 0.3);
}

body .CalArticle .AreaCalMain .ReportBlock .ReportInner .ReportUl .ReportLi.ReportAction {
  border: 1px solid rgba(230, 0, 18, 0.3);
}

body .CalArticle .AreaCalMain .ReportBlock .ReportInner .ReportUl .ReportLi .Tooltip {
  position: absolute;
  bottom: calc(100% + 5px);
  left: 50%;
  transform: translateX(-50%) translateZ(0);
  display: none;
  align-items: center;
  justify-content: center;
  min-width: calc(100% + 12px);
  min-height: 32px;
  padding: 7px 10px;
  background-color: #fff;
  border: 1px solid #151515;
  border-radius: 8px;
  text-align: center;
  white-space: nowrap;
  color: #151515;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.3;
  filter: drop-shadow(0 -3px 16px rgba(0, 29, 84, 0.15));
}

body .CalArticle .AreaCalMain .ReportBlock .ReportInner .ReportUl .ReportLi .Tooltip::after {
  content: "";
  position: absolute;
  top: calc(100% - 1px);
  left: 50%;
  transform: translateX(-50%);
  display: block;
  width: 50px;
  width: clamp(1px, calc((93.8vw - 36px) * .153), 60px);
  height: 9px;
  background: url(../images/arrow_fukidashi_report.png) center center/auto 100% no-repeat;
}

body .CalArticle .AreaCalMain .ReportBlock .ReportInner .ReportUl .ReportLi:nth-child(6n+1) .Tooltip {
  left: -6px;
  transform: translateX(0);
}

body .CalArticle .AreaCalMain .ReportBlock .ReportInner .ReportUl .ReportLi:nth-child(6n+1) .Tooltip::after {
  left: 4px;
  transform: translateX(0);
}

body .CalArticle .AreaCalMain .ReportBlock .ReportInner .ReportUl .ReportLi:nth-child(6n+6) {
  margin-right: 0;
}

body .CalArticle .AreaCalMain .ReportBlock .ReportInner .ReportUl .ReportLi:nth-child(6n+6) .Tooltip {
  right: -6px;
  left: auto;
  transform: translateX(0);
}

body .CalArticle .AreaCalMain .ReportBlock .ReportInner .ReportUl .ReportLi:nth-child(6n+6) .Tooltip::after {
  right: 4px;
  left: auto;
  transform: translateX(0);
}

body .CalArticle .AreaCalMain .ReportBlock .ReportInner .ReportUl .ReportLi.openTooltip {
  z-index: 201;
}

body .CalArticle .AreaCalMain .ReportBlock .ReportInner .ReportUl .ReportLi.openTooltip .Tooltip {
  display: flex;
}

body .CalArticle .AreaCalMain .ReportBlock .ReportInner.show {
  display: inline-block;
}

body .CalArticle .AreaCalMain::before {
  background-image: url(../images/cal_wave02.png);
}

body .CalArticle .AreaCalMain::after {
  background-image: url(../images/cal_wave01.png);
}

body .AreaCalSub {
  background-color: #54c9ff;
}

body .AreaCalSub .CalApply .CalApplyTtl {
  position: relative;
  width: 255px;
  margin: 0 auto;
}

body .AreaCalSub .CalApply .CalApplyTtl .Shoulder {
  position: absolute;
  top: -20px;
  left: -42px;
  width: 57px;
  height: 57px;
  z-index: 20;
}

body .AreaCalSub .CalApply .CalApplyTtl::before {
  content: "";
  position: absolute;
  top: -20px;
  left: -42px;
  width: 57px;
  height: 57px;
  background: url(../images/apply_shoulder_bg.png) center center/100% auto no-repeat;
  animation: guruguru 8.7s linear infinite;
  z-index: 20;
}

@keyframes guruguru {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(360deg);
  }
}

body .AreaCalSub.AreaCalSubBg {
  background-color: #c6edff;
}

.Info {
  position: relative;
  padding: 30px 25px 25px;
  background-color: #0039a6;
  border-top: 1px solid #fff;
}

.Info .InfoInner {
  max-width: 370px;
  margin: 0 auto;
}

.Info .InfoInner .TtlInfo {
  position: relative;
  letter-spacing: .04em;
  font-size: 16px;
}

.Info .InfoInner .TtlInfo::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: calc(50% - 4em);
  height: 1px;
  background: #fff;
}

.Info .InfoInner .TtlInfo::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: calc(50% - 4em);
  height: 1px;
  background: #fff;
}

.Info .InfoInner .InfoTtl {
  margin-top: 12px;
  font-size: 13px;
  font-weight: 600;
}

.Info .InfoInner .InfoTxt {
  font-size: 13px;
}

.Info .InfoInner .InfoCap {
  text-align: left;
  font-size: 11px;
}

.Info .InfoInner .InfoCap > li {
  padding-left: 1em;
  text-indent: -1em;
}

.Info .InfoInner .InfoTel {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 10px;
  color: #fff;
  font-size: 21px;
  line-height: 1;
}

.Info .InfoInner .InfoTel::before {
  content: "\e0b0";
  font-family: "Material Symbols Rounded";
  font-size: 27px;
  font-weight: 400;
}

.Info .InfoInner .InfoTel > span {
  padding: 0 3px 4px;
  text-decoration: underline;
}

.Info .InfoInner .InfoMail {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 7px;
  color: #fff;
  font-size: 21px;
  line-height: 1;
}

.Info .InfoInner .InfoMail::before {
  content: "\e158";
  font-family: "Material Symbols Rounded";
  font-size: 27px;
  font-weight: 300;
}

.Info .InfoInner .InfoMail > span {
  padding: 0 3px 4px;
  text-decoration: underline;
}

.CalBg .Info {
  background-color: #3b98d9;
}

body .Modal {
  position: fixed;
  top: 0;
  left: 0;
  display: none;
  width: 100%;
  height: 100vh;
  color: #151515;
  z-index: 10000;
}

body .Modal.OpenModal {
  display: block;
}

body .Modal .ModalInner, body .Modal .ModalHomeWelcomeInner, body .Modal .ModalCalWelcomeInner, body .Modal .ModalPhotoInner {
  position: absolute;
  top: 47%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: calc(100% - 40px);
  max-width: 430px;
  text-align: center;
  z-index: 1000;
}

body .Modal .ModalInner .ModalWrap, body .Modal .ModalHomeWelcomeInner .ModalWrap, body .Modal .ModalCalWelcomeInner .ModalWrap, body .Modal .ModalPhotoInner .ModalWrap {
  overflow-y: scroll;
  width: 100%;
  max-height: calc(100vh - 180px);
  background-color: #fafafc;
  border-radius: 6px;
}

body .Modal .ModalInner .ModalWrap .ModalPd, body .Modal .ModalHomeWelcomeInner .ModalWrap .ModalPd, body .Modal .ModalCalWelcomeInner .ModalWrap .ModalPd, body .Modal .ModalPhotoInner .ModalWrap .ModalPd {
  padding: 32px 18px;
}

body .Modal .ModalInner .ModalWrap .LpHomeModalTtl, body .Modal .ModalHomeWelcomeInner .ModalWrap .LpHomeModalTtl, body .Modal .ModalCalWelcomeInner .ModalWrap .LpHomeModalTtl, body .Modal .ModalPhotoInner .ModalWrap .LpHomeModalTtl, body .Modal .ModalInner .ModalWrap .LpCalModalTtl, body .Modal .ModalHomeWelcomeInner .ModalWrap .LpCalModalTtl, body .Modal .ModalCalWelcomeInner .ModalWrap .LpCalModalTtl, body .Modal .ModalPhotoInner .ModalWrap .LpCalModalTtl {
  width: 100%;
  margin: 0 auto;
  padding: 8px;
  background-color: #0039a6;
  border-radius: 3px;
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
}

body .Modal .ModalInner .ModalWrap .LpCalModalTtl, body .Modal .ModalHomeWelcomeInner .ModalWrap .LpCalModalTtl, body .Modal .ModalCalWelcomeInner .ModalWrap .LpCalModalTtl, body .Modal .ModalPhotoInner .ModalWrap .LpCalModalTtl {
  background-color: #3b98d9;
}

body .Modal .ModalInner .ModalWrap .ApplyModalHead, body .Modal .ModalHomeWelcomeInner .ModalWrap .ApplyModalHead, body .Modal .ModalCalWelcomeInner .ModalWrap .ApplyModalHead, body .Modal .ModalPhotoInner .ModalWrap .ApplyModalHead {
  padding: 16px 18px 10px;
  text-align: center;
  font-size: 16px;
  font-weight: 600;
}

body .Modal .ModalInner .ModalWrap .ApplyModalCard, body .Modal .ModalHomeWelcomeInner .ModalWrap .ApplyModalCard, body .Modal .ModalCalWelcomeInner .ModalWrap .ApplyModalCard, body .Modal .ModalPhotoInner .ModalWrap .ApplyModalCard {
  border-top: 1px solid #e8e8ea;
  border-bottom: 1px solid #e8e8ea;
}

body .Modal .ModalInner .ModalWrap .ApplyModalDesc, body .Modal .ModalHomeWelcomeInner .ModalWrap .ApplyModalDesc, body .Modal .ModalCalWelcomeInner .ModalWrap .ApplyModalDesc, body .Modal .ModalPhotoInner .ModalWrap .ApplyModalDesc {
  padding: 12px 18px 20px;
}

body .Modal .ModalHomeWelcomeInner, body .Modal .ModalCalWelcomeInner {
  width: calc(100% - 55px);
  max-width: 380px;
}

body .Modal .ModalHomeWelcomeInner .ModalWrap, body .Modal .ModalCalWelcomeInner .ModalWrap {
  background-color: #f7f7ff;
  border-radius: 14px;
}

body .Modal .ModalHomeWelcomeInner .ModalWrap .SlickWelcomeUl .slide-dots, body .Modal .ModalCalWelcomeInner .ModalWrap .SlickWelcomeUl .slide-dots {
  width: 100%;
  height: 48px;
  margin: 0;
  padding-top: 21px;
  text-align: center;
  font-size: 0;
}

body .Modal .ModalHomeWelcomeInner .ModalWrap .SlickWelcomeUl .slide-dots li, body .Modal .ModalCalWelcomeInner .ModalWrap .SlickWelcomeUl .slide-dots li {
  display: inline-block;
  margin: 0 3px;
}

body .Modal .ModalHomeWelcomeInner .ModalWrap .SlickWelcomeUl .slide-dots li button, body .Modal .ModalCalWelcomeInner .ModalWrap .SlickWelcomeUl .slide-dots li button {
  position: relative;
  width: 23px;
  height: 5px;
  padding: 0;
  background: none;
  background-color: #94abdb;
  border: none;
  border-radius: 1.5px;
  text-indent: -9999px;
  font-size: 0;
}

body .Modal .ModalHomeWelcomeInner .ModalWrap .SlickWelcomeUl .slide-dots li.slick-active button, body .Modal .ModalCalWelcomeInner .ModalWrap .SlickWelcomeUl .slide-dots li.slick-active button {
  background-color: #0039a6;
}

body .Modal .ModalHomeWelcomeInner .ModalWrap .SlickWelcomeUl .prev, body .Modal .ModalCalWelcomeInner .ModalWrap .SlickWelcomeUl .prev, body .Modal .ModalHomeWelcomeInner .ModalWrap .SlickWelcomeUl .SlickPointWrap .next, body .SlickPointWrap .Modal .ModalHomeWelcomeInner .ModalWrap .SlickWelcomeUl .next, body .Modal .ModalCalWelcomeInner .ModalWrap .SlickWelcomeUl .SlickPointWrap .next, body .SlickPointWrap .Modal .ModalCalWelcomeInner .ModalWrap .SlickWelcomeUl .next, body .Modal .ModalHomeWelcomeInner .ModalWrap .SlickWelcomeUl .SlickStepUl .next, body .SlickStepUl .Modal .ModalHomeWelcomeInner .ModalWrap .SlickWelcomeUl .next, body .Modal .ModalCalWelcomeInner .ModalWrap .SlickWelcomeUl .SlickStepUl .next, body .SlickStepUl .Modal .ModalCalWelcomeInner .ModalWrap .SlickWelcomeUl .next {
  display: none;
}

body .Modal .ModalHomeWelcomeInner .ModalWrap .SlickWelcomeUl .next, body .Modal .ModalCalWelcomeInner .ModalWrap .SlickWelcomeUl .next {
  position: absolute;
  right: 9px;
  bottom: 9px;
  width: 60px;
  height: 30px;
  padding-top: 8.5px;
  background-color: #0039a6;
  border-radius: 100px;
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  z-index: 20;
}

body .Modal .ModalHomeWelcomeInner .ModalWrap .SlickWelcomeUl .next.slick-disabled, body .Modal .ModalCalWelcomeInner .ModalWrap .SlickWelcomeUl .next.slick-disabled {
  opacity: 0;
}

body .Modal .ModalHomeWelcomeInner + .ModalBg, body .Modal .ModalCalWelcomeInner + .ModalBg {
  background-color: rgba(0, 0, 0, 0.8);
}

body .Modal .ModalCalWelcomeInner .ModalWrap {
  background-color: #f6fcff;
}

body .Modal .ModalCalWelcomeInner .ModalWrap .SlickWelcomeUl .slide-dots li button {
  background-color: #abd4f0;
}

body .Modal .ModalCalWelcomeInner .ModalWrap .SlickWelcomeUl .slide-dots li.slick-active button {
  background-color: #3b98d9;
}

body .Modal .ModalCalWelcomeInner .ModalWrap .SlickWelcomeUl .next {
  background-color: #3b98d9;
}

body .Modal .ModalPhotoInner {
  width: calc(100% - 10px);
}

body .Modal .ModalPhotoInner .ModalWrap {
  border-radius: 0;
}

body .Modal .ModalBg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
}

body .Footer {
  position: relative;
  width: 100%;
  max-width: 460px;
  margin: 0 auto;
  padding: 10px 25px 16px;
  background: #fff;
  border-top: 1px solid rgba(21, 21, 21, 0.2);
  z-index: 1;
}

body .Footer .FooterID {
  display: inline-block;
  padding: 3px 12px 4px;
  border: 1px solid #151515;
  border-radius: 100px;
  color: #151515;
  line-height: 1;
}

body .Footer .FooterID span {
  display: block;
  font-size: 10px;
  line-height: 1;
}

body .Footer aside {
  margin-top: 8px;
  color: #151515;
  font-size: 10px;
  line-height: 1;
}

body .Top + .Footer {
  padding: 12px 25px 124px;
}

body .MarginTop65 {
  margin-top: 65px !important;
}

body .MarginTop60 {
  margin-top: 60px !important;
}

body .MarginTop50 {
  margin-top: 50px !important;
}

body .MarginTop40 {
  margin-top: 40px !important;
}

body .MarginTop35 {
  margin-top: 35px !important;
}

body .MarginTop30 {
  margin-top: 30px !important;
}

body .MarginTop25 {
  margin-top: 25px !important;
}

body .MarginTop20 {
  margin-top: 20px !important;
}

body .MarginTop15 {
  margin-top: 15px !important;
}

body .MarginTop10 {
  margin-top: 10px !important;
}

body .MarginTop5 {
  margin-top: 5px !important;
}

body .MarginTop0 {
  margin-top: 0 !important;
}

body .MarginBottom10 {
  margin-bottom: 10px !important;
}

body .PaddingTop35 {
  padding-top: 35px !important;
}
