@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap"); /*font-family: "Noto Sans JP", sans-serif;*/
@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap"); /*font-family: "Zen Kaku Gothic New", sans-serif;*/
@import url("https://fonts.googleapis.com/css2?family=Fredoka:wdth,wght@75..125,300..700&display=swap");
:root {
  --clr-link: #50ae6c;
  --clr-blue: #2eb7d8;
  --clr-pink: #f48ab7;
  --clr-orange: #ffb34e;
  --clr-yellow: #ecd550;
  --clr-linkblue: #318dd0;
  --clr-dblue: #4d9df1;
}

.font-eng {
  font-family: "Fredoka", sans-serif;
  font-weight: 500;
}

html.lenis {
  overflow: visible;
}
html.lenis.lenis-smooth {
  scroll-behavior: auto;
}
html.lenis.lenis-smooth [data-lenis-prevent] {
  -ms-scroll-chaining: none;
      overscroll-behavior: contain;
}
html.lenis.lenis-stopped {
  overflow: hidden;
}

html, body {
  min-height: 100%;
  padding: 0;
  margin: 0;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
  word-break: break-word;
}

html {
  scroll-padding-top: 130px;
  -webkit-font-smoothing: antialiased;
  height: auto;
}
@media (max-width: 1024px) {
  html {
    scroll-padding-top: 100px;
  }
}
@media (max-width: 768px) {
  html {
    scroll-padding-top: 90px;
  }
}

body {
  position: relative;
  width: 100%;
  overflow-x: hidden;
  -webkit-text-stroke: 0;
  counter-reset: number 0;
  color: #706d6a;
  background: #f7f8f6;
  font-family: YakuHanRPs, "Zen Kaku Gothic New", "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.01em;
  font-size: max(1.0625rem, 0.8vw);
}
@media (max-width: 1024px) {
  body {
    font-size: 0.9375rem;
  }
}
@media (max-width: 768px) {
  body {
    font-size: 0.8125rem;
  }
}

a {
  -webkit-transition: 0.6s;
  transition: 0.6s;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  will-change: transform;
}
a:link, a:active, a:visited {
  color: #594836;
}
a:hover {
  color: #625545;
}

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

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

html {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

/*!
* ress.css • v1.1.2
* MIT License
* github.com/filipelinhares/ress
*/
/* # =================================================================
# Global selectors
# ================================================================= */
html {
  /* All browsers without overlaying scrollbars */
  -webkit-text-size-adjust: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* iOS 8+ */
}

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

::before,
::after {
  text-decoration: inherit;
  /* Inherit text-decoration and vertical align to ::before and ::after pseudo elements */
  vertical-align: inherit;
}

/* Remove margin, padding of all elements and set background-no-repeat as default */
* {
  background-repeat: no-repeat;
  /* Set `background-repeat: no-repeat` to all elements */
  padding: 0;
  /* Reset `padding` and `margin` of all elements */
  margin: 0;
}

/* # =================================================================
# General elements
# ================================================================= */
/* Add the correct display in iOS 4-7.*/
audio:not([controls]) {
  display: none;
  height: 0;
}

hr {
  overflow: visible;
  /* Show the overflow in Edge and IE */
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-style: normal;
  line-height: 1;
  font-size: 100%;
}

/*
* Correct `block` display not defined for any HTML5 element in IE 8/9
* Correct `block` display not defined for `details` or `summary` in IE 10/11
* and Firefox
* Correct `block` display not defined for `main` in IE 11
*/
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
  display: block;
}

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

small {
  /* Set font-size to 80% in `small` elements */
  font-size: 100%;
}

[hidden],
template {
  display: none;
  /* Add the correct display in IE */
}

abbr[title] {
  border-bottom: 1px dotted;
  /* Add a bordered underline effect in all browsers */
  text-decoration: none;
  /* Remove text decoration in Firefox 40+ */
}

a:link {
  background-color: transparent;
  /* Remove the gray background on active links in IE 10 */
  -webkit-text-decoration-skip: objects;
  /* Remove gaps in links underline in iOS 8+ and Safari 8+ */
}

a:active,
a:hover {
  outline-width: 0;
  /* Remove the outline when hovering in all browsers */
}

b,
strong {
  font-weight: bolder;
  /* Correct style set to `bold` in Edge 12+, Safari 6.2+, and Chrome 18+ */
}

dfn {
  font-style: italic;
  /* Address styling not present in Safari and Chrome */
}

ul,
ol {
  list-style: none;
}

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

/* Address styling not present in IE 8/9 */
mark {
  background-color: #ff0;
  color: #000;
}

/* https://gist.github.com/unruthless/413930 */
sub,
sup {
  line-height: 0;
  position: relative;
  vertical-align: baseline;
  font-size: 75%;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

address,
em {
  font-style: normal;
}

/* # =================================================================
# Forms
# ================================================================= */
input {
  border-radius: 0;
}

/* Apply cursor pointer to button elements 
button,
[type="button"],
[type="reset"],
[type="submit"],
[role="button"] {
  cursor: pointer;
}*/
/* Replace pointer cursor in disabled elements 
[disabled] {
  cursor: default;
}*/
[type=number] {
  width: auto;
  /* Firefox 36+ */
}

[type=search]::-webkit-search-cancel-button,
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
  /* Safari 8 */
}

textarea {
  overflow: auto;
  /* Internet Explorer 11+ */
  resize: vertical;
  /* Specify textarea resizability */
}

button,
input,
optgroup,
select,
textarea {
  font: inherit;
  /* Specify font inheritance of form elements */
}

optgroup {
  font-weight: bold;
  /* Restore the font weight unset by the previous rule. */
}

button {
  overflow: visible;
  /* Address `overflow` set to `hidden` in IE 8/9/10/11 */
}

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

/* Replace focus style removed in the border reset above */
button:-moz-focusring,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  outline: 1px dotted ButtonText;
}

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

button,
select {
  text-transform: none;
  /* Firefox 40+, Internet Explorer 11- */
}

/* Remove the default button styling in all browsers */
button,
input,
select,
textarea {
  background-color: transparent;
  border-style: none;
  color: inherit;
}

/* Style select like a standard input */
select {
  -moz-appearance: none;
  /* Firefox 36+ */
  -webkit-appearance: none;
  /* Chrome 41+ */
}

select::-ms-expand {
  display: none;
  /* Internet Explorer 11+ */
}

select::-ms-value {
  color: currentColor;
  /* Internet Explorer 11+ */
}

legend {
  border: 0;
  /* Correct `color` not being inherited in IE 8/9/10/11 */
  color: inherit;
  /* Correct the color inheritance from `fieldset` elements in IE */
  display: table;
  /* Correct the text wrapping in Edge and IE */
  max-width: 100%;
  /* Correct the text wrapping in Edge and IE */
  white-space: normal;
  /* Correct the text wrapping in Edge and IE */
}

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

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

/* # =================================================================
# Specify media element style
# ================================================================= */
img {
  max-width: 100%;
  border-style: none;
  /* Remove border when inside `a` element in IE 8/9/10 */
  vertical-align: bottom;
}

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

svg:not(:root) {
  overflow: hidden;
  /* Internet Explorer 11- */
}

audio,
canvas,
progress,
video {
  display: inline-block;
  /* Internet Explorer 11+, Windows Phone 8.1+ */
}

/* # =================================================================
# Accessibility
# ================================================================= */
/* Specify the progress cursor of updating elements */
[aria-busy=true] {
  cursor: progress;
}

/* Specify the pointer cursor of trigger elements */
[aria-controls] {
  cursor: pointer;
}

/* Specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */
[aria-disabled] {
  cursor: default;
}

/* # =================================================================
# Selection
# ================================================================= */
/* Specify text selection background color and omit drop shadow */
::-moz-selection {
  background-color: #b3d4fc;
  /* Required when declaring ::selection */
  color: #000;
  text-shadow: none;
}

::selection {
  background-color: #b3d4fc;
  /* Required when declaring ::selection */
  color: #000;
  text-shadow: none;
}

a {
  text-decoration: none;
}
a:hover {
  text-decoration: none;
}

