@layer global {

:root {
  --bp-xxs: 375;
  --bp-xs: 475;
  --bp-sm: 640;
  --bp-md: 768;
  --bp-lg: 1024;
  --bp-xl: 1280;
  --bp-xxl: 1536;
  --bp-xxxl: 1920;

  --color-back: #fff;
  --color-text: #333333;
  --color-primary: #39b382;
  --color-secondary: #f2984f;
  --color-3rd: #ffc502;
  --color-4th: #f8ffe3;
  --color-5th: #ff6060;
  --color-blue: #1ba3cd;
  --color-error: #ff6060;
  --fontFamily-default: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック",
    "Yu Gothic", sans-serif;
  --fontFamily-noto: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック",
    "Yu Gothic", sans-serif;
  --fontFamily-en: "Montserrat", "游ゴシック体", YuGothic, "游ゴシック",
    "Yu Gothic", sans-serif;
  --filter-drop-shadow: drop-shadow(
    0 3px 6px color-mix(in srgb, black 16%, transparent)
  );

  --font-size-xl: 40px;
  --line-height-xl: calc(60 / 40);
  --font-size-lg: 26px;
  --line-height-lg: calc(39 / 26);
  --font-size-md: 20px;
  --line-height-md: calc(33 / 20);

  --height-design: 900;
  --height-design-sp: 667;
  --height-header: 190;
  --height-header-sp: 90;
  --line-clamp: 1;
  --scroll-padding-top: 40;
  --width-design: 1920;
  --width-design-sp: 375;
  --width-inner: 1600;
  --width-inner-sm: 1228;
  --zIndex-header: 40;
  --zIndex-spmenu: 41;
  --zIndex-toggle: 42;
  --zIndex-splash: 50;
  --zIndex-back: 30;

  --leading-trim: calc((1em - 1lh) / 2);
  --gutter: max(20px, calc(20 / 375 * 100%));

  --ease-in-sine: cubic-bezier(0.47, 0, 0.745, 0.715);
  --ease-out-sine: cubic-bezier(0.39, 0.575, 0.565, 1);
  --ease-in-out-sine: cubic-bezier(0.445, 0.05, 0.55, 0.95);
  --ease-in-quad: cubic-bezier(0.55, 0.085, 0.68, 0.53);
  --ease-out-quad: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --ease-in-out-quad: cubic-bezier(0.455, 0.03, 0.515, 0.955);

  --ease-in-cubic: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  --ease-out-cubic: cubic-bezier(0.215, 0.61, 0.355, 1);
  --ease-in-out-cubic: cubic-bezier(0.645, 0.045, 0.355, 1);
  --ease-in-quart: cubic-bezier(0.895, 0.03, 0.685, 0.22);
  --ease-out-quart: cubic-bezier(0.165, 0.84, 0.44, 1);
  --ease-in-out-quart: cubic-bezier(0.77, 0, 0.175, 1);

  --ease-in-quint: cubic-bezier(0.755, 0.05, 0.855, 0.06);
  --ease-out-quint: cubic-bezier(0.23, 1, 0.32, 1);
  --ease-in-out-quint: cubic-bezier(0.86, 0, 0.07, 1);
  --ease-in-expo: cubic-bezier(0.95, 0.05, 0.795, 0.035);
  --ease-out-expo: cubic-bezier(0.19, 1, 0.22, 1);
  --ease-in-out-expo: cubic-bezier(1, 0, 0, 1);

  --ease-in-circ: cubic-bezier(0.6, 0.04, 0.98, 0.335);
  --ease-out-circ: cubic-bezier(0.075, 0.82, 0.165, 1);
  --ease-in-out-circ: cubic-bezier(0.785, 0.135, 0.15, 0.86);
  --ease-in-back: cubic-bezier(0.6, -0.28, 0.735, 0.045);
  --ease-out-back: cubic-bezier(0.175, 0.885, 0.32, 1.275);
  --ease-in-out-back: cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

/* @font-face {
  font-family: "xxxxxxxx";
  src: url(../fonts/xxxxxxxx.otf) format("opentype");
  font-weight: 400;
  font-style: normal;
} */

@media screen and (max-width: 1024px) {
  :root {
    --font-size-xl: 24px;
    --font-size-lg: 20px;
    --font-size-md: 18px;
  }
}
}

@layer reset {

/*! destyle.css v4.0.1 | MIT License | https://github.com/nicolas-cusan/destyle.css */

/* Reset box-model and set borders */
/* ============================================ */

*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
  min-width: 0;
}

/* Document */
/* ============================================ */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */

html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -webkit-tap-highlight-color: transparent; /* 3*/
}

/* Sections */
/* ============================================ */

/**
 * Remove the margin in all browsers.
 */

body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */

main {
  display: block;
}

/* Vertical rhythm */
/* ============================================ */

p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

/* Headings */
/* ============================================ */

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
  margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */

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

/* Lists (definition) */
/* ============================================ */

dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

/* Grouping content */
/* ============================================ */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

address {
  font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */

/**
 * Remove the gray background on active links in IE 10.
 */

a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Replaced content */
/* ============================================ */

/**
 * Prevent vertical alignment issues.
 */

svg,
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

/* Forms */
/* ============================================ */

/**
 * Reset form fields to make them styleable.
 * 1. Make form elements stylable across systems iOS especially.
 * 2. Inherit text-transform from parent.
 */

button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none; /* 1 */
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit; /* 2 */
}

/**
 * Correct cursors for clickable elements.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
  cursor: pointer;
}

button:disabled,
[type="button"]:disabled,
[type="reset"]:disabled,
[type="submit"]:disabled {
  cursor: default;
}

/**
 * Improve outlines for Firefox and unify style with input elements & buttons.
 */

:-moz-focusring {
  outline: auto;
}

select:disabled {
  opacity: inherit;
}

/**
 * Remove padding
 */

option {
  padding: 0;
}

/**
 * Reset to invisible
 */

fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}

legend {
  padding: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */

textarea {
  overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * Correct the outline style in Safari.
 */

[type="search"] {
  outline-offset: -2px; /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Fix font inheritance.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/**
 * Fix appearance for Firefox
 */
[type="number"] {
  -moz-appearance: textfield;
}

/**
 * Clickable labels
 */

label[for] {
  cursor: pointer;
}

/* Interactive */
/* ============================================ */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */

details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/*
 * Remove outline for editable content.
 */

[contenteditable]:focus {
  outline: auto;
}

/* Tables */
/* ============================================ */

/**
1. Correct table border color inheritance in all Chrome and Safari.
*/

table {
  border-color: inherit; /* 1 */
  border-collapse: collapse;
}

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
  padding: 0;
}

th {
  text-align: left;
  font-weight: bold;
}
}

@layer base {

html {
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--scroll-padding-top) * 1px);
}

body {
  background: var(--color-back);
  color: var(--color-text);
  font-family: var(--fontFamily-default);
  overflow-wrap: break-word;
  text-rendering: optimizeLegibility;
  /* word-break: break-all; */
  overflow-x: clip;

  line-height: calc(30 / 16);
}

picture {
  display: contents;
}
iframe {
  border: 0;
}

li {
  list-style: none;
}

button {
  cursor: pointer;
}

summary {
  display: block;
  list-style: none;
}

summary::-webkit-details-marker {
  display: none;
}

a {
  color: inherit;
  text-decoration: none;
  text-decoration-skip-ink: auto;
}

code {
  white-space: pre-wrap;
}

pre {
  font-family: var(--fontFamily-default);
  white-space: pre-wrap;
}

figure {
  max-width: 100%;
}

picture > img {
  max-width: 100%;
}

picture > source {
  max-width: 100%;
}

img {
  height: auto;
  image-rendering: optimize-contrast; /* ぼやけ防止 */
  max-width: 100%;
  vertical-align: middle;
  display: block;
}

main {
  display: block;
}

@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}

/* フォーム部品リセット */
input {
  min-width: 0;
}

input:focus {
  outline: 2px solid var(--color-primary);
}

input:focus-visible {
  outline: 2px solid var(--color-primary);
}

button {
  font-size: 1rem;
}

optgroup {
  font-size: 1rem;
}

textarea {
  resize: none;
}

textarea:focus {
  outline: 2px solid var(--color-primary);
}

textarea:focus-visible {
  outline: 2px solid var(--color-primary);
}

select {
  font-size: 1rem;
}

select:focus {
  outline: 2px solid var(--color-primary);
}

select:focus-visible {
  outline: 2px solid var(--color-primary);
}

/* プレースホルダー */
::placeholder {
  color: #ccc;
}

label {
  cursor: pointer; /* iOSでのlabelとinput,select,textareaの関連付け */
}

/* スピンボタン非表示 (Chrome / Safari) */
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button,
input[type="month"]::-webkit-outer-spin-button,
input[type="month"]::-webkit-inner-spin-button,
input[type="datetime-local"]::-webkit-outer-spin-button,
input[type="datetime-local"]::-webkit-inner-spin-button,
input[type="week"]::-webkit-outer-spin-button,
input[type="week"]::-webkit-inner-spin-button,
input[type="time"]::-webkit-outer-spin-button,
input[type="time"]::-webkit-inner-spin-button,
input[type="date"]::-webkit-outer-spin-button,
input[type="date"]::-webkit-inner-spin-button {
  appearance: none;
  display: none;
  margin: 0;
}

/* スピンボタン非表示 (FireFox) */
input[type="number"],
input[type="month"],
input[type="datetime-local"],
input[type="week"],
input[type="time"],
input[type="date"] {
  appearance: textfield;
}

/* クリアボタン非表示 */
input[type="date"]::-webkit-clear-button,
input[type="month"]::-webkit-clear-button,
input[type="datetime-local"]::-webkit-clear-button,
input[type="time"]::-webkit-clear-button,
input[type="week"]::-webkit-clear-button {
  appearance: none;
}

/* セレクトボックス */
.select-wrap {
  position: relative;
  border-radius: 10px;
  background-color: white;
  border: 1px solid #707070;
}

.select-wrap > select {
  width: 100%;
  padding: calc(7 / 16 * 1em) calc(20 / 16 * 1em);
}

.select-wrap::after {
  border-bottom: 2px solid #39b382;
  border-right: 2px solid #39b382;
  bottom: 0;
  content: "";
  display: block;
  height: 12px;
  margin: auto;
  position: absolute;
  right: 20px;
  top: 0;
  translate: 0 -2px;
  transform: rotate(45deg);
  width: 12px;
}

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

option:disabled {
  color: #ccc;
  opacity: 1;
}

/* ラジオボタン、チェックボックス */
input[type="radio"],
input[type="checkbox"] {
  opacity: 0;
  position: absolute;
}

input[type="radio"] + span,
input[type="checkbox"] + span {
  cursor: pointer;
  display: inline-block;
  line-height: 1;
  padding: 0.3em 0.3em 0.3em 2em;
  position: relative;
  vertical-align: middle;
}

input[type="radio"]:focus-visible + span,
input[type="checkbox"]:focus-visible + span {
  outline: 2px solid #000;
}

/* ラジオボタンスタイル */
input[type="radio"] + span::before {
  background: #fff;
  border: 2px solid #000;
  border-radius: 50%;
  content: "";
  height: calc(23 / 16 * 1em);
  left: 0;
  line-height: 1;
  position: absolute;
  top: 1px;
  width: calc(23 / 16 * 1em);
}

/* ラジオボタンチェック印（未選択） */
input[type="radio"] + span::after {
  content: "";
  display: none;
}

/* ラジオボタンチェック印（選択） */
input[type="radio"]:checked + span::after {
  background: #000;
  border-radius: 50%;
  display: block;
  height: calc(13 / 16 * 1em);
  left: calc(5 / 16 * 1em);
  line-height: 1;
  margin: 0;
  padding: 0;
  position: absolute;
  top: calc(6 / 16 * 1em);
  width: calc(13 / 16 * 1em);
}

/* チェックボックス */
input[type="checkbox"] + span::before {
  position: absolute;
  top: 0.1em;
  left: 0;
  content: "";
  width: calc(20 / 16 * 1em);
  height: calc(20 / 16 * 1em);
  border: 1px solid #000;
  background: #fff;
  line-height: 1;
  vertical-align: middle;
}

/* チェックボックス未チェック時 */
input[type="checkbox"] + span::after {
  content: "";
  display: none;
}

/* チェックボックスチェック時 */
input[type="checkbox"]:checked + span::after {
  display: block;
  position: absolute;
  top: 0.1em;
  left: 0.4em;
  width: 0.5em;
  height: 1em;
  content: "";
  border-bottom: 3px solid #000;
  border-right: 3px solid #000;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
}

@layer layout {

.l-main {
  padding-top: calc(var(--height-header) * 1px);
}

@media screen and (max-width: 1024px) {
  .l-main {
    padding-top: calc(var(--height-header-sp) * 1px);
  }
}

.l-col-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.l-inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  margin-right: auto;
}

.l-inner-sm {
  max-width: calc(var(--width-inner-sm) * 1px);
  margin-left: auto;
  margin-right: auto;
}

.l-inner-lg {
  max-width: calc(var(--width-inner-lg) * 1px);
  margin-left: auto;
  margin-right: auto;
}
}

@layer vendor {

.smf-item__label {
  font-size: var(--font-size-md);
  line-height: var(--line-height-md);
  font-weight: 700;
}

.smf-form--letter .smf-item__col--label {
  padding-bottom: 10px !important;
}

.smf-form .smf-text-control__control {
}

.smf-item__label__text {
  display: flex;
  column-gap: 12px;
  align-items: center;
}

.smf-item._required .smf-item__label__text::after {
  content: "必須";
  color: #fff;
  width: 42px;
  height: 24px;
  display: grid;
  place-items: center;
  background: var(--color-5th);
  border-radius: 5px;
  font-size: 14px;
}
.smf-form textarea.smf-textarea-control__control {
  height: 223px !important;
  overflow-y: auto !important;
}

.smf-form--letter .smf-item {
  padding-bottom: 8px !important;
  padding-top: 10px !important;
}

.smf-button-control__control {
  background-color: var(--color-secondary) !important;
  width: 272px !important;
  height: 60px !important;
  background-image: none !important;
  border-radius: 30px !important;
  color: white !important;
  border: none !important;
  font-weight: 700 !important;
  font-size: 26px !important;
  line-height: calc(39 / 26) !important;
  border: 1px solid var(--color-secondary) !important;
  transition: color 0.3s var(--ease-in-out-quad),
    background-color 0.3s var(--ease-in-out-quad) !important;
}

.smf-button-control__control[disabled] {
  background-color: #707070 !important;
  border: 1px solid #707070 !important;
  pointer-events: none;
}

@media screen and (max-width: 768px) {
  .smf-button-control__control {
    height: 40px !important;
    width: 200x !important;
    border-radius: 20px !important;
    font-size: 20px !important;
    line-height: 1 !important;
  }
}
.smf-button-control__control:hover {
  background-color: white !important;
  color: var(--color-secondary) !important;
}

.smf-form [data-invalid="1"] {
  border-color: var(--color-error) !important;
}

.smf-error-messages {
  color: var(--color-error) !important;
}

.smf-action {
  display: flex !important;
  column-gap: 20px !important;
  flex-wrap: wrap !important;
  row-gap: 15px !important;
  justify-content: center !important;
  align-items: center !important;
}

.smf-action .smf-button-control + .smf-button-control {
  margin-left: unset !important;
}
}

@layer wordpress {
/* ブロックエディタ用のスタイル */
#wp-postbody {
  display: flow-root;
  overflow: hidden;
  word-break: break-all;
  font-size: 1rem;
}
#wp-postbody :where(.wp-block-pullquote) {
  font-size: 1em;
}
#wp-postbody::after,
#wp-postbody::before {
  clear: both;
  content: "";
  display: table;
}

#wp-postbody > * {
  margin-top: 1em;
  margin-bottom: 1em;
}

#wp-postbody > *:first-child {
  margin-top: 0;
}

#wp-postbody h1 {
  font-size: 2.5em;
  background-color: #39b382;
  padding: 0.25em 0.5em;
  color: white;
  width: fit-content;
  border-radius: 10px;
  font-weight: 700;
}

#wp-postbody h2 {
  font-weight: 700;
  font-size: 2em;
  color: #39b382;
}

#wp-postbody h3 {
  border-left: 5px solid #39b382;
  padding-left: 1em;
  font-weight: 700;
  font-size: 1.75em;
}

#wp-postbody h4 {
  font-size: 1.5em;
  padding-left: 0.5em;
  border-left: 3px solid #39b382;
}

#wp-postbody h5 {
  font-size: 1.25em;
}

#wp-postbody h6 {
  font-size: 1em;
}

#wp-postbody p {
  font-size: 1em;
}

#wp-postbody strong {
  font-weight: 700;
}

#wp-postbody em {
  font-style: italic;
}

#wp-postbody tr {
  font-weight: normal;
}

#wp-postbody :is(th, td) {
  padding: 0.5em;
}

#wp-postbody blockquote {
  border: 1px solid #808080;
  padding: 1.5em;
}
#wp-postbody .wp-block-pullquote {
  font-size: 1em !important;
  line-height: unset !important;
  margin: 1em 0 !important;
  padding: unset !important;
}

#wp-postbody blockquote > *:first-child::before {
  content: "’’";
  font-size: 1.5em;
  margin-right: 0.5em;
  display: inline-block;
}

#wp-postbody blockquote a {
  cursor: pointer;
  text-decoration: underline;
}

#wp-postbody figure {
  margin-bottom: 0.5em;
  margin-top: 0.5em;
  max-width: 100%;
}

#wp-postbody figure.wp-block-table {
  overflow: visible;
}

#wp-postbody figcaption {
  text-align: center;
  margin-top: 0.2em;
  margin-bottom: 0.2em;
}

#wp-postbody figure.aligncenter {
  margin-left: auto !important;
  margin-right: auto !important;
}

#wp-postbody img {
  max-width: 100%;
}

#wp-postbody
  :is(img.alignnone, img.alignleft, img.alignright, img.aligncenter) {
  display: block;
  height: auto;
  margin-bottom: 0.5em;
  margin-left: auto;
  margin-right: auto;
  object-fit: contain;
  width: auto;
}

#wp-postbody img.alignnone {
  margin-left: 0;
}

#wp-postbody img.alignleft {
  float: left;
  margin-left: 0;
  margin-right: 0.5em;
}

