/*! 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 {
  -webkit-box-sizing: content-box;
  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 {
  -webkit-box-sizing: border-box;
  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] {
  -webkit-box-sizing: border-box;
  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;
}

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

body {
  line-height: 1;
}

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

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

blockquote,
q {
  quotes: none;
}

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

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

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

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

del {
  text-decoration: line-through;
}

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

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

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

input,
select {
  vertical-align: middle;
}

*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

:root {
  --vw: 100vw;
  --vh: 1vh;
}

html {
  font-size: 62.5%;
}

html.no-scroll {
  overflow: hidden;
  -ms-touch-action: none;
  touch-action: none;
}

@media (max-width: 375px) {
  html {
    font-size: calc(var(--vw) / 37.5);
  }
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: #000;
  -webkit-text-size-adjust: 100%;
  -webkit-font-feature-settings: "palt" on;
  font-feature-settings: "palt" on;
  background: #fff;
}

a {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  outline: none;
  text-decoration: none;
  color: inherit;
  -webkit-touch-callout: none;
  -webkit-text-size-adjust: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

img {
  max-width: 100%;
  vertical-align: middle;
  height: auto;
}

@media screen and (max-width: 767px) {
  img {
    width: 100%;
  }
}

picture {
  display: block;
}

button {
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none transparent;
  color: inherit;
  font-size: inherit;
  line-height: 1;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer;
}

input {
  outline: none;
  border-radius: 0;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}

textarea {
  outline: none;
  resize: vertical;
  -webkit-appearance: none;
}

::-webkit-input-placeholder {
  /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: #BABABA;
  opacity: 1;
  /* Firefox */
}

::-moz-placeholder {
  /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: #BABABA;
  opacity: 1;
  /* Firefox */
}

:-ms-input-placeholder {
  /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: #BABABA;
  opacity: 1;
  /* Firefox */
}

::-ms-input-placeholder {
  /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: #BABABA;
  opacity: 1;
  /* Firefox */
}

::placeholder {
  /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: #BABABA;
  opacity: 1;
  /* Firefox */
}

:-ms-input-placeholder {
  /* Internet Explorer 10-11 */
  color: #BABABA;
}

::-ms-input-placeholder {
  /* Microsoft Edge */
  color: #BABABA;
}

#wrapper {
  position: relative;
  overflow: hidden;
}

#wrapper::before {
  content: "";
  width: 100%;
  height: 100vh;
  background: url("../img/bg_body.png") no-repeat center/cover;
  position: fixed;
  top: 0;
  left: 0;
}

@media (min-width: 960px) {
  #wrapper {
    margin-left: 34.4rem;
  }
}

.l-inner {
  position: relative;
  padding: 0 1.6rem;
}

@media screen and (min-width: 768px) {
  .is-sp {
    display: none !important;
  }
}

@media screen and (max-width: 767px) {
  .is-pc {
    display: none !important;
  }
}

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

.u-img-fit {
  font-family: "object-fit: cover;";
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.txt-blue {
  color: #0381E8;
}

.l-header {
  position: fixed;
  top: 1.6rem;
  left: 1.6rem;
  width: calc(100% - 3.2rem);
  height: 4.8rem;
  background: #fff;
  z-index: 100;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-radius: 0.4rem;
  -webkit-box-shadow: 0px 0px 0.8rem rgba(0, 0, 0, 0.15);
  box-shadow: 0px 0px 0.8rem rgba(0, 0, 0, 0.15);
  z-index: 200;
}

.l-header__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  max-width: 52rem;
  width: 100%;
  margin: 0 auto;
  padding: 0 1.5rem 0 1rem;
  position: relative;
}

.l-header__logo {
  max-width: 8.8rem;
}

.l-header__logo a {
  display: block;
  font-size: 0;
}

.l-header__right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 2.3rem;
}

.l-header__btn a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background: #E80310;
  color: #fff;
  font-family: "Poppins", sans-serif;
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  border-radius: 0.4rem;
  padding: 0.7rem 0.4rem 0.7rem 0.8rem;
}

.l-header__btn a::after {
  content: "";
  width: 1.6rem;
  height: 1.6rem;
  background: url('data:image/svg+xml,<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6 12L10 8L6 4" stroke="white" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>') no-repeat center/contain;
  display: inline-block;
  margin-left: 0.2rem;
}