.hd {
  position: fixed;
  z-index: 999;
  top: 0;
  left: 0;
  width: 100%;
  pointer-events: none;
}
.hd__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding: 18px 22px;
}
@media (max-width: 1024px) {
  .hd__wrap {
    padding: 18px 24px;
  }
}
@media (max-width: 768px) {
  .hd__wrap {
    padding: 16px;
    padding-bottom: 12px;
  }
}
.hd__logo, .hd__nav, .hd__entry {
  pointer-events: auto;
}
.hd__logo a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 15px;
}
.hd__logo a img {
  width: 110px;
  height: auto;
}
@media (max-width: 1024px) {
  .hd__logo a img {
    width: 85px;
  }
}
@media (max-width: 768px) {
  .hd__logo a img {
    width: 65px;
  }
}
.hd__logo a span {
  background: #fff;
  padding: 5px 10px;
  font-family: "Fredoka", sans-serif;
  letter-spacing: 0.05em;
  line-height: 1;
  border-radius: 3px;
  font-size: 1rem;
  margin-left: -5px;
}
@media (max-width: 1024px) {
  .hd__logo a span {
    font-size: 0.75rem;
    margin-left: -10px;
  }
}
.hd__nav {
  margin-left: auto;
  margin-right: 180px;
  padding-top: 3px;
}
.hd__nav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 32px;
}
@media (max-width: 1024px) {
  .hd__nav ul {
    gap: 18px;
  }
}
@media (max-width: 768px) {
  .hd__nav ul {
    gap: 6px 12px;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
.hd__nav a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: "Fredoka", sans-serif;
  font-weight: 600;
}
.hd__nav a i {
  display: inline-block;
  width: 13px;
  height: 13px;
  margin-right: 5px;
  border-radius: 4px;
  background: #ed7ca9;
  clip-path: polygon(15% 5%, 95% 50%, 15% 95%);
}
@media (max-width: 768px) {
  .hd__nav a i {
    width: 10px;
    height: 10px;
    margin-right: 3px;
  }
}
.hd__nav a {
  font-size: max(0.75rem, clamp(16px, 1.4vw, 20px));
}
@media (max-width: 1024px) {
  .hd__nav a {
    font-size: 1rem;
  }
}
@media (max-width: 768px) {
  .hd__nav a {
    font-size: 0.75rem;
    min-height: 28px;
  }
}
.hd__nav li:nth-child(2) i {
  background: #f3b419;
}
.hd__nav li:nth-child(3) i {
  background: #55bedb;
}
.hd__nav li:nth-child(4) i {
  background: #e1d729;
}
@media (max-width: 1024px) {
  .hd__nav {
    display: none;
  }
}
.hd__entry {
  position: absolute;
  right: 30px;
  top: 35px;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  color: #27875b;
  text-align: center;
}
@media (max-width: 1024px) {
  .hd__entry {
    right: 50px;
  }
}
@media (max-width: 768px) {
  .hd__entry {
    width: 35px;
    height: 35px;
    right: 50px;
    top: 30px;
  }
}
.hd__entry-character {
  position: absolute;
  z-index: 2;
  bottom: 0;
  left: 50%;
  width: 100%;
  height: 100%;
  border-radius: 100%;
  overflow: hidden;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background: #ffe83b;
  -webkit-transition: background-color 0.25s ease;
  transition: background-color 0.25s ease;
}
.hd__entry-character img {
  width: 100%;
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
}
.hd__entry:hover .hd__entry-character, .hd__entry:focus-visible .hd__entry-character {
  background-color: var(--clr-orange);
}
.hd__entry-balloon {
  position: absolute;
  z-index: 5;
  opacity: 0;
  right: 40px;
  top: -20px;
  width: 100px;
  padding: 7px 15px;
  border-radius: 5px;
  background: #38a977;
  color: #ffeb5c;
  font-weight: 900;
  line-height: 1.4;
  -webkit-box-shadow: 4px 4px 0 0px rgb(255, 235, 92);
          box-shadow: 4px 4px 0 0px rgb(255, 235, 92);
  font-size: 0.75rem;
}
@media (max-width: 1024px) {
  .hd__entry-balloon {
    font-size: 0.6875rem;
    width: 90px;
  }
}
@media (max-width: 768px) {
  .hd__entry-balloon {
    right: 25px;
    top: -16px;
    width: 60px;
    padding: 6px 8px;
    font-size: 0.5rem;
  }
}
.hd__entry-balloon::after {
  content: "";
  position: absolute;
  right: 15px;
  bottom: -5px;
  border: 7px solid transparent;
  border-top-color: #38a977;
  border-bottom: 0;
}

.ft {
  position: relative;
  background: #fff;
  z-index: 1;
  padding: 60px 35px 35px;
}
@media (max-width: 1024px) {
  .ft {
    padding: 80px 30px 35px;
  }
}
@media (max-width: 768px) {
  .ft {
    padding: 60px 20px 30px;
  }
}
.ft__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  position: relative;
  min-height: 200px;
  gap: 60px;
  max-width: 1300px;
  margin: auto;
}
@media (max-width: 1024px) {
  .ft__inner {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 15px;
  }
}
@media (max-width: 768px) {
  .ft__inner {
    display: block;
  }
}
.ft__logo {
  width: 120px;
}
@media (max-width: 768px) {
  .ft__logo {
    width: 70px;
    display: block;
    margin-bottom: 35px;
  }
}
.ft__logo img {
  width: 100%;
}
.ft__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 45px;
}
@media (max-width: 1024px) {
  .ft__nav {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 0 15px;
  }
}
@media (max-width: 768px) {
  .ft__nav {
    margin-bottom: 35px;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: minmax(0, 1fr) 20px minmax(0, 1fr);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px 20px;
  }
}
.ft__nav a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  font-family: "Fredoka", sans-serif;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 8px;
  font-size: 1.25rem;
}
@media (max-width: 1024px) {
  .ft__nav a {
    font-size: 1.0625rem;
  }
}
@media (max-width: 768px) {
  .ft__nav a {
    min-height: 36px;
  }
}
.ft__nav a i {
  display: inline-block;
  width: 13px;
  height: 13px;
  margin-right: 8px;
  border-radius: 4px;
  background: #ed7ca9;
  clip-path: polygon(15% 5%, 95% 50%, 15% 95%);
}
.ft__nav a:nth-child(2) i {
  background: #f3b419;
}
.ft__nav a:nth-child(3) i {
  background: #55bedb;
}
.ft__nav a:nth-child(4) i {
  background: #e1d729;
}
.ft__info {
  margin-left: auto;
  text-align: right;
  line-height: 1.8;
  margin-top: auto;
  font-size: 0.875rem;
}
@media (max-width: 1024px) {
  .ft__info {
    width: 100%;
    margin-left: 0;
    text-align: left;
  }
}
@media (max-width: 768px) {
  .ft__info {
    font-size: 0.6875rem;
    padding-right: 0;
  }
}
.ft__info small {
  display: block;
  margin-top: 30px;
  color: #999;
  font-size: 0.5625rem;
}
.ft__illust {
  position: absolute;
  right: 0;
  bottom: 120px;
  width: 150px;
  opacity: 0;
  visibility: hidden;
}
@media (max-width: 1024px) {
  .ft__illust {
    bottom: 110px;
    width: 130px;
  }
}
@media (max-width: 768px) {
  .ft__illust {
    width: 95px;
    top: -50px;
    right: 0;
    bottom: auto;
  }
}
.ft__illust img {
  width: 100%;
}

.wrapper {
  background: var(--clr-blue);
}
.wrapper main {
  background: #f7f8f6;
  border-radius: 100px;
  padding: 150px 0;
  position: relative;
  z-index: 99;
}
@media (max-width: 1024px) {
  .wrapper main {
    padding: 100px 0;
    border-radius: 60px;
  }
}
@media (max-width: 768px) {
  .wrapper main {
    padding: 50px 0;
    border-radius: 30px;
  }
}
.wrapper main section {
  margin-bottom: 180px;
  position: relative;
}
@media (max-width: 1024px) {
  .wrapper main section {
    margin-bottom: 140px;
  }
}
@media (max-width: 768px) {
  .wrapper main section {
    margin-bottom: 100px;
  }
}
.wrapper main section:last-of-type {
  margin-bottom: 0;
}
.wrapper main.contents {
  margin: 0 30px 120px;
}
@media (max-width: 1024px) {
  .wrapper main.contents {
    margin: 0 20px 80px;
  }
}
@media (max-width: 768px) {
  .wrapper main.contents {
    margin: 0 12px 60px;
  }
}
@media (max-width: 1340px) {
  .wrapper main.w1440 {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (max-width: 768px) {
  .wrapper main.w1440 {
    padding-left: 25px;
    padding-right: 25px;
  }
}
.wrapper main.w1440 section {
  width: min(1440px, 76vw);
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 1024px) {
  .wrapper main.w1440 section {
    width: 100%;
  }
}
.wrapper .c-mv {
  position: relative;
  text-align: center;
  margin: 100px 0 0;
  padding: 180px 0 100px;
  background-color: var(--clr-blue);
  color: #fff;
  z-index: 1;
}
@media (max-width: 1024px) {
  .wrapper .c-mv {
    padding: 140px 20px 60px;
    margin-top: 100px;
  }
}
@media (max-width: 768px) {
  .wrapper .c-mv {
    padding: 100px 20px 40px;
    margin-top: 55px;
  }
}
.wrapper .c-mv::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 130px;
  background: url("../../img/concept_bg.svg") repeat-x;
  z-index: 2;
}
@media (max-width: 1024px) {
  .wrapper .c-mv::before {
    height: 90px;
    background-size: auto 90px;
  }
}
@media (max-width: 768px) {
  .wrapper .c-mv::before {
    height: 60px;
    background-size: auto 60px;
  }
}
.wrapper .c-mv__character {
  position: absolute;
  z-index: 1;
}
@media (max-width: 768px) {
  .wrapper .c-mv__character {
    display: none;
  }
}
.wrapper .c-mv__character img {
  width: 100%;
}
.wrapper .c-mv__character--left {
  left: -2%;
  bottom: -25%;
  width: 390px;
}
@media (max-width: 1024px) {
  .wrapper .c-mv__character--left {
    width: 240px;
    bottom: -20%;
  }
}
@media (max-width: 768px) {
  .wrapper .c-mv__character--left {
    width: 130px;
    bottom: -40px;
    left: -20px;
  }
}
.wrapper .c-mv__balloon {
  position: absolute;
  z-index: 4;
  min-width: 160px;
  padding: 12px 15px;
  border-radius: 12px;
  background: #fff;
  color: #625545;
  font-weight: 800;
  line-height: 1.4;
  text-align: center;
  -webkit-box-shadow: 4px 4px 0 #ffe63b;
          box-shadow: 4px 4px 0 #ffe63b;
  left: 260px;
  top: 20px;
  font-size: 0.9375rem;
}
@media (max-width: 1400px) {
  .wrapper .c-mv__balloon {
    display: none;
  }
}
@media (max-width: 1024px) {
  .wrapper .c-mv__balloon {
    left: 140px;
    top: 0px;
    min-width: 110px;
    font-size: 0.625rem;
    padding: 8px 13px;
    display: block;
  }
}
@media (max-width: 768px) {
  .wrapper .c-mv__balloon {
    left: 75px;
    top: -20px;
    min-width: 100px;
    padding: 6px;
    font-size: 0.6875rem;
  }
}
.wrapper .c-mv__balloon::after {
  content: "";
  position: absolute;
  bottom: -11px;
  left: 10px;
  border: 12px solid transparent;
  border-top-color: #fff;
  border-bottom: 0;
}
.wrapper .c-mv__character--left .wrapper .c-mv__balloon {
  left: -30%;
  bottom: 30%;
}
.wrapper .c-mv__character--left .wrapper .c-mv__balloon::after {
  right: 20px;
  -webkit-transform: rotate(-18deg);
          transform: rotate(-18deg);
}
.wrapper .c-mv h2 {
  font-family: "Fredoka", sans-serif;
  font-optical-sizing: none;
  font-synthesis: none;
  -webkit-font-kerning: normal;
          font-kerning: normal;
  margin: 20px 0 15px;
  font-weight: 600;
  letter-spacing: 0.05em;
  font-size: max(3.75rem, 3.3vw);
}
@media (max-width: 1024px) {
  .wrapper .c-mv h2 {
    font-size: 3.125rem;
  }
}
@media (max-width: 768px) {
  .wrapper .c-mv h2 {
    font-size: 2.8125rem;
    margin: 0 0 10px;
  }
}
.wrapper .c-mv h2 .page-title-word {
  display: inline-block;
  white-space: nowrap;
}
.wrapper .c-mv h2 .page-title-char {
  display: inline-block;
  -webkit-transform-origin: center bottom;
          transform-origin: center bottom;
}
.wrapper .tp_guideline::after {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 100%;
  height: 145px;
  background: url("../../img/guideline_bg.svg") repeat-x;
}
@media (max-width: 1024px) {
  .wrapper .tp_guideline::after {
    height: 100px;
    background-size: auto 100px;
  }
}
@media (max-width: 768px) {
  .wrapper .tp_guideline::after {
    height: 70px;
    background-size: auto 70px;
  }
}
.wrapper .tp_guideline__inner {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 200px 20px;
  background: #38a970;
  color: #fff;
  text-align: center;
}
@media (max-width: 1024px) {
  .wrapper .tp_guideline__inner {
    padding: 120px 20px;
  }
}
@media (max-width: 768px) {
  .wrapper .tp_guideline__inner {
    padding: 70px 20px;
  }
}
.wrapper .tp_guideline__inner > * {
  position: relative;
  z-index: 1;
}
.wrapper .tp_guideline__inner::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: #45956d;
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transform-origin: left center;
          transform-origin: left center;
  -webkit-transition: -webkit-transform 1.5s cubic-bezier(0.22, 1, 0.36, 1);
  transition: -webkit-transform 1.5s cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 1.5s cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 1.5s cubic-bezier(0.22, 1, 0.36, 1), -webkit-transform 1.5s cubic-bezier(0.22, 1, 0.36, 1);
  pointer-events: none;
}
.wrapper .tp_guideline a:hover .tp_guideline__inner::before, .wrapper .tp_guideline a:focus-visible .tp_guideline__inner::before {
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
}
.wrapper .tp_guideline__character {
  width: 150px;
  height: 150px;
  border-radius: 100%;
  margin: 0 auto 30px;
  overflow: hidden;
  background: #ffe63b;
}
@media (max-width: 1024px) {
  .wrapper .tp_guideline__character {
    width: 100px;
    height: 100px;
    margin: 0 auto 20px;
  }
}
.wrapper .tp_guideline__character img {
  width: 100%;
  opacity: 0;
  visibility: hidden;
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
}
.wrapper .tp_guideline .c-section__title {
  margin-bottom: 25px;
}
.wrapper .tp_guideline .c-section__title.js-guideline-title {
  opacity: 0;
  visibility: hidden;
}
.wrapper .tp_guideline .c-section__title.js-guideline-title.is-visible {
  visibility: visible;
  opacity: 1;
  -webkit-animation: guidelineTitleIn 2s ease-out both;
          animation: guidelineTitleIn 2s ease-out both;
}
.wrapper .tp_guideline .c-section__title h2 {
  color: #ffe63b;
}
.wrapper .tp_guideline .c-section__title p {
  color: #38a977;
  background: #ffe63b;
}

