@charset "UTF-8";
/*! normalize.css v2.1.2 | MIT License | git.io/normalize */
/* ==========================================================================
   HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined in IE 8/9.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
  display: block;
}

/**
 * Correct `inline-block` display not defined in IE 8/9.
 */
audio,
canvas,
video {
  display: inline-block;
}

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Address styling not present in IE 8/9.
 */
[hidden] {
  display: none;
}

/* ==========================================================================
   Base
   ========================================================================== */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
  font-family: sans-serif; /* 1 */
  -ms-text-size-adjust: 100%; /* 2 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/**
 * Remove default margin.
 */
body {
  margin: 0;
}

/* ==========================================================================
   Links
   ========================================================================== */
/**
 * Address `outline` inconsistency between Chrome and other browsers.
 */
a:focus {
  outline: thin dotted;
}

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */
a:active,
a:hover {
  outline: 0;
}

/* ==========================================================================
   Typography
   ========================================================================== */
/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari 5, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/**
 * Address styling not present in IE 8/9, Safari 5, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted;
}

/**
 * Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
 */
b,
strong {
  font-weight: bold;
}

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

/**
 * Address differences between Firefox and other browsers.
 */
hr {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  height: 0;
}

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

/**
 * Correct font family set oddly in Safari 5 and Chrome.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, serif;
  font-size: 1em;
}

/**
 * Improve readability of pre-formatted text in all browsers.
 */
pre {
  white-space: pre-wrap;
}

/**
 * Set consistent quote types.
 */
q {
  quotes: "“" "”" "‘" "’";
}

/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%;
}

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

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/* ==========================================================================
   Embedded content
   ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9.
 */
img {
  border: 0;
}

/**
 * Correct overflow displayed oddly in IE 9.
 */
svg:not(:root) {
  overflow: hidden;
}

/* ==========================================================================
   Figures
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari 5.
 */
figure {
  margin: 0;
}

/* ==========================================================================
   Forms
   ========================================================================== */
/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct `color` not being inherited in IE 8/9.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0; /* 1 */
  padding: 0; /* 2 */
}

/**
 * 1. Correct font family not being inherited in all browsers.
 * 2. Correct font size not being inherited in all browsers.
 * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome.
 */
button,
input,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 2 */
  margin: 0; /* 3 */
}

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
button,
input {
  line-height: normal;
}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+.
 * Correct `select` style inheritance in Firefox 4+ and Opera.
 */
button,
select {
  text-transform: none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,
html input[type=button],
input[type=reset],
input[type=submit] {
  -webkit-appearance: button; /* 2 */
  cursor: pointer; /* 3 */
}

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default;
}

/**
 * 1. Address box sizing set to `content-box` in IE 8/9.
 * 2. Remove excess padding in IE 8/9.
 */