.l-header__hamburger {
  position: relative;
  width: 1.8rem;
  height: 1.3rem;
}

.l-header__hamburger span {
  display: block;
  width: 100%;
  height: 1px;
  position: absolute;
  right: 0;
  background: #333;
  -webkit-transition: opacity 0.2s ease, -webkit-transform 0.3s ease;
  transition: opacity 0.2s ease, -webkit-transform 0.3s ease;
  transition: transform 0.3s ease, opacity 0.2s ease;
  transition: transform 0.3s ease, opacity 0.2s ease, -webkit-transform 0.3s ease;
  -webkit-transform-origin: center;
  transform-origin: center;
}

.l-header__hamburger span:nth-child(1) {
  top: 0;
}

.l-header__hamburger span:nth-child(2) {
  top: 50%;
  margin-top: -1px;
}

.l-header__hamburger span:nth-child(3) {
  bottom: 0;
}

.l-header__hamburger[aria-expanded=true] span:nth-child(1) {
  -webkit-transform: translateY(0.7rem) rotate(45deg);
  transform: translateY(0.7rem) rotate(45deg);
}

.l-header__hamburger[aria-expanded=true] span:nth-child(2) {
  opacity: 0;
}

.l-header__hamburger[aria-expanded=true] span:nth-child(3) {
  -webkit-transform: translateY(-0.5rem) rotate(-45deg);
  transform: translateY(-0.5rem) rotate(-45deg);
}

.l-header__nav {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  position: fixed;
  top: 0;
  left: 50%;
  background: -webkit-gradient(linear, left top, right top, from(rgba(30, 54, 153, 0.9)), to(rgba(77, 152, 221, 0.9)));
  background: linear-gradient(90deg, rgba(30, 54, 153, 0.9) 0%, rgba(77, 152, 221, 0.9) 100%);
  z-index: 100;
  width: 100%;
  max-width: 52rem;
  height: 100dvh;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.l-header__nav.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: all;
}

.l-header__nav .nav-inner {
  padding: 10rem 1.65rem;
  position: relative;
}

.l-header__nav .nav-menu {
  text-align: center;
}

.l-header__nav .nav-menu li {
  border-bottom: 1px solid #DDDDDD;
  padding-bottom: 2.3rem;
}

.l-header__nav .nav-menu li+li {
  margin-top: 2.3rem;
}

.l-header__nav .nav-menu li a {
  color: #fff;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}

.l-header__nav .nav-btn {
  text-align: center;
  margin-top: 4rem;
}

.l-header__nav .nav-btn .c-btn {
  max-width: 100%;
  min-height: 6.8rem;
}

.l-header__nav .nav-btn .c-btn::after {
  height: 3.6rem;
  background-size: 2.4rem 2.4rem;
}

.c-sidebar {
  display: none;
  background: #fff;
  max-width: 34.4rem;
  width: 100%;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
}

@media (min-width: 960px) {
  .c-sidebar {
    display: block;
  }
}

.c-sidebar__left {
  height: 100%;
  width: 100%;
  padding: 6rem 3.2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  overflow: auto;
}

.c-sidebar__logo {
  max-width: 19.6rem;
  margin: 0 auto;
}

.c-sidebar__menu {
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  text-align: center;
  font-weight: 700;
  letter-spacing: 0.1em;
  padding: 3.5rem 0;
  margin: 6rem 0;
}

.c-sidebar__menu li+li {
  margin-top: 2.4rem;
}

.c-sidebar__menu li a {
  display: inline-block;
  color: #333;
}

.c-sidebar__menu li a:hover {
  color: #005392;
}

.l-main {
  max-width: 52rem;
  margin: 0 auto;
  -webkit-box-shadow: 0px 0px 4.4rem 1rem rgba(1, 45, 67, 0.2);
  box-shadow: 0px 0px 4.4rem 1rem rgba(1, 45, 67, 0.2);
  z-index: 10;
  position: relative;
  background: #fff;
}

@media (min-width: 960px) {
  .l-main {
    max-width: 37.5rem;
  }
}

.l-footer {
  max-width: 52rem;
  margin: 0 auto;
  -webkit-box-shadow: 0px 0px 18px rgba(41, 59, 71, 0.25);
  box-shadow: 0px 0px 18px rgba(41, 59, 71, 0.25);
  background: #fff;
  text-align: center;
  position: relative;
  z-index: 10;
  padding: 0 0 1.1rem;
}

@media (min-width: 960px) {
  .l-footer {
    max-width: 37.5rem;
  }
}

.l-footer__top a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 1.2rem;
  background: #2E2F30;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  padding: 0.3rem;
}