@-webkit-keyframes guidelineTitleIn {
  from {
    opacity: 0;
    -webkit-transform: translateY(40px);
            transform: translateY(40px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes guidelineTitleIn {
  from {
    opacity: 0;
    -webkit-transform: translateY(40px);
            transform: translateY(40px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@media (prefers-reduced-motion: reduce) {
  .wrapper .tp_guideline .js-guideline-title.is-visible {
    -webkit-animation: none;
            animation: none;
    opacity: 1;
    visibility: visible;
  }
}
.top {
  overflow-x: hidden;
}
.top .wrapper {
  background: #f7f8f6;
}
.top .wrapper main {
  padding-bottom: 0;
}
.top .wrapper main section {
  margin-bottom: 200px;
}
@media (max-width: 1024px) {
  .top .wrapper main section {
    margin-bottom: 140px;
  }
}
@media (max-width: 768px) {
  .top .wrapper main section {
    margin-bottom: 90px;
  }
}
.top .wrapper main section:last-of-type {
  margin-bottom: 0;
}
.top .wrapper main .c-section-label {
  color: #fff62d;
  font-family: "Fredoka", sans-serif;
  font-weight: 800;
  letter-spacing: 0.06em;
}
.top .tp_guideline {
  margin-top: -50px;
}
@media (max-width: 768px) {
  .top .tp_guideline__inner {
    padding-top: 140px;
  }
}

.js-mv-item,
.js-mv-illust {
  opacity: 0;
  visibility: hidden;
}

.mv {
  height: 100vh;
  height: 100svh;
  margin-bottom: 0 !important;
}
@media screen and (min-height: 800px) {
  .mv {
    height: 70vh;
    height: 70svh;
  }
}
@media (max-width: 768px) {
  .mv {
    height: 87vh;
    height: 87svh;
    overflow-x: hidden;
  }
}
.mv__inner {
  height: 100%;
  position: relative;
  max-width: 1440px;
  margin: 0 auto;
}
.mv__copy {
  position: absolute;
  z-index: 3;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -130%);
          transform: translate(-50%, -130%);
  width: 100%;
  text-align: center;
}
@media (max-width: 1024px) {
  .mv__copy {
    width: 88%;
  }
}
@media (max-width: 768px) {
  .mv__copy {
    width: calc(100% - 36px);
  }
}
.mv__copy-jp {
  margin: 18px 0 5px;
  color: #353535;
  line-height: 1.5;
  letter-spacing: 0.4em;
  font-weight: 700;
  font-size: max(1.625rem, clamp(21px, 3vw, 42px));
}
@media (max-width: 1024px) {
  .mv__copy-jp {
    font-size: 1.625rem;
  }
}
@media (max-width: 768px) {
  .mv__copy-jp {
    font-size: 1.25rem;
    letter-spacing: 0.25em;
    margin: 8px 0 0;
  }
}
.mv__copy-jp.--second {
  margin-top: -120px;
}
@media (max-width: 1024px) {
  .mv__copy-jp.--second {
    margin-top: -7vw;
  }
}
@media (max-width: 768px) {
  .mv__copy-jp.--second {
    margin-top: -7vw;
  }
}
.mv__copy-sub {
  display: inline-block;
  padding: 10px 25px;
  border-radius: 100px;
  background: #55c2df;
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.18em;
}
@media (max-width: 1024px) {
  .mv__copy-sub {
    padding: 7px 20px;
    font-size: 0.9375rem;
  }
}
@media (max-width: 768px) {
  .mv__copy-sub {
    font-size: 0.75rem;
    padding: 7px 18px;
  }
}
.mv__copy-logo {
  margin: 10px auto 0;
  width: min(1200px, 100%);
}
.mv__copy-logo img {
  width: 100%;
}
.mv__illust {
  position: absolute;
  z-index: 4;
  top: 50%;
  left: 50%;
  width: min(1160px, 50vw);
  max-width: 1000px;
  -webkit-transform: translate(-50%, -20%);
          transform: translate(-50%, -20%);
  text-align: center;
}
@media (max-width: 1024px) {
  .mv__illust {
    width: min(760px, 92vw, 66svh);
    bottom: 45px;
  }
}
@media (max-width: 768px) {
  .mv__illust {
    width: min(100vw, 66svh);
    bottom: 0;
  }
}
.mv__illust img {
  width: 90%;
  height: auto;
}

.tp_concept {
  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;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  height: 120vh;
  min-height: 1200px;
  padding: 0 20px;
  color: #fff;
  background: #55bedb;
  overflow: hidden;
  margin-top: -7vw;
}
@media (max-width: 1024px) {
  .tp_concept {
    height: auto;
    min-height: 800px;
    margin-top: -60px;
    padding: 300px 80px;
  }
}
@media (max-width: 768px) {
  .tp_concept {
    min-height: 0;
    padding: 260px 25px 210px;
    overflow: hidden;
  }
}
.tp_concept::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 145px;
  background-image: url("../../img/concept_bg.svg");
  background-repeat: repeat-x;
  z-index: 2;
}
@media (max-width: 1024px) {
  .tp_concept::before {
    height: 100px;
    background-size: auto 100px;
  }
}
@media (max-width: 768px) {
  .tp_concept::before {
    height: 70px;
    background-size: auto 70px;
    background-position: -30%, center;
  }
}
.tp_concept .c-section-label {
  position: absolute;
  left: 30px;
  top: 50px;
}
@media (max-width: 768px) {
  .tp_concept .c-section-label {
    left: 24px;
    top: 45px;
    font-size: max(0.9rem, 14px);
  }
}
.tp_concept__inner {
  max-width: 800px;
  margin: 70px auto 0;
  position: relative;
  z-index: 2;
}
@media (max-width: 1024px) {
  .tp_concept__inner {
    width: 100%;
    margin: 0 auto 0;
  }
}
@media (max-width: 1024px) {
  .tp_concept__body {
    width: 100%;
  }
}
.tp_concept__body h2 {
  text-align: center;
  margin-bottom: 35px;
  letter-spacing: 0.15em;
  font-weight: 900;
  font-size: max(1.875rem, clamp(2rem, 3.5vw, 3.5rem));
}
@media (max-width: 1024px) {
  .tp_concept__body h2 {
    font-size: 3.125rem;
  }
}
@media (max-width: 768px) {
  .tp_concept__body h2 {
    font-size: 2.5rem;
    letter-spacing: 0.08em;
    margin-bottom: 25px;
  }
}
.tp_concept__body p {
  margin-bottom: 28px;
  line-height: 1.8;
  font-weight: 550;
  font-size: max(1.25rem, 1.2vw);
}
@media (max-width: 768px) {
  .tp_concept__body p {
    font-size: 0.9375rem;
    line-height: 1.6;
  }
}
.tp_concept__character {
  position: absolute;
  z-index: 1;
}
@media (max-width: 768px) {
  .tp_concept__character {
    width: 145px;
  }
}
.tp_concept__character img {
  width: 100%;
}
.tp_concept__character--left {
  right: -10%;
  top: -6%;
  width: clamp(410px, 25vw, 800px);
}
@media (max-width: 1300px) {
  .tp_concept__character--left {
    top: -4%;
  }
}
@media (max-width: 1024px) {
  .tp_concept__character--left {
    width: 300px;
    top: -40px;
    right: -120px;
  }
}
@media (max-width: 768px) {
  .tp_concept__character--left {
    top: -70px;
  }
}
.tp_concept__character--right {
  left: -6%;
  bottom: -11%;
  width: clamp(460px, 30vw, 1000px);
}
@media (max-width: 1300px) {
  .tp_concept__character--right {
    bottom: -6%;
  }
}
@media (max-width: 1024px) {
  .tp_concept__character--right {
    width: 340px;
    bottom: -80px;
  }
}
.tp_concept__balloon {
  position: absolute;
  z-index: 4;
  min-width: 150px;
  padding: 12px 15px;
  border-radius: 12px;
  background: #fff;
  color: #55bedb;
  font-weight: 800;
  line-height: 1.4;
  text-align: center;
  -webkit-box-shadow: 4px 4px 0 #ffe63b;
          box-shadow: 4px 4px 0 #ffe63b;
  font-size: 1.125rem;
}
@media (max-width: 1024px) {
  .tp_concept__balloon {
    min-width: 120px;
    font-size: max(0.5625rem, 14px);
    padding: 10px;
  }
}
@media (max-width: 768px) {
  .tp_concept__balloon {
    min-width: 100px;
    font-size: max(0.5625rem, 12px);
    padding: 8px;
  }
}
.tp_concept__balloon::after {
  content: "";
  position: absolute;
  bottom: -11px;
  border: 12px solid transparent;
  border-top-color: #fff;
  border-bottom: 0;
}
.tp_concept__character--left .tp_concept__balloon {
  left: -20%;
  bottom: 30%;
}
@media (max-width: 1024px) {
  .tp_concept__character--left .tp_concept__balloon {
    left: auto;
    right: 260px;
    bottom: 25%;
  }
}
.tp_concept__character--left .tp_concept__balloon::after {
  right: 20px;
  -webkit-transform: rotate(-18deg);
          transform: rotate(-18deg);
}
.tp_concept__character--right .tp_concept__balloon {
  right: 10%;
  top: 5%;
}
@media (max-width: 1024px) {
  .tp_concept__character--right .tp_concept__balloon {
    right: 0px;
    top: 5%;
  }
}
.tp_concept__character--right .tp_concept__balloon::after {
  left: 20px;
  -webkit-transform: rotate(18deg);
          transform: rotate(18deg);
}

.tp_news {
  padding: 0 30px;
}
@media (max-width: 768px) {
  .tp_news {
    padding: 0 24px;
  }
}
.tp_news__wrap {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 50px 1fr 50px 1fr;
  grid-template-columns: repeat(3, 1fr);
  gap: 50px;
  max-width: 1440px;
  margin: auto;
}
@media (max-width: 1024px) {
  .tp_news__wrap {
    -ms-grid-columns: (minmax(0, 1fr))[3];
    grid-template-columns: repeat(3, minmax(0, 1fr));
    max-width: 100%;
  }
}
@media (max-width: 768px) {
  .tp_news__wrap {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    max-width: 440px;
    gap: 40px;
  }
}
.tp_news__box figure {
  aspect-ratio: 1/1;
  background: #fff;
  border-radius: 15px;
  overflow: hidden;
  border: none;
}
.tp_news__box figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.tp_news__box time {
  display: block;
  margin: 20px 0 10px;
  color: #51bdd8;
  font-family: "Fredoka", sans-serif;
  font-size: 2.25rem;
}
@media (max-width: 1024px) {
  .tp_news__box time {
    font-size: 1.5rem;
  }
}
@media (max-width: 768px) {
  .tp_news__box time {
    margin: 16px 0 8px;
  }
}
.tp_news__box time small {
  margin-left: 5px;
  font-size: 0.875rem;
}
@media (max-width: 768px) {
  .tp_news__box time small {
    font-size: 0.6875rem;
  }
}
.tp_news__box p {
  line-height: 1.7;
  text-decoration: underline;
  font-size: 1rem;
}
@media (max-width: 1024px) {
  .tp_news__box p {
    font-size: 0.875rem;
  }
}
@media (max-width: 768px) {
  .tp_news__box p {
    font-size: 0.8125rem;
  }
}

.tp_interview {
  width: 100%;
  max-width: 100vw;
  padding: 0;
  overflow-x: hidden;
  overflow-x: clip;
}
.tp_interview__slider {
  width: 100%;
  min-width: 0;
  visibility: hidden;
}
.tp_interview__slider.slick-initialized {
  visibility: visible;
}
.tp_interview__slider .slick-slide {
  margin: 0 40px;
}
@media (max-width: 1024px) {
  .tp_interview__slider .slick-slide {
    margin: 0 20px;
  }
}
.tp_interview__slider .slick-list {
  overflow: visible;
  padding-top: 20px !important;
  padding-bottom: 80px !important;
}
@media (max-width: 768px) {
  .tp_interview__slider .slick-list {
    padding-top: 0 !important;
    padding-bottom: 40px !important;
  }
}
.tp_interview__slider .slick-dots li button::before {
  color: #ccd1de;
  opacity: 1;
}
.tp_interview__slider .slick-dots li.slick-active button::before {
  color: #ffe432;
}
.tp_interview__card {
  position: relative;
  border-radius: 25px;
  padding: 100px 40px 40px;
  overflow: hidden;
  color: #fff;
  text-align: center;
  -webkit-transition: -webkit-transform 0.45s ease;
  transition: -webkit-transform 0.45s ease;
  transition: transform 0.45s ease;
  transition: transform 0.45s ease, -webkit-transform 0.45s ease;
}
@media (max-width: 1024px) {
  .tp_interview__card {
    padding: 55px 24px 30px;
  }
}
@media (max-width: 768px) {
  .tp_interview__card {
    height: auto;
    min-height: 360px;
    padding: 35px 20px 25px;
    border-radius: 20px;
  }
}
.tp_interview__card--blue {
  background: #4d9df1;
  -webkit-transform: rotate(-3deg);
          transform: rotate(-3deg);
}
.tp_interview__card--orange {
  background: #ffb34e;
  -webkit-transform: translateY(55px) rotate(3deg);
          transform: translateY(55px) rotate(3deg);
}
@media (max-width: 768px) {
  .tp_interview__card--orange {
    -webkit-transform: translateY(25px) rotate(3deg);
            transform: translateY(25px) rotate(3deg);
  }
}
.tp_interview__card--cyan {
  background: #68cde4;
  -webkit-transform: rotate(-3deg);
          transform: rotate(-3deg);
}
@media (max-width: 768px) {
  .tp_interview__card--cyan {
    -webkit-transform: rotate(-2deg);
            transform: rotate(-2deg);
  }
}
.tp_interview__card--pink {
  background: #e87fab;
  -webkit-transform: translateY(55px) rotate(3deg);
          transform: translateY(55px) rotate(3deg);
}
@media (max-width: 768px) {
  .tp_interview__card--pink {
    -webkit-transform: translateY(25px) rotate(3deg);
            transform: translateY(25px) rotate(3deg);
  }
}
.tp_interview__card figure {
  z-index: 2;
  margin-bottom: 30px;
}
.tp_interview__card figure img {
  width: 100%;
  max-height: 380px;
  -o-object-fit: contain;
     object-fit: contain;
}
@media (max-width: 1024px) {
  .tp_interview__card figure img {
    max-height: 280px;
  }
}
@media (max-width: 768px) {
  .tp_interview__card figure img {
    height: 200px;
    max-height: 200px;
  }
}
.tp_interview__card p {
  font-weight: 700;
  text-align: right;
  font-size: 1.25rem;
  line-height: 1.6;
  z-index: 3;
}
@media (max-width: 1024px) {
  .tp_interview__card p {
    font-size: 1.0625rem;
  }
}
@media (max-width: 768px) {
  .tp_interview__card p {
    font-size: 0.9375rem;
  }
}

.tp_workstyle {
  margin-bottom: 0 !important;
  z-index: 10;
}
@media (max-width: 1024px) {
  .tp_workstyle {
    padding: 0;
  }
}
@media (max-width: 768px) {
  .tp_workstyle {
    padding: 0 18px 60px;
  }
}
.tp_workstyle__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  position: relative;
  gap: 10%;
  width: 100%;
  min-height: 700px;
  padding: 200px 11vw 185px;
  border-radius: 60px;
  background: #55bedb;
  overflow: hidden;
}
@media (max-width: 1024px) {
  .tp_workstyle__inner {
    gap: 7%;
    min-height: 0;
    padding: 100px 50px 180px;
    border-radius: 45px;
  }
}
@media (max-width: 768px) {
  .tp_workstyle__inner {
    display: block;
    padding: 75px 28px 35px;
    border-radius: 30px;
  }
}
.tp_workstyle__item {
  position: relative;
  width: 34%;
}
@media (max-width: 1024px) {
  .tp_workstyle__item {
    width: 42%;
  }
}
@media (max-width: 768px) {
  .tp_workstyle__item {
    width: 100%;
    margin-bottom: 50px;
  }
}
.tp_workstyle__item:nth-child(2) {
  width: 48%;
}
@media (max-width: 1024px) {
  .tp_workstyle__item:nth-child(2) {
    width: 53%;
  }
}
@media (max-width: 768px) {
  .tp_workstyle__item:nth-child(2) {
    width: 100%;
    margin-bottom: 0;
  }
}
.tp_workstyle__item > a {
  position: relative;
  display: block;
}
.tp_workstyle__item span {
  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;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  position: absolute;
  z-index: 2;
  top: -28px;
  left: -30px;
  width: 125px;
  height: 125px;
  border-radius: 50%;
  background: #ee7fac;
  color: #fff;
  text-align: center;
  font-weight: 700;
  line-height: 1.1;
  font-size: 1.125rem;
}
@media (max-width: 1024px) {
  .tp_workstyle__item span {
    width: 100px;
    height: 100px;
    font-size: 1rem;
    left: -20px;
  }
}
@media (max-width: 768px) {
  .tp_workstyle__item span {
    width: 90px;
    height: 90px;
    font-size: 0.8125rem;
    left: -15px;
    top: -30px;
  }
}
.tp_workstyle__item span small {
  display: block;
  position: absolute;
  left: 50%;
  bottom: 20px;
  font-size: 0.4375rem;
}
.tp_workstyle__item figure {
  border-radius: 30px;
  aspect-ratio: 1/1.2;
  width: 100%;
  overflow: hidden;
}
@media (max-width: 768px) {
  .tp_workstyle__item figure {
    border-radius: 20px;
  }
}
.tp_workstyle__item figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 768px) {
  .tp_workstyle__item:nth-child(1) figure {
    width: 50vw;
  }
}
.tp_workstyle__item:nth-child(2) span {
  left: auto;
  right: -30px;
  background: #338ae2;
}
@media (max-width: 1024px) {
  .tp_workstyle__item:nth-child(2) span {
    right: -20px;
  }
}
@media (max-width: 768px) {
  .tp_workstyle__item:nth-child(2) span {
    right: -15px;
  }
}
.tp_workstyle__item:nth-child(2) figure {
  aspect-ratio: 1.8/1;
}
.tp_workstyle__item > p {
  margin-top: 30px;
  color: #fff;
  font-family: "Fredoka", sans-serif;
  font-weight: 600;
  line-height: 1.4;
  font-size: 1.5rem;
}
@media (max-width: 1024px) {
  .tp_workstyle__item > p {
    font-size: 1.25rem;
  }
}
@media (max-width: 768px) {
  .tp_workstyle__item > p {
    font-size: 0.9375rem;
    margin-top: 22px;
  }
}
.tp_workstyle__character {
  position: absolute;
  right: -50PX;
  bottom: -50PX;
  width: min(24vw, 450px);
}
@media (max-width: 1024px) {
  .tp_workstyle__character {
    width: 280px;
    right: -30px;
    bottom: -35px;
  }
}
@media (max-width: 768px) {
  .tp_workstyle__character {
    width: 210px;
    right: -50px;
    bottom: auto;
    top: -30px;
  }
}

.tp_interview__slider .slick-track > .slick-slide:nth-child(odd) .tp_interview__card {
  -webkit-transform: translateY(0) rotate(-3deg);
          transform: translateY(0) rotate(-3deg);
}
.tp_interview__slider .slick-track > .slick-slide:nth-child(even) .tp_interview__card {
  -webkit-transform: translateY(55px) rotate(3deg);
          transform: translateY(55px) rotate(3deg);
}
@media (max-width: 768px) {
  .tp_interview__slider .slick-track > .slick-slide:nth-child(odd) .tp_interview__card {
    -webkit-transform: translateY(0) rotate(-3deg);
            transform: translateY(0) rotate(-3deg);
  }
  .tp_interview__slider .slick-track > .slick-slide:nth-child(even) .tp_interview__card {
    -webkit-transform: translateY(25px) rotate(3deg);
            transform: translateY(25px) rotate(3deg);
  }
}

.tp_interview__slider.is-tilt-alt .slick-track > .slick-slide:nth-child(odd) .tp_interview__card {
  -webkit-transform: translateY(55px) rotate(3deg);
          transform: translateY(55px) rotate(3deg);
}
.tp_interview__slider.is-tilt-alt .slick-track > .slick-slide:nth-child(even) .tp_interview__card {
  -webkit-transform: translateY(0) rotate(-3deg);
          transform: translateY(0) rotate(-3deg);
}
@media (max-width: 768px) {
  .tp_interview__slider.is-tilt-alt .slick-track > .slick-slide:nth-child(odd) .tp_interview__card {
    -webkit-transform: translateY(25px) rotate(3deg);
            transform: translateY(25px) rotate(3deg);
  }
}

.interview .wrapper {
  background: #f7f8f6;
}
.interview .wrapper main.contents {
  margin: 170px auto 120px;
  border-radius: 0;
  padding: 0;
}
@media (max-width: 1024px) {
  .interview .wrapper main.contents {
    margin: 180px auto 80px;
  }
}
@media (max-width: 768px) {
  .interview .wrapper main.contents {
    margin: 100px auto 0;
  }
}
.interview__stack.is-animated {
  position: relative;
  height: calc(100svh - 100px);
  overflow: hidden;
}
@media (max-width: 1024px) {
  .interview__stack.is-animated {
    height: calc(100svh - 115px);
  }
}
@media (max-width: 768px) {
  .interview__stack.is-animated {
    height: calc(100dvh - 40px);
  }
}
.interview__stack.is-animated .interview__wrap {
  position: absolute;
  inset: 0;
  margin-top: 0;
  width: 100%;
  height: 100%;
  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;
  top: 0;
}
.interview__stack.is-animated .interview__wrap.-blue {
  z-index: 1;
}
.interview__stack.is-animated .interview__wrap.-pink {
  z-index: 2;
}
.interview__stack.is-animated .interview__wrap.-orange {
  z-index: 3;
}
.interview__wrap {
  width: 100%;
  padding: 100px 30px 160px;
  border-radius: 40px;
  margin-top: -60px;
  position: sticky;
  top: 170px;
  cursor: pointer;
}
@media (max-width: 1024px) {
  .interview__wrap {
    padding: 70px 30px 100px;
    top: 115px;
  }
}
@media (max-width: 768px) {
  .interview__wrap {
    margin-top: -30px;
    padding: 40px 24px 75px;
    border-radius: 30px;
  }
}
.interview__wrap.-blue {
  background: #4d9df1;
  --interview-accent: #4d9df1;
  z-index: 1;
}
.interview__wrap.-orange {
  background: #ffb34e;
  --interview-accent: #ffb34e;
  z-index: 3;
}
.interview__wrap.-pink {
  background: #e87fab;
  --interview-accent: #e87fab;
  z-index: 2;
}
.interview__wrap.-cyan {
  background: #68cde4;
  --interview-accent: #68cde4;
  z-index: 3;
}
.interview__box {
  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;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}
@media (max-width: 1024px) {
  .interview__box {
    gap: 35px;
  }
}
@media (max-width: 768px) {
  .interview__box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 25px;
  }
}
.interview__ph {
  width: 500px;
}
@media (max-width: 1024px) {
  .interview__ph {
    width: 45%;
  }
}
@media (max-width: 768px) {
  .interview__ph {
    width: min(200px, 100%);
  }
}
.interview__txt {
  width: 22vw;
  margin-left: 100px;
  color: #fff;
  position: relative;
}
@media (max-width: 1024px) {
  .interview__txt {
    width: 48%;
    margin-left: 0;
  }
}
@media (max-width: 768px) {
  .interview__txt {
    width: 100%;
  }
}
.interview__txt h3 {
  line-height: 1.3;
  font-size: 2vw;
}
@media (max-width: 1024px) {
  .interview__txt h3 {
    font-size: 1.875rem;
  }
}
@media (max-width: 768px) {
  .interview__txt h3 {
    font-size: 1.5625rem;
  }
}
.interview__txt-name {
  margin-top: 30px;
  line-height: 1.3;
}
.interview__txt-name p {
  font-weight: 600;
  font-size: max(1.5rem, 1.7vw);
}
@media (max-width: 1024px) {
  .interview__txt-name p {
    font-size: 1.5rem;
  }
}
@media (max-width: 768px) {
  .interview__txt-name p {
    font-size: 1.375rem;
    padding-right: 55px;
  }
}
.interview__txt-name p span {
  margin-left: 10px;
  font-weight: 500;
  font-size: 0.9vw;
}
@media (max-width: 1024px) {
  .interview__txt-name p span {
    font-size: 0.875rem;
  }
}
@media (max-width: 768px) {
  .interview__txt-name p span {
    font-size: 0.8125rem;
  }
}
.interview__txt-name > span {
  font-size: 0.9375rem;
}
.interview__txt-more {
  position: absolute;
  right: 0;
  bottom: 0;
}
.interview__txt-more a {
  background: #fff;
  height: 50px;
  width: 50px;
  border-radius: 50%;
  aspect-ratio: 1/1;
  display: block;
  border: 2px solid #fff;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}
@media (max-width: 768px) {
  .interview__txt-more a {
    width: 44px;
    height: 44px;
  }
}
.interview__txt-more a:before {
  content: "＋";
  display: block;
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  color: #aaa;
  font-size: 2.1875rem;
  -webkit-transition: color 0.3s ease, -webkit-transform 0.5s cubic-bezier(0.2, 0.8, 0.2, 1);
  transition: color 0.3s ease, -webkit-transform 0.5s cubic-bezier(0.2, 0.8, 0.2, 1);
  transition: transform 0.5s cubic-bezier(0.2, 0.8, 0.2, 1), color 0.3s ease;
  transition: transform 0.5s cubic-bezier(0.2, 0.8, 0.2, 1), color 0.3s ease, -webkit-transform 0.5s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.interview__wrap:hover .interview__txt-more a, .interview__wrap:focus-within .interview__txt-more a {
  background-color: var(--interview-accent);
}
.interview__wrap:hover .interview__txt-more a:before, .interview__wrap:focus-within .interview__txt-more a:before {
  color: #fff;
  -webkit-transform: translate(-50%, -50%) rotate(360deg);
          transform: translate(-50%, -50%) rotate(360deg);
}
.interview .remodal-overlay {
  background: rgba(23, 35, 48, 0.68);
}
.interview .remodal-wrapper {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 22px;
}
@media (max-width: 768px) {
  .interview .remodal-wrapper {
    padding: 12px;
  }
}
.interview .remodal-wrapper:has(> .interview-modal.remodal-is-opening), .interview .remodal-wrapper:has(> .interview-modal.remodal-is-opened), .interview .remodal-wrapper:has(> .interview-modal.remodal-is-closing) {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.interview .remodal-wrapper:has(> .interview-modal)::after {
  display: none;
}
.interview .remodal-wrapper > .interview-modal.remodal {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 960px;
          flex: 0 1 960px;
  margin: auto;
  max-width: 100%;
}

.interview-modal.remodal {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: relative;
  width: min(100%, 960px);
  max-width: 960px;
  margin: 0 auto;
  padding: 0;
  border-radius: 28px;
  background: #f7f8f6;
  text-align: left;
  overflow: hidden;
  color: #555;
}
@media (max-width: 768px) {
  .interview-modal.remodal {
    border-radius: 20px;
  }
}
.interview-modal__scroll {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  max-height: min(88vh, 850px);
  max-height: min(88dvh, 850px);
  overflow-y: auto;
  -ms-scroll-chaining: none;
      overscroll-behavior: contain;
}
@media (max-width: 768px) {
  .interview-modal__scroll {
    max-height: 90vh;
    max-height: 90dvh;
  }
}
.interview-modal__header {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: minmax(0, 43%) 35px minmax(0, 1fr);
  grid-template-columns: minmax(0, 43%) minmax(0, 1fr);
  gap: 35px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 62px 65px 50px;
}
@media (max-width: 768px) {
  .interview-modal__header {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 50px 25px 35px;
  }
}
.interview-modal.-blue .interview-modal__header {
  background: #4d9df1;
}
.interview-modal.-pink .interview-modal__header {
  background: #e87fab;
}
.interview-modal.-orange .interview-modal__header {
  background: #ffb34e;
}
@media (max-width: 768px) {
  .interview-modal__portrait {
    width: min(55%, 200px);
    margin: auto;
  }
  .interview-modal__portrait img {
    max-height: 210px;
  }
}
.interview-modal__portrait img {
  display: block;
  width: 100%;
  max-height: 360px;
  -o-object-fit: contain;
     object-fit: contain;
}
.interview-modal__intro {
  color: white;
}
.interview-modal__intro h2 {
  color: inherit;
  font-size: clamp(20px, 2.8vw, 30px);
  font-weight: 700;
  line-height: 1.45;
  margin: 0 0 28px;
}
@media (max-width: 768px) {
  .interview-modal__intro h2 {
    font-size: 1.25rem;
    margin-bottom: 22px;
  }
}
.interview-modal__eyebrow {
  display: block;
  font-size: 0.875rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  margin-bottom: 18px;
}
.interview-modal__job {
  font-size: 0.875rem;
  margin: 0 0 7px;
}
.interview-modal__name {
  font-size: 1.4375rem;
  font-weight: 700;
  margin: 0;
}
.interview-modal__name small {
  font-size: 0.8125rem;
  font-weight: 500;
  margin-left: 12px;
}
.interview-modal__article {
  padding: 56px min(8vw, 90px) 75px;
  font-size: 1rem;
  line-height: 2;
}
@media (max-width: 768px) {
  .interview-modal__article {
    padding: 35px 25px 55px;
    font-size: 0.8125rem;
  }
  .interview-modal__article h3 {
    font-size: 1.1875rem;
  }
}
.interview-modal__article > div {
  margin-bottom: 100px;
}
@media (max-width: 768px) {
  .interview-modal__article > div {
    margin-bottom: 70px;
  }
}
.interview-modal__article > div:last-of-type {
  margin-bottom: 0;
}
.interview-modal__article .ph {
  margin: 30px 0;
}
.interview-modal__article h4 {
  font-family: "Fredoka", sans-serif;
  font-size: 1.125rem;
  color: var(--clr-blue);
}
@media (max-width: 768px) {
  .interview-modal__article h4 {
    font-size: 0.9375rem;
  }
}
.interview-modal__article h4 span {
  color: #666;
  margin-left: 10px;
  padding-left: 15px;
  position: relative;
  font-size: 0.75rem;
  font-weight: 400;
}
.interview-modal__article h4 span:before {
  content: "";
  height: 100%;
  width: 1px;
  background: #aaa;
  left: 0;
  top: 0;
  position: absolute;
}
.interview-modal__article h3 {
  font-size: 1.625rem;
  line-height: 1.5;
  margin: 35px 0 15px;
}
@media (max-width: 768px) {
  .interview-modal__article h3 {
    font-size: 1.25rem;
  }
}
.interview-modal__article h3:first-child {
  margin-top: 0;
}
.interview-modal__article p {
  font-size: 0.875rem;
  line-height: 1.8;
}
.interview-modal__placeholder {
  color: #999;
}
.interview-modal__close {
  position: absolute;
  top: 20px;
  right: 20px;
  z-index: 3;
  width: 48px;
  height: 48px;
  border: none;
  border-radius: 50%;
  background: #fff;
  cursor: pointer;
}
@media (max-width: 768px) {
  .interview-modal__close {
    top: 12px;
    right: 12px;
    width: 40px;
    height: 40px;
  }
}
.interview-modal__close:hover {
  background: #edf2f7;
}
.interview-modal__close:focus-visible {
  outline: 3px solid #213d8b;
  outline-offset: 3px;
}
.interview-modal__close span {
  position: absolute;
  left: 13px;
  top: 23px;
  width: 22px;
  height: 2px;
  background: #777;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
@media (max-width: 768px) {
  .interview-modal__close span {
    left: 10px;
    top: 19px;
    width: 20px;
  }
}
.interview-modal__close span + span {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.guideline .c-mv {
  background: var(--clr-yellow);
}
.guideline .wrapper {
  background: var(--clr-yellow);
}
.guideline .wrapper main section b {
  font-weight: 750;
  color: var(--clr-link);
  font-size: max(1.125rem, 1vw);
}
@media (max-width: 1024px) {
  .guideline .wrapper main section b {
    font-size: 1.0625rem;
  }
}
@media (max-width: 768px) {
  .guideline .wrapper main section b {
    font-size: 1rem;
  }
}
.guideline .wrapper main section h3 {
  text-align: center;
}
.guideline .wrapper main .table__basic th {
  background: var(--clr-yellow);
  color: #fff;
}
.guideline .flow__contact {
  background: var(--clr-link);
  color: #fff;
  text-align: center;
  margin-top: 60px;
  padding: 50px 30px;
  border-radius: 20px;
  position: relative;
  overflow: hidden;
}
@media (max-width: 1024px) {
  .guideline .flow__contact {
    padding: 45px 35px;
  }
}
@media (max-width: 768px) {
  .guideline .flow__contact {
    padding: 35px 20px;
    margin-top: 35px;
  }
}
.guideline .flow__contact h3 {
  margin-bottom: 15px;
  font-size: max(1.25rem, 1.2vw);
}
@media (max-width: 1024px) {
  .guideline .flow__contact h3 {
    font-size: em(18);
  }
}
@media (max-width: 768px) {
  .guideline .flow__contact h3 {
    font-size: em(15);
  }
}
.guideline .flow__contact a {
  color: #fff;
  text-decoration: underline;
}
.guideline .flow__contact-illust {
  position: absolute;
  width: 300px;
  bottom: -80px;
  left: -50px;
}
@media (max-width: 1024px) {
  .guideline .flow__contact-illust {
    width: 200px;
    bottom: -60px;
    left: -50px;
  }
}
@media (max-width: 768px) {
  .guideline .flow__contact-illust {
    width: 120px;
    bottom: -45px;
    left: -20px;
  }
}

.education .c-mv {
  background: var(--clr-orange);
}
.education .wrapper {
  background: var(--clr-orange);
}
.education .about__wrap {
  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;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}
@media (max-width: 1024px) {
  .education .about__wrap {
    gap: 35px;
  }
}
@media (max-width: 768px) {
  .education .about__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 30px;
  }
}
.education .about__left {
  width: calc(100% - 900px);
}
@media (max-width: 1800px) {
  .education .about__left {
    width: 45%;
  }
}
@media (max-width: 1024px) {
  .education .about__left {
    width: 42%;
    min-width: 0;
  }
}
@media (max-width: 768px) {
  .education .about__left {
    width: 100%;
  }
}
.education .about__right {
  width: 840px;
}
@media (max-width: 1800px) {
  .education .about__right {
    width: 50%;
  }
}
@media (max-width: 1024px) {
  .education .about__right {
    width: 54%;
    min-width: 0;
  }
}
@media (max-width: 768px) {
  .education .about__right {
    width: 100%;
  }
}
@media (max-width: 768px) {
  .education .about__right figure {
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
}
@media (max-width: 768px) {
  .education .about__right figure img {
    width: 460px;
    max-width: 460px;
  }
}
.education .license__box {
  background: var(--clr-link);
  color: #fff;
  padding: 40px 40px;
  border-radius: 15px;
  margin-top: 40px;
  text-align: center;
}
@media (max-width: 1024px) {
  .education .license__box {
    padding: 30px;
  }
}
@media (max-width: 768px) {
  .education .license__box {
    padding: 25px 20px;
    margin-top: 25px;
  }
}
.education .license__box h4 {
  margin-bottom: 10px;
  font-size: max(1.125rem, 1vw);
}
@media (max-width: 1024px) {
  .education .license__box h4 {
    font-size: 1.125rem;
  }
}
@media (max-width: 768px) {
  .education .license__box h4 {
    font-size: 1.0625rem;
  }
}
.education .content__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}
@media (max-width: 1024px) {
  .education .content__wrap {
    gap: 24px;
  }
}
@media (max-width: 768px) {
  .education .content__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 35px;
  }
}
.education .content__wrap > div {
  width: 48.5%;
}
.education .content__wrap h4 {
  color: #fff;
  background: var(--clr-link);
  padding: 15px;
  border-radius: 5px 5px 0 5px;
  margin-bottom: 20px;
  font-size: 1.375rem;
}
@media (max-width: 768px) {
  .education .content__wrap h4 {
    font-size: 1.125rem;
    padding: 12px;
  }
}
.education .content__wrap ul li {
  position: relative;
  background: #fff;
  border-radius: 5px 5px 0 5px;
  margin-bottom: 10px;
  padding: 15px 15px 15px 40px;
  font-size: max(0.875rem, 0.75vw);
}
@media (max-width: 1024px) {
  .education .content__wrap ul li {
    font-size: 15px;
  }
}
@media (max-width: 768px) {
  .education .content__wrap ul li {
    font-size: 0.75rem;
    padding: 8px 15px 8px 30px;
  }
}
.education .content__wrap ul li:before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50px;
  background: var(--clr-link);
  position: absolute;
  left: 22px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media (max-width: 768px) {
  .education .content__wrap ul li:before {
    left: 16px;
    top: 18px;
  }
}
.education .content__txt {
  margin-top: 70px;
}
@media (max-width: 1024px) {
  .education .content__txt {
    margin-top: 45px;
  }
}
@media (max-width: 768px) {
  .education .content__txt {
    margin-top: 30px;
  }
}
.education .content__txt p {
  font-weight: 600;
  line-height: 1.4;
  text-align: center;
  color: var(--clr-link);
  font-size: 1.75rem;
}
@media (max-width: 1024px) {
  .education .content__txt p {
    font-size: 1.375rem;
  }
}
@media (max-width: 768px) {
  .education .content__txt p {
    font-size: 0.9375rem;
    line-height: 1.7;
  }
}

@media (max-width: 1024px) {
  .education .content__wrap > div {
    width: calc(50% - 12px);
  }
}
@media (max-width: 768px) {
  .education .content__wrap > div {
    width: 100%;
  }
}

.workstyle__panel {
  padding: 0 50px;
  height: 100%;
}
@media (max-width: 1024px) {
  .workstyle__panel {
    padding: 0 35px;
  }
}
@media (max-width: 768px) {
  .workstyle__panel {
    padding: 0;
  }
}
.workstyle__box {
  margin-bottom: 90px;
  position: relative;
}
@media (max-width: 1024px) {
  .workstyle__box {
    margin-bottom: 70px;
  }
}
@media (max-width: 768px) {
  .workstyle__box {
    margin-bottom: 55px;
  }
}
.workstyle__box:last-of-type {
  margin-bottom: 0;
}
.workstyle__box:last-of-type:after {
  display: none !important;
}
.workstyle__box span {
  font-family: "Fredoka", sans-serif;
  font-weight: 600;
  color: var(--clr-blue);
  font-size: max(1.5rem, 2vw);
}
@media (max-width: 1024px) {
  .workstyle__box span {
    font-size: 1.5rem;
  }
}
@media (max-width: 768px) {
  .workstyle__box span {
    font-size: 1.375rem;
  }
}
.workstyle__box > div {
  background: #fff;
  padding: 35px;
  border-radius: 20px;
  border: 2px solid var(--clr-blue);
}
@media (max-width: 1024px) {
  .workstyle__box > div {
    padding: 25px;
  }
}
@media (max-width: 768px) {
  .workstyle__box > div {
    border-radius: 15px;
  }
}
.workstyle__box > div h3 {
  margin-bottom: 20px;
  background: var(--clr-blue);
  line-height: 1;
  padding: 10px 20px;
  border-radius: 5px;
  color: #fff;
  display: inline-block;
  font-size: max(1.125rem, 1.1vw);
}
@media (max-width: 1024px) {
  .workstyle__box > div h3 {
    font-size: 1.125rem;
    line-height: 1.5;
  }
}
@media (max-width: 768px) {
  .workstyle__box > div h3 {
    font-size: 1rem;
    padding: 5px 15px;
    margin-bottom: 15px;
  }
}
@media (max-width: 768px) {
  .workstyle #workstyle-panel-day {
    padding: 0 0 0 22px;
  }
}
.workstyle #workstyle-panel-day:before {
  content: "";
  display: block;
  position: absolute;
  height: 100%;
  width: 2px;
  left: 16px;
  top: 30px;
  background: #eee;
  z-index: 1;
}
@media (max-width: 1024px) {
  .workstyle #workstyle-panel-day:before {
    left: 16px;
  }
}
@media (max-width: 768px) {
  .workstyle #workstyle-panel-day:before {
    left: 5px;
    top: 15px;
  }
}
.workstyle #workstyle-panel-day .workstyle__box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  position: relative;
}
@media (max-width: 768px) {
  .workstyle #workstyle-panel-day .workstyle__box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 10px;
  }
}
.workstyle #workstyle-panel-day .workstyle__box:before {
  content: "";
  display: block;
  position: absolute;
  left: -40px;
  top: 1.2vw;
  background: var(--clr-blue);
  height: 15px;
  width: 15px;
  border-radius: 50%;
  z-index: 99;
}
@media (max-width: 1024px) {
  .workstyle #workstyle-panel-day .workstyle__box:before {
    left: -26px;
  }
}
@media (max-width: 768px) {
  .workstyle #workstyle-panel-day .workstyle__box:before {
    left: -22px;
    top: 12px;
    width: 12px;
    height: 12px;
  }
}
.workstyle #workstyle-panel-day .workstyle__box:after {
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  bottom: -60px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 80px solid transparent;
  border-right: 80px solid transparent;
  border-top: 30px solid #d1d4cd;
}
@media (max-width: 1024px) {
  .workstyle #workstyle-panel-day .workstyle__box:after {
    border-left-width: 50px;
    border-right-width: 50px;
  }
}
@media (max-width: 768px) {
  .workstyle #workstyle-panel-day .workstyle__box:after {
    bottom: -38px;
    border-left-width: 30px;
    border-right-width: 30px;
    border-top-width: 18px;
  }
}
.workstyle #workstyle-panel-day .workstyle__box span {
  width: 10vw;
}
@media (max-width: 1024px) {
  .workstyle #workstyle-panel-day .workstyle__box span {
    width: 95px;
  }
}
@media (max-width: 768px) {
  .workstyle #workstyle-panel-day .workstyle__box span {
    width: 100%;
  }
}
.workstyle #workstyle-panel-day .workstyle__box > div {
  width: calc(100% - 10vw);
}
@media (max-width: 1024px) {
  .workstyle #workstyle-panel-day .workstyle__box > div {
    width: calc(100% - 110px);
  }
}
@media (max-width: 768px) {
  .workstyle #workstyle-panel-day .workstyle__box > div {
    width: 100%;
  }
}