#wp-postbody img.alignright {
  float: right;
  margin-left: 0.5em;
  margin-right: 0;
}

#wp-postbody ul > li {
  margin-top: 1em;
  padding-left: 1em;
  position: relative;
}

#wp-postbody ul > li::before {
  background: #39b382;
  border-radius: 50%;
  content: "";
  display: block;
  height: 0.4em;
  left: 0.25em;
  position: absolute;
  top: 1em;
  width: 0.4em;
  translate: -50% -50%;
}

#wp-postbody ol {
  counter-reset: li;
}

#wp-postbody ol > li {
  list-style: none;
  margin-top: 1em;
  padding-left: 1.8em;
  position: relative;
}

#wp-postbody ol > li::before {
  content: counter(li) ".";
  counter-increment: li;
  font-weight: bold;
  left: 0;
  position: absolute;
  color: #39b382;
  top: 0;
}

#wp-postbody a[href] {
  cursor: pointer;
  text-decoration: underline;
}

#wp-postbody table {
  width: 100%;
}

#wp-postbody table th {
  font-weight: 700;
}

#wp-postbody table td {
  font-weight: 400;
}

#wp-postbody dl {
  font-weight: 400;
}

#wp-postbody dt {
  font-weight: 700;
}

#wp-postbody dd {
  font-weight: 400;
  margin-bottom: 1.25rem;
}

#wp-postbody pre,
#wp-postbody code {
  white-space: pre-wrap;
}

#wp-postbody .aligncenter {
  display: block;
}

#wp-postbody .alignright {
  float: right;
  margin-left: 0.5em;
  margin-right: 0;
}

#wp-postbody .alignleft {
  float: left;
  margin-left: 0;
  margin-right: 0.5em;
}

#wp-postbody .wp-caption,
#wp-postbody [class*="wp-image"] {
  display: block;
  max-width: 100%;
  object-fit: cover;
  text-align: center;
}

#wp-postbody .wp-caption-text {
  margin-bottom: 0;
  margin-top: 0;
}

#wp-postbody .container-custom {
  padding-top: 20px;
  padding-bottom: 20px;
}

#wp-postbody .container-custom label {
  display: block;
  margin-bottom: 0.5em;
}

#wp-postbody .container-custom [name="post_password"] {
  border: 1px solid #333;
  border-radius: 5px;
  padding: 0.5em;
  width: 100%;
  font-size: 1em;
}

#wp-postbody .container-custom .aiowps-captcha {
  margin-top: 1em;
  margin-bottom: 0.5em;
}

#wp-postbody .container-custom .aiowps-captcha-equation {
  margin-bottom: 1em;
}

#wp-postbody .container-custom .aiowps-captcha-answer {
  border: 1px solid #333;
  border-radius: 5px;
  padding: 0.3em;
  font-size: 1em;
  margin-left: 0.3em;
}

#wp-postbody .container-custom input[name="Submit"] {
  border: none;
  border-radius: 5px;
  padding: 0.5em 1.5em;
  background-color: var(--color-primary, #39b382);
  color: #fff;
  font-size: 1em;
  font-weight: 700;
  cursor: pointer;
  transition:
    background-color 0.3s ease,
    transform 0.2s ease;
}

#wp-postbody .container-custom input[name="Submit"]:hover {
  background-color: #2e9a6f;
}

#wp-postbody sup {
  top: -0.5em;
}

#wp-postbody sub {
  bottom: -0.25em;
}

#wp-postbody sub,
#wp-postbody sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: initial;
}

/* プラグイン用 */
#wp-postbody .pdfemb-viewer {
  max-width: 100%;
}

#wp-postbody summary {
  cursor: pointer;
}

#wp-postbody summary::before {
  content: "▽";
  margin-right: 0.2em;
  display: inline-block;
}

#wp-postbody details > * {
  margin-top: 1em;
}

#wp-postbody details > *:first-child {
  margin-top: 0;
}

#wp-postbody .wp-element-button {
  background-color: var(--color-primary);
  color: white;
}
#wp-postbody a[href].wp-element-button {
  text-decoration: none;
}

/* wp-pagenavi */
.wp-pagenavi {
  text-align: center;
}

.wp-pagenavi a,
.wp-pagenavi span {
  display: inline-block;
  margin: 0 5px;
  padding: 10px 15px;
  border: 1px solid #ddd;
  border-radius: 5px;
  text-decoration: none;
  color: #333;
  transition:
    background-color 0.3s ease,
    color 0.3s ease,
    transform 0.2s ease;
}

.wp-pagenavi a:hover {
  background-color: var(--color-primary);
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

.wp-pagenavi .current {
  background-color: var(--color-primary);
  color: #fff;
  font-weight: bold;
  border-color: var(--color-primary);
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}

.wp-pagenavi .first,
.wp-pagenavi .last {
  font-weight: bold;
  background-color: #f7f7f7;
  color: #333;
}

.wp-pagenavi .first:hover,
.wp-pagenavi .last:hover {
  background-color: var(--color-primary);
  color: #fff;
}

.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
  color: #333;
  padding: 10px 20px;
  border-radius: 3px;
}

.wp-pagenavi .previouspostslink:hover,
.wp-pagenavi .nextpostslink:hover {
  background-color: var(--color-primary);
  color: #fff;
}

.wp-pagenavi .previouspostslink.disabled,
.wp-pagenavi .nextpostslink.disabled,
.wp-pagenavi .first.disabled,
.wp-pagenavi .last.disabled {
  background-color: #e0e0e0;
  color: #aaa;
  opacity: 0.5;
  cursor: not-allowed;
}

.wp-pagenavi a:focus {
  outline: 3px solid var(--color-primary);
  outline-offset: 2px;
}

@media (max-width: 768px) {
  .wp-pagenavi a,
  .wp-pagenavi span {
    padding: 8px 12px;
    margin: 0 3px;
    font-size: 14px;
  }

  .wp-pagenavi .previouspostslink,
  .wp-pagenavi .nextpostslink {
    padding: 8px 15px;
  }
}
}

@layer wordpress {

/* global style inline css を一部無効化 */

:root {
  --wp--preset--aspect-ratio--square: 1;
  --wp--preset--aspect-ratio--4-3: 4/3;
  --wp--preset--aspect-ratio--3-4: 3/4;
  --wp--preset--aspect-ratio--3-2: 3/2;
  --wp--preset--aspect-ratio--2-3: 2/3;
  --wp--preset--aspect-ratio--16-9: 16/9;
  --wp--preset--aspect-ratio--9-16: 9/16;
  --wp--preset--color--black: #000000;
  --wp--preset--color--cyan-bluish-gray: #abb8c3;
  --wp--preset--color--white: #ffffff;
  --wp--preset--color--pale-pink: #f78da7;
  --wp--preset--color--vivid-red: #cf2e2e;
  --wp--preset--color--luminous-vivid-orange: #ff6900;
  --wp--preset--color--luminous-vivid-amber: #fcb900;
  --wp--preset--color--light-green-cyan: #7bdcb5;
  --wp--preset--color--vivid-green-cyan: #00d084;
  --wp--preset--color--pale-cyan-blue: #8ed1fc;
  --wp--preset--color--vivid-cyan-blue: #0693e3;
  --wp--preset--color--vivid-purple: #9b51e0;
  --wp--preset--color--back: #ffffff;
  --wp--preset--color--text: #000000;
  --wp--preset--color--primary: #220a88;
  --wp--preset--color--secondary: #539a16;
  --wp--preset--color--color-3rd: #a24f00;
  --wp--preset--color--color-4th: #0c925e;
  --wp--preset--color--color-5th: #8b055b;
  --wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(
    135deg,
    rgba(6, 147, 227, 1) 0%,
    rgb(155, 81, 224) 100%
  );
  --wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(
    135deg,
    rgb(122, 220, 180) 0%,
    rgb(0, 208, 130) 100%
  );
  --wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(
    135deg,
    rgba(252, 185, 0, 1) 0%,
    rgba(255, 105, 0, 1) 100%
  );
  --wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(
    135deg,
    rgba(255, 105, 0, 1) 0%,
    rgb(207, 46, 46) 100%
  );
  --wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(
    135deg,
    rgb(238, 238, 238) 0%,
    rgb(169, 184, 195) 100%
  );
  --wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(
    135deg,
    rgb(74, 234, 220) 0%,
    rgb(151, 120, 209) 20%,
    rgb(207, 42, 186) 40%,
    rgb(238, 44, 130) 60%,
    rgb(251, 105, 98) 80%,
    rgb(254, 248, 76) 100%
  );
  --wp--preset--gradient--blush-light-purple: linear-gradient(
    135deg,
    rgb(255, 206, 236) 0%,
    rgb(152, 150, 240) 100%
  );
  --wp--preset--gradient--blush-bordeaux: linear-gradient(
    135deg,
    rgb(254, 205, 165) 0%,
    rgb(254, 45, 45) 50%,
    rgb(107, 0, 62) 100%
  );
  --wp--preset--gradient--luminous-dusk: linear-gradient(
    135deg,
    rgb(255, 203, 112) 0%,
    rgb(199, 81, 192) 50%,
    rgb(65, 88, 208) 100%
  );
  --wp--preset--gradient--pale-ocean: linear-gradient(
    135deg,
    rgb(255, 245, 203) 0%,
    rgb(182, 227, 212) 50%,
    rgb(51, 167, 181) 100%
  );
  --wp--preset--gradient--electric-grass: linear-gradient(
    135deg,
    rgb(202, 248, 128) 0%,
    rgb(113, 206, 126) 100%
  );
  --wp--preset--gradient--midnight: linear-gradient(
    135deg,
    rgb(2, 3, 129) 0%,
    rgb(40, 116, 252) 100%
  );
  --wp--preset--font-size--small: 13px;
  --wp--preset--font-size--medium: 20px;
  --wp--preset--font-size--large: 36px;
  --wp--preset--font-size--x-large: 42px;
  --wp--preset--spacing--20: 0.44rem;
  --wp--preset--spacing--30: 0.67rem;
  --wp--preset--spacing--40: 1rem;
  --wp--preset--spacing--50: 1.5rem;
  --wp--preset--spacing--60: 2.25rem;
  --wp--preset--spacing--70: 3.38rem;
  --wp--preset--spacing--80: 5.06rem;
  --wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);
  --wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);
  --wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);
  --wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1),
    6px 6px rgba(0, 0, 0, 1);
  --wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);
}

:root {
  --wp--style--global--content-size: 1120px;
  --wp--style--global--wide-size: 1120px;
}

:where(body) {
  margin: 0;
}

.wp-site-blocks {
  padding-top: var(--wp--style--root--padding-top);
  padding-bottom: var(--wp--style--root--padding-bottom);
}

.has-global-padding {
  padding-right: var(--wp--style--root--padding-right);
  padding-left: var(--wp--style--root--padding-left);
}

.has-global-padding > .alignfull {
  margin-right: calc(var(--wp--style--root--padding-right) * -1);
  margin-left: calc(var(--wp--style--root--padding-left) * -1);
}

.has-global-padding
  :where(
    :not(.alignfull.is-layout-flow)
      > .has-global-padding:not(.wp-block-block, .alignfull)
  ) {
  padding-right: 0;
  padding-left: 0;
}

.has-global-padding
  :where(
    :not(.alignfull.is-layout-flow)
      > .has-global-padding:not(.wp-block-block, .alignfull)
  )
  > .alignfull {
  margin-left: 0;
  margin-right: 0;
}

.wp-site-blocks > .alignleft {
  float: left;
  margin-right: 2em;
}

.wp-site-blocks > .alignright {
  float: right;
  margin-left: 2em;
}

.wp-site-blocks > .aligncenter {
  justify-content: center;
  margin-left: auto;
  margin-right: auto;
}

:where(.wp-site-blocks) > * {
  margin-block-start: 24px;
  margin-block-end: 0;
}

:where(.wp-site-blocks) > :first-child {
  margin-block-start: 0;
}

:where(.wp-site-blocks) > :last-child {
  margin-block-end: 0;
}

:root {
  --wp--style--block-gap: 24px;
}

:root :where(.is-layout-flow) > :first-child {
  margin-block-start: 0;
}

:root :where(.is-layout-flow) > :last-child {
  margin-block-end: 0;
}

:root :where(.is-layout-flow) > * {
  margin-block-start: 24px;
  margin-block-end: 0;
}

:root :where(.is-layout-constrained) > :first-child {
  margin-block-start: 0;
}

:root :where(.is-layout-constrained) > :last-child {
  margin-block-end: 0;
}

:root :where(.is-layout-constrained) > * {
  margin-block-start: 24px;
  margin-block-end: 0;
}

:root :where(.is-layout-flex) {
  gap: 24px;
}

:root :where(.is-layout-grid) {
  gap: 24px;
}

.is-layout-flow > .alignleft {
  float: left;
  margin-inline-start: 0;
  margin-inline-end: 2em;
}

.is-layout-flow > .alignright {
  float: right;
  margin-inline-start: 2em;
  margin-inline-end: 0;
}

.is-layout-flow > .aligncenter {
  margin-left: auto !important;
  margin-right: auto !important;
}

.is-layout-constrained > .alignleft {
  float: left;
  margin-inline-start: 0;
  margin-inline-end: 2em;
}

.is-layout-constrained > .alignright {
  float: right;
  margin-inline-start: 2em;
  margin-inline-end: 0;
}

.is-layout-constrained > .aligncenter {
  margin-left: auto !important;
  margin-right: auto !important;
}

.is-layout-constrained
  > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  max-width: var(--wp--style--global--content-size);
  margin-left: auto !important;
  margin-right: auto !important;
}

.is-layout-constrained > .alignwide {
  max-width: var(--wp--style--global--wide-size);
}

body .is-layout-flex {
  display: flex;
}

.is-layout-flex {
  flex-wrap: wrap;
  align-items: center;
}

.is-layout-flex > :is(*, div) {
  margin: 0;
}

body .is-layout-grid {
  display: grid;
}

.is-layout-grid > :is(*, div) {
  margin: 0;
}

body {
  --wp--style--root--padding-top: 0px;
  --wp--style--root--padding-right: 0px;
  --wp--style--root--padding-bottom: 0px;
  --wp--style--root--padding-left: 0px;
}

/* a:where(:not(.wp-element-button)) {
  text-decoration: underline;
} */

:root :where(.wp-element-button, .wp-block-button__link) {
  background-color: #32373c;
  border-width: 0;
  color: #fff;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  padding: calc(0.667em + 2px) calc(1.333em + 2px);
  text-decoration: none;
}
.has-text-color {
  color: var(--wp--preset--color--text) !important;
}

.has-black-color {
  color: var(--wp--preset--color--black) !important;
}

.has-cyan-bluish-gray-color {
  color: var(--wp--preset--color--cyan-bluish-gray) !important;
}

.has-white-color {
  color: var(--wp--preset--color--white) !important;
}

.has-pale-pink-color {
  color: var(--wp--preset--color--pale-pink) !important;
}

.has-vivid-red-color {
  color: var(--wp--preset--color--vivid-red) !important;
}

.has-luminous-vivid-orange-color {
  color: var(--wp--preset--color--luminous-vivid-orange) !important;
}

.has-luminous-vivid-amber-color {
  color: var(--wp--preset--color--luminous-vivid-amber) !important;
}

.has-light-green-cyan-color {
  color: var(--wp--preset--color--light-green-cyan) !important;
}

.has-vivid-green-cyan-color {
  color: var(--wp--preset--color--vivid-green-cyan) !important;
}

.has-pale-cyan-blue-color {
  color: var(--wp--preset--color--pale-cyan-blue) !important;
}

.has-vivid-cyan-blue-color {
  color: var(--wp--preset--color--vivid-cyan-blue) !important;
}

.has-vivid-purple-color {
  color: var(--wp--preset--color--vivid-purple) !important;
}

.has-back-color {
  color: var(--wp--preset--color--back) !important;
}

.has-primary-color {
  color: var(--wp--preset--color--primary) !important;
}

.has-secondary-color {
  color: var(--wp--preset--color--secondary) !important;
}

.has-color-3rd-color {
  color: var(--wp--preset--color--color-3rd) !important;
}

.has-color-4th-color {
  color: var(--wp--preset--color--color-4th) !important;
}

.has-color-5th-color {
  color: var(--wp--preset--color--color-5th) !important;
}

.has-black-background-color {
  background-color: var(--wp--preset--color--black) !important;
}

.has-cyan-bluish-gray-background-color {
  background-color: var(--wp--preset--color--cyan-bluish-gray) !important;
}

.has-white-background-color {
  background-color: var(--wp--preset--color--white) !important;
}

.has-pale-pink-background-color {
  background-color: var(--wp--preset--color--pale-pink) !important;
}

.has-vivid-red-background-color {
  background-color: var(--wp--preset--color--vivid-red) !important;
}

.has-luminous-vivid-orange-background-color {
  background-color: var(--wp--preset--color--luminous-vivid-orange) !important;
}

.has-luminous-vivid-amber-background-color {
  background-color: var(--wp--preset--color--luminous-vivid-amber) !important;
}

.has-light-green-cyan-background-color {
  background-color: var(--wp--preset--color--light-green-cyan) !important;
}

.has-vivid-green-cyan-background-color {
  background-color: var(--wp--preset--color--vivid-green-cyan) !important;
}

.has-pale-cyan-blue-background-color {
  background-color: var(--wp--preset--color--pale-cyan-blue) !important;
}

.has-vivid-cyan-blue-background-color {
  background-color: var(--wp--preset--color--vivid-cyan-blue) !important;
}

.has-vivid-purple-background-color {
  background-color: var(--wp--preset--color--vivid-purple) !important;
}

.has-back-background-color {
  background-color: var(--wp--preset--color--back) !important;
}

.has-text-background-color {
  background-color: var(--wp--preset--color--text) !important;
}

.has-primary-background-color {
  background-color: var(--wp--preset--color--primary) !important;
}

.has-secondary-background-color {
  background-color: var(--wp--preset--color--secondary) !important;
}

.has-color-3rd-background-color {
  background-color: var(--wp--preset--color--color-3rd) !important;
}

.has-color-4th-background-color {
  background-color: var(--wp--preset--color--color-4th) !important;
}

.has-color-5th-background-color {
  background-color: var(--wp--preset--color--color-5th) !important;
}