.l-footer__top a::before,
.l-footer__top a::after {
  content: "";
  width: 1.6rem;
  height: 1.6rem;
  background: url('data:image/svg+xml,<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(%23clip0_9534_4503)"><path fill-rule="evenodd" clip-rule="evenodd" d="M7.52867 5.52869C7.65368 5.40371 7.82322 5.3335 8 5.3335C8.17677 5.3335 8.34631 5.40371 8.47133 5.52869L12.2427 9.30002C12.3641 9.42575 12.4313 9.59416 12.4298 9.76895C12.4283 9.94375 12.3581 10.111 12.2345 10.2346C12.1109 10.3582 11.9437 10.4283 11.7689 10.4298C11.5941 10.4313 11.4257 10.3641 11.3 10.2427L8 6.94269L4.7 10.2427C4.57426 10.3641 4.40586 10.4313 4.23106 10.4298C4.05627 10.4283 3.88906 10.3582 3.76545 10.2346C3.64185 10.111 3.57173 9.94375 3.57022 9.76895C3.5687 9.59416 3.63589 9.42575 3.75733 9.30002L7.52867 5.52869Z" fill="white"/></g><defs><clipPath id="clip0_9534_4503"><rect width="16" height="16" fill="white"/></clipPath></defs></svg>') no-repeat center/contain;
  display: inline-block;
}

.l-footer__copyright {
  font-size: 1rem;
  letter-spacing: 0.05em;
  color: #333;
  font-weight: 500;
  margin-top: 0.9rem;
}