#workstyle-panel-night .workstyle__box {
  margin-bottom: 60px;
}
@media (max-width: 768px) {
  #workstyle-panel-night .workstyle__box {
    margin-bottom: 40px;
  }
}
#workstyle-panel-night .workstyle__box:last-of-type {
  margin-bottom: 0;
}

.entry .c-mv {
  background: var(--clr-dblue);
}
.entry .wrapper {
  background: var(--clr-dblue);
}
.entry form > section {
  width: 1280px;
  margin: 0 auto;
}
@media (max-width: 1340px) {
  .entry form > section {
    width: 100%;
  }
}
.entry form .c-note {
  margin-bottom: 80px;
  text-align: center;
  line-height: 2.2;
  font-weight: 500;
}
@media (max-width: 1024px) {
  .entry form .c-note {
    margin-bottom: 50px;
  }
}
@media (max-width: 768px) {
  .entry form .c-note {
    margin-bottom: 30px;
    line-height: 1.8;
    padding: 0 30px;
  }
}
.entry form .req-ico {
  color: #fff;
  background: var(--clr-pink);
  padding: 6px 12px;
  border-radius: 5px;
  line-height: 1;
  font-size: 0.6875rem;
}
@media (max-width: 768px) {
  .entry form .req-ico {
    padding: 5px 10px;
  }
}
.entry form .error {
  font-weight: 600;
  margin-top: 5px;
  color: red;
}
.entry form .error span {
  color: red;
  margin-right: 5px;
}
.entry form .error {
  font-size: 0.6875rem;
}
.entry form input[type=text],
.entry form input[type=email] {
  padding: 1.3rem 1rem;
  line-height: 1;
  border-radius: 5px;
  background: #fff;
}
.entry form input[type=text]._year,
.entry form input[type=email]._year {
  width: 160px;
}
@media (max-width: 768px) {
  .entry form input[type=text]._year,
  .entry form input[type=email]._year {
    width: 80px;
  }
}
.entry form input[type=text]._month, .entry form input[type=text]._day,
.entry form input[type=email]._month,
.entry form input[type=email]._day {
  width: 90px;
}
@media (max-width: 768px) {
  .entry form input[type=text]._month, .entry form input[type=text]._day,
  .entry form input[type=email]._month,
  .entry form input[type=email]._day {
    width: 60px;
  }
}
.entry form label {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.entry form input {
  outline: none;
}
.entry form input[type=radio] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  width: 1.6rem;
  height: 1.6rem;
  border: 2px solid #cccccc;
  border-radius: 50%;
  outline: none;
  cursor: pointer;
  margin-right: 10px;
  position: relative;
  padding: 0;
}
.entry form input[type=radio]:checked {
  border-color: var(--clr-link);
}
.entry form input[type=radio]:checked::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.6rem;
  height: 0.6rem;
  background: var(--clr-link);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}