.has-black-border-color {
  border-color: var(--wp--preset--color--black) !important;
}

.has-cyan-bluish-gray-border-color {
  border-color: var(--wp--preset--color--cyan-bluish-gray) !important;
}

.has-white-border-color {
  border-color: var(--wp--preset--color--white) !important;
}

.has-pale-pink-border-color {
  border-color: var(--wp--preset--color--pale-pink) !important;
}

.has-vivid-red-border-color {
  border-color: var(--wp--preset--color--vivid-red) !important;
}

.has-luminous-vivid-orange-border-color {
  border-color: var(--wp--preset--color--luminous-vivid-orange) !important;
}

.has-luminous-vivid-amber-border-color {
  border-color: var(--wp--preset--color--luminous-vivid-amber) !important;
}

.has-light-green-cyan-border-color {
  border-color: var(--wp--preset--color--light-green-cyan) !important;
}

.has-vivid-green-cyan-border-color {
  border-color: var(--wp--preset--color--vivid-green-cyan) !important;
}

.has-pale-cyan-blue-border-color {
  border-color: var(--wp--preset--color--pale-cyan-blue) !important;
}

.has-vivid-cyan-blue-border-color {
  border-color: var(--wp--preset--color--vivid-cyan-blue) !important;
}

.has-vivid-purple-border-color {
  border-color: var(--wp--preset--color--vivid-purple) !important;
}

.has-back-border-color {
  border-color: var(--wp--preset--color--back) !important;
}

.has-text-border-color {
  border-color: var(--wp--preset--color--text) !important;
}

.has-primary-border-color {
  border-color: var(--wp--preset--color--primary) !important;
}

.has-secondary-border-color {
  border-color: var(--wp--preset--color--secondary) !important;
}

.has-color-3rd-border-color {
  border-color: var(--wp--preset--color--color-3rd) !important;
}

.has-color-4th-border-color {
  border-color: var(--wp--preset--color--color-4th) !important;
}

.has-color-5th-border-color {
  border-color: var(--wp--preset--color--color-5th) !important;
}

.has-vivid-cyan-blue-to-vivid-purple-gradient-background {
  background: var(
    --wp--preset--gradient--vivid-cyan-blue-to-vivid-purple
  ) !important;
}

.has-light-green-cyan-to-vivid-green-cyan-gradient-background {
  background: var(
    --wp--preset--gradient--light-green-cyan-to-vivid-green-cyan
  ) !important;
}

.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background {
  background: var(
    --wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange
  ) !important;
}

.has-luminous-vivid-orange-to-vivid-red-gradient-background {
  background: var(
    --wp--preset--gradient--luminous-vivid-orange-to-vivid-red
  ) !important;
}

.has-very-light-gray-to-cyan-bluish-gray-gradient-background {
  background: var(
    --wp--preset--gradient--very-light-gray-to-cyan-bluish-gray
  ) !important;
}

.has-cool-to-warm-spectrum-gradient-background {
  background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;
}

.has-blush-light-purple-gradient-background {
  background: var(--wp--preset--gradient--blush-light-purple) !important;
}

.has-blush-bordeaux-gradient-background {
  background: var(--wp--preset--gradient--blush-bordeaux) !important;
}

.has-luminous-dusk-gradient-background {
  background: var(--wp--preset--gradient--luminous-dusk) !important;
}

.has-pale-ocean-gradient-background {
  background: var(--wp--preset--gradient--pale-ocean) !important;
}

.has-electric-grass-gradient-background {
  background: var(--wp--preset--gradient--electric-grass) !important;
}

.has-midnight-gradient-background {
  background: var(--wp--preset--gradient--midnight) !important;
}

.has-small-font-size {
  font-size: var(--wp--preset--font-size--small) !important;
}

.has-medium-font-size {
  font-size: var(--wp--preset--font-size--medium) !important;
}

.has-large-font-size {
  font-size: var(--wp--preset--font-size--large) !important;
}

.has-x-large-font-size {
  font-size: var(--wp--preset--font-size--x-large) !important;
}

:root :where(.wp-block-pullquote) {
  font-size: 1.5em;
  line-height: 1.6;
}
}

@layer components {

.c-button-arrow {
  display: inline-flex;
  border-radius: 20px;
  background-color: var(--color-primary);
  min-height: 50px;
  align-items: center;
  padding-left: 1.25em;
  padding-right: 1.25em;
  column-gap: 5px;
  border: 1px solid var(--color-primary);
  min-width: 193px;
  transition: background-color 0.2s var(--ease-in-out-quad);
}

@media screen and (max-width: 1024px) {
  .c-button-arrow {
    min-width: 160px;
    border-radius: 15px;
    min-height: 40px;
  }
}

.c-button-arrow:hover {
  background-color: white;
}

.c-button-arrow._cream {
  background-color: #f8ffe3;
}
.c-button-arrow._cream:hover {
  background-color: white;
}
.c-button-arrow__text {
  color: white;
  font-weight: 500;
  line-height: calc(30 / 16);
  transition: color 0.2s var(--ease-in-out-quad);
}
.c-button-arrow:hover .c-button-arrow__text {
  color: var(--color-primary);
}

.c-button-arrow._cream .c-button-arrow__text {
  color: var(--color-primary);
}

.c-button-arrow__icon path {
  transition: fill 0.2s var(--ease-in-out-quad);
}
.c-button-arrow._cream .c-button-arrow__icon path {
  fill: var(--color-primary);
}

.c-button-arrow:hover .c-button-arrow__icon path {
  fill: var(--color-primary);
}

.c-button-simple {
  background-color: var(--color-primary);
  min-width: 272px;
  height: 60px;
  border-radius: 30px;
  color: white;
  font-weight: 700;
  display: grid;
  place-items: center;
  padding-left: 1.5em;
  padding-right: 1.5em;
  transition: background-color 0.3s var(--ease-in-out-quad);
  border: 1px solid var(--color-primary);
}

.c-button-simple:hover {
  background-color: white;
}
@media screen and (max-width: 768px) {
  .c-button-simple {
    min-width: 160px;
    width: auto;
    height: 40px;
    border-radius: 20px;
  }
}

.c-button-simple._secondary {
  background-color: var(--color-secondary);
}
.c-button-simple._secondary:hover {
  background-color: white;
}

.c-button-simple__text {
  color: white;
  font-size: var(--font-size-lg);
  line-height: var(--line-height-lg);
  transition: color 0.3s var(--ease-in-out-quad);
}
.c-button-simple:hover .c-button-simple__text {
  color: var(--color-primary);
}
.c-button-simple._secondary:hover .c-button-simple__text {
  color: var(--color-secondary);
}

.c-button-research-anchor {
  background-color: #effbff;
  display: grid;
  grid-template-columns: 30px 1fr 30px;
  border-radius: 10px;
  min-height: clamp(90px, calc(119 / 1200 * 100vw), 119px);
  align-items: center;
  text-align: center;
  padding-left: clamp(30px, calc(40 / 1200 * 100vw), 40px);
  padding-right: clamp(30px, calc(40 / 1200 * 100vw), 40px);
}

.c-button-research-anchor[data-type="sm"] {
  min-height: clamp(40px, calc(80 / 1200 * 100vw), 80px);
  padding-left: clamp(15px, calc(25 / 1200 * 100vw), 25px);
  padding-right: clamp(15px, calc(25 / 1200 * 100vw), 25px);
}

.c-button-research-anchor__text {
  color: #1ba3cd;
  font-size: clamp(19px, calc(37 / 1200 * 100vw), 37px);
  font-weight: 500;
  line-height: calc(60 / 37);
  padding-right: 1em;
}

.c-button-research-anchor[data-type="sm"] .c-button-research-anchor__text {
  font-size: clamp(16px, calc(24 / 1200 * 100vw), 24px);
}

.c-button-research-anchor__icon {
  width: clamp(18px, calc(28 / 1200 * 100vw), 28px);
  transition: translate 0.3s;
}
.c-button-research-anchor[data-type="sm"] .c-button-research-anchor__icon {
  width: clamp(16px, calc(25 / 1200 * 100vw), 25px);
}

.c-button-research-anchor:hover .c-button-research-anchor__icon {
  translate: 5px;
}

.c-button-more {
  background-color: #f9f8f4;
  width: min(156px, 100%);
  display: grid;
  grid-template-columns: 16px auto;
  column-gap: 5px;
  align-items: center;
  border-radius: 20px;
  filter: drop-shadow(1px 1px 2px color-mix(in srgb, black 16%, transparent));
  justify-content: center;
  transition: filter 0.3s var(--ease-in-out-quad);
  min-height: 38px;
}

.c-button-more:hover {
  filter: none;
}
.c-button-more__text {
  font-size: 16px;
  line-height: calc(30 / 16);
  font-weight: 500;
}
}

@layer components {

.c-form-label {
  font-size: 14px;
}

.c-form-label._required::after {
  content: "*";
  color: var(--color-5th);
  display: inline-block;
  margin-left: 0.2em;
}

.c-form-input {
  padding: 1em;
  border: 1px solid #808080;
  width: 100%;
}

.c-form-textarea {
  padding: 1em;
  border: 1px solid #808080;
  height: 15rem;
  overflow-y: auto;
  width: 100%;
}

.c-form-required {
  padding: 0.5em 1em;
  background-color: var(--color-3rd);
  color: #fff;
  font-size: 12px;
}

.c-form-tel {
  padding: 1em;
  border: 1px solid #808080;
  width: 100%;
}

.c-form-range {
  -webkit-appearance: none;
  appearance: none;
  cursor: pointer;
  background: #eeeeee;
  height: 12px;
  width: 100%;
  border-radius: 10px;
  border: solid 3px #eeeeee;
  outline: 0;
}

.c-form-range:focus {
  box-shadow: 0 0 3px var(--color-secondary);
}

.c-form-range::-webkit-slider-thumb {
  -webkit-appearance: none;
  background: var(--color-primary);
  width: 24px;
  height: 24px;
  border-radius: 50%;
  box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.15);
}

.c-form-range::-moz-range-thumb {
  background: var(--color-primary);
  width: 24px;
  height: 24px;
  border-radius: 50%;
  box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.15);
  border: none;
}

.c-form-range::-moz-focus-outer {
  border: 0;
}

.c-form-range:active::-webkit-slider-thumb {
  box-shadow: 0px 5px 10px -2px rgba(0, 0, 0, 0.3);
}

.c-form-select {
  position: relative;
  padding: 1em;
  border: 1px solid #808080;
  width: 100%;
}
}

@layer components {

.c-hamburger {
  cursor: pointer;
  height: calc(var(--height-header-sp) * 1px);
  position: relative;
  transition: background-color 0.3s var(--ease-in-out-quad);
  width: 68px;
}

.c-hamburger__line {
  background: var(--color-primary);
  display: inline-block;
  height: 2px;
  left: 50%;
  translate: -50%;
  pointer-events: none;
  position: absolute;
  width: 30px;
  transition: transform 0.3s var(--ease-in-out-quad),
    background-color 0.3s var(--ease-in-out-quad),
    opacity 0.3s var(--ease-in-out-quad);
}

/* 通常状態：中央を基準にして3本の線を配置 */
.c-hamburger__line:nth-of-type(1) {
  top: 50%;
  transform: translateY(calc(-50% - 13px));
}

.c-hamburger__line:nth-of-type(2) {
  top: 50%;
  transform: translateY(-50%);
}

.c-hamburger__line:nth-of-type(3) {
  top: 50%;
  transform: translateY(calc(-50% + 13px));
}

/* トグル時：上と下の線を中央に集めてXマークに */
.c-hamburger[aria-expanded="true"] {
  background-color: var(--color-primary);
}

.c-hamburger[aria-expanded="true"] .c-hamburger__line {
  background: #fff;
}

.c-hamburger[aria-expanded="true"] .c-hamburger__line:nth-of-type(1) {
  top: 50%;
  transform: translateY(-50%) rotate(-45deg);
}

.c-hamburger[aria-expanded="true"] .c-hamburger__line:nth-of-type(2) {
  opacity: 0;
}

.c-hamburger[aria-expanded="true"] .c-hamburger__line:nth-of-type(3) {
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}
}

@layer components {
.c-heading-main {
  display: inline-grid;
  grid-template-columns: auto auto;
  column-gap: 30px;
  align-items: center;
}
@media screen and (max-width: 1024px) {
  .c-heading-main {
    column-gap: 15px;
  }
}

@media screen and (max-width: 1024px) {
  .c-heading-main__icon {
    align-items: flex-start;
    max-width: 40px;
  }
}

.c-heading-main__text {
  font-size: var(--font-size-xl);
  line-height: var(--line-height-xl);
  font-weight: 700;
}

@media screen and (max-width: 768px) {
  .c-heading-main__text {
    font-size: var(--font-size-lg);
    line-height: var(--line-height-lg);
  }
  .c-heading-main__lab + .c-heading-main__text {
    font-size: 16px;
  }
}
@media screen and (max-width: 768px) {
  .c-heading-main._coordination .c-heading-main__text {
    font-size: clamp(12px, calc(17 / 375 * 100vw), var(--font-size-lg));
  }
}

.c-heading-date {
  font-weight: 500;
  font-size: 26px;
  line-height: calc(31 / 26);
  display: block;
  border-bottom: 1px solid #707070;
  padding-bottom: 1.1em;
}

.c-heading-date[data-type="green"] {
  color: #39b382;
  border-bottom: 2px solid currentColor;
}
@media screen and (max-width: 1024px) {
  .c-heading-date {
    padding-bottom: 0.7em;
    font-size: 20px;
    line-height: calc(31 / 20);
  }
}

.c-heading-bar {
}

.c-heading-bar__text {
  font-size: 37px;
  font-weight: 500;
  position: relative;
  line-height: calc(60 / 37);
  padding-bottom: 0.5em;
  display: block;
  width: fit-content;
}

@media screen and (max-width: 1024px) {
  .c-heading-bar__text {
    font-size: 23px;
    line-height: calc(32 / 23);
  }
}
.c-heading-bar__bar {
  display: block;
  background-color: #333333;
  height: 1px;
}

.c-heading-bar__text::after {
  position: absolute;
  content: "";
  display: block;
  background-color: var(--color-primary);
  height: 16px;
  width: 100%;
  bottom: 0;
  left: 0;
  translate: 0 50%;
}

@media screen and (max-width: 1024px) {
  .c-heading-bar__text::after {
    height: 10px;
  }
}
}

@layer components {

.c-label-category {
  padding-left: 0.5em;
  padding-right: 0.5em;
  color: var(--color-primary);
  background-color: var(--color-4th);
  border-radius: 10px;
  display: inline-block;
  text-align: center;
  width: 125px;
  height: 28px;
}

.c-label-category[data-type="fit"] {
  width: auto;
}
}

@layer components {

.c-card-social {
  max-width: 376px;
}

@media screen and (max-width: 768px) {
  .c-card-social {
    max-width: 180px;
  }
}
.c-card-social__thumbnail {
  border-radius: 30px;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .c-card-social__thumbnail {
    border-radius: 10px;
  }
}
.c-card-social__thumbnail .-img {
  aspect-ratio: 376/337;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 30px;
  transition: scale 0.3s var(--ease-in-out-quad);
}

.c-card-social:hover .c-card-social__thumbnail .-img {
  scale: 1.1;
}
@media screen and (max-width: 768px) {
  .c-card-social__thumbnail .-img {
    border-radius: 10px;
  }
}

.c-card-social__body {
  padding-top: 15px;
}

.c-card-social__upper {
  display: flex;
  justify-content: space-between;
  column-gap: 10px;
}

@media screen and (max-width: 768px) {
  .c-card-social__upper {
    flex-direction: column;
  }
}
}

@layer components {

.c-paginate-links {
}

.c-paginate-links ul {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
  column-gap: 10px;
  row-gap: 10px;
}

.c-paginate-links :is(a.page-numbers, span.page-numbers) {
  width: 50px;
  height: 50px;
  border-radius: 15px;
  background-color: transparent;
  display: grid;
  place-items: center;
  color: #39b382;
  font-size: 20px;
  line-height: calc(30 / 20);
  font-weight: 500;
}

.c-paginate-links :is(a.page-numbers, span.page-numbers)[aria-current="page"] {
  background-color: #39b382;
  color: white;
}
.c-paginate-links :is(a.page-numbers.prev, a.page-numbers.next) {
  background-color: #39b382;
  color: white;
}

.c-navigation-post {
}

.c-navigation-post__list {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  column-gap: 45px;
  grid-template-areas: "prev home next";
  align-items: center;
}

.c-navigation-post__item._prev {
  grid-area: prev;
  justify-self: end;
}
.c-navigation-post__item._home {
  grid-area: home;
}

.c-navigation-post__item._next {
  grid-area: next;
  justify-self: start;
}

.c-navigation-post__link {
  width: 50px;
  height: 50px;
  border-radius: 15px;
  display: grid;
  place-items: center;
  background-color: #39b382;
}

.c-pager-links ul {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
  column-gap: 10px;
  row-gap: 10px;
}
.c-pager-links .post-page-numbers {
  width: 50px;
  height: 50px;
  border-radius: 15px;
  background-color: transparent;
  display: grid;
  place-items: center;
  color: #39b382;
  font-size: 20px;
  line-height: calc(30 / 20);
  font-weight: 500;
}
.c-pager-links .post-page-numbers.current {
  background-color: #39b382;
  color: white;
}
}

@layer components {

.c-post-top {
  background-color: var(--color-3rd);
  border-radius: 15px;
  color: white;
  padding: 20px;
  width: 100%;
  min-height: 89px;
  align-items: center;
  display: grid;
}

.c-post-top__link {
  display: flex;
  justify-content: center;
  flex-direction: column;
  row-gap: 5px;
}

.c-post-top__date {
  font-size: 14px;
  font-weight: 600;
  font-family: var(--fontFamily-en);
}

.c-post-top__title {
  margin-block: var(--leading-trim);
}

.c-post-row__link {
  display: grid;
  grid-template-columns: auto auto 1fr;
  column-gap: 20px;
}

@media screen and (max-width: 768px) {
  .c-post-row__link {
    grid-template-columns: auto 1fr;
    grid-template-rows: auto;
  }
  .c-post-row__link > *:nth-child(1) {
    grid-area: 1 / 1 / 2 / 2;
  }
  .c-post-row__link > *:nth-child(2) {
    grid-area: 1 / 2 / 2 / 3;
  }
  .c-post-row__link > *:nth-child(3) {
    grid-area: 2 / 1 / 3 / 3;
  }
}
}