.c-btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  text-align: center;
  color: #fff;
  letter-spacing: 0.1em;
  font-weight: 700;
  max-width: 28rem;
  width: 100%;
  border-radius: 0.4rem;
  padding: 1.2rem 0 1.2rem 2.4rem;
  min-height: 4.8rem;
  -webkit-box-shadow: 0px 0.5rem 0px #A2020B;
  box-shadow: 0px 0.5rem 0px #A2020B;
  position: relative;
  background: -webkit-gradient(linear, left top, right top, from(#F0530A), to(#FFAA2C));
  background: linear-gradient(90deg, #F0530A 0%, #FFAA2C 100%);
  -webkit-box-shadow: 0 0.5rem 0 rgba(0, 0, 0, 0.2);
  box-shadow: 0 0.5rem 0 rgba(0, 0, 0, 0.2);
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.c-btn span {
  display: inline-block;
  width: 100%;
}

.c-btn::after {
  content: "";
  width: 6.1rem;
  height: 2.4rem;
  background: url('data:image/svg+xml,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><rect width="24" height="24" rx="2" fill="white"/><path d="M14 8C14 8.371 14.3665 8.925 14.7375 9.39C15.2145 9.99 15.7845 10.5135 16.438 10.913C16.928 11.2125 17.522 11.5 18 11.5M18 11.5C17.522 11.5 16.9275 11.7875 16.438 12.087C15.7845 12.487 15.2145 13.0105 14.7375 13.6095C14.3665 14.075 14 14.63 14 15M18 11.5H6" stroke="%23FFAA2C"/></svg>') no-repeat center/2.4rem 100%;
  border-left: 1px solid #fff;
  display: inline-block;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.c-btn:hover {
  -webkit-box-shadow: 0px 0px 0px #F0530A;
  box-shadow: 0px 0px 0px #F0530A;
  -webkit-transform: translateY(0.5rem);
  transform: translateY(0.5rem);
  background-position: 0 0;
}

.c-form {
  color: #303030;
  font-size: 1.4rem;
  letter-spacing: 0.02em;
}

.c-form .c-form-group {
  margin-bottom: 2.4rem;
}

.c-form .c-form-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
  letter-spacing: 0.02em;
}

.c-form .c-form-required {
  background: #CF0100;
  color: #fff;
  display: inline-block;
  font-size: 1rem;
  font-weight: 700;
  min-width: 4.1rem;
  line-height: 2rem;
  text-align: center;
  border-radius: 0.3rem;
}

.c-form .c-form-note {
  font-size: 1.2rem;
  font-weight: 400;
  color: #707070;
  font-family: "Inter", sans-serif;
}

.c-form .c-form-input {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: #F9F9F9;
  border: 1px solid #B5B5B5;
  border-radius: 0.4rem;
  -webkit-box-shadow: none;
  box-shadow: none;
  width: 100%;
  font-size: 1.4rem;
  font-weight: 400;
  padding: 1.9rem 1.5rem;
  line-height: 1.2;
}

.c-form .c-form-input::-webkit-input-placeholder {
  color: #B5B5B5;
}

.c-form .c-form-input::-moz-placeholder {
  color: #B5B5B5;
}

.c-form .c-form-input:-ms-input-placeholder {
  color: #B5B5B5;
}

.c-form .c-form-input::-ms-input-placeholder {
  color: #B5B5B5;
}

.c-form .c-form-input::placeholder {
  color: #B5B5B5;
}

.c-form .c-form-input--textarea {
  padding: 1.5rem;
  min-height: 20rem;
  resize: none;
}

.c-form .c-form-input.is-error {
  border-color: #DA4432;
  background: #FFF6F4;
}

.c-form .c-form-any {
  background: #707070;
  color: #fff;
  display: inline-block;
  font-size: 1rem;
  font-weight: 700;
  min-width: 4.1rem;
  line-height: 2rem;
  text-align: center;
  border-radius: 0.3rem;
}

.c-form .c-form-privacy {
  border: 1px solid #B5B5B5;
  border-radius: 0.4rem;
  font-size: 1.2rem;
  line-height: 1.4;
  padding: 1.2rem 2rem;
  max-height: 14.8rem;
  overflow-y: auto;
  margin-bottom: 2.4rem;
  color: #707070;
}

.c-form .c-form-privacy h3 {
  font-weight: 500;
  margin-bottom: 1.5rem;
}

.c-form .c-form-checkbox__label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  cursor: pointer;
}

.c-form .c-form-checkbox__input {
  display: none;
}

.c-form .c-form-checkbox__input:checked+.c-form-checkbox__icon::before {
  content: "";
  width: 1.2rem;
  height: 1.2rem;
  background: #518AF3;
  border-radius: 1px;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.c-form .c-form-checkbox__icon {
  display: inline-block;
  width: 2.4rem;
  height: 2.4rem;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  border: 1px solid #B5B5B5;
  border-radius: 0.2rem;
  margin-right: 2rem;
  position: relative;
}

.c-form .c-form-checkbox__text {
  display: inline-block;
  letter-spacing: 0.04em;
  margin-right: 1.4rem;
}

.c-form .c-form-checkbox .c-form-required {
  min-width: 4.5rem;
  line-height: 2.4rem;
}

.c-form .c-form-checkbox.is-error .c-form-checkbox__icon {
  border-color: #DA4432;
  background: #FFF6F4;
}

.c-form .c-form-checkbox .c-form-error {
  margin-left: 4.5rem;
}

.c-form .c-form-error {
  color: #DA4432;
  font-size: 1.2rem;
  margin-top: 0.8rem;
  display: block;
}

.c-form .c-form-bottom {
  font-weight: 400;
  font-size: 1.2rem;
  line-height: 2;
  letter-spacing: 0.02em;
  margin-top: 1.3rem;
}

.c-form .c-form-bottom a {
  color: #518AF3;
  text-decoration: underline;
}

.c-form .c-form-bottom a:hover {
  text-decoration: none;
}

.c-form .c-form-button {
  margin-top: 4.4rem;
}

.c-form .c-form-button .c-btn {
  max-width: 100%;
  min-height: 6.8rem;
  font-size: 1.6rem;
}

.c-form .is-error {
  scroll-margin-top: 6.4rem;
}

.grecaptcha-badge {
  z-index: 100;
}

.sec01 {
  background: url("../img/sec01_bg.png") no-repeat center/cover;
  position: relative;
  padding: 11.9rem 0 15.6rem;
}

.sec01 .sec01-ttl {
  max-width: 33.75rem;
  width: 100%;
  margin-left: 1.3rem;
}

.sec01 .sec01-list {
  max-width: 35rem;
  width: 100%;
  margin: 4rem 0 0;
}

.sec01 .sec01-box {
  width: 100%;
  margin: 8.7rem 0 0;
}

.sec01 .sec01-image {
  max-width: 20.5rem;
  width: 100%;
  position: absolute;
  bottom: 0;
  right: 0;
}

.sec02 {
  position: relative;
  margin: -5.1rem 0 6rem;
}

.sec02 .sec02-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 4rem;
}

.sec03 {
  background: url("../img/sec03_bg.png") no-repeat center/cover;
  padding: 6rem 2rem 5.2rem;
}

.sec03 .sec03-item {
  width: 34.3rem;
  margin: 0 auto;
}

.sec03 .sec03-item+.sec03-item {
  margin-top: 3.2rem;
}

.sec04 {
  background: url("../img/sec04_bg.png") no-repeat center/cover;
  padding: 6rem 2rem;
  color: #fff;
}

.sec04 .sec04-ttl {
  font-size: 1.4rem;
  letter-spacing: 0.1em;
}

.sec04 .sec04-ttl span {
  font-family: "Abril Fatface", serif;
  font-weight: 400;
  font-size: 4rem;
  display: block;
  line-height: 1;
  margin-bottom: 0.7rem;
  letter-spacing: 0.1em;
}

.sec04 .sec04-copy {
  line-height: 1.4;
  margin-top: 3.6rem;
  margin-bottom: 3.9rem;
}

.sec04 .sec04-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 2.2rem;
}

.sec04 .sec04-item {
  border-top: 1px solid rgba(255, 255, 255, 0.4);
  padding-top: 2.4rem;
}

.sec04 .sec04-item__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  gap: 0.6rem;
  margin-left: -2rem;
}

