@charset "UTF-8";
/*
	HTML5 Reset :: style.css
	----------------------------------------------------------
	We have learned much from/been inspired by/taken code where offered from:

	Eric Meyer					:: http://meyerweb.com
	HTML5 Doctor				:: http://html5doctor.com
	and the HTML5 Boilerplate	:: http://html5boilerplate.com

-------------------------------------------------------------------------------*/
/* Let's default this puppy out
-------------------------------------------------------------------------------*/
html, body, 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, figure, footer, header, menu, nav, section, time, mark, audio, video, details, summary {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-weight: normal;
  vertical-align: baseline;
  background: transparent;
}

article, aside, figure, footer, header, nav, section, details, summary {
  display: block;
}

/* Handle box-sizing while better addressing child elements:
   http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
html {
  box-sizing: border-box;
}

*,
*:before,
*:after {
  box-sizing: inherit;
}

/* consider resetting the default cursor: https://gist.github.com/murtaugh/5247154 */
/* Responsive images and other embedded objects */
/* if you don't have full control over `img` tags (if you have to overcome attributes), consider adding height: auto */
img,
object,
embed {
  max-width: 100%;
}

/*
   Note: keeping IMG here will cause problems if you're using foreground images as sprites.
	In fact, it *will* cause problems with Google Maps' controls at small size.
	If this is the case for you, try uncommenting the following:

#map img {
		max-width: none;
}
*/
/* force a vertical scrollbar to prevent a jumpy page */
html {
  overflow-y: scroll;
}

/* we use a lot of ULs that aren't bulleted.
	you'll have to restore the bullets within content,
	which is fine because they're probably customized anyway */
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;
}

del {
  text-decoration: line-through;
}

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

/* tables still need cellspacing="0" in the markup */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

th {
  font-weight: bold;
  vertical-align: bottom;
}