@layer components {

.c-research-row__inner {
  display: grid;
  grid-template-columns: 20px 1fr;
  column-gap: 10px;
}

.c-research-row__dots {
  display: block;
  margin-top: 10px;
  width: 22px;
  aspect-ratio: 1/1;
  border-radius: 999em;
  background-color: #1ba3cd;
}

@media screen and (max-width: 768px) {
  .c-research-row__dots {
    width: 17px;
  }
}

.c-research-row__upper {
  border-bottom: 1px dashed #707070;
  padding-bottom: 15px;
}

@media screen and (max-width: 768px) {
  .c-research-row__upper {
    padding-bottom: 10px;
  }
}
.c-research-row__title {
  display: inline-block;
  width: fit-content;
  line-height: 1;
}
.c-research-row__title .-text {
  width: fit-content;
  display: inline;
  font-size: 22px;
  line-height: calc(33 / 22);
  font-weight: 500;
}

@media screen and (max-width: 768px) {
  .c-research-row__title .-text {
    font-size: 16px;
    line-height: calc(26 / 16);
  }
}

.c-research-row__title .-icon {
  display: inline;
  margin-left: 10px;
  padding-bottom: 0.2em;
}

@media screen and (max-width: 768px) {
  .c-research-row__title .-icon {
    width: 13px;
    margin-left: 10px;
  }
}

.c-research-row__author {
  margin-top: 10px;
  color: #1ba3cd;
  font-size: 18px;
  font-weight: 500;
  line-height: calc(30 / 15);
}
@media screen and (max-width: 768px) {
  .c-research-row__author {
    font-size: 16px;
    line-height: calc(26 / 16);
  }
}

.c-research-row__reference {
  font-size: 16px;
  line-height: calc(30 / 16);
}
@media screen and (max-width: 768px) {
  .c-research-row__reference {
    font-size: 16px;
    line-height: calc(26 / 16);
  }
}
}

@layer components {

.c-social-row {
  padding-top: 25px;
  padding-bottom: 25px;
  position: relative;
  padding-right: 25px;
}

@media screen and (max-width: 1024px) {
  .c-social-row {
    padding-top: 10px;
    padding-bottom: 15px;
    padding-right: unset;
  }
}

.c-social-row__arrow {
  position: absolute;
  right: 0;
  bottom: 25px;
  transition: translate 0.3s;
}

.c-social-row:hover .c-social-row__arrow {
  translate: 5px;
}

.c-social-row__body {
  padding-left: 25px;
  position: relative;
}

@media screen and (max-width: 1024px) {
  .c-social-row__body {
    padding-left: unset;
  }
}

.c-social-row__body::before {
  width: 10px;
  height: 26px;
  border-radius: 2px;
  content: "";
  position: absolute;
  top: 5px;
  left: 0;
  display: block;
  transition: transform 0.3s;
  background-color: #39b382;
}
.c-social-row:hover .c-social-row__body::before {
  transform: scaleY(1.2);
}

.c-social-row__category .-list {
  display: flex;
  row-gap: 10px;
  column-gap: 5px;
  flex-wrap: wrap;
}

.c-social-row__title {
  color: #39b382;
  font-size: 26px;
  line-height: calc(39 / 26);
  font-weight: 700;
}

@media screen and (max-width: 1024px) {
  .c-social-row__title {
    font-size: 20px;
    line-height: calc(28 / 20);
    padding-left: 20px;
  }
}

.c-social-row__place {
  color: #39b382;
  font-weight: 700;
  font-size: 20px;
  --line-clamp: 1;
  line-height: calc(33 / 20);
}

@media screen and (max-width: 1024px) {
  .c-social-row__place {
    font-size: 16px;
    --line-clamp: 4;
    line-height: calc(24 / 16);
    padding-left: 20px;
    margin-top: 5px;
  }
}

.c-social-row__category {
  margin-top: 5px;
}
@media screen and (max-width: 1024px) {
  .c-social-row__category {
    padding-left: 20px;
  }
}

.c-social-row__excerpt {
  margin-top: 5px;
  --line-clamp: 1;
}

@media screen and (max-width: 1024px) {
  .c-social-row__excerpt {
    --line-clamp: 2;
    margin-bottom: 1lh;
  }
}
}

@layer components {

/* ============================================
   パートナー記事行コンポーネント
   components/social.css と同一の構造
   ============================================ */

.c-partner-row {
  padding-top: 25px;
  padding-bottom: 25px;
  position: relative;
  padding-right: 25px;
}

@media screen and (max-width: 1024px) {
  .c-partner-row {
    padding-top: 10px;
    padding-bottom: 15px;
    padding-right: unset;
  }
}

.c-partner-row__arrow {
  position: absolute;
  right: 0;
  bottom: 25px;
  transition: translate 0.3s;
}

.c-partner-row:hover .c-partner-row__arrow {
  translate: 5px;
}

.c-partner-row__body {
  position: relative;
}

@media screen and (max-width: 1024px) {
  .c-partner-row__body {
    padding-left: unset;
  }
}

.c-partner-row:hover .c-partner-row__body::before {
  transform: scaleY(1.2);
}

.c-partner-row__title {
  color: #39b382;
  font-size: 26px;
  line-height: calc(39 / 26);
  font-weight: 700;
}

@media screen and (max-width: 1024px) {
  .c-partner-row__title {
    font-size: 20px;
    line-height: calc(28 / 20);
  }
}

.c-partner-row__excerpt {
  margin-top: 5px;
  --line-clamp: 3;
}

@media screen and (max-width: 1024px) {
  .c-partner-row__excerpt {
    --line-clamp: 2;
    margin-bottom: 1lh;
  }
}
}

@layer site {

.s-back-top {
  position: fixed;
  bottom: 82px;
  right: 3%;
  z-index: var(--zIndex-back);
  transition: opacity 0.3s;
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  border: 2px solid var(--color-primary);
  border-radius: 999em;
  background-color: white;
  transition: scale 0.3s var(--ease-in-out-quad),
    opacity 0.3s var(--ease-in-out-quad);
}

.s-back-top:hover {
  scale: 1.08;
}
.s-back-top._hidden {
  opacity: 0;
  pointer-events: none;
}
@media screen and (max-width: 1024px) {
  .s-back-top {
    width: 46px;
    height: 46px;
    bottom: 40px;
    right: 5%;
  }

  .s-back-top__icon {
    width: 16px;
  }
}
}

@layer site {

.s-footer {
  padding-top: clamp(40px, calc(80 / 1920 * 100%), 80px);
  padding-bottom: clamp(30px, calc(30 / 1920 * 100%), 30px);
  background-color: var(--color-4th);
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}

.s-footer__layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 32px;
}

@media screen and (max-width: 1024px) {
  .s-footer__layout {
    grid-template-columns: 1fr;
    row-gap: 20px;
  }
}

@media screen and (max-width: 1024px) {
  .s-footer__logo {
    width: 300px;
  }
}

.s-footer__left {
  padding-top: 20px;
  padding-left: 4%;
  padding-right: 4%;
}

@media screen and (max-width: 1024px) {
  .s-footer__left {
    padding-top: unset;
    padding-left: unset;
    padding-right: unset;
  }
}
.s-footer__right {
  padding-left: 5%;
  padding-right: 5%;
  padding-top: 10px;
  display: grid;
  grid-template-columns: 1.2fr 2fr;
  column-gap: 20px;
}

.s-footer__right > *:nth-child(1) {
  grid-area: 1 / 1 / 3 / 2;
}
.s-footer__right > *:nth-child(2) {
  grid-area: 1 / 2 / 2 / 3;
}
.s-footer__right > *:nth-child(3) {
  grid-area: 2 / 2 / 3 / 3;
}

@media screen and (max-width: 1024px) {
  .s-footer__right {
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    padding-left: unset;
    padding-right: unset;
    row-gap: 10px;
  }
  .s-footer__right > *:nth-child(1) {
    grid-area: auto;
  }
  .s-footer__right > *:nth-child(2) {
    grid-area: auto;
  }
  .s-footer__right > *:nth-child(3) {
    grid-area: auto;
    margin-top: 10px;
  }
}
.s-footer__address {
  margin-top: 15px;
  font-size: 13px;
  line-height: calc(24 / 13);
}

.s-footer__buttons {
  margin-top: 30px;
  display: flex;
  column-gap: 20px;
  flex-wrap: wrap;
  row-gap: 15px;
}

@media screen and (max-width: 768px) {
  .s-footer__buttons {
    row-gap: 10px;
  }
}
.s-footer__privacy {
  display: block;
  margin-top: 10px;
  font-size: 13px;
  line-height: calc(24 / 13);
}

.s-footer-nav__list {
  display: flex;
  flex-direction: column;
  gap: 20px;
  height: 100%;
}

@media screen and (max-width: 768px) {
  .s-footer-nav__list {
    gap: 10px;
  }
}

.s-footer__nav-right .s-footer-nav__list {
  gap: 10px;
}

.s-footer-nav__list .menu-item {
  flex-grow: 1;
  position: relative;
}

.s-footer-nav__list > .menu-item > a {
  font-weight: 700;
  transition: color 0.2s var(--ease-in-out-quad);
}
.s-footer-nav__list > .menu-item > a:hover {
  color: var(--color-primary);
}

.s-footer-nav__list .sub-menu {
  margin-top: 5px;
}

.s-footer-nav__list .sub-menu a {
  font-weight: 400;
  font-size: 14px;
  line-height: calc(30 / 14);
  transition: color 0.2s var(--ease-in-out-quad);
}

.s-footer-nav__list .sub-menu a:hover {
  color: var(--color-primary);
}

.s-footer__sns {
  border-left: 1px solid #707070;
  padding-left: 35px;
  align-self: flex-start;
}

@media screen and (max-width: 768px) {
  .s-footer__sns {
    padding-left: 20px;
  }
}

.s-footer__sns .-link {
  margin-top: 15px;
  display: block;
  transition: opacity 0.3s var(--ease-in-out-quad);
}
.s-footer__sns .-link:hover {
  opacity: 0.7;
}
.s-footer__lower {
  padding-left: 2%;
  padding-top: 85px;
}

@media screen and (max-width: 768px) {
  .s-footer__lower {
    padding-left: unset;
    padding-top: 25px;
  }
}

.s-footer__copyright {
  font-size: 12px;
  line-height: calc(22 / 12);
}

.s-footer__cooperation {
  transition: opacity 0.3s var(--ease-in-out-quad);
}
.s-footer__cooperation:hover {
  opacity: 0.8;
}
.s-footer__contact {
  transition: opacity 0.3s var(--ease-in-out-quad);
  border-radius: 10px;
  background-color: white;
  display: flex;
  column-gap: 10px;
  align-items: center;
  padding-left: 10px;
  padding-right: 10px;
  flex-basis: 180px;
  justify-content: center;
  min-height: 80px;
  font-weight: 700;
  color: var(--color-primary);
}

@media screen and (max-width: 768px) {
  .s-footer__contact {
    min-height: 60px;
  }
}
.s-footer__contact:hover {
  opacity: 0.8;
}
}

@layer site {

.s-header-nav__list {
  align-items: center;
  display: flex;
  height: 100%;
  justify-content: space-between;
  column-gap: 45px;
  margin-top: 20px;
  translate: 0 10px;
  z-index: 2;
  position: relative;
}

@media screen and (max-width: 1600px) {
  .s-header-nav__list {
    column-gap: 25px;
  }
}
@media screen and (max-width: 1200px) {
  .s-header-nav__list {
    column-gap: 15px;
  }
}

.s-header-nav__list > .menu-item {
  flex-grow: 1;
  position: relative;
  padding-bottom: 30px;
}

.s-header-nav__list > .menu-item > a {
  display: flex;
  flex-direction: column;
  row-gap: 5px;
  align-items: center;
  font-size: 16px;
  line-height: calc(30 / 16);
}

@media screen and (max-width: 1600px) {
  .s-header-nav__list > .menu-item > a {
    font-size: 14px;
  }
}
@media screen and (max-width: 1200px) {
  .s-header-nav__list > .menu-item > a {
    font-size: 12px;
  }
}

.s-header-nav__list .menu-item > a[aria-current="page"] {
  font-weight: 700;
}

.s-header-nav__list .menu-item._coordination > a::before {
  background-image: url("../images/site/icon_coordination.png");
  content: "";
  background-size: contain;
  display: block;
  background-repeat: no-repeat;
  width: 60px;
  height: 56px;
}
@media screen and (max-width: 1600px) {
  .s-header-nav__list .menu-item._coordination > a::before {
    width: calc(60px * 0.7);
    height: calc(56px * 0.7);
  }
}
.s-header-nav__list .menu-item._about > a::before {
  background-image: url("../images/site/icon_about.png");
  content: "";
  background-size: contain;
  display: block;
  background-repeat: no-repeat;
  width: 43px;
  height: 56px;
}

@media screen and (max-width: 1600px) {
  .s-header-nav__list .menu-item._about > a::before {
    width: calc(43px * 0.7);
    height: calc(56px * 0.7);
  }
}
.s-header-nav__list .menu-item._research > a::before {
  background-image: url("../images/site/icon_research.png");
  content: "";
  background-size: contain;
  display: block;
  background-repeat: no-repeat;
  width: 66px;
  height: 56px;
}
@media screen and (max-width: 1600px) {
  .s-header-nav__list .menu-item._research > a::before {
    width: calc(66px * 0.7);
    height: calc(56px * 0.7);
  }
}
.s-header-nav__list .menu-item._social > a::before {
  background-image: url("../images/site/icon_social.png");
  content: "";
  background-size: contain;
  display: block;
  background-repeat: no-repeat;
  width: 68px;
  height: 56px;
}
@media screen and (max-width: 1600px) {
  .s-header-nav__list .menu-item._social > a::before {
    width: calc(68px * 0.7);
    height: calc(56px * 0.7);
  }
}
.s-header-nav__list .menu-item._related > a::before {
  background-image: url("../images/site/icon_related.png");
  content: "";
  background-size: contain;
  display: block;
  background-repeat: no-repeat;
  width: 68px;
  height: 56px;
}
@media screen and (max-width: 1600px) {
  .s-header-nav__list .menu-item._related > a::before {
    width: calc(68px * 0.7);
    height: calc(56px * 0.7);
  }
}
.s-header-nav__list .menu-item._cooperation > a::before {
  background-image: url("../images/site/icon_cooperation.png");
  content: "";
  background-size: contain;
  display: block;
  background-repeat: no-repeat;
  width: 68px;
  height: 56px;
}
@media screen and (max-width: 1600px) {
  .s-header-nav__list .menu-item._cooperation > a::before {
    width: calc(68px * 0.7);
    height: calc(56px * 0.7);
  }
}
.s-header-nav__list .sub-menu {
  filter: var(--filter-drop-shadow);
  opacity: 0;
  transform: translate3d(0, -15px, 0);
  transition: opacity 0.3s var(--ease-in-out-quad),
    transform 0.3s var(--ease-in-out-quad);
  z-index: 2;
  position: absolute;
  background-color: #ffffff;
  border: 1px solid #707070;
  border-radius: 20px;
  bottom: 30px;
  left: 50%;
  translate: -50% 115%;
  padding: 10px 20px;
  width: 219px;
  pointer-events: none;
  visibility: hidden;
  display: flex;
  flex-direction: column;
}

.s-header-nav__list .menu-item.menu-item-has-children:hover .sub-menu,
.s-header-nav__list .menu-item.menu-item-has-children:focus-within .sub-menu,
.s-header-nav__list .sub-menu:hover {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  pointer-events: auto;
  visibility: visible;
}

.s-header-nav__list .menu-item.menu-item-has-children {
  position: relative;
}

/* 吹き出しの三角形 */
.s-header-nav__list .sub-menu::before {
  content: "";
  position: absolute;
  top: -10px; /* 三角形の高さに応じて調整 */
  left: 50%;
  transform: translateX(-50%);
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-bottom: 10px solid #ffffff;
  z-index: 1;
}

/* 枠線も三角形に追加したい場合 */
.s-header-nav__list .sub-menu::after {
  content: "";
  position: absolute;
  top: -11px; /* ::beforeより1px上 */
  left: 50%;
  transform: translateX(-50%);
  border-left: 11px solid transparent;
  border-right: 11px solid transparent;
  border-bottom: 11px solid #707070;
  z-index: 0;
}

.s-header-nav__list .sub-menu .menu-item {
  display: inline-grid;
  grid-template-columns: 12px auto;
  column-gap: 10px;
  padding-top: 10px;
  padding-bottom: 5px;
}
.s-header-nav__list .sub-menu .menu-item:not(:first-of-type) {
  border-top: 0.5px dashed #707070;
}
.s-header-nav__list .sub-menu .menu-item::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 12px;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI2IiBoZWlnaHQ9IjEyIiB2aWV3Qm94PSIwIDAgNiAxMiI+PHBhdGggaWQ9ImFycm93LXJpZ2h0LXMtZmlsbCIgZD0iTTE2LDEybC02LDZWNloiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xMCAtNikiLz48L3N2Zz4=");
  background-repeat: no-repeat;
  background-size: contain;
  translate: 0 8px;
}

.s-header {
  background-color: #fff;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
  height: calc(var(--height-header) * 1px);
}

@media screen and (max-width: 1600px) {
  .s-header {
  }

  .s-header__logo {
    width: 300px;
  }
}
@media screen and (max-width: 1200px) {
  .s-header {
  }
  .s-header__logo {
    width: 253px;
  }
}
@media screen and (max-width: 1024px) {
  .s-header {
    height: calc(var(--height-header-sp) * 1px);
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: var(--zIndex-header);
    padding-right: unset;
  }
}

.s-header._fixed {
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: var(--zIndex-header);
}

.s-header__inner {
  column-gap: 30px;
  align-items: center;
  display: flex;
  height: 100%;
  justify-content: space-between;
  position: relative;
}

@media screen and (max-width: 1024px) {
  .s-header__inner {
    column-gap: 15px;
  }
}

@media screen and (max-width: 1024px) {
  .s-header__nav {
    display: none;
  }
}