input[type=checkbox],
input[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
 *    (include `-moz` to future-proof).
 */
input[type=search] {
  -webkit-appearance: textfield; /* 1 */
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box; /* 2 */
  box-sizing: content-box;
}

/**
 * Remove inner padding and search cancel button in Safari 5 and Chrome
 * on OS X.
 */
input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/**
 * 1. Remove default vertical scrollbar in IE 8/9.
 * 2. Improve readability and alignment in all browsers.
 */
textarea {
  overflow: auto; /* 1 */
  vertical-align: top; /* 2 */
}

/* ==========================================================================
   Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

/*! original.css v1.0.0 | MIT License */
/* ==========================================================================
   set original style with normalize.css

   ※補足
    'img'が縦に並ぶ際、画像の高さが低いものに関して、隙間が生じる場合がある。
    その際は'line-height'、'font-size'が影響している。
    各エレメントに対して必要に応じてリセット。
   ========================================================================== */
html {
  font-size: 62.5%; /* = 10px */
}

/**
 * set original style
 */
body {
  -webkit-text-size-adjust: 100%;
  word-wrap: break-word;
}

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

h1 {
  margin: 0;
  font-size: 100%;
}

h2 {
  margin: 0;
  font-size: 100%;
}

h3 {
  margin: 0;
  font-size: 100%;
}

h4 {
  margin: 0;
  font-size: 100%;
}

h5 {
  margin: 0;
  font-size: 100%;
}

h6 {
  margin: 0;
  font-size: 100%;
}

p {
  margin: 0;
}

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

dl {
  margin: 0;
}

dd {
  margin: 0;
}

fieldset {
  margin: 0;
  padding: 0;
  border: 0;
}

input[type=text], input[type=tel], input[type=email], textarea, select, button {
  outline: none !important;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

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

input[type=submit] {
  outline: none;
}

input[type=file]:focus {
  outline: none;
}

button {
  padding: 0;
  background-color: transparent;
  border: none;
}

table {
  word-break: break-all;
}
table th {
  text-align: left;
  font-weight: normal;
}

small {
  font-size: 100%;
}

blockquote {
  margin: 0;
}

sup {
  top: 0;
  font-size: 100%;
}

/**
 * clean up extra space on 'img'
 */
img {
  vertical-align: top;
}

/**
 * delete focus outline
 */
area, area:focus {
  outline: none;
}

/**
 * delete focus outline for 'firefox'
 */
a, a:focus {
  outline: none;
  text-decoration: none;
}

object, embed, video {
  outline: none;
}

:root {
  --width-pcmin: 1100px;
  --bg-position: 100% 100%;
  --bg-size: 0 1px;
  --color-main: #005b94;
  --color-text: #242422;
  --color-link: #2988cc;
  --color-border: #ddd;
  --color-bg: #fff;
  --color-bg-gray: #f5f4f2;
  --color-hover-bg: #004abb;
  --font-base: ryo-gothic-plusn, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
  --font-base-en: aileron, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, "arial", sans-serif;
}

html, body {
  height: 100%;
}

body {
  position: relative;
  line-height: 1.7;
  background-color: var(--color-bg);
  color: var(--color-text);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-family: var(--font-base);
}
@media (max-width: 1023px) {
  body {
    font-size: 1.4rem;
  }
}
@media (min-width: 1024px) {
  body {
    font-size: 1.8rem;
  }
}

a {
  transition: color 0.2s ease;
  color: var(--color-text);
}

svg {
  transition: all 0.4s ease;
}

.l-header {
  transition: all cubic-bezier(0.22, 1, 0.36, 1) 0.4s;
  opacity: 1;
  visibility: visible;
  z-index: 1000;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  background-color: var(--color-bg);
}
@media (max-width: 1023px) {
  .l-header {
    height: 65px;
  }
}
@media (min-width: 1024px) {
  .l-header {
    height: 100px;
  }
}

.l-header.-scrolling {
  position: fixed;
}

.l-header.-hide {
  opacity: 0;
  visibility: hidden;
}

@media (min-width: 1024px) {
  .l-content-container {
    padding-top: 100px;
  }
}
@media (max-width: 1023px) {
  .l-content-container {
    padding-top: 70px;
  }
}

.l-content-container.-pt_0 {
  padding-top: 0;
}

@media (min-width: 1024px) {
  .l-breadcrumbs {
    padding-left: 6%;
    padding-right: 6%;
  }
}
@media (max-width: 1023px) {
  .l-breadcrumbs {
    padding-left: 7.2463768116vw;
    padding-right: 7.2463768116vw;
  }
}
.l-breadcrumbs__inner {
  display: flex;
  flex-wrap: wrap;
}
.l-breadcrumbs__item {
  position: relative;
  font-family: var(--font-base-en);
}
@media (min-width: 1024px) {
  .l-breadcrumbs__item {
    font-size: 1.2rem;
  }
}
@media (max-width: 1023px) {
  .l-breadcrumbs__item {
    font-size: 1rem;
  }
}
.l-breadcrumbs__item:not(:last-child):after {
  content: "";
  position: relative;
  top: -0.15em;
  display: inline-block;
  width: 3px;
  height: 3px;
  margin: 0 8px;
  border-radius: 50%;
  background-color: #aaa;
  vertical-align: middle;
}
.l-breadcrumbs__item:last-child > span {
  --color-text: #888;
}
.l-breadcrumbs__text {
  color: var(--color-text);
}

.l-block {
  position: relative;
}
@media (max-width: 1023px) {
  .l-block {
    padding-left: 7.2463768116vw;
    padding-right: 7.2463768116vw;
  }
}
@media (min-width: 1024px) {
  .l-block {
    padding-left: 6%;
    padding-right: 6%;
  }
}
@media (min-width: 1024px) {
  .l-block__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding-top: 100px;
    padding-bottom: 100px;
  }
}
@media (max-width: 1023px) {
  .l-block__inner {
    padding-top: 50px;
    padding-bottom: 50px;
  }
}
@media (min-width: 1024px) {
  .l-block__inner.-document {
    padding-top: 50px;
  }
}
@media (max-width: 1023px) {
  .l-block__inner.-document {
    padding-top: 20px;
  }
}

.l-block.-gray {
  background-color: var(--color-bg-gray);
}

.l-block.-border_top {
  border-top: 1px solid var(--color-border);
}

@media (max-width: 1023px) {
  .l-block.-column {
    padding-left: 3.6231884058vw;
    padding-right: 3.6231884058vw;
  }
}
@media (min-width: 1024px) {
  .l-block.-column .l-block__inner {
    padding-top: 30px;
  }
}
@media (max-width: 1023px) {
  .l-block.-column .l-block__inner {
    padding-top: 0;
  }
}

.c-heading-1 {
  font-weight: normal;
}
.c-heading-1__main, .c-heading-1__sub {
  display: block;
}
.c-heading-1__main {
  letter-spacing: 0.01em;
  font-weight: bold;
}
@media (min-width: 1024px) {
  .c-heading-1__main {
    font-size: 4.2rem;
  }
}
@media (max-width: 1023px) {
  .c-heading-1__main {
    font-size: 2.7rem;
  }
}
.c-heading-1__sub {
  letter-spacing: 0.05em;
  font-family: var(--font-base-en);
}
@media (min-width: 1024px) {
  .c-heading-1__sub {
    font-size: 1.5rem;
  }
}
@media (max-width: 1023px) {
  .c-heading-1__sub {
    font-size: 1rem;
  }
}

.c-heading-2 {
  font-weight: normal;
}
.c-heading-2__main, .c-heading-2__sub {
  display: block;
  letter-spacing: 0.05em;
}
.c-heading-2__main {
  font-weight: bold;
}
@media (min-width: 1024px) {
  .c-heading-2__main {
    font-size: 2.8rem;
  }
}
@media (max-width: 1023px) {
  .c-heading-2__main {
    font-size: 2.1rem;
  }
}
.c-heading-2__sub {
  font-family: var(--font-base-en);
}
@media (min-width: 1024px) {
  .c-heading-2__sub {
    font-size: 1.2rem;
  }
}
@media (max-width: 1023px) {
  .c-heading-2__sub {
    font-size: 1rem;
  }
}

.c-heading-3 {
  letter-spacing: 0.05em;
  font-weight: bold;
}
@media (min-width: 1024px) {
  .c-heading-3 {
    margin-top: 50px;
    font-size: 2.2rem;
  }
}
@media (max-width: 1023px) {
  .c-heading-3 {
    margin-top: 40px;
    font-size: 1.8rem;
  }
}

.c-button {
  --color-bg: #242422;
  --color-text: #fff;
}
.c-button > a {
  transition: color cubic-bezier(0.215, 0.61, 0.355, 1) 0.1s, background-color 0.3s;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  background-color: var(--color-bg);
  color: var(--color-text);
  border-radius: 8px;
}
@media (max-width: 1023px) {
  .c-button > a {
    min-height: 50px;
    padding: 14px 30px;
    font-size: 1.6rem;
  }
}
@media (min-width: 1024px) {
  .c-button > a {
    min-height: 60px;
    padding: 22px 50px;
    font-size: 2rem;
  }
}
@media (min-width: 1024px) {
  .c-button > a:hover {
    --color-bg: #444;
  }
}

.c-button.-type_header > a {
  border-radius: 4px;
}
@media (min-width: 1024px) {
  .c-button.-type_header > a {
    min-height: auto;
    padding: 8px 16px;
    font-size: 1.4rem;
  }
}

.c-button.-low_cta {
  max-width: 300px;
  margin-left: auto;
  margin-right: auto;
}

.c-button.-size_s {
  max-width: 250px;
}
@media (min-width: 1024px) {
  .c-button.-size_s > a {
    padding: 12px 40px;
    font-size: 1.8rem;
  }
}

.c-button.-hover {
  background-color: var(--color-hover-bg);
}

.c-button.-color_inverted {
  --color-bg: #fff;
  --color-text: #242422;
  --color-hover-bg: #e6e6e6;
}
@media (min-width: 1024px) {
  .c-button.-color_inverted > a:hover {
    --color-bg: #e6e6e6;
  }
}

.c-button.-color_inverted.-border {
  --color-border: #242422;
  border: 1px solid var(--color-border);
  border-radius: 8px;
}

.c-read-button {
  display: inline-flex;
  align-items: center;
}

.c-read-button__icon {
  transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
  position: relative;
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid var(--color-border);
  border-radius: 50%;
  background-color: var(--color-bg);
}
@media (max-width: 1023px) {
  .c-read-button__icon {
    width: 32px;
    height: 32px;
  }
}
@media (min-width: 1024px) {
  .c-read-button__icon {
    width: 48px;
    height: 48px;
  }
}

@media (min-width: 1024px) {
  a:hover .c-read-button__icon {
    border-color: var(--color-text);
  }
}

@media (min-width: 1024px) {
  a:hover .c-read-button__icon:before {
    transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
    transform: scale(1);
  }
}

.c-read-button__arrow {
  position: relative;
  z-index: 1;
  fill: #242422;
}
@media (max-width: 1023px) {
  .c-read-button__arrow {
    width: 13px;
    height: 11px;
  }
}
@media (min-width: 1024px) {
  .c-read-button__arrow {
    width: 15px;
    height: 12px;
  }
}

@media (max-width: 1023px) {
  .c-read-button__label {
    margin-left: 8px;
    font-size: 1.5rem;
  }
}
@media (min-width: 1024px) {
  .c-read-button__label {
    margin-left: 12px;
    font-size: 1.8rem;
  }
}

.c-read-button.-arrow_black {
  --color-bg: #242422;
  --color-border: #242422;
}
.c-read-button.-arrow_black .c-read-button__arrow {
  fill: #fff;
}

.c-circle-arrow {
  --color-border: #ccc;
  transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
  position: relative;
  display: inline-block;
  width: 17px;
  height: 17px;
  border: 1px solid var(--color-border);
  border-radius: 50%;
}
.c-circle-arrow svg {
  transform: translate(-50%, -50%);
  position: absolute;
  top: 51%;
  left: 52%;
  width: 17px;
  height: 17px;
}

@media (min-width: 1024px) {
  .c-circle-arrow:hover, a:hover .c-circle-arrow {
    --color-border: var(--color-text);
  }
}

.c-word {
  line-height: 1.85;
  letter-spacing: 0.05em;
}
@media (min-width: 1024px) {
  .c-word {
    font-size: 1.9rem;
  }
}
@media (max-width: 1023px) {
  .c-word {
    font-size: 1.5rem;
  }
}

@media (min-width: 1024px) {
  .c-word.-s_15 {
    font-size: 1.5rem;
  }
  .c-word.-s_17 {
    font-size: 1.7rem;
  }
}
.c-kakko-ol {
  counter-reset: number-kakko;
  margin-top: 30px;
}
@media (min-width: 1024px) {
  .c-kakko-ol {
    padding-left: 20px;
  }
}
@media (max-width: 1023px) {
  .c-kakko-ol {
    padding-left: 15px;
  }
}
.c-kakko-ol li {
  position: relative;
}
@media (min-width: 1024px) {
  .c-kakko-ol li {
    padding-left: 25px;
  }
}
@media (max-width: 1023px) {
  .c-kakko-ol li {
    padding-left: 20px;
  }
}
.c-kakko-ol li + li {
  margin-top: 10px;
}
.c-kakko-ol li:before {
  counter-increment: number-kakko;
  content: "(" counter(number-kakko) ")";
  position: absolute;
  top: -0.04em;
  left: -6px;
  display: block;
  letter-spacing: 0.05em;
}

@media (min-width: 1024px) {
  .f-layout-2 {
    --col-number: 2;
    --gap-col: 40px;
    display: grid;
    grid-template-columns: repeat(var(--col-number), 1fr);
    column-gap: var(--gap-col);
  }
}
@media (max-width: 1023px) {
  .f-layout-2__content + .f-layout-2__content {
    margin-top: 15px;
  }
}

@media (min-width: 1024px) {
  .f-layout-1 + .f-layout-1, .f-layout-2 + .f-layout-1, .f-layout-2 + .f-layout-2 {
    margin-top: 20px;
  }
}
@media (max-width: 1023px) {
  .f-layout-1 + .f-layout-1, .f-layout-2 + .f-layout-1, .f-layout-2 + .f-layout-2 {
    margin-top: 30px;
  }
}

.f-input-area {
  margin-top: 5px;
}

.f-cta-area {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
@media (min-width: 1024px) {
  .f-cta-area {
    margin-top: 80px;
  }
}
@media (max-width: 1023px) {
  .f-cta-area {
    margin-top: 50px;
  }
}
.f-cta-area__text {
  margin-top: 20px;
  font-size: 1.2rem;
}

.f-label {
  font-weight: bold;
}
@media (min-width: 1024px) {
  .f-label {
    font-size: 1.5rem;
  }
}

.f-input {
  --color-border: #cbd6e2;
  display: inline-block;
  width: 100%;
  height: 50px;
  padding: 10px 50px 10px 15px;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  background-color: var(--color-bg);
  line-height: 22px;
}
@media (min-width: 1024px) {
  .f-input {
    font-size: 1.7rem;
  }
}
@media (max-width: 1023px) {
  .f-input {
    font-size: 1.5rem;
  }
}

.f-input:focus {
  --color-border: #7daee1;
}

.f-input::placeholder, .f-input.-placeholder {
  --color-text: #bfbfbf;
  color: var(--color-text);
}

.f-input.-select {
  background-image: url("/assets/img/common/icn-select.svg");
  background-position: right 5px top 50%;
  background-repeat: no-repeat;
  background-size: 30px auto, 100%;
}

@media (min-width: 1024px) {
  .f-input.-textarea {
    min-height: 150px;
  }
}

.f-checkbox-label {
  position: relative;
  cursor: pointer;
  padding-left: 30px;
}
.f-checkbox-label__name {
  font-weight: bold;
}
@media (min-width: 1024px) {
  .f-checkbox-label__name {
    font-size: 1.5rem;
  }
}

.f-checkbox-label:before {
  --color-border: #cbd6e2;
  transition: all 0.2s ease;
  content: "";
  position: absolute;
  left: 0;
  width: 20px;
  height: 20px;
  border: 1px solid var(--color-border);
  border-radius: 4px;
  background-color: var(--color-bg);
}
@media (min-width: 1024px) {
  .f-checkbox-label:before {
    top: -0.02em;
  }
}
@media (max-width: 1023px) {
  .f-checkbox-label:before {
    top: -0.3em;
  }
}

.f-checkbox-label:after {
  --color-border: #fff;
  transition: all 0.2s ease;
  transform: translateY(-40%) rotate(45deg);
  content: "";
  position: absolute;
  left: 8px;
  display: block;
  width: 4px;
  height: 8px;
  border: 2px solid var(--color-border);
  border-top: 0;
  border-left: 0;
}
@media (min-width: 1024px) {
  .f-checkbox-label:after {
    top: 9px;
  }
}
@media (max-width: 1023px) {
  .f-checkbox-label:after {
    top: 5px;
  }
}

.f-checkbox-list__item:has(input:checked) .f-checkbox-label::before,
.f-checkbox-list__item:has(input:checked) .f-checkbox-label::after {
  --color-border: #14C12C;
}

@media (min-width: 1024px) {
  .f-checkbox-list__item + .f-checkbox-list__item {
    margin-top: 5px;
  }
}
@media (max-width: 1023px) {
  .f-checkbox-list__item + .f-checkbox-list__item {
    margin-top: 10px;
  }
}

.f-checkbox {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 0;
  height: 0;
}

.f-button {
  --color-bg: #242422;
  --color-text: #fff;
  transition: all 0.15s linear;
  display: block;
  min-width: 210px;
  min-height: 60px;
  border: none;
  border-radius: 8px;
  letter-spacing: 0.05em;
  background-color: var(--color-bg);
  color: var(--color-text);
  font-size: 2rem;
  font-weight: 500;
}

.f-button:hover {
  --color-bg: #444;
}

.f-require-tag {
  --color-text: #ec6b3c;
  position: relative;
  top: -0.1em;
  color: var(--color-text);
  font-family: var(--font-base-en);
  font-weight: bold;
}
@media (min-width: 1024px) {
  .f-require-tag {
    font-size: 2.2rem;
  }
}

.f-require {
  --color-text: #ec6b3c;
  position: relative;
  top: -0.2em;
  color: var(--color-text);
  font-family: var(--font-base-en);
  font-weight: bold;
}
@media (min-width: 1024px) {
  .f-require {
    font-size: 1.9rem;
  }
}

@media (min-width: 1024px) {
  .smf-form .smf-item + .smf-item {
    margin-top: 20px;
  }
}
@media (max-width: 1023px) {
  .smf-form .smf-item + .smf-item {
    margin-top: 30px;
  }
}
.smf-form .smf-item__col--label {
  font-weight: bold;
}
@media (min-width: 1024px) {
  .smf-form .smf-item__label__text {
    font-size: 1.5rem;
  }
}
.smf-form .smf-item__col {
  margin-top: 5px;
}
.smf-form .f-smf-label-must .smf-item__label__text {
  position: relative;
  padding-right: 14px;
}
.smf-form .f-smf-label-must .smf-item__label__text:after {
  --color-text: #ec6b3c;
  content: "*";
  position: absolute;
  top: -0.7em;
  right: 0;
  display: block;
  color: var(--color-text);
  font-family: var(--font-base-en);
  font-weight: bold;
}
@media (min-width: 1024px) {
  .smf-form .f-smf-label-must .smf-item__label__text:after {
    font-size: 1.9rem;
  }
}
.smf-form .smf-item .f-smf-input-text.smf-text-control__control,
.smf-form .smf-item .f-smf-textarea.smf-textarea-control__control,
.smf-form .smf-item .f-smf-select.smf-select-control__control {
  --color-border: #cbd6e2;
  display: inline-block;
  width: 100%;
  height: 50px;
  padding: 10px 50px 10px 15px;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  background-color: var(--color-bg);
  line-height: 22px;
}
@media (min-width: 1024px) {
  .smf-form .smf-item .f-smf-input-text.smf-text-control__control,
  .smf-form .smf-item .f-smf-textarea.smf-textarea-control__control,
  .smf-form .smf-item .f-smf-select.smf-select-control__control {
    font-size: 1.7rem;
  }
}
@media (max-width: 1023px) {
  .smf-form .smf-item .f-smf-input-text.smf-text-control__control,
  .smf-form .smf-item .f-smf-textarea.smf-textarea-control__control,
  .smf-form .smf-item .f-smf-select.smf-select-control__control {
    font-size: 1.5rem;
  }
}
.smf-form .smf-item .f-smf-input-text.smf-text-control__control:focus,
.smf-form .smf-item .f-smf-textarea.smf-textarea-control__control:focus,
.smf-form .smf-item .f-smf-select.smf-select-control__control:focus:focus {
  --color-border: #7daee1;
}
.smf-form .smf-item .f-smf-input-text.smf-text-control__control::placeholder,
.smf-form .smf-item .f-smf-textarea.smf-textarea-control__control::placeholder {
  --color-text: #bfbfbf;
  color: var(--color-text);
}
@media (min-width: 1024px) {
  .smf-form .smf-item .f-smf-textarea {
    min-height: 150px;
  }
}
.smf-form .smf-item .f-smf-select {
  background-image: url("/assets/img/common/icn-select.svg");
  background-position: right 5px top 50%;
  background-repeat: no-repeat;
  background-size: 30px auto, 100%;
}
.smf-form .smf-item .f-smf-select.-placeholder {
  --color-text: #bfbfbf;
  color: var(--color-text);
}
@media (min-width: 1024px) {
  .smf-form .smf-checkboxes-control .smf-label + .smf-label {
    margin-top: 5px;
  }
}
@media (max-width: 1023px) {
  .smf-form .smf-checkboxes-control .smf-label + .smf-label {
    margin-top: 10px;
  }
}
.smf-form .smf-checkbox-control {
  position: relative;
  cursor: pointer;
  padding-left: 30px;
}
.smf-form .smf-checkbox-control .smf-checkbox-control__control {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 0;
  height: 0;
}
.smf-form .smf-checkbox-control .smf-checkbox-control__label {
  font-weight: bold;
}
@media (min-width: 1024px) {
  .smf-form .smf-checkbox-control .smf-checkbox-control__label {
    font-size: 1.5rem;
  }
}
.smf-form .smf-checkbox-control:before {
  --color-border: #cbd6e2;
  transition: all 0.2s ease;
  content: "";
  position: absolute;
  left: 0;
  width: 20px;
  height: 20px;
  border: 1px solid var(--color-border);
  border-radius: 4px;
  background-color: var(--color-bg);
}
@media (min-width: 1024px) {
  .smf-form .smf-checkbox-control:before {
    top: 0.1em;
  }
}
@media (max-width: 1023px) {
  .smf-form .smf-checkbox-control:before {
    top: -0.3em;
  }
}
.smf-form .smf-checkbox-control:after {
  --color-border: #fff;
  transition: all 0.2s ease;
  transform: translateY(-40%) rotate(45deg);
  content: "";
  position: absolute;
  left: 7px;
  display: block;
  width: 6px;
  height: 10px;
  border: 2px solid var(--color-border);
  border-top: 0;
  border-left: 0;
}
@media (min-width: 1024px) {
  .smf-form .smf-checkbox-control:after {
    top: 10px;
  }
}
@media (max-width: 1023px) {
  .smf-form .smf-checkbox-control:after {
    top: 5px;
  }
}
.smf-form .smf-checkbox-control:has(input:checked)::before,
.smf-form .smf-checkbox-control:has(input:checked)::after {
  --color-border: #14C12C;
}

.smf-action {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (min-width: 1024px) {
  .smf-action {
    margin-top: 80px;
  }
}
@media (max-width: 1023px) {
  .smf-action {
    margin-top: 50px;
  }
}
.smf-action .smf-button-control__control {
  --color-bg: #242422;
  --color-text: #fff;
  transition: all 0.15s linear;
  display: block;
  min-width: 210px;
  min-height: 60px;
  border: none;
  border-radius: 8px;
  letter-spacing: 0.05em;
  background-color: var(--color-bg);
  background-image: none;
  color: var(--color-text);
  font-size: 2rem;
  font-weight: 500;
}
.smf-action .smf-button-control__control:hover {
  --color-bg: #444;
}

.f-smf-action__text {
  margin-top: 20px;
  text-align: center;
  font-size: 1.2rem;
}

.f-smf-action__button {
  margin: 50px auto 0;
}

@media (min-width: 1024px) {
  .c-hamburger {
    display: none;
  }
}
@media (max-width: 1023px) {
  .c-hamburger {
    --color-bg: #242422;
    z-index: 10000;
    position: fixed;
    right: 15px;
    bottom: 30px;
    cursor: pointer;
    display: block;
    width: 64px;
    height: 64px;
    padding: 19px 10px 14px;
    border-radius: 50%;
    background-color: var(--color-bg);
  }
  .c-hamburger__inner {
    position: relative;
    display: block;
    width: 30px;
    height: 14px;
    margin: 0 auto;
  }
  .c-hamburger__inner .top, .c-hamburger__inner .middle, .c-hamburger__inner .bottom {
    --color-bg: #fff;
    transition: width 0.3s ease-in-out, transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
    position: absolute;
    left: 0;
    display: block;
    width: 100%;
    height: 2px;
    background-color: var(--color-bg);
  }
  .c-hamburger__inner .top {
    top: 0;
  }
  .c-hamburger__inner .middle {
    top: 6px;
  }
  .c-hamburger__inner .bottom {
    bottom: 0;
  }
  .c-hamburger__menu {
    --color-text: #fff;
    transform: scale(0.8);
    display: block;
    margin-top: 3px;
    white-space: nowrap;
    color: var(--color-text);
    font-size: 1rem;
    font-weight: bold;
  }
  .c-hamburger.-open .c-hamburger__inner .top {
    transform: translateX(6px) translateY(6px) rotateZ(-45deg);
    left: -1px;
    width: 20px;
  }
  .c-hamburger.-open .c-hamburger__inner .middle {
    opacity: 0;
  }
  .c-hamburger.-open .c-hamburger__inner .bottom {
    transform: translateX(6px) translateY(-6px) rotateZ(45deg);
    left: -1px;
    width: 20px;
  }
}
.p-header {
  display: flex;
  align-items: center;
  height: 100%;
  /*&__mobile-button {
    width: 65px;
    height: 65px;
    margin-left: auto;
    @include s.media(pc) {
      display: none;
    }
    &__inner {
      position: relative;
      display: block;
      width: 26px;
      height: 16px;
      margin-left: auto;
      margin-right: auto;
      span {
        position: absolute;
        left: 0;
        display: block;
        width: 100%;
        height: 2px;
        background: {
          color: var(--color-text);
        }
      }
      .top { top: 0; }
      .middle { top: 7px; }
      .bottom { bottom: 0; }
    }
  }*/
}
@media (max-width: 1023px) {
  .p-header {
    padding-left: 7.2463768116vw;
  }
}
@media (min-width: 1024px) {
  .p-header {
    padding-left: 6%;
    padding-right: 6%;
  }
}
@media (max-width: 1023px) {
  .p-header__logo {
    width: 95px;
  }
}
@media (min-width: 1024px) {
  .p-header__logo {
    width: 108px;
  }
}
.p-header__logo img {
  width: 100%;
}

@media (min-width: 1024px) {
  .p-mobile-header, .p-mobile-header-bg {
    display: none;
  }
}
@media (max-width: 1023px) {
  .p-mobile-header {
    visibility: hidden;
    opacity: 0;
    transition: opacity 0.2s ease-in-out;
    overflow-y: auto;
    z-index: 10000;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .p-mobile-header__inner {
    position: relative;
    height: 100%;
    padding: 28px 28px 72px;
  }
  .p-mobile-header__nav-list {
    display: flex;
    flex-direction: column;
  }
  .p-mobile-header__nav-item a {
    display: block;
    padding: 15px 0 15px;
    font-size: 1.8rem;
    font-weight: 500;
  }
  .p-mobile-header__nav-item + .p-mobile-header__nav-item {
    --color-border: #ccc;
    border-top: 1px solid var(--color-border);
  }
  .p-mobile-header.-open {
    visibility: visible;
    opacity: 1;
  }
  .p-mobile-header-bg {
    visibility: hidden;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
    z-index: 5000;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--color-bg-gray);
  }
  .p-mobile-header-bg.-open {
    visibility: visible;
    opacity: 1;
  }
}
.p-gnav {
  display: none;
}
@media (min-width: 1024px) {
  .p-gnav {
    display: block;
  }
  .p-gnav__list {
    display: flex;
    margin-left: 30px;
  }
  .p-gnav__link {
    display: flex;
    padding: 10px 20px;
  }
  .p-gnav__text {
    font-size: 1.5rem;
  }
}

@media (max-width: 1023px) {
  .p-gnav-sub {
    display: none;
  }
}
@media (min-width: 1024px) {
  .p-gnav-sub {
    display: flex;
    gap: 0 10px;
    margin-left: auto;
  }
}

.p-main-cta {
  border-top: 1px solid var(--color-border);
}
@media (max-width: 1023px) {
  .p-main-cta {
    padding-top: 50px;
    padding-bottom: 50px;
  }
}
@media (min-width: 1024px) {
  .p-main-cta {
    padding: 90px 6% 100px;
  }
}
@media (min-width: 1024px) {
  .p-main-cta__inner {
    display: grid;
    grid-auto-rows: auto;
    grid-template-columns: repeat(2, 1fr);
    gap: 95px;
    max-width: 1200px;
    margin: 0 auto;
  }
}
@media (max-width: 1023px) {
  .p-main-cta__left, .p-main-cta__right {
    padding: 0 7.2463768116vw;
  }
}
@media (max-width: 1023px) {
  .p-main-cta__right {
    margin-top: 50px;
    padding-top: 50px;
    border-top: 1px solid var(--color-border);
  }
}

@media (min-width: 1024px) {
  .p-pagetop {
    visibility: hidden;
    opacity: 0;
    transition: opacity 0.3s;
    z-index: 10;
    position: fixed;
    right: 40px;
    bottom: 50px;
    width: 50px;
    height: 50px;
    border: 1px solid var(--color-border);
    border-radius: 50%;
    background-color: var(--color-bg);
  }
  .p-pagetop a {
    display: block;
    width: 100%;
    height: 100%;
  }
  .p-pagetop a:hover svg {
    --color-bg: #fff;
  }
  .p-pagetop a:before {
    --color-bg: #242422;
    content: "";
    transition: transform 0.3s;
    transform: scale(0);
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background-color: var(--color-bg);
  }
  .p-pagetop a:hover:before {
    transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
    transform: scale(1);
  }
  .p-pagetop svg {
    --color-bg: #242422;
    transform: translate(-50%, -50%);
    position: absolute;
    top: 50%;
    left: 50%;
    fill: var(--color-bg);
  }
  .p-pagetop.active {
    visibility: visible;
    opacity: 1;
  }
}
@media (max-width: 1023px) {
  .p-pagetop {
    display: none;
  }
}
.p-action-panel__title {
  font-weight: bold;
}
@media (max-width: 1023px) {
  .p-action-panel__title {
    font-size: 2.1rem;
  }
}
@media (min-width: 1024px) {
  .p-action-panel__title {
    font-size: 2.5rem;
  }
}
.p-action-panel__text {
  margin-top: 20px;
}
@media (max-width: 1023px) {
  .p-action-panel__text {
    font-size: 1.5rem;
  }
}
@media (min-width: 1024px) {
  .p-action-panel__text {
    font-size: 1.7rem;
  }
}
@media (max-width: 1023px) {
  .p-action-panel__button {
    margin-top: 20px;
  }
}
@media (min-width: 1024px) {
  .p-action-panel__button {
    margin-top: 40px;
  }
}
@media (min-width: 1024px) {
  .p-action-panel__button a:hover .p-action-panel__icon:before {
    animation-name: pop;
    animation-duration: 0.7s;
  }
}
@media (max-width: 1023px) {
  .p-action-panel__icon {
    width: 40px;
    height: 40px;
  }
}
@media (min-width: 1024px) {
  .p-action-panel__icon:before {
    transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
    transition-duration: 0.4s;
    transform: scale(0);
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: inherit;
    border-radius: 50%;
  }
}

.p-footer {
  background-color: var(--color-bg-gray);
}
@media (max-width: 1023px) {
  .p-footer {
    padding: 60px 7.2463768116vw;
  }
}
@media (min-width: 1024px) {
  .p-footer {
    padding: 100px 80px;
  }
}
@media (min-width: 1024px) {
  .p-footer__inner {
    max-width: 1200px;
    margin: 0 auto;
  }
}
@media (min-width: 1024px) {
  .p-footer__main-content {
    display: flex;
    align-items: center;
  }
}
@media (max-width: 1023px) {
  .p-footer__logo {
    width: 95px;
  }
}
@media (min-width: 1024px) {
  .p-footer__logo {
    width: 108px;
  }
}
.p-footer__logo img {
  width: 100%;
}
@media (max-width: 1023px) {
  .p-footer__nav {
    margin-top: 50px;
  }
}
@media (min-width: 1024px) {
  .p-footer__nav {
    margin-top: 0;
    margin-left: auto;
  }
}
@media (max-width: 1023px) {
  .p-footer__nav-list li {
    font-size: 1.2rem;
  }
}
@media (min-width: 1024px) {
  .p-footer__nav-list li {
    font-size: 1.4rem;
  }
}
@media (max-width: 1023px) {
  .p-footer__sub-content {
    margin-top: 40px;
  }
}
@media (min-width: 1024px) {
  .p-footer__sub-content {
    margin-top: 80px;
  }
}
@media (max-width: 1023px) {
  .p-footer__sub-content.-mt_0 {
    margin-top: 0;
  }
}
@media (min-width: 1024px) {
  .p-footer__sub-content.-mt_0 {
    margin-top: 0;
  }
}
@media (max-width: 1023px) {
  .p-footer__copyright {
    font-size: 1rem;
  }
}
@media (min-width: 1024px) {
  .p-footer__copyright {
    font-size: 1.4rem;
  }
}

@media (min-width: 1024px) {
  .p-footer.-copy-only {
    padding-top: 50px;
    padding-bottom: 50px;
  }
}
@media (max-width: 1023px) {
  .p-footer.-copy-only {
    padding-top: 30px;
    padding-bottom: 30px;
  }
}

@media (min-width: 1024px) {
  .p-layout-1__content {
    margin-top: 50px;
  }
}
@media (max-width: 1023px) {
  .p-layout-1__content {
    margin-top: 30px;
  }
}

.p-layout-1__content.-mt_0 {
  margin-top: 0;
}

@media (min-width: 1024px) {
  .p-layout-1__more {
    margin-top: 60px;
  }
}
@media (max-width: 1023px) {
  .p-layout-1__more {
    margin-top: 40px;
  }
}

.p-column-list {
  display: grid;
  grid-auto-rows: auto;
  grid-template-columns: repeat(var(--col-number), 1fr);
  gap: var(--gap-row) var(--gap-col);
}
@media (min-width: 1024px) {
  .p-column-list {
    --col-number: 3;
    --gap-row: 50px;
    --gap-col: 50px;
  }
}
@media (max-width: 1023px) {
  .p-column-list {
    --gap-row: 40px;
    --gap-col: 0;
  }
}
.p-column-list__item {
  position: relative;
}
.p-column-list__link {
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
}
.p-column-list__image img {
  width: 100%;
  height: auto;
  border-radius: 8px;
}
.p-column-list__title {
  font-weight: bold;
}
@media (min-width: 1024px) {
  .p-column-list__title {
    margin-top: 15px;
    font-size: 1.6rem;
  }
}
@media (max-width: 1023px) {
  .p-column-list__title {
    margin-top: 15px;
    font-size: 1.5rem;
  }
}
.p-column-list__tag {
  z-index: 10;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 5px 1em;
}
@media (min-width: 1024px) {
  .p-column-list__tag {
    margin-top: 10px;
  }
}
@media (max-width: 1023px) {
  .p-column-list__tag {
    margin-top: 10px;
  }
}
.p-column-list__tag li {
  display: inline-flex;
  align-items: center;
}
.p-column-list__tag a {
  --color-link: #595959;
  color: var(--color-link);
  font-size: 1.2rem;
}
@media (min-width: 1024px) {
  .p-column-list__tag a:hover {
    --color-link: #242422;
  }
}
.p-column-list__date {
  --color-link: #595959;
  display: flex;
}
@media (min-width: 1024px) {
  .p-column-list__date {
    margin-top: 15px;
  }
}
@media (max-width: 1023px) {
  .p-column-list__date {
    margin-top: 10px;
  }
}
.p-column-list__date-list {
  display: flex;
  align-items: center;
  gap: 10px;
}
.p-column-list__date-list dt, .p-column-list__date-list dd {
  color: var(--color-link);
  font-size: 1.2rem;
}
.p-column-list__date-list + .p-column-list__date-list:before {
  --color-bg: #595959;
  content: "";
  width: 1px;
  height: 14px;
  margin-left: 15px;
  margin-right: 5px;
  background-color: var(--color-bg);
}
.p-column-list__view {
  display: flex;
  align-items: center;
  gap: 5px;
}
@media (min-width: 1024px) {
  .p-column-list__view {
    margin-top: 15px;
  }
}
@media (max-width: 1023px) {
  .p-column-list__view {
    margin-top: 10px;
  }
}
.p-column-list__view-number, .p-column-list__view-text {
  font-family: var(--font-base-en);
}
.p-column-list__view-number {
  font-size: 1.4rem;
}
.p-column-list__view-text {
  font-size: 1.2rem;
}

@media (min-width: 1024px) {
  .p-column-list__link:hover + .p-column-list__inner > .p-column-list__title {
    --bg-position: 0 100%;
    --bg-size: 100% 1px;
  }
}

@media (min-width: 1024px) {
  .p-column-category__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 10px;
  }
  .p-column-category__link {
    display: block;
    padding: 3px 10px 3px;
    line-height: 1.5;
    letter-spacing: 0.04em;
    font-weight: 500;
    font-size: 1.6rem;
  }
  .p-column-category__link.-current {
    --color-bg: #242422;
    --color-text: #fff;
    border-radius: 8px;
    background-color: var(--color-bg);
    color: var(--color-text);
  }
}
@media (max-width: 1023px) {
  .p-column-category {
    display: none;
  }
}
@media (min-width: 1024px) {
  .p-column-category-mobile {
    display: none;
  }
}
@media (max-width: 1023px) {
  .p-column-category-mobile {
    margin-top: 20px;
  }
  .p-column-category-mobile__list {
    overflow-x: auto;
    overflow-y: hidden;
    display: flex;
    height: 25px;
    padding: 0 4.8309178744vw 0;
  }
  .p-column-category-mobile__link {
    padding: 6px 10px 6px;
    line-height: 1.5;
    letter-spacing: 0.04em;
    white-space: nowrap;
    font-size: 1.2rem;
    font-weight: 500;
  }
  .p-column-category-mobile__link.-current {
    --color-bg: #242422;
    --color-text: #fff;
    border-radius: 8px;
    background-color: var(--color-bg);
    color: var(--color-text);
  }
}
@media (min-width: 1024px) {
  .p-column {
    display: flex;
    justify-content: space-between;
    margin-top: 50px;
  }
}
@media (max-width: 1023px) {
  .p-column {
    margin-top: 30px;
  }
}
@media (min-width: 1024px) {
  .p-column-main {
    width: 904px;
  }
}
@media (min-width: 1024px) {
  .p-column-sub {
    width: 256px;
  }
}
@media (max-width: 1023px) {
  .p-column-sub {
    display: none;
  }
}
.p-column-sub__title {
  font-weight: 500;
}
@media (min-width: 1024px) {
  .p-column-sub__title {
    font-size: 1.8rem;
  }
}

.p-column-article {
  position: relative;
  background-color: var(--color-bg);
}
@media (min-width: 1024px) {
  .p-column-article {
    padding-left: 40px;
    padding-right: 40px;
  }
}
.p-column-article__inner {
  box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.14);
}
@media (min-width: 1024px) {
  .p-column-article__inner {
    padding: 50px 60px;
  }
}
@media (max-width: 1023px) {
  .p-column-article__inner {
    padding: 30px 4.8309178744vw;
  }
}

.p-column-head__title {
  line-height: 1.3;
  font-weight: 500;
}
@media (min-width: 1024px) {
  .p-column-head__title {
    font-size: 3.2rem;
  }
}
@media (max-width: 1023px) {
  .p-column-head__title {
    font-size: 2.6rem;
  }
}
@media (min-width: 1024px) {
  .p-column-head__image {
    margin-top: 30px;
  }
}
@media (max-width: 1023px) {
  .p-column-head__image {
    margin-top: 20px;
  }
}
.p-column-head__image img {
  max-width: 100%;
  height: auto;
}
.p-column-head__tag {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.p-column-head__tag-list {
  font-size: 1.2rem;
}
.p-column-head__tag-link {
  transition: all cubic-bezier(0.215, 0.61, 0.355, 1) 0.1s;
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  line-height: 1.4;
  letter-spacing: 0.04em;
  border: 1px solid var(--color-border);
  background-color: var(--color-bg);
}
@media (min-width: 1024px) {
  .p-column-head__tag-link:hover {
    --color-border: #242422;
  }
}
.p-column-head__aside {
  display: flex;
}
@media (min-width: 1024px) {
  .p-column-head__aside {
    align-items: center;
    margin-top: 20px;
  }
}
@media (max-width: 1023px) {
  .p-column-head__aside {
    flex-direction: column;
    margin-top: 15px;
  }
}
.p-column-head__data {
  display: flex;
  gap: 10px;
}
@media (min-width: 1024px) {
  .p-column-head__data {
    align-items: center;
    margin-left: auto;
  }
}
@media (max-width: 1023px) {
  .p-column-head__data {
    margin-top: 10px;
  }
}
.p-column-head__data-item {
  position: relative;
  display: flex;
  gap: 5px;
}
.p-column-head__data-item + .p-column-head__data-item:before {
  --color-bg: #242422;
  content: "";
  position: absolute;
  top: 0.27em;
  left: 0;
  display: block;
  width: 1px;
  height: 13px;
  background-color: var(--color-bg);
}
.p-column-head__data-item + .p-column-head__data-item {
  padding-left: 10px;
}
@media (min-width: 1024px) {
  .p-column-head__data-text, .p-column-head__view-text {
    font-size: 1.4rem;
  }
}
@media (max-width: 1023px) {
  .p-column-head__data-text, .p-column-head__view-text {
    font-size: 1.2rem;
  }
}
.p-column-head__data-text.-number, .p-column-head__view-text.-number, .p-column-head__view-text.-en {
  font-family: var(--font-base-en);
}
.p-column-head__view {
  display: flex;
  gap: 5px;
  position: relative;
}
@media (min-width: 1024px) {
  .p-column-head__view {
    margin-left: 10px;
    padding-left: 10px;
  }
}
@media (max-width: 1023px) {
  .p-column-head__view {
    margin-top: 5px;
  }
}
@media (min-width: 1024px) {
  .p-column-head__view:before {
    --color-bg: #242422;
    content: "";
    position: absolute;
    top: 0.27em;
    left: 0;
    display: block;
    width: 1px;
    height: 13px;
    background-color: var(--color-bg);
  }
}
@media (max-width: 1023px) {
  .p-column-head__view:before {
    display: none;
  }
}

.p-wp-edit h2:not(.p-wp-index__title) {
  --color-border: #005b94;
  padding-bottom: 15px;
  line-height: 1.3;
  font-weight: 500;
}
@media (min-width: 1024px) {
  .p-wp-edit h2:not(.p-wp-index__title) {
    margin-top: 80px;
    border-bottom: 8px solid var(--color-border);
    font-size: 2.6rem;
  }
}
@media (max-width: 1023px) {
  .p-wp-edit h2:not(.p-wp-index__title) {
    margin-top: 50px;
    border-bottom: 6px solid var(--color-border);
    font-size: 2.2rem;
  }
}
@media (min-width: 1024px) {
  .p-wp-edit h2:first-child:not(.p-wp-index__title) {
    margin-top: 50px;
  }
}
@media (max-width: 1023px) {
  .p-wp-edit h2:first-child:not(.p-wp-index__title) {
    margin-top: 30px;
  }
}
@media (min-width: 1024px) {
  .p-wp-edit h3 {
    margin-top: 40px;
    font-size: 2.2rem;
  }
}
@media (max-width: 1023px) {
  .p-wp-edit h3 {
    margin-top: 30px;
    font-size: 1.7rem;
  }
}
@media (min-width: 1024px) {
  .p-wp-edit h2 + h3 {
    margin-top: 30px;
  }
}
.p-wp-edit p {
  margin-top: 20px;
  line-height: 1.85;
}
.p-wp-edit h2 + p {
  margin-top: 30px;
}
.p-wp-edit figure {
  margin-top: 40px;
}
.p-wp-edit figure img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
}
@media (min-width: 1024px) {
  .p-wp-edit h2 + figure {
    margin-top: 50px;
  }
}
@media (max-width: 1023px) {
  .p-wp-edit h2 + figure {
    margin-top: 40px;
  }
}
.p-wp-edit figcaption {
  text-align: center;
}
@media (min-width: 1024px) {
  .p-wp-edit figcaption {
    margin-top: 15px;
    font-size: 1.4rem;
  }
}
@media (max-width: 1023px) {
  .p-wp-edit figcaption {
    margin-top: 10px;
    font-size: 1.2rem;
  }
}
.p-wp-edit strong {
  --color-bg: #b5e0fb;
  background-color: var(--color-bg);
  font-weight: 500;
}

.p-wp-index {
  border-radius: 10px;
  background-color: var(--color-bg-gray);
}
@media (min-width: 1024px) {
  .p-wp-index {
    margin-top: 50px;
    margin-bottom: 80px;
    padding: 30px;
  }
}
@media (max-width: 1023px) {
  .p-wp-index {
    margin-top: 50px;
    margin-bottom: 50px;
    padding: 20px;
  }
}
.p-wp-index__title {
  font-weight: 500;
}
@media (max-width: 1023px) {
  .p-wp-index__title {
    font-size: 1.6rem;
  }
}
.p-wp-index__list {
  display: grid;
}
@media (min-width: 1024px) {
  .p-wp-index__list {
    gap: 5px;
    margin-top: 15px;
    font-size: 1.6rem;
  }
}
@media (max-width: 1023px) {
  .p-wp-index__list {
    gap: 10px;
    margin-top: 10px;
  }
}
.p-wp-index__list li {
  position: relative;
  padding-left: 15px;
}
.p-wp-index__list li:before {
  --color-bg: #242422;
  content: "";
  position: absolute;
  top: 0.65em;
  left: 0;
  display: block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: var(--color-bg);
}
@media (min-width: 1024px) {
  .p-wp-index__list a:hover {
    text-decoration: underline;
  }
}

.p-column-cta {
  border-top: 1px solid var(--color-border);
}
@media (min-width: 1024px) {
  .p-column-cta {
    margin-top: 55px;
    padding-top: 50px;
  }
}
@media (max-width: 1023px) {
  .p-column-cta {
    margin-top: 50px;
    padding-top: 50px;
  }
}
.p-column-cta__title {
  line-height: 1.5;
}
@media (min-width: 1024px) {
  .p-column-cta__title {
    font-size: 2.8rem;
  }
}
@media (max-width: 1023px) {
  .p-column-cta__title {
    font-size: 2.2rem;
  }
}
.p-column-cta__text {
  margin-top: 15px;
}
@media (min-width: 1024px) {
  .p-column-cta__text {
    line-height: 2;
    font-size: 1.8rem;
  }
}
@media (max-width: 1023px) {
  .p-column-cta__text {
    font-size: 1.5rem;
  }
}
.p-column-cta__inner {
  display: flex;
  gap: 30px;
  margin-top: 30px;
}
@media (max-width: 1023px) {
  .p-column-cta__inner {
    flex-direction: column-reverse;
  }
}
@media (min-width: 1024px) {
  .p-column-cta__content {
    width: 300px;
  }
}
.p-column-cta__button + .p-column-cta__button {
  margin-top: 20px;
}
.p-column-cta__image {
  display: flex;
  justify-content: center;
  align-items: center;
  flex: 1;
  width: 100%;
  border-radius: 8px;
  background-color: var(--color-bg-gray);
}
@media (min-width: 1024px) {
  .p-column-cta__image {
    height: 250px;
  }
}
@media (max-width: 1023px) {
  .p-column-cta__image {
    min-height: 200px;
  }
}
@media (min-width: 1024px) {
  .p-column-cta__image img {
    width: 220px;
  }
}
@media (max-width: 1023px) {
  .p-column-cta__image img {
    width: 160px;
  }
}

.p-column-author {
  border-top: 1px solid var(--color-border);
}
@media (min-width: 1024px) {
  .p-column-author {
    margin-top: 50px;
    padding-top: 50px;
  }
}
@media (max-width: 1023px) {
  .p-column-author {
    margin-top: 50px;
    padding-top: 40px;
  }
}
@media (min-width: 1024px) {
  .p-column-author__title {
    font-size: 2.2rem;
  }
}
@media (max-width: 1023px) {
  .p-column-author__title {
    font-size: 1.8rem;
  }
}
.p-column-author__inner {
  display: grid;
}
@media (min-width: 1024px) {
  .p-column-author__inner {
    grid-template: "pAuthorImage pAuthorName" auto "pAuthorImage pAuthorText" auto "pAuthorImage pAuthorSns" auto/auto 1fr;
    gap: 0 30px;
    margin-top: 20px;
  }
}
@media (max-width: 1023px) {
  .p-column-author__inner {
    grid-template: "pAuthorImage pAuthorName" auto "pAuthorImage pAuthorSns" auto "pAuthorText pAuthorText" auto/auto 1fr;
    gap: 0 20px;
    margin-top: 20px;
  }
}
.p-column-author__image {
  grid-area: pAuthorImage;
}
@media (min-width: 1024px) {
  .p-column-author__image {
    width: 160px;
    height: 160px;
  }
}
@media (max-width: 1023px) {
  .p-column-author__image {
    width: 100px;
    height: 100px;
  }
}
.p-column-author__image img {
  width: 100%;
  height: auto;
  border-radius: 50%;
}
.p-column-author__name {
  grid-area: pAuthorName;
  letter-spacing: 0.05em;
}
.p-column-author__name-title {
  --color-text: #aaa;
  color: var(--color-text);
  font-weight: 500;
}
@media (min-width: 1024px) {
  .p-column-author__name-title {
    font-size: 1.2rem;
  }
}
@media (max-width: 1023px) {
  .p-column-author__name-title {
    display: block;
    line-height: 1.5;
  }
}
.p-column-author__name-main {
  font-weight: bold;
}
@media (min-width: 1024px) {
  .p-column-author__name-main {
    margin-left: 1em;
    font-size: 1.8rem;
  }
}
@media (max-width: 1023px) {
  .p-column-author__name-main {
    display: block;
    margin-top: 5px;
    font-size: 1.6rem;
  }
}
.p-column-author__text {
  grid-area: pAuthorText;
}
@media (min-width: 1024px) {
  .p-column-author__text {
    margin-top: 10px;
    line-height: 2;
    font-size: 1.4rem;
  }
}
@media (max-width: 1023px) {
  .p-column-author__text {
    margin-top: 20px;
  }
}

.p-ranking {
  border-top: 1px solid var(--color-border);
}
@media (min-width: 1024px) {
  .p-ranking {
    margin-top: 15px;
  }
}
.p-ranking__item {
  border-bottom: 1px solid var(--color-border);
}
.p-ranking__link {
  display: block;
}
@media (min-width: 1024px) {
  .p-ranking__link {
    padding-top: 15px;
    padding-bottom: 15px;
  }
}
.p-ranking__inner {
  display: grid;
  grid-template: "pRankingImage pRankingPv" auto "pRankingImage pRankingWriter" auto "pRankingTitle pRankingTitle" auto/auto 1fr;
  gap: 5px 10px;
  flex: 1;
}
.p-ranking__image {
  grid-area: pRankingImage;
  overflow: hidden;
  width: 96px;
  height: 50px;
  background-image: url("/assets/img/_sample/sample2.jpg");
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover;
}
.p-ranking__pv {
  grid-area: pRankingPv;
  display: flex;
  gap: 5px;
  line-height: 1.4;
  letter-spacing: 0.04em;
  font-family: var(--font-base-en);
}
@media (min-width: 1024px) {
  .p-ranking__pv {
    font-size: 1.2rem;
  }
}
.p-ranking__writer {
  grid-area: pRankingWriter;
  display: flex;
  align-items: center;
  gap: 5px;
}
.p-ranking__writer-image {
  overflow: hidden;
  display: block;
  width: 25px;
  height: 25px;
  border-radius: 50%;
}
.p-ranking__writer-image img {
  max-width: 100%;
  height: auto;
}
.p-ranking__writer-name {
  flex: 1;
  display: block;
  font-size: 1rem;
  font-weight: 500;
}
.p-ranking__title {
  grid-area: pRankingTitle;
  display: block;
  line-height: 1.5;
  font-weight: 500;
}
@media (min-width: 1024px) {
  .p-ranking__title {
    margin-top: 5px;
    font-size: 1.4rem;
  }
}

.p-work-list {
  display: grid;
  grid-auto-rows: auto;
  grid-template-columns: repeat(var(--col-number), 1fr);
  gap: var(--gap-row) var(--gap-col);
  margin-top: 20px;
}
@media (min-width: 1024px) {
  .p-work-list {
    --col-number: 3;
    --gap-row: 50px;
    --gap-col: 50px;
  }
}
@media (max-width: 1023px) {
  .p-work-list {
    --gap-row: 40px;
    --gap-col: 0;
  }
}
.p-work-list__item {
  position: relative;
}
.p-work-list__link {
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
}
.p-work-list__image img {
  width: 100%;
  height: auto;
  border-radius: 8px;
}
.p-work-list__company {
  font-size: 1.2rem;
}
@media (min-width: 1024px) {
  .p-work-list__company {
    margin-top: 25px;
  }
}
@media (max-width: 1023px) {
  .p-work-list__company {
    margin-top: 20px;
  }
}
@media (min-width: 1024px) {
  .p-work-list__title {
    margin-top: 3px;
    font-size: 2rem;
  }
}
@media (max-width: 1023px) {
  .p-work-list__title {
    margin-top: 0;
    font-size: 1.8rem;
  }
}
.p-work-list__category {
  z-index: 10;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 5px 1em;
}
@media (min-width: 1024px) {
  .p-work-list__category {
    margin-top: 10px;
  }
}
@media (max-width: 1023px) {
  .p-work-list__category {
    margin-top: 5px;
  }
}
.p-work-list__category li {
  display: inline-flex;
  align-items: center;
}
.p-work-list__category a {
  --color-link: #595959;
  color: var(--color-link);
  font-size: 1.2rem;
}
@media (min-width: 1024px) {
  .p-work-list__category a:hover {
    --color-link: #242422;
  }
}

@media (min-width: 1024px) {
  .p-work-list__link:hover + .p-work-list__inner > .p-work-list__title {
    --bg-position: 0 100%;
    --bg-size: 100% 1px;
  }
}

.p-service-list {
  display: grid;
  grid-auto-rows: auto;
  grid-template-columns: repeat(var(--col-number), 1fr);
  gap: var(--gap-row) var(--gap-col);
  margin-top: 20px;
}
@media (min-width: 1024px) {
  .p-service-list {
    --col-number: 3;
    --gap-row: 50px;
    --gap-col: 50px;
  }
}
@media (max-width: 1023px) {
  .p-service-list {
    --gap-row: 40px;
    --gap-col: 0;
  }
}
.p-service-list__item {
  position: relative;
}
.p-service-list__link {
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
}
.p-service-list__image img {
  width: 100%;
  height: auto;
  border-radius: 8px;
}
.p-service-list__title {
  font-weight: 500;
}
@media (min-width: 1024px) {
  .p-service-list__title {
    margin-top: 20px;
    font-size: 1.8rem;
  }
}
@media (max-width: 1023px) {
  .p-service-list__title {
    margin-top: 15px;
    font-size: 1.6rem;
  }
}

@media (min-width: 1024px) {
  .p-service-list__link:hover + .p-service-list__inner > .p-service-list__title {
    --bg-position: 0 100%;
    --bg-size: 100% 1px;
  }
}

@media (min-width: 1024px) {
  .p-cattop-mv {
    margin-top: 100px;
  }
}
@media (max-width: 1023px) {
  .p-cattop-mv {
    margin-top: 60px;
  }
}
@media (min-width: 1024px) {
  .p-cattop-mv__top {
    padding-left: 6%;
    padding-right: 6%;
  }
}
@media (max-width: 1023px) {
  .p-cattop-mv__top {
    padding-left: 7.2463768116vw;
    padding-right: 7.2463768116vw;
  }
}
@media (min-width: 1024px) {
  .p-cattop-mv__top__inner {
    max-width: 1200px;
    margin: 0 auto;
  }
}
@media (min-width: 1024px) {
  .p-cattop-mv__top__inner.-w1024 {
    max-width: 1024px;
  }
}
@media (min-width: 1024px) {
  .p-cattop-mv__title-sub {
    margin-top: 10px;
  }
}
@media (max-width: 1023px) {
  .p-cattop-mv__title-sub {
    margin-top: 5px;
  }
}
.p-cattop-mv__title-sub.-gray {
  color: #888;
}
@media (min-width: 1920px) {
  .p-cattop-mv__image {
    height: 540px;
  }
}
@media (min-width: 1024px) {
  .p-cattop-mv__image {
    margin-top: 60px;
  }
}
@media (max-width: 1023px) {
  .p-cattop-mv__image {
    margin-top: 40px;
    height: 220px;
  }
}
.p-cattop-mv__image img {
  width: 100%;
  height: auto;
}
@media (min-width: 1920px) {
  .p-cattop-mv__image img {
    object-fit: cover;
    height: 100%;
  }
}
@media (max-width: 1023px) {
  .p-cattop-mv__image img {
    object-fit: cover;
    height: 100%;
  }
}
@media (min-width: 1024px) {
  .p-cattop-mv__image__inner {
    max-width: 1200px;
    margin: 0 auto;
  }
}
@media (max-width: 1023px) {
  .p-cattop-mv__image__inner {
    height: 100%;
  }
}
@media (min-width: 1024px) {
  .p-cattop-mv__image.-inner {
    padding-left: 6%;
    padding-right: 6%;
  }
}

.p-cattop-mv.-column {
  display: flex;
  justify-content: center;
}
@media (min-width: 1024px) {
  .p-cattop-mv.-column {
    margin-top: 30px;
  }
}
@media (max-width: 1023px) {
  .p-cattop-mv.-column {
    margin-top: 20px;
  }
}
@media (min-width: 1024px) {
  .p-cattop-mv.-column .c-heading-1__main {
    font-size: 3.2rem;
  }
}
@media (max-width: 1023px) {
  .p-cattop-mv.-column .c-heading-1__main {
    font-size: 2.2rem;
  }
}
.p-cattop-mv.-column .c-heading-1__sub {
  text-align: center;
}
@media (min-width: 1024px) {
  .p-cattop-mv.-column .c-heading-1__sub {
    font-size: 1.3rem;
  }
}

@media (max-width: 1023px) {
  .p-tags {
    padding-left: 7.2463768116vw;
    padding-right: 7.2463768116vw;
  }
}
@media (min-width: 1024px) {
  .p-tags {
    padding-left: 6%;
    padding-right: 6%;
  }
}
@media (min-width: 1024px) {
  .p-tags__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding-top: 100px;
  }
}
@media (max-width: 1023px) {
  .p-tags__inner {
    padding-top: 50px;
  }
}
.p-tags__list {
  display: flex;
  flex-wrap: wrap;
}
@media (min-width: 1024px) {
  .p-tags__list {
    gap: 20px 30px;
  }
}
@media (max-width: 1023px) {
  .p-tags__list {
    gap: 10px 20px;
  }
}
@media (max-width: 1023px) {
  .p-tags__item {
    font-size: 1.2rem;
  }
}