.entry form input[type=checkbox] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  width: 1.6rem;
  height: 1.6rem;
  border: 2px solid #cccccc;
  border-radius: 5px;
  outline: none;
  cursor: pointer;
  margin-right: 5px;
  position: relative;
  padding: 0;
}
.entry form input[type=checkbox]:checked {
  border-color: var(--clr-link);
}
.entry form input[type=checkbox]:checked::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.6rem;
  height: 0.6rem;
  background: var(--clr-link);
  border-radius: 5px;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}
.entry form textarea {
  border-radius: 5px;
  padding: 12px;
  background: #fff;
  outline: none;
  width: 100%;
}
@media (max-width: 768px) {
  .entry form textarea {
    font-size: 1rem;
  }
}
.entry form table {
  width: 100%;
}
.entry form table th {
  width: 30%;
  padding: 25px;
  background: var(--clr-link);
  color: #fff;
  border-radius: 20px 20px 0 20px;
  border-bottom: 10px solid #f4f2ed;
}
@media (max-width: 1024px) {
  .entry form table th {
    width: 24%;
  }
}
.entry form table th div {
  position: relative;
  font-weight: 600;
}
.entry form table th div.required {
  padding-left: 15px;
}
.entry form table th div.required .req-ico {
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media (max-width: 768px) {
  .entry form table th div.required {
    padding-left: 50px;
  }
}
@media (max-width: 768px) {
  .entry form table th {
    display: block;
    width: 100%;
    padding: 16px;
    border-radius: 12px 12px 0 0;
    border-bottom: 0;
    text-align: left;
  }
}
.entry form table td {
  width: 70%;
  padding: 20px 0 20px 25px;
}
.entry form table td input[type=email],
.entry form table td input[type=text] {
  width: 100%;
}
.entry form table td .-add {
  width: 250px !important;
  margin-bottom: 10px;
}
@media (max-width: 768px) {
  .entry form table td .-add {
    width: min(250px, 100%) !important;
  }
}
@media (max-width: 768px) {
  .entry form table td {
    display: block;
    width: 100%;
    padding: 20px 16px;
    border-radius: 0 0 12px 12px;
    border-bottom: 15px solid #f4f2ed;
  }
}
.entry form a {
  text-decoration: underline;
}
.entry .btn__wrap {
  margin-top: 40px;
}
.entry .btn__wrap input[type=button],
.entry .btn__wrap input[type=submit] {
  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;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  border-radius: 80px;
  height: 75px;
  width: 280px;
  margin-left: auto;
  margin-right: auto;
  -webkit-transition: color 0.3s ease, background-color 0.3s ease;
  transition: color 0.3s ease, background-color 0.3s ease;
  font-weight: 600;
}
.entry .btn__flex {
  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;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}
.entry .btn__flex input[type=button],
.entry .btn__flex input[type=submit] {
  margin: 0;
}
.entry .btn__flex input[type=button]:first-of-type,
.entry .btn__flex input[type=submit]:first-of-type {
  margin-right: 10px;
}
.entry .btn__submit {
  color: #fff;
  background: var(--clr-dblue);
}
.entry .btn__submit:hover {
  background: var(--clr-pink);
  color: #fff;
  cursor: pointer;
}
.entry .btn__submit.is-active:hover {
  background: var(--clr-pink);
  color: #fff;
  cursor: pointer;
}
.entry .btn__submit.is-inactive {
  background: #bbb;
  border: none;
  color: #fff;
}
.entry .btn__back {
  color: #fff;
  background: var(--clr-link);
}
.entry .btn__back:hover {
  background: var(--clr-white);
  color: var(--clr-main);
  border: 3px solid var(--clr-main);
}
.entry .form_privacy {
  text-align: center;
  margin-top: 50px;
}
.entry .form_privacy .checkbox input {
  margin-right: 7px;
}
@media (max-width: 768px) {
  .entry .form_privacy {
    margin-top: 20px;
  }
}

.thanks section {
  width: 800px;
  max-width: 100%;
  margin: 0 auto;
}
@media (max-width: 768px) {
  .thanks section {
    padding: 0 30px;
  }
}
.thanks section h3 {
  font-size: 2.25rem;
  margin-bottom: 50px;
  color: var(--clr-pink);
}
@media (max-width: 768px) {
  .thanks section h3 {
    font-size: 1.5rem;
  }
}
.thanks section ul {
  margin: 40px 0;
}
.thanks section ul li {
  list-style: disc;
  margin-left: 30px;
  font-size: 0.8125rem;
}
.thanks section .c-btn__default {
  margin-top: 100px;
}

.js-scroll {
  will-change: transform, opacity;
}

body:not(.top) .js-scroll.fadeup {
  opacity: 0;
}
body:not(.top) .js-scroll.fadeup.done {
  -webkit-animation: fadeUp 1s cubic-bezier(0.25, 1, 0.5, 1) forwards;
          animation: fadeUp 1s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}

@-webkit-keyframes fadeUp {
  from {
    opacity: 0;
    -webkit-transform: translateY(80px);
            transform: translateY(80px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes fadeUp {
  from {
    opacity: 0;
    -webkit-transform: translateY(80px);
            transform: translateY(80px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
.c-btn {
  margin-top: 70px;
}

.c-section__title {
  text-align: center;
  margin-bottom: 45px;
}
@media (max-width: 768px) {
  .c-section__title {
    margin-bottom: 30px;
  }
}
.c-section__title h2 {
  color: #55c2df;
  font-family: "Fredoka", sans-serif;
  line-height: 1;
  font-weight: 800;
  letter-spacing: 0.05em;
  font-size: max(3.75rem, clamp(2.3rem, 4.3vw, 4.3rem));
  font-optical-sizing: none;
  font-synthesis: none;
  -webkit-font-kerning: normal;
          font-kerning: normal;
}
@media (max-width: 768px) {
  .c-section__title h2 {
    font-size: 2.8125rem;
  }
}
.c-section__title p {
  display: inline-block;
  margin-top: 15px;
  padding: 5px 10px;
  line-height: 1;
  color: #55c2df;
  background: #fff;
  font-weight: 700;
  border-radius: 5px;
  font-size: 0.875rem;
}
@media (max-width: 768px) {
  .c-section__title p {
    font-size: 0.6875rem;
  }
}

.c-section__n {
  color: var(--clr-link);
  line-height: 1;
  font-weight: 750;
  margin-bottom: 40px;
  font-size: max(1.875rem, 1.9vw);
}
@media (max-width: 1024px) {
  .c-section__n {
    font-size: 2.1875rem;
  }
}
@media (max-width: 768px) {
  .c-section__n {
    font-size: 1.625rem;
    line-height: 1.4;
    margin-bottom: 20px;
  }
}

main ul.c-note li {
  margin: 0 0 0 25px;
  list-style: disc;
  width: 100%;
}
@media (max-width: 768px) {
  main ul.c-note li {
    padding-right: 25px;
  }
}

.table__basic {
  border: none;
  width: 100%;
}
.table__basic th {
  width: 30%;
  padding: 25px;
  background: var(--clr-link);
  color: #fff;
  font-weight: 700;
  border-radius: 20px 20px 0 20px;
  border-bottom: 10px solid #f4f2ed;
  font-size: max(1.25rem, 1vw);
}
@media (max-width: 1024px) {
  .table__basic th {
    font-size: 1.25rem;
    padding: 20px 15px;
  }
}
@media (max-width: 768px) {
  .table__basic th {
    display: block;
    width: 100%;
    padding: 13px;
    font-size: 1.125rem;
    border-radius: 12px 12px 0 0;
    border-bottom: 0;
  }
}
.table__basic th div {
  position: relative;
}
.table__basic td {
  width: 70%;
  padding: 35px 25px;
  background: #fff;
  border-bottom: 10px solid #f4f2ed;
  border-radius: 20px 20px 0 20px;
}
@media (max-width: 1024px) {
  .table__basic td {
    padding: 25px 20px;
  }
}
@media (max-width: 768px) {
  .table__basic td {
    display: block;
    width: 100%;
    padding: 15px 20px;
    border-radius: 0 0 12px 12px;
    border-bottom-width: 15px;
  }
}
.table__basic td a {
  color: #aaa;
  text-decoration: underline;
}
.table__basic td input[type=email],
.table__basic td input[type=text] {
  width: 100%;
}
.table__basic td .-add {
  width: 250px !important;
  margin-bottom: 10px;
}
@media (max-width: 768px) {
  .table__basic td .-add {
    width: min(250px, 100%) !important;
  }
}
.table__basic td span {
  margin-top: 10px;
  color: #aaa;
  font-size: max(em(13), 0.6vw);
}
@media (max-width: 1024px) {
  .table__basic td span {
    font-size: 0.75rem;
  }
}
@media (max-width: 768px) {
  .table__basic td span {
    font-size: 0.625rem;
  }
}

.sp {
  display: none !important;
}
@media (max-width: 1024px) {
  .sp {
    display: block !important;
  }
}

.pc {
  display: block !important;
}
@media (max-width: 1024px) {
  .pc {
    display: none !important;
  }
}

.c-anchor {
  margin-bottom: 90px !important;
}
@media (max-width: 1024px) {
  .c-anchor {
    margin-bottom: 60px !important;
  }
}
@media (max-width: 768px) {
  .c-anchor {
    margin-bottom: 40px !important;
  }
}
.c-anchor ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  width: 100%;
}
@media (max-width: 1024px) {
  .c-anchor ul {
    gap: 20px;
  }
}
@media (max-width: 768px) {
  .c-anchor ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 12px;
  }
}
.c-anchor ul li {
  width: 49%;
}
@media (max-width: 768px) {
  .c-anchor ul li {
    width: 100%;
  }
}
.c-anchor ul li a,
.c-anchor ul li button {
  position: relative;
  display: block;
  width: 100%;
  padding: 25px;
  border-radius: 15px 15px 0 15px;
  background: var(--clr-link);
  color: #fff;
  font-size: max(1.25rem, 1.4vw);
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
}
@media (max-width: 1024px) {
  .c-anchor ul li a,
  .c-anchor ul li button {
    font-size: 1.25rem;
  }
}
@media (max-width: 768px) {
  .c-anchor ul li a,
  .c-anchor ul li button {
    padding: 32px 12px 16px;
    font-size: 1rem;
  }
}
.c-anchor ul li a span,
.c-anchor ul li button span {
  display: block;
  margin-top: 15px;
  padding: 10px;
  border-radius: 10px;
  background: #fff;
  color: var(--clr-link);
  font-size: 0.875rem;
  line-height: 1;
}
@media (max-width: 768px) {
  .c-anchor ul li a span,
  .c-anchor ul li button span {
    margin-top: 10px;
    padding: 8px;
    font-size: 0.75rem;
  }
}
.c-anchor ul li a::after,
.c-anchor ul li button::after {
  content: "";
  position: absolute;
  top: 20px;
  right: 20px;
  display: inline-block;
  width: 1.4em;
  height: 1.4em;
  background-color: #fff;
  -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><path d="M320 576C461.4 576 576 461.4 576 320C576 178.6 461.4 64 320 64C178.6 64 64 178.6 64 320C64 461.4 178.6 576 320 576zM303 441L223 361C213.6 351.6 213.6 336.4 223 327.1C232.4 317.8 247.6 317.7 256.9 327.1L295.9 366.1L295.9 216C295.9 202.7 306.6 192 319.9 192C333.2 192 343.9 202.7 343.9 216L343.9 366.1L382.9 327.1C392.3 317.7 407.5 317.7 416.8 327.1C426.1 336.5 426.2 351.7 416.8 361L336.8 441C327.4 450.4 312.2 450.4 302.9 441z"/></svg>') center/contain no-repeat;
  mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><path d="M320 576C461.4 576 576 461.4 576 320C576 178.6 461.4 64 320 64C178.6 64 64 178.6 64 320C64 461.4 178.6 576 320 576zM303 441L223 361C213.6 351.6 213.6 336.4 223 327.1C232.4 317.8 247.6 317.7 256.9 327.1L295.9 366.1L295.9 216C295.9 202.7 306.6 192 319.9 192C333.2 192 343.9 202.7 343.9 216L343.9 366.1L382.9 327.1C392.3 317.7 407.5 317.7 416.8 327.1C426.1 336.5 426.2 351.7 416.8 361L336.8 441C327.4 450.4 312.2 450.4 302.9 441z"/></svg>') center/contain no-repeat;
}
@media (max-width: 768px) {
  .c-anchor ul li a::after,
  .c-anchor ul li button::after {
    top: 10px;
    right: 10px;
    width: 18px;
    height: 18px;
  }
}
.c-anchor ul li a:hover, .c-anchor ul li a.is-active,
.c-anchor ul li button:hover,
.c-anchor ul li button.is-active {
  background: #fff;
  color: var(--clr-link);
  border: 2px solid var(--clr-link);
}
.c-anchor ul li a:hover span, .c-anchor ul li a.is-active span,
.c-anchor ul li button:hover span,
.c-anchor ul li button.is-active span {
  background: var(--clr-link);
  color: #fff;
}
.c-anchor ul li a:hover::after,
.c-anchor ul li button:hover::after {
  background-color: var(--clr-link);
  -webkit-animation: fuwafuwa 1s linear infinite;
          animation: fuwafuwa 1s linear infinite;
}

@-webkit-keyframes fuwafuwa {
  0%, 100% {
    -webkit-transform: translateY(3px);
            transform: translateY(3px);
  }
  50% {
    -webkit-transform: translateY(-5px);
            transform: translateY(-5px);
  }
}

@keyframes fuwafuwa {
  0%, 100% {
    -webkit-transform: translateY(3px);
            transform: translateY(3px);
  }
  50% {
    -webkit-transform: translateY(-5px);
            transform: translateY(-5px);
  }
}
/*font-family: "Fredoka", sans-serif;*/