.s-header__toggle {
  display: none;
}
@media screen and (max-width: 768px) {
  .s-header__toggle {
    display: block;
  }
}
.s-header__spmenu {
  height: 100vh;
  height: 100svh;
  left: 0;
  pointer-events: none;
  position: fixed;
  top: 0;
  transition: 0.3s;
  width: 100vw;
  z-index: var(--zIndex-spmenu);
}

.s-header__logo {
  flex-shrink: 0;
}

@media screen and (max-width: 1024px) {
  .s-header__logo {
    width: 253px;
    flex-shrink: unset;
  }
}
.s-header__toggle {
  display: none;
  position: relative;
  z-index: var(--zIndex-toggle);
}

@media screen and (max-width: 1024px) {
  .s-header__toggle {
    display: block;
  }
}

.s-header__contact {
  position: absolute;
  top: 0;
  right: 0;
  background-color: var(--color-primary);
  border-bottom-right-radius: 5px;
  border-bottom-left-radius: 5px;
  color: white;
  display: flex;
  align-items: center;
  column-gap: 5px;
  width: 180px;
  height: 40px;
  border-bottom: 1px solid var(--color-primary);
  border-left: 1px solid var(--color-primary);
  border-right: 1px solid var(--color-primary);
  justify-content: center;
  padding-left: 20px;
  padding-right: 20px;
  transition: background-color 0.3s var(--ease-in-out-quad),
    color 0.3s var(--ease-in-out-quad);
}

.s-header__contact:hover {
  background-color: white;
  color: var(--color-primary);
}
@media screen and (max-width: 1024px) {
  .s-header__contact {
    display: none;
  }
}
}

@layer site {

.s-page-mv {
  padding-bottom: 10%;
  background-image: linear-gradient(
    to bottom,
    transparent 0%,
    transparent 20%,
    #f9f8f4 20%,
    #f9f8f4 100%
  );
  position: relative;
}

@media screen and (max-width: 768px) {
  .s-page-mv {
    background-image: none;
    background-color: #f9f8f4;
    padding-top: 25px;
    padding-bottom: unset;
  }
}

.s-page-mv__inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  margin-right: auto;
  position: relative;
  width: fit-content;
}

.s-page-mv__thumbnail {
  width: calc(1328 / 1920 * 100vw);
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 768px) {
  .s-page-mv__thumbnail {
    width: 100%;
  }
}

.s-page-mv__img {
  border-radius: 30px;
}
@media screen and (max-width: 768px) {
  .s-page-mv__img {
    border-radius: 0;
  }
}

.s-page-mv__heading {
  display: flex;
  flex-direction: column;
  row-gap: 19px;
  position: absolute;
  left: 0;
  bottom: max(-140px, -21%);
}

@media screen and (max-width: 1024px) {
  .s-page-mv__heading {
    row-gap: 10px;
  }
  .s-page-mv__heading .-icon {
    width: 55px;
  }
}

@media screen and (max-width: 768px) {
  .s-page-mv__heading {
    position: static;
    row-gap: 10px;
    align-items: center;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    min-height: 130px;
    justify-content: center;
  }

  .s-page-mv__heading .-icon {
    width: 35px;
  }
}
.s-page-mv[data-type="research"] .s-page-mv__heading .-icon {
  width: 113px;
}
@media screen and (max-width: 768px) {
  .s-page-mv[data-type="research"] .s-page-mv__heading .-icon {
    width: 45px;
  }
}
.s-page-mv__heading .-heading {
  font-size: var(--font-size-xl);
  line-height: var(--line-height-xl);
  font-weight: 700;
}

@media screen and (max-width: 768px) {
  .s-page-mv__thumbnail {
    margin-top: 25px;
  }
}

.s-page-mv__img {
  width: 100%;
}

@media screen and (max-width: 768px) {
  .s-page-mv__img {
    aspect-ratio: 375/241;
    width: 100%;
    height: auto;
    object-fit: cover;
  }
}
.s-page-mv__bottom {
  position: absolute;
  right: 0;
  bottom: 15%;
}

@media screen and (max-width: 768px) {
  .s-page-mv__bottom {
    bottom: -6%;
  }
}
.s-page-mv__catch {
  width: calc(854 / 1920 * 100vw);
}

@media screen and (max-width: 768px) {
  .s-page-mv__catch {
    width: calc(290 / 375 * 100vw);
  }
}

.s-page-mv[data-type="research"] .s-page-mv__catch {
  width: calc(659 / 1920 * 100vw);
}