@media (min-width: 1024px) {
  .p-content-area {
    max-width: 800px;
    margin: 0 auto;
  }
}
@media (min-width: 1024px) {
  .p-content-area h2 {
    margin-top: 110px;
    font-size: 3rem;
  }
}
@media (max-width: 1023px) {
  .p-content-area h2 {
    margin-top: 80px;
    line-height: 1.5;
    font-size: 2.4rem;
  }
}
@media (min-width: 1024px) {
  .p-content-area h2:first-child {
    margin-top: 30px;
  }
}
@media (max-width: 1023px) {
  .p-content-area h2:first-child {
    margin-top: 10px;
  }
}
.p-content-area h3 {
  line-height: 1.5;
}
@media (min-width: 1024px) {
  .p-content-area h3 {
    margin-top: 90px;
    font-size: 2.3rem;
  }
}
@media (max-width: 1023px) {
  .p-content-area h3 {
    margin-top: 70px;
    font-size: 2rem;
  }
}
@media (min-width: 1024px) {
  .p-content-area h2 + h3 {
    margin-top: 35px;
  }
}
@media (max-width: 1023px) {
  .p-content-area h2 + h3 {
    margin-top: 20px;
  }
}
@media (min-width: 1024px) {
  .p-content-area h4 {
    margin-top: 50px;
    font-size: 2rem;
  }
}
@media (max-width: 1023px) {
  .p-content-area h4 {
    margin-top: 40px;
    font-size: 1.7rem;
  }
}
@media (min-width: 1024px) {
  .p-content-area h3 + h4 {
    margin-top: 30px;
  }
}
@media (max-width: 1023px) {
  .p-content-area h3 + h4 {
    margin-top: 20px;
  }
}
.p-content-area p {
  line-height: 2;
  letter-spacing: 0.05em;
}
@media (min-width: 1024px) {
  .p-content-area p {
    margin-top: 30px;
    font-size: 1.9rem;
  }
}
@media (max-width: 1023px) {
  .p-content-area p {
    margin-top: 30px;
    font-size: 1.5rem;
  }
}
.p-content-area ul:not(.p-table-list, .c-kakko-ol) {
  margin-top: 30px;
}
.p-content-area ul:not(.p-table-list, .c-kakko-ol) li {
  position: relative;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
@media (min-width: 1024px) {
  .p-content-area ul:not(.p-table-list, .c-kakko-ol) li {
    padding-left: 20px;
  }
}
@media (max-width: 1023px) {
  .p-content-area ul:not(.p-table-list, .c-kakko-ol) li {
    padding-left: 15px;
  }
}
.p-content-area ul:not(.p-table-list, .c-kakko-ol) li ~ li {
  margin-top: 15px;
}
.p-content-area ul:not(.p-table-list, .c-kakko-ol) li:before {
  --color-bg: #ddd;
  content: "";
  position: absolute;
  left: 0;
  display: block;
  border-radius: 50%;
  background-color: var(--color-bg);
}
@media (min-width: 1024px) {
  .p-content-area ul:not(.p-table-list, .c-kakko-ol) li:before {
    top: 0.6em;
    width: 7px;
    height: 7px;
  }
}
@media (max-width: 1023px) {
  .p-content-area ul:not(.p-table-list, .c-kakko-ol) li:before {
    top: 0.5em;
    width: 6px;
    height: 6px;
  }
}
.p-content-area ol {
  margin-top: 30px;
}
@media (min-width: 1024px) {
  .p-content-area figure {
    margin-top: 50px;
  }
}
@media (max-width: 1023px) {
  .p-content-area figure {
    margin-top: 40px;
  }
}
.p-content-area figure img {
  max-width: 100%;
  height: auto;
}
@media (min-width: 1024px) {
  .p-content-area .c-button.-low_cta {
    margin-top: 100px;
  }
}
@media (max-width: 1023px) {
  .p-content-area .c-button.-low_cta {
    margin-top: 50px;
  }
}
@media (min-width: 1024px) {
  .p-content-area .-size_s {
    font-size: 1.6rem;
  }
}
@media (max-width: 1023px) {
  .p-content-area .-size_s {
    font-size: 1.2rem;
  }
}

.p-lowbottom-cta {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (min-width: 1024px) {
  .p-lowbottom-cta {
    text-align: center;
  }
}
@media (min-width: 1024px) {
  .p-lowbottom-cta__title {
    font-size: 3rem;
  }
}
@media (max-width: 1023px) {
  .p-lowbottom-cta__title {
    font-size: 2.4rem;
  }
}
@media (min-width: 1024px) {
  .p-lowbottom-cta__text {
    margin-top: 50px;
    line-height: 2;
  }
}
@media (max-width: 1023px) {
  .p-lowbottom-cta__text {
    margin-top: 30px;
    font-size: 1.5rem;
  }
}
@media (min-width: 1024px) {
  .p-lowbottom-cta__text + .p-lowbottom-cta__text {
    margin-top: 20px;
  }
}
@media (max-width: 1023px) {
  .p-lowbottom-cta__text + .p-lowbottom-cta__text {
    margin-top: 10px;
  }
}
@media (min-width: 1024px) {
  .p-lowbottom-cta__text.-size_s {
    font-size: 1.6rem;
  }
}
@media (max-width: 1023px) {
  .p-lowbottom-cta__text.-size_s {
    font-size: 1.2rem;
  }
}
@media (min-width: 1024px) {
  .p-lowbottom-cta__button {
    margin-top: 60px;
  }
}
@media (max-width: 1023px) {
  .p-lowbottom-cta__button {
    margin-top: 30px;
  }
}

.p-text-panel {
  display: grid;
  grid-auto-rows: auto;
  grid-template-columns: repeat(var(--col-number), 1fr);
  gap: var(--gap-row) var(--gap-col);
}
@media (min-width: 1024px) {
  .p-text-panel {
    --col-number: 3;
    --gap-col: 80px;
    --gap-row: 80px;
  }
}
@media (max-width: 1023px) {
  .p-text-panel {
    --col-number: 1;
    --gap-col: 0;
    --gap-row: 40px;
  }
}
.p-text-panel__link {
  display: block;
}
.p-text-panel__head {
  display: inline-flex;
  column-gap: var(--gap-col);
  align-items: center;
}
@media (min-width: 1024px) {
  .p-text-panel__head {
    --gap-col: 10px;
  }
}
@media (max-width: 1023px) {
  .p-text-panel__head {
    --gap-col: 15px;
  }
}
.p-text-panel__head-icon {
  position: relative;
  top: -0.1em;
}
.p-text-panel__head-text {
  font-weight: bold;
}
@media (max-width: 1023px) {
  .p-text-panel__head-text {
    font-size: 1.7rem;
  }
}
.p-text-panel__text {
  --color-text: #555;
  display: block;
  line-height: 2;
  color: var(--color-text);
}
@media (min-width: 1024px) {
  .p-text-panel__text {
    margin-top: 5px;
    font-size: 1.6rem;
  }
}
@media (max-width: 1023px) {
  .p-text-panel__text {
    margin-top: 5px;
    font-size: 1.4rem;
  }
}

.p-table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
}
.p-table tr {
  display: flex;
}
.p-table tr + tr {
  border-top: 1px solid var(--color-border);
}
.p-table tr:first-child th, .p-table tr:first-child td {
  padding-top: 0;
}
@media (min-width: 1024px) {
  .p-table th, .p-table td {
    padding-top: 30px;
    padding-bottom: 30px;
  }
}
@media (max-width: 1023px) {
  .p-table th, .p-table td {
    padding-top: 25px;
    padding-bottom: 25px;
  }
}
.p-table th {
  flex-shrink: 0;
}
@media (min-width: 1024px) {
  .p-table th {
    max-width: 200px;
    width: 28%;
  }
}
@media (max-width: 1023px) {
  .p-table th {
    width: 100px;
  }
}
.p-table td {
  width: 100%;
}
@media (max-width: 1023px) {
  .p-table td {
    padding-left: 15px;
  }
}
@media (min-width: 1024px) {
  .p-table td ul li + li {
    margin-top: 10px;
  }
}
@media (max-width: 1023px) {
  .p-table td ul li + li {
    margin-top: 5px;
  }
}

@media (min-width: 1024px) {
  .p-document {
    display: flex;
  }
}
@media (min-width: 1024px) {
  .p-document__content {
    flex: 1;
    max-width: 490px;
    margin-right: 70px;
  }
}
@media (min-width: 1024px) {
  .p-document__contact {
    flex: 1;
    max-width: 640px;
  }
}
@media (max-width: 1023px) {
  .p-document__contact {
    margin-top: 40px;
  }
}
.p-document__contact-inner {
  border-radius: 8px;
  background-color: var(--color-bg-gray);
}
@media (min-width: 1024px) {
  .p-document__contact-inner {
    padding: 40px 20px;
  }
}
@media (max-width: 1023px) {
  .p-document__contact-inner {
    padding: 30px 4.8309178744vw;
  }
}
.p-document__title {
  letter-spacing: 0.05em;
  font-weight: normal;
}
.p-document__title-main, .p-document__title-sub {
  display: block;
}
.p-document__title-main {
  font-weight: bold;
}
@media (min-width: 1024px) {
  .p-document__title-main {
    font-size: 2.7rem;
  }
}
@media (max-width: 1023px) {
  .p-document__title-main {
    font-size: 2.2rem;
  }
}
.p-document__title-sub {
  margin-top: 5px;
  font-family: var(--font-base-en);
}
@media (min-width: 1024px) {
  .p-document__title-sub {
    font-size: 1.2rem;
  }
}
@media (max-width: 1023px) {
  .p-document__title-sub {
    font-size: 1rem;
  }
}
.p-document__title + .p-document__section {
  margin-top: 30px;
}
@media (min-width: 1024px) {
  .p-document__section {
    margin-top: 60px;
  }
}
@media (max-width: 1023px) {
  .p-document__section {
    margin-top: 40px;
  }
}
@media (min-width: 1024px) {
  .p-document__section h2 {
    font-size: 2rem;
  }
}
@media (max-width: 1023px) {
  .p-document__section h2 {
    font-size: 1.8rem;
  }
}
.p-document__section p {
  letter-spacing: 0.05em;
  font-size: 1.5rem;
}
@media (min-width: 1024px) {
  .p-document__section p {
    margin-top: 20px;
  }
}
@media (max-width: 1023px) {
  .p-document__section p {
    margin-top: 15px;
  }
}
.p-document__section ul {
  margin-top: 20px;
}
.p-document__section ul li {
  position: relative;
  padding-left: 12px;
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-size: 1.5rem;
}
.p-document__section ul li ~ li {
  margin-top: 10px;
}
.p-document__section ul li:before {
  --color-bg: #ddd;
  content: "";
  position: absolute;
  top: 0.6em;
  left: 0;
  display: block;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background-color: var(--color-bg);
}
.p-document__lead {
  margin-top: 30px;
}
@media (min-width: 1024px) {
  .p-document__announce {
    margin-top: 5px;
  }
}
@media (max-width: 1023px) {
  .p-document__announce {
    margin-top: 10px;
  }
}

.p-mainvisual {
  border-bottom: 1px solid var(--color-border);
}
@media (min-width: 1024px) {
  .p-mainvisual {
    padding: 0 6%;
  }
}
.p-mainvisual__inner {
  display: grid;
}
@media (max-width: 1023px) {
  .p-mainvisual__inner {
    row-gap: 40px;
    padding: 90px 7.2463768116vw 50px;
  }
}
@media (min-width: 1024px) {
  .p-mainvisual__inner {
    grid-auto-rows: auto;
    grid-template-columns: 1fr 500px;
    column-gap: 50px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 200px 0 150px;
  }
}
.p-mainvisual__title {
  font-weight: normal;
}
@media (max-width: 1023px) {
  .p-mainvisual__title {
    line-height: 1.5;
    font-size: 2rem;
  }
}
@media (min-width: 1024px) {
  .p-mainvisual__title {
    line-height: 1.6;
    font-size: 2.8rem;
  }
}
.p-mainvisual__title span {
  font-weight: bold;
}
@media (max-width: 1023px) {
  .p-mainvisual__title span {
    font-size: 2.2rem;
  }
}
@media (min-width: 1024px) {
  .p-mainvisual__title span {
    font-size: 3.4rem;
  }
}
@media (max-width: 1023px) {
  .p-mainvisual__text {
    margin-top: 20px;
  }
}
@media (min-width: 1024px) {
  .p-mainvisual__text {
    margin-top: 30px;
    line-height: 2.2;
  }
}
@media (max-width: 1023px) {
  .p-mainvisual__button {
    margin-top: 30px;
  }
}
@media (min-width: 1024px) {
  .p-mainvisual__button {
    margin-top: 40px;
  }
}
.p-mainvisual__image {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 200px;
  border-radius: 8px;
  background-color: var(--color-bg-gray);
}
@media (max-width: 1023px) {
  .p-mainvisual__image {
    min-height: 200px;
  }
}
@media (max-width: 1023px) {
  .p-mainvisual__image img {
    width: 200px;
  }
}
@media (min-width: 1024px) {
  .p-mainvisual__image img {
    width: 300px;
  }
}

@media (min-width: 1024px) {
  .p-work-overview {
    max-width: 1024px;
    margin: 0 auto;
  }
}
@media (min-width: 1024px) {
  .p-work-overview__inner {
    display: flex;
  }
}
.p-work-overview__label {
  letter-spacing: 0.05em;
  font-family: var(--font-base-en);
}
@media (min-width: 1024px) {
  .p-work-overview__label {
    width: 25%;
    margin-top: 5px;
    font-size: 1.4rem;
  }
}
@media (max-width: 1023px) {
  .p-work-overview__label {
    font-size: 1.2rem;
  }
}
@media (max-width: 1023px) {
  .p-work-overview__content {
    margin-top: 20px;
  }
}
@media (min-width: 1024px) {
  .p-work-overview__content {
    width: 75%;
  }
}

.p-work-overview + .p-work-overview {
  margin-top: 50px;
}

@media (min-width: 1024px) {
  .p-work-image {
    margin-top: 120px;
  }
}
@media (max-width: 1023px) {
  .p-work-image {
    margin-top: 60px;
  }
}
.p-work-image img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
}

