@charset "UTF-8";
@import url(https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700;800;900&display=swap);/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
  /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}@import url(https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700;800;900&display=swap);*,
*::before,
*::after {
  box-sizing: border-box;
}

a {
  transition: opacity 0.4s;
  text-decoration: none;
}
a:hover {
  opacity: 0.7;
}

body {
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
  color: #424242;
}

dl, dt, dd {
  margin: 0;
}

h1, h2, h3, h4, h5 {
  margin: 0;
}

html {
  font-family: "Noto Sans JP", -apple-sysytem, BlinkMacSystemFont, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, Roboto, "Droid Sans", sans-serif;
}

img {
  vertical-align: bottom;
}

ul {
  list-style-type: none;
  padding: 0;
  margin: 0;
}
ul li, ul ol {
  margin: 0;
  padding: 0;
}

p {
  margin: 0;
}

.o-wrapper {
  position: relative;
  background-image: url("../img/common/bg01.png"), url("../img/common/bg02.png");
  background-position: left top -2px, right bottom -2px;
  background-repeat: no-repeat, no-repeat;
}
.o-wrapper .o-wrapper__inner {
  position: relative;
}

.c-btn {
  display: block;
  text-align: center;
  border-radius: 500px;
  line-height: 1.4;
  font-weight: 500;
}

.c-btn--disabled {
  background-color: #DEDEDE;
  color: #424242;
  box-shadow: none !important;
}

.c-btn1 {
  background-color: #fff;
  color: #424242;
  border: 1px solid #006CB9;
}

.c-btn2 {
  background-color: #006CB9;
  color: #ffffff;
}

.c-btn2--s {
  letter-spacing: 0.1em;
}

.c-btn-overview {
  background-color: #006CB9;
  color: #ffffff;
}

.c-footer {
  position: relative;
  border-top: 1px solid #006CB9;
  background-image: url("../img/common/bg_footer.png");
  background-repeat: no-repeat;
}
.c-footer .c-btn-pagetop__btn.is-show {
  opacity: 1;
  pointer-events: auto;
}
.c-footer .c-btn-pagetop__btn.fixed {
  position: fixed;
  top: auto;
  pointer-events: auto;
}
.c-footer .c-footer-head__logo {
  display: block;
}
.c-footer .c-footer-head__title {
  text-align: center;
  line-height: 1;
  font-weight: bold;
  color: #006CB9;
}
.c-footer .c-footer-contact__dt {
  background-color: #006CB9;
  color: #ffffff;
  text-align: center;
  line-height: 1.4;
  font-weight: 600;
}
.c-footer .c-footer-contact__dd {
  background-color: #E4F4F6;
  color: #006CB9;
  text-align: center;
  margin: 0;
  font-weight: 500;
}
.c-footer .c-footer-contact__name {
  line-height: 1.2;
}
.c-footer .c-footer-contact__address {
  line-height: 1.2;
  color: #006CB9;
}
.c-footer .c-footer-contact__tel {
  line-height: 1.4;
}
.c-footer .c-footer-contact__time {
  line-height: 1.2;
}
.c-footer .c-footer-bottom {
  background-color: #006CB9;
  color: #ffffff;
  font-weight: 400;
}
.c-footer .c-footer-bottom a.c-footer__link {
  color: #ffffff;
}
.c-footer .c-footer-bottom .c-footer__copy {
  line-height: 1.2;
}

.c-heading1 {
  text-align: center;
  line-height: 1.4;
  font-weight: 500;
}

.c-heading-sub {
  text-align: center;
  line-height: 1.6;
  font-weight: 500;
}

.c-img-list {
  display: flex;
  flex-wrap: wrap;
}
.c-img-list__item img {
  width: 100%;
}

.c-list__item {
  text-indent: -1em;
  padding-left: 1em;
  line-height: 1.4;
}
.c-list__item:first-child {
  margin-top: 0;
}

.c-pagination-numbers {
  display: flex;
  justify-content: center;
  color: #006CB9;
  line-height: 1.4;
}
.c-pagination-numbers.current {
  background-color: #006CB9;
  color: #ffffff;
  border-radius: 200px;
}
.c-pagination-numbers.prev, .c-pagination-numbers.next {
  border-radius: 100px;
  background-image: url("../img/common/icon_arrow.svg");
  background-position: 50% 50%;
  background-repeat: no-repeat;
}
.c-pagination-numbers.prev {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.c-paragraph1 {
  text-align: center;
  line-height: 1.6;
}

.c-paragraph2 {
  line-height: 1.6;
}

.c-paragraph3 {
  line-height: 1.4;
}

.c-table1 {
  width: 100%;
  border-collapse: collapse;
}

.c-table1__th span {
  background: #006CB9;
  color: #ffffff;
  font-weight: bold;
  line-height: 1.4;
  width: 100%;
  display: block;
}

.c-table1__body .c-table1__tr:nth-child(even) {
  background: #E4F4F6;
}

.c-table1__td {
  line-height: 1.4;
}

.c-table1__date {
  display: block;
  line-height: 1.2;
  position: relative;
}
.c-table1__date:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  height: 100%;
  background: #006CB9;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.c-table1__link {
  text-decoration: underline;
  color: #006CB9;
  font-weight: bold;
}

.u-hidden {
  display: none !important;
}

.u-mt0 {
  margin-top: 0px !important;
}

.u-mb0 {
  margin-bottom: 0px !important;
}

.u-ml0 {
  margin-left: 0px !important;
}

.u-mr0 {
  margin-right: 0px !important;
}

.u-pt0 {
  padding-top: 0px !important;
}

.u-pb0 {
  padding-bottom: 0px !important;
}

.u-pl0 {
  padding-left: 0px !important;
}

.u-pr0 {
  padding-right: 0px !important;
}

.u-px0 {
  padding-left: 0px !important;
  padding-right: 0px !important;
}

.u-py0 {
  padding-top: 0px !important;
  padding-bottom: 0px !important;
}

.u-mt5 {
  margin-top: 5px !important;
}

.u-mb5 {
  margin-bottom: 5px !important;
}

.u-ml5 {
  margin-left: 5px !important;
}

.u-mr5 {
  margin-right: 5px !important;
}

.u-pt5 {
  padding-top: 5px !important;
}

.u-pb5 {
  padding-bottom: 5px !important;
}

.u-pl5 {
  padding-left: 5px !important;
}

.u-pr5 {
  padding-right: 5px !important;
}

.u-px5 {
  padding-left: 5px !important;
  padding-right: 5px !important;
}

.u-py5 {
  padding-top: 5px !important;
  padding-bottom: 5px !important;
}

.u-mt10 {
  margin-top: 10px !important;
}

.u-mb10 {
  margin-bottom: 10px !important;
}

.u-ml10 {
  margin-left: 10px !important;
}

.u-mr10 {
  margin-right: 10px !important;
}

.u-pt10 {
  padding-top: 10px !important;
}

.u-pb10 {
  padding-bottom: 10px !important;
}

.u-pl10 {
  padding-left: 10px !important;
}

.u-pr10 {
  padding-right: 10px !important;
}

.u-px10 {
  padding-left: 10px !important;
  padding-right: 10px !important;
}