.sec04 .sec04-item__img {
  width: 12.1rem;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.sec04 .sec04-item__lead {
  font-size: 1.4rem;
  font-weight: 700;
}

.sec04 .sec04-item__name {
  font-size: 1.4rem;
  margin-top: 0.5rem;
  letter-spacing: 0.04em;
}

.sec04 .sec04-item__name span {
  font-size: 2.4rem;
  display: inline-block;
  margin-right: 0.8rem;
  line-height: 1;
  letter-spacing: 0.1em;
}

.sec04 .sec04-item__desc {
  line-height: 1.8;
  font-size: 1.4rem;
  margin-top: 2.4rem;
  letter-spacing: 0.1em;
}

.sec05 {
  padding: 6rem 2rem;
}

.sec05 .sec05-ttl {
  font-size: 1.4rem;
}

.sec05 .sec05-ttl span {
  font-family: "Abril Fatface", serif;
  display: block;
  font-size: 4rem;
  font-weight: 400;
  background: -webkit-gradient(linear, left top, right top, from(#1E3699), to(#4D98DD));
  background: linear-gradient(90deg, #1E3699 0%, #4D98DD 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
  line-height: 1;
  letter-spacing: 0.1em;
  margin-bottom: 0.7rem;
}

.sec05 .sec05-list {
  margin-top: 4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 4.3rem;
}

.sec05 .sec05-item__num {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.8rem;
  font-family: "Abril Fatface", serif;
  font-size: 1.4rem;
  line-height: 1;
}

.sec05 .sec05-item__num .txt {
  display: inline-block;
  white-space: nowrap;
  background: -webkit-gradient(linear, left top, right top, from(#1E3699), to(#4D98DD));
  background: linear-gradient(90deg, #1E3699 0%, #4D98DD 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
}

.sec05 .sec05-item__num .txt-num {
  font-size: 2rem;
}

.sec05 .sec05-item__num::after {
  content: "";
  width: 100%;
  height: 1px;
  background: -webkit-gradient(linear, left top, right top, from(#4D98DD), to(transparent));
  background: linear-gradient(90deg, #4D98DD 0%, transparent);
  display: inline-block;
}

.sec05 .sec05-item__img {
  width: calc(100% + 4rem);
  margin-left: -2rem;
  margin-top: 2rem;
}

.sec05 .sec05-item__ttl {
  margin-left: -2rem;
  background: -webkit-gradient(linear, left top, right top, from(#1E3699), to(#4D98DD));
  background: linear-gradient(90deg, #1E3699 0%, #4D98DD 100%);
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  color: #fff;
  font-size: 1.8rem;
  line-height: 1.4;
  padding: 0.7rem 0.6rem 0.7rem 2rem;
  margin-top: -3.4rem;
  position: relative;
}

.sec05 .sec05-item__ttl::after {
  content: "";
  width: 2.5rem;
  height: 100%;
  background: url('data:image/svg+xml,<svg width="25" height="64" viewBox="0 0 25 64" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0 64L25 0H0V64Z" fill="%234D98DD"/></svg>') no-repeat center/cover;
  position: absolute;
  top: 0;
  left: 100%;
}

.sec05 .sec05-item__copy {
  font-size: 1.4rem;
  line-height: 1.8;
  letter-spacing: 0.1em;
  margin-top: 1.6rem;
}

.sec05 .sec05-item__copy .txt-color01 {
  color: #4D98DD;
}

.sec05 .sec05-btn {
  text-align: center;
  margin-top: 5.8rem;
}

.sec05 .sec05-btn .c-btn {
  max-width: 100%;
  min-height: 6.8rem;
}

.sec06 {
  padding: 0 0 5.2rem;
}

.sec06 .sec06-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 1.6rem;
  margin-left: 1.6rem;
}

.sec07 {
  background: url("../img/sec07_bg.png") no-repeat center/cover;
  padding: 6rem 2rem;
}

.sec07 .sec07-ttl {
  color: #fff;
  font-size: 1.4rem;
  letter-spacing: 0.1em;
  font-weight: 700;
  margin-bottom: 3.4rem;
}

.sec07 .sec07-ttl span {
  display: block;
  font-family: "Abril Fatface", serif;
  font-weight: 400;
  font-size: 4rem;
  line-height: 1;
  letter-spacing: 0.1em;
  margin-bottom: 0.7rem;
}

.sec07 .sec07-list {
  width: 34.25rem;
  margin: 0 auto;
}

.sec08 {
  background: url("../img/sec08_bg.png") no-repeat center/cover;
  padding: 6rem 2rem;
}

.sec08 .sec08-ttl {
  font-size: 1.4rem;
}

.sec08 .sec08-ttl span {
  font-family: "Abril Fatface", serif;
  display: block;
  font-size: 4rem;
  font-weight: 400;
  background: -webkit-gradient(linear, left top, right top, from(#1E3699), to(#4D98DD));
  background: linear-gradient(90deg, #1E3699 0%, #4D98DD 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
  line-height: 1;
  letter-spacing: 0.1em;
  margin-bottom: 0.7rem;
}

.sec08 .sec08-list {
  margin-top: 3.6rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 2.4rem;
}

.sec08 .sec08-item__ttl {
  background: -webkit-gradient(linear, left top, right top, from(#1E3699), to(#4D98DD));
  background: linear-gradient(90deg, #1E3699 0%, #4D98DD 100%);
  color: #fff;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  padding: 0.3rem 1rem;
  margin-bottom: 1.7rem;
}

.sec08 .sec08-item__content {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.1em;
}

.sec09 {
  background: url("../img/sec09_bg.png") no-repeat center/cover;
  padding: 6rem 2rem;
}

.sec09 .sec09-ttl {
  width: 34.2rem;
  margin: 0 auto;
}

.sec09 .sec09-list {
  margin-top: 2.8rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 2.1rem;
}

.sec09 .sec09-item {
  position: relative;
  padding: 0 0 2rem;
}

.sec09 .sec09-item::after {
  content: "";
  width: 100%;
  height: 1px;
  background: -webkit-gradient(linear, left top, right top, from(#fff), to(transparent));
  background: linear-gradient(90deg, #fff 0%, transparent);
  position: absolute;
  bottom: 0;
  left: 0;
  opacity: 0.4;
}

.sec09 .sec09-item__ttl {
  font-size: 1.8rem;
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.1em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1.6rem;
}

.sec09 .sec09-item__ttl span {
  display: inline-block;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  font-family: "Abril Fatface", serif;
  font-weight: 400;
  font-size: 1.6rem;
}

.sec10 {
  background: url("../img/sec10_bg.png") no-repeat center/cover;
  padding: 6rem 2rem 5.2rem;
}

.sec10 .sec10-ttl {
  font-size: 1.4rem;
}

.sec10 .sec10-ttl span {
  font-family: "Abril Fatface", serif;
  display: block;
  font-size: 4rem;
  font-weight: 400;
  background: -webkit-gradient(linear, left top, right top, from(#1E3699), to(#4D98DD));
  background: linear-gradient(90deg, #1E3699 0%, #4D98DD 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
  line-height: 1;
  letter-spacing: 0.1em;
  margin-bottom: 0.7rem;
}

.sec10 .sec10-list {
  width: 34.2rem;
  margin: 3.6rem auto 0;
}

.sec11 {
  background: url("../img/sec11_bg.png") no-repeat center/cover;
  text-align: center;
  padding: 4rem 2rem;
}

.sec11 .sec11-ttl {
  font-size: 2rem;
  color: #fff;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.1em;
}

.grecaptcha-badge {
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.p-entry {
  padding: 6rem 2rem;
}

.p-entry__ttl {
  font-size: 1.4rem;
  color: #303030;
}

.p-entry__ttl span {
  font-family: "Abril Fatface", serif;
  display: block;
  font-size: 4rem;
  font-weight: 400;
  background: -webkit-gradient(linear, left top, right top, from(#1E3699), to(#4D98DD));
  background: linear-gradient(90deg, #1E3699 0%, #4D98DD 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
  line-height: 1;
  letter-spacing: 0.1em;
  margin-bottom: 0.7rem;
}

.p-entry__content {
  margin-top: 4rem;
}

.p-entry__form {
  color: #2E2F30;
  background: #fff;
}

.p-thanks {
  padding: 10.4rem 0 6rem;
  /* height: calc(100vh - 5.9rem); */
}

.p-thanks__head {
  margin: 0 0 3.2rem;
}

.p-thanks__box {
  margin-bottom: 3.2rem;
}

.p-thanks__box:last-child {
  margin-bottom: 0;
}

.p-thanks__box .box-lead {
  margin-bottom: 0.8rem;
}

.p-thanks__box .box-embed {
  background: #8A8A8A;
  min-height: 20.9rem;
}

.p-thanks__box .box-embed .cxc-embed-container {
  height: calc(56.25cqi + 8px + 52px);
}

.p-thanks .yt-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
  background: #000;
  overflow: hidden;
  cursor: pointer;
}

.p-thanks .yt-wrap iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: none;
  pointer-events: none;
}

.p-thanks .yt-wrap.playing iframe {
  pointer-events: auto;
}

.p-thanks .yt-overlay {
  position: absolute;
  inset: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.2);
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
  z-index: 2;
}

.p-thanks .yt-wrap.playing .yt-overlay {
  opacity: 0;
  pointer-events: none;
}

.p-thanks .thumb {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  z-index: 1;
}

.p-thanks .yt-wrap.playing .thumb {
  display: none;
}

.p-thanks .play-btn {
  width: 6.1rem;
  height: 6.1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-transition: -webkit-transform 0.15s;
  transition: -webkit-transform 0.15s;
  transition: transform 0.15s;
  transition: transform 0.15s, -webkit-transform 0.15s;
}

.p-404 {
  height: calc(100dvh - 5.6rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 1.6rem;
  padding: 0 1.75rem;
  text-align: center;
  gap: 4rem;
}

.p-404__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.8rem;
}

.p-404__btn {
  width: 100%;
}

.p-404__btn a {
  max-width: 100%;
  height: 7rem;
  font-size: 2rem;
}

/*# sourceMappingURL=style.css.map */
/* Cloudflare Turnstile（旧 reCAPTCHA v3 からの置き換え） */
.c-form .c-form-turnstile {
  display: flex;
  justify-content: center;
  margin-top: 2.4rem;
}