@media (min-width: 1024px) {
  .p-work-image + .p-work-image {
    margin-top: 60px;
  }
}
@media (max-width: 1023px) {
  .p-work-image + .p-work-image {
    margin-top: 30px;
  }
}

.u-text-hover-in {
  transition: background-size cubic-bezier(0.215, 0.61, 0.355, 1) 0.3s;
  display: inline;
  padding-bottom: 2px;
  background-image: linear-gradient(90deg, #242422, #242422);
  background-repeat: no-repeat;
  background-position: var(--bg-position);
  background-size: var(--bg-size);
}

@media (min-width: 1024px) {
  a:hover .u-text-hover-in, .u-text-hover-in:hover {
    --bg-position: 0 100%;
    --bg-size: 100% 1px;
  }
}

.u-text-hover-active {
  --bg-position: 0 100%;
  --bg-size: 100% 1px;
}

.u-text-hover-out {
  --bg-position: 0 100%;
  --bg-size: 100% 1px;
  transition: background-size 0.4s cubic-bezier(0.22, 1, 0.36, 1);
  padding-bottom: 3px;
  background-image: linear-gradient(#242422, #242422);
  background-repeat: no-repeat;
  background-position: var(--bg-position);
  background-size: var(--bg-size);
}

@media (min-width: 1024px) {
  .u-text-hover-out:hover {
    --bg-position: 100% 100%;
    --bg-size: 0 1px;
  }
}

@keyframes pop {
  0% {
    transform: scale(0);
  }
  25% {
    transform: scale(1.2);
  }
  50%, to {
    transform: scale(1);
  }
  75% {
    transform: scale(1.1);
  }
}
.c-parallax--image-area {
  overflow: hidden;
}

@media (min-width: 1024px) {
  .c-parallax--image {
    will-change: transform;
    backface-visibility: hidden;
    -webkit-transition: transform 1s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: transform 1s cubic-bezier(0.215, 0.61, 0.355, 1);
    width: 100%;
    height: 120%;
  }
}

.c-anime {
  transition-property: transform, opacity;
  transition-duration: 2s, 1s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1), ease;
  -webkit-transform: translate(0px, 30px);
  transform: translate(0px, 30px);
  opacity: 0;
}

.is-active .c-anime {
  -webkit-transform: translate(0px, 0);
  transform: translate(0px, 0);
  opacity: 1;
}

.is-active.c-anime {
  -webkit-transform: translate(0px, 0);
  transform: translate(0px, 0);
  opacity: 1;
}

.c-fadein {
  -webkit-transition-duration: 4s;
  transition-duration: 4s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
  pointer-events: none;
  z-index: 5;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--color-main);
}

.is-active .c-fadein {
  opacity: 0;
  visibility: hidden;
}

.cf:before,
.cf:after {
  content: "";
  display: table;
}

.cf:after {
  clear: both;
}

.cf {
  zoom: 1;
} /* for ie6, 7 */
@media (min-width: 1024px) {
  .u-pc-none {
    display: none;
  }
}

@media (min-width: 1024px) {
  .u-pc-none-inline {
    display: inline-block;
  }
}
@media (max-width: 1023px) {
  .u-pc-none-inline {
    display: none;
  }
}

@media (max-width: 1023px) {
  .u-sp-none {
    display: none;
  }
}

@media (min-width: 1024px) {
  .u-sp-none-inline {
    display: inline-block;
  }
}
@media (max-width: 1023px) {
  .u-sp-none-inline {
    display: none;
  }
}

.u-overflow-hid {
  overflow: hidden;
}/*# sourceMappingURL=maps/style.css.map */