.u-py10 {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

.u-mt15 {
  margin-top: 15px !important;
}

.u-mb15 {
  margin-bottom: 15px !important;
}

.u-ml15 {
  margin-left: 15px !important;
}

.u-mr15 {
  margin-right: 15px !important;
}

.u-pt15 {
  padding-top: 15px !important;
}

.u-pb15 {
  padding-bottom: 15px !important;
}

.u-pl15 {
  padding-left: 15px !important;
}

.u-pr15 {
  padding-right: 15px !important;
}

.u-px15 {
  padding-left: 15px !important;
  padding-right: 15px !important;
}

.u-py15 {
  padding-top: 15px !important;
  padding-bottom: 15px !important;
}

.u-mt20 {
  margin-top: 20px !important;
}

.u-mb20 {
  margin-bottom: 20px !important;
}

.u-ml20 {
  margin-left: 20px !important;
}

.u-mr20 {
  margin-right: 20px !important;
}

.u-pt20 {
  padding-top: 20px !important;
}

.u-pb20 {
  padding-bottom: 20px !important;
}

.u-pl20 {
  padding-left: 20px !important;
}

.u-pr20 {
  padding-right: 20px !important;
}

.u-px20 {
  padding-left: 20px !important;
  padding-right: 20px !important;
}

.u-py20 {
  padding-top: 20px !important;
  padding-bottom: 20px !important;
}

.u-mt25 {
  margin-top: 25px !important;
}

.u-mb25 {
  margin-bottom: 25px !important;
}

.u-ml25 {
  margin-left: 25px !important;
}

.u-mr25 {
  margin-right: 25px !important;
}

.u-pt25 {
  padding-top: 25px !important;
}

.u-pb25 {
  padding-bottom: 25px !important;
}

.u-pl25 {
  padding-left: 25px !important;
}

.u-pr25 {
  padding-right: 25px !important;
}

.u-px25 {
  padding-left: 25px !important;
  padding-right: 25px !important;
}

.u-py25 {
  padding-top: 25px !important;
  padding-bottom: 25px !important;
}

.u-mt30 {
  margin-top: 30px !important;
}

.u-mb30 {
  margin-bottom: 30px !important;
}

.u-ml30 {
  margin-left: 30px !important;
}

.u-mr30 {
  margin-right: 30px !important;
}

.u-pt30 {
  padding-top: 30px !important;
}

.u-pb30 {
  padding-bottom: 30px !important;
}

.u-pl30 {
  padding-left: 30px !important;
}

.u-pr30 {
  padding-right: 30px !important;
}

.u-px30 {
  padding-left: 30px !important;
  padding-right: 30px !important;
}

.u-py30 {
  padding-top: 30px !important;
  padding-bottom: 30px !important;
}

.u-mt35 {
  margin-top: 35px !important;
}

.u-mb35 {
  margin-bottom: 35px !important;
}

.u-ml35 {
  margin-left: 35px !important;
}

.u-mr35 {
  margin-right: 35px !important;
}

.u-pt35 {
  padding-top: 35px !important;
}

.u-pb35 {
  padding-bottom: 35px !important;
}

.u-pl35 {
  padding-left: 35px !important;
}

.u-pr35 {
  padding-right: 35px !important;
}

.u-px35 {
  padding-left: 35px !important;
  padding-right: 35px !important;
}

.u-py35 {
  padding-top: 35px !important;
  padding-bottom: 35px !important;
}

.u-mt40 {
  margin-top: 40px !important;
}

.u-mb40 {
  margin-bottom: 40px !important;
}

.u-ml40 {
  margin-left: 40px !important;
}

.u-mr40 {
  margin-right: 40px !important;
}

.u-pt40 {
  padding-top: 40px !important;
}

.u-pb40 {
  padding-bottom: 40px !important;
}

.u-pl40 {
  padding-left: 40px !important;
}

.u-pr40 {
  padding-right: 40px !important;
}

.u-px40 {
  padding-left: 40px !important;
  padding-right: 40px !important;
}

.u-py40 {
  padding-top: 40px !important;
  padding-bottom: 40px !important;
}

.u-mt45 {
  margin-top: 45px !important;
}

.u-mb45 {
  margin-bottom: 45px !important;
}

.u-ml45 {
  margin-left: 45px !important;
}

.u-mr45 {
  margin-right: 45px !important;
}

.u-pt45 {
  padding-top: 45px !important;
}

.u-pb45 {
  padding-bottom: 45px !important;
}

.u-pl45 {
  padding-left: 45px !important;
}

.u-pr45 {
  padding-right: 45px !important;
}

.u-px45 {
  padding-left: 45px !important;
  padding-right: 45px !important;
}

.u-py45 {
  padding-top: 45px !important;
  padding-bottom: 45px !important;
}

.u-mt50 {
  margin-top: 50px !important;
}

.u-mb50 {
  margin-bottom: 50px !important;
}

.u-ml50 {
  margin-left: 50px !important;
}

.u-mr50 {
  margin-right: 50px !important;
}

.u-pt50 {
  padding-top: 50px !important;
}

.u-pb50 {
  padding-bottom: 50px !important;
}

.u-pl50 {
  padding-left: 50px !important;
}

.u-pr50 {
  padding-right: 50px !important;
}

.u-px50 {
  padding-left: 50px !important;
  padding-right: 50px !important;
}

.u-py50 {
  padding-top: 50px !important;
  padding-bottom: 50px !important;
}

.u-mt55 {
  margin-top: 55px !important;
}

.u-mb55 {
  margin-bottom: 55px !important;
}

.u-ml55 {
  margin-left: 55px !important;
}

.u-mr55 {
  margin-right: 55px !important;
}

.u-pt55 {
  padding-top: 55px !important;
}

.u-pb55 {
  padding-bottom: 55px !important;
}

.u-pl55 {
  padding-left: 55px !important;
}

.u-pr55 {
  padding-right: 55px !important;
}

.u-px55 {
  padding-left: 55px !important;
  padding-right: 55px !important;
}

.u-py55 {
  padding-top: 55px !important;
  padding-bottom: 55px !important;
}

.u-mt60 {
  margin-top: 60px !important;
}

.u-mb60 {
  margin-bottom: 60px !important;
}

.u-ml60 {
  margin-left: 60px !important;
}

.u-mr60 {
  margin-right: 60px !important;
}

.u-pt60 {
  padding-top: 60px !important;
}

.u-pb60 {
  padding-bottom: 60px !important;
}

.u-pl60 {
  padding-left: 60px !important;
}

.u-pr60 {
  padding-right: 60px !important;
}

.u-px60 {
  padding-left: 60px !important;
  padding-right: 60px !important;
}

.u-py60 {
  padding-top: 60px !important;
  padding-bottom: 60px !important;
}

.u-mt65 {
  margin-top: 65px !important;
}

.u-mb65 {
  margin-bottom: 65px !important;
}

.u-ml65 {
  margin-left: 65px !important;
}

.u-mr65 {
  margin-right: 65px !important;
}

.u-pt65 {
  padding-top: 65px !important;
}

.u-pb65 {
  padding-bottom: 65px !important;
}

.u-pl65 {
  padding-left: 65px !important;
}

.u-pr65 {
  padding-right: 65px !important;
}

.u-px65 {
  padding-left: 65px !important;
  padding-right: 65px !important;
}

.u-py65 {
  padding-top: 65px !important;
  padding-bottom: 65px !important;
}

.u-mt70 {
  margin-top: 70px !important;
}

.u-mb70 {
  margin-bottom: 70px !important;
}

.u-ml70 {
  margin-left: 70px !important;
}

.u-mr70 {
  margin-right: 70px !important;
}

.u-pt70 {
  padding-top: 70px !important;
}

.u-pb70 {
  padding-bottom: 70px !important;
}

.u-pl70 {
  padding-left: 70px !important;
}

.u-pr70 {
  padding-right: 70px !important;
}

.u-px70 {
  padding-left: 70px !important;
  padding-right: 70px !important;
}

.u-py70 {
  padding-top: 70px !important;
  padding-bottom: 70px !important;
}

.u-mt75 {
  margin-top: 75px !important;
}

.u-mb75 {
  margin-bottom: 75px !important;
}

.u-ml75 {
  margin-left: 75px !important;
}

.u-mr75 {
  margin-right: 75px !important;
}

.u-pt75 {
  padding-top: 75px !important;
}

.u-pb75 {
  padding-bottom: 75px !important;
}

.u-pl75 {
  padding-left: 75px !important;
}

.u-pr75 {
  padding-right: 75px !important;
}

.u-px75 {
  padding-left: 75px !important;
  padding-right: 75px !important;
}

.u-py75 {
  padding-top: 75px !important;
  padding-bottom: 75px !important;
}

.u-mt80 {
  margin-top: 80px !important;
}

.u-mb80 {
  margin-bottom: 80px !important;
}

.u-ml80 {
  margin-left: 80px !important;
}

.u-mr80 {
  margin-right: 80px !important;
}

.u-pt80 {
  padding-top: 80px !important;
}

.u-pb80 {
  padding-bottom: 80px !important;
}

.u-pl80 {
  padding-left: 80px !important;
}

.u-pr80 {
  padding-right: 80px !important;
}

.u-px80 {
  padding-left: 80px !important;
  padding-right: 80px !important;
}

.u-py80 {
  padding-top: 80px !important;
  padding-bottom: 80px !important;
}

.u-mt85 {
  margin-top: 85px !important;
}

.u-mb85 {
  margin-bottom: 85px !important;
}

.u-ml85 {
  margin-left: 85px !important;
}

.u-mr85 {
  margin-right: 85px !important;
}

.u-pt85 {
  padding-top: 85px !important;
}

.u-pb85 {
  padding-bottom: 85px !important;
}

.u-pl85 {
  padding-left: 85px !important;
}

.u-pr85 {
  padding-right: 85px !important;
}

.u-px85 {
  padding-left: 85px !important;
  padding-right: 85px !important;
}

.u-py85 {
  padding-top: 85px !important;
  padding-bottom: 85px !important;
}

.u-mt90 {
  margin-top: 90px !important;
}

.u-mb90 {
  margin-bottom: 90px !important;
}

.u-ml90 {
  margin-left: 90px !important;
}

.u-mr90 {
  margin-right: 90px !important;
}

.u-pt90 {
  padding-top: 90px !important;
}

.u-pb90 {
  padding-bottom: 90px !important;
}

.u-pl90 {
  padding-left: 90px !important;
}

.u-pr90 {
  padding-right: 90px !important;
}

.u-px90 {
  padding-left: 90px !important;
  padding-right: 90px !important;
}

.u-py90 {
  padding-top: 90px !important;
  padding-bottom: 90px !important;
}

.u-mt95 {
  margin-top: 95px !important;
}

.u-mb95 {
  margin-bottom: 95px !important;
}

.u-ml95 {
  margin-left: 95px !important;
}

.u-mr95 {
  margin-right: 95px !important;
}

.u-pt95 {
  padding-top: 95px !important;
}

.u-pb95 {
  padding-bottom: 95px !important;
}

.u-pl95 {
  padding-left: 95px !important;
}

.u-pr95 {
  padding-right: 95px !important;
}

.u-px95 {
  padding-left: 95px !important;
  padding-right: 95px !important;
}

.u-py95 {
  padding-top: 95px !important;
  padding-bottom: 95px !important;
}

.u-mt100 {
  margin-top: 100px !important;
}

.u-mb100 {
  margin-bottom: 100px !important;
}

.u-ml100 {
  margin-left: 100px !important;
}

.u-mr100 {
  margin-right: 100px !important;
}

.u-pt100 {
  padding-top: 100px !important;
}

.u-pb100 {
  padding-bottom: 100px !important;
}

.u-pl100 {
  padding-left: 100px !important;
}

.u-pr100 {
  padding-right: 100px !important;
}

.u-px100 {
  padding-left: 100px !important;
  padding-right: 100px !important;
}

.u-py100 {
  padding-top: 100px !important;
  padding-bottom: 100px !important;
}

.u-text--left {
  text-align: left !important;
}
.u-text--center {
  text-align: center !important;
}
.u-text--right {
  text-align: right !important;
}
.u-text--bold {
  font-weight: bold !important;
}
.u-text--bold-800 {
  font-weight: 800 !important;
}
.u-text--bold-900 {
  font-weight: 900 !important;
}

.ev-text {
  border: 1px solid #000000;
}

.sup-box {
  background-color: #E4F4F6;
}

.top-mv1 {
  position: relative;
}
.top-mv1 .top-mv-contents {
  background-color: #ffffff;
  position: absolute;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
}
.top-mv1 .top-mv-contents::before {
  display: block;
  content: "";
  background-size: 100% 100%;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  bottom: 0;
  right: 0;
}
.top-mv1 .top-mv__catch {
  position: absolute;
}
.top-mv1 .top-mv__logo {
  display: flex;
  justify-content: flex-end;
}
.top-mv1 .top-mv__title {
  z-index: 10;
  position: relative;
}
.top-mv1 .top-mv-contents__detail {
  position: relative;
  z-index: 10;
}
.top-mv1 .top-mv__text {
  color: #006CB9;
  line-height: 1.6;
}
.top-mv1 .top-mv__link {
  position: absolute;
  background-color: #0068B7;
  box-shadow: none;
}
.top-mv1 img {
  width: 100%;
  max-width: 100%;
}

.top-contents {
  position: relative;
}

.top-supporter {
  background-image: url("../img/top/bg_supporter01.png"), url("../img/top/bg_supporter02.png");
  background-repeat: no-repeat, no-repeat;
}

.top-overview__inner {
  background-color: #ffffff;
  background-image: url("../img/top/bg_overview.png");
  background-position: right bottom;
  background-repeat: no-repeat;
  border: 1px solid #006CB9;
}

.top-overview__dl {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.top-overview__dt {
  line-height: 1.4;
  font-weight: 700;
}

.top-overview__dd {
  line-height: 1.4;
}

.top-overview-step1 .top-overview-step-img img {
  position: absolute;
}

.top-overview-step2 .top-overview-step-img img {
  position: absolute;
}

.top-overview-step3 .top-overview-step-img img {
  position: absolute;
}

.top-overview-step-img {
  background-color: #E4F4F6;
  overflow: hidden;
  position: relative;
}
.top-overview-step-img .top-overview-step__num {
  position: absolute;
  top: 0;
  left: 0;
  color: #ffffff;
  background-image: url("../img/top/bg_step.svg");
  background-position: top left;
  background-repeat: no-repeat;
  background-size: contain;
}
.top-overview-step-img .top-overview-step__num-text {
  display: inline-block;
  text-align: center;
  line-height: 1;
  font-weight: 700;
}

.top-overview-step__heading {
  color: #006CB9;
  font-weight: 700;
  line-height: 1.4;
}

.top-overview-step__note {
  text-indent: -1em;
  padding-left: 1em;
}

.top-overview__item {
  text-indent: -1em;
  padding-left: 1em;
}
.top-overview__item:first-child {
  margin-top: 0;
}

.top-overview-event {
  background-color: #E4F4F6;
}

.top-overview-event__heading {
  color: #006CB9;
  text-align: center;
  font-weight: 700;
  line-height: 1.2;
}

.top-overview-event__heading-sub {
  color: #006CB9;
  text-align: center;
  font-weight: 700;
  line-height: 1;
  width: 100%;
  display: inline-block;
}

.top-overview-event-date__dt {
  background-color: #006CB9;
  color: #ffffff;
  text-align: center;
  line-height: 1.4;
}

.top-overview-event-date__dd {
  line-height: 1.4;
}

.top-info__inner {
  background-image: url("../img/top/bg_info01.png"), url("../img/top/bg_info02_pc.png");
  background-repeat: no-repeat, no-repeat;
}
.top-count {
  display: flex;
  align-items: flex-end;
}

.top-character {
  text-align: center;
}

.top-character__paragraph {
  line-height: 1.3;
}
.top-character__paragraph span {
  font-weight: 700;
}

.top-info-link__heading {
  line-height: 1.4;
  font-weight: 700;
  background-color: #D0EDF0;
  text-align: center;
  position: relative;
}

.top-info-link__catch {
  font-weight: 700;
  text-align: center;
}
.top-info-link__catch::before {
  content: "";
  display: inline-block;
  background: #006CB9;
}

.top-info-hp__link {
  width: 100%;
  display: flex;
  justify-content: center;
}

.top-info-sns__list {
  background-color: #E4F4F6;
  display: flex;
  justify-content: center;
  align-items: center;
}
.top-info-sns__item img {
  width: 100%;
}

.top-info-sns__list {
  display: flex;
}

@media print, screen and (min-width: 768px) {
  body {
    -webkit-font-smoothing: antialiased;
  }
  .o-container {
    max-width: 1238px;
    margin: 0 auto;
    padding: 0 50px;
  }
  .o-wrapper {
    padding: 100px 0;
    background-size: min(49.7916666667vw, 717px) auto, min(34.1666666667vw, 492px) auto;
  }
  .c-btn {
    box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.25);
    font-size: 20px;
    padding: 20px 0;
    width: 488px;
    margin: 100px auto 0;
  }
  .c-btn--disabled {
    padding: 7px 0;
  }
  .c-btn1--s {
    width: 210px;
    margin: 0 0 50px;
  }
  .c-btn2--s {
    margin: 0;
    width: 390px;
  }
  .c-btn-overview-wrapper {
    position: absolute;
    right: 0;
    height: 100%;
    padding-top: 27px;
  }
  .c-btn-overview {
    position: -webkit-sticky;
    position: sticky;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
            writing-mode: vertical-rl;
    width: 42px;
    line-height: 1;
    top: 60px;
    padding: 41px 11px;
    border-radius: 10px 0 0 10px;
    font-size: 20px;
    box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.25);
    letter-spacing: 0.2em;
    font-weight: bold;
  }
  .c-btn-pagetop__btn {
    position: absolute;
    opacity: 0;
    pointer-events: none;
    width: 74px;
    right: min(3.6111111111vw, 52px);
    top: -88px;
  }
  .c-btn-pagetop__btn img {
    -webkit-filter: drop-shadow(0 2px 10px rgba(0, 0, 0, 0.25));
            filter: drop-shadow(0 2px 10px rgba(0, 0, 0, 0.25));
  }
  .c-footer {
    background-position: right max(18.1944444444vw, 262px);
    background-size: min(16.3888888889vw, 236px) auto;
  }
  .c-footer .c-btn-pagetop__btn.fixed {
    bottom: 10px;
  }
  .c-footer .c-footer-head {
    padding: 38px 0;
  }
  .c-footer .c-footer-head-title {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .c-footer .c-footer-head__logo {
    width: 151px;
    margin: 0 auto;
  }
  .c-footer .c-footer-head__title {
    font-size: 28px;
    margin-top: 75px;
  }
  .c-footer .c-footer-head__title span {
    font-size: 20px;
  }
  .c-footer .c-footer-head__sub-title {
    margin-left: -17px;
  }
  .c-footer .c-footer-contact {
    width: 410px;
    margin: 38px auto 0;
  }
  .c-footer .c-footer-contact__dt {
    font-size: 18px;
    padding: 10px 50px;
    border-radius: 10px 10px 0 0;
  }
  .c-footer .c-footer-contact__dd {
    padding: 20px 0;
    border-radius: 0 0 10px 10px;
  }
  .c-footer .c-footer-contact__name {
    font-size: 15px;
  }
  .c-footer .c-footer-contact__address {
    font-size: 15px;
  }
  .c-footer .c-footer-contact__tel {
    font-size: 32px;
  }
  .c-footer .c-footer-contact__time {
    font-size: 15px;
  }
  .c-footer .c-footer-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 50px;
  }
  .c-footer .c-footer-bottom a.c-footer__link {
    font-size: 14px;
  }
  .c-footer .c-footer-bottom .c-footer__copy {
    font-size: 20px;
  }
  .c-heading1 {
    font-size: 32px;
  }
  .c-heading-sub {
    font-size: 18px;
    margin-top: 32px;
  }
  .c-img-list {
    -webkit-column-gap: 1.3181019332%;
            column-gap: 1.3181019332%;
    row-gap: min(3.1923383879vw, 40px);
  }
  .c-img-list__item {
    width: 15.553602812%;
    max-width: 177px;
  }
  .c-list__item {
    font-size: 16px;
    margin-top: 10px;
  }
  .c-pagination {
    margin-top: 70px;
  }
  .c-pagination-numbers {
    font-size: 25px;
    -webkit-column-gap: 5px;
            column-gap: 5px;
    align-items: center;
  }
  .c-pagination-numbers a,
.c-pagination-numbers span {
    width: 37px;
    height: 37px;
  }
  .c-pagination-numbers.prev, .c-pagination-numbers.next {
    width: 45px;
    height: 45px;
    border: 2px solid #006CB9;
    background-size: 10px 18px;
  }
  .c-pagination-numbers.prev {
    margin-right: 40px;
  }
  .c-pagination-numbers.next {
    margin-left: 40px;
  }
  .c-paragraph1 {
    font-size: 18px;
    margin-top: 30px;
  }
  .c-paragraph2 {
    font-size: 18px;
  }
  .c-paragraph3 {
    font-size: 16px;
  }
  .c-table1 {
    margin-top: 50px;
  }
  .c-table1__th span {
    border-radius: 5px;
    font-size: 20px;
    padding: 5px 30px;
  }
  .c-table1__th1 {
    width: 21.1267605634%;
    min-width: 185px;
    padding-right: 9px;
  }
  .c-table1__th2 {
    width: 79.7535211268%;
  }
  .c-table1__td {
    font-size: 20px;
  }
  .c-table1__td-inner {
    padding: 40px 25px;
  }
  .c-table1__date {
    padding-left: 25px;
    margin-left: 20px;
  }
  .c-table1__date:before {
    width: 5px;
    border-radius: 5px;
  }
  .c-table1__link {
    font-size: 24px;
  }
  .c-table1__text {
    margin-top: 10px;
  }
  .u-hidden--pc {
    display: none !important;
  }
  .u-mt0\@pc {
    margin-top: 0px !important;
  }
  .u-mb0\@pc {
    margin-bottom: 0px !important;
  }
  .u-ml0\@pc {
    margin-left: 0px !important;
  }
  .u-mr0\@pc {
    margin-right: 0px !important;
  }
  .u-pt0\@pc {
    padding-top: 0px !important;
  }
  .u-pb0\@pc {
    padding-bottom: 0px !important;
  }
  .u-pl0\@pc {
    padding-left: 0px !important;
  }
  .u-pr0\@pc {
    padding-right: 0px !important;
  }
  .u-px0\@pc {
    padding-left: 0px !important;
    padding-right: 0px !important;
  }
  .u-py0\@pc {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
  }
  .u-mt5\@pc {
    margin-top: 5px !important;
  }
  .u-mb5\@pc {
    margin-bottom: 5px !important;
  }
  .u-ml5\@pc {
    margin-left: 5px !important;
  }
  .u-mr5\@pc {
    margin-right: 5px !important;
  }
  .u-pt5\@pc {
    padding-top: 5px !important;
  }
  .u-pb5\@pc {
    padding-bottom: 5px !important;
  }
  .u-pl5\@pc {
    padding-left: 5px !important;
  }
  .u-pr5\@pc {
    padding-right: 5px !important;
  }
  .u-px5\@pc {
    padding-left: 5px !important;
    padding-right: 5px !important;
  }
  .u-py5\@pc {
    padding-top: 5px !important;
    padding-bottom: 5px !important;
  }
  .u-mt10\@pc {
    margin-top: 10px !important;
  }
  .u-mb10\@pc {
    margin-bottom: 10px !important;
  }
  .u-ml10\@pc {
    margin-left: 10px !important;
  }
  .u-mr10\@pc {
    margin-right: 10px !important;
  }
  .u-pt10\@pc {
    padding-top: 10px !important;
  }
  .u-pb10\@pc {
    padding-bottom: 10px !important;
  }
  .u-pl10\@pc {
    padding-left: 10px !important;
  }
  .u-pr10\@pc {
    padding-right: 10px !important;
  }
  .u-px10\@pc {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
  .u-py10\@pc {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }
  .u-mt15\@pc {
    margin-top: 15px !important;
  }
  .u-mb15\@pc {
    margin-bottom: 15px !important;
  }
  .u-ml15\@pc {
    margin-left: 15px !important;
  }
  .u-mr15\@pc {
    margin-right: 15px !important;
  }
  .u-pt15\@pc {
    padding-top: 15px !important;
  }
  .u-pb15\@pc {
    padding-bottom: 15px !important;
  }
  .u-pl15\@pc {
    padding-left: 15px !important;
  }
  .u-pr15\@pc {
    padding-right: 15px !important;
  }
  .u-px15\@pc {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
  .u-py15\@pc {
    padding-top: 15px !important;
    padding-bottom: 15px !important;
  }
  .u-mt20\@pc {
    margin-top: 20px !important;
  }
  .u-mb20\@pc {
    margin-bottom: 20px !important;
  }
  .u-ml20\@pc {
    margin-left: 20px !important;
  }
  .u-mr20\@pc {
    margin-right: 20px !important;
  }
  .u-pt20\@pc {
    padding-top: 20px !important;
  }
  .u-pb20\@pc {
    padding-bottom: 20px !important;
  }
  .u-pl20\@pc {
    padding-left: 20px !important;
  }
  .u-pr20\@pc {
    padding-right: 20px !important;
  }
  .u-px20\@pc {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .u-py20\@pc {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
  }
  .u-mt25\@pc {
    margin-top: 25px !important;
  }
  .u-mb25\@pc {
    margin-bottom: 25px !important;
  }
  .u-ml25\@pc {
    margin-left: 25px !important;
  }
  .u-mr25\@pc {
    margin-right: 25px !important;
  }
  .u-pt25\@pc {
    padding-top: 25px !important;
  }
  .u-pb25\@pc {
    padding-bottom: 25px !important;
  }
  .u-pl25\@pc {
    padding-left: 25px !important;
  }
  .u-pr25\@pc {
    padding-right: 25px !important;
  }
  .u-px25\@pc {
    padding-left: 25px !important;
    padding-right: 25px !important;
  }
  .u-py25\@pc {
    padding-top: 25px !important;
    padding-bottom: 25px !important;
  }
  .u-mt30\@pc {
    margin-top: 30px !important;
  }
  .u-mb30\@pc {
    margin-bottom: 30px !important;
  }
  .u-ml30\@pc {
    margin-left: 30px !important;
  }
  .u-mr30\@pc {
    margin-right: 30px !important;
  }
  .u-pt30\@pc {
    padding-top: 30px !important;
  }
  .u-pb30\@pc {
    padding-bottom: 30px !important;
  }
  .u-pl30\@pc {
    padding-left: 30px !important;
  }
  .u-pr30\@pc {
    padding-right: 30px !important;
  }
  .u-px30\@pc {
    padding-left: 30px !important;
    padding-right: 30px !important;
  }
  .u-py30\@pc {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
  }
  .u-mt35\@pc {
    margin-top: 35px !important;
  }
  .u-mb35\@pc {
    margin-bottom: 35px !important;
  }
  .u-ml35\@pc {
    margin-left: 35px !important;
  }
  .u-mr35\@pc {
    margin-right: 35px !important;
  }
  .u-pt35\@pc {
    padding-top: 35px !important;
  }
  .u-pb35\@pc {
    padding-bottom: 35px !important;
  }
  .u-pl35\@pc {
    padding-left: 35px !important;
  }
  .u-pr35\@pc {
    padding-right: 35px !important;
  }
  .u-px35\@pc {
    padding-left: 35px !important;
    padding-right: 35px !important;
  }
  .u-py35\@pc {
    padding-top: 35px !important;
    padding-bottom: 35px !important;
  }
  .u-mt40\@pc {
    margin-top: 40px !important;
  }
  .u-mb40\@pc {
    margin-bottom: 40px !important;
  }
  .u-ml40\@pc {
    margin-left: 40px !important;
  }
  .u-mr40\@pc {
    margin-right: 40px !important;
  }
  .u-pt40\@pc {
    padding-top: 40px !important;
  }
  .u-pb40\@pc {
    padding-bottom: 40px !important;
  }
  .u-pl40\@pc {
    padding-left: 40px !important;
  }
  .u-pr40\@pc {
    padding-right: 40px !important;
  }
  .u-px40\@pc {
    padding-left: 40px !important;
    padding-right: 40px !important;
  }
  .u-py40\@pc {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }
  .u-mt45\@pc {
    margin-top: 45px !important;
  }
  .u-mb45\@pc {
    margin-bottom: 45px !important;
  }
  .u-ml45\@pc {
    margin-left: 45px !important;
  }
  .u-mr45\@pc {
    margin-right: 45px !important;
  }
  .u-pt45\@pc {
    padding-top: 45px !important;
  }
  .u-pb45\@pc {
    padding-bottom: 45px !important;
  }
  .u-pl45\@pc {
    padding-left: 45px !important;
  }
  .u-pr45\@pc {
    padding-right: 45px !important;
  }
  .u-px45\@pc {
    padding-left: 45px !important;
    padding-right: 45px !important;
  }
  .u-py45\@pc {
    padding-top: 45px !important;
    padding-bottom: 45px !important;
  }
  .u-mt50\@pc {
    margin-top: 50px !important;
  }
  .u-mb50\@pc {
    margin-bottom: 50px !important;
  }
  .u-ml50\@pc {
    margin-left: 50px !important;
  }
  .u-mr50\@pc {
    margin-right: 50px !important;
  }
  .u-pt50\@pc {
    padding-top: 50px !important;
  }
  .u-pb50\@pc {
    padding-bottom: 50px !important;
  }
  .u-pl50\@pc {
    padding-left: 50px !important;
  }
  .u-pr50\@pc {
    padding-right: 50px !important;
  }
  .u-px50\@pc {
    padding-left: 50px !important;
    padding-right: 50px !important;
  }
  .u-py50\@pc {
    padding-top: 50px !important;
    padding-bottom: 50px !important;
  }
  .u-mt55\@pc {
    margin-top: 55px !important;
  }
  .u-mb55\@pc {
    margin-bottom: 55px !important;
  }
  .u-ml55\@pc {
    margin-left: 55px !important;
  }
  .u-mr55\@pc {
    margin-right: 55px !important;
  }
  .u-pt55\@pc {
    padding-top: 55px !important;
  }
  .u-pb55\@pc {
    padding-bottom: 55px !important;
  }
  .u-pl55\@pc {
    padding-left: 55px !important;
  }
  .u-pr55\@pc {
    padding-right: 55px !important;
  }
  .u-px55\@pc {
    padding-left: 55px !important;
    padding-right: 55px !important;
  }
  .u-py55\@pc {
    padding-top: 55px !important;
    padding-bottom: 55px !important;
  }
  .u-mt60\@pc {
    margin-top: 60px !important;
  }
  .u-mb60\@pc {
    margin-bottom: 60px !important;
  }
  .u-ml60\@pc {
    margin-left: 60px !important;
  }
  .u-mr60\@pc {
    margin-right: 60px !important;
  }
  .u-pt60\@pc {
    padding-top: 60px !important;
  }
  .u-pb60\@pc {
    padding-bottom: 60px !important;
  }
  .u-pl60\@pc {
    padding-left: 60px !important;
  }
  .u-pr60\@pc {
    padding-right: 60px !important;
  }
  .u-px60\@pc {
    padding-left: 60px !important;
    padding-right: 60px !important;
  }
  .u-py60\@pc {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
  }
  .u-mt65\@pc {
    margin-top: 65px !important;
  }
  .u-mb65\@pc {
    margin-bottom: 65px !important;
  }
  .u-ml65\@pc {
    margin-left: 65px !important;
  }
  .u-mr65\@pc {
    margin-right: 65px !important;
  }
  .u-pt65\@pc {
    padding-top: 65px !important;
  }
  .u-pb65\@pc {
    padding-bottom: 65px !important;
  }
  .u-pl65\@pc {
    padding-left: 65px !important;
  }
  .u-pr65\@pc {
    padding-right: 65px !important;
  }
  .u-px65\@pc {
    padding-left: 65px !important;
    padding-right: 65px !important;
  }
  .u-py65\@pc {
    padding-top: 65px !important;
    padding-bottom: 65px !important;
  }
  .u-mt70\@pc {
    margin-top: 70px !important;
  }
  .u-mb70\@pc {
    margin-bottom: 70px !important;
  }
  .u-ml70\@pc {
    margin-left: 70px !important;
  }
  .u-mr70\@pc {
    margin-right: 70px !important;
  }
  .u-pt70\@pc {
    padding-top: 70px !important;
  }
  .u-pb70\@pc {
    padding-bottom: 70px !important;
  }
  .u-pl70\@pc {
    padding-left: 70px !important;
  }
  .u-pr70\@pc {
    padding-right: 70px !important;
  }
  .u-px70\@pc {
    padding-left: 70px !important;
    padding-right: 70px !important;
  }
  .u-py70\@pc {
    padding-top: 70px !important;
    padding-bottom: 70px !important;
  }
  .u-mt75\@pc {
    margin-top: 75px !important;
  }
  .u-mb75\@pc {
    margin-bottom: 75px !important;
  }
  .u-ml75\@pc {
    margin-left: 75px !important;
  }
  .u-mr75\@pc {
    margin-right: 75px !important;
  }
  .u-pt75\@pc {
    padding-top: 75px !important;
  }
  .u-pb75\@pc {
    padding-bottom: 75px !important;
  }
  .u-pl75\@pc {
    padding-left: 75px !important;
  }
  .u-pr75\@pc {
    padding-right: 75px !important;
  }
  .u-px75\@pc {
    padding-left: 75px !important;
    padding-right: 75px !important;
  }
  .u-py75\@pc {
    padding-top: 75px !important;
    padding-bottom: 75px !important;
  }
  .u-mt80\@pc {
    margin-top: 80px !important;
  }
  .u-mb80\@pc {
    margin-bottom: 80px !important;
  }
  .u-ml80\@pc {
    margin-left: 80px !important;
  }
  .u-mr80\@pc {
    margin-right: 80px !important;
  }
  .u-pt80\@pc {
    padding-top: 80px !important;
  }
  .u-pb80\@pc {
    padding-bottom: 80px !important;
  }
  .u-pl80\@pc {
    padding-left: 80px !important;
  }
  .u-pr80\@pc {
    padding-right: 80px !important;
  }
  .u-px80\@pc {
    padding-left: 80px !important;
    padding-right: 80px !important;
  }
  .u-py80\@pc {
    padding-top: 80px !important;
    padding-bottom: 80px !important;
  }
  .u-mt85\@pc {
    margin-top: 85px !important;
  }
  .u-mb85\@pc {
    margin-bottom: 85px !important;
  }
  .u-ml85\@pc {
    margin-left: 85px !important;
  }
  .u-mr85\@pc {
    margin-right: 85px !important;
  }
  .u-pt85\@pc {
    padding-top: 85px !important;
  }
  .u-pb85\@pc {
    padding-bottom: 85px !important;
  }
  .u-pl85\@pc {
    padding-left: 85px !important;
  }
  .u-pr85\@pc {
    padding-right: 85px !important;
  }
  .u-px85\@pc {
    padding-left: 85px !important;
    padding-right: 85px !important;
  }
  .u-py85\@pc {
    padding-top: 85px !important;
    padding-bottom: 85px !important;
  }
  .u-mt90\@pc {
    margin-top: 90px !important;
  }
  .u-mb90\@pc {
    margin-bottom: 90px !important;
  }
  .u-ml90\@pc {
    margin-left: 90px !important;
  }
  .u-mr90\@pc {
    margin-right: 90px !important;
  }
  .u-pt90\@pc {
    padding-top: 90px !important;
  }
  .u-pb90\@pc {
    padding-bottom: 90px !important;
  }
  .u-pl90\@pc {
    padding-left: 90px !important;
  }
  .u-pr90\@pc {
    padding-right: 90px !important;
  }
  .u-px90\@pc {
    padding-left: 90px !important;
    padding-right: 90px !important;
  }
  .u-py90\@pc {
    padding-top: 90px !important;
    padding-bottom: 90px !important;
  }
  .u-mt95\@pc {
    margin-top: 95px !important;
  }
  .u-mb95\@pc {
    margin-bottom: 95px !important;
  }
  .u-ml95\@pc {
    margin-left: 95px !important;
  }
  .u-mr95\@pc {
    margin-right: 95px !important;
  }
  .u-pt95\@pc {
    padding-top: 95px !important;
  }
  .u-pb95\@pc {
    padding-bottom: 95px !important;
  }
  .u-pl95\@pc {
    padding-left: 95px !important;
  }
  .u-pr95\@pc {
    padding-right: 95px !important;
  }
  .u-px95\@pc {
    padding-left: 95px !important;
    padding-right: 95px !important;
  }
  .u-py95\@pc {
    padding-top: 95px !important;
    padding-bottom: 95px !important;
  }
  .u-mt100\@pc {
    margin-top: 100px !important;
  }
  .u-mb100\@pc {
    margin-bottom: 100px !important;
  }
  .u-ml100\@pc {
    margin-left: 100px !important;
  }
  .u-mr100\@pc {
    margin-right: 100px !important;
  }
  .u-pt100\@pc {
    padding-top: 100px !important;
  }
  .u-pb100\@pc {
    padding-bottom: 100px !important;
  }
  .u-pl100\@pc {
    padding-left: 100px !important;
  }
  .u-pr100\@pc {
    padding-right: 100px !important;
  }
  .u-px100\@pc {
    padding-left: 100px !important;
    padding-right: 100px !important;
  }
  .u-py100\@pc {
    padding-top: 100px !important;
    padding-bottom: 100px !important;
  }
  .u-text--left-pc {
    text-align: left !important;
  }
  .u-text--center-pc {
    text-align: center !important;
  }
  .u-text--right-pc {
    text-align: right !important;
  }
  .ev-text {
    padding: 30px;
    width: 711px;
    margin: 30px auto 0;
  }
  .sup-box {
    max-width: 1138px;
    margin: 50px auto 0;
    padding: 40px 58px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 50px;
  }
  .sup-list {
    margin-top: 70px;
  }
  .top-mv1 .top-mv-contents {
    top: 9.0277777778vw;
    width: 55.2083333333vw;
    border-radius: 3.3333333333vw;
    padding: 1.9444444444vw 1.9444444444vw 5vw 4.5138888889vw;
  }
  .top-mv1 .top-mv-contents::before {
    background-image: url("../img/top/bg_mv.png");
    width: 33.8888888889vw;
    height: 11.3888888889vw;
  }
  .top-mv1 .top-mv__catch {
    top: -3.1944444444vw;
    left: -4.5138888889vw;
    width: 18.75vw;
  }
  .top-mv1 .top-mv__logo img {
    width: 7.4305555556vw;
  }
  .top-mv1 .top-mv__title {
    width: 45.0694444444vw;
    margin-top: 1.25vw;
  }
  .top-mv1 .top-mv-contents__detail {
    margin-top: -4.375vw;
  }
  .top-mv1 .top-mv__text {
    font-size: 0.9722222222vw;
    margin-left: 0.3472222222vw;
  }
  .top-mv1 .top-mv__link {
    width: 24.6527777778vw;
    margin: 0;
    padding: 0.7847222222vw 0;
    font-size: 1.9444444444vw;
    bottom: 3.4722222222vw;
    left: 5.0694444444vw;
  }
  .top-contents {
    margin-bottom: 100px;
  }
  .top-contents__wrapper {
    max-width: 1242px;
    margin: 0 auto;
    padding: 0 50px;
  }
  .top-supporter {
    background-size: min(33.8888888889vw, 488px) auto, min(40.625vw, 585px) auto;
    background-position: left top, right bottom;
    padding: 110px 0 186px;
  }
  .top-supporter .c-btn {
    margin: 50px auto 0;
  }
  .top-supporter:not(:has(.top-supporter-list)) {
    padding: 110px 0 215px;
  }
  .top-supporter__heading {
    margin-top: 80px;
  }
  .top-supporter-list {
    margin-top: 50px;
  }
  .top-supporter-list .c-img-list {
    -webkit-column-gap: 1.314636284%;
            column-gap: 1.314636284%;
  }
  .top-supporter-list .c-img-list__item {
    width: 15.5127081507%;
    max-width: 177px;
  }
  .top-overview .c-btn {
    margin-top: 50px;
  }
  .top-overview .c-btn.c-btn--disabled {
    margin-top: 20px;
  }
  .top-overview__inner {
    background-size: min(62.9166666667vw, 906px) auto;
    border-radius: 10px;
    padding: 50px 68px 144px;
    margin-top: -105px;
  }
  .top-overview__text {
    margin-top: 30px;
  }
  .top-overview__dl {
    margin-top: 82px;
    row-gap: 38px;
  }
  .top-overview__dt {
    width: 80px;
    font-size: 16px;
  }
  .top-overview__dd {
    width: calc(100% - 80px);
    max-width: 915px;
    font-size: 16px;
  }
  .top-overview-step__list {
    display: flex;
    flex-wrap: wrap;
    -webkit-column-gap: 30px;
            column-gap: 30px;
    row-gap: 30px;
  }
  .top-overview-step__item {
    width: 285px;
  }
  .top-overview-step1 .top-overview-step-img img {
    top: 29.5px;
    left: 102px;
    width: 131px;
  }
  .top-overview-step2 .top-overview-step-img img {
    top: 31px;
    left: 65px;
    width: 158px;
  }
  .top-overview-step3 .top-overview-step-img img {
    bottom: 0;
    left: 53px;
    width: 179px;
  }
  .top-overview-step {
    display: flex;
    justify-content: space-between;
  }
  .top-overview-step-img {
    border-radius: 10px;
    height: 201px;
  }
  .top-overview-step-img .top-overview-step__num {
    width: 52px;
    height: 52px;
  }
  .top-overview-step-img .top-overview-step__num-text {
    width: 46px;
    font-size: 20px;
    margin-top: -2px;
  }
  .top-overview-step-img .top-overview-step__num-text span {
    font-size: 10px;
  }
  .top-overview-step__heading {
    font-size: 18px;
    margin-top: 10px;
  }
  .top-overview-step__note {
    margin-top: 10px;
  }
  .top-overview__item {
    margin-top: 10px;
  }
  .top-overview-event {
    margin-top: 70px;
    border-radius: 10px;
    padding: 28px 45px 40px;
  }
  .top-overview-event__heading {
    font-size: 32px;
  }
  .top-overview-event__heading-sub {
    font-size: 16px;
  }
  .top-overview-event__paragraph {
    margin-top: 10px;
    text-align: center;
  }
  .top-overview-event-date {
    margin-top: 30px;
    -webkit-column-gap: 20px;
            column-gap: 20px;
    display: flex;
    justify-content: center;
  }
  .top-overview-event-date__dt {
    font-size: 16px;
    border-radius: 5px;
  }
  .top-overview-event-date__dd {
    font-size: 16px;
    margin-top: 5px;
  }
  .top-info {
    padding-bottom: 54px;
  }
  .top-info__inner {
    background-size: 24.3055555556vw auto, 17.7777777778vw auto;
    background-position: left 0.3472222222vw top, right bottom;
    margin-top: 80px;
    border-radius: 0.6944444444vw;
    padding: 5.4166666667vw 0 5.4166666667vw;
    box-shadow: 0 0 2.0833333333vw 0 rgba(0, 0, 0, 0.15);
  }
  .top-info-head {
    display: flex;
    width: 77.0531400966vw;
    max-width: 957px;
    margin: 0 auto;
  }
  .top-count {
    margin: 0 min(2.4154589372vw, 30px) 0 0;
  }
  .top-count__text {
    margin-right: min(1.7713365539vw, 22px);
    margin-bottom: min(0vw, 0px);
  }
  .top-count__text img {
    width: 35.5072463768vw;
    max-width: 441px;
  }
  .top-count__img-num {
    width: 7.4879227053vw;
    max-width: 93px;
    margin-right: min(0.4025764895vw, 5px);
  }
  .top-count__img-day {
    width: 2.8180354267vw;
    max-width: 35px;
    margin-left: 0.8333333333vw;
  }
  .top-character {
    width: 10.4669887279vw;
    max-width: 130px;
  }
  .top-character img {
    width: 9.7423510467vw;
    max-width: 121px;
    margin-top: 0.8051529791vw;
  }
  .top-character__paragraph {
    font-size: 10px;
  }
  .top-info-link {
    width: 57.729468599vw;
    max-width: 717px;
    margin: min(4.5088566828vw, 56px) auto 0;
  }
  .top-info-link__heading {
    font-size: min(1.6103059581vw, 20px);
    padding: min(1.1272141707vw, 14px) 0;
    width: 100%;
    margin: 0 auto min(0.9661835749vw, 12px);
    border-radius: 10px;
  }
  .top-info-link__wrapper {
    display: flex;
    justify-content: space-between;
  }
  .top-info-hp {
    width: 24.154589372vw;
    max-width: 300px;
  }
  .top-info-link__catch {
    font-size: min(1.2882447665vw, 16px);
    margin-bottom: min(0.8051529791vw, 10px);
  }
  .top-info-link__catch::before {
    height: calc(tan(60deg) * 0.8051529791vw / 2);
    width: 0.9661835749vw;
    max-width: 12px;
    -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
            clip-path: polygon(0 0, 100% 0, 50% 100%);
    margin-right: min(0.3623188406vw, 4.5px);
  }
  .top-info-hp__link {
    border-radius: 0.8051529791vw;
    border: 0.1610305958vw solid #AEAEAE;
    padding: 1.3541666667vw 0;
  }
  .top-info-hp__link img {
    width: 12.1578099839vw;
    max-width: 151px;
  }
  .top-info-sns {
    width: 30.3542673108vw;
    max-width: 377px;
  }
  .top-info-sns__list {
    border-radius: 0.8051529791vw;
    padding: min(1.8115942029vw, 22.5px) 0;
    -webkit-column-gap: min(2.4154589372vw, 30px);
            column-gap: min(2.4154589372vw, 30px);
  }
  .top-info-sns__item {
    width: 4.0257648953vw;
    max-width: 50px;
  }
  .top-info-sns__item.top-info-sns__item--yt {
    width: 5.7971014493vw;
    max-width: 72px;
  }
  .top-info-sns__item:first-child {
    width: 4.4283413849vw;
    max-width: 55px;
  }
}

@media screen and (max-width: 767.98px) {
  .o-wrapper {
    padding: 16vw 5.2533333333vw 26.6666666667vw;
    background-size: 93.8666666667vw auto, 83.2vw auto;
  }
  .c-btn {
    box-shadow: 0 0.5333333333vw 2.6666666667vw 0 rgba(0, 0, 0, 0.25);
    font-size: 4.8vw;
    padding: 2.6666666667vw 6.2666666667vw;
    width: 100%;
    margin: 10.6666666667vw auto 0;
  }
  .c-btn--disabled {
    padding: 2.6666666667vw 0;
  }
  .c-btn1--s {
    margin: 0 0 10.6666666667vw;
  }
  .c-btn2--s {
    margin: 5.3333333333vw 0 0;
    padding: 5.3333333333vw 8.8vw;
  }
  .c-btn-overview-wrapper {
    background-color: #ffffff;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 10;
    padding: 1.0666666667vw;
    display: flex;
    gap: 1.0899182561%;
  }
  .c-btn-overview {
    width: 71.1171662125%;
    display: block;
    text-align: center;
    padding: 2.6666666667vw 0vw 3.2vw;
    border-radius: 1.6vw;
    font-size: 4.2666666667vw;
  }
  .c-btn-pagetop__btn {
    width: 27.2vw;
    border: 0.5333333333vw solid #006CB9;
    border-radius: 1.6vw;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .c-btn-pagetop__btn img {
    width: 13.5466666667vw;
  }
  .c-footer {
    background-position: right 92vw;
    background-size: 41.6vw auto;
  }
  .c-footer .c-btn-pagetop__btn {
    display: none;
  }
  .c-footer .c-btn-pagetop__btn.fixed {
    bottom: 18.1333333333vw;
  }
  .c-footer .c-footer-head {
    padding: 10.6666666667vw 10.6666666667vw 25.6vw;
  }
  .c-footer .c-footer-head-title {
    text-align: center;
  }
  .c-footer .c-footer-head__logo {
    width: 28.2666666667vw;
    margin: 0 auto;
  }
  .c-footer .c-footer-head__title {
    font-size: 5.448vw;
    margin-top: 18.6666666667vw;
  }
  .c-footer .c-footer-head__title span {
    font-size: 3.8906666667vw;
  }
  .c-footer .c-footer-head__sub-title {
    margin-top: 1.3333333333vw;
  }
  .c-footer .c-footer-contact {
    margin: 7.4666666667vw auto 0;
  }
  .c-footer .c-footer-contact__dt {
    font-size: 4.8vw;
    padding: 1.3333333333vw 0;
    border-radius: 2.6666666667vw 2.6666666667vw 0 0;
  }
  .c-footer .c-footer-contact__dd {
    padding: 5.3333333333vw 0;
    border-radius: 0 0 2.6666666667vw 2.6666666667vw;
  }
  .c-footer .c-footer-contact__name {
    font-size: 3.2vw;
  }
  .c-footer .c-footer-contact__address {
    font-size: 3.2vw;
  }
  .c-footer .c-footer-contact__tel {
    font-size: 6.4vw;
  }
  .c-footer .c-footer-contact__time {
    font-size: 3.2vw;
  }
  .c-footer .c-footer-bottom {
    padding: 1.6vw 0 17.3333333333vw;
    text-align: center;
  }
  .c-footer .c-footer-bottom a.c-footer__link {
    font-size: 3.7333333333vw;
  }
  .c-footer .c-footer-bottom .c-footer__copy {
    display: block;
    font-size: 5.3333333333vw;
  }
  .c-heading1 {
    font-size: 5.3333333333vw;
  }
  .c-heading-sub {
    font-size: 4.2666666667vw;
    margin-top: 5.3333333333vw;
  }
  .c-img-list {
    -webkit-column-gap: 1.7065868263%;
            column-gap: 1.7065868263%;
    row-gap: 1.6vw;
  }
  .c-img-list__item {
    width: 23.6526946108%;
  }
  .c-list__item {
    font-size: 3.7333333333vw;
    margin-top: 2.6666666667vw;
  }
  .c-pagination {
    margin-top: 9.6vw;
    padding-bottom: 14.9333333333vw;
    position: relative;
  }
  .c-pagination-numbers {
    font-size: 6.6666666667vw;
    -webkit-column-gap: 2.6666666667vw;
            column-gap: 2.6666666667vw;
  }
  .c-pagination-numbers li {
    height: 50px;
  }
  .c-pagination-numbers a,
.c-pagination-numbers span {
    width: 9.8666666667vw;
    height: 9.8666666667vw;
  }
  .c-pagination-numbers.prev, .c-pagination-numbers.next {
    position: absolute;
    width: 13.3333333333vw;
    height: 13.3333333333vw;
    border: 0.5333333333vw solid #006CB9;
    bottom: 0;
    background-size: 2.6666666667vw 5.3333333333vw;
  }
  .c-pagination-numbers.prev {
    left: 0;
    right: 20%;
    margin: auto;
  }
  .c-pagination-numbers.next {
    left: 5%;
    right: 0;
    margin: auto;
    -webkit-transform: translateX(50%);
            transform: translateX(50%);
  }
  .c-paragraph1 {
    font-size: 4.2666666667vw;
    margin-top: 8vw;
  }
  .c-paragraph2 {
    font-size: 4.2666666667vw;
  }
  .c-paragraph3 {
    font-size: 3.7333333333vw;
  }
  .c-table1 {
    margin-top: 13.3333333333vw;
  }
  .c-table1__th span {
    border-radius: 1.3333333333vw;
    font-size: 4.2666666667vw;
    padding: 1.3333333333vw 4.1333333333vw;
  }
  .c-table1__th1 {
    width: 47.7611940299%;
    padding-right: 1.0666666667vw;
  }
  .c-table1__th2 {
    width: 67.1641791045%;
  }
  .c-table1__td {
    font-size: 4.2666666667vw;
  }
  .c-table1__td-inner {
    padding: 5.3333333333vw 0.8vw;
  }
  .c-table1__date {
    padding-left: 4vw;
    margin-left: 5.3333333333vw;
  }
  .c-table1__date:before {
    width: 1.3333333333vw;
    border-radius: 20px;
  }
  .c-table1__link {
    font-size: 5.3333333333vw;
  }
  .c-table1__text {
    margin-top: 2.6666666667vw;
  }
  .u-hidden--sp {
    display: none !important;
  }
  .u-mt0\@sp {
    margin-top: 0px !important;
  }
  .u-mb0\@sp {
    margin-bottom: 0px !important;
  }
  .u-ml0\@sp {
    margin-left: 0px !important;
  }
  .u-mr0\@sp {
    margin-right: 0px !important;
  }
  .u-pt0\@sp {
    padding-top: 0px !important;
  }
  .u-pb0\@sp {
    padding-bottom: 0px !important;
  }
  .u-pl0\@sp {
    padding-left: 0px !important;
  }
  .u-pr0\@sp {
    padding-right: 0px !important;
  }
  .u-px0\@sp {
    padding-left: 0px !important;
    padding-right: 0px !important;
  }
  .u-py0\@sp {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
  }
  .u-mt5\@sp {
    margin-top: 5px !important;
  }
  .u-mb5\@sp {
    margin-bottom: 5px !important;
  }
  .u-ml5\@sp {
    margin-left: 5px !important;
  }
  .u-mr5\@sp {
    margin-right: 5px !important;
  }
  .u-pt5\@sp {
    padding-top: 5px !important;
  }
  .u-pb5\@sp {
    padding-bottom: 5px !important;
  }
  .u-pl5\@sp {
    padding-left: 5px !important;
  }
  .u-pr5\@sp {
    padding-right: 5px !important;
  }
  .u-px5\@sp {
    padding-left: 5px !important;
    padding-right: 5px !important;
  }
  .u-py5\@sp {
    padding-top: 5px !important;
    padding-bottom: 5px !important;
  }
  .u-mt10\@sp {
    margin-top: 10px !important;
  }
  .u-mb10\@sp {
    margin-bottom: 10px !important;
  }
  .u-ml10\@sp {
    margin-left: 10px !important;
  }
  .u-mr10\@sp {
    margin-right: 10px !important;
  }
  .u-pt10\@sp {
    padding-top: 10px !important;
  }
  .u-pb10\@sp {
    padding-bottom: 10px !important;
  }
  .u-pl10\@sp {
    padding-left: 10px !important;
  }
  .u-pr10\@sp {
    padding-right: 10px !important;
  }
  .u-px10\@sp {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
  .u-py10\@sp {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }
  .u-mt15\@sp {
    margin-top: 15px !important;
  }
  .u-mb15\@sp {
    margin-bottom: 15px !important;
  }
  .u-ml15\@sp {
    margin-left: 15px !important;
  }
  .u-mr15\@sp {
    margin-right: 15px !important;
  }
  .u-pt15\@sp {
    padding-top: 15px !important;
  }
  .u-pb15\@sp {
    padding-bottom: 15px !important;
  }
  .u-pl15\@sp {
    padding-left: 15px !important;
  }
  .u-pr15\@sp {
    padding-right: 15px !important;
  }
  .u-px15\@sp {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
  .u-py15\@sp {
    padding-top: 15px !important;
    padding-bottom: 15px !important;
  }
  .u-mt20\@sp {
    margin-top: 20px !important;
  }
  .u-mb20\@sp {
    margin-bottom: 20px !important;
  }
  .u-ml20\@sp {
    margin-left: 20px !important;
  }
  .u-mr20\@sp {
    margin-right: 20px !important;
  }
  .u-pt20\@sp {
    padding-top: 20px !important;
  }
  .u-pb20\@sp {
    padding-bottom: 20px !important;
  }
  .u-pl20\@sp {
    padding-left: 20px !important;
  }
  .u-pr20\@sp {
    padding-right: 20px !important;
  }
  .u-px20\@sp {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .u-py20\@sp {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
  }
  .u-mt25\@sp {
    margin-top: 25px !important;
  }
  .u-mb25\@sp {
    margin-bottom: 25px !important;
  }
  .u-ml25\@sp {
    margin-left: 25px !important;
  }
  .u-mr25\@sp {
    margin-right: 25px !important;
  }
  .u-pt25\@sp {
    padding-top: 25px !important;
  }
  .u-pb25\@sp {
    padding-bottom: 25px !important;
  }
  .u-pl25\@sp {
    padding-left: 25px !important;
  }
  .u-pr25\@sp {
    padding-right: 25px !important;
  }
  .u-px25\@sp {
    padding-left: 25px !important;
    padding-right: 25px !important;
  }
  .u-py25\@sp {
    padding-top: 25px !important;
    padding-bottom: 25px !important;
  }
  .u-mt30\@sp {
    margin-top: 30px !important;
  }
  .u-mb30\@sp {
    margin-bottom: 30px !important;
  }
  .u-ml30\@sp {
    margin-left: 30px !important;
  }
  .u-mr30\@sp {
    margin-right: 30px !important;
  }
  .u-pt30\@sp {
    padding-top: 30px !important;
  }
  .u-pb30\@sp {
    padding-bottom: 30px !important;
  }
  .u-pl30\@sp {
    padding-left: 30px !important;
  }
  .u-pr30\@sp {
    padding-right: 30px !important;
  }
  .u-px30\@sp {
    padding-left: 30px !important;
    padding-right: 30px !important;
  }
  .u-py30\@sp {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
  }
  .u-mt35\@sp {
    margin-top: 35px !important;
  }
  .u-mb35\@sp {
    margin-bottom: 35px !important;
  }
  .u-ml35\@sp {
    margin-left: 35px !important;
  }
  .u-mr35\@sp {
    margin-right: 35px !important;
  }
  .u-pt35\@sp {
    padding-top: 35px !important;
  }
  .u-pb35\@sp {
    padding-bottom: 35px !important;
  }
  .u-pl35\@sp {
    padding-left: 35px !important;
  }
  .u-pr35\@sp {
    padding-right: 35px !important;
  }
  .u-px35\@sp {
    padding-left: 35px !important;
    padding-right: 35px !important;
  }
  .u-py35\@sp {
    padding-top: 35px !important;
    padding-bottom: 35px !important;
  }
  .u-mt40\@sp {
    margin-top: 40px !important;
  }
  .u-mb40\@sp {
    margin-bottom: 40px !important;
  }
  .u-ml40\@sp {
    margin-left: 40px !important;
  }
  .u-mr40\@sp {
    margin-right: 40px !important;
  }
  .u-pt40\@sp {
    padding-top: 40px !important;
  }
  .u-pb40\@sp {
    padding-bottom: 40px !important;
  }
  .u-pl40\@sp {
    padding-left: 40px !important;
  }
  .u-pr40\@sp {
    padding-right: 40px !important;
  }
  .u-px40\@sp {
    padding-left: 40px !important;
    padding-right: 40px !important;
  }
  .u-py40\@sp {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }
  .u-mt45\@sp {
    margin-top: 45px !important;
  }
  .u-mb45\@sp {
    margin-bottom: 45px !important;
  }
  .u-ml45\@sp {
    margin-left: 45px !important;
  }
  .u-mr45\@sp {
    margin-right: 45px !important;
  }
  .u-pt45\@sp {
    padding-top: 45px !important;
  }
  .u-pb45\@sp {
    padding-bottom: 45px !important;
  }
  .u-pl45\@sp {
    padding-left: 45px !important;
  }
  .u-pr45\@sp {
    padding-right: 45px !important;
  }
  .u-px45\@sp {
    padding-left: 45px !important;
    padding-right: 45px !important;
  }
  .u-py45\@sp {
    padding-top: 45px !important;
    padding-bottom: 45px !important;
  }
  .u-mt50\@sp {
    margin-top: 50px !important;
  }
  .u-mb50\@sp {
    margin-bottom: 50px !important;
  }
  .u-ml50\@sp {
    margin-left: 50px !important;
  }
  .u-mr50\@sp {
    margin-right: 50px !important;
  }
  .u-pt50\@sp {
    padding-top: 50px !important;
  }
  .u-pb50\@sp {
    padding-bottom: 50px !important;
  }
  .u-pl50\@sp {
    padding-left: 50px !important;
  }
  .u-pr50\@sp {
    padding-right: 50px !important;
  }
  .u-px50\@sp {
    padding-left: 50px !important;
    padding-right: 50px !important;
  }
  .u-py50\@sp {
    padding-top: 50px !important;
    padding-bottom: 50px !important;
  }
  .u-mt55\@sp {
    margin-top: 55px !important;
  }
  .u-mb55\@sp {
    margin-bottom: 55px !important;
  }
  .u-ml55\@sp {
    margin-left: 55px !important;
  }
  .u-mr55\@sp {
    margin-right: 55px !important;
  }
  .u-pt55\@sp {
    padding-top: 55px !important;
  }
  .u-pb55\@sp {
    padding-bottom: 55px !important;
  }
  .u-pl55\@sp {
    padding-left: 55px !important;
  }
  .u-pr55\@sp {
    padding-right: 55px !important;
  }
  .u-px55\@sp {
    padding-left: 55px !important;
    padding-right: 55px !important;
  }
  .u-py55\@sp {
    padding-top: 55px !important;
    padding-bottom: 55px !important;
  }
  .u-mt60\@sp {
    margin-top: 60px !important;
  }
  .u-mb60\@sp {
    margin-bottom: 60px !important;
  }
  .u-ml60\@sp {
    margin-left: 60px !important;
  }
  .u-mr60\@sp {
    margin-right: 60px !important;
  }
  .u-pt60\@sp {
    padding-top: 60px !important;
  }
  .u-pb60\@sp {
    padding-bottom: 60px !important;
  }
  .u-pl60\@sp {
    padding-left: 60px !important;
  }
  .u-pr60\@sp {
    padding-right: 60px !important;
  }
  .u-px60\@sp {
    padding-left: 60px !important;
    padding-right: 60px !important;
  }
  .u-py60\@sp {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
  }
  .u-mt65\@sp {
    margin-top: 65px !important;
  }
  .u-mb65\@sp {
    margin-bottom: 65px !important;
  }
  .u-ml65\@sp {
    margin-left: 65px !important;
  }
  .u-mr65\@sp {
    margin-right: 65px !important;
  }
  .u-pt65\@sp {
    padding-top: 65px !important;
  }
  .u-pb65\@sp {
    padding-bottom: 65px !important;
  }
  .u-pl65\@sp {
    padding-left: 65px !important;
  }
  .u-pr65\@sp {
    padding-right: 65px !important;
  }
  .u-px65\@sp {
    padding-left: 65px !important;
    padding-right: 65px !important;
  }
  .u-py65\@sp {
    padding-top: 65px !important;
    padding-bottom: 65px !important;
  }
  .u-mt70\@sp {
    margin-top: 70px !important;
  }
  .u-mb70\@sp {
    margin-bottom: 70px !important;
  }
  .u-ml70\@sp {
    margin-left: 70px !important;
  }
  .u-mr70\@sp {
    margin-right: 70px !important;
  }
  .u-pt70\@sp {
    padding-top: 70px !important;
  }
  .u-pb70\@sp {
    padding-bottom: 70px !important;
  }
  .u-pl70\@sp {
    padding-left: 70px !important;
  }
  .u-pr70\@sp {
    padding-right: 70px !important;
  }
  .u-px70\@sp {
    padding-left: 70px !important;
    padding-right: 70px !important;
  }
  .u-py70\@sp {
    padding-top: 70px !important;
    padding-bottom: 70px !important;
  }
  .u-mt75\@sp {
    margin-top: 75px !important;
  }
  .u-mb75\@sp {
    margin-bottom: 75px !important;
  }
  .u-ml75\@sp {
    margin-left: 75px !important;
  }
  .u-mr75\@sp {
    margin-right: 75px !important;
  }
  .u-pt75\@sp {
    padding-top: 75px !important;
  }
  .u-pb75\@sp {
    padding-bottom: 75px !important;
  }
  .u-pl75\@sp {
    padding-left: 75px !important;
  }
  .u-pr75\@sp {
    padding-right: 75px !important;
  }
  .u-px75\@sp {
    padding-left: 75px !important;
    padding-right: 75px !important;
  }
  .u-py75\@sp {
    padding-top: 75px !important;
    padding-bottom: 75px !important;
  }
  .u-mt80\@sp {
    margin-top: 80px !important;
  }
  .u-mb80\@sp {
    margin-bottom: 80px !important;
  }
  .u-ml80\@sp {
    margin-left: 80px !important;
  }
  .u-mr80\@sp {
    margin-right: 80px !important;
  }
  .u-pt80\@sp {
    padding-top: 80px !important;
  }
  .u-pb80\@sp {
    padding-bottom: 80px !important;
  }
  .u-pl80\@sp {
    padding-left: 80px !important;
  }
  .u-pr80\@sp {
    padding-right: 80px !important;
  }
  .u-px80\@sp {
    padding-left: 80px !important;
    padding-right: 80px !important;
  }
  .u-py80\@sp {
    padding-top: 80px !important;
    padding-bottom: 80px !important;
  }
  .u-mt85\@sp {
    margin-top: 85px !important;
  }
  .u-mb85\@sp {
    margin-bottom: 85px !important;
  }
  .u-ml85\@sp {
    margin-left: 85px !important;
  }
  .u-mr85\@sp {
    margin-right: 85px !important;
  }
  .u-pt85\@sp {
    padding-top: 85px !important;
  }
  .u-pb85\@sp {
    padding-bottom: 85px !important;
  }
  .u-pl85\@sp {
    padding-left: 85px !important;
  }
  .u-pr85\@sp {
    padding-right: 85px !important;
  }
  .u-px85\@sp {
    padding-left: 85px !important;
    padding-right: 85px !important;
  }
  .u-py85\@sp {
    padding-top: 85px !important;
    padding-bottom: 85px !important;
  }
  .u-mt90\@sp {
    margin-top: 90px !important;
  }
  .u-mb90\@sp {
    margin-bottom: 90px !important;
  }
  .u-ml90\@sp {
    margin-left: 90px !important;
  }
  .u-mr90\@sp {
    margin-right: 90px !important;
  }
  .u-pt90\@sp {
    padding-top: 90px !important;
  }
  .u-pb90\@sp {
    padding-bottom: 90px !important;
  }
  .u-pl90\@sp {
    padding-left: 90px !important;
  }
  .u-pr90\@sp {
    padding-right: 90px !important;
  }
  .u-px90\@sp {
    padding-left: 90px !important;
    padding-right: 90px !important;
  }
  .u-py90\@sp {
    padding-top: 90px !important;
    padding-bottom: 90px !important;
  }
  .u-mt95\@sp {
    margin-top: 95px !important;
  }
  .u-mb95\@sp {
    margin-bottom: 95px !important;
  }
  .u-ml95\@sp {
    margin-left: 95px !important;
  }
  .u-mr95\@sp {
    margin-right: 95px !important;
  }
  .u-pt95\@sp {
    padding-top: 95px !important;
  }
  .u-pb95\@sp {
    padding-bottom: 95px !important;
  }
  .u-pl95\@sp {
    padding-left: 95px !important;
  }
  .u-pr95\@sp {
    padding-right: 95px !important;
  }
  .u-px95\@sp {
    padding-left: 95px !important;
    padding-right: 95px !important;
  }
  .u-py95\@sp {
    padding-top: 95px !important;
    padding-bottom: 95px !important;
  }
  .u-mt100\@sp {
    margin-top: 100px !important;
  }
  .u-mb100\@sp {
    margin-bottom: 100px !important;
  }
  .u-ml100\@sp {
    margin-left: 100px !important;
  }
  .u-mr100\@sp {
    margin-right: 100px !important;
  }
  .u-pt100\@sp {
    padding-top: 100px !important;
  }
  .u-pb100\@sp {
    padding-bottom: 100px !important;
  }
  .u-pl100\@sp {
    padding-left: 100px !important;
  }
  .u-pr100\@sp {
    padding-right: 100px !important;
  }
  .u-px100\@sp {
    padding-left: 100px !important;
    padding-right: 100px !important;
  }
  .u-py100\@sp {
    padding-top: 100px !important;
    padding-bottom: 100px !important;
  }
  .u-text--left-sp {
    text-align: left !important;
  }
  .u-text--center-sp {
    text-align: center !important;
  }
  .u-text--right-sp {
    text-align: right !important;
  }
  .ev-text {
    margin: 8vw auto 0;
    padding: 5.3333333333vw;
  }
  .sup-box {
    margin-top: 10.6666666667vw;
    padding: 8vw 5.3333333333vw;
  }
  .sup-list {
    margin-top: 10.9333333333vw;
  }
  .top-mv1 .top-mv-contents {
    top: 29.0666666667vw;
    -webkit-transform: translate(calc(-50% - 1.3333333333vw), 0);
            transform: translate(calc(-50% - 1.3333333333vw), 0);
    width: 65.3333333333vw;
    border-radius: 8vw;
    padding: 4.8vw 5.3333333333vw 16vw 5.3333333333vw;
  }
  .top-mv1 .top-mv-contents::before {
    background-image: url("../img/top/bg_mv_sp.png");
    width: 100%;
    height: 21.7973333333vw;
  }
  .top-mv1 .top-mv__catch {
    top: -4.5333333333vw;
    left: -2.4vw;
    width: 41.3333333333vw;
  }
  .top-mv1 .top-mv__logo img {
    width: 18.6666666667vw;
  }
  .top-mv1 .top-mv__title {
    max-width: 100%;
    margin-top: 2.1333333333vw;
  }
  .top-mv1 .top-mv__title picture, .top-mv1 .top-mv__title img, .top-mv1 .top-mv__title source {
    width: 61.3333333333vw;
    max-width: none;
  }
  .top-mv1 .top-mv-contents__detail {
    margin-top: 1.0666666667vw;
    padding-left: 1.0666666667vw;
  }
  .top-mv1 .top-mv__text {
    font-size: 2.6666666667vw;
  }
  .top-mv1 .top-mv__link {
    margin: 2.9333333333vw 0 0 0;
    padding: 1.6vw 0;
    font-size: 3.7333333333vw;
    width: 48vw;
    bottom: 66.1333333333vw;
    left: 7.2vw;
  }
  .top-contents {
    margin-bottom: 26.6666666667vw;
  }
  .top-contents__wrapper {
    padding: 0 5.3333333333vw;
  }
  .top-supporter {
    background-size: 58.9333333333vw auto, 74.6666666667vw auto;
    background-position: left top, right bottom -8vw;
    padding: 29.3333333333vw 0 18.6666666667vw;
  }
  .top-supporter .c-paragraph1 {
    margin-top: 5.3333333333vw;
  }
  .top-supporter .c-btn {
    width: 78.6666666667vw;
    margin: 10.6666666667vw auto 0;
  }
  .top-supporter .c-img-list {
    -webkit-column-gap: 1.7065868263%;
            column-gap: 1.7065868263%;
  }
  .top-supporter .c-img-list__item {
    width: 23.6526946108%;
  }
  .top-supporter:not(:has(.top-supporter-list)) {
    background-position: left top, right bottom 8vw;
    padding: 29.3333333333vw 0 44.5333333333vw;
  }
  .top-supporter__heading {
    margin-top: 17.6vw;
  }
  .top-supporter-list {
    margin-top: 11.2vw;
  }
  .top-overview .c-btn {
    margin-top: 10.6666666667vw;
  }
  .top-overview .c-btn.c-btn--disabled {
    margin-top: 5.3333333333vw;
  }
  .top-overview__inner {
    background-size: 82.4vw auto;
    border-radius: 2.6666666667vw;
    padding: 10.6666666667vw 5.3333333333vw 16vw;
  }
  .top-overview__text {
    margin-top: 5.3333333333vw;
  }
  .top-overview__dl {
    margin-top: 12.2666666667vw;
  }
  .top-overview__dt {
    font-size: 3.7333333333vw;
    width: 17.3333333333vw;
    margin-top: 8.5333333333vw;
  }
  .top-overview__dt:first-of-type {
    width: 100%;
    margin-top: 0;
  }
  .top-overview__dd {
    font-size: 4.2666666667vw;
    width: 57.3333333333vw;
    margin-top: 8.5333333333vw;
  }
  .top-overview__dd:first-of-type {
    width: 100%;
    margin-top: 4vw;
  }
  .top-overview-step__item {
    margin-top: 5.3333333333vw;
  }
  .top-overview-step__item:first-child {
    margin-top: 0;
  }
  .top-overview-step1 .top-overview-step-img img {
    top: 8vw;
    left: 27.7333333333vw;
    width: 36vw;
  }
  .top-overview-step2 .top-overview-step-img img {
    top: 8.5333333333vw;
    left: 17.3333333333vw;
    width: 43.4666666667vw;
  }
  .top-overview-step3 .top-overview-step-img img {
    bottom: 0;
    left: 14.9333333333vw;
    width: 51.4666666667vw;
  }
  .top-overview-step-img {
    border-radius: 2.6666666667vw;
    height: 55.4666666667vw;
  }
  .top-overview-step-img .top-overview-step__num {
    width: 14.4vw;
    height: 14.4vw;
  }
  .top-overview-step-img .top-overview-step__num-text {
    width: 12.5333333333vw;
    font-size: 5.7226666667vw;
    margin-top: -0.5333333333vw;
  }
  .top-overview-step-img .top-overview-step__num-text span {
    font-size: 2.8613333333vw;
  }
  .top-overview-step__heading {
    font-size: 4.2666666667vw;
    margin-top: 1.3333333333vw;
    letter-spacing: -0.01em;
  }
  .top-overview-step__note {
    font-size: 3.7333333333vw;
    margin-top: 1.3333333333vw;
  }
  .top-overview__item {
    font-size: 3.7333333333vw;
    margin-top: 2.6666666667vw;
  }
  .top-overview-event {
    margin-top: 10.6666666667vw;
    border-radius: 2.6666666667vw;
    padding: 9.0666666667vw 6.7796610169%;
  }
  .top-overview-event__heading {
    line-height: 0.8;
    font-size: 6.4vw;
  }
  .top-overview-event__heading-sub {
    font-size: 3.2vw;
  }
  .top-overview-event__paragraph {
    margin-top: 5.3333333333vw;
  }
  .top-overview-event-date {
    margin-top: 5.3333333333vw;
  }
  .top-overview-event-date__dl {
    margin-top: 4vw;
  }
  .top-overview-event-date__dt {
    font-size: 3.7333333333vw;
    border-radius: 1.3333333333vw;
  }
  .top-overview-event-date__dd {
    font-size: 3.7333333333vw;
    margin-top: 1.3333333333vw;
    letter-spacing: -0.01em;
  }
  .top-info__inner {
    background-image: url("../img/top/bg_info01_sp.png"), url("../img/top/bg_info02_sp.png");
    background-position: left 3.4666666667vw top, right bottom;
    background-size: 49.8666666667vw auto, 60vw auto;
    margin-top: 13.3333333333vw;
    border-radius: 2.6666666667vw;
    padding: 21.3333333333vw 4.8vw 29.3333333333vw;
    box-shadow: 0 0 8vw 0 rgba(0, 0, 0, 0.15);
  }
  .top-count {
    justify-content: center;
    flex-wrap: wrap;
  }
  .top-count__text {
    margin-bottom: 4vw;
  }
  .top-count__text img {
    width: 67.4666666667vw;
  }
  .top-count__img-num {
    width: 18.4vw;
    margin-right: 1.0666666667vw;
  }
  .top-count__img-day {
    width: 6.9333333333vw;
    margin-left: 2.064vw;
  }
  .top-character {
    margin-top: 12vw;
  }
  .top-character img {
    width: 31.88vw;
    margin-top: 4vw;
  }
  .top-character__paragraph {
    font-size: 3.7333333333vw;
  }
  .top-info-link {
    margin: 10.6666666667vw 0 0;
  }
  .top-info-link__heading {
    font-size: 4.8vw;
    padding: 3.032vw 0;
    margin-bottom: 4vw;
    border-radius: 2.6666666667vw;
  }
  .top-info-link__catch {
    font-size: 4.2666666667vw;
    margin-bottom: 2.9333333333vw;
  }
  .top-info-link__catch::before {
    height: calc(tan(60deg) * 3.4666666667vw / 2);
    width: 3.4666666667vw;
    -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
            clip-path: polygon(0 0, 100% 0, 50% 100%);
    margin-right: 1.0666666667vw;
    -webkit-transform: translateY(0.5333333333vw);
            transform: translateY(0.5333333333vw);
  }
  .top-info-hp__link {
    border-radius: 2.6666666667vw;
    border: 0.5333333333vw solid #AEAEAE;
    padding: 5.0666666667vw 0;
  }
  .top-info-hp__link img {
    width: 41.3333333333vw;
  }
  .top-info-sns {
    margin-top: 4.5333333333vw;
  }
  .top-info-sns__list {
    border-radius: 2.6666666667vw;
    padding: 7.2vw 0;
    -webkit-column-gap: 8vw;
            column-gap: 8vw;
  }
  .top-info-sns__item {
    width: 10.6666666667vw;
  }
  .top-info-sns__item.top-info-sns__item--yt {
    width: 15.4666666667vw;
  }
  .top-info-sns__item:first-child {
    width: 11.8586666667vw;
  }
}