@media screen and (max-width: 768px) {
  .s-page-mv[data-type="research"] .s-page-mv__catch {
    width: calc(238 / 375 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .s-page-mv[data-type="social"] .s-page-mv__catch {
    width: calc(312 / 375 * 100vw);
  }
  .s-page-mv[data-type="social"] .s-page-mv__bottom {
    right: unset;
    left: 0;
  }
}
@media screen and (max-width: 768px) {
  .s-page-mv[data-type="coordination"] .s-page-mv__catch {
    width: calc(325 / 375 * 100vw);
  }
  .s-page-mv[data-type="coordination"] .s-page-mv__bottom {
    right: unset;
    left: 0;
  }
}

.s-page-mv[data-type="related"] .s-page-mv__heading .-icon {
  width: 113px;
}

@media screen and (max-width: 768px) {
  .s-page-mv[data-type="related"] .s-page-mv__heading .-icon {
    width: 55px;
  }
}
.s-page-mv[data-type="related"] .s-page-mv__catch {
  width: calc(258 / 1920 * 100vw);
}
.s-page-mv[data-type="related"] .s-page-mv__bottom {
  right: 8.5%;
}
@media screen and (max-width: 768px) {
  .s-page-mv[data-type="related"] .s-page-mv__catch {
    width: calc(93 / 375 * 100vw);
  }
  .s-page-mv[data-type="related"] .s-page-mv__bottom {
    right: 0;
  }
}
@media screen and (max-width: 768px) {
  .s-page-mv[data-type="cooperation"] .s-page-mv__catch {
    width: calc(347 / 375 * 100vw);
  }
}
}

@layer site {

.s-pageheader-main {
  background-color: var(--color-4th);
  min-height: 167px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
  padding-top: 40px;
  padding-bottom: 40px;
}

@media screen and (max-width: 768px) {
  .s-pageheader-main {
    min-height: 100px;
    padding-top: 20px;
    padding-bottom: 20px;
  }
}

.s-pageheader-main__inner {
  display: flex;
  min-height: 167px;
  align-items: center;
  column-gap: 10px;
}
@media screen and (max-width: 768px) {
  .s-pageheader-main__inner {
    min-height: 100px;
  }
}

.s-pageheader-main__icon {
  flex-shrink: 0;
}
.s-pageheader-main__title {
  font-size: var(--font-size-xl);
  line-height: var(--line-height-xl);
  font-weight: 700;
}

@media screen and (max-width: 768px) {
  .s-pageheader-main__icon {
    max-width: 30px;
  }
}
}

@layer site {

.s-section-bottom {
  padding-top: 60px;
}

@media screen and (max-width: 768px) {
  .s-section-bottom {
    padding-top: 0;
  }
}

.s-section-bottom__layout {
  display: flex;
  justify-content: flex-end;
}

@media screen and (max-width: 768px) {
  .s-section-bottom__img {
    width: 280px;
  }
}
}

@layer site {
/* SP Menu */
.s-spmenu {
  height: 100vh;
  height: 100dvh;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  pointer-events: none;
  z-index: var(--zIndex-spmenu);
}

.s-spmenu__wrap {
  background-color: color-mix(in srgb, var(--color-primary) 50%, transparent);
  width: 100%;
  margin-top: calc(var(--height-header-sp) * 1px);
  height: calc(100% - var(--height-header-sp) * 1px);
}

.s-spmenu._is-open {
  pointer-events: all;
}

.s-spmenu__wrap {
  transition: opacity 0.4s var(--ease-in-out-quad);
  opacity: 0;
}

.s-spmenu__wrap._is-open {
  opacity: 1;
}

.s-spmenu__main {
  background-color: var(--color-primary);
  transition: transform 0.4s var(--ease-in-out-quad);
  transform: translate3d(110%, 0, 0);
  color: white;
}

.s-spmenu__main._is-open {
  transform: translate3d(0, 0, 0);
}

.s-spmenu__inner {
  padding-left: 12%;
  padding-right: 12%;
  height: 100%;
  width: 100%;
  position: relative;
  padding-top: 25px;
  padding-bottom: 35px;
  overflow-y: auto;
}

.s-spmenu__main {
  position: relative;
  width: min(330px, 100%);
  margin-left: auto;
  border-bottom-left-radius: 30px;
  filter: var(--filter-drop-shadow);
}

.s-spmenu__body {
  height: calc(100vh - var(--height-header-sp) * 1px);
  overflow-y: auto;
  padding-bottom: 2vh;
}
.s-spmenu-nav__list {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  row-gap: 0.2em;
}

.s-spmenu-nav__list > .menu-item {
}

.s-spmenu-nav__list .menu-item > a {
  transition: opacity 0.3s;
  font-weight: 700;
  font-size: 17px;
  line-height: calc(30 / 17);
}

.s-spmenu-nav__list .sub-menu {
}

.s-spmenu-nav__list .sub-menu .menu-item > a {
  font-size: 15px;
  line-height: calc(26 / 15);
  font-weight: 400;
  margin-left: 1.2em;
}

.s-spmenu__lower {
  display: flex;
  flex-direction: column;
  row-gap: 10px;
  margin-top: 10px;
}

.s-spmenu__lower .-text-md {
  font-size: 17px;
  line-height: calc(30 / 17);
}

.s-spmenu__lower .-button-secondary {
  background-color: var(--color-secondary);
  border: 2px solid white;
  border-radius: 10px;
  font-size: 15px;
  line-height: calc(30 / 15);
  display: grid;
  place-items: center;
  min-height: 50px;
}

.s-spmenu__lower .-button-mail {
  background-color: white;
  border-radius: 5px;
  color: white;
  display: flex;
  align-items: center;
  column-gap: 5px;
  height: 30px;
  justify-content: center;
  padding-left: 20px;
  padding-right: 20px;
  color: var(--color-primary);
}

.s-spmenu__lower .-text-sm {
  font-size: 13px;
  line-height: calc(24 / 13);
}
}

@layer site {

.s-sidebar-social__inner {
  display: flex;
  flex-direction: column;
  row-gap: 65px;
}

.s-sidebar-social__row {
  position: relative;
  background-color: #f8ffe3;
  padding: 30px 10% 25px;
  border-radius: 10px;
}

@media screen and (max-width: 768px) {
  .s-sidebar-social__row[data-type="first"] {
    display: none;
  }
  .s-sidebar-social__row {
    padding: 17px 5% 17px;
  }
}

.s-sidebar-social__subheading {
  color: 16px;
  color: #39b382;
  display: none;
  font-weight: 500;
  padding-bottom: 5px;
}
@media screen and (max-width: 768px) {
  .s-sidebar-social__subheading {
    display: revert;
  }
}

.s-sidebar-social__heading {
  position: absolute;
  top: 0;
  left: 50%;
  translate: -50% -50%;
  color: white;
  font-weight: 700;
  background-color: #39b382;
  width: 100%;
  max-width: 203px;
  display: grid;
  place-items: center;
  min-height: 43px;
  border-radius: 10px;
}

@media screen and (max-width: 768px) {
  .s-sidebar-social__heading[data-type="second"] {
    display: none;
  }
}

.s-sidebar-social__category-select {
  display: none;
}
@media screen and (max-width: 768px) {
  .s-sidebar-social__category-select {
    display: revert;
  }
}

.s-sidebar-social__category-list {
  display: flex;
  flex-direction: column;
}

.s-sidebar-social__category-item {
  border-bottom: 1px dashed #39b382;
  padding-top: 19px;
  padding-bottom: 19px;
}

.s-sidebar-social__category-link {
  display: grid;
  grid-template-columns: 11px 1fr;
  padding-left: 18px;
  column-gap: 10px;
}

.s-sidebar-social__category-link .-arrow {
  margin-top: 8px;
}

.s-sidebar-social__category-link .-text {
  font-size: 18px;
  font-weight: 500;
  line-height: calc(30 / 18);
}

.s-sidebar-social__date-select {
  padding-top: 25px;
}

@media screen and (max-width: 768px) {
  .s-sidebar-social__date-select {
    padding-top: 15px;
  }
}
}

@layer page {

.p-about-profile {
  padding-top: 80px;
  padding-bottom: 60px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}

@media screen and (max-width: 768px) {
  .p-about-profile {
    padding-top: 60px;
  }
}

.p-about-profile__inner {
  max-width: 1328px;
  margin-left: auto;
  margin-right: auto;
}

.p-about-profile__layout {
  display: grid;
  grid-template-columns: 376px 1fr;
  column-gap: 40px;
}

@media screen and (max-width: 1024px) {
  .p-about-profile__layout {
    grid-template-columns: 250px 1fr;
  }
}

@media screen and (max-width: 768px) {
  .p-about-profile__layout {
    grid-template-columns: 1fr;
    row-gap: 25px;
  }
}
.p-about-profile__img {
  border-radius: 30px;
}
@media screen and (max-width: 768px) {
  .p-about-profile__thumbnail {
    width: 50%;
    margin-left: auto;
    margin-right: auto;
  }
  .p-about-profile__img {
    border-radius: 30px;
  }
}

.p-about-profile__name .-heading {
  color: var(--color-primary);
  font-size: var(--font-size-md);
  line-height: var(--line-height-md);
  font-weight: 500;
}
.p-about-profile__name .-name {
  font-weight: 500;
  line-height: var(--line-height-xl);
  font-size: 37px;
}

@media screen and (max-width: 768px) {
  .p-about-profile__name .-name {
    font-size: var(--font-size-xl);
  }
}
.p-about-profile__name .-position {
  font-size: var(--font-size-md);
  line-height: var(--line-height-md);
  font-weight: 500;
}
.p-about-profile__summary {
  margin-top: 20px;
  border-top: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  padding-top: 20px;
  padding-bottom: 20px;
}

@media screen and (max-width: 768px) {
  .p-about-profile__summary {
    font-size: 14px;
    line-height: calc(24 / 14);
    margin-top: 15px;
    border-top: 1px solid currentColor;
    border-bottom: 1px solid currentColor;
    padding-top: 15px;
    padding-bottom: 15px;
  }
}

.p-about-profile__summary .-row {
  display: flex;
}

.p-about-profile__summary .-dt {
  font-weight: 400;
  flex-shrink: 0;
}

@media screen and (max-width: 1280px) {
  .p-about-profile__summary .-br-2 {
    display: none;
  }
}

@media screen and (max-width: 576px) {
  .p-about-profile__summary .-br-2 {
    display: revert;
  }
}

@media screen and (max-width: 768px) {
  .p-about-profile__history {
    font-size: 14px;
    line-height: calc(24 / 14);
  }
}

.p-about-profile__history .-upper {
  padding-top: 20px;
  padding-bottom: 20px;
}

@media screen and (max-width: 768px) {
  .p-about-profile__history .-upper {
    padding-top: 15px;
    padding-bottom: 15px;
  }
}

.p-about-profile__history .-lower {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  column-gap: 20px;
}

@media screen and (max-width: 1024px) {
  .p-about-profile__history .-lower {
    grid-template-columns: 1fr;
    row-gap: 15px;
  }
}

.p-about-profile__history .-heading {
  color: var(--color-primary);
  font-weight: 500;
  font-size: 18px;
  line-height: calc(30 / 18);
}

@media screen and (max-width: 768px) {
  .p-about-profile__history .-heading {
    line-height: calc(30 / 17);
    font-size: 17px;
  }
}

.p-about-activity {
  background-image: linear-gradient(
    to bottom,
    var(--color-primary) 0%,
    var(--color-primary) 80%,
    transparent 80%,
    transparent 100%
  );
  padding-bottom: 120px;
}

@media screen and (max-width: 1024px) {
  .p-about-activity {
    background-image: linear-gradient(
      to bottom,
      var(--color-primary) 0%,
      var(--color-primary) 80%,
      transparent 80%,
      transparent 100%
    );
    padding-bottom: 10%;
  }
}

.p-about-activity__wrap {
  color: white;
  padding-top: 60px;
  padding-bottom: 30px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}

@media screen and (max-width: 1024px) {
  .p-about-activity__wrap {
    padding-top: 30px;
    padding-bottom: unset;
  }
}

.p-about-activity__inner {
  max-width: 1332px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

.p-about-activity__head {
  width: calc(814 / 1332 * 100%);
  position: absolute;
  right: 0;
  top: 0;
}

@media screen and (max-width: 1024px) {
  .p-about-activity__head {
    position: static;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 40px;
  }
}

.p-about-activity__body {
  width: calc(420 / 1332 * 100%);
}

@media screen and (max-width: 1024px) {
  .p-about-activity__body {
    width: 100%;
  }
}

.p-about-activity__heading {
  line-height: calc(60 / 37);
  font-weight: 700;
  font-size: 37px;
}

@media screen and (max-width: 1024px) {
  .p-about-activity__heading {
    font-size: 23px;
    line-height: calc(35 / 23);
  }
}

.p-about-activity__text {
  font-size: 18px;
  line-height: calc(30 / 18);
  font-weight: 500;
  margin-top: 10px;
}

@media screen and (max-width: 1024px) {
  .p-about-activity__text {
    font-size: 17px;
    line-height: calc(28 / 17);
    margin-top: 25px;
  }
}

.p-about-activity__img {
  border-radius: 30px;
}

.p-about-test {
  padding-top: 45px;
  padding-bottom: 60px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}

@media screen and (max-width: 768px) {
  .p-about-test {
    padding-top: 15px;
  }
}
.p-about-test__inner {
  max-width: 1332px;
  margin-left: auto;
  margin-right: auto;
}

.p-about-test__layout {
  display: grid;
  grid-template-columns: 487fr 711fr;
  column-gap: 3%;
  margin-top: 25px;
}

@media screen and (max-width: 1024px) {
  .p-about-test__layout {
    grid-template-columns: 1fr;
    row-gap: 40px;
  }
}

.p-about-test [data-color="orange"] {
  --color-about-text: var(--color-secondary);
}
.p-about-test [data-color="blue"] {
  --color-about-text: var(--color-blue);
}

.p-about-test__heading {
  font-size: 37px;
  line-height: calc(60 / 37);
  font-weight: 500;
  text-align: center;
  border-bottom: 1px solid #707070;
  padding-bottom: 0.3em;
}

@media screen and (max-width: 768px) {
  .p-about-test__heading {
    font-size: 21px;
    line-height: calc(30 / 21);
    text-align: left;
    padding-bottom: 1.1em;
  }
}

.p-about-test__summary {
  margin-top: 20px;
}
.p-about-test__list {
  margin-top: 10px;
  display: grid;
  column-gap: 20px;
  row-gap: 20px;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
}

.p-about-test__subheading {
  color: var(--color-about-text);
  font-weight: 700;
  font-size: 18px;
  line-height: calc(30 / 18);
}
@media screen and (max-width: 768px) {
  .p-about-test__subheading {
    text-indent: -1em;
    padding-left: 1em;
  }
}

.p-about-test__figure {
  margin-bottom: unset !important;
}
.p-about-test__img {
  margin-left: auto;
  margin-right: auto;
  display: block;
}

@media screen and (max-width: 1024px) {
  .p-about-test__img {
    width: 100%;
  }
}

.p-about-test__figcaption {
  margin-top: 5px;
  text-align: center;
  font-size: 15px;
  line-height: calc(22 / 15);
  color: var(--color-about-text);
  min-height: 2lh;
}

@media screen and (max-width: 768px) {
  .p-about-test__figcaption {
    min-height: unset;
  }
}

.p-about-test__track {
  margin-top: 20px;
}
.p-about-test-track {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 20px;
}

@media screen and (max-width: 768px) {
  .p-about-test-track {
    grid-template-columns: 1fr;
    row-gap: 10px;
  }
}

.p-about-test-track__heading {
  font-size: 18px;
  line-height: calc(30 / 18);
  color: white;
  background-color: var(--color-primary);
  border-radius: 10px;
  font-weight: 500;
  display: grid;
  place-items: center;
  padding-top: 5px;
  padding-bottom: 5px;
  padding-left: 1em;
  padding-right: 1em;
}

@media screen and (max-width: 768px) {
  .p-about-test-track__heading {
    width: fit-content;
  }
}
.p-about-test__example {
  margin-top: 20px;
}

@media screen and (max-width: 768px) {
  .p-about-test__example {
    margin-top: 25px;
  }
}
.p-about-test-example__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-auto-rows: auto;
  column-gap: 3%;
  row-gap: 30px;
}

@media screen and (max-width: 1024px) {
  .p-about-test-example__list {
    grid-template-columns: 1fr;
    row-gap: 25px;
  }
}

/* 最初の要素だけ横に2列分広げる */
.p-about-test-example__list > :nth-child(1) {
  grid-column: 1 / span 2;
}

@media screen and (max-width: 1024px) {
  .p-about-test-example__list > :nth-child(1) {
    grid-column: unset;
  }
}

.p-about-test-example-item {
  border-top: 1px dashed #707070;
  padding-top: 25px;
  padding-bottom: 10px;
}

.p-about-test-example-item__heading {
  display: flex;
  column-gap: 15px;
}

@media screen and (max-width: 768px) {
  .p-about-test-example-item__heading {
    column-gap: 5px;
  }

  .p-about-test-example-item__heading .-icon {
    width: 23px;
    align-self: flex-start;
  }
}

.p-about-test-example-item__heading .-text {
  font-size: var(--font-size-md);
  line-height: var(--line-height-md);
  font-weight: 700;
  margin-block: var(--leading-trim);
}

.p-about-test-example-item__list {
  margin-top: 10px;
  min-height: 2lh;
}

@media screen and (max-width: 768px) {
  .p-about-test-example-item__list {
    margin-top: 20px;
    min-height: 0;
  }
}

.p-about-test-example__item:last-of-type .p-about-test-example-item__list {
  min-height: unset;
}
.p-about-test-example-item__gallery {
  margin-top: 25px;
  display: grid;
  column-gap: 3%;
  row-gap: 30px;
  grid-template-columns: 1fr 1fr;
}

.p-about-test-example-item__img {
  border-radius: 30px;
}

@media screen and (max-width: 1024px) {
  .p-about-test-example-item__gallery {
    row-gap: 25px;
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media screen and (max-width: 768px) {
  .p-about-test-example-item__gallery {
    row-gap: 17px;
    grid-template-columns: 1fr 1fr;
  }

  .p-about-test-example-item__gallery:has(:only-child) {
    grid-template-columns: 1fr;
  }

  .p-about-test-example-item__img {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    max-width: 335px;
  }
}
.p-about-test-example__item:first-of-type .p-about-test-example-item__gallery {
  grid-template-columns: 1fr 1fr 1fr 1fr;
}

@media screen and (max-width: 768px) {
  .p-about-test-example__item:first-of-type
    .p-about-test-example-item__gallery {
    grid-template-columns: 1fr 1fr;
  }
}
}

@layer page {

.p-archive-wrap {
  padding-top: clamp(40px, calc(60 / 1920 * 100%), 60px);
  padding-bottom: clamp(120px, calc(120 / 1920 * 100%), 120px);
}

.p-archive-body {
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}

.p-archive-body__list {
  display: flex;
  flex-direction: column;
  row-gap: 15px;
}

.p-archive-pagination {
  padding-top: clamp(40px, calc(60 / 1920 * 100%), 60px);
}
}

@layer page {

.p-contact-head {
  padding-top: 50px;
  padding-bottom: 50px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}

.p-contact-body {
  padding-left: var(--gutter);
  padding-right: var(--gutter);
  padding-bottom: clamp(120px, calc(200 / 1920 * 100%), 200px);
}

.p-contact-form__head-input {
  font-size: var(--font-size-lg);
  line-height: var(--line-height-lg);
  font-weight: 500;
  padding-top: 50px;
  padding-bottom: 50px;
  display: none;
}

[data-screen="input"] .p-contact-form__head-input {
  display: block;
}
[data-screen="invalid"] .p-contact-form__head-input {
  display: block;
}
[data-screen="back"] .p-contact-form__head-input {
  display: block;
}
.p-contact-form__head-confirm {
  font-size: var(--font-size-lg);
  line-height: var(--line-height-lg);
  font-weight: 500;
  padding-top: 50px;
  padding-bottom: 50px;
  display: none;
}
[data-screen="confirm"] .p-contact-form__head-confirm {
  display: block;
}

.p-contact-form__complete-head {
  color: var(--color-primary);
  font-size: var(--font-size-lg);
  line-height: var(--line-height-lg);
  font-weight: 500;
  padding-top: 50px;
  padding-bottom: 50px;
}
.p-contact-form__complete-body {
}

.p-contact-form__body {
  width: calc(1008 / 1228 * 100%);
}

@media screen and (max-width: 768px) {
  .p-contact-form__body {
    width: 100%;
  }
}

.p-contact-form__confirm {
  margin-top: 100px;
  font-size: var(--font-size-md);
  text-align: center;
  line-height: var(--line-height-md);
}

.p-contact-form__confirm a {
  color: var(--color-primary);
  text-decoration: underline;
}
@media screen and (max-width: 768px) {
  .p-contact-form__confirm {
    margin-top: 60px;
  }
}

[data-screen="confirm"] .p-contact-form__confirm {
  display: none;
}

[data-screen="confirm"] .p-contact-form__privacy {
  display: none;
}

.p-contact-form__privacy {
  margin-top: 20px;
  display: grid;
  place-items: center;
}
}

@layer page {

.p-page-post {
  padding-top: 80px;
  padding-bottom: 120px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}

@media screen and (max-width: 768px) {
  .p-page-post {
    padding-top: 30px;
    padding-bottom: 80px;
  }
}

.p-page-post__thumbnail {
  display: grid;
  place-items: center;
  margin-bottom: 60px;
}

@media screen and (max-width: 768px) {
  .p-page-post__thumbnail {
    margin-bottom: 30px;
  }
}
}

@layer page {
.p-page404-body {
  padding-top: 120px;
  padding-bottom: 120px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}
@media screen and (max-width: 768px) {
  .p-page404-body {
    padding-top: 90px;
    padding-bottom: 90px;
  }
}

.p-page404-body__inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  margin-right: auto;
}

.p-page404-body__heading {
  font-size: var(--font-size-lg);
  line-height: var(--line-height-lg);
  text-align: center;
}

.p-page404-body__heading .-ib {
  display: inline-block;
}

.p-page404-body__text {
  margin-top: 60px;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .p-page404-body__text {
    margin-top: 40px;
  }
}

.p-page404-body__button {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 60px;
}
@media screen and (max-width: 768px) {
  .p-page404-body__button {
    margin-top: 40px;
  }
}
}

@layer page {

.p-privacy-body {
  padding-left: var(--gutter);
  padding-right: var(--gutter);
  padding-bottom: clamp(120px, calc(200 / 1920 * 100%), 200px);
  padding-top: clamp(60px, calc(60 / 1920 * 100%), 60px);
}

.p-privacy-body__button {
  display: grid;
  place-items: center;
  margin-top: 60px;
}
}

@layer page {

.p-single-post {
  padding-top: clamp(60px, calc(120 / 1920 * 100%), 120px);
  padding-bottom: clamp(120px, calc(200 / 1920 * 100%), 200px);
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}

.p-single-post__heading {
  font-size: var(--font-size-xl);
  line-height: var(--line-height-xl);
  font-weight: 700;
  color: var(--color-primary);
}

.p-single-post__meta {
  display: flex;
  flex-direction: column;
  row-gap: 10px;
  align-items: flex-end;
  padding-top: 40px;
  padding-bottom: 40px;
}

@media screen and (max-width: 768px) {
  .p-single-post__meta {
    padding-top: 20px;
    padding-bottom: 20px;
  }
}

.p-single-post__thumbnail img {
  width: 100%;
  object-fit: cover;
  aspect-ratio: 16/9;
}

.p-single-post__date {
  font-size: var(--font-size-md);
  line-height: var(--line-height-md);
}

.p-single-post__category-list {
  display: flex;
  flex-wrap: wrap;
  column-gap: 5px;
}
.p-single-post__tag-list {
  display: flex;
  flex-wrap: wrap;
  column-gap: 5px;
}

.p-single-post__tag-link::before {
  content: "#";
  display: inline;
}

.p-single-post__body {
  padding-top: clamp(40px, calc(60 / 1920 * 100%), 60px);
  padding-bottom: clamp(40px, calc(60 / 1920 * 100%), 60px);
}

.p-single-post__postNavigation {
  margin-top: 60px;
}

@media screen and (max-width: 768px) {
  .p-single-post__postNavigation {
    margin-top: 50px;
  }
}
}

@layer page {
.p-top-upper {
  overflow: hidden;
  padding-bottom: 3.5%;
}
.p-top-upper__illust {
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  margin-top: max(-80px, -8%);
  z-index: 2;
  position: relative;
  pointer-events: none;
}

.p-top-upper__illust .-img {
  max-width: calc(var(--width-design) * 1px);
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}

.p-top-mv {
  z-index: 4;
  position: relative;
}

.p-top-mv__slider {
  width: calc(1328 / 1600 * 100%);
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 768px) {
  .p-top-mv__slider {
    width: 100%;
  }
}

.p-top-mv__slider .-img {
  border-radius: 30px;
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 768px) {
  .p-top-mv__slider .-img {
    border-radius: unset;
  }
}

.p-top-mv__slider .splide__pagination {
  position: static !important;
  justify-content: flex-start !important;
  column-gap: 15px !important;
  padding: unset !important;
  margin-top: 15px !important;
}

@media screen and (max-width: 768px) {
  .p-top-mv__slider .splide__pagination {
    justify-content: center !important;
    column-gap: 10px !important;
  }
}
.p-top-mv__slider .splide__pagination__page {
  width: 30px !important;
  border-radius: unset !important;
  opacity: 1 !important;
  background-color: #bebebe !important;
  margin: 0 !important;
}

@media screen and (max-width: 768px) {
  .p-top-mv__slider .splide__pagination__page {
    width: 21px !important;
  }
}

.p-top-mv__slider .splide__pagination__page.is-active {
  transform: scale(1) !important;
  background-color: #555555 !important;
}

.p-top-news__list {
  display: flex;
  flex-direction: column;
  row-gap: 8px;
}

.p-top-news__item {
  transition: translate 0.3s var(--ease-in-out-quad);
}
.p-top-news__item:hover {
  translate: -15px;
}

@media screen and (max-width: 1024px) {
  .p-top-news__item:hover {
    translate: none;
  }
}
.p-top-mv__news {
  position: absolute;
  right: 0;
  top: 8%;
  width: 100%;
  max-width: 376px;
}

@media screen and (max-width: 1024px) {
  .p-top-mv__news {
    padding-bottom: calc(30 / 375 * 100%);
    max-width: none;
    position: static;
    margin-top: 25px;
    padding-left: var(--gutter);
    padding-right: var(--gutter);
  }
}

.p-top-mv__popup {
  position: absolute;
  right: 0%;
  bottom: 0;
  translate: 2% 43%;
  z-index: 3;
  transition: scale 0.3s var(--ease-in-out-quad);
}

.p-top-mv__popup:hover {
  scale: 1.04;
}

@media screen and (max-width: 1024px) {
  .p-top-mv__popup {
    translate: unset;
    bottom: unset;
    top: 30%;
    width: 160px;
  }
}

.p-top-news__more {
  margin-top: 20px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  column-gap: 10px;
  transition: translate 0.3s var(--ease-in-out-quad);
}

@media screen and (max-width: 768px) {
  .p-top-news__more {
    margin-top: 10px;
  }
}

.p-top-news__more:hover {
  translate: 3px;
}

.p-top-about__layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

@media screen and (max-width: 768px) {
  .p-top-about__layout {
    grid-template-columns: 1fr;
    row-gap: 25px;
  }
}

.p-top-about {
  padding-bottom: clamp(60px, calc(100 / 1920 * 100%), 100px);
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}

@media screen and (max-width: 768px) {
  .p-top-about {
    padding-top: clamp(20px, calc(100 / 1920 * 100%), 100px);
  }
}

.p-top-about__pic {
  margin-top: 20px;
  padding-left: 8.5%;
  padding-right: 8.5%;
}
@media screen and (max-width: 768px) {
  .p-top-about__pic {
    margin-top: 25px;
    padding-left: unset;
    padding-right: unset;
  }
}

.p-top-about__right {
  padding-left: 2%;
}

@media screen and (max-width: 768px) {
  .p-top-about__right {
    padding-left: unset;
  }
}

.p-top-about__catch {
  color: var(--color-primary);
  font-size: var(--font-size-lg);
  line-height: var(--line-height-lg);
  font-weight: 700;
}

.p-top-about__pop {
  background-color: var(--color-primary);
  padding: 0.75em 1em;
  border-radius: 0.75em;
  filter: var(--filter-drop-shadow);
  color: white;
  width: 80%;
  font-size: clamp(16px, calc(40 / 1920 * 100vw), var(--font-size-xl));
  font-weight: 700;
  line-height: var(--line-height-xl);
  text-align: center;
}

@media screen and (max-width: 768px) {
  .p-top-about__pop {
    text-align: left;
    filter: unset;
    padding: unset;
    border-radius: unset;
    background-color: unset;
    width: 100%;
    color: var(--color-primary);
    font-size: clamp(16px, calc(24 / 410 * 100vw), var(--font-size-xl));
    line-height: var(--line-height-xl);
  }
}
.p-top-about__text {
  margin-top: 15px;
}

.p-top-lab {
  background-color: var(--color-4th);
  padding-top: clamp(60px, calc(100 / 1920 * 100%), 100px);
  padding-bottom: clamp(60px, calc(75 / 1920 * 100%), 75px);
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}

.p-top-lab__layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 32px;
  margin-top: 60px;
}

@media screen and (max-width: 1200px) {
  .p-top-lab__layout {
    margin-top: 40px;
    grid-template-columns: 1fr;
    row-gap: 25px;
  }
}

.p-top-lab-description__card {
  background-color: white;
  width: 96%;
  border-radius: 30px;
  padding-top: 35px;
  padding-bottom: 50px;
  padding-left: 5px;
  padding-right: 35px;
  filter: var(--filter-drop-shadow);
  display: grid;
  grid-template-columns: 190px 4fr;
}

@media screen and (max-width: 768px) {
  .p-top-lab-description__card {
    grid-template-columns: 1fr;
    padding-left: var(--gutter);
    padding-right: var(--gutter);
    padding-top: 25px;
    padding-bottom: 50px;
    row-gap: 20px;
  }

  .p-top-lab-description__card > *:nth-child(1) {
    display: none;
  }
}

.p-top-lab-description__illust {
  align-self: flex-end;
}
.p-top-lab-description__button {
  display: flex;
  justify-content: flex-end;
  translate: 0 -50%;
}

.p-top-profile {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 32px;
}
@media screen and (max-width: 1200px) {
  .p-top-profile {
    grid-template-columns: minmax(200px, 1fr) 3fr;
  }
}
@media screen and (max-width: 768px) {
  .p-top-profile {
    grid-template-columns: 1fr;
    column-gap: 20px;
    row-gap: 20px;
  }
}

.p-top-profile__heading {
  color: var(--color-primary);
  font-size: var(--font-size-md);
  line-height: var(--line-height-md);
  font-weight: 500;
}
.p-top-profile__name {
  font-weight: 500;
  line-height: var(--line-height-xl);
  font-size: 37px;
}

@media screen and (max-width: 768px) {
  .p-top-profile__name {
    font-size: var(--font-size-xl);
  }
}
.p-top-profile__position {
  font-size: var(--font-size-md);
  line-height: var(--line-height-md);
  font-weight: 500;
}
.p-top-profile__text {
  margin-top: 20px;
  border-top: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  padding-top: 10px;
  padding-bottom: 10px;
  font-size: clamp(10px, calc(12 / 375 * 100vw), 14px);
}

.p-top-profile__text .-row {
  display: flex;
}

.p-top-profile__text .-dt {
  font-weight: 400;
  flex-shrink: 0;
}

@media screen and (max-width: 1280px) {
  .p-top-profile__text .-br-2 {
    display: none;
  }
}

@media screen and (max-width: 576px) {
  .p-top-profile__text .-br-2 {
    display: revert;
  }
}

.p-top-profile__thumbnail .-img {
  border-radius: 30px;
}
@media screen and (max-width: 768px) {
  .p-top-profile__thumbnail .-img {
    width: 60%;
    margin-left: auto;
    margin-right: auto;
  }
}

.p-top-coordination {
  padding-top: clamp(60px, calc(100 / 1920 * 100%), 100px);
  padding-bottom: clamp(120px, calc(345 / 1920 * 100%), 345px);
  position: relative;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}
.p-top-coordination__corner {
  position: absolute;
  right: 0;
  z-index: -1;
  bottom: 0;
  width: min(672px, calc(672 / 1920 * 100%));
}

@media screen and (max-width: 768px) {
  .p-top-coordination__corner {
    width: min(420px, calc(280 / 375 * 100%));
  }
}

.p-top-coordination__layout {
  margin-top: 45px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 32px;
}

@media screen and (max-width: 768px) {
  .p-top-coordination__layout {
    grid-template-columns: 1fr;
    row-gap: 25px;
  }
}

.p-top-coordination__subheading {
  font-size: var(--font-size-lg);
  line-height: var(--line-height-lg);
  color: var(--color-primary);
  font-weight: 700;
}

.p-top-coordination__left {
  margin-top: -10px;
}
.p-top-coordination__right {
  padding-left: 7%;
}

@media screen and (max-width: 768px) {
  .p-top-coordination__right {
    padding-left: unset;
  }
}
.p-top-coordination__pic {
  position: relative;
}

.p-top-coordination__pic .-img {
  border-radius: 30px;
}
.p-top-coordination__pic .-img._01 {
  width: calc(648 / 729 * 100%);
}
.p-top-coordination__pic .-img._02 {
  position: absolute;
  right: 0;
  bottom: 13%;
  width: calc(282 / 729 * 100%);
}
.p-top-coordination__pic .-img._03 {
  margin-top: 30px;
  width: calc(216 / 729 * 100%);
}

.p-top-coordination__text {
  margin-top: 20px;
}

@media screen and (max-width: 768px) {
  .p-top-coordination__text {
    margin-top: 15px;
  }
}
.p-top-coordination__subheading:not(:first-of-type) {
  margin-top: 40px;
}

@media screen and (max-width: 768px) {
  .p-top-coordination__subheading:not(:first-of-type) {
    margin-top: 25px;
  }
}

.p-top-coordination__button {
  margin-top: 45px;
}
@media screen and (max-width: 768px) {
  .p-top-coordination__button {
    margin-top: 25px;
  }
}
.p-top-test {
  background-color: var(--color-primary);
  padding-top: clamp(60px, calc(100 / 1920 * 100%), 100px);
  padding-bottom: clamp(60px, calc(100 / 1920 * 100%), 100px);
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}

.p-top-test__upper {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  row-gap: 15px;
  column-gap: 25px;
}

@media screen and (max-width: 768px) {
  .p-top-test__upper {
    flex-direction: column;
    row-gap: 20px;
  }
}

.p-top-test__heading {
  font-size: var(--font-size-xl);
  line-height: var(--line-height-xl);
  font-weight: 700;
  color: white;
  margin-block: var(--leading-trim);
}

.p-top-test__layout {
  margin-top: 50px;
  display: grid;
  grid-template-columns: 1fr 3.2fr;
  column-gap: 32px;
}

@media screen and (max-width: 768px) {
  .p-top-test__layout {
    grid-template-columns: 1fr;
    row-gap: 25px;
  }
}

.p-top-test__left {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  row-gap: 30px;
}

@media screen and (max-width: 768px) {
  .p-top-test__left {
    flex-direction: row-reverse;
  }
}

.p-top-test__text {
  color: white;
}

@media screen and (max-width: 1400px) {
  .p-top-test__text br {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  .p-top-test__text {
    flex: 1;
  }
}
.p-top-test__list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  column-gap: 35px;
  row-gap: 30px;
}
@media screen and (max-width: 1024px) {
  .p-top-test__list {
    row-gap: 20px;
    column-gap: 20px;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  }
}

.p-top-test__illust {
  display: grid;
  place-items: center;
}

@media screen and (max-width: 768px) {
  .p-top-test__illust {
    flex-shrink: 0;
    width: 120px;
  }
}
.p-top-test__item > * {
  height: 100%;
}
.p-top-test-item {
  pointer-events: none;
  padding-top: 10%;
  padding-bottom: 8%;
  padding-left: 10%;
  padding-right: 10%;
  background-color: white;
  border-radius: 30px;
  filter: var(--filter-drop-shadow);
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 15px;
}

@media screen and (max-width: 768px) {
  .p-top-test-item {
    padding: 25px;
  }
}

.p-top-test-item__illust {
  display: grid;
  place-items: center;
}

@media screen and (max-width: 768px) {
  .p-top-test-item__illust .-img {
    max-width: 200px;
    margin-left: auto;
    margin-right: auto;
    display: block;
  }
}

.p-top-test-item__heading {
  font-size: var(--font-size-md);
  line-height: var(--line-height-md);
  font-weight: 700;
  text-align: center;
}

.p-top-social {
  padding-top: min(340px, calc(340 / 1920 * 100%));
  padding-bottom: min(50px, calc(50 / 1920 * 100%));
  position: relative;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}

@media screen and (max-width: 768px) {
  .p-top-social {
    padding-top: clamp(100px, calc(720 / 1920 * 100%), 200px);
  }
}
.p-top-social__corner._left {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: min(672px, calc(672 / 1920 * 100%));
}

@media screen and (max-width: 768px) {
  .p-top-social__corner._left {
    width: min(420px, calc(280 / 375 * 100%));
  }
}
.p-top-social__corner._right {
  position: absolute;
  right: 0;
  z-index: -1;
  bottom: 21%;
  width: min(399px, calc(399 / 1920 * 100%));
}

@media screen and (max-width: 768px) {
  .p-top-social__corner._right {
    width: min(240px, calc(200 / 375 * 100%));
  }
}
.p-top-social__upper {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .p-top-social__upper {
    flex-direction: column;
    row-gap: 20px;
  }
}
.p-top-social__body {
  margin-top: 40px;
}
.p-top-social__slider {
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
}

.p-top-related {
  padding-top: clamp(20px, calc(20 / 1920 * 100%), 20px);
  padding-bottom: clamp(180px, calc(350 / 1920 * 100%), 350px);

  position: relative;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}

@media screen and (max-width: 768px) {
  .p-top-related {
    padding-bottom: 180px;
  }
}

.p-top-related__upper {
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width: 768px) {
  .p-top-related__upper {
    flex-direction: column;
    row-gap: 20px;
  }
}

.p-top-related__corner {
  position: absolute;
  right: 0;
  bottom: 0;
  width: min(672px, calc(672 / 1920 * 100%));
}

@media screen and (max-width: 768px) {
  .p-top-related__corner {
    width: min(420px, calc(280 / 375 * 100%));
  }
}

.p-top-related__body {
  margin-top: 55px;
}

@media screen and (max-width: 768px) {
  .p-top-related__body {
    margin-top: 25px;
  }
}

.p-top-related__list {
  display: flex;
  flex-wrap: wrap;
  column-gap: 32px;
  row-gap: 25px;
}

@media screen and (max-width: 768px) {
  .p-top-related__list {
    column-gap: 15px;
    row-gap: 15px;
  }
}

.p-top-related__item {
  flex-basis: 376px;
}
@media screen and (max-width: 1024px) {
  .p-top-related__item {
    flex-basis: 200px;
  }
}

.p-top-related__link {
  transition: opacity 0.3s var(--ease-in-out-quad);
}

.p-top-related__link:hover {
  opacity: 0.7;
}

.p-top-profile__thumbnail .-img {
  border-radius: 30px;
}
@media screen and (max-width: 768px) {
  .p-top-profile__thumbnail .-img {
    width: 60%;
    margin-left: auto;
    margin-right: auto;
  }
}


.splide:not(.is-overflow) .splide__slide:last-child {
  margin: 0 !important;
}
}

@layer page {

.p-research-anchor {
  padding-left: var(--gutter);
  padding-right: var(--gutter);
  padding-top: 80px;
  padding-bottom: 80px;
}

@media screen and (max-width: 768px) {
  .p-research-anchor {
    padding-top: 60px;
    padding-bottom: 40px;
  }
}
@media screen and (max-width: 768px) {
  .p-research-anchor[data-type="col-4"] {
    padding-top: 20px;
    padding-bottom: 40px;
  }
}

.p-research-anchor__inner {
  max-width: 1326px;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 768px) {
  .p-research-anchor__inner {
    width: 90%;
  }
}
.p-research-anchor__list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 35px;
  row-gap: 35px;
}

.p-research-anchor[data-type="col-4"] .p-research-anchor__list {
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  column-gap: 15px;
  row-gap: 15px;
}

@media screen and (max-width: 768px) {
  .p-research-anchor__list {
    grid-template-columns: 1fr;
    row-gap: 30px;
  }
}

.p-research-head {
  padding-top: 80px;
  padding-bottom: 40px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}

@media screen and (max-width: 768px) {
  .p-research-head {
    padding-top: 60px;
    padding-bottom: 20px;
  }
}

.p-research-head__inner {
  max-width: 1328px;
  margin-left: auto;
  margin-right: auto;
}

.p-research-head__heading {
  background-color: #effbff;
  display: grid;
  border-radius: 10px;
  min-height: clamp(90px, calc(119 / 1200 * 100vw), 119px);
  align-items: center;
  text-align: center;
  color: #1ba3cd;
  font-size: clamp(19px, calc(37 / 1200 * 100vw), 37px);
  font-weight: 500;
  line-height: calc(60 / 37);
}

@media screen and (max-width: 768px) {
  .p-research-head__heading {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
}
.p-research-body__subheading {
  display: grid;
  grid-template-columns: 20px 1fr;
  color: #1ba3cd;
  column-gap: 10px;
  border-bottom: 1px solid currentColor;
  padding-bottom: 10px;
}

@media screen and (max-width: 768px) {
  .p-research-body__subheading {
    grid-template-columns: 1fr;
    border-bottom: 2px solid currentColor;
  }
}

.p-research-body__subheading .-icon {
  margin-top: 10px;
}

@media screen and (max-width: 768px) {
  .p-research-body__subheading .-icon {
    display: none;
  }
}

.p-research-body__subheading .-text {
  display: block;
  font-size: 26px;
  line-height: calc(39 / 26);
  font-weight: 700;
}

@media screen and (max-width: 768px) {
  .p-research-body__subheading .-text {
    line-height: calc(31 / 19);
    font-size: 19px;
  }
}
.p-research-body {
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}

.p-research-body__inner {
  max-width: 1328px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .p-research-body__inner {
    width: 90%;
  }
}

.p-research-body__list {
  padding-top: 20px;
  padding-bottom: 40px;
  display: flex;
  flex-direction: column;
  row-gap: 20px;
}

@media screen and (max-width: 768px) {
  .p-research-body__list {
    row-gap: 10px;
  }
}
}

@layer page {

.p-social-wrap__body {
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}

.p-social-wrap__layout {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  margin-right: auto;
  display: grid;
  grid-template-columns: 1fr 325px;
  padding-top: 70px;
  padding-bottom: 80px;
}
@media screen and (max-width: 1024px) {
  .p-social-wrap__layout {
    grid-template-columns: 1fr 240px;
    padding-top: 60px;
    padding-bottom: 60px;
  }
}

@media screen and (max-width: 768px) {
  .p-social-wrap__layout {
    grid-template-columns: 1fr;
    row-gap: 45px;
  }
}

.p-social-wrap__layout > *:nth-child(1) {
  padding-left: 10.7%;
  padding-right: 6.5%;
}
.p-social-wrap__layout > *:nth-child(2) {
  padding-top: 30px;
}

@media screen and (max-width: 768px) {
  .p-social-wrap__layout > *:nth-child(2) {
    padding-top: unset;
  }
}

@media screen and (max-width: 1024px) {
  .p-social-wrap__layout > *:nth-child(1) {
    padding-left: unset;
  }
}
@media screen and (max-width: 768px) {
  .p-social-wrap__layout > *:nth-child(1) {
    padding-left: unset;
    padding-right: unset;
    order: 2;
  }
}

.p-social-body__month-heading {
  padding-bottom: 5px;
}

.p-social-body__month-heading:not(:first-child) {
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  .p-social-body__month-heading:not(:first-child) {
    margin-top: 30px;
  }
}

.p-social-body__item {
  border-bottom: 1px dashed #707070;
}

.p-social-body__pagination {
  margin-top: 115px;
}

@media screen and (max-width: 768px) {
  .p-social-body__pagination {
    margin-top: 100px;
  }
}

.p-social-single__title {
  color: #39b382;
  font-size: 26px;
  line-height: calc(39 / 26);
  font-weight: 700;
  margin-top: 20px;
}
@media screen and (max-width: 1024px) {
  .p-social-single__title {
    font-size: 20px;
    line-height: calc(28 / 20);
  }
}
.p-social-single__place {
  color: #39b382;
  font-weight: 700;
  font-size: 20px;
  line-height: calc(33 / 20);
}

@media screen and (max-width: 1024px) {
  .p-social-single__place {
    font-size: 16px;
    line-height: calc(24 / 16);
    margin-top: 5px;
  }
}
.p-social-single__category {
  margin-top: 10px;
}

.p-social-single__body {
  padding-top: 20px;
}

.p-social-single__navigation {
  margin-top: 100px;
}

@media screen and (max-width: 768px) {
  .p-social-single__navigation {
    margin-top: 90px;
  }
}

.p-social-single__thumbnail {
  margin-top: 20px;
}

.p-social-body__categorize-heading {
  padding-bottom: 40px;
}

@media screen and (max-width: 768px) {
  .p-social-body__categorize-heading {
    padding-bottom: 20px;
  }
}
.p-social-single__pager {
  margin-top: 40px;
}
}

@layer page {

.p-coordination-about {
  padding-left: var(--gutter);
  padding-right: var(--gutter);
  padding-top: 70px;
}

@media screen and (max-width: 768px) {
  .p-coordination-about {
    padding-top: 65px;
  }
}

.p-coordination-about__inner {
  max-width: 1328px;
  margin-left: auto;
  margin-right: auto;
}

.p-coordination-about__catch {
  color: var(--color-primary);
  font-size: clamp(21px, calc(37 / 1200 * 100vw), 37px);
  line-height: calc(60 / 37);
  color: var(--color-primary);
  font-weight: 500;
}

@media screen and (max-width: 1024px) {
  .p-coordination-about__catch {
    font-size: 21px;
    font-weight: 500;
    line-height: calc(30 / 21);
  }
}

.p-coordination-skill {
  padding-top: 175px;
  padding-bottom: 80px;
  margin-top: -150px;
  position: relative;
  overflow: hidden;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}
@media screen and (max-width: 1024px) {
  .p-coordination-skill {
    padding-top: 70px;
    padding-bottom: 20px;
    margin-top: -40px;
  }
}

@media screen and (max-width: 768px) {
  .p-coordination-skill {
    padding-top: 70px;
    padding-bottom: 20px;
    margin-top: -40px;
  }
}

.p-coordination-skill__bg {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .p-coordination-skill__bg {
    display: none;
  }
}

.p-coordination-skill__inner {
  max-width: 1328px;
  margin-left: auto;
  margin-right: auto;
}

.p-coordination-skill__layout {
  margin-top: 35px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: calc(36 / 1328 * 100%);
}

@media screen and (max-width: 768px) {
  .p-coordination-skill__layout {
    grid-template-columns: 1fr;
    row-gap: 30px;
  }
}

.p-coordination-skill__figure {
  display: grid;
  place-items: center;
}
.p-coordination-skill__list {
  margin-top: 45px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  column-gap: 1.8%;
  row-gap: 35px;
}
@media screen and (max-width: 1024px) {
  .p-coordination-skill__list {
    row-gap: 25px;
  }
}
@media screen and (max-width: 768px) {
  .p-coordination-skill__list {
    flex-direction: column;
    row-gap: 15px;
    margin-top: 25px;
  }
}

.p-coordination-skill__item {
  width: calc(25% - 20px);
  height: 100%;
}

@media screen and (max-width: 1024px) {
  .p-coordination-skill__item {
    width: calc(33.3% - 20px);
  }
}

@media screen and (max-width: 768px) {
  .p-coordination-skill__item {
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  .p-coordination-skill__text {
    font-size: 16px;
    line-height: calc(29 / 16);
  }
}

.p-coordination-skill-item {
  min-height: 300px;
  padding: 11% 5%;
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: white;
  filter: drop-shadow(3px 3px 6px color-mix(in srgb, black 16%, transparent));
  border-radius: 30px;
}

@media screen and (max-width: 1024px) {
  .p-coordination-skill-item {
    min-height: unset;
  }
}

@media screen and (max-width: 768px) {
  .p-coordination-skill-item {
    filter: drop-shadow(2px 2px 4px color-mix(in srgb, black 16%, transparent));
    min-height: unset;
    display: grid;
    grid-template-columns: 1.1fr 3fr;
    grid-template-rows: auto auto;
    text-align: left;
    column-gap: 4%;
    padding-top: 15px;
    padding-bottom: 25px;
    padding-left: 20px;
    padding-right: 20px;
  }
  .p-coordination-skill-item > *:nth-child(1) {
    grid-area: 1 / 1 / 3 / 2;
    align-self: flex-start;
    padding-top: 5px;
    justify-self: center;
  }
  .p-coordination-skill-item > *:nth-child(2) {
    align-self: flex-start;
    grid-area: 1 / 2 / 2 / 3;
  }
  .p-coordination-skill-item > *:nth-child(3) {
    align-self: flex-start;
    grid-area: 2 / 2 / 3 / 3;
  }
}

.p-coordination-skill-item[data-type="yellow-green"] {
  --color-coordination-skill-item: #c5ce00;
}
.p-coordination-skill-item[data-type="red"] {
  --color-coordination-skill-item: #e62140;
}
.p-coordination-skill-item[data-type="purple"] {
  --color-coordination-skill-item: #8d80bb;
}
.p-coordination-skill-item[data-type="yellow"] {
  --color-coordination-skill-item: #f2c81d;
}
.p-coordination-skill-item[data-type="blue"] {
  --color-coordination-skill-item: #1ba3cd;
}
.p-coordination-skill-item[data-type="orange"] {
  --color-coordination-skill-item: #f2984f;
}
.p-coordination-skill-item[data-type="pink"] {
  --color-coordination-skill-item: #e75297;
}

.p-coordination-skill-item__heading {
  display: grid;
  grid-template-columns: 26px auto;
  align-items: center;
  column-gap: 7px;
  margin-top: 15px;
}

@media screen and (max-width: 768px) {
  .p-coordination-skill-item__heading {
    grid-template-columns: 20px auto;
    column-gap: 5px;
    margin-top: unset;
  }
}

.p-coordination-skill-item__heading .-dot {
  background-color: var(--color-coordination-skill-item);
  width: 26px;
  aspect-ratio: 1/1;
  display: block;
  border-radius: 999em;
}

@media screen and (max-width: 768px) {
  .p-coordination-skill-item__heading .-dot {
    width: 20px;
  }
}
.p-coordination-skill-item__heading .-text {
  font-size: 26px;
  line-height: calc(39 / 26);
  font-weight: 700;
}

@media screen and (max-width: 1024px) {
  .p-coordination-skill-item__heading .-text {
    font-size: 20px;
    line-height: calc(39 / 20);
  }
}

@media screen and (max-width: 1024px) {
  .p-coordination-skill-item__icon {
    height: 60px;
  }
}

.p-coordination-skill-item__text {
  text-align: center;
  font-size: 16px;
  line-height: calc(30 / 16);
  margin-top: 15px;
}
@media screen and (max-width: 1024px) {
  .p-coordination-skill-item__text {
    font-size: 16px;
    margin-top: 10px;
    line-height: calc(24 / 16);
  }

  .p-coordination-skill-item__text br {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  .p-coordination-skill-item__text {
    text-align: left;
    font-size: 16px;
    line-height: calc(24 / 16);
    margin-top: unset;
  }

  .p-coordination-skill-item__text br {
    display: none;
  }
}
.p-coordination-test {
  padding-top: 180px;
  margin-top: -70px;
  padding-bottom: 110px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}
@media screen and (max-width: 1024px) {
  .p-coordination-test {
    padding-top: 110px;
    margin-top: -50px;
    padding-bottom: 60px;
  }
}

@media screen and (max-width: 768px) {
  .p-coordination-test {
    padding-top: 90px;
    padding-bottom: 30px;
    margin-top: -70px;
  }
}

.p-coordination-test__inner {
  max-width: 1328px;
  margin-left: auto;
  margin-right: auto;
}

.p-coordination-test__text {
  margin-top: 35px;
}

@media screen and (max-width: 768px) {
  .p-coordination-test__text {
    margin-top: 30px;
  }
}

.p-coordination-test__list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  column-gap: 1.8%;
  row-gap: 55px;
  margin-top: 40px;
}

@media screen and (max-width: 768px) {
  .p-coordination-test__list {
    margin-top: 35px;
    row-gap: 20px;
    grid-template-columns: 1fr;
    max-width: 400px;
    margin-left: auto;
    margin-right: auto;
  }
}

.p-coordination-test-item {
  position: relative;
  margin-right: 23px;
}

@media screen and (max-width: 768px) {
  .p-coordination-test-item {
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin-right: unset;
  }
}
.p-coordination-test-item__head {
  background-color: var(--color-primary);
  color: white;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  padding-top: 11px;
  padding-bottom: 11px;
  padding-left: 10px;
  padding-right: 10px;
  min-height: 67px;
  display: grid;
  place-items: center;
}

@media screen and (max-width: 768px) {
  .p-coordination-test-item__head {
    border-top-right-radius: unset;
    border-bottom-left-radius: 10px;
    min-height: unset;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    height: 100%;
    align-items: flex-start;
    padding-top: 16px;
    padding-bottom: 11px;
    padding-left: 20px;
    padding-right: 10px;
  }
}
.p-coordination-test-item__heading {
  font-size: 21px;
  font-weight: 500;
  line-height: calc(22 / 21);
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .p-coordination-test-item__heading {
    font-size: 19px;
    line-height: calc(22 / 19);
  }
}

@media screen and (max-width: 768px) {
  .p-coordination-test-item__heading {
    font-size: 19px;
    line-height: calc(22 / 19);
    text-align: left;
  }
}

.p-coordination-test-item__figure {
  margin: 0 !important;
}
.p-coordination-test-item__figure .-img {
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .p-coordination-test-item__figure .-img {
    border-bottom-left-radius: unset;
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
  }
}

.p-coordination-test-item__link {
  display: none;
}

@media screen and (max-width: 768px) {
  .p-coordination-test-item__link {
    display: grid;
    grid-template-columns: 16px auto;
    column-gap: 6px;
    margin-top: auto;
    transition: translate 0.3s var(--ease-in-out-quad);
    align-items: center;
  }

  .p-coordination-test-item__link .-arrow {
    width: 16px;
  }

  .p-coordination-test-item__link .-text {
    font-size: 15px;
    font-weight: 500;
    line-height: calc(30 / 15);
  }

  .p-coordination-test-item__link:hover {
    translate: 3px;
  }
}

.p-coordination-test-item__button {
  position: absolute;
  bottom: 0;
  right: 0;
  translate: 23px 50%;
  z-index: 2;
  width: min(156px, 100%);
}

@media screen and (max-width: 768px) {
  .p-coordination-test-item__button {
    display: none;
  }
}
}

@layer page {

.p-related-body {
  padding-top: 85px;
  padding-bottom: 190px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}

@media screen and (max-width: 768px) {
  .p-related-body {
    padding-top: 60px;
    padding-bottom: 100px;
  }
}

.p-related-body__inner {
  max-width: 1328px;
  margin-left: auto;
  margin-right: auto;
}

.p-related-body__list {
  width: calc(1218 / 1328 * 100%);
  margin-left: auto;
  margin-right: auto;
  display: grid;
  column-gap: 4%;
  row-gap: 50px;
  grid-template-columns: repeat(auto-fill, minmax(270px, 1fr));
}

@media screen and (max-width: 768px) {
  .p-related-body__list {
    row-gap: 35px;
  }
}
.p-related-body__link {
  justify-self: center;
  display: block;
  transition: opacity 0.3s;
}

.p-related-body__link:hover {
  opacity: 0.7;
}
.p-related-body__text {
  margin-top: 10px;
  padding-left: 10%;
  padding-right: 10%;
}

@media screen and (max-width: 768px) {
  .p-related-body__text {
    padding-left: unset;
    padding-right: unset;
  }
}
}

@layer page {

/* ============================================
   協力者固定ページ (cooperation)
   ============================================ */

/* --- リードテキスト --- */
.p-cooperation-lead {
  padding-left: var(--gutter);
  padding-right: var(--gutter);
  padding-top: 80px;
  padding-bottom: 80px;
}
@media screen and (max-width: 768px) {
  .p-cooperation-lead {
    padding-top: 60px;
    padding-bottom: 50px;
  }
}

.p-cooperation-lead__inner {
  max-width: 1328px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.p-cooperation-lead__text {
  font-size: 26px;
  font-weight: 500;
  line-height: calc(31 / 26);
  border-bottom: 1px solid;
  padding-bottom: 20px;
  text-align: left;
}

.p-cooperation-lead__text .-parts {
  display: inline-block;
}

@media screen and (max-width: 768px) {
  .p-cooperation-lead__text {
    font-size: 20px;
    line-height: calc(31 / 20);
  }
}

/* --- 動物カードグリッド --- */
.p-cooperation-grid {
  padding-bottom: 40px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}

@media screen and (max-width: 768px) {
  .p-cooperation-grid {
  }
}

.p-cooperation-grid__inner {
  max-width: 1328px;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 768px) {
  .p-cooperation-grid__inner {
  }
}

.p-cooperation-grid__list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  list-style: none;
  column-gap: 50px;
  row-gap: 60px;
}

@media screen and (max-width: 768px) {
  .p-cooperation-grid__list {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    row-gap: 50px;
    column-gap: 20px;
  }

  .p-cooperation-grid__item {
    width: calc(50% - 10px);
  }
}

.c-cooperation-card {
  display: block;
}

.c-cooperation-card__text {
  background-color: var(--color-primary);
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  text-align: center;
  padding: 15px 15px;
  line-height: calc(30 / 16);
  position: relative;
  border-radius: 60px;
  width: min(272px, 100%);
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 768px) {
  .c-cooperation-card__text {
    font-size: 13px;
    line-height: calc(19 / 13);
    min-height: 54px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
    padding-top: 5px;
    padding-bottom: 5px;
  }
}
.c-cooperation-card__text .-parts {
  display: inline-block;
}

.c-cooperation-card__text::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  translate: -50% 100%;
  width: 16px;
  height: 15px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='15' viewBox='0 0 16 15'%3E%3Cpath d='M0,0H16a0,0,0,0,1,0,0V10a5,5,0,0,1-5,5H5a5,5,0,0,1-5-5V0A0,0,0,0,1,0,0Z' fill='%2339b382'/%3E%3C/svg%3E")
    no-repeat center / contain;
}

.c-cooperation-card__thumbnail {
  overflow: hidden;
  margin-top: 18px;
}

.c-cooperation-card__thumbnail .-img {
  width: 100%;
  height: auto;
  display: block;
  transition: scale 0.3s;
}

.c-cooperation-card:hover .c-cooperation-card__thumbnail .-img {
  scale: 1.04;
}
}

@layer page {

/* ============================================
   パートナー一覧・詳細ページ レイアウト
   social.css と同一のレイアウト構造
   ============================================ */

/* --- ヘッダー --- */
.p-partner-header {
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}

.p-partner-header__inner {
  max-width: 1328px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 80px;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .p-partner-header__inner {
    padding-top: 35px;
  }
}

.p-partner-header__message {
  display: grid;
  place-items: center;
}

.p-partner-header__visual {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 25px;
  flex-direction: column;
  margin-top: 20px;
}

@media screen and (max-width: 768px) {
  .p-partner-header__visual {
    gap: 15px;
  }
}

.p-partner-header__photo .-img {
  height: auto;
  border-radius: 10px;
  height: 245px;
}

@media screen and (max-width: 768px) {
  .p-partner-header__photo .-img {
    height: 165px;
  }
}

.p-partner-header__message .-img {
  width: auto;
}

@media screen and (max-width: 768px) {
  .p-partner-header__message .-img {
    width: calc(337 / 375 * 100vw);
  }
}

.p-partner-header__heading {
  font-size: 37px;
  font-weight: 700;
  color: var(--color-primary);
  margin-top: 20px;
  border-bottom: 2px solid var(--color-primary);
  text-align: left;
}

@media screen and (max-width: 768px) {
  .p-partner-header__heading {
    font-size: 19px;
    margin-top: 25px;
    padding-bottom: 5px;
  }
}

/* --- 2カラムレイアウト --- */
.p-partner-wrap__body {
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}

.p-partner-wrap__layout {
  max-width: 1328px;
  margin-left: auto;
  margin-right: auto;
  display: grid;
  grid-template-columns: 1fr 325px;
  padding-top: 40px;
  padding-bottom: 80px;
}
@media screen and (max-width: 1024px) {
  .p-partner-wrap__layout {
    grid-template-columns: 1fr 240px;
    padding-top: 20px;
    padding-bottom: 60px;
  }
}

@media screen and (max-width: 768px) {
  .p-partner-wrap__layout {
    grid-template-columns: 1fr;
    row-gap: 45px;
  }
}

.p-partner-wrap__layout > *:nth-child(1) {
  padding-right: 6.5%;
}
.p-partner-wrap__layout > *:nth-child(2) {
  padding-top: 30px;
}

@media screen and (max-width: 768px) {
  .p-partner-wrap__layout > *:nth-child(2) {
    padding-top: unset;
  }
}

@media screen and (max-width: 1024px) {
  .p-partner-wrap__layout > *:nth-child(1) {
    padding-left: unset;
  }
}
@media screen and (max-width: 768px) {
  .p-partner-wrap__layout > *:nth-child(1) {
    padding-left: unset;
    padding-right: unset;
    order: 2;
  }
}

/* --- 記事一覧 --- */
.p-partner-body__month-heading {
  padding-bottom: 5px;
}

.p-partner-body__month-heading:not(:first-child) {
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  .p-partner-body__month-heading:not(:first-child) {
    margin-top: 30px;
  }
}

.p-partner-body__item {
  border-bottom: 1px dashed #707070;
}

.p-partner-body__pagination {
  margin-top: 115px;
}

@media screen and (max-width: 768px) {
  .p-partner-body__pagination {
    margin-top: 100px;
  }
}

/* --- 個別記事 --- */
.p-partner-single__title {
  color: var(--color-primary);
  font-size: 26px;
  line-height: calc(39 / 26);
  font-weight: 700;
  margin-top: 20px;
}
@media screen and (max-width: 1024px) {
  .p-partner-single__title {
    font-size: 20px;
    line-height: calc(28 / 20);
  }
}

.p-partner-single__body {
  padding-top: 20px;
}

.p-partner-single__navigation {
  margin-top: 100px;
}

@media screen and (max-width: 768px) {
  .p-partner-single__navigation {
    margin-top: 60px;
  }
}

.p-partner-single__pager {
  margin-top: 40px;
}

/* --- ログインフォーム --- */
.c-partner-login {
  display: flex;
  justify-content: center;
  padding-top: 120px;
  padding-bottom: 120px;
}

@media screen and (max-width: 768px) {
  .c-partner-login {
    padding-top: 90px;
    padding-bottom: 210px;
  }
}

.c-partner-login__inner {
  width: 100%;
  max-width: 372px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.c-partner-login__photo .-img {
  width: 100%;
  height: auto;
  border-radius: 10px;
  margin: 0 auto;
  display: block;
  height: 245px;
}

.c-partner-login__heading {
  margin-top: 50px;
  font-size: 20px;
  font-weight: 700;
  text-align: center;
}

.c-partner-login__error {
  color: #d63638;
  font-weight: 700;
  margin-bottom: 15px;
  font-size: 14px;
}

.c-partner-login__form {
  margin-top: 10px;
  width: 100%;
}

.c-partner-login__input {
  width: 100%;
  padding: 9px 1em;
  border: 1px solid #c3c3c3;
  border-radius: 6px;
  font-size: 16px;
  transition: border-color 0.3s;
  box-sizing: border-box;
  width: min(372px, 100%);
  margin-left: auto;
  margin-right: auto;
}

.c-partner-login__input:focus {
  border-color: var(--color-primary);
  outline: none;
}

.c-partner-login__submit {
  margin-top: 60px;
  display: inline-block;
  background-color: var(--color-primary);
  width: min(272px, 100%);
  color: #fff;
  padding: 10px 30px;
  font-size: 26px;
  font-weight: 700;
  border-radius: 60px;
  cursor: pointer;
  transition: opacity 0.3s;
}

.c-partner-login__submit:hover {
  opacity: 0.7;
}

.c-partner-login__back {
  margin-top: 20px;
  display: inline-block;
  background-color: #f9f8f4;
  color: var(--color-primary);
  width: min(272px, 100%);
  padding: 10px 30px;
  font-size: 26px;
  font-weight: 700;
  border-radius: 60px;
  cursor: pointer;
  transition: opacity 0.3s;
}

.c-partner-login__back:hover {
  opacity: 0.7;
}

/* --- サイドバー --- */
.s-sidebar-partner__inner {
  display: flex;
  flex-direction: column;
  row-gap: 65px;
}

.s-sidebar-partner__row {
  position: relative;
  background-color: #f8ffe3;
  padding: 30px 10% 25px;
  border-radius: 10px;
}

@media screen and (max-width: 768px) {
  .s-sidebar-partner__row {
    padding: 17px 5% 17px;
  }
}

.s-sidebar-partner__heading {
  position: absolute;
  top: 0;
  left: 50%;
  translate: -50% -50%;
  color: white;
  font-weight: 700;
  background-color: var(--color-primary);
  width: 100%;
  max-width: 203px;
  display: grid;
  place-items: center;
  min-height: 43px;
  border-radius: 10px;
}

@media screen and (max-width: 768px) {
  .s-sidebar-partner__heading {
    display: none;
  }
}

.s-sidebar-partner__subheading {
  font-size: 16px;
  color: #39b382;
  display: none;
  font-weight: 500;
  padding-bottom: 5px;
}

@media screen and (max-width: 768px) {
  .s-sidebar-partner__subheading {
    display: revert;
  }
}

.s-sidebar-partner__date-select {
  padding-top: 10px;
}

@media screen and (max-width: 768px) {
  .s-sidebar-partner__date-select {
    padding-top: 0;
  }
}
}

@layer javascript {
.js-animation._top-fade {
  opacity: 0;
}
.js-animation._top-fade._active {
  animation-name: top-fade;
  animation-duration: 1.2s;
  animation-delay: 0.7s;
  animation-fill-mode: forwards;
}

@keyframes top-fade {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}
}

@layer utility {

.u-visually-hidden {
  border: 0 !important;
  clip: rect(0 0 0 0) !important;
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important;
}

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

.u-overflow-hidden {
  overflow: hidden;
}

.u-clamp-text {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: var(--line-clamp);
  overflow: hidden;
  text-overflow: ellipsis;
}

.u-clear-fix::after {
  clear: both;
  content: "";
  display: table;
}


@media screen and (max-width: 475px) {
  .u-xs-hidden {
    display: none;
  }
}
.u-xs-visible {
  display: none;
}
@media screen and (max-width: 475px) {
  .u-xs-visible {
    display: revert;
  }
}



@media screen and (max-width: 768px) {
  .u-md-hidden {
    display: none;
  }
}
.u-md-visible {
  display: none;
}
@media screen and (max-width: 768px) {
  .u-md-visible {
    display: revert;
  }
}
@media screen and (max-width: 1024px) {
  .u-lg-hidden {
    display: none;
  }
}
.u-lg-visible {
  display: none;
}
@media screen and (max-width: 1024px) {
  .u-lg-visible {
    display: revert;
  }
}

@media screen and (max-width: 1280px) {
  .u-xl-hidden {
    display: none;
  }
}
.u-xl-visible {
  display: none;
}
@media screen and (max-width: 1280px) {
  .u-xl-visible {
    display: revert;
  }
}

.u-ib {
  display: inline-block;
}

/* 一時的処理 */

.p-top-social {
  padding-top: min(160px, calc(200 / 1920 * 100%));
  padding-bottom: min(50px, calc(50 / 1920 * 100%));
}

@media screen and (max-width: 768px) {
  .p-top-social {
    padding-top: clamp(100px, calc(100 / 375 * 100%), 140px);
  }
}
}