td {
  font-weight: normal;
  vertical-align: top;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

pre {
  white-space: pre; /* CSS2 */
  white-space: pre-wrap; /* CSS 2.1 */
  white-space: pre-line; /* CSS 3 (and 2.1 as well, actually) */
  word-wrap: break-word; /* IE */
}

input[type=radio] {
  vertical-align: text-bottom;
}

input[type=checkbox] {
  vertical-align: bottom;
}

.ie7 input[type=checkbox] {
  vertical-align: baseline;
}

.ie6 input {
  vertical-align: text-bottom;
}

select, input, textarea {
  font: 99% sans-serif;
}

table {
  font-size: inherit;
  font: 100%;
}

small {
  font-size: 85%;
}

strong {
  font-weight: bold;
}

td, td img {
  vertical-align: top;
}

/* Make sure sup and sub don't mess with your line-heights http://gist.github.com/413930 */
sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/* standardize any monospaced elements */
pre, code, kbd, samp {
  font-family: monospace, sans-serif;
}

/* hand cursor on clickable elements */
.clickable,
label,
input[type=button],
input[type=submit],
input[type=file],
button {
  cursor: pointer;
}

/* Webkit browsers add a 2px margin outside the chrome of form elements */
button, input, select, textarea {
  margin: 0;
}

/* make buttons play nice in IE */
button,
input[type=button] {
  width: auto;
  overflow: visible;
}

/* scale images in IE7 more attractively */
.ie7 img {
  -ms-interpolation-mode: bicubic;
}

/* prevent BG image flicker upon hover
   (commented out as usage is rare, and the filter syntax messes with some pre-processors)
.ie6 html {filter: expression(document.execCommand("BackgroundImageCache", false, true));}
*/
/* let's clear some floats */
.clearfix:before, .clearfix:after {
  content: " ";
  display: block;
  height: 0;
  overflow: hidden;
}

.clearfix:after {
  clear: both;
}

.clearfix {
  zoom: 1;
}

/* 変数
----------------------------------------------------------------- */
/**
 * 新規作成方法
 * data:image/svg+xml;utf8,<svg ...></svg> ← svgコードをコピー
 * カラーコードの'#'を'%23'に変換する ex. fill="#000" → fill="%23000"
 * 不要なclassなどは削る
 */
/* アイコン - 01atoms/icon で使用
----------------------------------------------------------------- */
/* 汎用class
----------------------------------------------------------------- */
/**
 * margin/paddingの汎用class用
 * @param {number} $start 開始px
 * @param {number} $limit 上限
 * @param {number} $per   数値の刻み
 */
/**
 * 最大幅をつける
 * @param {string} $width     最大幅（$containerSize）のキー
 * @param {number} $pcPadding PC時の左右余白
 * @param {number} $spPadding SP時の左右余白
 */
:root {
  --header-height: 97px;
}
@media screen and (max-width: 1050px) {
  :root {
    --header-height: 64px;
  }
}

html {
  font-size: 62.5%;
  min-width: 320px;
  overflow-x: hidden;
  overflow-y: auto;
}

body {
  background: #fff;
  color: #333;
  display: grid;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.8rem;
  grid-auto-columns: minmax(0, 1fr);
  grid-template-rows: 1fr auto;
  letter-spacing: 0;
  line-height: 1.6;
  min-height: 100svh;
}
@media screen and (max-width: 768px) {
  body {
    font-size: 1.6rem;
  }
}

picture {
  display: block;
}

img {
  display: block;
  height: auto;
  width: 100%;
}

svg {
  display: block;
  height: auto;
  width: 100%;
}

a {
  color: inherit;
  text-decoration-thickness: 1px;
  transition: opacity 0.2s cubic-bezier(0.33, 1, 0.68, 1);
}
a:hover {
  opacity: 0.5;
}

button {
  color: inherit;
  cursor: pointer;
  transition: opacity 0.2s cubic-bezier(0.33, 1, 0.68, 1);
}
button:hover {
  opacity: 0.5;
}

input,
select,
button,
textarea {
  color: inherit;
  font: inherit;
  outline: none;
  width: 100%;
}

textarea {
  resize: vertical;
}

.container {
  margin: 0 auto;
  max-width: 1200px;
  padding: 0 40px;
}
@media screen and (max-width: 768px) {
  .container {
    padding: 0 20px;
  }
}

.fade-in-target {
  opacity: 0;
  -webkit-transform: translateY(30px);
          transform: translateY(30px);
  transition-delay: var(--delay, 0s);
  transition-duration: 0.8s;
  transition-property: opacity, -webkit-transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform;
  transition-timing-function: cubic-bezier(0.45, 0, 0.55, 1);
  will-change: transform;
}
.fade-in-target.is_visible {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.backToTop {
  bottom: calc(100% - 54px);
  color: #fff;
  display: grid;
  font-size: 1.4rem;
  justify-items: center;
  line-height: 1.6;
  position: absolute;
  right: 40px;
  z-index: 5;
}
@media screen and (max-width: 768px) {
  .backToTop {
    bottom: calc(100% - 45px);
    font-size: 1.2rem;
    right: 20px;
  }
}
.backToTop__link {
  text-decoration: none;
}
.backToTop__pic {
  width: 80px;
}
@media screen and (max-width: 768px) {
  .backToTop__pic {
    width: 60px;
  }
}

.basisButton {
  --basisButton-font-size: 1.6rem;
  --basisButton-line-height: 1.6;
  --basisButton-padding-x: 32px;
  --basisButton-padding-y: 8px;
  --basisButton-border-radius: 1000px;
  --basisButton-min-width: min(160px, 100%);
  --basisButton-min-height: 48px;
  --basisButton-height: fit-content;
  --basisButton-width: fit-content;
  --basisButton-color: #fff;
  --basisButton-bg-color: #f39c00;
  --basisButton-border: none;
  --basisButton-font-family: Zen Kaku Gothic New, sans-serif;
  --basisButton-font-weight: 700;
  --basisButton-icon-size: calc(24 / 16 * 1em);
  -webkit-align-items: center;
          align-items: center;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: var(--basisButton-bg-color);
  border: var(--basisButton-border);
  border-radius: var(--basisButton-border-radius);
  color: var(--basisButton-color);
  display: grid;
  font-family: var(--basisButton-font-family);
  font-size: var(--basisButton-font-size);
  font-weight: var(--basisButton-font-weight);
  gap: 4px;
  grid-auto-flow: column;
  height: var(--basisButton-height);
  -webkit-justify-content: center;
          justify-content: center;
  line-height: var(--basisButton-line-height);
  min-height: var(--basisButton-min-height);
  min-width: var(--basisButton-min-width);
  padding: var(--basisButton-padding-y) var(--basisButton-padding-x);
  place-items: center;
  text-align: center;
  text-decoration: none;
  width: var(--basisButton-width);
}
.basisButton[target=_blank]::after {
  content: "\e89e";
  display: inline-block;
  font-family: "Material Symbols Outlined";
  font-size: inherit;
  font-weight: 500;
  line-height: 1;
  translate: 0 0.0625em;
}
.basisButton__text {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
}
.basisButton__icon_name_mail {
  font-size: var(--basisButton-icon-size);
  font-variation-settings: "FILL" 1;
}

.campaignBanner {
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  justify-items: center;
}
.campaignBanner__badge {
  background: #f39c00;
  border-radius: 100px;
  color: #fff;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 3.2rem;
  font-weight: 700;
  grid-column: 1/-1;
  grid-row: 1/span 2;
  padding: 8px 32px;
  text-align: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .campaignBanner__badge {
    font-size: 2rem;
    line-height: 1.36;
    margin: 0 20px;
    padding: 12px 24px;
  }
}
.campaignBanner__body {
  background: #fff;
  border: 4px solid #f39c00;
  border-radius: 20px;
  display: grid;
  grid-column: 1/-1;
  grid-row: 2/-1;
  grid-template-rows: subgrid;
  width: 100%;
}
.campaignBanner__content {
  display: grid;
  grid-row: 2/-1;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  padding-top: 12px;
  text-align: center;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .campaignBanner__content {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}
.campaignBanner__inner {
  grid-column: 1/-1;
  grid-row: 1/-1;
  padding: 0 24px 45px;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .campaignBanner__inner {
    grid-column: 1/-1;
    padding: 0 20px 32px;
  }
}
.campaignBanner__desc {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 2;
  overflow-wrap: anywhere;
  word-break: keep-all;
}
@media screen and (max-width: 768px) {
  .campaignBanner__desc {
    font-size: 1.8rem;
  }
}
.campaignBanner__desc:has(+ .campaignBanner__priceWrap) {
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .campaignBanner__desc:has(+ .campaignBanner__priceWrap) {
    margin-bottom: 24px;
  }
}
.campaignBanner__num {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 2em;
  font-weight: inherit;
  line-height: 1;
}
.campaignBanner__priceWrap {
  -webkit-align-items: center;
          align-items: center;
  display: -webkit-flex;
  display: flex;
  font-size: min(3.3333333333cqw, 2.4rem);
  gap: 8px 16px;
  -webkit-justify-content: center;
          justify-content: center;
}
@media screen and (max-width: 768px) {
  .campaignBanner__priceWrap {
    display: grid;
    font-size: min(5.3731343284cqw, 2.4rem);
    justify-items: center;
  }
}
.campaignBanner__priceWrap:has(+ .campaignBanner__details) {
  margin-bottom: 40px;
}
.campaignBanner__priceOriginal {
  -webkit-align-items: baseline;
          align-items: baseline;
  display: -webkit-flex;
  display: flex;
  font-weight: 700;
  line-height: 1.0416666667;
  position: relative;
  text-decoration: none;
}
.campaignBanner__priceOriginal::before {
  background: #00a0e9;
  content: "";
  height: 2px;
  left: 0;
  position: absolute;
  rotate: 8.5deg;
  top: 63%;
  translate: 0 -50%;
  width: 100%;
  z-index: 1;
}
.campaignBanner__priceOriginal .campaignBanner__priceAmount {
  font-size: min(2em, 4.8rem);
}
@media screen and (max-width: 768px) {
  .campaignBanner__priceOriginal .campaignBanner__priceAmount {
    font-size: min(1.7777777778em, 4.8rem);
  }
}
.campaignBanner__priceSale {
  -webkit-align-items: baseline;
          align-items: baseline;
  display: -webkit-flex;
  display: flex;
  font-weight: 900;
  line-height: 0.6944444444;
}
.campaignBanner__priceSale .campaignBanner__priceAmount {
  color: #00a0e9;
  font-size: min(3em, 7.2rem);
}
@media screen and (max-width: 768px) {
  .campaignBanner__priceSale .campaignBanner__priceAmount {
    font-size: min(3.1111111111em, 7.2rem);
  }
}
.campaignBanner__priceSale .campaignBanner__priceUnit {
  color: #00a0e9;
}
.campaignBanner__priceSale .campaignBanner__priceUnit:has(+ .campaignBanner__emphasis) {
  margin-right: 0.25em;
}
.campaignBanner__priceAmount {
  -webkit-flex: 0 0 auto;
          flex: 0 0 auto;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 1em;
  font-weight: inherit;
}
.campaignBanner__priceUnit {
  -webkit-flex: 0 0 auto;
          flex: 0 0 auto;
  font-size: 1em;
  font-weight: 700;
}
.campaignBanner__arrow {
  aspect-ratio: 1;
  display: grid;
  font-size: min(1.6666666667em, 4rem);
  height: auto;
  place-items: center;
  translate: 0 10%;
  width: 1em;
}
@media screen and (max-width: 768px) {
  .campaignBanner__arrow {
    font-size: min(1.3333333333em, 4rem);
    translate: 0 0;
  }
}
.campaignBanner__arrowIcon {
  font-size: 1.25em;
  font-weight: 500;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .campaignBanner__arrowIcon {
    rotate: 90deg;
  }
}
.campaignBanner__emphasis {
  font-size: 2.4rem;
  font-weight: 700;
}
.campaignBanner__detailText {
  font-size: 1.8rem;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .campaignBanner__detailText {
    font-size: 1.6rem;
  }
}
.campaignBanner__detailText:where(:not(:last-child)) {
  margin-bottom: 1.6em;
}
.campaignBanner__detailText_type_note {
  font-weight: 500;
}
.campaignBanner__illust {
  grid-column: 1/-1;
  grid-row: 1/-1;
  margin-bottom: -4px;
  margin-right: clamp(0px, -78.2013422819px + 8.0536912752cqw, 12px);
  max-width: 160px;
  min-width: 100px;
  place-self: flex-end;
  width: 14.4181256437cqw;
  z-index: 0;
}
@media screen and (max-width: 1050px) {
  .campaignBanner__illust {
    margin-bottom: 0;
    margin-right: -4px;
    margin-top: -60px;
    place-self: flex-start flex-end;
  }
}
@media screen and (max-width: 768px) {
  .campaignBanner__illust {
    display: none;
  }
}
.campaignBanner_type_simple .campaignBanner__inner {
  padding-bottom: 52px;
}
.campaignBanner_type_simple .campaignBanner__desc:has(+ .campaignBanner__priceWrap) {
  margin-bottom: 24px;
}

.detailsCard {
  --detailCard-border-radius: 20px;
  --detailCard-color: #004c92;
  --detailCard-border-width: 2px;
  border-radius: var(--detailCard-border-radius);
  overflow: hidden;
}
.detailsCard__inner {
  display: grid;
  gap: 0;
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.detailsCard__head {
  background: var(--detailCard-color);
  border-radius: var(--detailCard-border-radius) var(--detailCard-border-radius) 0 0;
  color: #fff;
  display: grid;
  min-height: 68px;
  padding: 8px 24px;
  place-items: center;
}
@media screen and (max-width: 768px) {
  .detailsCard__head {
    min-height: 56px;
  }
}
.detailsCard__title {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .detailsCard__title {
    font-size: 1.8rem;
  }
}
.detailsCard__body {
  -webkit-align-content: flex-start;
          align-content: flex-start;
  background: #fff;
  border: var(--detailCard-border-width) solid var(--detailCard-color);
  border-radius: 0 0 var(--detailCard-border-radius) var(--detailCard-border-radius);
  display: grid;
  gap: 36px;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  padding: 40px 30px;
}
@media screen and (max-width: 768px) {
  .detailsCard__body {
    padding: 32px 20px;
  }
}
.detailsCard__priceWrap {
  display: grid;
  grid-row: span 2;
  grid-template-rows: subgrid;
  justify-items: center;
}
.detailsCard__priceWrap::after {
  background: #004c92;
  border-radius: 100px;
  content: "";
  height: 1px;
  width: 48px;
}
.detailsCard__price {
  -webkit-align-items: flex-end;
          align-items: flex-end;
  -webkit-align-self: center;
          align-self: center;
  color: #00a0e9;
  display: -webkit-flex;
  display: flex;
  font-size: 2.4rem;
  font-weight: 700;
  -webkit-justify-content: center;
          justify-content: center;
  line-height: 1;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .detailsCard__price {
    font-size: 1.6rem;
  }
}
.detailsCard__period {
  -webkit-flex: 0 0 auto;
          flex: 0 0 auto;
  font-size: inherit;
  font-weight: inherit;
}
.detailsCard__amount {
  -webkit-flex: 0 0 auto;
          flex: 0 0 auto;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 2em;
  font-weight: inherit;
}
@media screen and (max-width: 768px) {
  .detailsCard__amount {
    font-size: 3em;
  }
}
.detailsCard__currency {
  -webkit-flex: 0 0 auto;
          flex: 0 0 auto;
  font-size: inherit;
  font-weight: inherit;
}
.detailsCard__details {
  -webkit-align-content: flex-start;
          align-content: flex-start;
  -webkit-align-items: flex-start;
          align-items: flex-start;
  display: grid;
  gap: 48px;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  justify-items: center;
  width: 100%;
}
.detailsCard__detail {
  font-weight: 500;
}
.detailsCard__list {
  display: grid;
  gap: 6px;
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.detailsCard__listItem {
  -webkit-align-items: flex-start;
          align-items: flex-start;
  display: grid;
  font-weight: 500;
  gap: 8px;
  grid-template-columns: -webkit-max-content minmax(0, 1fr);
  grid-template-columns: max-content minmax(0, 1fr);
}
.detailsCard__listItem::before {
  color: #f39c00;
  content: "\e5ca";
  font-family: "Material Symbols Rounded";
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.4;
}
.detailsCard_type_emphasis {
  --detailCard-color: #f39c00;
  --detailCard-border-width: 3px;
}

.faqItem {
  background: #fff;
  border: 2px solid;
  border-radius: 20px;
  overflow: hidden;
}
.faqItem__head {
  -webkit-align-items: center;
          align-items: center;
  cursor: pointer;
  display: grid;
  font-size: 1.8rem;
  font-weight: 500;
  gap: 24px;
  grid-template-columns: minmax(0, 1fr) auto;
  list-style: none;
  padding: 17px 30px;
}
@media screen and (max-width: 768px) {
  .faqItem__head {
    font-size: 1.6rem;
    gap: 8px;
    padding: 16px 16px;
  }
}
.faqItem__head::-webkit-details-marker {
  display: none;
}
.faqItem__title {
  font-weight: 700;
}
.faqItem__title::before {
  content: "Q. ";
}
.faqItem__disclosureIcon {
  aspect-ratio: 1;
  background: #dff2fc;
  border-radius: 1000px;
  display: grid;
  height: auto;
  place-items: center;
  width: 40px;
}
.faqItem__disclosureIcon::before, .faqItem__disclosureIcon::after {
  background: #004c92;
  border-radius: 100px;
  content: "";
  grid-column: 1/-1;
  grid-row: 1/-1;
  height: 3px;
  width: 47.5%;
}
.faqItem__disclosureIcon::after {
  rotate: 90deg;
  transition: width 0.3s cubic-bezier(0.33, 1, 0.68, 1);
}
.faqItem__body {
  overflow: hidden;
}
.faqItem__bodyInner {
  padding: 8px 30px 24px;
}
@media screen and (max-width: 768px) {
  .faqItem__bodyInner {
    padding: 24px 16px 24px;
  }
}
.faqItem__text {
  font-size: inherit;
  font-weight: 500;
}
.faqItem.is_open .faqItem__disclosureIcon::after {
  rotate: 0;
  width: 0px;
}

.featuresItem {
  background: #fff;
  border: 2px solid #004c92;
  border-radius: 20px;
  display: grid;
  gap: 10px 16px;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  padding: 37px 30px 34px;
}
@media screen and (max-width: 768px) {
  .featuresItem {
    gap: 24px 16px;
    padding: 24px 16px;
  }
}
.featuresItem__title {
  -webkit-align-self: center;
          align-self: center;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.36;
  overflow-wrap: anywhere;
  text-align: center;
  word-break: keep-all;
}
@media screen and (max-width: 768px) {
  .featuresItem__title {
    font-size: 2rem;
  }
}
.featuresItem__icon {
  aspect-ratio: 100/85;
  display: grid;
  height: auto;
  justify-self: center;
  place-items: flex-end center;
  width: 100px;
}
.featuresItem__icon svg {
  max-height: 100%;
  max-width: 100%;
  width: auto;
}
.featuresItem__text {
  font-size: 1.8rem;
  font-weight: 500;
  padding-top: 13px;
}

.menuButton {
  -webkit-align-content: center;
          align-content: center;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  aspect-ratio: 1;
  background: transparent;
  border: none;
  color: currentColor;
  display: grid;
  gap: 5px;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  height: auto;
  padding: 10px 5px;
  padding: 0;
  place-items: center;
  transition-duration: 0.3s;
  transition-property: gap, opacity;
  transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1);
  width: 40px;
}
.menuButton__line {
  background: currentColor;
  border-radius: 100px;
  height: 2px;
  transition-duration: 0.3s;
  transition-property: rotate, opacity;
  transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1);
  width: 75%;
}
.menuButton.is_open {
  gap: 0;
}
.menuButton.is_open .menuButton__line:nth-child(1) {
  margin-bottom: -2px;
  rotate: 45deg;
}
.menuButton.is_open .menuButton__line:nth-child(2) {
  opacity: 0;
}
.menuButton.is_open .menuButton__line:nth-child(3) {
  margin-top: -2px;
  rotate: -45deg;
}

.pageTitle {
  font-size: 4rem;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .pageTitle {
    font-size: 2.4rem;
  }
}

.recommendCard {
  background: #fff;
  border: 2px solid;
  border-radius: 20px;
  padding: 28px 32px;
}
@media screen and (max-width: 768px) {
  .recommendCard {
    padding: 24px 16px;
  }
}
.recommendCard__inner {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  justify-items: center;
}
.recommendCard__title {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.36;
  overflow-wrap: anywhere;
  text-align: center;
  word-break: keep-all;
}
@media screen and (max-width: 768px) {
  .recommendCard__title {
    font-size: 2rem;
  }
}
.recommendCard__img {
  max-width: 100%;
  width: 190px;
}
.recommendCard__text {
  font-weight: 500;
}

.sectionTitle {
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.3;
  overflow-wrap: anywhere;
  word-break: keep-all;
}
@media screen and (max-width: 768px) {
  .sectionTitle {
    font-size: 3.2rem;
  }
}
.sectionTitle_text_center {
  text-align: center;
}

.stepCard {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.stepCard:not(:last-child)::after {
  aspect-ratio: 28/12;
  background: #004c92;
  -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
          clip-path: polygon(0 0, 100% 0, 50% 100%);
  content: "";
  display: block;
  height: auto;
  justify-self: center;
  margin-top: 4px;
  width: 28px;
}
@media screen and (max-width: 768px) {
  .stepCard:not(:last-child)::after {
    width: 24px;
  }
}
.stepCard__inner {
  -webkit-align-items: flex-start;
          align-items: flex-start;
  background: #fff;
  border: 2px solid #004c92;
  border-radius: 20px;
  display: grid;
  gap: 8px 40px;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  padding: 24px 30px 30px;
}
@media screen and (max-width: 768px) {
  .stepCard__inner {
    padding: 20px 20px 28px;
  }
}
.stepCard__title {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.36;
  overflow-wrap: anywhere;
  word-break: keep-all;
}
@media screen and (max-width: 768px) {
  .stepCard__title {
    font-size: 2rem;
  }
}
.stepCard__title::before {
  content: counter(stepCounter, decimal-leading-zero) ". ";
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 1.3333333333em;
  font-weight: inherit;
}
.stepCard__text {
  font-weight: 500;
}

.templateCard {
  display: grid;
  gap: 16px;
  justify-items: center;
}
.templateCard__preview {
  border: 2px solid #004c92;
  border-radius: 20px;
  display: block;
  overflow: hidden;
  width: 100%;
}
.templateCard__title {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
.templateCard__button {
  --basisButton-min-width: 212px;
  margin-top: 8px;
}
.templateCard_type_comingsoon .templateCard__preview {
  position: relative;
}
.templateCard_type_comingsoon .templateCard__preview::before {
  background-color: #004c91;
  content: "";
  display: block;
  height: 100%;
  left: 0;
  opacity: 0.7;
  position: absolute;
  top: 0;
  width: 100%;
}
.templateCard_type_comingsoon .templateCard__button {
  opacity: 0.5;
  pointer-events: none;
}

.textLink {
  color: #00a0e9;
}
.textLink[target=_blank]::after {
  content: "\e89e";
  display: inline-block;
  font-family: "Material Symbols Outlined";
  font-size: 1.1428571429em;
  line-height: 1;
  margin-left: 0.2em;
  translate: 0 0.125em;
}

.asideContact {
  background: #fcd14e;
  color: #004c92;
  margin-top: -64px;
  padding: 144px 0 0;
  position: relative;
  scroll-margin-top: 40px;
  width: 100%;
}
@media screen and (max-width: 1050px) {
  .asideContact {
    padding-top: 164px;
  }
}
@media screen and (max-width: 768px) {
  .asideContact {
    contain-intrinsic-height: auto 470px;
  }
}
.asideContact:where(:last-child) {
  padding-bottom: 120px;
}
.asideContact__inner {
  display: grid;
  gap: 0 40px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: 1fr auto;
}
@media screen and (max-width: 1050px) {
  .asideContact__inner {
    grid-template-columns: repeat(1, minmax(0, 1fr));
    grid-template-rows: repeat(2, auto);
  }
}
.asideContact__deco {
  grid-row: auto;
  height: auto;
  margin-bottom: -40px;
  scale: -1 1;
  width: 80px;
}
@media screen and (max-width: 1050px) {
  .asideContact__deco {
    grid-column: 1/span 1;
    grid-row: 1/-1;
    margin-bottom: 0;
    margin-top: -40px;
  }
}
@media screen and (max-width: 768px) {
  .asideContact__deco {
    margin-top: -60px;
    width: 60px;
  }
}
@media screen and (max-width: 480px) {
  .asideContact__deco {
    width: 50px;
  }
}
.asideContact__title {
  grid-column: 1/span 1;
  grid-row: 2/span 1;
}
@media screen and (max-width: 1050px) {
  .asideContact__title {
    grid-column: 1/span 1;
    grid-row: 1/span 1;
    margin-bottom: 40px;
  }
}
.asideContact__content {
  grid-column: span 1;
  grid-row: 2/span 1;
  justify-self: flex-start;
}
@media screen and (max-width: 1050px) {
  .asideContact__content {
    grid-column: 1/span 1;
    grid-row: 2/span 1;
    width: 100%;
  }
}
.asideContact__text {
  font-weight: 500;
  margin-bottom: 24px;
  text-align: center;
}
.asideContact__button {
  --basisButton-bg-color: #004c92;
  --basisButton-min-height: 56px;
  --basisButton-min-width: min(320px, 100%);
  --basisButton-width: 320px;
  margin: 0 auto;
}
@media screen and (max-width: 1050px) {
  .asideContact__button {
    --basisButton-width: fit-content;
  }
}

.contactForm__contents {
  display: grid;
  gap: 40px;
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
@media screen and (max-width: 768px) {
  .contactForm__contents {
    gap: 32px;
  }
}
.contactForm__contents:not(:last-child) {
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .contactForm__contents:not(:last-child) {
    margin-bottom: 32px;
  }
}
.contactForm__item {
  -webkit-align-items: flex-start;
          align-items: flex-start;
  display: grid;
  gap: 64px;
  grid-template-columns: 240px minmax(0, 1fr);
}
@media screen and (max-width: 1050px) {
  .contactForm__item {
    gap: 40px;
    grid-template-columns: 200px minmax(0, 1fr);
  }
}
@media screen and (max-width: 768px) {
  .contactForm__item {
    gap: 8px;
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}
.contactForm__item:has([aria-required=true]) .contactForm__term::after {
  background: #f00;
  content: "必須";
}
.contactForm__term {
  -webkit-align-items: center;
          align-items: center;
  display: grid;
  font-weight: 700;
  gap: 8px;
  grid-auto-flow: column;
  -webkit-justify-content: flex-end;
          justify-content: flex-end;
  line-height: 1.5;
  min-height: 56px;
}
@media screen and (max-width: 768px) {
  .contactForm__term {
    -webkit-justify-content: flex-start;
            justify-content: flex-start;
    min-height: unset;
  }
}
.contactForm__term::after {
  background: #004c92;
  border-radius: 4px;
  color: #fff;
  content: "任意";
  font-size: 1.2rem;
  line-height: 1;
  padding: 2px 4px 4px;
}
.contactForm__termText {
  font-size: inherit;
  font-weight: inherit;
}
.contactForm__input {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: #ebf8ff;
  border: none;
  border-radius: 8px;
  font-weight: 500;
  line-height: 1.5;
  min-height: 56px;
  padding: 16px;
}
@media screen and (max-width: 768px) {
  .contactForm__input {
    min-height: 48px;
    padding: 8px 16px;
  }
}
.contactForm__input:focus {
  outline: 1px solid #4ac1f0;
}
.contactForm__selectWrap {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr);
}
.contactForm__selectWrap .wpcf7-form-control-wrap {
  display: grid;
  grid-area: 1/1/span 2/-1;
  grid-template-rows: subgrid;
}
.contactForm__selectWrap select {
  padding-right: 40px;
}
.contactForm__selectWrap::after {
  content: "\e313";
  font-family: "Material Symbols Outlined";
  font-size: 1.3em;
  grid-area: 1/1/-1/-1;
  height: auto;
  margin-right: 16px;
  place-self: center flex-end;
  pointer-events: none;
  z-index: 1;
}
.contactForm__buttonWrap {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-justify-content: center;
          justify-content: center;
}
.contactForm__submit {
  --basisButton-font-size: 1.8rem;
  --basisButton-min-width: min(300px, 100%);
  --basisButton-min-height: 64px;
  transition: opacity 0.2s cubic-bezier(0.33, 1, 0.68, 1);
}
.contactForm__submit:hover {
  opacity: 0.5;
}
.contactForm .wpcf7 .wpcf7-spinner {
  display: none;
}
.contactForm .wpcf7 .wpcf7-response-output {
  border: 1px solid #004c92;
  border-radius: 8px;
  font-size: 1.6rem;
  font-weight: 500;
  margin: 24px 0 0;
  padding: 8px 16px;
  text-align: center;
}
.contactForm .wpcf7 form.invalid .wpcf7-response-output,
.contactForm .wpcf7 form.unaccepted .wpcf7-response-output,
.contactForm .wpcf7 form.payment-required .wpcf7-response-output {
  border-color: #f39c00;
}
.contactForm .wpcf7 form.sent .wpcf7-response-output {
  border-color: #4ac1f0;
}

.footer {
  background: #004c92;
  color: #fff;
  font-size: 1.4rem;
  padding: 40px 0;
  position: relative;
}
.footer__container {
  height: 100%;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .footer__container {
    contain-intrinsic-height: auto 200px;
  }
}
.footer__title:where(:not(:last-child)) {
  margin-bottom: 20px;
}
.footer__link {
  color: inherit;
  text-decoration: underline;
}
.footer__logo {
  max-width: 124px;
}
.footer__company {
  font-weight: 500;
}
.footer__company:where(:not(:last-child)) {
  margin-bottom: 4px;
}
@media screen and (max-width: 768px) {
  .footer__company:where(:not(:last-child)) {
    margin-bottom: 16px;
  }
}
.footer__row {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 24px 40px;
  -webkit-justify-content: space-between;
          justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .footer__row {
    -webkit-flex-direction: column;
            flex-direction: column;
  }
}
.footer__navList {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 8px 24px;
}
.footer__navLink {
  color: inherit;
  text-decoration: none;
}
.footer__copyright {
  font-size: 1em;
  -webkit-order: -1;
          order: -1;
}
@media screen and (max-width: 768px) {
  .footer__copyright {
    -webkit-order: unset;
            order: unset;
  }
}
.footer__pageLinkWrapper {
  display: -webkit-flex;
  display: flex;
  gap: 24px;
}

.gnav {
  -webkit-align-items: center;
          align-items: center;
  display: -webkit-flex;
  display: flex;
  font-size: 1.6rem;
  font-weight: 700;
  gap: 24px;
  -webkit-justify-content: flex-end;
          justify-content: flex-end;
}
@media screen and (max-width: 1050px) {
  .gnav {
    -webkit-align-content: flex-start;
            align-content: flex-start;
    -webkit-align-items: flex-start;
            align-items: flex-start;
    background: #fff;
    display: grid;
    font-size: 1.8rem;
    gap: 48px;
    grid-auto-rows: auto;
    height: 100dvh;
    -webkit-justify-content: unset;
            justify-content: unset;
    max-width: 100%;
    opacity: 0;
    overflow: hidden auto;
    overscroll-behavior: contain;
    padding: 120px 24px 120px 32px;
    position: fixed;
    right: 0;
    top: 0;
    transition-duration: 0.3s;
    transition-property: translate, opacity, visibility;
    transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1);
    translate: 100% 0;
    visibility: hidden;
    width: 320px;
  }
}
.gnav__list {
  -webkit-align-items: center;
          align-items: center;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 4px 3.3333333333cqw;
  -webkit-justify-content: flex-end;
          justify-content: flex-end;
}
@media screen and (max-width: 1050px) {
  .gnav__list {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    row-gap: 24px;
  }
}
@media screen and (max-width: 768px) {
  .gnav__list {
    row-gap: 16px;
  }
}
.gnav__item {
  font-weight: 700;
}
.gnav__link {
  font-weight: inherit;
  text-decoration: none;
}
.gnav__buttonWrap {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  width: 100%;
}
.gnav__buttonLink {
  --basisButton-width: 100%;
}
@media screen and (max-width: 1050px) {
  .gnav.is_open {
    opacity: 1;
    translate: 0 0;
    visibility: visible;
  }
}

.header {
  background: #fff;
  display: grid;
  -webkit-filter: drop-shadow(0 4px 4px rgba(0, 0, 0, 0.03));
          filter: drop-shadow(0 4px 4px rgba(0, 0, 0, 0.03));
  height: var(--header-height);
  position: fixed;
  top: 0;
  width: 100%;
  will-change: filter;
  z-index: 1000;
}
.header__container {
  height: 100%;
  max-width: 1280px;
  width: 100%;
}
.header__inner {
  -webkit-align-items: center;
          align-items: center;
  container: header/inline-size;
  display: grid;
  gap: 3.3333333333%;
  grid-template-areas: "title gnav contents";
  grid-template-columns: 148px minmax(0, 1fr) auto;
  height: 100%;
}
@media screen and (max-width: 1050px) {
  .header__inner {
    gap: 16px;
    grid-template-areas: "title contents";
    grid-template-columns: 96px minmax(0, 1fr);
  }
}
@media screen and (max-width: 480px) {
  .header__inner {
    gap: 8px;
    grid-template-columns: 80px minmax(0, 1fr);
  }
}
.header__title {
  -webkit-flex: 0 0 auto;
          flex: 0 0 auto;
  grid-area: title;
}
.header__logo {
  max-width: 148px;
}
.header__gnav {
  grid-area: gnav;
}
.header__contents {
  -webkit-align-items: center;
          align-items: center;
  display: -webkit-flex;
  display: flex;
  gap: 24px;
  grid-area: contents;
  justify-self: flex-end;
}
@media screen and (max-width: 1050px) {
  .header__contents {
    gap: 12px;
  }
}
@media screen and (max-width: 480px) {
  .header__contents {
    gap: 4px;
  }
}
.header__link {
  -webkit-flex: 0 0 auto;
          flex: 0 0 auto;
  --basisButton-font-size: 1.4rem;
  --basisButton-min-height: 40px;
  --basisButton-icon-size: calc(24 / 14 * 1em);
}
@media screen and (max-width: 768px) {
  .header__link {
    --basisButton-min-width: fit-content;
    --basisButton-min-height: 32px;
    --basisButton-padding-y: 4px;
    --basisButton-padding-x: 16px;
  }
}
@media screen and (max-width: 480px) {
  .header__link {
    --basisButton-font-size: 1.3rem;
  }
}
.header__menuButton {
  display: none;
  -webkit-flex: 0 0 auto;
          flex: 0 0 auto;
  z-index: 1;
}
@media screen and (max-width: 1050px) {
  .header__menuButton {
    display: grid;
  }
}

.page {
  background: #ebf8ff;
  padding: var(--header-height) 0 0;
}
.page:has(+ .asideContact) {
  border-radius: 0 0 64px 64px;
  overflow: hidden;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .page:has(+ .asideContact) {
    border-radius: 0 0 32px 32px;
  }
}
@media screen and (max-width: 768px) {
  .page:has(+ .asideContact) .page__body {
    padding-bottom: 100px;
  }
}
.page__header {
  padding: 64px 0 64px;
}
.page__body {
  background: #fff;
  border-radius: 64px 64px 0 0;
  padding: 64px 0 160px;
}
@media screen and (max-width: 768px) {
  .page__body {
    border-radius: 32px 32px 0 0;
  }
}

@-webkit-keyframes floatUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(var(--balloon-travel-distance));
            transform: translateY(var(--balloon-travel-distance));
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
    /* 上に移動する距離 */
  }
}

@keyframes floatUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(var(--balloon-travel-distance));
            transform: translateY(var(--balloon-travel-distance));
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
    /* 上に移動する距離 */
  }
}
@-webkit-keyframes balloon-translate {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(-5%);
            transform: translateY(-5%);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes balloon-translate {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(-5%);
            transform: translateY(-5%);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes balloon-rotate {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  25% {
    -webkit-transform: rotate(3deg);
            transform: rotate(3deg);
  }
  50% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  75% {
    -webkit-transform: rotate(3deg);
            transform: rotate(3deg);
  }
  100% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
}
@keyframes balloon-rotate {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  25% {
    -webkit-transform: rotate(3deg);
            transform: rotate(3deg);
  }
  50% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  75% {
    -webkit-transform: rotate(3deg);
            transform: rotate(3deg);
  }
  100% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
}
@-webkit-keyframes badge-line-rotate {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  60% {
    -webkit-transform: rotate(calc(360deg * var(--badge-line-rotations, 2)));
            transform: rotate(calc(360deg * var(--badge-line-rotations, 2)));
  }
  100% {
    -webkit-transform: rotate(calc(360deg * var(--badge-line-rotations, 2)));
            transform: rotate(calc(360deg * var(--badge-line-rotations, 2)));
  }
}
@keyframes badge-line-rotate {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  60% {
    -webkit-transform: rotate(calc(360deg * var(--badge-line-rotations, 2)));
            transform: rotate(calc(360deg * var(--badge-line-rotations, 2)));
  }
  100% {
    -webkit-transform: rotate(calc(360deg * var(--badge-line-rotations, 2)));
            transform: rotate(calc(360deg * var(--badge-line-rotations, 2)));
  }
}
@-webkit-keyframes balloon-floating {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: translateY(min(10px, 5%));
            transform: translateY(min(10px, 5%));
  }
}
@keyframes balloon-floating {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: translateY(min(10px, 5%));
            transform: translateY(min(10px, 5%));
  }
}
.u-c_text {
  color: #333 !important;
}
.u-c_primary {
  color: #004c92 !important;
}
.u-c_primary-light {
  color: #00a0e9 !important;
}
.u-c_primary-lighter {
  color: #60c3f1 !important;
}
.u-c_primary-pale {
  color: #dff2fc !important;
}
.u-c_secondary {
  color: #f39c00 !important;
}
.u-c_secondary-light {
  color: #fcd14e !important;
}
.u-c_accent {
  color: #4ac1f0 !important;
}
.u-c_accent-pale {
  color: #ebf8ff !important;
}
.u-c_white {
  color: #fff !important;
}
.u-c_error {
  color: #f00 !important;
}
@media screen and (max-width: 480px) {
  .u-spm-c_text {
    color: #333 !important;
  }
  .u-spm-c_primary {
    color: #004c92 !important;
  }
  .u-spm-c_primary-light {
    color: #00a0e9 !important;
  }
  .u-spm-c_primary-lighter {
    color: #60c3f1 !important;
  }
  .u-spm-c_primary-pale {
    color: #dff2fc !important;
  }
  .u-spm-c_secondary {
    color: #f39c00 !important;
  }
  .u-spm-c_secondary-light {
    color: #fcd14e !important;
  }
  .u-spm-c_accent {
    color: #4ac1f0 !important;
  }
  .u-spm-c_accent-pale {
    color: #ebf8ff !important;
  }
  .u-spm-c_white {
    color: #fff !important;
  }
  .u-spm-c_error {
    color: #f00 !important;
  }
}
@media screen and (max-width: 768px) {
  .u-sp-c_text {
    color: #333 !important;
  }
  .u-sp-c_primary {
    color: #004c92 !important;
  }
  .u-sp-c_primary-light {
    color: #00a0e9 !important;
  }
  .u-sp-c_primary-lighter {
    color: #60c3f1 !important;
  }
  .u-sp-c_primary-pale {
    color: #dff2fc !important;
  }
  .u-sp-c_secondary {
    color: #f39c00 !important;
  }
  .u-sp-c_secondary-light {
    color: #fcd14e !important;
  }
  .u-sp-c_accent {
    color: #4ac1f0 !important;
  }
  .u-sp-c_accent-pale {
    color: #ebf8ff !important;
  }
  .u-sp-c_white {
    color: #fff !important;
  }
  .u-sp-c_error {
    color: #f00 !important;
  }
}
@media screen and (min-width: 769px) {
  .u-pc-c_text {
    color: #333 !important;
  }
  .u-pc-c_primary {
    color: #004c92 !important;
  }
  .u-pc-c_primary-light {
    color: #00a0e9 !important;
  }
  .u-pc-c_primary-lighter {
    color: #60c3f1 !important;
  }
  .u-pc-c_primary-pale {
    color: #dff2fc !important;
  }
  .u-pc-c_secondary {
    color: #f39c00 !important;
  }
  .u-pc-c_secondary-light {
    color: #fcd14e !important;
  }
  .u-pc-c_accent {
    color: #4ac1f0 !important;
  }
  .u-pc-c_accent-pale {
    color: #ebf8ff !important;
  }
  .u-pc-c_white {
    color: #fff !important;
  }
  .u-pc-c_error {
    color: #f00 !important;
  }
}
@media screen and (max-width: 1050px) {
  .u-tab-c_text {
    color: #333 !important;
  }
  .u-tab-c_primary {
    color: #004c92 !important;
  }
  .u-tab-c_primary-light {
    color: #00a0e9 !important;
  }
  .u-tab-c_primary-lighter {
    color: #60c3f1 !important;
  }
  .u-tab-c_primary-pale {
    color: #dff2fc !important;
  }
  .u-tab-c_secondary {
    color: #f39c00 !important;
  }
  .u-tab-c_secondary-light {
    color: #fcd14e !important;
  }
  .u-tab-c_accent {
    color: #4ac1f0 !important;
  }
  .u-tab-c_accent-pale {
    color: #ebf8ff !important;
  }
  .u-tab-c_white {
    color: #fff !important;
  }
  .u-tab-c_error {
    color: #f00 !important;
  }
}
.u-bgc_text {
  background-color: #333 !important;
}
.u-bgc_primary {
  background-color: #004c92 !important;
}
.u-bgc_primary-light {
  background-color: #00a0e9 !important;
}
.u-bgc_primary-lighter {
  background-color: #60c3f1 !important;
}
.u-bgc_primary-pale {
  background-color: #dff2fc !important;
}
.u-bgc_secondary {
  background-color: #f39c00 !important;
}
.u-bgc_secondary-light {
  background-color: #fcd14e !important;
}
.u-bgc_accent {
  background-color: #4ac1f0 !important;
}
.u-bgc_accent-pale {
  background-color: #ebf8ff !important;
}
.u-bgc_white {
  background-color: #fff !important;
}
.u-bgc_error {
  background-color: #f00 !important;
}
@media screen and (max-width: 480px) {
  .u-spm-bgc_text {
    background-color: #333 !important;
  }
  .u-spm-bgc_primary {
    background-color: #004c92 !important;
  }
  .u-spm-bgc_primary-light {
    background-color: #00a0e9 !important;
  }
  .u-spm-bgc_primary-lighter {
    background-color: #60c3f1 !important;
  }
  .u-spm-bgc_primary-pale {
    background-color: #dff2fc !important;
  }
  .u-spm-bgc_secondary {
    background-color: #f39c00 !important;
  }
  .u-spm-bgc_secondary-light {
    background-color: #fcd14e !important;
  }
  .u-spm-bgc_accent {
    background-color: #4ac1f0 !important;
  }
  .u-spm-bgc_accent-pale {
    background-color: #ebf8ff !important;
  }
  .u-spm-bgc_white {
    background-color: #fff !important;
  }
  .u-spm-bgc_error {
    background-color: #f00 !important;
  }
}
@media screen and (max-width: 768px) {
  .u-sp-bgc_text {
    background-color: #333 !important;
  }
  .u-sp-bgc_primary {
    background-color: #004c92 !important;
  }
  .u-sp-bgc_primary-light {
    background-color: #00a0e9 !important;
  }
  .u-sp-bgc_primary-lighter {
    background-color: #60c3f1 !important;
  }
  .u-sp-bgc_primary-pale {
    background-color: #dff2fc !important;
  }
  .u-sp-bgc_secondary {
    background-color: #f39c00 !important;
  }
  .u-sp-bgc_secondary-light {
    background-color: #fcd14e !important;
  }
  .u-sp-bgc_accent {
    background-color: #4ac1f0 !important;
  }
  .u-sp-bgc_accent-pale {
    background-color: #ebf8ff !important;
  }
  .u-sp-bgc_white {
    background-color: #fff !important;
  }
  .u-sp-bgc_error {
    background-color: #f00 !important;
  }
}
@media screen and (min-width: 769px) {
  .u-pc-bgc_text {
    background-color: #333 !important;
  }
  .u-pc-bgc_primary {
    background-color: #004c92 !important;
  }
  .u-pc-bgc_primary-light {
    background-color: #00a0e9 !important;
  }
  .u-pc-bgc_primary-lighter {
    background-color: #60c3f1 !important;
  }
  .u-pc-bgc_primary-pale {
    background-color: #dff2fc !important;
  }
  .u-pc-bgc_secondary {
    background-color: #f39c00 !important;
  }
  .u-pc-bgc_secondary-light {
    background-color: #fcd14e !important;
  }
  .u-pc-bgc_accent {
    background-color: #4ac1f0 !important;
  }
  .u-pc-bgc_accent-pale {
    background-color: #ebf8ff !important;
  }
  .u-pc-bgc_white {
    background-color: #fff !important;
  }
  .u-pc-bgc_error {
    background-color: #f00 !important;
  }
}
@media screen and (max-width: 1050px) {
  .u-tab-bgc_text {
    background-color: #333 !important;
  }
  .u-tab-bgc_primary {
    background-color: #004c92 !important;
  }
  .u-tab-bgc_primary-light {
    background-color: #00a0e9 !important;
  }
  .u-tab-bgc_primary-lighter {
    background-color: #60c3f1 !important;
  }
  .u-tab-bgc_primary-pale {
    background-color: #dff2fc !important;
  }
  .u-tab-bgc_secondary {
    background-color: #f39c00 !important;
  }
  .u-tab-bgc_secondary-light {
    background-color: #fcd14e !important;
  }
  .u-tab-bgc_accent {
    background-color: #4ac1f0 !important;
  }
  .u-tab-bgc_accent-pale {
    background-color: #ebf8ff !important;
  }
  .u-tab-bgc_white {
    background-color: #fff !important;
  }
  .u-tab-bgc_error {
    background-color: #f00 !important;
  }
}
.u-d_n {
  display: none !important;
}
.u-d_b {
  display: block !important;
}
.u-d_i {
  display: inline !important;
}
.u-d_ib {
  display: inline-block !important;
}
.u-d_f {
  display: -webkit-flex !important;
  display: flex !important;
}
.u-d_if {
  display: -webkit-inline-flex !important;
  display: inline-flex !important;
}
.u-d_g {
  display: grid !important;
}
.u-d_c {
  display: contents !important;
}
@media screen and (max-width: 480px) {
  .u-spm-d_n {
    display: none !important;
  }
  .u-spm-d_b {
    display: block !important;
  }
  .u-spm-d_i {
    display: inline !important;
  }
  .u-spm-d_ib {
    display: inline-block !important;
  }
  .u-spm-d_f {
    display: -webkit-flex !important;
    display: flex !important;
  }
  .u-spm-d_if {
    display: -webkit-inline-flex !important;
    display: inline-flex !important;
  }
  .u-spm-d_g {
    display: grid !important;
  }
  .u-spm-d_c {
    display: contents !important;
  }
}
@media screen and (max-width: 768px) {
  .u-sp-d_n {
    display: none !important;
  }
  .u-sp-d_b {
    display: block !important;
  }
  .u-sp-d_i {
    display: inline !important;
  }
  .u-sp-d_ib {
    display: inline-block !important;
  }
  .u-sp-d_f {
    display: -webkit-flex !important;
    display: flex !important;
  }
  .u-sp-d_if {
    display: -webkit-inline-flex !important;
    display: inline-flex !important;
  }
  .u-sp-d_g {
    display: grid !important;
  }
  .u-sp-d_c {
    display: contents !important;
  }
}
@media screen and (min-width: 769px) {
  .u-pc-d_n {
    display: none !important;
  }
  .u-pc-d_b {
    display: block !important;
  }
  .u-pc-d_i {
    display: inline !important;
  }
  .u-pc-d_ib {
    display: inline-block !important;
  }
  .u-pc-d_f {
    display: -webkit-flex !important;
    display: flex !important;
  }
  .u-pc-d_if {
    display: -webkit-inline-flex !important;
    display: inline-flex !important;
  }
  .u-pc-d_g {
    display: grid !important;
  }
  .u-pc-d_c {
    display: contents !important;
  }
}
@media screen and (max-width: 1050px) {
  .u-tab-d_n {
    display: none !important;
  }
  .u-tab-d_b {
    display: block !important;
  }
  .u-tab-d_i {
    display: inline !important;
  }
  .u-tab-d_ib {
    display: inline-block !important;
  }
  .u-tab-d_f {
    display: -webkit-flex !important;
    display: flex !important;
  }
  .u-tab-d_if {
    display: -webkit-inline-flex !important;
    display: inline-flex !important;
  }
  .u-tab-d_g {
    display: grid !important;
  }
  .u-tab-d_c {
    display: contents !important;
  }
}
.u-fz_xxxSm {
  font-size: 60% !important;
}
.u-fz_xxSm {
  font-size: 70% !important;
}
.u-fz_xSm {
  font-size: 80% !important;
}
.u-fz_sm {
  font-size: 90% !important;
}
.u-fz_md {
  font-size: 100% !important;
}
.u-fz_lg {
  font-size: 110% !important;
}
.u-fz_xLg {
  font-size: 120% !important;
}
.u-fz_xxLg {
  font-size: 130% !important;
}
.u-fz_xxxLg {
  font-size: 140% !important;
}
@media screen and (max-width: 480px) {
  .u-spm-fz_xxxSm {
    font-size: 60% !important;
  }
  .u-spm-fz_xxSm {
    font-size: 70% !important;
  }
  .u-spm-fz_xSm {
    font-size: 80% !important;
  }
  .u-spm-fz_sm {
    font-size: 90% !important;
  }
  .u-spm-fz_md {
    font-size: 100% !important;
  }
  .u-spm-fz_lg {
    font-size: 110% !important;
  }
  .u-spm-fz_xLg {
    font-size: 120% !important;
  }
  .u-spm-fz_xxLg {
    font-size: 130% !important;
  }
  .u-spm-fz_xxxLg {
    font-size: 140% !important;
  }
}
@media screen and (max-width: 768px) {
  .u-sp-fz_xxxSm {
    font-size: 60% !important;
  }
  .u-sp-fz_xxSm {
    font-size: 70% !important;
  }
  .u-sp-fz_xSm {
    font-size: 80% !important;
  }
  .u-sp-fz_sm {
    font-size: 90% !important;
  }
  .u-sp-fz_md {
    font-size: 100% !important;
  }
  .u-sp-fz_lg {
    font-size: 110% !important;
  }
  .u-sp-fz_xLg {
    font-size: 120% !important;
  }
  .u-sp-fz_xxLg {
    font-size: 130% !important;
  }
  .u-sp-fz_xxxLg {
    font-size: 140% !important;
  }
}
@media screen and (min-width: 769px) {
  .u-pc-fz_xxxSm {
    font-size: 60% !important;
  }
  .u-pc-fz_xxSm {
    font-size: 70% !important;
  }
  .u-pc-fz_xSm {
    font-size: 80% !important;
  }
  .u-pc-fz_sm {
    font-size: 90% !important;
  }
  .u-pc-fz_md {
    font-size: 100% !important;
  }
  .u-pc-fz_lg {
    font-size: 110% !important;
  }
  .u-pc-fz_xLg {
    font-size: 120% !important;
  }
  .u-pc-fz_xxLg {
    font-size: 130% !important;
  }
  .u-pc-fz_xxxLg {
    font-size: 140% !important;
  }
}
@media screen and (max-width: 1050px) {
  .u-tab-fz_xxxSm {
    font-size: 60% !important;
  }
  .u-tab-fz_xxSm {
    font-size: 70% !important;
  }
  .u-tab-fz_xSm {
    font-size: 80% !important;
  }
  .u-tab-fz_sm {
    font-size: 90% !important;
  }
  .u-tab-fz_md {
    font-size: 100% !important;
  }
  .u-tab-fz_lg {
    font-size: 110% !important;
  }
  .u-tab-fz_xLg {
    font-size: 120% !important;
  }
  .u-tab-fz_xxLg {
    font-size: 130% !important;
  }
  .u-tab-fz_xxxLg {
    font-size: 140% !important;
  }
}
.u-ta_l {
  text-align: left !important;
}
.u-ta_r {
  text-align: right !important;
}
.u-ta_c {
  text-align: center !important;
}
@media screen and (max-width: 480px) {
  .u-spm-ta_l {
    text-align: left !important;
  }
  .u-spm-ta_r {
    text-align: right !important;
  }
  .u-spm-ta_c {
    text-align: center !important;
  }
}
@media screen and (max-width: 768px) {
  .u-sp-ta_l {
    text-align: left !important;
  }
  .u-sp-ta_r {
    text-align: right !important;
  }
  .u-sp-ta_c {
    text-align: center !important;
  }
}
@media screen and (min-width: 769px) {
  .u-pc-ta_l {
    text-align: left !important;
  }
  .u-pc-ta_r {
    text-align: right !important;
  }
  .u-pc-ta_c {
    text-align: center !important;
  }
}
@media screen and (max-width: 1050px) {
  .u-tab-ta_l {
    text-align: left !important;
  }
  .u-tab-ta_r {
    text-align: right !important;
  }
  .u-tab-ta_c {
    text-align: center !important;
  }
}
.u-td_u {
  text-decoration: underline !important;
}
.u-td_n {
  text-decoration: none !important;
}
@media screen and (max-width: 480px) {
  .u-spm-td_u {
    text-decoration: underline !important;
  }
  .u-spm-td_n {
    text-decoration: none !important;
  }
}
@media screen and (max-width: 768px) {
  .u-sp-td_u {
    text-decoration: underline !important;
  }
  .u-sp-td_n {
    text-decoration: none !important;
  }
}
@media screen and (min-width: 769px) {
  .u-pc-td_u {
    text-decoration: underline !important;
  }
  .u-pc-td_n {
    text-decoration: none !important;
  }
}
@media screen and (max-width: 1050px) {
  .u-tab-td_u {
    text-decoration: underline !important;
  }
  .u-tab-td_n {
    text-decoration: none !important;
  }
}
.u-fx_00 {
  -webkit-flex: 0 0 auto !important;
          flex: 0 0 auto !important;
}
.u-fx_10 {
  -webkit-flex: 1 0 auto !important;
          flex: 1 0 auto !important;
}
.u-fx_01 {
  -webkit-flex: 0 1 auto !important;
          flex: 0 1 auto !important;
}
.u-fx_11 {
  -webkit-flex: 1 1 auto !important;
          flex: 1 1 auto !important;
}
@media screen and (max-width: 480px) {
  .u-spm-fx_00 {
    -webkit-flex: 0 0 auto !important;
            flex: 0 0 auto !important;
  }
  .u-spm-fx_10 {
    -webkit-flex: 1 0 auto !important;
            flex: 1 0 auto !important;
  }
  .u-spm-fx_01 {
    -webkit-flex: 0 1 auto !important;
            flex: 0 1 auto !important;
  }
  .u-spm-fx_11 {
    -webkit-flex: 1 1 auto !important;
            flex: 1 1 auto !important;
  }
}
@media screen and (max-width: 768px) {
  .u-sp-fx_00 {
    -webkit-flex: 0 0 auto !important;
            flex: 0 0 auto !important;
  }
  .u-sp-fx_10 {
    -webkit-flex: 1 0 auto !important;
            flex: 1 0 auto !important;
  }
  .u-sp-fx_01 {
    -webkit-flex: 0 1 auto !important;
            flex: 0 1 auto !important;
  }
  .u-sp-fx_11 {
    -webkit-flex: 1 1 auto !important;
            flex: 1 1 auto !important;
  }
}
@media screen and (min-width: 769px) {
  .u-pc-fx_00 {
    -webkit-flex: 0 0 auto !important;
            flex: 0 0 auto !important;
  }
  .u-pc-fx_10 {
    -webkit-flex: 1 0 auto !important;
            flex: 1 0 auto !important;
  }
  .u-pc-fx_01 {
    -webkit-flex: 0 1 auto !important;
            flex: 0 1 auto !important;
  }
  .u-pc-fx_11 {
    -webkit-flex: 1 1 auto !important;
            flex: 1 1 auto !important;
  }
}
@media screen and (max-width: 1050px) {
  .u-tab-fx_00 {
    -webkit-flex: 0 0 auto !important;
            flex: 0 0 auto !important;
  }
  .u-tab-fx_10 {
    -webkit-flex: 1 0 auto !important;
            flex: 1 0 auto !important;
  }
  .u-tab-fx_01 {
    -webkit-flex: 0 1 auto !important;
            flex: 0 1 auto !important;
  }
  .u-tab-fx_11 {
    -webkit-flex: 1 1 auto !important;
            flex: 1 1 auto !important;
  }
}
.u-mt_4 {
  margin-top: 4px !important;
}
.u-mt_8 {
  margin-top: 8px !important;
}
.u-mt_12 {
  margin-top: 12px !important;
}
.u-mt_16 {
  margin-top: 16px !important;
}
.u-mt_20 {
  margin-top: 20px !important;
}
.u-mt_24 {
  margin-top: 24px !important;
}
.u-mt_28 {
  margin-top: 28px !important;
}
.u-mt_32 {
  margin-top: 32px !important;
}
@media screen and (max-width: 480px) {
  .u-spm-mt_4 {
    margin-top: 4px !important;
  }
  .u-spm-mt_8 {
    margin-top: 8px !important;
  }
  .u-spm-mt_12 {
    margin-top: 12px !important;
  }
  .u-spm-mt_16 {
    margin-top: 16px !important;
  }
  .u-spm-mt_20 {
    margin-top: 20px !important;
  }
  .u-spm-mt_24 {
    margin-top: 24px !important;
  }
  .u-spm-mt_28 {
    margin-top: 28px !important;
  }
  .u-spm-mt_32 {
    margin-top: 32px !important;
  }
}
@media screen and (max-width: 768px) {
  .u-sp-mt_4 {
    margin-top: 4px !important;
  }
  .u-sp-mt_8 {
    margin-top: 8px !important;
  }
  .u-sp-mt_12 {
    margin-top: 12px !important;
  }
  .u-sp-mt_16 {
    margin-top: 16px !important;
  }
  .u-sp-mt_20 {
    margin-top: 20px !important;
  }
  .u-sp-mt_24 {
    margin-top: 24px !important;
  }
  .u-sp-mt_28 {
    margin-top: 28px !important;
  }
  .u-sp-mt_32 {
    margin-top: 32px !important;
  }
}
@media screen and (min-width: 769px) {
  .u-pc-mt_4 {
    margin-top: 4px !important;
  }
  .u-pc-mt_8 {
    margin-top: 8px !important;
  }
  .u-pc-mt_12 {
    margin-top: 12px !important;
  }
  .u-pc-mt_16 {
    margin-top: 16px !important;
  }
  .u-pc-mt_20 {
    margin-top: 20px !important;
  }
  .u-pc-mt_24 {
    margin-top: 24px !important;
  }
  .u-pc-mt_28 {
    margin-top: 28px !important;
  }
  .u-pc-mt_32 {
    margin-top: 32px !important;
  }
}
@media screen and (max-width: 1050px) {
  .u-tab-mt_4 {
    margin-top: 4px !important;
  }
  .u-tab-mt_8 {
    margin-top: 8px !important;
  }
  .u-tab-mt_12 {
    margin-top: 12px !important;
  }
  .u-tab-mt_16 {
    margin-top: 16px !important;
  }
  .u-tab-mt_20 {
    margin-top: 20px !important;
  }
  .u-tab-mt_24 {
    margin-top: 24px !important;
  }
  .u-tab-mt_28 {
    margin-top: 28px !important;
  }
  .u-tab-mt_32 {
    margin-top: 32px !important;
  }
}
.u-mb_4 {
  margin-bottom: 4px !important;
}
.u-mb_8 {
  margin-bottom: 8px !important;
}
.u-mb_12 {
  margin-bottom: 12px !important;
}
.u-mb_16 {
  margin-bottom: 16px !important;
}
.u-mb_20 {
  margin-bottom: 20px !important;
}
.u-mb_24 {
  margin-bottom: 24px !important;
}
.u-mb_28 {
  margin-bottom: 28px !important;
}
.u-mb_32 {
  margin-bottom: 32px !important;
}
@media screen and (max-width: 480px) {
  .u-spm-mb_4 {
    margin-bottom: 4px !important;
  }
  .u-spm-mb_8 {
    margin-bottom: 8px !important;
  }
  .u-spm-mb_12 {
    margin-bottom: 12px !important;
  }
  .u-spm-mb_16 {
    margin-bottom: 16px !important;
  }
  .u-spm-mb_20 {
    margin-bottom: 20px !important;
  }
  .u-spm-mb_24 {
    margin-bottom: 24px !important;
  }
  .u-spm-mb_28 {
    margin-bottom: 28px !important;
  }
  .u-spm-mb_32 {
    margin-bottom: 32px !important;
  }
}
@media screen and (max-width: 768px) {
  .u-sp-mb_4 {
    margin-bottom: 4px !important;
  }
  .u-sp-mb_8 {
    margin-bottom: 8px !important;
  }
  .u-sp-mb_12 {
    margin-bottom: 12px !important;
  }
  .u-sp-mb_16 {
    margin-bottom: 16px !important;
  }
  .u-sp-mb_20 {
    margin-bottom: 20px !important;
  }
  .u-sp-mb_24 {
    margin-bottom: 24px !important;
  }
  .u-sp-mb_28 {
    margin-bottom: 28px !important;
  }
  .u-sp-mb_32 {
    margin-bottom: 32px !important;
  }
}
@media screen and (min-width: 769px) {
  .u-pc-mb_4 {
    margin-bottom: 4px !important;
  }
  .u-pc-mb_8 {
    margin-bottom: 8px !important;
  }
  .u-pc-mb_12 {
    margin-bottom: 12px !important;
  }
  .u-pc-mb_16 {
    margin-bottom: 16px !important;
  }
  .u-pc-mb_20 {
    margin-bottom: 20px !important;
  }
  .u-pc-mb_24 {
    margin-bottom: 24px !important;
  }
  .u-pc-mb_28 {
    margin-bottom: 28px !important;
  }
  .u-pc-mb_32 {
    margin-bottom: 32px !important;
  }
}
@media screen and (max-width: 1050px) {
  .u-tab-mb_4 {
    margin-bottom: 4px !important;
  }
  .u-tab-mb_8 {
    margin-bottom: 8px !important;
  }
  .u-tab-mb_12 {
    margin-bottom: 12px !important;
  }
  .u-tab-mb_16 {
    margin-bottom: 16px !important;
  }
  .u-tab-mb_20 {
    margin-bottom: 20px !important;
  }
  .u-tab-mb_24 {
    margin-bottom: 24px !important;
  }
  .u-tab-mb_28 {
    margin-bottom: 28px !important;
  }
  .u-tab-mb_32 {
    margin-bottom: 32px !important;
  }
}
.u-ml_4 {
  margin-left: 4px !important;
}
.u-ml_8 {
  margin-left: 8px !important;
}
.u-ml_12 {
  margin-left: 12px !important;
}
.u-ml_16 {
  margin-left: 16px !important;
}
.u-ml_20 {
  margin-left: 20px !important;
}
.u-ml_24 {
  margin-left: 24px !important;
}
.u-ml_28 {
  margin-left: 28px !important;
}
.u-ml_32 {
  margin-left: 32px !important;
}
@media screen and (max-width: 480px) {
  .u-spm-ml_4 {
    margin-left: 4px !important;
  }
  .u-spm-ml_8 {
    margin-left: 8px !important;
  }
  .u-spm-ml_12 {
    margin-left: 12px !important;
  }
  .u-spm-ml_16 {
    margin-left: 16px !important;
  }
  .u-spm-ml_20 {
    margin-left: 20px !important;
  }
  .u-spm-ml_24 {
    margin-left: 24px !important;
  }
  .u-spm-ml_28 {
    margin-left: 28px !important;
  }
  .u-spm-ml_32 {
    margin-left: 32px !important;
  }
}
@media screen and (max-width: 768px) {
  .u-sp-ml_4 {
    margin-left: 4px !important;
  }
  .u-sp-ml_8 {
    margin-left: 8px !important;
  }
  .u-sp-ml_12 {
    margin-left: 12px !important;
  }
  .u-sp-ml_16 {
    margin-left: 16px !important;
  }
  .u-sp-ml_20 {
    margin-left: 20px !important;
  }
  .u-sp-ml_24 {
    margin-left: 24px !important;
  }
  .u-sp-ml_28 {
    margin-left: 28px !important;
  }
  .u-sp-ml_32 {
    margin-left: 32px !important;
  }
}
@media screen and (min-width: 769px) {
  .u-pc-ml_4 {
    margin-left: 4px !important;
  }
  .u-pc-ml_8 {
    margin-left: 8px !important;
  }
  .u-pc-ml_12 {
    margin-left: 12px !important;
  }
  .u-pc-ml_16 {
    margin-left: 16px !important;
  }
  .u-pc-ml_20 {
    margin-left: 20px !important;
  }
  .u-pc-ml_24 {
    margin-left: 24px !important;
  }
  .u-pc-ml_28 {
    margin-left: 28px !important;
  }
  .u-pc-ml_32 {
    margin-left: 32px !important;
  }
}
@media screen and (max-width: 1050px) {
  .u-tab-ml_4 {
    margin-left: 4px !important;
  }
  .u-tab-ml_8 {
    margin-left: 8px !important;
  }
  .u-tab-ml_12 {
    margin-left: 12px !important;
  }
  .u-tab-ml_16 {
    margin-left: 16px !important;
  }
  .u-tab-ml_20 {
    margin-left: 20px !important;
  }
  .u-tab-ml_24 {
    margin-left: 24px !important;
  }
  .u-tab-ml_28 {
    margin-left: 28px !important;
  }
  .u-tab-ml_32 {
    margin-left: 32px !important;
  }
}
.u-mr_4 {
  margin-right: 4px !important;
}
.u-mr_8 {
  margin-right: 8px !important;
}
.u-mr_12 {
  margin-right: 12px !important;
}
.u-mr_16 {
  margin-right: 16px !important;
}
.u-mr_20 {
  margin-right: 20px !important;
}
.u-mr_24 {
  margin-right: 24px !important;
}
.u-mr_28 {
  margin-right: 28px !important;
}
.u-mr_32 {
  margin-right: 32px !important;
}
@media screen and (max-width: 480px) {
  .u-spm-mr_4 {
    margin-right: 4px !important;
  }
  .u-spm-mr_8 {
    margin-right: 8px !important;
  }
  .u-spm-mr_12 {
    margin-right: 12px !important;
  }
  .u-spm-mr_16 {
    margin-right: 16px !important;
  }
  .u-spm-mr_20 {
    margin-right: 20px !important;
  }
  .u-spm-mr_24 {
    margin-right: 24px !important;
  }
  .u-spm-mr_28 {
    margin-right: 28px !important;
  }
  .u-spm-mr_32 {
    margin-right: 32px !important;
  }
}
@media screen and (max-width: 768px) {
  .u-sp-mr_4 {
    margin-right: 4px !important;
  }
  .u-sp-mr_8 {
    margin-right: 8px !important;
  }
  .u-sp-mr_12 {
    margin-right: 12px !important;
  }
  .u-sp-mr_16 {
    margin-right: 16px !important;
  }
  .u-sp-mr_20 {
    margin-right: 20px !important;
  }
  .u-sp-mr_24 {
    margin-right: 24px !important;
  }
  .u-sp-mr_28 {
    margin-right: 28px !important;
  }
  .u-sp-mr_32 {
    margin-right: 32px !important;
  }
}
@media screen and (min-width: 769px) {
  .u-pc-mr_4 {
    margin-right: 4px !important;
  }
  .u-pc-mr_8 {
    margin-right: 8px !important;
  }
  .u-pc-mr_12 {
    margin-right: 12px !important;
  }
  .u-pc-mr_16 {
    margin-right: 16px !important;
  }
  .u-pc-mr_20 {
    margin-right: 20px !important;
  }
  .u-pc-mr_24 {
    margin-right: 24px !important;
  }
  .u-pc-mr_28 {
    margin-right: 28px !important;
  }
  .u-pc-mr_32 {
    margin-right: 32px !important;
  }
}
@media screen and (max-width: 1050px) {
  .u-tab-mr_4 {
    margin-right: 4px !important;
  }
  .u-tab-mr_8 {
    margin-right: 8px !important;
  }
  .u-tab-mr_12 {
    margin-right: 12px !important;
  }
  .u-tab-mr_16 {
    margin-right: 16px !important;
  }
  .u-tab-mr_20 {
    margin-right: 20px !important;
  }
  .u-tab-mr_24 {
    margin-right: 24px !important;
  }
  .u-tab-mr_28 {
    margin-right: 28px !important;
  }
  .u-tab-mr_32 {
    margin-right: 32px !important;
  }
}
.u-pt_4 {
  padding-top: 4px !important;
}
.u-pt_8 {
  padding-top: 8px !important;
}
.u-pt_12 {
  padding-top: 12px !important;
}
.u-pt_16 {
  padding-top: 16px !important;
}
.u-pt_20 {
  padding-top: 20px !important;
}
.u-pt_24 {
  padding-top: 24px !important;
}
.u-pt_28 {
  padding-top: 28px !important;
}
.u-pt_32 {
  padding-top: 32px !important;
}
@media screen and (max-width: 480px) {
  .u-spm-pt_4 {
    padding-top: 4px !important;
  }
  .u-spm-pt_8 {
    padding-top: 8px !important;
  }
  .u-spm-pt_12 {
    padding-top: 12px !important;
  }
  .u-spm-pt_16 {
    padding-top: 16px !important;
  }
  .u-spm-pt_20 {
    padding-top: 20px !important;
  }
  .u-spm-pt_24 {
    padding-top: 24px !important;
  }
  .u-spm-pt_28 {
    padding-top: 28px !important;
  }
  .u-spm-pt_32 {
    padding-top: 32px !important;
  }
}
@media screen and (max-width: 768px) {
  .u-sp-pt_4 {
    padding-top: 4px !important;
  }
  .u-sp-pt_8 {
    padding-top: 8px !important;
  }
  .u-sp-pt_12 {
    padding-top: 12px !important;
  }
  .u-sp-pt_16 {
    padding-top: 16px !important;
  }
  .u-sp-pt_20 {
    padding-top: 20px !important;
  }
  .u-sp-pt_24 {
    padding-top: 24px !important;
  }
  .u-sp-pt_28 {
    padding-top: 28px !important;
  }
  .u-sp-pt_32 {
    padding-top: 32px !important;
  }
}
@media screen and (min-width: 769px) {
  .u-pc-pt_4 {
    padding-top: 4px !important;
  }
  .u-pc-pt_8 {
    padding-top: 8px !important;
  }
  .u-pc-pt_12 {
    padding-top: 12px !important;
  }
  .u-pc-pt_16 {
    padding-top: 16px !important;
  }
  .u-pc-pt_20 {
    padding-top: 20px !important;
  }
  .u-pc-pt_24 {
    padding-top: 24px !important;
  }
  .u-pc-pt_28 {
    padding-top: 28px !important;
  }
  .u-pc-pt_32 {
    padding-top: 32px !important;
  }
}
@media screen and (max-width: 1050px) {
  .u-tab-pt_4 {
    padding-top: 4px !important;
  }
  .u-tab-pt_8 {
    padding-top: 8px !important;
  }
  .u-tab-pt_12 {
    padding-top: 12px !important;
  }
  .u-tab-pt_16 {
    padding-top: 16px !important;
  }
  .u-tab-pt_20 {
    padding-top: 20px !important;
  }
  .u-tab-pt_24 {
    padding-top: 24px !important;
  }
  .u-tab-pt_28 {
    padding-top: 28px !important;
  }
  .u-tab-pt_32 {
    padding-top: 32px !important;
  }
}
.u-pb_4 {
  padding-bottom: 4px !important;
}
.u-pb_8 {
  padding-bottom: 8px !important;
}
.u-pb_12 {
  padding-bottom: 12px !important;
}
.u-pb_16 {
  padding-bottom: 16px !important;
}
.u-pb_20 {
  padding-bottom: 20px !important;
}
.u-pb_24 {
  padding-bottom: 24px !important;
}
.u-pb_28 {
  padding-bottom: 28px !important;
}
.u-pb_32 {
  padding-bottom: 32px !important;
}
@media screen and (max-width: 480px) {
  .u-spm-pb_4 {
    padding-bottom: 4px !important;
  }
  .u-spm-pb_8 {
    padding-bottom: 8px !important;
  }
  .u-spm-pb_12 {
    padding-bottom: 12px !important;
  }
  .u-spm-pb_16 {
    padding-bottom: 16px !important;
  }
  .u-spm-pb_20 {
    padding-bottom: 20px !important;
  }
  .u-spm-pb_24 {
    padding-bottom: 24px !important;
  }
  .u-spm-pb_28 {
    padding-bottom: 28px !important;
  }
  .u-spm-pb_32 {
    padding-bottom: 32px !important;
  }
}
@media screen and (max-width: 768px) {
  .u-sp-pb_4 {
    padding-bottom: 4px !important;
  }
  .u-sp-pb_8 {
    padding-bottom: 8px !important;
  }
  .u-sp-pb_12 {
    padding-bottom: 12px !important;
  }
  .u-sp-pb_16 {
    padding-bottom: 16px !important;
  }
  .u-sp-pb_20 {
    padding-bottom: 20px !important;
  }
  .u-sp-pb_24 {
    padding-bottom: 24px !important;
  }
  .u-sp-pb_28 {
    padding-bottom: 28px !important;
  }
  .u-sp-pb_32 {
    padding-bottom: 32px !important;
  }
}
@media screen and (min-width: 769px) {
  .u-pc-pb_4 {
    padding-bottom: 4px !important;
  }
  .u-pc-pb_8 {
    padding-bottom: 8px !important;
  }
  .u-pc-pb_12 {
    padding-bottom: 12px !important;
  }
  .u-pc-pb_16 {
    padding-bottom: 16px !important;
  }
  .u-pc-pb_20 {
    padding-bottom: 20px !important;
  }
  .u-pc-pb_24 {
    padding-bottom: 24px !important;
  }
  .u-pc-pb_28 {
    padding-bottom: 28px !important;
  }
  .u-pc-pb_32 {
    padding-bottom: 32px !important;
  }
}
@media screen and (max-width: 1050px) {
  .u-tab-pb_4 {
    padding-bottom: 4px !important;
  }
  .u-tab-pb_8 {
    padding-bottom: 8px !important;
  }
  .u-tab-pb_12 {
    padding-bottom: 12px !important;
  }
  .u-tab-pb_16 {
    padding-bottom: 16px !important;
  }
  .u-tab-pb_20 {
    padding-bottom: 20px !important;
  }
  .u-tab-pb_24 {
    padding-bottom: 24px !important;
  }
  .u-tab-pb_28 {
    padding-bottom: 28px !important;
  }
  .u-tab-pb_32 {
    padding-bottom: 32px !important;
  }
}
.u-pl_4 {
  padding-left: 4px !important;
}
.u-pl_8 {
  padding-left: 8px !important;
}
.u-pl_12 {
  padding-left: 12px !important;
}
.u-pl_16 {
  padding-left: 16px !important;
}
.u-pl_20 {
  padding-left: 20px !important;
}
.u-pl_24 {
  padding-left: 24px !important;
}
.u-pl_28 {
  padding-left: 28px !important;
}
.u-pl_32 {
  padding-left: 32px !important;
}
@media screen and (max-width: 480px) {
  .u-spm-pl_4 {
    padding-left: 4px !important;
  }
  .u-spm-pl_8 {
    padding-left: 8px !important;
  }
  .u-spm-pl_12 {
    padding-left: 12px !important;
  }
  .u-spm-pl_16 {
    padding-left: 16px !important;
  }
  .u-spm-pl_20 {
    padding-left: 20px !important;
  }
  .u-spm-pl_24 {
    padding-left: 24px !important;
  }
  .u-spm-pl_28 {
    padding-left: 28px !important;
  }
  .u-spm-pl_32 {
    padding-left: 32px !important;
  }
}
@media screen and (max-width: 768px) {
  .u-sp-pl_4 {
    padding-left: 4px !important;
  }
  .u-sp-pl_8 {
    padding-left: 8px !important;
  }
  .u-sp-pl_12 {
    padding-left: 12px !important;
  }
  .u-sp-pl_16 {
    padding-left: 16px !important;
  }
  .u-sp-pl_20 {
    padding-left: 20px !important;
  }
  .u-sp-pl_24 {
    padding-left: 24px !important;
  }
  .u-sp-pl_28 {
    padding-left: 28px !important;
  }
  .u-sp-pl_32 {
    padding-left: 32px !important;
  }
}
@media screen and (min-width: 769px) {
  .u-pc-pl_4 {
    padding-left: 4px !important;
  }
  .u-pc-pl_8 {
    padding-left: 8px !important;
  }
  .u-pc-pl_12 {
    padding-left: 12px !important;
  }
  .u-pc-pl_16 {
    padding-left: 16px !important;
  }
  .u-pc-pl_20 {
    padding-left: 20px !important;
  }
  .u-pc-pl_24 {
    padding-left: 24px !important;
  }
  .u-pc-pl_28 {
    padding-left: 28px !important;
  }
  .u-pc-pl_32 {
    padding-left: 32px !important;
  }
}
@media screen and (max-width: 1050px) {
  .u-tab-pl_4 {
    padding-left: 4px !important;
  }
  .u-tab-pl_8 {
    padding-left: 8px !important;
  }
  .u-tab-pl_12 {
    padding-left: 12px !important;
  }
  .u-tab-pl_16 {
    padding-left: 16px !important;
  }
  .u-tab-pl_20 {
    padding-left: 20px !important;
  }
  .u-tab-pl_24 {
    padding-left: 24px !important;
  }
  .u-tab-pl_28 {
    padding-left: 28px !important;
  }
  .u-tab-pl_32 {
    padding-left: 32px !important;
  }
}
.u-pr_4 {
  padding-right: 4px !important;
}
.u-pr_8 {
  padding-right: 8px !important;
}
.u-pr_12 {
  padding-right: 12px !important;
}
.u-pr_16 {
  padding-right: 16px !important;
}
.u-pr_20 {
  padding-right: 20px !important;
}
.u-pr_24 {
  padding-right: 24px !important;
}
.u-pr_28 {
  padding-right: 28px !important;
}
.u-pr_32 {
  padding-right: 32px !important;
}
@media screen and (max-width: 480px) {
  .u-spm-pr_4 {
    padding-right: 4px !important;
  }
  .u-spm-pr_8 {
    padding-right: 8px !important;
  }
  .u-spm-pr_12 {
    padding-right: 12px !important;
  }
  .u-spm-pr_16 {
    padding-right: 16px !important;
  }
  .u-spm-pr_20 {
    padding-right: 20px !important;
  }
  .u-spm-pr_24 {
    padding-right: 24px !important;
  }
  .u-spm-pr_28 {
    padding-right: 28px !important;
  }
  .u-spm-pr_32 {
    padding-right: 32px !important;
  }
}
@media screen and (max-width: 768px) {
  .u-sp-pr_4 {
    padding-right: 4px !important;
  }
  .u-sp-pr_8 {
    padding-right: 8px !important;
  }
  .u-sp-pr_12 {
    padding-right: 12px !important;
  }
  .u-sp-pr_16 {
    padding-right: 16px !important;
  }
  .u-sp-pr_20 {
    padding-right: 20px !important;
  }
  .u-sp-pr_24 {
    padding-right: 24px !important;
  }
  .u-sp-pr_28 {
    padding-right: 28px !important;
  }
  .u-sp-pr_32 {
    padding-right: 32px !important;
  }
}
@media screen and (min-width: 769px) {
  .u-pc-pr_4 {
    padding-right: 4px !important;
  }
  .u-pc-pr_8 {
    padding-right: 8px !important;
  }
  .u-pc-pr_12 {
    padding-right: 12px !important;
  }
  .u-pc-pr_16 {
    padding-right: 16px !important;
  }
  .u-pc-pr_20 {
    padding-right: 20px !important;
  }
  .u-pc-pr_24 {
    padding-right: 24px !important;
  }
  .u-pc-pr_28 {
    padding-right: 28px !important;
  }
  .u-pc-pr_32 {
    padding-right: 32px !important;
  }
}
@media screen and (max-width: 1050px) {
  .u-tab-pr_4 {
    padding-right: 4px !important;
  }
  .u-tab-pr_8 {
    padding-right: 8px !important;
  }
  .u-tab-pr_12 {
    padding-right: 12px !important;
  }
  .u-tab-pr_16 {
    padding-right: 16px !important;
  }
  .u-tab-pr_20 {
    padding-right: 20px !important;
  }
  .u-tab-pr_24 {
    padding-right: 24px !important;
  }
  .u-tab-pr_28 {
    padding-right: 28px !important;
  }
  .u-tab-pr_32 {
    padding-right: 32px !important;
  }
}