@charset "UTF-8";
/*
 * style.css
 */
/*
 * style.css
 */
/* ==========================================================
!HTML5 elements
========================================================== */
header,
footer,
nav,
main,
section,
aside,
article {
  display: block;
}

figure,
figcaption {
  margin: 0;
  padding: 0;
}

/* ==========================================================
!Reseting
========================================================== */
/* 全ての要素のbox-sizingをデフォルトでborder-boxにする */
:root {
  box-sizing: border-box;
}

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

html,
body {
  overflow-x: hidden;
}

body {
  color: #222222;
  font-family: -apple-system, BlinkMacSystemFont, "Noto Sans JP", "YuGothic", "游ゴシック体", "Yu Gothic", "游ゴシック", "ヒラギノ角ゴシック", "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
  font-size: 87.5%;
  font-size: clamp(75%, 3.7333333333vmin, 87.5%);
  font-weight: 400;
  font-feature-settings: "palt";
  letter-spacing: 0.025em;
  line-height: 1.75;
  text-size-adjust: none;
  overflow-scrolling: touch;
}

/* Hack for Safari 7.1-8.0 */
_::-webkit-full-page-media,
_:future,
:root body {
  font-feature-settings: "pkna";
}

/* 769px以上（タブレット） */
@media only screen and (min-width: 769px), print {
  body {
    font-size: 93.75%;
  }
}
body,
div,
pre,
p,
blockquote,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
form,
fieldset,
th,
td {
  margin: 0;
  padding: 0;
}

input,
textarea {
  margin: 0;
  font-size: 100%;
}

label {
  cursor: pointer;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 100%;
}

fieldset,
img {
  border: 0;
}

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

address,
caption,
cite,
code,
dfn,
em,
th,
var {
  font-weight: normal;
  font-style: normal;
}

ol,
ul {
  list-style: none;
}

caption,
th {
  text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 100%;
  font-weight: 500;
}

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

a,
input {
  /* outline: none; */
}

abbr,
acronym {
  border: 0;
}

/* ==========================================================
!Clearfix
========================================================== */
.clearfix:after {
  display: block;
  clear: both;
  content: "";
}

/* ==========================================================
!Layout
========================================================== */
html {
  overflow-y: scroll;
  overflow-x: hidden;
}

body.is-open {
  position: fixed;
  overflow: hidden;
  width: 100%;
}

@media print {
  html,
  html body {
    *zoom: 0.65;
  }
}
/* ==========================================================
!Skip nav
========================================================== */
#skipnav {
  display: none;
}
@media only screen and (min-width: 960px), print {
  #skipnav {
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
    overflow: hidden;
    background-color: #000000;
    color: #fff;
    font-size: 12px;
  }
  #skipnav:focus {
    z-index: 100000;
  }
}

#anchor-main {
  font-size: 0;
  outline: 0;
}

.effect {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 1s, transform 1s;
}
.effect.u-active {
  opacity: 1;
  transform: translateY(0);
}

[data-delay="100"] {
  transition-delay: 100ms;
}

[data-delay="200"] {
  transition-delay: 200ms;
}

[data-delay="300"] {
  transition-delay: 300ms;
}

[data-delay="400"] {
  transition-delay: 400ms;
}

[data-delay="500"] {
  transition-delay: 500ms;
}

/**
 * Colors
 */
/**
 * Breakpoints & Media Queries
 */
/**
 * SCSS Variables.
 *
 * Please use variables from this sheet to ensure consistency across the UI.
 * Don't add to this sheet unless you're pretty sure the value will be reused in many places.
 * For example, don't add rules to this sheet that affect block visuals. It's purely for UI.
 */
/**
 * Colors
 */
/**
 * Fonts & basic variables.
 */
/**
 * Grid System.
 * https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/
 */
/**
 * Dimensions.
 */
/**
 * Shadows.
 */
/**
 * Editor widths.
 */
/**
 * Block & Editor UI.
 */
/**
 * Block paddings.
 */
/**
 * React Native specific.
 * These variables do not appear to be used anywhere else.
 */
/**
*  Converts a hex value into the rgb equivalent.
*
* @param {string} hex - the hexadecimal value to convert
* @return {string} comma separated rgb values
*/
/**
 * Breakpoint mixins
 */
/**
 * Long content fade mixin
 *
 * Creates a fading overlay to signify that the content is longer
 * than the space allows.
 */
/**
 * Focus styles.
 */
/**
 * Applies editor left position to the selector passed as argument
 */
/**
 * Styles that are reused verbatim in a few places
 */
/**
 * Allows users to opt-out of animations via OS-level preferences.
 */
/**
 * Reset default styles for JavaScript UI based pages.
 * This is a WP-admin agnostic reset
 */
/**
 * Reset the WP Admin page styles for Gutenberg-like pages.
 */
.wp-block-archives-dropdown label {
  display: block;
}

.wp-block-audio {
  margin: 0 0 1em 0;
}

.wp-block-audio figcaption {
  margin-top: 0.5em;
  margin-bottom: 1em;
}

.wp-block-audio audio {
  width: 100%;
  min-width: 300px;
}

.wp-block-button__link {
  color: #fff;
  background-color: #32373c;
  border-radius: 9999px;
  box-shadow: none;
  cursor: pointer;
  display: inline-block;
  font-size: 1.125em;
  padding: calc(0.667em + 2px) calc(1.333em + 2px);
  text-align: center;
  text-decoration: none;
  word-break: break-word;
  box-sizing: border-box;
}

.wp-block-button__link:hover, .wp-block-button__link:focus, .wp-block-button__link:active, .wp-block-button__link:visited {
  color: #fff;
}

.wp-block-button__link.aligncenter {
  text-align: center;
}

.wp-block-button__link.alignright {
  /*rtl:ignore*/
  text-align: right;
}

.wp-block-buttons > .wp-block-button.has-custom-width {
  max-width: none;
}

.wp-block-buttons > .wp-block-button.has-custom-width .wp-block-button__link {
  width: 100%;
}

.wp-block-buttons > .wp-block-button.has-custom-font-size .wp-block-button__link {
  font-size: inherit;
}

.wp-block-buttons > .wp-block-button.wp-block-button__width-25 {
  width: calc(25% - var(--wp--style--block-gap, 0.5em) * 0.75);
}

.wp-block-buttons > .wp-block-button.wp-block-button__width-50 {
  width: calc(50% - var(--wp--style--block-gap, 0.5em) * 0.5);
}

.wp-block-buttons > .wp-block-button.wp-block-button__width-75 {
  width: calc(75% - var(--wp--style--block-gap, 0.5em) * 0.25);
}

.wp-block-buttons > .wp-block-button.wp-block-button__width-100 {
  width: 100%;
  flex-basis: 100%;
}

.wp-block-buttons.is-vertical > .wp-block-button.wp-block-button__width-25 {
  width: 25%;
}

.wp-block-buttons.is-vertical > .wp-block-button.wp-block-button__width-50 {
  width: 50%;
}

.wp-block-buttons.is-vertical > .wp-block-button.wp-block-button__width-75 {
  width: 75%;
}

.wp-block-button.is-style-squared,
.wp-block-button__link.wp-block-button.is-style-squared {
  border-radius: 0;
}

.wp-block-button.no-border-radius,
.wp-block-button__link.no-border-radius {
  border-radius: 0 !important;
}

.is-style-outline > :where(.wp-block-button__link),
:where(.wp-block-button__link).is-style-outline {
  border: 2px solid currentColor;
  padding: 0.667em 1.333em;
}

.is-style-outline > .wp-block-button__link:not(.has-text-color),
.wp-block-button__link.is-style-outline:not(.has-text-color) {
  color: currentColor;
}

.is-style-outline > .wp-block-button__link:not(.has-background),
.wp-block-button__link.is-style-outline:not(.has-background) {
  background-color: transparent;
}

.wp-block-buttons {
  /* stylelint-disable indentation */
}

.wp-block-buttons.is-vertical {
  flex-direction: column;
}

.wp-block-buttons.is-vertical > .wp-block-button:last-child {
  margin-bottom: 0;
}

.wp-block-buttons > .wp-block-button {
  display: inline-block;
  margin: 0;
}

.wp-block-buttons.is-content-justification-left {
  justify-content: flex-start;
}

.wp-block-buttons.is-content-justification-left.is-vertical {
  align-items: flex-start;
}

.wp-block-buttons.is-content-justification-center {
  justify-content: center;
}

.wp-block-buttons.is-content-justification-center.is-vertical {
  align-items: center;
}

.wp-block-buttons.is-content-justification-right {
  justify-content: flex-end;
}

.wp-block-buttons.is-content-justification-right.is-vertical {
  align-items: flex-end;
}

.wp-block-buttons.is-content-justification-space-between {
  justify-content: space-between;
}

.wp-block-buttons.aligncenter {
  text-align: center;
}

.wp-block-buttons:not(.is-content-justification-space-between,
.is-content-justification-right,
.is-content-justification-left,
.is-content-justification-center) .wp-block-button.aligncenter {
  /* stylelint-enable indentation */
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}

.wp-block-button.aligncenter {
  text-align: center;
}

.wp-block-calendar {
  text-align: center;
}

.wp-block-calendar th,
.wp-block-calendar tbody td {
  padding: 0.25em;
  border: 1px solid #ddd;
}

.wp-block-calendar tfoot td {
  border: none;
}

.wp-block-calendar table {
  width: 100%;
  border-collapse: collapse;
}

.wp-block-calendar table th {
  font-weight: 400;
  background: #ddd;
}

.wp-block-calendar a {
  text-decoration: underline;
}

.wp-block-calendar table tbody,
.wp-block-calendar table caption {
  color: #40464d;
}

.wp-block-categories.alignleft {
  /*rtl:ignore*/
  margin-right: 2em;
}

.wp-block-categories.alignright {
  /*rtl:ignore*/
  margin-left: 2em;
}

.wp-block-code code {
  display: block;
  white-space: pre-wrap;
  overflow-wrap: break-word;
}

.wp-block-columns {
  display: flex;
  margin-bottom: 1.75em;
  box-sizing: border-box;
  flex-wrap: wrap;
  /**
  * All Columns Alignment
  */
}

@media (min-width: 782px) {
  .wp-block-columns {
    flex-wrap: nowrap;
  }
}
.wp-block-columns:where(.has-background) {
  padding: 1.25em 2.375em;
}

.wp-block-columns.are-vertically-aligned-top {
  align-items: flex-start;
}

.wp-block-columns.are-vertically-aligned-center {
  align-items: center;
}

.wp-block-columns.are-vertically-aligned-bottom {
  align-items: flex-end;
}

@media (max-width: 599px) {
  .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
    flex-basis: 100% !important;
  }
}
@media (min-width: 600px) and (max-width: 781px) {
  .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column:not(:only-child) {
    flex-basis: calc(50% - var(--wp--style--block-gap, 2em) / 2) !important;
    flex-grow: 0;
  }
  .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column:nth-child(even) {
    margin-left: var(--wp--style--block-gap, 2em);
  }
}
@media (min-width: 782px) {
  .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
    flex-basis: 0;
    flex-grow: 1;
  }
  .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column[style*=flex-basis] {
    flex-grow: 0;
  }
  .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column:not(:first-child) {
    margin-left: var(--wp--style--block-gap, 2em);
  }
}
.wp-block-columns.is-not-stacked-on-mobile {
  flex-wrap: nowrap;
}

.wp-block-columns.is-not-stacked-on-mobile > .wp-block-column {
  flex-basis: 0;
  flex-grow: 1;
}

.wp-block-columns.is-not-stacked-on-mobile > .wp-block-column[style*=flex-basis] {
  flex-grow: 0;
}

.wp-block-columns.is-not-stacked-on-mobile > .wp-block-column:not(:first-child) {
  margin-left: var(--wp--style--block-gap, 2em);
}

.wp-block-column {
  flex-grow: 1;
  min-width: 0;
  word-break: break-word;
  overflow-wrap: break-word;
  /**
  * Individual Column Alignment
  */
}

.wp-block-column.is-vertically-aligned-top {
  align-self: flex-start;
}

.wp-block-column.is-vertically-aligned-center {
  align-self: center;
}

.wp-block-column.is-vertically-aligned-bottom {
  align-self: flex-end;
}

.wp-block-column.is-vertically-aligned-top, .wp-block-column.is-vertically-aligned-center, .wp-block-column.is-vertically-aligned-bottom {
  width: 100%;
}

.wp-block-cover-image,
.wp-block-cover {
  position: relative;
  background-size: cover;
  background-position: center center;
  min-height: 430px;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1em;
  box-sizing: border-box;
  /**
   * Set a default background color for has-background-dim _unless_ it includes another
   * background-color class (e.g. has-green-background-color). The presence of another
   * background-color class implies that another style will provide the background color
   * for the overlay.
   *
   * See:
   *   - Issue with background color specificity: https://github.com/WordPress/gutenberg/issues/26545
   *   - Issue with alternative fix: https://github.com/WordPress/gutenberg/issues/26545
   */
}

.wp-block-cover-image.has-parallax,
.wp-block-cover.has-parallax {
  background-attachment: fixed;
}

@supports (-webkit-overflow-scrolling: touch) {
  .wp-block-cover-image.has-parallax,
  .wp-block-cover.has-parallax {
    background-attachment: scroll;
  }
}
@media (prefers-reduced-motion: reduce) {
  .wp-block-cover-image.has-parallax,
  .wp-block-cover.has-parallax {
    background-attachment: scroll;
  }
}
.wp-block-cover-image.is-repeated,
.wp-block-cover.is-repeated {
  background-repeat: repeat;
  background-size: auto;
}

.wp-block-cover-image.has-background-dim:not([class*=-background-color]),
.wp-block-cover-image .has-background-dim:not([class*=-background-color]),
.wp-block-cover.has-background-dim:not([class*=-background-color]),
.wp-block-cover .has-background-dim:not([class*=-background-color]) {
  background-color: #000;
}

.wp-block-cover-image.has-background-dim::before,
.wp-block-cover-image .has-background-dim::before,
.wp-block-cover.has-background-dim::before,
.wp-block-cover .has-background-dim::before {
  content: "";
  background-color: inherit;
}

.wp-block-cover-image.has-background-dim:not(.has-background-gradient)::before,
.wp-block-cover-image .has-background-dim:not(.has-background-gradient)::before,
.wp-block-cover-image .wp-block-cover__gradient-background,
.wp-block-cover.has-background-dim:not(.has-background-gradient)::before,
.wp-block-cover .has-background-dim:not(.has-background-gradient)::before,
.wp-block-cover .wp-block-cover__gradient-background {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 1;
  opacity: 0.5;
}

.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-0,
.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-0 {
  opacity: 0;
}

.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-10,
.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-10 {
  opacity: 0.1;
}

.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-20,
.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-20 {
  opacity: 0.2;
}

.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-30,
.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-30 {
  opacity: 0.3;
}

.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-40,
.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-40 {
  opacity: 0.4;
}

.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-50,
.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-50 {
  opacity: 0.5;
}

.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-60,
.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-60 {
  opacity: 0.6;
}

.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-70,
.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-70 {
  opacity: 0.7;
}

.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-80,
.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-80 {
  opacity: 0.8;
}

.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-90,
.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-90 {
  opacity: 0.9;
}

.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-100,
.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-100 {
  opacity: 1;
}

.wp-block-cover-image.alignleft, .wp-block-cover-image.alignright,
.wp-block-cover.alignleft,
.wp-block-cover.alignright {
  max-width: 420px;
  width: 100%;
}

.wp-block-cover-image::after,
.wp-block-cover::after {
  display: block;
  content: "";
  font-size: 0;
  min-height: inherit;
}

@supports (position: sticky) {
  .wp-block-cover-image::after,
  .wp-block-cover::after {
    content: none;
  }
}
.wp-block-cover-image.aligncenter, .wp-block-cover-image.alignleft, .wp-block-cover-image.alignright,
.wp-block-cover.aligncenter,
.wp-block-cover.alignleft,
.wp-block-cover.alignright {
  display: flex;
}

.wp-block-cover-image .wp-block-cover__inner-container,
.wp-block-cover .wp-block-cover__inner-container {
  width: 100%;
  z-index: 1;
  color: #fff;
}

.wp-block-cover-image.is-light .wp-block-cover__inner-container,
.wp-block-cover.is-light .wp-block-cover__inner-container {
  color: #000;
}

.wp-block-cover-image p:not(.has-text-color),
.wp-block-cover-image h1:not(.has-text-color),
.wp-block-cover-image h2:not(.has-text-color),
.wp-block-cover-image h3:not(.has-text-color),
.wp-block-cover-image h4:not(.has-text-color),
.wp-block-cover-image h5:not(.has-text-color),
.wp-block-cover-image h6:not(.has-text-color),
.wp-block-cover p:not(.has-text-color),
.wp-block-cover h1:not(.has-text-color),
.wp-block-cover h2:not(.has-text-color),
.wp-block-cover h3:not(.has-text-color),
.wp-block-cover h4:not(.has-text-color),
.wp-block-cover h5:not(.has-text-color),
.wp-block-cover h6:not(.has-text-color) {
  color: inherit;
}

.wp-block-cover-image.is-position-top-left,
.wp-block-cover.is-position-top-left {
  align-items: flex-start;
  justify-content: flex-start;
}

.wp-block-cover-image.is-position-top-center,
.wp-block-cover.is-position-top-center {
  align-items: flex-start;
  justify-content: center;
}

.wp-block-cover-image.is-position-top-right,
.wp-block-cover.is-position-top-right {
  align-items: flex-start;
  justify-content: flex-end;
}

.wp-block-cover-image.is-position-center-left,
.wp-block-cover.is-position-center-left {
  align-items: center;
  justify-content: flex-start;
}

.wp-block-cover-image.is-position-center-center,
.wp-block-cover.is-position-center-center {
  align-items: center;
  justify-content: center;
}

.wp-block-cover-image.is-position-center-right,
.wp-block-cover.is-position-center-right {
  align-items: center;
  justify-content: flex-end;
}

.wp-block-cover-image.is-position-bottom-left,
.wp-block-cover.is-position-bottom-left {
  align-items: flex-end;
  justify-content: flex-start;
}

.wp-block-cover-image.is-position-bottom-center,
.wp-block-cover.is-position-bottom-center {
  align-items: flex-end;
  justify-content: center;
}

.wp-block-cover-image.is-position-bottom-right,
.wp-block-cover.is-position-bottom-right {
  align-items: flex-end;
  justify-content: flex-end;
}

.wp-block-cover-image.has-custom-content-position.has-custom-content-position .wp-block-cover__inner-container,
.wp-block-cover.has-custom-content-position.has-custom-content-position .wp-block-cover__inner-container {
  margin: 0;
  width: auto;
}

.wp-block-cover-image img.wp-block-cover__image-background,
.wp-block-cover-image video.wp-block-cover__video-background,
.wp-block-cover img.wp-block-cover__image-background,
.wp-block-cover video.wp-block-cover__video-background {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  -o-object-fit: cover;
  object-fit: cover;
  outline: none;
  border: none;
  box-shadow: none;
}

.wp-block-cover__video-background {
  z-index: 0;
}

.wp-block-cover__image-background {
  z-index: 0;
}

section.wp-block-cover-image h2,
.wp-block-cover-image-text,
.wp-block-cover-text {
  color: #fff;
}

section.wp-block-cover-image h2 a,
section.wp-block-cover-image h2 a:hover,
section.wp-block-cover-image h2 a:focus,
section.wp-block-cover-image h2 a:active,
.wp-block-cover-image-text a,
.wp-block-cover-image-text a:hover,
.wp-block-cover-image-text a:focus,
.wp-block-cover-image-text a:active,
.wp-block-cover-text a,
.wp-block-cover-text a:hover,
.wp-block-cover-text a:focus,
.wp-block-cover-text a:active {
  color: #fff;
}

.wp-block-cover-image .wp-block-cover.has-left-content {
  justify-content: flex-start;
}

.wp-block-cover-image .wp-block-cover.has-right-content {
  justify-content: flex-end;
}

section.wp-block-cover-image.has-left-content > h2,
.wp-block-cover-image.has-left-content .wp-block-cover-image-text,
.wp-block-cover.has-left-content .wp-block-cover-text {
  margin-left: 0;
  text-align: left;
}

section.wp-block-cover-image.has-right-content > h2,
.wp-block-cover-image.has-right-content .wp-block-cover-image-text,
.wp-block-cover.has-right-content .wp-block-cover-text {
  margin-right: 0;
  text-align: right;
}

section.wp-block-cover-image > h2,
.wp-block-cover-image .wp-block-cover-image-text,
.wp-block-cover .wp-block-cover-text {
  font-size: 2em;
  line-height: 1.25;
  z-index: 1;
  margin-bottom: 0;
  max-width: 840px;
  padding: 0.44em;
  text-align: center;
}

.wp-block[data-align=left] > [data-type="core/embed"],
.wp-block[data-align=right] > [data-type="core/embed"],
.wp-block-embed.alignleft,
.wp-block-embed.alignright {
  max-width: 360px;
  width: 100%;
}

.wp-block[data-align=left] > [data-type="core/embed"] .wp-block-embed__wrapper,
.wp-block[data-align=right] > [data-type="core/embed"] .wp-block-embed__wrapper,
.wp-block-embed.alignleft .wp-block-embed__wrapper,
.wp-block-embed.alignright .wp-block-embed__wrapper {
  min-width: 280px;
}

.wp-block-cover .wp-block-embed {
  min-width: 320px;
  min-height: 240px;
}

.wp-block-embed {
  margin: 0 0 1em 0;
  overflow-wrap: break-word;
}

.wp-block-embed figcaption {
  margin-top: 0.5em;
  margin-bottom: 1em;
}

.wp-block-embed iframe {
  max-width: 100%;
}

.wp-block-embed__wrapper {
  position: relative;
}

.wp-embed-responsive .wp-has-aspect-ratio .wp-block-embed__wrapper::before {
  content: "";
  display: block;
  padding-top: 50%;
}

.wp-embed-responsive .wp-has-aspect-ratio iframe {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  height: 100%;
  width: 100%;
}

.wp-embed-responsive .wp-embed-aspect-21-9 .wp-block-embed__wrapper::before {
  padding-top: 42.85%;
}

.wp-embed-responsive .wp-embed-aspect-18-9 .wp-block-embed__wrapper::before {
  padding-top: 50%;
}

.wp-embed-responsive .wp-embed-aspect-16-9 .wp-block-embed__wrapper::before {
  padding-top: 56.25%;
}

.wp-embed-responsive .wp-embed-aspect-4-3 .wp-block-embed__wrapper::before {
  padding-top: 75%;
}

.wp-embed-responsive .wp-embed-aspect-1-1 .wp-block-embed__wrapper::before {
  padding-top: 100%;
}

.wp-embed-responsive .wp-embed-aspect-9-16 .wp-block-embed__wrapper::before {
  padding-top: 177.77%;
}

.wp-embed-responsive .wp-embed-aspect-1-2 .wp-block-embed__wrapper::before {
  padding-top: 200%;
}

.wp-block-file {
  margin-bottom: 1.5em;
}

.wp-block-file.aligncenter {
  text-align: center;
}

.wp-block-file.alignright {
  /*rtl:ignore*/
  text-align: right;
}

.wp-block-file .wp-block-file__embed {
  margin-bottom: 1em;
}

.wp-block-file .wp-block-file__button {
  background: #32373c;
  border-radius: 2em;
  color: #fff;
  font-size: 0.8em;
  padding: 0.5em 1em;
}

.wp-block-file a.wp-block-file__button {
  text-decoration: none;
}

.wp-block-file a.wp-block-file__button:hover, .wp-block-file a.wp-block-file__button:visited, .wp-block-file a.wp-block-file__button:focus, .wp-block-file a.wp-block-file__button:active {
  box-shadow: none;
  color: #fff;
  opacity: 0.85;
  text-decoration: none;
}

.wp-block-file * + .wp-block-file__button {
  margin-left: 0.75em;
}

.wp-block-gallery,
.blocks-gallery-grid {
  display: flex;
  flex-wrap: wrap;
  list-style-type: none;
  padding: 0;
  margin: 0;
}

.wp-block-gallery .blocks-gallery-image,
.wp-block-gallery .blocks-gallery-item,
.blocks-gallery-grid .blocks-gallery-image,
.blocks-gallery-grid .blocks-gallery-item {
  margin: 0 1em 1em 0;
  display: flex;
  flex-grow: 1;
  flex-direction: column;
  justify-content: center;
  position: relative;
  width: calc(50% - 1em);
}

.wp-block-gallery .blocks-gallery-image:nth-of-type(even),
.wp-block-gallery .blocks-gallery-item:nth-of-type(even),
.blocks-gallery-grid .blocks-gallery-image:nth-of-type(even),
.blocks-gallery-grid .blocks-gallery-item:nth-of-type(even) {
  margin-right: 0;
}

.wp-block-gallery .blocks-gallery-image figure,
.wp-block-gallery .blocks-gallery-item figure,
.blocks-gallery-grid .blocks-gallery-image figure,
.blocks-gallery-grid .blocks-gallery-item figure {
  margin: 0;
  height: 100%;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
}

.wp-block-gallery .blocks-gallery-image img,
.wp-block-gallery .blocks-gallery-item img,
.blocks-gallery-grid .blocks-gallery-image img,
.blocks-gallery-grid .blocks-gallery-item img {
  display: block;
  max-width: 100%;
  height: auto;
  width: auto;
}

.wp-block-gallery .blocks-gallery-image figcaption,
.wp-block-gallery .blocks-gallery-item figcaption,
.blocks-gallery-grid .blocks-gallery-image figcaption,
.blocks-gallery-grid .blocks-gallery-item figcaption {
  position: absolute;
  bottom: 0;
  width: 100%;
  max-height: 100%;
  overflow: auto;
  padding: 3em 0.77em 0.7em;
  color: #fff;
  text-align: center;
  font-size: 0.8em;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.7) 0, rgba(0, 0, 0, 0.3) 70%, transparent);
  box-sizing: border-box;
  margin: 0;
  z-index: 2;
}

.wp-block-gallery .blocks-gallery-image figcaption img,
.wp-block-gallery .blocks-gallery-item figcaption img,
.blocks-gallery-grid .blocks-gallery-image figcaption img,
.blocks-gallery-grid .blocks-gallery-item figcaption img {
  display: inline;
}

.wp-block-gallery figcaption,
.blocks-gallery-grid figcaption {
  flex-grow: 1;
}

.wp-block-gallery.is-cropped .blocks-gallery-image a,
.wp-block-gallery.is-cropped .blocks-gallery-image img, .wp-block-gallery.is-cropped .blocks-gallery-item a,
.wp-block-gallery.is-cropped .blocks-gallery-item img,
.blocks-gallery-grid.is-cropped .blocks-gallery-image a,
.blocks-gallery-grid.is-cropped .blocks-gallery-image img,
.blocks-gallery-grid.is-cropped .blocks-gallery-item a,
.blocks-gallery-grid.is-cropped .blocks-gallery-item img {
  width: 100%;
  height: 100%;
  flex: 1;
  -o-object-fit: cover;
  object-fit: cover;
}

.wp-block-gallery.columns-1 .blocks-gallery-image, .wp-block-gallery.columns-1 .blocks-gallery-item,
.blocks-gallery-grid.columns-1 .blocks-gallery-image,
.blocks-gallery-grid.columns-1 .blocks-gallery-item {
  width: 100%;
  margin-right: 0;
}

@media (min-width: 600px) {
  .wp-block-gallery.columns-3 .blocks-gallery-image, .wp-block-gallery.columns-3 .blocks-gallery-item,
  .blocks-gallery-grid.columns-3 .blocks-gallery-image,
  .blocks-gallery-grid.columns-3 .blocks-gallery-item {
    width: calc(33.3333333333% - 0.6666666667em);
    margin-right: 1em;
  }
  .wp-block-gallery.columns-4 .blocks-gallery-image, .wp-block-gallery.columns-4 .blocks-gallery-item,
  .blocks-gallery-grid.columns-4 .blocks-gallery-image,
  .blocks-gallery-grid.columns-4 .blocks-gallery-item {
    width: calc(25% - 0.75em);
    margin-right: 1em;
  }
  .wp-block-gallery.columns-5 .blocks-gallery-image, .wp-block-gallery.columns-5 .blocks-gallery-item,
  .blocks-gallery-grid.columns-5 .blocks-gallery-image,
  .blocks-gallery-grid.columns-5 .blocks-gallery-item {
    width: calc(20% - 0.8em);
    margin-right: 1em;
  }
  .wp-block-gallery.columns-6 .blocks-gallery-image, .wp-block-gallery.columns-6 .blocks-gallery-item,
  .blocks-gallery-grid.columns-6 .blocks-gallery-image,
  .blocks-gallery-grid.columns-6 .blocks-gallery-item {
    width: calc(16.6666666667% - 0.8333333333em);
    margin-right: 1em;
  }
  .wp-block-gallery.columns-7 .blocks-gallery-image, .wp-block-gallery.columns-7 .blocks-gallery-item,
  .blocks-gallery-grid.columns-7 .blocks-gallery-image,
  .blocks-gallery-grid.columns-7 .blocks-gallery-item {
    width: calc(14.2857142857% - 0.8571428571em);
    margin-right: 1em;
  }
  .wp-block-gallery.columns-8 .blocks-gallery-image, .wp-block-gallery.columns-8 .blocks-gallery-item,
  .blocks-gallery-grid.columns-8 .blocks-gallery-image,
  .blocks-gallery-grid.columns-8 .blocks-gallery-item {
    width: calc(12.5% - 0.875em);
    margin-right: 1em;
  }
  .wp-block-gallery.columns-1 .blocks-gallery-image:nth-of-type(1n), .wp-block-gallery.columns-1 .blocks-gallery-item:nth-of-type(1n),
  .blocks-gallery-grid.columns-1 .blocks-gallery-image:nth-of-type(1n),
  .blocks-gallery-grid.columns-1 .blocks-gallery-item:nth-of-type(1n) {
    margin-right: 0;
  }
  .wp-block-gallery.columns-2 .blocks-gallery-image:nth-of-type(2n), .wp-block-gallery.columns-2 .blocks-gallery-item:nth-of-type(2n),
  .blocks-gallery-grid.columns-2 .blocks-gallery-image:nth-of-type(2n),
  .blocks-gallery-grid.columns-2 .blocks-gallery-item:nth-of-type(2n) {
    margin-right: 0;
  }
  .wp-block-gallery.columns-3 .blocks-gallery-image:nth-of-type(3n), .wp-block-gallery.columns-3 .blocks-gallery-item:nth-of-type(3n),
  .blocks-gallery-grid.columns-3 .blocks-gallery-image:nth-of-type(3n),
  .blocks-gallery-grid.columns-3 .blocks-gallery-item:nth-of-type(3n) {
    margin-right: 0;
  }
  .wp-block-gallery.columns-4 .blocks-gallery-image:nth-of-type(4n), .wp-block-gallery.columns-4 .blocks-gallery-item:nth-of-type(4n),
  .blocks-gallery-grid.columns-4 .blocks-gallery-image:nth-of-type(4n),
  .blocks-gallery-grid.columns-4 .blocks-gallery-item:nth-of-type(4n) {
    margin-right: 0;
  }
  .wp-block-gallery.columns-5 .blocks-gallery-image:nth-of-type(5n), .wp-block-gallery.columns-5 .blocks-gallery-item:nth-of-type(5n),
  .blocks-gallery-grid.columns-5 .blocks-gallery-image:nth-of-type(5n),
  .blocks-gallery-grid.columns-5 .blocks-gallery-item:nth-of-type(5n) {
    margin-right: 0;
  }
  .wp-block-gallery.columns-6 .blocks-gallery-image:nth-of-type(6n), .wp-block-gallery.columns-6 .blocks-gallery-item:nth-of-type(6n),
  .blocks-gallery-grid.columns-6 .blocks-gallery-image:nth-of-type(6n),
  .blocks-gallery-grid.columns-6 .blocks-gallery-item:nth-of-type(6n) {
    margin-right: 0;
  }
  .wp-block-gallery.columns-7 .blocks-gallery-image:nth-of-type(7n), .wp-block-gallery.columns-7 .blocks-gallery-item:nth-of-type(7n),
  .blocks-gallery-grid.columns-7 .blocks-gallery-image:nth-of-type(7n),
  .blocks-gallery-grid.columns-7 .blocks-gallery-item:nth-of-type(7n) {
    margin-right: 0;
  }
  .wp-block-gallery.columns-8 .blocks-gallery-image:nth-of-type(8n), .wp-block-gallery.columns-8 .blocks-gallery-item:nth-of-type(8n),
  .blocks-gallery-grid.columns-8 .blocks-gallery-image:nth-of-type(8n),
  .blocks-gallery-grid.columns-8 .blocks-gallery-item:nth-of-type(8n) {
    margin-right: 0;
  }
}
.wp-block-gallery .blocks-gallery-image:last-child,
.wp-block-gallery .blocks-gallery-item:last-child,
.blocks-gallery-grid .blocks-gallery-image:last-child,
.blocks-gallery-grid .blocks-gallery-item:last-child {
  margin-right: 0;
}

.wp-block-gallery.alignleft, .wp-block-gallery.alignright,
.blocks-gallery-grid.alignleft,
.blocks-gallery-grid.alignright {
  max-width: 420px;
  width: 100%;
}

.wp-block-gallery.aligncenter .blocks-gallery-item figure,
.blocks-gallery-grid.aligncenter .blocks-gallery-item figure {
  justify-content: center;
}

.wp-block-gallery:not(.is-cropped) .blocks-gallery-item {
  align-self: flex-start;
}

.wp-block-gallery.has-nested-images {
  display: flex;
  flex-wrap: wrap;
}

.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) {
  margin: 0 var(--gallery-block--gutter-size, 16px) var(--gallery-block--gutter-size, 16px) 0;
  width: calc(50% - var(--gallery-block--gutter-size, 16px) / 2);
}

.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image):last-of-type:not(#individual-image) {
  margin-right: 0;
}

.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image):nth-of-type(even) {
  margin-right: 0;
}

.wp-block-gallery.has-nested-images figure.wp-block-image {
  display: flex;
  flex-grow: 1;
  justify-content: center;
  position: relative;
  margin-top: auto;
  margin-bottom: auto;
  flex-direction: column;
}

.wp-block-gallery.has-nested-images figure.wp-block-image > div,
.wp-block-gallery.has-nested-images figure.wp-block-image > a {
  margin: 0;
  flex-direction: column;
  flex-grow: 1;
}

.wp-block-gallery.has-nested-images figure.wp-block-image img {
  display: block;
  height: auto;
  max-width: 100%;
  width: auto;
}

.wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.7) 0, rgba(0, 0, 0, 0.3) 70%, transparent);
  bottom: 0;
  color: #fff;
  font-size: 13px;
  left: 0;
  margin-bottom: 0;
  max-height: 60%;
  overflow: auto;
  padding: 0 8px 8px;
  position: absolute;
  text-align: center;
  width: 100%;
  box-sizing: border-box;
}

.wp-block-gallery.has-nested-images figure.wp-block-image figcaption img {
  display: inline;
}

.wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded > div,
.wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded > a {
  flex: 1 1 auto;
}

.wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded figcaption {
  flex: initial;
  background: none;
  color: inherit;
  margin: 0;
  padding: 10px 10px 9px;
  position: relative;
}

.wp-block-gallery.has-nested-images figcaption {
  flex-grow: 1;
  flex-basis: 100%;
  text-align: center;
}

.wp-block-gallery.has-nested-images:not(.is-cropped) figure.wp-block-image:not(#individual-image) {
  margin-top: 0;
  margin-bottom: auto;
}

.wp-block-gallery.has-nested-images:not(.is-cropped) figure.wp-block-image:not(#individual-image) img {
  margin-bottom: var(--gallery-block--gutter-size, 16px);
}

.wp-block-gallery.has-nested-images:not(.is-cropped) figure.wp-block-image:not(#individual-image) figcaption {
  bottom: var(--gallery-block--gutter-size, 16px);
}

.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) {
  align-self: inherit;
}

.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) > div:not(.components-drop-zone),
.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) > a {
  display: flex;
}

.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) a,
.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) img {
  width: 100%;
  flex: 1 0 0%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.wp-block-gallery.has-nested-images.columns-1 figure.wp-block-image:not(#individual-image) {
  margin-right: 0;
  width: 100%;
}

@media (min-width: 600px) {
  .wp-block-gallery.has-nested-images.columns-3 figure.wp-block-image:not(#individual-image) {
    margin-right: var(--gallery-block--gutter-size, 16px);
    width: calc(33.3333333333% - var(--gallery-block--gutter-size, 16px) * 0.6666666667);
  }
  .wp-block-gallery.has-nested-images.columns-3 figure.wp-block-image:not(#individual-image).is-dragging ~ figure.wp-block-image:not(#individual-image) {
    margin-right: var(--gallery-block--gutter-size, 16px);
  }
  .wp-block-gallery.has-nested-images.columns-4 figure.wp-block-image:not(#individual-image) {
    margin-right: var(--gallery-block--gutter-size, 16px);
    width: calc(25% - var(--gallery-block--gutter-size, 16px) * 0.75);
  }
  .wp-block-gallery.has-nested-images.columns-4 figure.wp-block-image:not(#individual-image).is-dragging ~ figure.wp-block-image:not(#individual-image) {
    margin-right: var(--gallery-block--gutter-size, 16px);
  }
  .wp-block-gallery.has-nested-images.columns-5 figure.wp-block-image:not(#individual-image) {
    margin-right: var(--gallery-block--gutter-size, 16px);
    width: calc(20% - var(--gallery-block--gutter-size, 16px) * 0.8);
  }
  .wp-block-gallery.has-nested-images.columns-5 figure.wp-block-image:not(#individual-image).is-dragging ~ figure.wp-block-image:not(#individual-image) {
    margin-right: var(--gallery-block--gutter-size, 16px);
  }
  .wp-block-gallery.has-nested-images.columns-6 figure.wp-block-image:not(#individual-image) {
    margin-right: var(--gallery-block--gutter-size, 16px);
    width: calc(16.6666666667% - var(--gallery-block--gutter-size, 16px) * 0.8333333333);
  }
  .wp-block-gallery.has-nested-images.columns-6 figure.wp-block-image:not(#individual-image).is-dragging ~ figure.wp-block-image:not(#individual-image) {
    margin-right: var(--gallery-block--gutter-size, 16px);
  }
  .wp-block-gallery.has-nested-images.columns-7 figure.wp-block-image:not(#individual-image) {
    margin-right: var(--gallery-block--gutter-size, 16px);
    width: calc(14.2857142857% - var(--gallery-block--gutter-size, 16px) * 0.8571428571);
  }
  .wp-block-gallery.has-nested-images.columns-7 figure.wp-block-image:not(#individual-image).is-dragging ~ figure.wp-block-image:not(#individual-image) {
    margin-right: var(--gallery-block--gutter-size, 16px);
  }
  .wp-block-gallery.has-nested-images.columns-8 figure.wp-block-image:not(#individual-image) {
    margin-right: var(--gallery-block--gutter-size, 16px);
    width: calc(12.5% - var(--gallery-block--gutter-size, 16px) * 0.875);
  }
  .wp-block-gallery.has-nested-images.columns-8 figure.wp-block-image:not(#individual-image).is-dragging ~ figure.wp-block-image:not(#individual-image) {
    margin-right: var(--gallery-block--gutter-size, 16px);
  }
  .wp-block-gallery.has-nested-images.columns-1 figure.wp-block-image:not(#individual-image):nth-of-type(1n) {
    margin-right: 0;
  }
  .wp-block-gallery.has-nested-images.columns-2 figure.wp-block-image:not(#individual-image):nth-of-type(2n) {
    margin-right: 0;
  }
  .wp-block-gallery.has-nested-images.columns-3 figure.wp-block-image:not(#individual-image):nth-of-type(3n) {
    margin-right: 0;
  }
  .wp-block-gallery.has-nested-images.columns-4 figure.wp-block-image:not(#individual-image):nth-of-type(4n) {
    margin-right: 0;
  }
  .wp-block-gallery.has-nested-images.columns-5 figure.wp-block-image:not(#individual-image):nth-of-type(5n) {
    margin-right: 0;
  }
  .wp-block-gallery.has-nested-images.columns-6 figure.wp-block-image:not(#individual-image):nth-of-type(6n) {
    margin-right: 0;
  }
  .wp-block-gallery.has-nested-images.columns-7 figure.wp-block-image:not(#individual-image):nth-of-type(7n) {
    margin-right: 0;
  }
  .wp-block-gallery.has-nested-images.columns-8 figure.wp-block-image:not(#individual-image):nth-of-type(8n) {
    margin-right: 0;
  }
  .wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image) {
    margin-right: var(--gallery-block--gutter-size, 16px);
    width: calc(33.33% - var(--gallery-block--gutter-size, 16px) * 0.6666666667);
  }
  .wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):nth-of-type(3n+3) {
    margin-right: 0;
  }
  .wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):first-child:nth-last-child(2),
  .wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):first-child:nth-last-child(2) ~ figure.wp-block-image:not(#individual-image) {
    width: calc(50% - var(--gallery-block--gutter-size, 16px) * 0.5);
  }
  .wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):first-child:nth-last-child(1) {
    width: 100%;
  }
}
.wp-block-gallery.has-nested-images.alignleft, .wp-block-gallery.has-nested-images.alignright {
  max-width: 420px;
  width: 100%;
}

.wp-block-gallery.has-nested-images.aligncenter {
  justify-content: center;
}

.wp-block-group {
  box-sizing: border-box;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  overflow-wrap: break-word;
}

h1.has-background,
h2.has-background,
h3.has-background,
h4.has-background,
h5.has-background,
h6.has-background {
  padding: 1.25em 2.375em;
}

.wp-block-image {
  margin: 0 0 1em 0;
}

.wp-block-image img {
  height: auto;
  max-width: 100%;
  vertical-align: bottom;
}

.wp-block-image:not(.is-style-rounded) > a,
.wp-block-image:not(.is-style-rounded) img {
  border-radius: inherit;
}

.wp-block-image.aligncenter {
  text-align: center;
}

.wp-block-image.alignfull img, .wp-block-image.alignwide img {
  height: auto;
  width: 100%;
}

.wp-block-image .alignleft,
.wp-block-image .alignright,
.wp-block-image .aligncenter {
  display: table;
}

.wp-block-image .alignleft > figcaption,
.wp-block-image .alignright > figcaption,
.wp-block-image .aligncenter > figcaption {
  display: table-caption;
  caption-side: bottom;
}

.wp-block-image .alignleft {
  /*rtl:ignore*/
  float: left;
  /*rtl:ignore*/
  margin-left: 0;
  margin-right: 1em;
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}

.wp-block-image .alignright {
  /*rtl:ignore*/
  float: right;
  /*rtl:ignore*/
  margin-right: 0;
  margin-left: 1em;
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}

.wp-block-image .aligncenter {
  margin-left: auto;
  margin-right: auto;
}

.wp-block-image figcaption {
  margin-top: 0.5em;
  margin-bottom: 1em;
}

.wp-block-image.is-style-rounded img {
  border-radius: 9999px;
}

.wp-block-image.is-style-circle-mask img {
  border-radius: 9999px;
}

@supports (-webkit-mask-image: none) or (mask-image: none) or (-webkit-mask-image: none) {
  .wp-block-image.is-style-circle-mask img {
    /* stylelint-disable */
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"><circle cx="50" cy="50" r="50"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"><circle cx="50" cy="50" r="50"/></svg>');
    /* stylelint-enable */
    mask-mode: alpha;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-position: center;
    mask-position: center;
    border-radius: 0;
  }
}
.wp-block-image figure {
  margin: 0;
}

ol.wp-block-latest-comments {
  margin-left: 0;
}

.wp-block-latest-comments .wp-block-latest-comments {
  padding-left: 0;
}

.wp-block-latest-comments__comment {
  line-height: 1.1;
  list-style: none;
  margin-bottom: 1em;
}

.has-avatars .wp-block-latest-comments__comment {
  min-height: 2.25em;
  list-style: none;
}

.has-avatars .wp-block-latest-comments__comment .wp-block-latest-comments__comment-meta,
.has-avatars .wp-block-latest-comments__comment .wp-block-latest-comments__comment-excerpt {
  margin-left: 3.25em;
}

.has-dates .wp-block-latest-comments__comment, .has-excerpts .wp-block-latest-comments__comment {
  line-height: 1.5;
}

.wp-block-latest-comments__comment-excerpt p {
  font-size: 0.875em;
  line-height: 1.8;
  margin: 0.36em 0 1.4em;
}

.wp-block-latest-comments__comment-date {
  display: block;
  font-size: 0.75em;
}

.wp-block-latest-comments .avatar,
.wp-block-latest-comments__comment-avatar {
  border-radius: 1.5em;
  display: block;
  float: left;
  height: 2.5em;
  margin-right: 0.75em;
  width: 2.5em;
}

.wp-block-latest-posts.alignleft {
  /*rtl:ignore*/
  margin-right: 2em;
}

.wp-block-latest-posts.alignright {
  /*rtl:ignore*/
  margin-left: 2em;
}

.wp-block-latest-posts.wp-block-latest-posts__list {
  list-style: none;
  padding-left: 0;
}

.wp-block-latest-posts.wp-block-latest-posts__list li {
  clear: both;
}

.wp-block-latest-posts.is-grid {
  display: flex;
  flex-wrap: wrap;
  padding: 0;
}

.wp-block-latest-posts.is-grid li {
  margin: 0 1.25em 1.25em 0;
  width: 100%;
}

@media (min-width: 600px) {
  .wp-block-latest-posts.columns-2 li {
    width: calc(50% - 1.25em + 0.625em);
  }
  .wp-block-latest-posts.columns-2 li:nth-child(2n) {
    margin-right: 0;
  }
  .wp-block-latest-posts.columns-3 li {
    width: calc(33.3333333333% - 1.25em + 0.4166666667em);
  }
  .wp-block-latest-posts.columns-3 li:nth-child(3n) {
    margin-right: 0;
  }
  .wp-block-latest-posts.columns-4 li {
    width: calc(25% - 1.25em + 0.3125em);
  }
  .wp-block-latest-posts.columns-4 li:nth-child(4n) {
    margin-right: 0;
  }
  .wp-block-latest-posts.columns-5 li {
    width: calc(20% - 1.25em + 0.25em);
  }
  .wp-block-latest-posts.columns-5 li:nth-child(5n) {
    margin-right: 0;
  }
  .wp-block-latest-posts.columns-6 li {
    width: calc(16.6666666667% - 1.25em + 0.2083333333em);
  }
  .wp-block-latest-posts.columns-6 li:nth-child(6n) {
    margin-right: 0;
  }
}
.wp-block-latest-posts__post-date,
.wp-block-latest-posts__post-author {
  display: block;
  font-size: 0.8125em;
}

.wp-block-latest-posts__post-excerpt {
  margin-top: 0.5em;
  margin-bottom: 1em;
}

.wp-block-latest-posts__featured-image a {
  display: inline-block;
}

.wp-block-latest-posts__featured-image img {
  height: auto;
  width: auto;
  max-width: 100%;
}

.wp-block-latest-posts__featured-image.alignleft {
  /*rtl:ignore*/
  margin-right: 1em;
}

.wp-block-latest-posts__featured-image.alignright {
  /*rtl:ignore*/
  margin-left: 1em;
}

.wp-block-latest-posts__featured-image.aligncenter {
  margin-bottom: 1em;
  text-align: center;
}

.block-editor-image-alignment-control__row .components-base-control__field {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.block-editor-image-alignment-control__row .components-base-control__field .components-base-control__label {
  margin-bottom: 0;
}

ol,
ul {
  overflow-wrap: break-word;
}

ol.has-background,
ul.has-background {
  padding: 1.25em 2.375em;
}

.wp-block-media-text {
  /*!rtl:begin:ignore*/
  direction: ltr;
  /*!rtl:end:ignore*/
  display: grid;
  grid-template-columns: 50% 1fr;
  grid-template-rows: auto;
}

.wp-block-media-text.has-media-on-the-right {
  grid-template-columns: 1fr 50%;
}

.wp-block-media-text.is-vertically-aligned-top .wp-block-media-text__content,
.wp-block-media-text.is-vertically-aligned-top .wp-block-media-text__media {
  align-self: start;
}

.wp-block-media-text .wp-block-media-text__content,
.wp-block-media-text .wp-block-media-text__media,
.wp-block-media-text.is-vertically-aligned-center .wp-block-media-text__content,
.wp-block-media-text.is-vertically-aligned-center .wp-block-media-text__media {
  align-self: center;
}

.wp-block-media-text.is-vertically-aligned-bottom .wp-block-media-text__content,
.wp-block-media-text.is-vertically-aligned-bottom .wp-block-media-text__media {
  align-self: end;
}

.wp-block-media-text .wp-block-media-text__media {
  /*!rtl:begin:ignore*/
  grid-column: 1;
  grid-row: 1;
  /*!rtl:end:ignore*/
  margin: 0;
}

.wp-block-media-text .wp-block-media-text__content {
  direction: ltr;
  /*!rtl:begin:ignore*/
  grid-column: 2;
  grid-row: 1;
  /*!rtl:end:ignore*/
  padding: 0 8% 0 8%;
  word-break: break-word;
}

.wp-block-media-text.has-media-on-the-right .wp-block-media-text__media {
  /*!rtl:begin:ignore*/
  grid-column: 2;
  grid-row: 1;
  /*!rtl:end:ignore*/
}

.wp-block-media-text.has-media-on-the-right .wp-block-media-text__content {
  /*!rtl:begin:ignore*/
  grid-column: 1;
  grid-row: 1;
  /*!rtl:end:ignore*/
}

.wp-block-media-text__media img,
.wp-block-media-text__media video {
  height: auto;
  max-width: unset;
  width: 100%;
  vertical-align: middle;
}

.wp-block-media-text.is-image-fill .wp-block-media-text__media {
  height: 100%;
  min-height: 250px;
  background-size: cover;
}

.wp-block-media-text.is-image-fill .wp-block-media-text__media > a {
  display: block;
  height: 100%;
}

.wp-block-media-text.is-image-fill .wp-block-media-text__media img {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

/*
* Here we here not able to use a mobile first CSS approach.
* Custom widths are set using inline styles, and on mobile,
* we need 100% width, so we use important to overwrite the inline style.
* If the style were set on mobile first, on desktop styles,
* we would have no way of setting the style again to the inline style.
*/
@media (max-width: 600px) {
  .wp-block-media-text.is-stacked-on-mobile {
    grid-template-columns: 100% !important;
  }
  .wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__media {
    grid-column: 1;
    grid-row: 1;
  }
  .wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content {
    grid-column: 1;
    grid-row: 2;
  }
}
.wp-block-navigation {
  position: relative;
  --navigation-layout-justification-setting: flex-start;
  --navigation-layout-direction: row;
  --navigation-layout-wrap: wrap;
  --navigation-layout-justify: flex-start;
  --navigation-layout-align: center;
}

.wp-block-navigation ul {
  margin-top: 0;
  margin-bottom: 0;
  margin-left: 0;
  padding-left: 0;
}

.wp-block-navigation ul,
.wp-block-navigation ul li {
  list-style: none;
  padding: 0;
}

.wp-block-navigation .wp-block-navigation-item {
  display: flex;
  align-items: center;
  position: relative;
}

.wp-block-navigation .wp-block-navigation-item .wp-block-navigation__submenu-container:empty {
  display: none;
}

.wp-block-navigation .wp-block-navigation-item__content {
  color: inherit;
  display: block;
  padding: 0;
}

.wp-block-navigation[style*=text-decoration] .wp-block-navigation-item,
.wp-block-navigation[style*=text-decoration] .wp-block-navigation__submenu-container {
  text-decoration: inherit;
}

.wp-block-navigation[style*=text-decoration] a {
  text-decoration: inherit;
}

.wp-block-navigation[style*=text-decoration] a:focus, .wp-block-navigation[style*=text-decoration] a:active {
  text-decoration: inherit;
}

.wp-block-navigation:not([style*=text-decoration]) a {
  text-decoration: none;
}

.wp-block-navigation:not([style*=text-decoration]) a:focus, .wp-block-navigation:not([style*=text-decoration]) a:active {
  text-decoration: none;
}

.wp-block-navigation .wp-block-navigation__submenu-icon {
  align-self: center;
  line-height: 0;
  display: inline-block;
  vertical-align: middle;
  font-size: inherit;
  padding: 0;
  background-color: inherit;
  color: currentColor;
  border: none;
  margin-left: 0.25em;
  width: 0.6em;
  height: 0.6em;
}

.wp-block-navigation .wp-block-navigation__submenu-icon svg {
  display: inline-block;
  stroke: currentColor;
  width: inherit;
  height: inherit;
}

.wp-block-navigation.is-vertical {
  --navigation-layout-direction: column;
  --navigation-layout-justify: initial;
  --navigation-layout-align: flex-start;
}

.wp-block-navigation.no-wrap {
  --navigation-layout-wrap: nowrap;
}

.wp-block-navigation.items-justified-center {
  --navigation-layout-justification-setting: center;
  --navigation-layout-justify: center;
}

.wp-block-navigation.items-justified-center.is-vertical {
  --navigation-layout-align: center;
}

.wp-block-navigation.items-justified-right {
  --navigation-layout-justification-setting: flex-end;
  --navigation-layout-justify: flex-end;
}

.wp-block-navigation.items-justified-right.is-vertical {
  --navigation-layout-align: flex-end;
}

.wp-block-navigation.items-justified-space-between {
  --navigation-layout-justification-setting: space-between;
  --navigation-layout-justify: space-between;
}

.wp-block-navigation .has-child :where(.wp-block-navigation__submenu-container) {
  background-color: inherit;
  color: inherit;
  position: absolute;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: normal;
  opacity: 0;
  transition: opacity 0.1s linear;
  visibility: hidden;
  width: 0;
  height: 0;
  overflow: hidden;
  left: -1px;
  top: 100%;
}

.wp-block-navigation .has-child :where(.wp-block-navigation__submenu-container) > .wp-block-navigation-item > .wp-block-navigation-item__content {
  display: flex;
  flex-grow: 1;
}

.wp-block-navigation .has-child :where(.wp-block-navigation__submenu-container) > .wp-block-navigation-item > .wp-block-navigation-item__content .wp-block-navigation__submenu-icon {
  margin-right: 0;
  margin-left: auto;
}

.wp-block-navigation .has-child :where(.wp-block-navigation__submenu-container) .wp-block-navigation-item__content {
  margin: 0;
}

@media (min-width: 782px) {
  .wp-block-navigation .has-child :where(.wp-block-navigation__submenu-container) .wp-block-navigation__submenu-container {
    left: 100%;
    top: -1px;
  }
  .wp-block-navigation .has-child :where(.wp-block-navigation__submenu-container) .wp-block-navigation__submenu-container::before {
    content: "";
    position: absolute;
    right: 100%;
    height: 100%;
    display: block;
    width: 0.5em;
    background: transparent;
  }
  .wp-block-navigation .has-child :where(.wp-block-navigation__submenu-container) .wp-block-navigation__submenu-icon svg {
    transform: rotate(-90deg);
  }
}
.wp-block-navigation .has-child:where(:not(.open-on-click)):hover > .wp-block-navigation__submenu-container {
  visibility: visible;
  overflow: visible;
  opacity: 1;
  width: auto;
  height: auto;
  min-width: 200px;
}

.wp-block-navigation .has-child:where(:not(.open-on-click):not(.open-on-hover-click)):focus-within > .wp-block-navigation__submenu-container {
  visibility: visible;
  overflow: visible;
  opacity: 1;
  width: auto;
  height: auto;
  min-width: 200px;
}

.wp-block-navigation .has-child .wp-block-navigation-submenu__toggle[aria-expanded=true] + .wp-block-navigation__submenu-container {
  visibility: visible;
  overflow: visible;
  opacity: 1;
  width: auto;
  height: auto;
  min-width: 200px;
}

.wp-block-navigation.has-background .has-child .wp-block-navigation__submenu-container {
  left: 0;
  top: 100%;
}

@media (min-width: 782px) {
  .wp-block-navigation.has-background .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container {
    left: 100%;
    top: 0;
  }
}
.wp-block-navigation-submenu {
  position: relative;
  display: flex;
}

.wp-block-navigation-submenu .wp-block-navigation__submenu-icon svg {
  stroke: currentColor;
}

button.wp-block-navigation-item__content {
  background-color: transparent;
  border: none;
  color: currentColor;
  font-size: inherit;
  font-family: inherit;
  line-height: inherit;
  text-align: left;
}

.wp-block-navigation-submenu__toggle {
  cursor: pointer;
}

/**
 * Margins
 */
.wp-block-navigation,
.wp-block-navigation .wp-block-page-list,
.wp-block-navigation__container,
.wp-block-navigation__responsive-container-content {
  gap: var(--wp--style--block-gap, 2em);
}

.wp-block-navigation:where(.has-background),
.wp-block-navigation:where(.has-background) .wp-block-navigation .wp-block-page-list,
.wp-block-navigation:where(.has-background) .wp-block-navigation__container {
  gap: var(--wp--style--block-gap, 0.5em);
}

/**
 * Paddings
 */
.wp-block-navigation:where(.has-background) .wp-block-navigation-item__content {
  padding: 0.5em 1em;
}

.wp-block-navigation :where(.wp-block-navigation__submenu-container) .wp-block-navigation-item__content {
  padding: 0.5em 1em;
}

/**
 * Justifications.
 */
.wp-block-navigation.items-justified-space-between .wp-block-page-list > .has-child:last-child .wp-block-navigation__submenu-container,
.wp-block-navigation.items-justified-space-between > .wp-block-navigation__container > .has-child:last-child .wp-block-navigation__submenu-container,
.wp-block-navigation.items-justified-right .wp-block-page-list > .has-child .wp-block-navigation__submenu-container,
.wp-block-navigation.items-justified-right .wp-block-navigation__container .has-child .wp-block-navigation__submenu-container {
  left: auto;
  right: 0;
}

.wp-block-navigation.items-justified-space-between .wp-block-page-list > .has-child:last-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,
.wp-block-navigation.items-justified-space-between > .wp-block-navigation__container > .has-child:last-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,
.wp-block-navigation.items-justified-right .wp-block-page-list > .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,
.wp-block-navigation.items-justified-right .wp-block-navigation__container .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container {
  left: -1px;
  right: -1px;
}

@media (min-width: 782px) {
  .wp-block-navigation.items-justified-space-between .wp-block-page-list > .has-child:last-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,
  .wp-block-navigation.items-justified-space-between > .wp-block-navigation__container > .has-child:last-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,
  .wp-block-navigation.items-justified-right .wp-block-page-list > .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,
  .wp-block-navigation.items-justified-right .wp-block-navigation__container .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container {
    left: auto;
    right: 100%;
  }
}
.wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container {
  background-color: #fff;
  color: #000;
  border: 1px solid rgba(0, 0, 0, 0.15);
}

.wp-block-navigation__container {
  display: flex;
  flex-wrap: var(--navigation-layout-wrap, wrap);
  flex-direction: var(--navigation-layout-direction, initial);
  justify-content: var(--navigation-layout-justify, initial);
  align-items: var(--navigation-layout-align, initial);
  list-style: none;
  margin: 0;
  padding-left: 0;
}

.wp-block-navigation__container .is-responsive {
  display: none;
}

.wp-block-navigation__container:only-child,
.wp-block-page-list:only-child {
  flex-grow: 1;
}

/**
 * Mobile menu.
 */
.wp-block-navigation__responsive-container {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content {
  display: flex;
  flex-wrap: var(--navigation-layout-wrap, wrap);
  flex-direction: var(--navigation-layout-direction, initial);
  justify-content: var(--navigation-layout-justify, initial);
  align-items: var(--navigation-layout-align, initial);
}

.wp-block-navigation__responsive-container:not(.is-menu-open.is-menu-open) {
  color: inherit !important;
  background-color: inherit !important;
}

.wp-block-navigation__responsive-container.is-menu-open {
  display: flex;
  flex-direction: column;
  background-color: inherit;
  padding: 2em;
  overflow: auto;
  z-index: 100000;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
  padding-top: calc(2em + 24px);
  overflow: visible;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: var(--navigation-layout-justification-setting, inherit);
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-page-list,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
  justify-content: flex-start;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-icon {
  display: none;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .has-child .submenu-container,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .has-child .wp-block-navigation__submenu-container {
  opacity: 1;
  visibility: visible;
  height: auto;
  width: auto;
  overflow: initial;
  min-width: 200px;
  position: static;
  border: none;
  padding-left: 2em;
  padding-right: 2em;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
  gap: var(--wp--style--block-gap, 2em);
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container {
  padding-top: var(--wp--style--block-gap, 2em);
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content {
  padding: 0;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-page-list {
  display: flex;
  flex-direction: column;
  align-items: var(--navigation-layout-justification-setting, initial);
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item .wp-block-navigation__submenu-container,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-page-list {
  color: inherit !important;
  background: transparent !important;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container.wp-block-navigation__submenu-container.wp-block-navigation__submenu-container.wp-block-navigation__submenu-container {
  right: auto;
  left: auto;
}

@media (min-width: 600px) {
  .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
    display: block;
    width: 100%;
    position: relative;
    z-index: auto;
    background-color: inherit;
  }
  .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) .wp-block-navigation__responsive-container-close {
    display: none;
  }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container.wp-block-navigation__submenu-container.wp-block-navigation__submenu-container.wp-block-navigation__submenu-container {
    left: 0;
  }
}
.wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open {
  background-color: #fff;
  color: #000;
}

.wp-block-navigation__responsive-container-open,
.wp-block-navigation__responsive-container-close {
  vertical-align: middle;
  cursor: pointer;
  color: currentColor;
  background: transparent;
  border: none;
  margin: 0;
  padding: 0;
}

.wp-block-navigation__responsive-container-open svg,
.wp-block-navigation__responsive-container-close svg {
  fill: currentColor;
  pointer-events: none;
  display: block;
  width: 24px;
  height: 24px;
}

.wp-block-navigation__responsive-container-open {
  display: flex;
}

@media (min-width: 600px) {
  .wp-block-navigation__responsive-container-open:not(.always-shown) {
    display: none;
  }
}
.wp-block-navigation__responsive-container-close {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
}

.wp-block-navigation__responsive-close {
  width: 100%;
}

.is-menu-open .wp-block-navigation__responsive-close,
.is-menu-open .wp-block-navigation__responsive-dialog,
.is-menu-open .wp-block-navigation__responsive-container-content {
  box-sizing: border-box;
}

.wp-block-navigation__responsive-dialog {
  position: relative;
}

html.has-modal-open {
  overflow: hidden;
}

.wp-block-navigation .wp-block-navigation-item__label {
  word-break: normal;
  overflow-wrap: break-word;
}

.wp-block-navigation .wp-block-home-link__content {
  color: inherit;
  display: block;
}

.wp-block-navigation[style*=text-decoration] .wp-block-home-link {
  text-decoration: inherit;
}

.wp-block-navigation[style*=text-decoration] .wp-block-home-link__content {
  text-decoration: inherit;
}

.wp-block-navigation[style*=text-decoration] .wp-block-home-link__content:focus, .wp-block-navigation[style*=text-decoration] .wp-block-home-link__content:active {
  text-decoration: inherit;
}

.wp-block-navigation:not([style*=text-decoration]) .wp-block-home-link__content {
  text-decoration: none;
}

.wp-block-navigation:not([style*=text-decoration]) .wp-block-home-link__content:focus, .wp-block-navigation:not([style*=text-decoration]) .wp-block-home-link__content:active {
  text-decoration: none;
}

.wp-block-navigation:not(.has-background) .wp-block-navigation__container .wp-block-home-link__container {
  background-color: #fff;
  color: #000;
  border: 1px solid rgba(0, 0, 0, 0.15);
}

.wp-block-navigation:not(.has-background) .wp-block-navigation__container .wp-block-home-link__container .wp-block-home-link__container {
  top: -1px;
}

.wp-block-navigation .wp-block-page-list {
  display: flex;
  flex-direction: var(--navigation-layout-direction, initial);
  justify-content: var(--navigation-layout-justify, initial);
  align-items: var(--navigation-layout-align, initial);
  flex-wrap: var(--navigation-layout-wrap, wrap);
  background-color: inherit;
}

.wp-block-navigation .wp-block-navigation-item {
  background-color: inherit;
}

.is-small-text {
  font-size: 0.875em;
}

.is-regular-text {
  font-size: 1em;
}

.is-large-text {
  font-size: 2.25em;
}

.is-larger-text {
  font-size: 3em;
}

.has-drop-cap:not(:focus)::first-letter {
  float: left;
  font-size: 8.4em;
  line-height: 0.68;
  font-weight: 100;
  margin: 0.05em 0.1em 0 0;
  text-transform: uppercase;
  font-style: normal;
}

p {
  overflow-wrap: break-word;
}

p.has-drop-cap.has-background {
  overflow: hidden;
}

p.has-background {
  padding: 1.25em 2.375em;
}

:where(p.has-text-color:not(.has-link-color)) a {
  color: inherit;
}

.wp-block-post-author {
  display: flex;
  flex-wrap: wrap;
}

.wp-block-post-author__byline {
  width: 100%;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 0.5em;
}

.wp-block-post-author__avatar {
  margin-right: 1em;
}

.wp-block-post-author__bio {
  margin-bottom: 0.7em;
  font-size: 0.7em;
}

.wp-block-post-author__content {
  flex-grow: 1;
  flex-basis: 0;
}

.wp-block-post-author__name {
  margin: 0;
}

.wp-block-post-comments > h3:first-of-type {
  margin-top: 0;
}

.wp-block-post-comments .commentlist {
  list-style: none;
  margin: 0;
  padding: 0;
}

.wp-block-post-comments .commentlist .comment {
  min-height: 2.25em;
  padding-left: 3.25em;
}

.wp-block-post-comments .commentlist .comment p {
  font-size: 0.875em;
  line-height: 1.8;
  margin: 0.36em 0 1.4em;
}

.wp-block-post-comments .commentlist .children {
  list-style: none;
  margin: 0;
  padding: 0;
}

.wp-block-post-comments .comment-author {
  line-height: 1.5;
}

.wp-block-post-comments .comment-author .avatar {
  border-radius: 1.5em;
  display: block;
  float: left;
  height: 2.5em;
  margin-right: 0.75em;
  width: 2.5em;
}

.wp-block-post-comments .comment-author cite {
  font-style: normal;
}

.wp-block-post-comments .comment-meta {
  line-height: 1.5;
  margin-left: -3.25em;
}

.wp-block-post-comments .comment-body .commentmetadata {
  font-size: 0.75em;
}

.wp-block-post-comments .comment-form-comment label,
.wp-block-post-comments .comment-form-author label,
.wp-block-post-comments .comment-form-email label,
.wp-block-post-comments .comment-form-url label {
  display: block;
  margin-bottom: 0.25em;
}

.wp-block-post-comments .comment-form textarea,
.wp-block-post-comments .comment-form input:not([type=submit]):not([type=checkbox]) {
  display: block;
  box-sizing: border-box;
  width: 100%;
}

.wp-block-post-comments .comment-form-cookies-consent {
  display: flex;
  gap: 0.25em;
}

.wp-block-post-comments .comment-form-cookies-consent #wp-comment-cookies-consent {
  margin-top: 0.35em;
}

.wp-block-post-comments .reply {
  font-size: 0.75em;
  margin-bottom: 1.4em;
}

.wp-block-post-comments textarea,
.wp-block-post-comments input:not([type=submit]) {
  border: 1px solid #949494;
  font-size: 1em;
  font-family: inherit;
}

.wp-block-post-comments textarea,
.wp-block-post-comments input:not([type=submit]):not([type=checkbox]) {
  padding: calc(0.667em + 2px);
}

.wp-block-post-comments input[type=submit] {
  border: none;
}

.wp-block-post-comments-form[style*=font-weight] :where(.comment-reply-title) {
  font-weight: inherit;
}

.wp-block-post-comments-form[style*=font-family] :where(.comment-reply-title) {
  font-family: inherit;
}

.wp-block-post-comments-form[class*=-font-size] :where(.comment-reply-title), .wp-block-post-comments-form[style*=font-size] :where(.comment-reply-title) {
  font-size: inherit;
}

.wp-block-post-comments-form[style*=line-height] :where(.comment-reply-title) {
  line-height: inherit;
}

.wp-block-post-comments-form[style*=font-style] :where(.comment-reply-title) {
  font-style: inherit;
}

.wp-block-post-comments-form[style*=letter-spacing] :where(.comment-reply-title) {
  letter-spacing: inherit;
}

.wp-block-post-comments-form input[type=submit] {
  border: none;
  box-shadow: none;
  cursor: pointer;
  display: inline-block;
  text-align: center;
  overflow-wrap: break-word;
}

.wp-block-post-comments-form textarea,
.wp-block-post-comments-form input:not([type=submit]) {
  border: 1px solid #949494;
  font-size: 1em;
  font-family: inherit;
}

.wp-block-post-comments-form textarea,
.wp-block-post-comments-form input:not([type=submit]):not([type=checkbox]) {
  padding: calc(0.667em + 2px);
}

.wp-block-post-comments-form .comment-form textarea,
.wp-block-post-comments-form .comment-form input:not([type=submit]):not([type=checkbox]) {
  display: block;
  box-sizing: border-box;
  width: 100%;
}

.wp-block-post-comments-form .comment-form-author label,
.wp-block-post-comments-form .comment-form-email label,
.wp-block-post-comments-form .comment-form-url label {
  display: block;
  margin-bottom: 0.25em;
}

.wp-block-post-comments-form .comment-form-cookies-consent {
  display: flex;
  gap: 0.25em;
}

.wp-block-post-comments-form .comment-form-cookies-consent #wp-comment-cookies-consent {
  margin-top: 0.35em;
}

.wp-block-post-excerpt__more-link {
  display: inline-block;
}

.wp-block-post-terms__separator {
  white-space: pre-wrap;
}

.wp-block-post-title a {
  display: inline-block;
}

.wp-block-preformatted {
  white-space: pre-wrap;
}

.wp-block-preformatted.has-background {
  padding: 1.25em 2.375em;
}

.wp-block-pullquote {
  margin: 0 0 1em 0;
  padding: 3em 0;
  text-align: center;
  overflow-wrap: break-word;
}

.wp-block-pullquote p,
.wp-block-pullquote blockquote,
.wp-block-pullquote cite {
  color: inherit;
}

.wp-block-pullquote.has-text-align-left, .wp-block-pullquote.has-text-align-right, .wp-block-pullquote.alignleft, .wp-block-pullquote.alignright {
  max-width: 420px;
}

.wp-block-pullquote.has-text-align-left p, .wp-block-pullquote.has-text-align-right p, .wp-block-pullquote.alignleft p, .wp-block-pullquote.alignright p {
  font-size: 1.25em;
}

.wp-block-pullquote p {
  font-size: 1.75em;
  line-height: 1.6;
}

.wp-block-pullquote cite,
.wp-block-pullquote footer {
  position: relative;
}

.wp-block-pullquote .has-text-color a {
  color: inherit;
}

.wp-block-pullquote.has-text-align-left blockquote {
  text-align: left;
}

.wp-block-pullquote.has-text-align-right blockquote {
  text-align: right;
}

.wp-block-pullquote:not(.is-style-solid-color) {
  background: none;
}

.wp-block-pullquote.is-style-solid-color {
  border: none;
}

.wp-block-pullquote.is-style-solid-color blockquote {
  margin-left: auto;
  margin-right: auto;
  max-width: 60%;
}

.wp-block-pullquote.is-style-solid-color blockquote p {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 2em;
}

.wp-block-pullquote.is-style-solid-color blockquote cite {
  text-transform: none;
  font-style: normal;
}

.wp-block-pullquote cite {
  color: inherit;
}

.wp-block-post-template,
.wp-block-query-loop {
  margin-top: 0;
  margin-bottom: 0;
  max-width: 100%;
  list-style: none;
  padding: 0;
}

.wp-block-post-template.is-flex-container,
.wp-block-query-loop.is-flex-container {
  flex-direction: row;
  display: flex;
  flex-wrap: wrap;
  gap: 1.25em;
}

.wp-block-post-template.is-flex-container li,
.wp-block-query-loop.is-flex-container li {
  margin: 0;
  width: 100%;
}

@media (min-width: 600px) {
  .wp-block-post-template.is-flex-container.is-flex-container.columns-2 > li,
  .wp-block-query-loop.is-flex-container.is-flex-container.columns-2 > li {
    width: calc(50% - 1.25em + 0.625em);
  }
  .wp-block-post-template.is-flex-container.is-flex-container.columns-3 > li,
  .wp-block-query-loop.is-flex-container.is-flex-container.columns-3 > li {
    width: calc(33.3333333333% - 1.25em + 0.4166666667em);
  }
  .wp-block-post-template.is-flex-container.is-flex-container.columns-4 > li,
  .wp-block-query-loop.is-flex-container.is-flex-container.columns-4 > li {
    width: calc(25% - 1.25em + 0.3125em);
  }
  .wp-block-post-template.is-flex-container.is-flex-container.columns-5 > li,
  .wp-block-query-loop.is-flex-container.is-flex-container.columns-5 > li {
    width: calc(20% - 1.25em + 0.25em);
  }
  .wp-block-post-template.is-flex-container.is-flex-container.columns-6 > li,
  .wp-block-query-loop.is-flex-container.is-flex-container.columns-6 > li {
    width: calc(16.6666666667% - 1.25em + 0.2083333333em);
  }
}
.wp-block-query-pagination > .wp-block-query-pagination-next,
.wp-block-query-pagination > .wp-block-query-pagination-previous,
.wp-block-query-pagination > .wp-block-query-pagination-numbers {
  /*rtl:ignore*/
  margin-right: 0.5em;
  margin-bottom: 0.5em;
}

.wp-block-query-pagination > .wp-block-query-pagination-next:last-child,
.wp-block-query-pagination > .wp-block-query-pagination-previous:last-child,
.wp-block-query-pagination > .wp-block-query-pagination-numbers:last-child {
  /*rtl:ignore*/
  margin-right: 0;
}

.wp-block-query-pagination .wp-block-query-pagination-previous-arrow {
  margin-right: 1ch;
  display: inline-block;
}

.wp-block-query-pagination .wp-block-query-pagination-previous-arrow:not(.is-arrow-chevron) {
  transform: scaleX(1);
}

.wp-block-query-pagination .wp-block-query-pagination-next-arrow {
  margin-left: 1ch;
  display: inline-block;
}

.wp-block-query-pagination .wp-block-query-pagination-next-arrow:not(.is-arrow-chevron) {
  transform: scaleX(1);
}

.wp-block-query-pagination.aligncenter {
  justify-content: center;
}

.wp-block-quote {
  overflow-wrap: break-word;
}

.wp-block-quote.is-style-large, .wp-block-quote.is-large {
  margin-bottom: 1em;
  padding: 0 1em;
}

.wp-block-quote.is-style-large p, .wp-block-quote.is-large p {
  font-size: 1.5em;
  font-style: italic;
  line-height: 1.6;
}

.wp-block-quote.is-style-large cite,
.wp-block-quote.is-style-large footer, .wp-block-quote.is-large cite,
.wp-block-quote.is-large footer {
  font-size: 1.125em;
  text-align: right;
}

ul.wp-block-rss {
  list-style: none;
  padding: 0;
}

ul.wp-block-rss.wp-block-rss {
  box-sizing: border-box;
}

ul.wp-block-rss.alignleft {
  /*rtl:ignore*/
  margin-right: 2em;
}

ul.wp-block-rss.alignright {
  /*rtl:ignore*/
  margin-left: 2em;
}

ul.wp-block-rss.is-grid {
  display: flex;
  flex-wrap: wrap;
  padding: 0;
  list-style: none;
}

ul.wp-block-rss.is-grid li {
  margin: 0 1em 1em 0;
  width: 100%;
}

@media (min-width: 600px) {
  ul.wp-block-rss.columns-2 li {
    width: calc(50% - 1em);
  }
  ul.wp-block-rss.columns-3 li {
    width: calc(33.3333333333% - 1em);
  }
  ul.wp-block-rss.columns-4 li {
    width: calc(25% - 1em);
  }
  ul.wp-block-rss.columns-5 li {
    width: calc(20% - 1em);
  }
  ul.wp-block-rss.columns-6 li {
    width: calc(16.6666666667% - 1em);
  }
}
.wp-block-rss__item-publish-date,
.wp-block-rss__item-author {
  display: block;
  font-size: 0.8125em;
}

.wp-block-search__button {
  background: #f7f7f7;
  border: 1px solid #ccc;
  padding: 0.375em 0.625em;
  color: #32373c;
  margin-left: 0.625em;
  word-break: normal;
  font-size: inherit;
  font-family: inherit;
  line-height: inherit;
}

.wp-block-search__button.has-icon {
  line-height: 0;
}

.wp-block-search__button svg {
  min-width: 1.5em;
  min-height: 1.5em;
  fill: currentColor;
}

.wp-block-search__inside-wrapper {
  display: flex;
  flex: auto;
  flex-wrap: nowrap;
  max-width: 100%;
}

.wp-block-search__label {
  width: 100%;
}

.wp-block-search__input {
  padding: 8px;
  flex-grow: 1;
  min-width: 3em;
  border: 1px solid #949494;
  font-size: inherit;
  font-family: inherit;
  line-height: inherit;
}

.wp-block-search.wp-block-search__button-only .wp-block-search__button {
  margin-left: 0;
}

.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper {
  padding: 4px;
  border: 1px solid #949494;
}

.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper .wp-block-search__input {
  border-radius: 0;
  border: none;
  padding: 0 0 0 0.25em;
}

.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper .wp-block-search__input:focus {
  outline: none;
}

.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper .wp-block-search__button {
  padding: 0.125em 0.5em;
}

.wp-block-search.aligncenter .wp-block-search__inside-wrapper {
  margin: auto;
}

.wp-block-separator {
  border-top: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
}

.wp-block-separator.is-style-wide {
  border-bottom-width: 1px;
}

.wp-block-separator.is-style-dots {
  background: none !important;
  border: none;
  text-align: center;
  line-height: 1;
  height: auto;
}

.wp-block-separator.is-style-dots::before {
  content: "···";
  color: currentColor;
  font-size: 1.5em;
  letter-spacing: 2em;
  /*rtl:ignore*/
  padding-left: 2em;
  font-family: serif;
}

.wp-block-site-logo {
  line-height: 0;
}

.wp-block-site-logo a {
  display: inline-block;
}

.wp-block-site-logo.is-default-size img {
  width: 120px;
  height: auto;
}

.wp-block-site-logo a,
.wp-block-site-logo img {
  border-radius: inherit;
}

.wp-block-site-logo.aligncenter {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.wp-block-site-logo.is-style-rounded {
  border-radius: 9999px;
}

.wp-block-social-links {
  padding-left: 0;
  padding-right: 0;
  text-indent: 0;
  margin-left: 0;
}

.wp-block-social-links .wp-social-link a,
.wp-block-social-links .wp-social-link a:hover {
  text-decoration: none;
  border-bottom: 0;
  box-shadow: none;
}

.wp-block-social-links .wp-social-link a {
  padding: 0.25em;
}

.wp-block-social-links .wp-social-link svg {
  width: 1em;
  height: 1em;
}

.wp-block-social-links.has-small-icon-size {
  font-size: 16px;
}

.wp-block-social-links, .wp-block-social-links.has-normal-icon-size {
  font-size: 24px;
}

.wp-block-social-links.has-large-icon-size {
  font-size: 36px;
}

.wp-block-social-links.has-huge-icon-size {
  font-size: 48px;
}

.wp-block-social-links.aligncenter {
  justify-content: center;
  display: flex;
}

.wp-block-social-links.alignright {
  justify-content: flex-end;
}

.wp-block-social-link {
  display: block;
  border-radius: 9999px;
  transition: transform 0.1s ease;
  height: auto;
}

@media (prefers-reduced-motion: reduce) {
  .wp-block-social-link {
    transition-duration: 0s;
    transition-delay: 0s;
  }
}
.wp-block-social-link a {
  display: block;
  line-height: 0;
  transition: transform 0.1s ease;
}

.wp-block-social-link:hover {
  transform: scale(1.1);
}

.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor, .wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor:hover, .wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor:active, .wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor:visited,
.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor svg {
  color: currentColor;
  fill: currentColor;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link {
  background-color: #f0f0f0;
  color: #444;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-amazon {
  background-color: #f90;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-bandcamp {
  background-color: #1ea0c3;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-behance {
  background-color: #0757fe;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-codepen {
  background-color: #1e1f26;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-deviantart {
  background-color: #02e49b;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-dribbble {
  background-color: #e94c89;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-dropbox {
  background-color: #4280ff;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-etsy {
  background-color: #f45800;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-facebook {
  background-color: #1778f2;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-fivehundredpx {
  background-color: #000;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-flickr {
  background-color: #0461dd;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-foursquare {
  background-color: #e65678;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-github {
  background-color: #24292d;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-goodreads {
  background-color: #eceadd;
  color: #382110;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-google {
  background-color: #ea4434;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-instagram {
  background-color: #f00075;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-lastfm {
  background-color: #e21b24;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-linkedin {
  background-color: #0d66c2;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-mastodon {
  background-color: #3288d4;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-medium {
  background-color: #02ab6c;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-meetup {
  background-color: #f6405f;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-patreon {
  background-color: #ff424d;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-pinterest {
  background-color: #e60122;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-pocket {
  background-color: #ef4155;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-reddit {
  background-color: #fe4500;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-skype {
  background-color: #0478d7;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-snapchat {
  background-color: #fefc00;
  color: #fff;
  stroke: #000;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-soundcloud {
  background-color: #ff5600;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-spotify {
  background-color: #1bd760;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-telegram {
  background-color: #2aabee;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-tiktok {
  background-color: #000;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-tumblr {
  background-color: #011835;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-twitch {
  background-color: #6440a4;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-twitter {
  background-color: #1da1f2;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-vimeo {
  background-color: #1eb7ea;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-vk {
  background-color: #4680c2;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-wordpress {
  background-color: #3499cd;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-yelp {
  background-color: #d32422;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-youtube {
  background-color: #f00;
  color: #fff;
}

.wp-block-social-links.is-style-logos-only .wp-social-link {
  background: none;
}

.wp-block-social-links.is-style-logos-only .wp-social-link a {
  padding: 0;
}

.wp-block-social-links.is-style-logos-only .wp-social-link svg {
  width: 1.25em;
  height: 1.25em;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-amazon {
  color: #f90;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-bandcamp {
  color: #1ea0c3;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-behance {
  color: #0757fe;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-codepen {
  color: #1e1f26;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-deviantart {
  color: #02e49b;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-dribbble {
  color: #e94c89;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-dropbox {
  color: #4280ff;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-etsy {
  color: #f45800;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-facebook {
  color: #1778f2;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-fivehundredpx {
  color: #000;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-flickr {
  color: #0461dd;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-foursquare {
  color: #e65678;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-github {
  color: #24292d;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-goodreads {
  color: #382110;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-google {
  color: #ea4434;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-instagram {
  color: #f00075;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-lastfm {
  color: #e21b24;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-linkedin {
  color: #0d66c2;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-mastodon {
  color: #3288d4;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-medium {
  color: #02ab6c;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-meetup {
  color: #f6405f;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-patreon {
  color: #ff424d;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-pinterest {
  color: #e60122;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-pocket {
  color: #ef4155;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-reddit {
  color: #fe4500;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-skype {
  color: #0478d7;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-snapchat {
  color: #fff;
  stroke: #000;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-soundcloud {
  color: #ff5600;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-spotify {
  color: #1bd760;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-telegram {
  color: #2aabee;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-tiktok {
  color: #000;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-tumblr {
  color: #011835;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-twitch {
  color: #6440a4;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-twitter {
  color: #1da1f2;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-vimeo {
  color: #1eb7ea;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-vk {
  color: #4680c2;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-wordpress {
  color: #3499cd;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-yelp {
  color: #d32422;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-youtube {
  color: #f00;
}

.wp-block-social-links.is-style-pill-shape .wp-social-link {
  width: auto;
}

.wp-block-social-links.is-style-pill-shape .wp-social-link a {
  padding-left: 0.6666666667em;
  padding-right: 0.6666666667em;
}

.wp-block-spacer {
  clear: both;
}

.wp-block-tag-cloud.aligncenter {
  text-align: center;
}

.wp-block-tag-cloud.alignfull {
  padding-left: 1em;
  padding-right: 1em;
}

.wp-block-tag-cloud a {
  display: inline-block;
  margin-right: 5px;
}

.wp-block-tag-cloud span {
  display: inline-block;
  margin-left: 5px;
  text-decoration: none;
}

.wp-block-table {
  margin: 0 0 1em 0;
  overflow-x: auto;
}

.wp-block-table table {
  border-collapse: collapse;
  width: 100%;
}

.wp-block-table .has-fixed-layout {
  table-layout: fixed;
  width: 100%;
}

.wp-block-table .has-fixed-layout td,
.wp-block-table .has-fixed-layout th {
  word-break: break-word;
}

.wp-block-table.alignleft, .wp-block-table.aligncenter, .wp-block-table.alignright {
  display: table;
  width: auto;
}

.wp-block-table.alignleft td,
.wp-block-table.alignleft th, .wp-block-table.aligncenter td,
.wp-block-table.aligncenter th, .wp-block-table.alignright td,
.wp-block-table.alignright th {
  word-break: break-word;
}

.wp-block-table .has-subtle-light-gray-background-color {
  background-color: #f3f4f5;
}

.wp-block-table .has-subtle-pale-green-background-color {
  background-color: #e9fbe5;
}

.wp-block-table .has-subtle-pale-blue-background-color {
  background-color: #e7f5fe;
}

.wp-block-table .has-subtle-pale-pink-background-color {
  background-color: #fcf0ef;
}

.wp-block-table.is-style-stripes {
  border-spacing: 0;
  border-collapse: inherit;
  background-color: transparent;
  border-bottom: 1px solid #f0f0f0;
}

.wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
  background-color: #f0f0f0;
}

.wp-block-table.is-style-stripes.has-subtle-light-gray-background-color tbody tr:nth-child(odd) {
  background-color: #f3f4f5;
}

.wp-block-table.is-style-stripes.has-subtle-pale-green-background-color tbody tr:nth-child(odd) {
  background-color: #e9fbe5;
}

.wp-block-table.is-style-stripes.has-subtle-pale-blue-background-color tbody tr:nth-child(odd) {
  background-color: #e7f5fe;
}

.wp-block-table.is-style-stripes.has-subtle-pale-pink-background-color tbody tr:nth-child(odd) {
  background-color: #fcf0ef;
}

.wp-block-table.is-style-stripes th,
.wp-block-table.is-style-stripes td {
  border-color: transparent;
}

.wp-block-table .has-border-color > *,
.wp-block-table .has-border-color tr,
.wp-block-table .has-border-color th,
.wp-block-table .has-border-color td {
  border-color: inherit;
}

.wp-block-table table[style*=border-style] > *,
.wp-block-table table[style*=border-style] tr,
.wp-block-table table[style*=border-style] th,
.wp-block-table table[style*=border-style] td {
  border-style: inherit;
}

.wp-block-table table[style*=border-width] > *,
.wp-block-table table[style*=border-width] tr,
.wp-block-table table[style*=border-width] th,
.wp-block-table table[style*=border-width] td {
  border-width: inherit;
}

.wp-block-text-columns {
  display: flex;
}

.wp-block-text-columns.aligncenter {
  display: flex;
}

.wp-block-text-columns .wp-block-column {
  margin: 0 1em;
  padding: 0;
}

.wp-block-text-columns .wp-block-column:first-child {
  margin-left: 0;
}

.wp-block-text-columns .wp-block-column:last-child {
  margin-right: 0;
}

.wp-block-text-columns.columns-2 .wp-block-column {
  width: 50%;
}

.wp-block-text-columns.columns-3 .wp-block-column {
  width: 33.3333333333%;
}

.wp-block-text-columns.columns-4 .wp-block-column {
  width: 25%;
}

pre.wp-block-verse {
  font-family: inherit;
  overflow: auto;
  white-space: pre-wrap;
}

.wp-block-video {
  margin: 0 0 1em 0;
}

.wp-block-video video {
  width: 100%;
}

@supports (position: sticky) {
  .wp-block-video [poster] {
    -o-object-fit: cover;
    object-fit: cover;
  }
}
.wp-block-video.aligncenter {
  text-align: center;
}

.wp-block-video figcaption {
  margin-top: 0.5em;
  margin-bottom: 1em;
}

.wp-block-post-featured-image {
  margin-left: 0;
  margin-right: 0;
}

.wp-block-post-featured-image a {
  display: inline-block;
}

.wp-block-post-featured-image img {
  max-width: 100%;
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

.wp-block-post-featured-image.alignwide img, .wp-block-post-featured-image.alignfull img {
  width: 100%;
}

:root {
  /*
   * Our classes uses the same values we set for gradient value attributes,
   * and we can not use spacing because of WP multi site kses rule.
   */
  /* stylelint-disable function-comma-space-after */
  /* stylelint-enable function-comma-space-after */
  --wp--preset--font-size--normal: 16px;
  --wp--preset--font-size--huge: 42px;
}

:root .has-very-light-gray-background-color {
  background-color: #eee;
}

:root .has-very-dark-gray-background-color {
  background-color: #313131;
}

:root .has-very-light-gray-color {
  color: #eee;
}

:root .has-very-dark-gray-color {
  color: #313131;
}

:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background {
  background: linear-gradient(135deg, #00d084 0%, #0693e3 100%);
}

:root .has-purple-crush-gradient-background {
  background: linear-gradient(135deg, #34e2e4 0%, #4721fb 50%, #ab1dfe 100%);
}

:root .has-hazy-dawn-gradient-background {
  background: linear-gradient(135deg, #faaca8 0%, #dad0ec 100%);
}

:root .has-subdued-olive-gradient-background {
  background: linear-gradient(135deg, #fafae1 0%, #67a671 100%);
}

:root .has-atomic-cream-gradient-background {
  background: linear-gradient(135deg, #fdd79a 0%, #004a59 100%);
}

:root .has-nightshade-gradient-background {
  background: linear-gradient(135deg, #330968 0%, #31cdcf 100%);
}

:root .has-midnight-gradient-background {
  background: linear-gradient(135deg, #020381 0%, #2874fc 100%);
}

.has-regular-font-size {
  font-size: 1em;
}

.has-larger-font-size {
  font-size: 2.625em;
}

.has-normal-font-size {
  font-size: var(--wp--preset--font-size--normal);
}

.has-huge-font-size {
  font-size: var(--wp--preset--font-size--huge);
}

.has-text-align-center {
  text-align: center;
}

.has-text-align-left {
  /*rtl:ignore*/
  text-align: left;
}

.has-text-align-right {
  /*rtl:ignore*/
  text-align: right;
}

#end-resizable-editor-section {
  display: none;
}

.aligncenter {
  clear: both;
}

.items-justified-left {
  justify-content: flex-start;
}

.items-justified-center {
  justify-content: center;
}

.items-justified-right {
  justify-content: flex-end;
}

.items-justified-space-between {
  justify-content: space-between;
}

.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important;
}

.screen-reader-text:focus {
  background-color: #ddd;
  clip: auto !important;
  -webkit-clip-path: none;
  clip-path: none;
  color: #444;
  display: block;
  font-size: 1em;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
}

/*
 * style.css
 */
/* ==========================================================
!Wrapper
========================================================== */
.l-wrapper {
  padding-top: 60px;
}
.l-wrapper._home {
  padding-top: 0;
}
@media only screen and (min-width: 769px), print {
  .l-wrapper {
    padding-top: 0;
  }
  .l-wrapper._home {
    padding-top: 0;
  }
}

/* 768px以上（タブレット） */
/*
 * style.css
 */
/* ==========================================================
!contents
========================================================== */
.l-contents {
  margin: 0 auto;
}
.l-contents.is-lower {
  padding: 0 0 90px;
}

.l-main {
  max-width: 1414px;
  padding: 0 20px 0 20px;
  padding: 0 max(10px, 5.3%);
}
@media only screen and (min-width: 769px), print {
  .l-main {
    margin: 0 auto;
    padding: 0 20px 0 20px;
    padding: 0 max(20px, 8%);
  }
}
@media only screen and (min-width: 960px), print {
  .l-main {
    padding: 0 157px 0 157px;
    padding: 0 min(11.49%, 157px);
  }
}

/*2カラム用*/
.l-contents--side {
  margin: 60px auto 0;
  max-width: 1414px;
  padding: 0 20px 0 20px;
  padding: 0 max(10px, 5.3%);
}
.l-contents--side .l-main {
  max-width: none;
  padding: 0 0 0 0;
}
.l-contents--side .l-side {
  margin: 30px 0 min(12vmin, 90px) 0;
}
.l-contents--side .l-side :first-child {
  margin-top: 0;
}
@media only screen and (min-width: 769px), print {
  .l-contents--side {
    margin: 90px auto 0;
    padding: 0 20px 0 20px;
    padding: 0 max(20px, 8%);
  }
}
@media only screen and (min-width: 960px), print {
  .l-contents--side {
    display: flex;
    justify-content: space-between;
    padding: 0 157px 0 157px;
    padding: 0 min(11.49%, 157px);
  }
  .l-contents--side .l-main {
    margin: 0;
    padding: 0;
    width: 74.5247%;
  }
  .l-contents--side .l-side {
    margin-top: 0;
    width: 21.673%;
  }
}

/* 1カラムレイアウト内部で部分的に2カラムにする場合
--------------------------------------*/
.l-split__main :first-child {
  margin-top: 0;
}
.l-split__side {
  margin-top: 30px;
}
.l-split__side :first-child {
  margin-top: 0;
}
@media only screen and (min-width: 960px), print {
  .l-split {
    display: flex;
    justify-content: space-between;
  }
  .l-split__main {
    margin: 0;
    padding: 0;
    width: 74.5247%;
  }
  .l-split__side {
    margin-top: 0;
    width: 21.673%;
  }
}

/*
 * style.css
 */
/* ==========================================================
!Section Common
========================================================== */
.l-outer {
  margin: 0 auto;
  max-width: 1920px;
}

.l-inner {
  max-width: 1414px;
  padding: 0 20px 0 20px;
  padding: 0 max(10px, 5.3%);
}
@media only screen and (min-width: 769px), print {
  .l-inner {
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 20px 0 20px;
  }
}
.l-inner--narrow {
  max-width: 688px;
  margin: 0 auto;
}

.l-section {
  margin-top: 12vmin;
  margin-bottom: 12vmin;
}
.l-section > :first-child {
  margin-top: 0;
}
@media only screen and (min-width: 769px), print {
  .l-section {
    margin-top: 120px;
    margin-bottom: 120px;
  }
}

.l-section--bg {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding-left: calc(50vw - 50%);
  padding-right: calc(50vw - 50%);
  padding-top: 12vmin;
  padding-bottom: 12vmin;
  background-color: #f5f5f5;
}
.l-section--bg > :first-child {
  margin-top: 0;
}
@media only screen and (min-width: 769px), print {
  .l-section--bg {
    padding-top: 120px;
    padding-bottom: 120px;
  }
}

.l-section--focus {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding-left: calc(50vw - 50%);
  padding-right: calc(50vw - 50%);
  padding-top: min(12vmin, 90px);
  padding-bottom: min(12vmin, 90px);
  background-color: #0F1937;
  color: #ffffff;
  text-align: center;
}
.l-section--focus > :first-child {
  margin-top: 0;
}
.l-section--focus * {
  color: inherit !important;
}
@media only screen and (min-width: 769px), print {
  .l-section--focus {
    padding-top: 90px;
    padding-bottom: 90px;
  }
}

.l-section--entry {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: min(12vmin, 90px);
  padding-bottom: min(12vmin, 90px);
  background-color: #d1dde9;
  text-align: center;
}

/*
 * style.css
 */
/* ==========================================================
!Header
========================================================== */
/* Header layout
------------------------------------ */
.l-header {
  background: #ffffff;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 999;
  width: 100%;
  height: 60px;
  transition: transform 0.3s;
  padding: 12px 0;
}
@media only screen and (min-width: 960px), print {
  .l-header {
    background: none;
    height: 100px;
    padding: 14px 0;
  }
}
@media only screen and (min-width: 960px), print {
  .l-header .l-inner {
    display: flex;
    align-items: center;
    max-width: inherit;
  }
}
.l-header__logo {
  display: block;
  width: 40px;
  transition: all 0.3s;
}
@media only screen and (min-width: 960px), print {
  .l-header__logo {
    width: 80px;
  }
}
.l-header__logo a {
  display: block;
}
.l-header__logo a svg {
  width: 100%;
  height: auto;
}
@media only screen and (min-width: 960px), print {
  .l-header__logo a svg {
    display: block;
  }
}
@media only screen and (min-width: 960px), print {
  .l-header__logo a svg path {
    fill: #ffffff;
  }
}
@media only screen and (min-width: 960px), print {
  .is-lower .l-header__logo {
    width: 50px;
    margin: 0 30px 0 0;
  }
}
@media only screen and (min-width: 960px), print {
  .is-lower .l-header__logo a svg path {
    fill: #3366cc;
  }
}
.l-header__btn {
  display: none;
}
@media only screen and (min-width: 960px), print {
  .l-header__btn {
    display: flex;
    margin: 0 80px 0 auto;
    gap: 10px;
  }
}
@media only screen and (min-width: 960px), print {
  .l-header__btn a, .l-header__btn div {
    background: #EEF4FF;
    border-radius: 6px;
    color: #3366cc;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    width: 170px;
    height: 50px;
    position: relative;
    transition: all 0.3s;
  }
  .l-header__btn a span, .l-header__btn div span {
    font-size: 0.875rem;
    font-weight: 700;
    position: relative;
    transition: all 0.3s;
  }
}
@media (hover: hover) and (pointer: fine) {
  .l-header__btn a:hover, .l-header__btn a:focus, .l-header__btn div:hover, .l-header__btn div:focus {
    background: #3366cc;
  }
  .l-header__btn a:hover > span, .l-header__btn a:focus > span, .l-header__btn div:hover > span, .l-header__btn div:focus > span {
    color: #ffffff;
  }
  .l-header__btn a:hover.is-entry, .l-header__btn a:focus.is-entry, .l-header__btn div:hover.is-entry, .l-header__btn div:focus.is-entry {
    background: #285B98;
  }
  .l-header__btn a:hover.is-entry > span:before, .l-header__btn a:focus.is-entry > span:before, .l-header__btn div:hover.is-entry > span:before, .l-header__btn div:focus.is-entry > span:before {
    background: url(/assets-recruit/img/common/icon_entry_w.svg) no-repeat;
  }
  .l-header__btn a:hover.is-mypage > span:before, .l-header__btn a:focus.is-mypage > span:before, .l-header__btn div:hover.is-mypage > span:before, .l-header__btn div:focus.is-mypage > span:before {
    background: url(/assets-recruit/img/common/icon_mypage_w.svg) no-repeat;
  }
}
.l-header__btn a.is-entry > span, .l-header__btn a.is-mypage > span, .l-header__btn div.is-entry > span, .l-header__btn div.is-mypage > span {
  padding: 0 0 0 30px;
}
.l-header__btn a.is-entry > span:before, .l-header__btn a.is-mypage > span:before, .l-header__btn div.is-entry > span:before, .l-header__btn div.is-mypage > span:before {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  transition: all 0.3s;
}
.l-header__btn a.is-entry > span:before, .l-header__btn div.is-entry > span:before {
  background: url(../img/common/icon_entry_b.svg) no-repeat;
}
.l-header__btn a.is-mypage > span:before, .l-header__btn div.is-mypage > span:before {
  background: url(../img/common/icon_mypage_b.svg) no-repeat;
}
.l-header__btn div.is-act {
  border-radius: 6px 6px 0 0;
}
@media only screen and (min-width: 1280px), print {
  .is-lower .l-header__btn {
    margin: 0 0 0 auto;
  }
}
@media only screen and (min-width: 960px), print {
  .is-lower .l-header__btn a {
    background: #3366cc;
    border: 2px solid #3366cc;
    border-radius: 20px;
    color: #3366cc;
    width: fit-content;
    height: 40px;
    padding: 0 1em;
  }
}
@media (hover: hover) and (pointer: fine) {
  .is-lower .l-header__btn a:hover, .is-lower .l-header__btn a:focus {
    background: #3366cc;
  }
  .is-lower .l-header__btn a:hover.is-entry, .is-lower .l-header__btn a:focus.is-entry {
    border: 2px solid #02346D;
    background: #02346D;
  }
  .is-lower .l-header__btn a:hover.is-mypage, .is-lower .l-header__btn a:focus.is-mypage {
    background: #3366cc;
  }
  .is-lower .l-header__btn a:hover.is-mypage > span, .is-lower .l-header__btn a:focus.is-mypage > span {
    color: #ffffff;
  }
  .is-lower .l-header__btn a:hover.is-mypage > span:before, .is-lower .l-header__btn a:focus.is-mypage > span:before {
    background: url(../img/common/icon_mypage_w.svg) no-repeat;
  }
}
.is-lower .l-header__btn a.is-entry {
  color: #ffffff;
}
.is-lower .l-header__btn a.is-entry > span:before {
  background: url(../img/common/icon_entry_w.svg) no-repeat;
}
.is-lower .l-header__btn a.is-mypage {
  background: #ffffff;
}
.is-lower .l-header__btn a.is-mypage > span:before {
  background: url(../img/common/icon_mypage_b.svg) no-repeat;
}
.l-header__entry {
  display: none;
  border-radius: 0 0 6px 6px;
  position: absolute;
  top: 50px;
  left: 0;
  overflow: hidden;
}
.l-header__entry--item a {
  background: #ffffff;
  color: #222222;
  border-radius: 0;
  font-size: 0.875rem;
  font-weight: 700;
  position: relative;
  padding: 0 1.5em;
  justify-content: flex-start;
}
@media (hover: hover) and (pointer: fine) {
  .l-header__entry--item a:hover, .l-header__entry--item a:focus {
    background: #ffffff;
  }
}
.l-header__menu {
  display: none;
}
@media only screen and (min-width: 1280px), print {
  .l-header__menu {
    display: block;
  }
}
.l-header__menu ul {
  display: flex;
  gap: 20px;
}
.l-header__menu ul li a {
  color: #222222;
  text-decoration: none;
  font-size: 0.8125rem;
  position: relative;
  width: fit-content;
  transition: all 0.3s;
}
.l-header__menu ul li a:before {
  background: #3366cc;
  content: "";
  display: block;
  width: 0;
  height: 2px;
  transition: all 0.3s;
  position: absolute;
  bottom: -6px;
  left: 0;
}
@media (hover: hover) and (pointer: fine) {
  .l-header__menu ul li a:hover, .l-header__menu ul li a:focus {
    color: #3366cc;
  }
  .l-header__menu ul li a:hover:before, .l-header__menu ul li a:focus:before {
    width: 100%;
  }
}
.l-header.is-lower {
  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.14);
}
@media only screen and (min-width: 960px), print {
  .l-header.is-lower {
    background: #ffffff;
    border-radius: 40px;
    box-shadow: 0px 6px 6px 0px rgba(0, 0, 0, 0.16);
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    width: 94%;
    max-width: 1200px;
    height: 80px;
    display: flex;
    align-items: center;
    padding: 0;
  }
}
@media only screen and (min-width: 960px), print {
  .l-header.is-lower .l-inner {
    display: flex;
    align-items: center;
    max-width: inherit;
    padding: 0 45px;
    width: 100%;
  }
}
@media only screen and (min-width: 1280px), print {
  .l-header.is-lower .p-hamburger {
    display: none;
  }
}

.p-hamburger {
  width: 60px;
  height: 60px;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 99999;
}
@media only screen and (min-width: 960px), print {
  .p-hamburger {
    top: 20px;
    right: 20px;
  }
}
.p-hamburger__button {
  background: none;
  position: relative;
  width: 100%;
  height: 100%;
  overflow: visible;
  vertical-align: top;
  margin: 0;
  padding: 0;
  cursor: pointer;
}
.p-hamburger__button.is-active .p-hamburger__border {
  background: #ffffff;
}
.p-hamburger__button.is-active .p-hamburger__border:nth-of-type(1) {
  transform: translateX(-50%) translateY(8px) rotate(45deg);
}
.p-hamburger__button.is-active .p-hamburger__border:nth-of-type(2) {
  width: 0;
  opacity: 0;
  visibility: hidden;
}
.p-hamburger__button.is-active .p-hamburger__border:nth-of-type(3) {
  transform: translateX(-50%) translateY(-8px) rotate(-45deg);
}
.p-hamburger__border {
  background: #3366cc;
  border-radius: 2px;
  position: absolute;
  left: 50%;
  width: 30px;
  height: 3px;
  margin: 0 auto;
  transform: translateX(-50%) translateY(-50%);
  transition: all 0.3s;
}
@media only screen and (min-width: 960px), print {
  .p-hamburger__border {
    background: #ffffff;
  }
}
.p-hamburger__border:nth-of-type(1) {
  top: calc(50% - 8px);
}
.p-hamburger__border:nth-of-type(2) {
  top: 50%;
  width: 20px;
  left: calc(50% - 5px);
}
.p-hamburger__border:nth-of-type(3) {
  top: calc(50% + 8px);
}
@media only screen and (min-width: 960px), print {
  .is-lower .p-hamburger__border {
    background: #3366cc;
  }
}
.p-hamburger.is-active .p-hamburger__button {
  background: #3366cc;
}
@media (hover: hover) and (pointer: fine) {
  .p-hamburger:hover .p-hamburger__border:nth-of-type(2) {
    width: 30px;
    left: 50%;
  }
}
@media only screen and (min-width: 960px), print {
  .p-hamburger.is-lower {
    top: 30px;
    right: calc(20px + 4%);
  }
}
@media only screen and (min-width: 1280px), print {
  .p-hamburger.is-lower {
    display: none;
  }
}

/*
 * style.css
 */
/* ==========================================================
!Header Menu
========================================================== */
/* Menu Trigger
------------------------------------ */
.l-menu-trigger {
  position: relative;
  z-index: 1000;
  width: 30px;
  height: 22px;
  background: transparent;
  cursor: pointer;
  /* Menu Line top */
  /* Menu Line middle */
  /* Menu Line bottom */
  /* Menu Close Line
  // ------------------------------------ */
}
.l-menu-trigger:before {
  display: block;
  align-self: center;
  position: absolute;
  top: 2px; /* 線の位置 */
  left: 0;
  width: 100%;
  height: 2px;
  text-align: center;
  content: "";
  background-color: #CBBD7A; /* 線の色 */
  transition-property: transform;
  transition-duration: 0.15s;
  transition-timing-function: ease-in-out;
}
.l-menu-trigger .l-menu-trigger__line {
  display: block;
  align-self: center;
  position: absolute;
  top: 10px; /* 線の位置 */
  left: 0;
  width: 100%;
  height: 2px;
  color: #ffffff;
  font-size: 10px;
  line-height: 42px; /* 文字の位置 */
  text-align: center;
  background-color: #CBBD7A; /* 線の色 */
  transition: all 0.4s;
}
.l-menu-trigger:after {
  display: block;
  align-self: center;
  position: absolute;
  top: 18px; /* 線の位置 */
  left: 0;
  width: 100%;
  height: 2px;
  text-align: center;
  content: "";
  background-color: #CBBD7A; /* 線の色 */
  transition-property: transform;
  transition-duration: 0.15s;
  transition-timing-function: ease-in-out;
}
.l-menu-trigger[aria-expanded=true] {
  /* Menu Close Line top */
  /* Menu Close Line middle */
  /* Menu Close Line bottom */
}
.l-menu-trigger[aria-expanded=true]:before {
  background-color: #CBBD7A; /* 線の色 */
  transform: translateY(8px) rotate(-45deg);
}
.l-menu-trigger[aria-expanded=true] .l-menu-trigger__line {
  color: #CBBD7A; /* 文字の色 */
  background-color: transparent; /* 線の色 無し */
}
.l-menu-trigger[aria-expanded=true]:after {
  background-color: #CBBD7A; /* 線の色 */
  transform: translateY(-8px) rotate(45deg);
}

/* Menu Layout
------------------------------------ */
.l-menu {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  padding-top: 55px;
  height: 100svh;
}
.l-menu__inner {
  overflow-y: auto;
  height: 100%;
  padding: 30px 30px 100px 30px;
}
.l-menu__gnav {
  display: none;
}

/*960px以上*/
@media only screen and (min-width: 960px), print {
  .l-menu {
    position: static;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    height: 120px;
    padding-top: 0;
  }
  .l-menu__inner {
    overflow: hidden;
    height: auto;
    padding: 0;
  }
  .l-menu__spmenu {
    display: none;
  }
  .l-menu__gnav {
    display: flex;
  }
}
/* SP Menu
------------------------------------ */
.l-spmenu {
  color: #000000;
}
.l-spmenu__list-item {
  border-bottom: 1px solid rgba(98, 98, 98, 0.2);
  font-family: "Times New Roman", "YuMincho", "Yu Mincho", "Hiragino Mincho ProN", "MS PMincho", serif;
  font-size: 0.8125rem;
}
body.ua-android .l-spmenu__list-item {
  font-family: "Noto Serif JP", serif;
}
.l-spmenu__list-item > * {
  display: block;
  padding: 1em 0;
  text-decoration: none;
  color: #000000;
}
.l-spmenu__toggle {
  position: relative;
  width: 100%;
  display: block;
  padding: 1em 0;
  border-bottom: 1px solid rgba(98, 98, 98, 0.2);
  font-family: "Times New Roman", "YuMincho", "Yu Mincho", "Hiragino Mincho ProN", "MS PMincho", serif;
  font-size: 0.8125rem;
  cursor: pointer;
}
body.ua-android .l-spmenu__toggle {
  font-family: "Noto Serif JP", serif;
}
.l-spmenu__toggle::-webkit-details-marker {
  display: none;
}
.l-spmenu__toggle::after {
  position: absolute;
  right: -2px;
  top: 50%;
  content: "";
  display: block;
  width: 0.6em;
  height: 0.6em;
  border-right: 1px solid;
  border-bottom: 1px solid;
  transform: translateY(-50%) rotate(45deg);
  transition: 0.3s;
}
details[open] .l-spmenu__toggle::after {
  transform: translateY(-50%) rotate(-135deg);
}
.l-spmenu__sublist {
  display: columns;
  column-count: 2;
  margin-top: 1em;
  font-family: -apple-system, BlinkMacSystemFont, "Noto Sans JP", "YuGothic", "游ゴシック体", "Yu Gothic", "游ゴシック", "ヒラギノ角ゴシック", "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
}
.l-spmenu__sublist a {
  display: block;
  padding: 0.5em 1em 0.5em 0;
  color: #CBCBCB;
  font-size: 0.6875rem;
  text-decoration: none;
}

/* Sub Menu
------------------------------------ */
@media (max-width: 959px) {
  .l-submenu {
    margin-top: min(9.3333333333vmin, 35px);
  }
  .l-submenu__list {
    display: columns;
    column-count: 2;
  }
  .l-submenu__list a {
    display: block;
    padding: 0.5em 0;
    color: #000000;
    text-decoration: none;
    font-size: 0.6875rem;
  }
  .l-submenu__list a[target=_blank]::after {
    margin-left: 1em;
    font-size: 0.7em;
  }
  .l-submenu__lang {
    margin-top: min(6.6666666667vmin, 25px);
    display: flex;
    line-height: 1;
  }
  .l-submenu__lang li:not(:first-child) {
    margin-left: 1em;
    padding-left: 1em;
    border-left: 2px solid #CBBD7A;
  }
  .l-submenu__lang a {
    color: #000000;
    font-size: min(4.1333333333vmin, 1rem);
    font-family: garamond-premier-pro, serif;
    letter-spacing: 0.12em;
    text-decoration: none;
  }
}
@media only screen and (min-width: 960px), print {
  .l-submenu {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    height: 60px;
  }
  .l-submenu a {
    color: #ffffff;
    line-height: 1;
    font-size: 0.75rem;
    text-decoration: none;
  }
  .l-submenu__list {
    display: flex;
    align-items: center;
    gap: 30px;
  }
  .l-submenu__list a {
    display: block;
    padding: 8px 0;
    font-family: "Times New Roman", "YuMincho", "Yu Mincho", "Hiragino Mincho ProN", "MS PMincho", serif;
  }
  body.ua-android .l-submenu__list a {
    font-family: "Noto Serif JP", serif;
  }
  .l-submenu__list a[target=_blank] {
    padding: 8px 20px;
    border: 1px solid #555555;
    border-radius: 50px;
  }
  .l-submenu__list a[target=_blank]::after {
    margin-left: 1em;
    font-size: 0.7em;
  }
  .l-submenu__list a[target=_blank]:hover, .l-submenu__list a[target=_blank]:focus {
    background: #ffffff;
    color: #000000;
  }
  .l-submenu__lang {
    display: flex;
    align-items: center;
    font-family: garamond-premier-pro, serif;
    margin-left: 20px;
  }
  .l-submenu__lang li:not(:first-child) {
    border-left: 1px solid #ffffff;
  }
  .l-submenu__lang a {
    display: block;
    padding: 0.2em 1em 0.1em;
  }
  .l-submenu__lang a:hover, .l-submenu__lang a:focus {
    background: #ffffff;
    color: #000000;
  }
}

/*
 * style.css
 */
/* ==========================================================
!Gnavi
========================================================== */
.p-gnav {
  background: rgba(51, 102, 204, 0.98);
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: 9999;
  padding: 60px 0;
  overflow: auto;
}
.p-gnav .l-inner {
  height: 100%;
  overflow: auto;
}
@media only screen and (min-width: 960px), print {
  .p-gnav .l-inner {
    height: auto;
    display: flex;
    justify-content: center;
    gap: 20%;
  }
}
.p-gnav a, .p-gnav button {
  background: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
  color: #FFFFFF;
  display: block;
  font-family: -apple-system, BlinkMacSystemFont, "Noto Sans JP", "YuGothic", "游ゴシック体", "Yu Gothic", "游ゴシック", "ヒラギノ角ゴシック", "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
  font-size: 1.125rem;
  font-weight: 500;
  text-decoration: none;
  line-height: 1.75;
  padding: 16px 0;
  position: relative;
  width: 100%;
  text-align: left;
}
@media only screen and (min-width: 960px), print {
  .p-gnav a, .p-gnav button {
    font-size: 1.875rem;
    font-weight: 900;
    text-align: center;
  }
}
@media (hover: hover) and (pointer: fine) {
  .p-gnav a:hover, .p-gnav a:focus, .p-gnav button:hover, .p-gnav button:focus {
    color: #ffffff;
    border-bottom: 1px solid rgb(255, 255, 255);
  }
}
@media only screen and (min-width: 960px), print {
  .p-gnav__list {
    width: 40%;
    max-width: 400px;
    border: none;
  }
}
.p-gnav__list > li > span > a, .p-gnav__list > li > span button {
  font-weight: 700;
}
.p-gnav__list > li > span > a:after, .p-gnav__list > li > span button:after {
  content: "";
  display: block;
  width: 9px;
  height: 9px;
  border-top: 2px solid #ffffff;
  border-right: 2px solid #ffffff;
  transform: rotate(45deg) translateY(-80%);
  position: absolute;
  top: 50%;
  right: 1em;
}
@media only screen and (min-width: 960px), print {
  .p-gnav__list > li > span > a:after, .p-gnav__list > li > span button:after {
    content: none;
  }
}
@media (hover: hover) and (pointer: fine) {
  .p-gnav__list > li > span > a:hover, .p-gnav__list > li > span > a:focus, .p-gnav__list > li > span button:hover, .p-gnav__list > li > span button:focus {
    opacity: 0.6;
  }
}
.p-gnav__list > li > span > button:before {
  background: #ffffff;
  content: "";
  display: block;
  width: 2px;
  height: 12px;
  position: absolute;
  top: 50%;
  right: calc(0.3em + 5px);
  transform: translateY(-50%);
  transition: all 0.3s;
}
.p-gnav__list > li > span > button:after {
  background: #ffffff;
  content: "";
  display: block;
  width: 12px;
  height: 2px;
  position: absolute;
  top: 50%;
  right: 0.3em;
  transform: translateY(-50%);
  transition: all 0.3s;
}
.p-gnav__list > li > span > button.u-active:before {
  transform: translateY(-50%) rotate(45deg);
}
.p-gnav__list > li > span > button.u-active:after {
  transform: translateY(-50%) rotate(45deg);
}
.p-gnav__sub {
  border-left: 1px solid #ffffff;
  display: none;
  margin: 16px 0 0;
  padding: 0 0 0 1em;
}
@media only screen and (min-width: 769px), print {
  .p-gnav__sub {
    display: block;
  }
}
@media only screen and (min-width: 960px), print {
  .p-gnav__sub {
    border-left: none;
  }
}
.p-gnav__sub > li {
  margin: 0 0 12px;
}
@media only screen and (min-width: 960px), print {
  .p-gnav__sub > li {
    margin: 0 0 16px;
  }
}
.p-gnav__sub > li:last-child {
  margin: 0;
}
.p-gnav__sub > li > a {
  font-size: 0.875rem;
  font-weight: 500;
}
@media only screen and (min-width: 960px), print {
  .p-gnav__sub > li > a {
    border-bottom: none;
    font-size: 1.125rem;
    max-width: 200px;
    margin: 0 auto;
  }
}
.p-gnav__sub > li > a:after {
  content: "";
  display: block;
  width: 9px;
  height: 9px;
  border-top: 2px solid #ffffff;
  border-right: 2px solid #ffffff;
  transform: rotate(45deg) translateY(-80%);
  position: absolute;
  top: 50%;
  right: 1em;
}
@media only screen and (min-width: 960px), print {
  .p-gnav__sub > li > a:after {
    background: #ffffff;
    border: none;
    width: 20px;
    height: 2px;
    opacity: 0.3;
    position: absolute;
    top: inherit;
    bottom: 6px;
    left: 50%;
    transform: rotate(0deg) translate(-50%, 0);
    transition: all 0.3s;
  }
}
@media (hover: hover) and (pointer: fine) {
  .p-gnav__sub > li > a:hover, .p-gnav__sub > li > a:focus {
    border-bottom: none;
  }
}
@media only screen and (hover: hover) and (pointer: fine) and (min-width: 960px), print and (hover: hover) and (pointer: fine) {
  .p-gnav__sub > li > a:hover:after, .p-gnav__sub > li > a:focus:after {
    width: 200px;
    opacity: 1;
  }
}
.p-gnav__sub > li > a.entry {
  padding: 16px 0 16px 30px;
}
.p-gnav__sub > li > a.entry:before {
  background: url(../img/common/icon_entry_w.svg) no-repeat;
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.p-gnav__sub > li > a.mypage {
  padding: 16px 0 16px 30px;
}
.p-gnav__sub > li > a.mypage:before {
  background: url(../img/common/icon_mypage_w.svg) no-repeat;
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

/*
 * style.css
 */
/* ==========================================================
!Mainimg
========================================================== */
.l-mainimg {
  color: #ffffff;
}
.l-mainimg__inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  margin: min(9.0666666667vmin, 122px) auto min(10.6666666667vmin, 58px);
}
.l-mainimg__title_main {
  display: block;
  font-size: min(4.6666666667vmin, 2.1875rem);
  font-family: "Times New Roman", "YuMincho", "Yu Mincho", "Hiragino Mincho ProN", "MS PMincho", serif;
  letter-spacing: 0.03em;
  line-height: 1.66;
}
body.ua-android .l-mainimg__title_main {
  font-family: "Noto Serif JP", serif;
}
.l-mainimg__title_main[lang=en] {
  font-size: min(7.4666666667vmin, 3.5rem);
  font-family: garamond-premier-pro, serif;
  font-weight: 400;
  letter-spacing: 0.078em;
  line-height: 1.66;
}
.l-mainimg__title_sub {
  display: block;
  margin-top: min(5.3333333333vmin, 20px);
  font-size: min(4vmin, 1.875rem);
  font-family: "Times New Roman", "YuMincho", "Yu Mincho", "Hiragino Mincho ProN", "MS PMincho", serif;
  letter-spacing: 0.05em;
}
body.ua-android .l-mainimg__title_sub {
  font-family: "Noto Serif JP", serif;
}
@media only screen and (min-width: 769px), print {
  .l-mainimg__title_sub {
    font-size: 0.9375rem;
  }
}

/*
 * style.css
 */
/* ==========================================================
!CV Area
========================================================== */
/* 480px以上（大きめSP） */
/* 640px以上（ファブレット） */
/* 768px以上（タブレット） */
/* 960px以上（大きめタブレット 横位置とか） */
/* 1024px以上（基本のPC） */
/* 1280px以上（大きめPC） */
/*
 * style.css
 */
/* ==========================================================
!Breadcrumb
========================================================== */
.l-breadcrumbs {
  margin-top: 100px;
  padding: 20px 0;
  text-align: left;
  font-size: 0.75rem;
  overflow-y: hidden !important;
  overflow-x: auto !important;
}

.l-breadcrumbs__list > li {
  display: inline-block;
}
.l-breadcrumbs__list > li:not(:last-child)::after {
  content: "";
  display: inline-block;
  width: 0.5em;
  height: 0.5em;
  margin: 0 0.5em;
  border-top: 1px solid;
  border-right: 1px solid;
  transform: rotate(45deg);
  vertical-align: middle;
}
.l-breadcrumbs__list > li a {
  color: #ffffff;
  text-decoration: none;
}
.l-breadcrumbs__list > li a:hover, .l-breadcrumbs__list > li a:focus {
  text-decoration: underline;
}
@media not all and (min-width: 768px) {
  .l-breadcrumbs__list {
    display: flex;
    margin-top: 50px;
    padding-bottom: 8px;
  }
  .l-breadcrumbs__list::after {
    content: "";
    display: block;
    width: 1em;
    flex-shrink: 0;
  }
  .l-breadcrumbs__list > li {
    flex-shrink: 0;
  }
}

/*
 * style.css
 */
/* ==========================================================
!Contact
========================================================== */
.l-contact {
  padding-top: 90px;
  padding-bottom: 90px;
  background: #0F1937;
  color: #ffffff;
  text-align: center;
}
.l-contact__lead {
  margin: 30px 0 0 0;
}
.l-contact__btn {
  margin: 50px 0 0 0;
}

/*
 * style.css
 */
/* ==========================================================
!Footer
========================================================== */
.l-footer {
  background: #3366cc;
  padding: 50px 0 0;
  position: relative;
}
@media only screen and (min-width: 960px), print {
  .l-footer .l-inner {
    display: flex;
    align-items: flex-start;
    gap: 5%;
  }
}
.l-footer .copyright {
  background: #ffffff;
  font-size: 0.75rem;
  text-align: center;
  padding: 30px 0;
}

.p-footer {
  display: flex;
  gap: 50px;
}
.p-footer__info {
  display: flex;
  gap: 20px;
  margin: 0 0 50px;
  min-width: 316px;
}
@media only screen and (min-width: 960px), print {
  .p-footer__info {
    margin: 0 0 70px;
  }
}
@media (hover: hover) and (pointer: fine) {
  .p-footer__info a:hover, .p-footer__info a:focus {
    opacity: 0.6;
  }
}
.p-footer__txt h3 {
  color: #ffffff;
  font-size: 1rem;
  line-height: 1.2;
  margin: 0 0 10px;
}
.p-footer__txt p {
  color: #ffffff;
}
.p-footer__links {
  width: 100%;
}
@media only screen and (min-width: 1280px), print {
  .p-footer__links {
    display: flex;
    align-items: center;
    gap: 10px;
  }
}
@media only screen and (min-width: 1280px), print {
  .p-footer__links {
    width: inherit;
  }
}
.p-footer__sns {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin: 0 0 10px;
}
@media only screen and (min-width: 960px), print {
  .p-footer__sns {
    justify-content: flex-start;
  }
}
@media only screen and (min-width: 1280px), print {
  .p-footer__sns {
    margin: 0;
  }
}
.p-footer__sns li a {
  display: block;
}
@media (hover: hover) and (pointer: fine) {
  .p-footer__sns li a:hover, .p-footer__sns li a:focus {
    opacity: 0.6;
  }
}
.p-footer__basic {
  margin: 0 auto 24px;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  width: 90%;
}
@media only screen and (min-width: 960px), print {
  .p-footer__basic {
    flex-direction: row;
    margin: 0;
    width: inherit;
    justify-content: flex-start;
  }
}
.p-footer__basic li a {
  background: #ffffff;
  border-radius: 28px;
  color: #0066ff;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 56px;
  text-decoration: none;
  font-size: 0.875rem;
  line-height: 0;
  padding: 0 2.5em 0 calc(2.5em + 30px);
  position: relative;
}
.p-footer__basic li a:before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  width: 30px;
  height: 30px;
  left: 1.5em;
  transform: translateY(-50%);
}
.p-footer__basic li a.prv:before {
  background: url(../img/common/icon_prv.png) no-repeat center center;
}
.p-footer__basic li a.map:before {
  background: url(../img/common/icon_map.png) no-repeat center center;
}
.p-footer__basic li a.qry:before {
  background: url(../img/common/icon_qb.png) no-repeat center center;
}
@media (hover: hover) and (pointer: fine) {
  .p-footer__basic li a:hover, .p-footer__basic li a:focus {
    opacity: 0.6;
  }
}

/*
 * style.css
 */
/* ==========================================================
!Grid
========================================================== */
.l-grid {
  display: grid;
  gap: min(8vmin, 80px) min(4.6666666667vmin, 70px);
}

.l-grid__item :first-child {
  margin-top: 0;
}
.l-grid__item :last-child {
  margin-bottom: 0;
}

li.l-grid__item {
  list-style-type: none;
  margin: 0 0 0 0;
}

/*half-gap*/
.l-grid--hgap-half {
  gap: min(8vmin, 80px) calc(min(4.6666666667vmin, 70px) / 2);
}

.l-grid--vgap-half {
  gap: calc(min(8vmin, 80px) / 2) min(4.6666666667vmin, 70px);
}

.l-grid--gap-half {
  gap: calc(min(8vmin, 80px) / 2) calc(min(4.6666666667vmin, 70px) / 2);
}

/*固定カラム*/
.l-grid--col5 {
  grid-template-columns: repeat(5, 1fr);
}

.l-grid--col4 {
  grid-template-columns: repeat(4, 1fr);
}

.l-grid--col3 {
  grid-template-columns: repeat(3, 1fr);
}

.l-grid--col2 {
  grid-template-columns: repeat(2, 1fr);
}

@media not all and (min-width: 768px) {
  .l-grid--col3-md {
    grid-template-columns: repeat(3, 1fr);
  }
  .l-grid--col2-md {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media not all and (min-width: 640px) {
  .l-grid--col3-sm {
    grid-template-columns: repeat(3, 1fr);
  }
  .l-grid--col2-sm {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media not all and (min-width: 480px) {
  .l-grid--col3-xs {
    grid-template-columns: repeat(3, 1fr);
  }
  .l-grid--col2-xs {
    grid-template-columns: repeat(2, 1fr);
  }
}
/*1100px未満1カラム*/
@media not all and (min-width: 1100px) {
  .l-grid--stack-xl {
    grid-template-columns: 100%;
  }
}

/*960px未満1カラム*/
@media not all and (min-width: 960px) {
  .l-grid--stack-lg {
    grid-template-columns: 100%;
  }
}

/*768px未満1カラム*/
@media not all and (min-width: 768px) {
  .l-grid--stack-md {
    grid-template-columns: 100%;
  }
}

/*640px未満1カラム*/
@media not all and (min-width: 640px) {
  .l-grid--stack-sm {
    grid-template-columns: 100%;
  }
}

/*480px未満1カラム*/
@media not all and (min-width: 480px) {
  .l-grid--stack-xs {
    grid-template-columns: 100%;
  }
}

/*自動カラム*/
.l-grid--auto5 {
  grid-template-columns: repeat(auto-fill, minmax(178px, 1fr));
}

.l-grid--auto4 {
  grid-template-columns: repeat(auto-fill, minmax(233px, 1fr));
}

.l-grid--auto3 {
  grid-template-columns: repeat(auto-fill, minmax(324px, 1fr));
}

.l-grid--auto2 {
  grid-template-columns: repeat(auto-fill, minmax(506px, 1fr));
}

/*ページ内リンク (PC: 4カラム / SP: 2カラム)*/
.l-grid--inpageNav {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: unset;
}
.l-grid--inpageNav:before, .l-grid--inpageNav:after {
  content: "";
  display: block;
  width: 48%;
}
@media only screen and (min-width: 960px), print {
  .l-grid--inpageNav:before, .l-grid--inpageNav:after {
    width: 23.5%;
  }
}
.l-grid--inpageNav:before {
  order: 1;
}
.l-grid--inpageNav .l-grid__item {
  width: 48%;
  margin: 0 0 20px;
}
@media only screen and (min-width: 960px), print {
  .l-grid--inpageNav .l-grid__item {
    width: 23.5%;
  }
}

/*
 * style.css
 */
/* ==========================================================
!Grid
========================================================== */
.l-fgrid {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  margin: -15px -20px -15px -20px;
}

.l-fgrid__item {
  width: 100%;
  margin: 30px 0 30px 0;
  padding: 0 20px;
}

li.l-fgrid__item {
  list-style-type: none;
  margin: 0 0 0 0;
}

.l-fgrid__item-1 {
  width: calc(8.3333333333% * 1);
}

.l-fgrid__item-2 {
  width: calc(8.3333333333% * 2);
}

.l-fgrid__item-3 {
  width: calc(8.3333333333% * 3);
}

.l-fgrid__item-4 {
  width: calc(8.3333333333% * 4);
}

.l-fgrid__item-5 {
  width: calc(8.3333333333% * 5);
}

.l-fgrid__item-6 {
  width: calc(8.3333333333% * 6);
}

.l-fgrid__item-7 {
  width: calc(8.3333333333% * 7);
}

.l-fgrid__item-8 {
  width: calc(8.3333333333% * 8);
}

.l-fgrid__item-9 {
  width: calc(8.3333333333% * 9);
}

.l-fgrid__item-10 {
  width: calc(8.3333333333% * 10);
}

.l-fgrid__item-11 {
  width: calc(8.3333333333% * 11);
}

.l-fgrid__item-12 {
  width: calc(8.3333333333% * 12);
}

.l-fgrid--hgap-half {
  margin: -15px -10px -15px -10px;
}
.l-fgrid--hgap-half .l-fgrid__item {
  padding: 0 10px;
}

.l-fgrid--vgap-half {
  margin: -7px -20px -7px -20px;
}
.l-fgrid--vgap-half .l-fgrid__item {
  margin: 15px 0 15px 0;
}

.l-fgrid--gap-half {
  margin: -7px -10px -7px -10px;
}
.l-fgrid--gap-half .l-fgrid__item {
  margin: 15px 0 15px 0;
  padding: 0 10px;
}

/*960px未満1カラム*/
@media not all and (min-width: 960px) {
  .l-fgrid--stack-lg {
    flex-direction: column;
  }
  .l-fgrid--stack-lg .l-fgrid__item-1 {
    width: 100%;
  }
  .l-fgrid--stack-lg .l-fgrid__item-2 {
    width: 100%;
  }
  .l-fgrid--stack-lg .l-fgrid__item-3 {
    width: 100%;
  }
  .l-fgrid--stack-lg .l-fgrid__item-4 {
    width: 100%;
  }
  .l-fgrid--stack-lg .l-fgrid__item-5 {
    width: 100%;
  }
  .l-fgrid--stack-lg .l-fgrid__item-6 {
    width: 100%;
  }
  .l-fgrid--stack-lg .l-fgrid__item-7 {
    width: 100%;
  }
  .l-fgrid--stack-lg .l-fgrid__item-8 {
    width: 100%;
  }
  .l-fgrid--stack-lg .l-fgrid__item-9 {
    width: 100%;
  }
  .l-fgrid--stack-lg .l-fgrid__item-10 {
    width: 100%;
  }
  .l-fgrid--stack-lg .l-fgrid__item-11 {
    width: 100%;
  }
  .l-fgrid--stack-lg .l-fgrid__item-12 {
    width: 100%;
  }
}

/*768px未満1カラム*/
@media not all and (min-width: 768px) {
  .l-fgrid--stack-md {
    flex-direction: column;
  }
  .l-fgrid--stack-md .l-fgrid__item-1 {
    width: 100%;
  }
  .l-fgrid--stack-md .l-fgrid__item-2 {
    width: 100%;
  }
  .l-fgrid--stack-md .l-fgrid__item-3 {
    width: 100%;
  }
  .l-fgrid--stack-md .l-fgrid__item-4 {
    width: 100%;
  }
  .l-fgrid--stack-md .l-fgrid__item-5 {
    width: 100%;
  }
  .l-fgrid--stack-md .l-fgrid__item-6 {
    width: 100%;
  }
  .l-fgrid--stack-md .l-fgrid__item-7 {
    width: 100%;
  }
  .l-fgrid--stack-md .l-fgrid__item-8 {
    width: 100%;
  }
  .l-fgrid--stack-md .l-fgrid__item-9 {
    width: 100%;
  }
  .l-fgrid--stack-md .l-fgrid__item-10 {
    width: 100%;
  }
  .l-fgrid--stack-md .l-fgrid__item-11 {
    width: 100%;
  }
  .l-fgrid--stack-md .l-fgrid__item-12 {
    width: 100%;
  }
}

/*640px未満1カラム*/
@media not all and (min-width: 640px) {
  .l-fgrid--stack-sm {
    flex-direction: column;
  }
  .l-fgrid--stack-sm .l-fgrid__item-1 {
    width: 100%;
  }
  .l-fgrid--stack-sm .l-fgrid__item-2 {
    width: 100%;
  }
  .l-fgrid--stack-sm .l-fgrid__item-3 {
    width: 100%;
  }
  .l-fgrid--stack-sm .l-fgrid__item-4 {
    width: 100%;
  }
  .l-fgrid--stack-sm .l-fgrid__item-5 {
    width: 100%;
  }
  .l-fgrid--stack-sm .l-fgrid__item-6 {
    width: 100%;
  }
  .l-fgrid--stack-sm .l-fgrid__item-7 {
    width: 100%;
  }
  .l-fgrid--stack-sm .l-fgrid__item-8 {
    width: 100%;
  }
  .l-fgrid--stack-sm .l-fgrid__item-9 {
    width: 100%;
  }
  .l-fgrid--stack-sm .l-fgrid__item-10 {
    width: 100%;
  }
  .l-fgrid--stack-sm .l-fgrid__item-11 {
    width: 100%;
  }
  .l-fgrid--stack-sm .l-fgrid__item-12 {
    width: 100%;
  }
}

/*480px未満1カラム*/
@media not all and (min-width: 480px) {
  .l-fgrid--stack-xs {
    flex-direction: column;
  }
  .l-fgrid--stack-xs .l-fgrid__item-1 {
    width: 100%;
  }
  .l-fgrid--stack-xs .l-fgrid__item-2 {
    width: 100%;
  }
  .l-fgrid--stack-xs .l-fgrid__item-3 {
    width: 100%;
  }
  .l-fgrid--stack-xs .l-fgrid__item-4 {
    width: 100%;
  }
  .l-fgrid--stack-xs .l-fgrid__item-5 {
    width: 100%;
  }
  .l-fgrid--stack-xs .l-fgrid__item-6 {
    width: 100%;
  }
  .l-fgrid--stack-xs .l-fgrid__item-7 {
    width: 100%;
  }
  .l-fgrid--stack-xs .l-fgrid__item-8 {
    width: 100%;
  }
  .l-fgrid--stack-xs .l-fgrid__item-9 {
    width: 100%;
  }
  .l-fgrid--stack-xs .l-fgrid__item-10 {
    width: 100%;
  }
  .l-fgrid--stack-xs .l-fgrid__item-11 {
    width: 100%;
  }
  .l-fgrid--stack-xs .l-fgrid__item-12 {
    width: 100%;
  }
}

/*
 * style.css
 */
/* ==========================================================
!Media
========================================================== */
.l-media {
  display: flex;
  flex-direction: reverse;
  justify-content: space-between;
}
.l-media + .l-media {
  margin: 80px 0 0 0;
  margin: clamp(60px, 8vmin, 80px) 0 0 0;
}
.l-media__body {
  width: calc(100% - min(30.798%, 324px) - 30px);
}
.l-media__body *:first-child {
  margin-top: 0;
}
.l-media__body *:last-child {
  margin-bottom: 0;
}
.l-media__body p {
  margin: 0.5em 0 0.5em 0;
}
.l-media__body h2 + *,
.l-media__body h3 + * {
  margin-top: 20px !important;
}
.l-media__thumb {
  flex-shrink: 0;
  width: 324px;
  width: min(30.798%, 324px);
}
.l-media__thumb img {
  max-width: none;
  width: 100%;
}
.l-media--row-reverse {
  flex-direction: row-reverse;
}
@media not all and (min-width: 768px) {
  .l-media--stack-md {
    flex-direction: column;
  }
  .l-media--stack-md .l-media__body {
    width: auto;
  }
  .l-media--stack-md .l-media__thumb {
    width: auto;
    max-width: none;
    margin: 0 0 40px 0;
  }
  .l-media--stack-md.l-media--column-reverse {
    flex-direction: column-reverse;
  }
  .l-media--stack-md.l-media--column-reverse .l-media__thumb {
    margin: 40px 0 0 0;
  }
}
@media not all and (min-width: 640px) {
  .l-media--stack-sm {
    flex-direction: column;
  }
  .l-media--stack-sm .l-media__body {
    width: auto;
  }
  .l-media--stack-sm .l-media__thumb {
    width: auto;
    max-width: none;
    margin: 0 0 40px 0;
  }
  .l-media--stack-sm.l-media--column-reverse {
    flex-direction: column-reverse;
  }
  .l-media--stack-sm.l-media--column-reverse .l-media__thumb {
    margin: 40px 0 0 0;
  }
}
@media not all and (min-width: 480px) {
  .l-media--stack-xs {
    flex-direction: column;
  }
  .l-media--stack-xs .l-media__body {
    width: auto;
  }
  .l-media--stack-xs .l-media__thumb {
    width: auto;
    max-width: none;
    margin: 0 0 40px 0;
  }
  .l-media--stack-xs.l-media--column-reverse {
    flex-direction: column-reverse;
  }
  .l-media--stack-xs.l-media--column-reverse .l-media__thumb {
    margin: 40px 0 0 0;
  }
}

.l-media--break-left {
  display: block;
}
.l-media--break-left .l-media__body {
  width: calc(100% + max(10px, 5.3%));
  margin-left: calc(50% - 50vw);
  padding: min(13.3333333333vmin, 50px) min(6.6666666667vmin, 25px) min(40vmin, 150px) calc(50vw - 50%);
  background: #000000;
}
.l-media--break-left .l-media__body > :first-child {
  margin-top: 0;
}
.l-media--break-left .l-media__thumb {
  width: calc(100% + max(10px, 5.3%));
  margin-top: max(-24vmin, -90px) !important;
}
.l-media--break-left .l-media__thumb > * {
  margin: 0;
}
@media only screen and (min-width: 769px), print {
  .l-media--break-left {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .l-media--break-left::before {
    position: absolute;
    right: 30%;
    top: 0;
    bottom: 0;
    margin: auto;
    content: "";
    display: block;
    width: 100vw;
    background: #000000;
  }
  .l-media--break-left .l-media__body {
    position: relative;
    z-index: 1;
    width: 42.7272727273%;
    padding: 100px 0;
    margin: 0;
    background: none;
  }
  .l-media--break-left .l-media__thumb {
    position: relative;
    z-index: 1;
    width: 50%;
    margin-top: 0 !important;
  }
}

/*
 * style.css
 */
/* ==========================================================
!Entry header
========================================================== */
.l-entry-header {
  color: #ffffff;
}
.l-entry-header__inner {
  margin: min(9.0666666667vmin, 122px) auto min(10.6666666667vmin, 58px);
}
.l-entry-header__title {
  display: block;
  font-size: min(4.6666666667vmin, 2.1875rem);
  font-family: "Times New Roman", "YuMincho", "Yu Mincho", "Hiragino Mincho ProN", "MS PMincho", serif;
  letter-spacing: 0.03em;
  line-height: 1.66;
  text-align: center;
}
body.ua-android .l-entry-header__title {
  font-family: "Noto Serif JP", serif;
}
.l-entry-header__meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: min(13.3333333333vmin, 100px);
}
.l-entry-header__meta-data time {
  display: inline-block;
  margin-right: 24px;
  font-family: garamond-premier-pro-caption, serif;
  font-size: 0.8125rem;
}

/*
 * style.css
 */
/* ==========================================================
!Editor内スタイル
========================================================== */
.l-entry-content {
  line-height: 2;
}
.l-entry-content > *:first-child {
  margin-top: 0 !important;
}
.l-entry-content :where(p) {
  margin: 0 0 1em 0;
}
.l-entry-content .has-text-align-left {
  text-align: left;
}
.l-entry-content .has-text-align-center {
  text-align: center;
}
.l-entry-content .has-text-align-right {
  text-align: right;
}
.l-entry-content .has-small-font-size {
  font-size: 0.75rem;
}
.l-entry-content .has-medium-font-size {
  font-size: 0.9375rem;
  letter-spacing: 0.05em;
}
.l-entry-content .has-large-font-size {
  font-size: 1.125rem;
  letter-spacing: 0.08em;
}
.l-entry-content .has-x-large-font-size {
  font-size: 1.5rem;
  letter-spacing: 0.08em;
}
@media only screen and (min-width: 769px), print {
  .l-entry-content .has-small-font-size {
    font-size: 0.75rem;
  }
  .l-entry-content .has-medium-font-size {
    font-size: 1.125rem;
    letter-spacing: 0.08em;
  }
  .l-entry-content .has-large-font-size {
    font-size: 1.25rem;
    letter-spacing: 0.08em;
  }
  .l-entry-content .has-x-large-font-size {
    font-size: 1.5625rem;
    letter-spacing: 0.08em;
  }
}
.l-entry-content .has-gold-color {
  color: #B59A16;
}
.l-entry-content .has-gold-light-color {
  color: #E8DEAE;
}
.l-entry-content .has-blue-color {
  color: #285B98;
}
.l-entry-content .has-blue-dark-color {
  color: #778296;
}
.l-entry-content .has-gray-color {
  color: #CBCBCB;
}
.l-entry-content .has-white-color {
  color: #ffffff;
}
.l-entry-content .has-background-color {
  background-color: #000;
}
.l-entry-content .has-serif-font-family {
  font-family: "Times New Roman", "YuMincho", "Yu Mincho", "Hiragino Mincho ProN", "MS PMincho", serif;
}
body.ua-android .l-entry-content .has-serif-font-family {
  font-family: "Noto Serif JP", serif;
}
.l-entry-content :where(a[target=_blank]:not(.u-noicon))::after {
  content: "\e900";
}
.l-entry-content :where(a[href$=".pdf"]:not(.u-noicon))::after {
  content: "\e901";
}
.l-entry-content :where(a[target=_blank]:not(.u-noicon)),
.l-entry-content :where(a[href$=".pdf"]:not(.u-noicon)) {
  position: relative;
  display: inline;
  padding-right: 1em;
}
.l-entry-content :where(a[target=_blank]:not(.u-noicon))::after,
.l-entry-content :where(a[href$=".pdf"]:not(.u-noicon))::after {
  display: inline-block;
  margin-left: 0.3em;
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "icomoon" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  text-decoration: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.l-entry-content :where(ul) {
  margin: 20px 0;
  line-height: 1.4;
}
.l-entry-content :where(ul).is-col2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 min(4vmin, 40px);
}
@media only screen and (min-width: 769px), print {
  .l-entry-content :where(ul).is-pc-col2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0 min(4vmin, 40px);
  }
}
@media (max-width: 768px) {
  .l-entry-content :where(ul).is-sp-col2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0 min(4vmin, 20px);
  }
}
.l-entry-content :where(ul).c-ul-text--normal {
  margin-top: 0;
}
.l-entry-content :where(ul).c-ul-text--normal > li {
  margin-left: 0;
  padding-left: 0;
}
.l-entry-content :where(ul).c-ul-text--normal > li::before {
  display: none;
}
.l-entry-content :where(ol) {
  margin: 20px 0;
  line-height: 1.4;
}
.l-entry-content :where(ol).is-col2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 min(4vmin, 40px);
}
@media only screen and (min-width: 769px), print {
  .l-entry-content :where(ol).is-pc-col2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0 min(4vmin, 40px);
  }
}
@media (max-width: 768px) {
  .l-entry-content :where(ol).is-sp-col2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0 min(4vmin, 20px);
  }
}
.l-entry-content :where(ul > li) {
  position: relative;
  list-style-type: none;
  margin: 0.5em 0 0.5em 20px;
  padding-left: 1em;
}
.l-entry-content :where(ul > li)::before {
  position: absolute;
  left: 0;
  content: "-";
  display: inline-block;
  margin-right: 0.5em;
}
.l-entry-content :where(ol > li) {
  list-style: decimal;
  margin: 0.5em 0 0.5em 40px;
}
.l-entry-content :where(li ol > li) {
  margin: 0.5em 0 0.5em 30px;
}

hr,
hr.wp-block-separator {
  display: block;
  margin: 40px 0;
  border: 0;
  border-top: 1px solid #485B7B;
}
@media only screen and (min-width: 769px), print {
  hr,
  hr.wp-block-separator {
    margin: 70px 0;
  }
}

.wp-block-quote {
  overflow: hidden;
  position: relative;
  padding: min(5.3333333333vmin, 40px);
}
.wp-block-quote::before {
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  display: block;
  width: 100%;
  height: 17px;
}
.wp-block-quote::after {
  position: absolute;
  right: 0;
  bottom: 0;
  content: "";
  display: block;
  width: 100%;
  height: 17px;
}
.wp-block-quote cite {
  color: rgba(255, 255, 255, 0.5);
  font-size: 0.75rem;
}

.wp-block-pullquote blockquote {
  padding: min(5.3333333333vmin, 40px);
  background: #000713;
  text-align: left;
}
.wp-block-pullquote blockquote p {
  font-size: inherit;
  font-weight: bold;
  line-height: inherit;
}
.wp-block-pullquote blockquote cite {
  color: rgba(255, 255, 255, 0.5);
  font-size: 0.75rem;
}

dl dt {
  margin-top: 1.5em;
  font-weight: 500;
}

.wp-block-media-text {
  grid-template-columns: auto auto;
  gap: min(5.45%, 60px);
}
.wp-block-media-text .wp-block-media-text__content {
  padding: 0;
  font-size: inherit;
}
.wp-block-media-text .wp-block-media-text__content > :first-child {
  margin-top: 0;
}
.wp-block-media-text + .wp-block-media-text {
  margin-top: min(10.6666666667vmin, 80px);
}
.wp-block-image {
  margin-top: 1em;
  margin-bottom: 1em;
}
.wp-block-image:not(.alignwide):not(.alignfull) {
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}
.wp-block-image:not(.alignwide):not(.alignfull).alignright {
  margin-right: 0;
}
.wp-block-image:not(.alignwide):not(.alignfull).alignleft {
  margin-left: 0;
}
.wp-block-image figcaption {
  margin-top: 1rem;
  font-size: 0.75rem;
  line-height: 1.4;
}
.wp-block-image.alignfull figcaption {
  padding: 0 30px;
}

.wp-block-embed {
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 80px;
  margin-bottom: 80px;
  margin-top: min(10.6666666667vmin, 80px);
  margin-bottom: min(10.6666666667vmin, 80px);
}
.wp-block-embed.wp-embed-aspect-16-9 .wp-block-embed__wrapper::before {
  content: "";
  display: block;
  padding-top: 56.25%;
}
.wp-block-embed.wp-embed-aspect-16-9 .wp-block-embed__wrapper iframe {
  position: absolute;
  left: 0;
  top: 0;
  width: 100% !important;
  height: 100% !important;
}
.wp-block-embed figcaption {
  margin-top: 1em;
  font-size: 0.75rem;
  line-height: 1.4;
}
@media only screen and (min-width: 769px), print {
  .wp-block-embed figcaption {
    text-align: center;
  }
}

.wp-block-gallery {
  margin-top: 80px;
  margin-bottom: 80px;
  margin-top: min(10.6666666667vmin, 80px);
  margin-bottom: min(10.6666666667vmin, 80px);
}
.wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
  padding: min(4%, 20px) 8px;
  text-align: left;
  line-height: 1.4;
}
@media (min-width: 600px) {
  .wp-block-gallery.columns-3 figure:nth-child(1) figcaption,
  .wp-block-gallery.columns-3 figure:nth-child(2) figcaption,
  .wp-block-gallery.columns-3 figure:nth-child(3) figcaption {
    font-size: 0.625rem;
  }
  .wp-block-gallery.columns-4 figure:nth-child(1) figcaption,
  .wp-block-gallery.columns-4 figure:nth-child(2) figcaption,
  .wp-block-gallery.columns-4 figure:nth-child(3) figcaption,
  .wp-block-gallery.columns-4 figure:nth-child(4) figcaption {
    font-size: 0.625rem;
  }
}

.wp-block-file .wp-block-file__button {
  background: none;
  border: 1px solid #AAAAAA;
  font-family: "Times New Roman", "YuMincho", "Yu Mincho", "Hiragino Mincho ProN", "MS PMincho", serif;
}
body.ua-android .wp-block-file .wp-block-file__button {
  font-family: "Noto Serif JP", serif;
}

.wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column:nth-child(even),
.wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column:not(:first-child) {
  margin-left: min(5.45%, 60px);
}
@media (min-width: 600px) and (max-width: 781px) {
  .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column:nth-child(even) > .wp-block-column:nth-child(odd),
  .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column:not(:first-child) > .wp-block-column:nth-child(odd) {
    margin-left: 0;
  }
}
@media (max-width: 599px) {
  .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column:nth-child(even),
  .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column:not(:first-child) {
    margin-left: 0;
    margin-top: clamp(20px, 2.5%, 40px);
  }
}
@media (max-width: 599px) {
  .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column:not(:first-child) {
    margin-top: clamp(20px, 2.5%, 40px);
  }
}
.wp-block-columns .wp-block-image {
  margin-top: 0;
}
.wp-block-columns .wp-block-column > :first-child {
  margin-top: 0;
}
.wp-block-columns .wp-block-column > :last-child {
  margin-bottom: 0;
}
.wp-block-columns .wp-block-column h2, .wp-block-columns .wp-block-column h3, .wp-block-columns .wp-block-column h4, .wp-block-columns .wp-block-column h5, .wp-block-columns .wp-block-column h6 {
  margin-bottom: 0.5em;
}
.wp-block-columns .wp-block-column h2:not(:first-child), .wp-block-columns .wp-block-column h3:not(:first-child), .wp-block-columns .wp-block-column h4:not(:first-child), .wp-block-columns .wp-block-column h5:not(:first-child), .wp-block-columns .wp-block-column h6:not(:first-child) {
  margin-top: 1em;
}
.wp-block-columns + .wp-block-columns {
  margin-top: min(10.6666666667vmin, 80px);
}
.wp-block-columns + .wp-block-columns._vgap-half {
  margin-top: min(5.3333333333vmin, 40px);
}

@media (min-width: 600px) and (max-width: 781px) {
  .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column:not(:only-child) {
    flex-basis: calc(50% - min(2.725%, 30px)) !important;
    margin-top: min(5.45%, 60px);
  }
}
@media (max-width: 599px) {
  .wp-block-columns.has-media-on-the-right {
    flex-direction: column-reverse;
  }
  .wp-block-columns.has-media-on-the-right:not(.is-not-stacked-on-mobile) > .wp-block-column:not(:first-child) {
    margin-top: 0;
  }
  .wp-block-columns.has-media-on-the-right:not(.is-not-stacked-on-mobile) > .wp-block-column:first-child {
    margin-top: clamp(20px, 2.5%, 40px);
  }
}

.has-border {
  padding: min(3.3333333333vmin, 50px);
  border: 1px solid #F4F1E6;
}
.has-border > :first-child {
  margin-top: 0 !important;
}
.has-border > :last-child {
  margin-bottom: 0 !important;
}
.has-border > :first-child {
  margin-top: 0;
}
.has-border > :last-child {
  margin-bottom: 0;
}
.has-border h2, .has-border h3, .has-border h4, .has-border h5, .has-border h6 {
  margin-bottom: 0.5em;
}
.has-border h2:not(:first-child), .has-border h3:not(:first-child), .has-border h4:not(:first-child), .has-border h5:not(:first-child), .has-border h6:not(:first-child) {
  margin-top: 1em;
}
.has-border + .has-border {
  margin-top: min(10.6666666667vmin, 80px);
}

.is-for-speck {
  padding: min(3.3333333333vmin, 30px);
  border: 0;
  background: #000000;
  font-size: 0.75rem;
}
.is-for-speck > :first-child {
  margin-top: 0 !important;
}
.is-for-speck > :last-child {
  margin-bottom: 0 !important;
}
.is-for-speck :where(h2),
.is-for-speck :where(h3),
.is-for-speck :where(h4),
.is-for-speck :where(h5),
.is-for-speck :where(h6) {
  margin-bottom: 1em;
  padding-bottom: 0.3em;
  padding-left: 0 !important;
  border-left: 0 !important;
  border-bottom: 1px solid #AAAAAA;
  font-size: 1.0625rem;
  font-family: -apple-system, BlinkMacSystemFont, "Noto Sans JP", "YuGothic", "游ゴシック体", "Yu Gothic", "游ゴシック", "ヒラギノ角ゴシック", "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
}

.has-border-left {
  padding: 0 0 0 min(3.3333333333vmin, 30px);
  border: 0;
  border-left: 2px solid #3366cc;
}
.has-border-left > :first-child {
  margin-top: 0 !important;
}
.has-border-left > :last-child {
  margin-bottom: 0 !important;
}
.has-border-left + .has-border-left {
  margin-top: min(10.6666666667vmin, 80px);
}
.has-border-left h3 {
  padding-left: 0 !important;
  border-left: 0 !important;
}

.l-entry-content .l-section .wp-block-column > :first-child {
  margin-top: 0;
}
.l-entry-content .l-section .wp-block-column > :last-child {
  margin-bottom: 0;
}

/*
 * style.css
 */
/* ==========================================================
!Entry footer
========================================================== */
.l-entry-footer {
  color: #ffffff;
}
.l-entry-footer__inner {
  margin: min(9.0666666667vmin, 122px) auto min(10.6666666667vmin, 58px);
  text-align: right;
}

/*
 * style.css
 */
/* ==========================================================
!Box
========================================================== */
/*
 * style.css
 */
/* ==========================================================
!Button
========================================================== */
/*Button Base*/
.c-btn {
  position: relative;
  display: inline-block;
}

/*Button 100 Button*/
.c-btn--block.c-btn {
  /*display: block;*/
  width: 100%;
}
.c-btn--block.c-btn .c-btn__link {
  display: block;
  text-align: center;
  padding: 10px;
}
@media only screen and (min-width: 769px), print {
  .c-btn--block.c-btn .c-btn__link {
    padding: 10px 20px 10px 20px;
  }
}

/*標準ボタン*/
.c-btn__link:not([target=_blank]):not([href*=".pdf"]),
.wp-block-button__link:not([target=_blank]):not([href*=".pdf"]) {
  position: relative;
  appearance: none;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 80px;
  padding: calc(0.667em + 2px) calc(1.333em + 2px) calc(0.667em + 2px) 0;
  padding-right: min(21.3333333333vmin, 80px);
  border-radius: 0;
  background: none;
  color: #ffffff;
  font-size: inherit;
  text-decoration: none;
  letter-spacing: 0.17em;
  line-height: 1.4;
  text-align: center;
  cursor: pointer;
  transition: 0.3s;
}
.c-btn__link:not([target=_blank]):not([href*=".pdf"]).has-text-align-left,
.wp-block-button__link:not([target=_blank]):not([href*=".pdf"]).has-text-align-left {
  text-align: left;
}
.c-btn__link:not([target=_blank]):not([href*=".pdf"]).has-text-align-right,
.wp-block-button__link:not([target=_blank]):not([href*=".pdf"]).has-text-align-right {
  text-align: right;
}
.c-btn__link:not([target=_blank]):not([href*=".pdf"])::before,
.wp-block-button__link:not([target=_blank]):not([href*=".pdf"])::before {
  position: absolute;
  right: 0;
  top: 50%;
  content: "";
  display: block;
  transform: translateY(-50%);
  width: min(13.3333333333vmin, 50px);
  height: min(13.3333333333vmin, 50px);
  border: 1px solid #485B7B;
  border-radius: 50%;
  transition: all 0.3s;
}
.c-btn__link:not([target=_blank]):not([href*=".pdf"])::after,
.wp-block-button__link:not([target=_blank]):not([href*=".pdf"])::after {
  position: absolute;
  right: min(10.6666666667vmin, 40px);
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  display: block;
  width: 30px;
  height: 0;
  border-top: 1px solid #ffffff;
  transform-origin: left top;
  transition: all 0.3s;
}
.c-btn__link:not([target=_blank]):not([href*=".pdf"]):hover::before, .c-btn__link:not([target=_blank]):not([href*=".pdf"]):focus::before,
.wp-block-button__link:not([target=_blank]):not([href*=".pdf"]):hover::before,
.wp-block-button__link:not([target=_blank]):not([href*=".pdf"]):focus::before {
  border-color: rgba(203, 189, 122, 0.6);
}
.c-btn__link:not([target=_blank]):not([href*=".pdf"]):hover::after, .c-btn__link:not([target=_blank]):not([href*=".pdf"]):focus::after,
.wp-block-button__link:not([target=_blank]):not([href*=".pdf"]):hover::after,
.wp-block-button__link:not([target=_blank]):not([href*=".pdf"]):focus::after {
  border-color: #CBBD7A;
  transform: scaleX(1.5);
}
.is-en .c-btn__link:not([target=_blank]):not([href*=".pdf"]),
.is-en .wp-block-button__link:not([target=_blank]):not([href*=".pdf"]) {
  font-size: 1.15em;
  font-family: garamond-premier-pro-caption, serif;
}
.c-btn__link:not([target=_blank]):not([href*=".pdf"]) span[lang=en],
.wp-block-button__link:not([target=_blank]):not([href*=".pdf"]) span[lang=en] {
  display: block;
  font-size: 1.5em;
  font-family: garamond-premier-pro-display, serif;
}

/*標準別窓ボタン*/
.c-btn__link[target=_blank],
.wp-block-button__link[target=_blank] {
  display: block;
  padding: calc(0.667em + 2px) 2em;
  border: 1px solid #555555;
  background: none;
  letter-spacing: 0.17em;
  font-size: inherit;
  line-height: 1.4;
  cursor: pointer;
  transition: 0.3s;
}
.c-btn__link[target=_blank]::after,
.wp-block-button__link[target=_blank]::after {
  margin-left: 0.5em;
}
.c-btn__link[target=_blank]:hover, .c-btn__link[target=_blank]:focus,
.wp-block-button__link[target=_blank]:hover,
.wp-block-button__link[target=_blank]:focus {
  background: #ffffff;
  color: #000000;
}
.is-white .c-btn__link[target=_blank],
.is-white .wp-block-button__link[target=_blank] {
  background: #ffffff;
  color: #000000 !important;
}
.is-white .c-btn__link[target=_blank]:hover, .is-white .c-btn__link[target=_blank]:focus,
.is-white .wp-block-button__link[target=_blank]:hover,
.is-white .wp-block-button__link[target=_blank]:focus {
  background: transparent !important;
  color: #ffffff !important;
}

/*標準PDFボタン*/
.c-btn__link[href$=".pdf"],
.wp-block-button__link[href$=".pdf"] {
  display: block;
  padding: calc(0.667em + 2px) 2em;
  border: 1px solid #555555;
  background: none;
  letter-spacing: 0.17em;
  font-size: inherit;
  line-height: 1.4;
  cursor: pointer;
  transition: 0.3s;
}
.c-btn__link[href$=".pdf"]::after,
.wp-block-button__link[href$=".pdf"]::after {
  margin-left: 0.5em;
}
.c-btn__link[href$=".pdf"]:hover, .c-btn__link[href$=".pdf"]:focus,
.wp-block-button__link[href$=".pdf"]:hover,
.wp-block-button__link[href$=".pdf"]:focus {
  background: #ffffff;
  color: #000000;
}
.is-white .c-btn__link[href$=".pdf"],
.is-white .wp-block-button__link[href$=".pdf"] {
  background: #ffffff;
  color: #000000 !important;
}
.is-white .c-btn__link[href$=".pdf"]:hover, .is-white .c-btn__link[href$=".pdf"]:focus,
.is-white .wp-block-button__link[href$=".pdf"]:hover,
.is-white .wp-block-button__link[href$=".pdf"]:focus {
  background: transparent !important;
  color: #ffffff !important;
}

/*アイコン無し丸ボタン*/
.c-btn--basic01.no-icon .c-btn__link,
.c-btn--basic01.no-icon .wp-block-button__link,
.wp-block-button.no-icon .c-btn__link,
.wp-block-button.no-icon .wp-block-button__link {
  display: block;
  min-height: 0;
  padding: calc(0.667em + 2px) 2em;
  border: 1px solid #555555;
  border-radius: 50px;
  background: none;
  color: #ffffff;
  letter-spacing: 0.17em;
  font-size: inherit;
  line-height: 1.4;
  cursor: pointer;
  transition: 0.3s;
}
.c-btn--basic01.no-icon .c-btn__link::before, .c-btn--basic01.no-icon .c-btn__link::after,
.c-btn--basic01.no-icon .wp-block-button__link::before,
.c-btn--basic01.no-icon .wp-block-button__link::after,
.wp-block-button.no-icon .c-btn__link::before,
.wp-block-button.no-icon .c-btn__link::after,
.wp-block-button.no-icon .wp-block-button__link::before,
.wp-block-button.no-icon .wp-block-button__link::after {
  display: none;
}
.c-btn--basic01.no-icon .c-btn__link:hover, .c-btn--basic01.no-icon .c-btn__link:focus,
.c-btn--basic01.no-icon .wp-block-button__link:hover,
.c-btn--basic01.no-icon .wp-block-button__link:focus,
.wp-block-button.no-icon .c-btn__link:hover,
.wp-block-button.no-icon .c-btn__link:focus,
.wp-block-button.no-icon .wp-block-button__link:hover,
.wp-block-button.no-icon .wp-block-button__link:focus {
  background: #ffffff;
  color: #000000;
}
.c-btn--basic01.no-icon.is-white .c-btn__link,
.c-btn--basic01.no-icon.is-white .wp-block-button__link,
.wp-block-button.no-icon.is-white .c-btn__link,
.wp-block-button.no-icon.is-white .wp-block-button__link {
  background: #ffffff;
  color: #000000;
}
.c-btn--basic01.no-icon.is-white .c-btn__link:hover, .c-btn--basic01.no-icon.is-white .c-btn__link:focus,
.c-btn--basic01.no-icon.is-white .wp-block-button__link:hover,
.c-btn--basic01.no-icon.is-white .wp-block-button__link:focus,
.wp-block-button.no-icon.is-white .c-btn__link:hover,
.wp-block-button.no-icon.is-white .c-btn__link:focus,
.wp-block-button.no-icon.is-white .wp-block-button__link:hover,
.wp-block-button.no-icon.is-white .wp-block-button__link:focus {
  background: transparent;
  color: #ffffff;
}

/*class標準ボタン*/
.c-btn--basic01 .c-btn__link[target=_blank],
.c-btn--basic01 .c-btn__link[href$=".pdf"] {
  display: block;
  color: #ffffff;
  text-decoration: none;
  border-radius: 50px;
  cursor: pointer;
  transition: 0.3s;
}
.c-btn--basic01 .c-btn__link[target=_blank]:hover, .c-btn--basic01 .c-btn__link[target=_blank]:focus,
.c-btn--basic01 .c-btn__link[href$=".pdf"]:hover,
.c-btn--basic01 .c-btn__link[href$=".pdf"]:focus {
  background: #ffffff;
  color: #000000;
}

/* メニュー型ボタン */
.c-btn--menu01 .wp-block-button__link,
.c-btn--menu01 .c-btn__link {
  position: relative;
  min-height: 0 !important;
  padding: calc(0.667em + 2px) calc(2em + 2px) calc(0.667em + 2px) 0 !important;
  border-bottom: 1px solid #485B7B;
  text-align: left !important;
}
.c-btn--menu01 .wp-block-button__link::before,
.c-btn--menu01 .c-btn__link::before {
  position: absolute;
  left: 0;
  top: auto !important;
  bottom: -1px;
  content: "";
  display: block;
  width: 40px !important;
  height: 0 !important;
  border-radius: 0 !important;
  border: 0 !important;
  border-top: 1px solid #CBBD7A !important;
}
.c-btn--menu01 .wp-block-button__link::after,
.c-btn--menu01 .c-btn__link::after {
  display: none !important;
}
.c-btn--menu01 .wp-block-button__link:hover::before, .c-btn--menu01 .wp-block-button__link:focus::before,
.c-btn--menu01 .c-btn__link:hover::before,
.c-btn--menu01 .c-btn__link:focus::before {
  width: 100% !important;
}

/*メニュー型ボタンレイアウト*/
.c-btn-menus {
  display: flex;
  flex-wrap: wrap;
  gap: 0 min(5.3333333333vmin, 30px);
}
.c-btn-menus .c-btn--menu01 {
  margin: 1em 0 0 0 !important;
}
.c-btn-menus.is-col3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0 min(8vmin, 85px);
}
.c-btn-menus.is-col3 .c-btn--menu01 .wp-block-button__link,
.c-btn-menus.is-col3 .c-btn--menu01 .c-btn__link {
  display: flex !important;
  flex-direction: row;
  justify-content: flex-start;
  align-items: flex-end;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 960px) {
  .c-btn-menus.is-col3 {
    grid-template-columns: repeat(2, 1fr);
    gap: 0 min(5.3333333333vmin, 30px);
  }
}
@media screen and (max-width: 599px) {
  .c-btn-menus.is-col3 {
    grid-template-columns: 1fr;
  }
  .c-btn-menus.is-col3 .c-btn--menu01 {
    width: 100% !important;
  }
}
.c-btn-menus.is-col4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0 min(5.3333333333vmin, 30px);
}
.c-btn-menus.is-col4 .c-btn--menu01 {
  align-self: end;
}
.c-btn-menus.is-col4 .c-btn--menu01 .wp-block-button__link,
.c-btn-menus.is-col4 .c-btn--menu01 .c-btn__link {
  display: flex !important;
  flex-direction: row;
  justify-content: flex-start;
  align-items: flex-end;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .c-btn-menus.is-col4 {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Basic Blue Button */
/* Basic Coffee Button */
/* Basic White Button */
/* Ghost Button */
/*Button Layout*/
.wp-block-buttons {
  display: flex;
  flex-direction: row;
}
.wp-block-buttons > .wp-block-button + .wp-block-button {
  margin: 0 0 0 1em;
}
.wp-block-buttons.c-btn-block--left {
  justify-content: flex-start;
}
.wp-block-buttons.c-btn-block--right {
  justify-content: flex-end;
}
.wp-block-buttons.c-btn-block--center {
  justify-content: center;
}
.wp-block-buttons.c-btn-block--stack {
  flex-direction: column;
  align-items: center;
}
.wp-block-buttons.c-btn-block--stack > .wp-block-button + .wp-block-button {
  margin: 1em 0 0 0;
}
.wp-block-buttons.c-btn-block--stack.c-btn-block--left {
  justify-content: flex-start;
  align-items: flex-start;
}
.wp-block-buttons.c-btn-block--stack.c-btn-block--right {
  justify-content: flex-start;
  align-items: flex-end;
}
.wp-block-buttons.c-btn-block--stack.c-btn-block--center {
  justify-content: flex-start;
  align-items: center;
}
@media not all and (min-width: 768px) {
  .wp-block-buttons.c-btn-block--stack-sp {
    flex-direction: column;
    align-items: center;
  }
  .wp-block-buttons.c-btn-block--stack-sp > .wp-block-button + .wp-block-button {
    margin: 1em 0 0 0;
  }
  .wp-block-buttons.c-btn-block--stack-sp.c-btn-block--left {
    justify-content: flex-start;
    align-items: flex-start;
  }
  .wp-block-buttons.c-btn-block--stack-sp.c-btn-block--right {
    justify-content: flex-start;
    align-items: flex-end;
  }
  .wp-block-buttons.c-btn-block--stack-sp.c-btn-block--center {
    justify-content: flex-start;
    align-items: center;
  }
}

.c-btn-block {
  display: flex;
  flex-direction: row;
}
.c-btn-block > .c-btn + .c-btn {
  margin: 0 0 0 1em;
}
.c-btn-block--left {
  justify-content: flex-start;
}
.c-btn-block--right {
  justify-content: flex-end;
}
.c-btn-block--center {
  justify-content: center;
}
.c-btn-block--stack {
  flex-direction: column;
  align-items: center;
}
.c-btn-block--stack > .c-btn + .c-btn {
  margin: 1em 0 0 0;
}
.c-btn-block--stack.c-btn-block--left {
  justify-content: flex-start;
  align-items: flex-start;
}
.c-btn-block--stack.c-btn-block--right {
  justify-content: flex-start;
  align-items: flex-end;
}
.c-btn-block--stack.c-btn-block--center {
  justify-content: flex-start;
  align-items: center;
}
@media not all and (min-width: 768px) {
  .c-btn-block--stack-sp {
    flex-direction: column;
    align-items: center;
  }
  .c-btn-block--stack-sp > .c-btn + .c-btn {
    margin: 1em 0 0 0;
  }
  .c-btn-block--stack-sp.c-btn-block--left {
    justify-content: flex-start;
    align-items: flex-start;
  }
  .c-btn-block--stack-sp.c-btn-block--right {
    justify-content: flex-start;
    align-items: flex-end;
  }
  .c-btn-block--stack-sp.c-btn-block--center {
    justify-content: flex-start;
    align-items: center;
  }
}

.c-btn-inline .c-btn {
  margin: 1em 1em 0 0;
}

/*Navigation Button*/
.c-btn-prev,
.c-btn-next {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #0F1937;
  cursor: pointer;
  transition: 0.3s background-color;
}
.c-btn-prev:hover, .c-btn-prev:focus-visible,
.c-btn-next:hover,
.c-btn-next:focus-visible {
  background: #485B7B;
}

/*
 * style.css
 */
/* ==========================================================
!H(n)eading
========================================================== */
/*section title - with Large English Ornament*/
.c-heading-lv2--primary {
  position: relative;
  margin-bottom: min(13.3333333333vmin, 50px);
  font-family: "Times New Roman", "YuMincho", "Yu Mincho", "Hiragino Mincho ProN", "MS PMincho", serif;
  font-size: min(4.8vmin, 1.5625rem) !important;
  text-align: center;
  letter-spacing: 0.18em;
  line-height: 1;
}
body.ua-android .c-heading-lv2--primary {
  font-family: "Noto Serif JP", serif;
}
@media only screen and (min-width: 769px), print {
  .c-heading-lv2--primary {
    margin-bottom: 60px;
  }
}
.c-heading-lv2--primary::before {
  content: attr(title);
  display: block;
  margin-bottom: 0.5em;
  text-align: center;
  font-family: garamond-premier-pro-display, serif;
  font-size: min(7.4666666667vmin, 1.8125rem);
  font-weight: 200;
  line-height: 1;
}
@media only screen and (min-width: 769px), print {
  .c-heading-lv2--primary::before {
    margin-bottom: 1em;
    font-size: 1.16em;
  }
}
.c-heading-lv2--primary::after {
  position: absolute;
  right: -0.4em;
  top: 50%;
  transform: translateY(-50%);
  mix-blend-mode: overlay;
  content: attr(title);
  color: #ffffff;
  font-family: garamond-premier-pro-display, serif;
  font-size: min(28vmin, 240px);
  font-weight: 200;
  letter-spacing: 0.18em;
  line-height: 1;
  white-space: nowrap;
  opacity: 0.7;
}
@media only screen and (min-width: 769px), print {
  .c-heading-lv2--primary::after {
    letter-spacing: 0.1em;
  }
}
@media only screen and (min-width: 769px), print {
  .c-heading-lv2--primary._news::after {
    letter-spacing: 0.18em;
  }
}
.c-heading-lv2--primary._brand::after {
  right: auto;
  left: -0.2em;
}
@media only screen and (min-width: 769px), print {
  .c-heading-lv2--primary._brand::after {
    top: auto;
    bottom: -120px;
    left: -100px;
    transform: translateY(0);
    letter-spacing: 0.14em;
  }
}
.c-heading-lv2--primary._ranking::after {
  right: auto;
  left: 50%;
  transform: translate(-50%, -50%);
  letter-spacing: 0.1em;
}
@media only screen and (min-width: 769px), print {
  .c-heading-lv2--primary._ranking::after {
    right: auto;
    left: 0;
    transform: translate(0, -80%);
  }
}
.c-heading-lv2--primary._column::after {
  letter-spacing: 0.1em;
}
@media only screen and (min-width: 769px), print {
  .c-heading-lv2--primary._column::after {
    right: -0.5em;
  }
}
.c-heading-lv2--primary._hotitem::after {
  right: auto;
  left: -0.2em;
  top: -0.1em;
  letter-spacing: 0.03em;
}
.c-heading-lv2--primary._productlist::after {
  top: -0.1em;
  right: -0.2em;
  font-size: min(24vmin, 210px);
  letter-spacing: 0.03em;
}
.c-heading-lv2--primary._category::after {
  top: -0.1em;
  letter-spacing: 0.03em;
}
@media only screen and (min-width: 769px), print {
  .c-heading-lv2--primary._category::after {
    letter-spacing: 0.1em;
  }
}
.c-heading-lv2--primary._no_bg::after {
  display: none;
}

/*h2,h3デフォルト装飾付き*/
.l-entry-content h2:not(.has-uline2):not(.has-leftline):not(.no-line):not(.c-heading-lv2--primary) {
  padding-bottom: 0.5em;
  border-bottom: 1px solid #485B7B;
}
.l-entry-content h2.no-line {
  padding-bottom: 0;
  border-bottom: 0;
}
.l-entry-content h3:not(.has-uline):not(.has-uline2):not(.no-line) {
  border-left: 3px solid #CBBD7A;
  padding-left: min(4vmin, 30px);
}
.l-entry-content h3.no-line {
  border-left: 0;
  padding-left: 0;
}

/*見出し装飾*/
h2.has-uline, h3.has-uline, h4.has-uline, h5.has-uline, h6.has-uline {
  padding-bottom: 0.5em;
  border-bottom: 1px solid #485B7B;
}
h2.has-uline2, h3.has-uline2, h4.has-uline2, h5.has-uline2, h6.has-uline2 {
  position: relative;
  padding-bottom: 0.5em;
  border-bottom: 1px solid #485B7B;
}
h2.has-uline2::before, h3.has-uline2::before, h4.has-uline2::before, h5.has-uline2::before, h6.has-uline2::before {
  position: absolute;
  left: 0;
  bottom: 0;
  content: "";
  display: block;
  width: 30px;
  border-top: 1px solid #ffffff;
}
h2.has-leftline, h3.has-leftline, h4.has-leftline, h5.has-leftline, h6.has-leftline {
  border-left: 3px solid #CBBD7A;
  padding-left: min(4vmin, 30px);
}

/*Lv2*/
.c-heading-lv2,
.l-entry-content :where(h2),
.l-entry-content .c-heading-lv2 {
  margin: 50px 0 30px 0;
  font-size: 1.5rem;
  font-weight: 500;
  font-family: "Times New Roman", "YuMincho", "Yu Mincho", "Hiragino Mincho ProN", "MS PMincho", serif;
  line-height: 1.7;
  letter-spacing: 0.14em;
}
body.ua-android .c-heading-lv2,
body.ua-android .l-entry-content :where(h2),
body.ua-android .l-entry-content .c-heading-lv2 {
  font-family: "Noto Serif JP", serif;
}
.c-heading-lv2 + *,
.l-entry-content :where(h2) + *,
.l-entry-content .c-heading-lv2 + * {
  margin-top: 0;
}
.l-side .c-heading-lv2,
.l-side .l-entry-content :where(h2),
.l-side .l-entry-content .c-heading-lv2 {
  margin: 50px 0 10px 0;
  font-size: 1.25rem;
}
@media only screen and (min-width: 769px), print {
  .c-heading-lv2,
  .l-entry-content :where(h2),
  .l-entry-content .c-heading-lv2 {
    margin: 60px 0 40px 0;
    font-size: 1.875rem;
  }
  .l-side .c-heading-lv2,
  .l-side .l-entry-content :where(h2),
  .l-side .l-entry-content .c-heading-lv2 {
    font-size: 1.25rem;
  }
}

.c-heading-lv2-lg,
.l-entry-content .c-heading-lv2-lg {
  margin: 60px 0 40px 0;
  font-family: "Times New Roman", "YuMincho", "Yu Mincho", "Hiragino Mincho ProN", "MS PMincho", serif;
  font-size: 1.75rem;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.14em;
}
body.ua-android .c-heading-lv2-lg,
body.ua-android .l-entry-content .c-heading-lv2-lg {
  font-family: "Noto Serif JP", serif;
}
.c-heading-lv2-lg + *,
.l-entry-content .c-heading-lv2-lg + * {
  margin-top: 0;
}
@media only screen and (min-width: 769px), print {
  .c-heading-lv2-lg,
  .l-entry-content .c-heading-lv2-lg {
    margin: 80px 0 60px 0;
    font-size: 2.1875rem;
  }
}

/*Lv3*/
.c-heading-lv3,
.l-entry-content :where(h3),
.l-entry-content .c-heading-lv3 {
  margin: 40px 0 20px 0;
  font-size: 1.25rem;
  font-weight: 500;
  font-family: "Times New Roman", "YuMincho", "Yu Mincho", "Hiragino Mincho ProN", "MS PMincho", serif;
  line-height: 1.7;
  letter-spacing: 0.08em;
}
body.ua-android .c-heading-lv3,
body.ua-android .l-entry-content :where(h3),
body.ua-android .l-entry-content .c-heading-lv3 {
  font-family: "Noto Serif JP", serif;
}
.c-heading-lv3 + *,
.l-entry-content :where(h3) + *,
.l-entry-content .c-heading-lv3 + * {
  margin-top: 0;
}
@media only screen and (min-width: 769px), print {
  .c-heading-lv3,
  .l-entry-content :where(h3),
  .l-entry-content .c-heading-lv3 {
    margin: 50px 0 30px 0;
    font-size: 1.5625rem;
  }
}

/*Lv4*/
.c-heading-lv4,
.l-entry-content :where(h4),
.l-entry-content .c-heading-lv4 {
  margin: 40px 0 20px 0;
  font-size: 1.25rem;
  font-weight: 500;
  font-family: "Times New Roman", "YuMincho", "Yu Mincho", "Hiragino Mincho ProN", "MS PMincho", serif;
  line-height: 1.7;
  letter-spacing: 0.08em;
}
body.ua-android .c-heading-lv4,
body.ua-android .l-entry-content :where(h4),
body.ua-android .l-entry-content .c-heading-lv4 {
  font-family: "Noto Serif JP", serif;
}
.c-heading-lv4 + *,
.l-entry-content :where(h4) + *,
.l-entry-content .c-heading-lv4 + * {
  margin-top: 0;
}
@media only screen and (min-width: 769px), print {
  .c-heading-lv4,
  .l-entry-content :where(h4),
  .l-entry-content .c-heading-lv4 {
    margin: 50px 0 30px 0;
    font-size: 1.25rem;
  }
}

/*Lv5*/
.c-heading-lv5,
.l-entry-content :where(h5),
.l-entry-content .c-heading-lv5 {
  margin: 40px 0 20px 0;
  font-size: 1rem;
  font-weight: 500;
  font-family: "Times New Roman", "YuMincho", "Yu Mincho", "Hiragino Mincho ProN", "MS PMincho", serif;
  line-height: 1.7;
  letter-spacing: 0.08em;
}
body.ua-android .c-heading-lv5,
body.ua-android .l-entry-content :where(h5),
body.ua-android .l-entry-content .c-heading-lv5 {
  font-family: "Noto Serif JP", serif;
}
.c-heading-lv5 + *,
.l-entry-content :where(h5) + *,
.l-entry-content .c-heading-lv5 + * {
  margin-top: 0;
}
@media only screen and (min-width: 769px), print {
  .c-heading-lv5,
  .l-entry-content :where(h5),
  .l-entry-content .c-heading-lv5 {
    font-size: 1.125rem;
  }
}

/*Lv6*/
.c-heading-lv6,
.l-entry-content :where(h6),
.l-entry-content .c-heading-lv6 {
  margin: 40px 0 20px 0;
  font-size: 0.9375rem;
  font-weight: 500;
  font-family: "Times New Roman", "YuMincho", "Yu Mincho", "Hiragino Mincho ProN", "MS PMincho", serif;
  line-height: 1.7;
  letter-spacing: 0.08em;
}
body.ua-android .c-heading-lv6,
body.ua-android .l-entry-content :where(h6),
body.ua-android .l-entry-content .c-heading-lv6 {
  font-family: "Noto Serif JP", serif;
}
.c-heading-lv6 + *,
.l-entry-content :where(h6) + *,
.l-entry-content .c-heading-lv6 + * {
  margin-top: 0;
}
@media only screen and (min-width: 769px), print {
  .c-heading-lv6,
  .l-entry-content :where(h6),
  .l-entry-content .c-heading-lv6 {
    font-size: 1rem;
  }
}

/*
 * style.css
 */
/* ==========================================================
!Icon
========================================================== */
.c-ico-link {
  position: relative;
}
.c-ico-link::before {
  position: absolute;
  right: 10px;
  bottom: 15px;
  content: "";
  display: block;
  width: 30px;
  height: 30px;
  border: 1.5px solid #0F1937;
  border-radius: 50%;
}
.c-ico-link::after {
  position: absolute;
  right: 18px;
  bottom: 28px;
  content: "";
  display: block;
  width: 34px;
  height: 5px;
  transition: all 0.3s;
}
.c-ico-link:hover, .c-ico-link:focus {
  color: #0F1937;
}
.c-ico-link:hover > span, .c-ico-link:focus > span {
  transform: translateX(15px);
}
.c-ico-link:hover::after, .c-ico-link:focus::after {
  right: -8px;
}

/*SNSアイコン*/
.c-ico-sns {
  line-height: 1;
}
.c-ico-sns > li {
  display: inline-block;
  margin: 0 0 0 0;
  font-size: 1.875rem;
  text-indent: 0;
}
.c-ico-sns > li:not(:first-child) {
  margin: 0 0 0 0.5em;
}
.c-ico-sns > li::before {
  display: none;
}
.c-ico-sns > li a {
  padding-right: 0;
  color: #0F1937;
  text-decoration: none;
}
.c-ico-sns > li a[target=_blank]::after {
  display: none;
}
.c-ico-sns > li a:hover {
  color: #485B7B;
}

/*下矢印*/
.c-ico-arrow-down,
.c-ico-arrow-down-w {
  display: inline-block;
  vertical-align: middle;
  line-height: 1;
  width: 0.6em;
  height: 0.6em;
  border-top: 2px solid #0F1937;
  border-right: 2px solid #0F1937;
  border-left: 0;
  border-bottom: 0;
  box-sizing: border-box;
  transform: translateY(-25%) rotate(135deg);
  margin: 0 0 0 10px;
  transition: all 0.35s ease;
}
a:hover .c-ico-arrow-down,
a:hover .c-ico-arrow-down-w {
  border-top: 2px solid #ffffff;
  border-right: 2px solid #ffffff;
}

.c-ico-arrow-down-w {
  border-top: 2px solid #ffffff;
  border-right: 2px solid #ffffff;
}

/*
 * style.css
 */
/* ==========================================================
!label
========================================================== */
.c-label {
  display: inline-block;
  margin-right: 0.5em;
  padding: 0 1em;
  border: 1px solid #485B7B;
  font-size: 0.75rem;
}

.c-labellist > li {
  display: inline-block;
  margin: 5px 5px 5px 0;
  text-indent: 0;
}
.c-labellist > li::before {
  display: none;
}
.c-labellist > li a {
  display: inline-block;
  padding: 8px 15px 8px 15px;
  border-radius: 20px;
  background: #485B7B;
  color: #ffffff;
  line-height: 1;
  text-decoration: none;
  font-size: 0.875rem;
}
.c-labellist > li a:hover, .c-labellist > li a:focus {
  background: #d1dde9;
}

/*
 * style.css
 */
/* ==========================================================
!Listing
========================================================== */
.c-ul-text > li {
  position: relative;
  padding-left: 1em;
}
.c-ul-text > li + li {
  margin-top: 0.5em;
}
.c-ul-text > li::before {
  position: absolute;
  left: 0;
  top: 0;
  display: inline-block;
  margin-right: 0.5em;
  content: "-";
}
.c-ul-text.is-col2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 min(4vmin, 40px);
}
@media only screen and (min-width: 769px), print {
  .c-ul-text.is-pc-col2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0 min(4vmin, 40px);
  }
}
@media (max-width: 768px) {
  .c-ul-text.is-sp-col2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0 min(4vmin, 20px);
  }
}

.c-ul-small {
  margin: 10px 0;
  line-height: 1.67;
  font-size: 0.75rem;
}
.c-ul-small > li {
  padding-left: 0;
  list-style-type: disc;
}
.c-ul-small > li::before {
  display: none;
}

.c-ul-text--normal {
  padding-left: 0;
}
.c-ul-text--normal::before {
  display: none;
}

.c-number-list li {
  display: flex;
  align-items: center;
  counter-increment: num 1;
  list-style: none;
  margin: 20px 0 0 0;
  padding: 20px 0;
  border-bottom: 1px solid rgba(72, 91, 123, 0.5);
}
.c-number-list li::before {
  content: counter(num, decimal-leading-zero);
  margin-right: min(2.6666666667vmin, 30px);
  color: #0F1937;
  font-family: garamond-premier-pro, serif;
  font-size: min(8vmin, 5em);
  line-height: 1;
}
@media only screen and (min-width: 769px), print {
  .c-number-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .c-number-list li {
    width: 48%;
  }
}
.c-number-list.is-col2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 min(4vmin, 40px);
}
@media only screen and (min-width: 769px), print {
  .c-number-list.is-pc-col2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0 min(4vmin, 40px);
  }
}
@media (max-width: 768px) {
  .c-number-list.is-sp-col2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0 min(4vmin, 20px);
  }
}

.c-dl dt:not(:first-of-type),
.c-dl dd:not(:first-of-type) {
  margin-top: 1em;
}

.c-dl__title {
  clear: left;
  float: left;
  width: 90px;
}

.c-dl__text {
  overflow: hidden;
  margin-left: 90px;
}

/*チェック付きリスト装飾*/
.c-ul-check01 {
  display: flex;
  flex-direction: column;
  gap: min(5.3333333333vmin, 20px);
}
.c-ul-check01 > li {
  position: relative;
  margin: 0;
  padding: 1em 1em 1em 2.5em;
  background: #ffffff;
  color: #000000;
}
.c-ul-check01 > li::before {
  position: absolute;
  top: 1.2em;
  left: 1em;
  content: "";
  display: block;
  width: 1em;
  height: 0.8em;
}
@media only screen and (min-width: 769px), print {
  .c-ul-check01 {
    flex-wrap: wrap;
    flex-direction: row;
  }
  .c-ul-check01 > li {
    width: calc((100% - min(5.3333333333vmin, 20px)) / 2);
  }
}

.c-ul-check02 {
  display: flex;
  flex-wrap: wrap;
  gap: min(5.3333333333vmin, 20px);
}
.c-ul-check02 > li {
  min-width: 166px;
  margin: 0;
  padding: 1em 2em;
  border: 1px solid rgba(255, 255, 255, 0.5);
  font-size: 0.75rem;
  text-align: center;
}
.c-ul-check02 > li::before {
  position: static;
  content: "";
  display: inline-block;
  width: 1em;
  height: 0.8em;
}

/*
 * style.css
 */
/* ==========================================================
!pagenation
========================================================== */
.wp-pagenavi {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: -1px 0 0 0;
  padding: 16px 40px 16px 40px;
}
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
  padding: 10px;
}
.wp-pagenavi .current,
.wp-pagenavi .page {
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 10px;
  padding: 10px 10px;
}
.wp-pagenavi .page {
  transition: 0.3s;
}
/*
 * style.css
 */
/* ==========================================================
!Pagetop
========================================================== */
/* fixed
------------------------------------ */
.l-pagetop__fixed {
  display: none;
  position: fixed;
  bottom: 30px;
  right: 30px;
  z-index: 999;
}
@media only screen and (min-width: 960px), print {
  .l-pagetop__fixed {
    bottom: 30px;
    right: 80px;
  }
}
.l-pagetop__fixed button {
  appearance: none;
  background: none;
  cursor: pointer;
  display: block;
  width: 50px;
  height: 50px;
  transition: all 0.3s;
  padding: 0;
}
@media only screen and (min-width: 960px), print {
  .l-pagetop__fixed button {
    width: 58px;
    height: 58px;
  }
}
@media (hover: hover) and (pointer: fine) {
  .l-pagetop__fixed button:hover, .l-pagetop__fixed button:focus {
    opacity: 0.6;
  }
}

/*
 * style.css
 */
/* ==========================================================
!Table
========================================================== */
.wp-block-table table,
.c-table01 table {
  width: 100%;
  border-bottom: 1px solid #778296;
  line-height: 1.4;
  letter-spacing: 0.08em;
}
.wp-block-table table tr,
.c-table01 table tr {
  border-top: 1px solid #778296;
}
.wp-block-table table th,
.c-table01 table th {
  padding: 1.5em;
  background: #485B7B;
}
.wp-block-table table td,
.c-table01 table td {
  padding: 1.5em;
}
.wp-block-table table tbody th,
.c-table01 table tbody th {
  width: 30%;
}
.wp-block-table figcaption,
.c-table01 figcaption {
  margin-top: 20px;
  font-size: 0.75rem;
  line-height: 1.4;
}

.wp-block-flexible-table-block-table {
  /*プロフィール年表用*/
}
.wp-block-flexible-table-block-table table {
  width: 100%;
  border: 1px solid #778296;
  line-height: 1.4;
  letter-spacing: 0.08em;
}
.wp-block-flexible-table-block-table table th {
  padding: 1.5em;
  border: 1px solid #778296;
  background: #485B7B;
}
.wp-block-flexible-table-block-table table td {
  padding: 1.5em;
  border: 1px solid #778296;
}
.wp-block-flexible-table-block-table table tbody th {
  width: 30%;
}
.wp-block-flexible-table-block-table figcaption {
  margin-top: 20px;
  font-size: 0.75rem;
  line-height: 1.4;
}
@media (max-width: 768px) {
  .wp-block-flexible-table-block-table > .has-fixed-layout {
    table-layout: fixed;
    border: 0;
  }
  .wp-block-flexible-table-block-table > .has-fixed-layout.is-stacked-on-mobile th {
    width: 100% !important;
    display: block;
    margin-top: -1px;
  }
  .wp-block-flexible-table-block-table > .has-fixed-layout.is-stacked-on-mobile td {
    width: 100% !important;
    display: block;
    margin-top: -1px;
  }
  .wp-block-flexible-table-block-table.is-scroll-on-mobile {
    overflow-x: scroll;
    white-space: nowrap;
    padding: 0 0 10px;
  }
}
.wp-block-flexible-table-block-table.profile-table table {
  width: 100%;
  border: 0;
}
.wp-block-flexible-table-block-table.profile-table table th {
  width: 6em;
  padding-left: 0;
  padding-right: 0;
  font-weight: normal;
  background: none;
  border: 0;
  vertical-align: top;
}
@media only screen and (min-width: 769px), print {
  .wp-block-flexible-table-block-table.profile-table table th {
    width: 140px;
  }
}
.wp-block-flexible-table-block-table.profile-table table td {
  padding-left: 0;
  padding-right: 0;
  border: 0;
  line-height: 2;
}

/*
 * style.css
 */
/* ==========================================================
!tags
========================================================== */
.c-taglist > li {
  display: inline-block;
  margin: 5px 5px 5px 0;
  padding: 0;
  text-indent: 0;
}
.c-taglist > li::before {
  display: none;
}

/*
 * style.css
 */
/* ==========================================================
!Text
========================================================== */
.c-aggregate {
  max-width: 1414px;
  padding: 0 20px 0 20px;
  padding: 0 max(10px, 5.3%);
  display: block;
  text-align: right;
  font-size: 0.75rem;
}
@media only screen and (min-width: 769px), print {
  .c-aggregate {
    margin: 0 auto;
    padding: 0 20px 0 20px;
    padding: 0 max(20px, 8%);
  }
}
@media only screen and (min-width: 960px), print {
  .c-aggregate {
    padding: 0 157px 0 157px;
    padding: 0 min(11.49%, 157px);
  }
}

.c-note {
  color: #8D8D8D;
  font-size: 0.75rem;
  line-height: 1.66;
}

/*
 * style.css
 */
/* ==========================================================
!Text Link
========================================================== */
.c-linkitem__line {
  position: relative;
}
.c-linkitem__line::before, .c-linkitem__line::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  border-top: 1px solid;
}
.c-linkitem__line::before {
  width: 100%;
  opacity: 0.3;
}
.c-linkitem__line::after {
  width: 40px;
  transition: all ease-in-out 0.3s;
}
.c-linkitem__line:hover::after, .c-linkitem__line:focus::after {
  width: 100%;
}
.c-linkitem__line._gold::before, .c-linkitem__line._gold::after {
  border-top: 1px solid #CBBD7A;
}

.c-linkitem {
  text-decoration: none;
  vertical-align: middle;
}
.c-linkitem__ico {
  position: relative;
  display: inline-block;
  width: min(18.6666666667vmin, 70px);
  height: min(18.6666666667vmin, 70px);
  margin: 0 0 0 30px;
  border: 1px solid #485B7B;
  border-radius: 50%;
  vertical-align: middle;
  transition: all 0.3s;
}
.c-linkitem__ico::before {
  position: absolute;
  left: -15px;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  display: block;
  width: 30px;
  height: 0;
  border-top: 1px solid #ffffff;
  transform-origin: left top;
  transition: all 0.3s;
}
.c-linkitem:hover, .c-linkitem:focus {
  color: #ffffff;
}
.c-linkitem:hover .c-linkitem__ico, .c-linkitem:focus .c-linkitem__ico {
  border-color: rgba(203, 189, 122, 0.6);
}
.c-linkitem:hover .c-linkitem__ico::before, .c-linkitem:focus .c-linkitem__ico::before {
  border-color: #CBBD7A;
  transform: scaleX(1.23);
}

.c-heading-lv3--line .c-linkitem {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
.c-heading-lv3--line .c-linkitem .c-linkitem__ico {
  flex-shrink: 0;
}

.c-link-more {
  display: inline-flex;
  align-items: center;
  color: #ffffff;
  text-decoration: none;
  font-size: min(5.3333333333vmin, 1.25rem);
  font-weight: 500;
  font-family: garamond-premier-pro, serif;
  letter-spacing: 0.17em;
}
/*
 * style.css
 */
.c-breadcrumbs {
  background: #F5F5F5;
  position: relative;
  width: 100%;
  margin: 0 0 60px;
  padding: 0;
  z-index: 1;
}
.c-breadcrumbs .l-inner {
  overflow-x: auto;
}
.c-breadcrumbs__list {
  line-height: 1;
  width: 100%;
  list-style: none;
  margin: 0;
  padding: 14px 0;
  white-space: nowrap;
}
.c-breadcrumbs__list:after {
  content: "";
  display: inline-block;
  position: relative;
  top: 0;
  left: 0;
  width: 5%;
  height: 10px;
}
.c-breadcrumbs__list li {
  display: inline-block;
  font-weight: 400;
  line-height: 1;
  margin: 0;
  padding: 0 2em 0 0;
  position: relative;
}
.c-breadcrumbs__list li:last-child:after {
  display: none;
}
.c-breadcrumbs__list li:after {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  border-top: 2px solid #3366cc;
  border-right: 2px solid #3366cc;
  transform: rotate(45deg) translateY(-80%);
  position: absolute;
  top: 50%;
  right: 1.1em;
}
.c-breadcrumbs__list li a {
  color: #222222;
  text-decoration: none;
  font-size: 0.75rem;
}
.c-breadcrumbs__list li a span {
  display: block;
}
.c-breadcrumbs__list li > span {
  color: #3361AD;
  font-size: 0.75rem;
  font-weight: bold;
}

.p-breadcrumbs__inner::-webkit-scrollbar {
  display: none;
}

/*
 * style.css
 */
/* ==========================================================
!card
========================================================== */
.c-card-people {
  background: #EFEFEF;
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  min-height: 200px;
  padding: 20px 50% 20px 20px;
  text-decoration: none;
}
@media only screen and (min-width: 960px), print {
  .c-card-people {
    padding: 60px 55% 40px 30px;
    min-height: 330px;
  }
}
.c-card-people__affiliation, .c-card-people__year {
  color: #646464;
  display: block;
  font-size: 0.625rem;
  font-weight: bold;
}
@media only screen and (min-width: 960px), print {
  .c-card-people__affiliation, .c-card-people__year {
    font-size: 1rem;
    margin: 0 0 6px;
  }
}
.c-card-people__name {
  color: #222222;
  display: block;
  font-size: 1rem;
  font-weight: bold;
}
@media only screen and (min-width: 960px), print {
  .c-card-people__name {
    font-size: 1.5rem;
    margin: 0 0 6px;
  }
}
.c-card-people__study {
  color: #222222;
  display: block;
  font-size: 0.875rem;
  font-weight: bold;
  margin: 0 0 10px;
}
@media only screen and (min-width: 960px), print {
  .c-card-people__study {
    font-size: 1.125rem;
    margin: 0;
  }
}
.c-card-people__detail {
  color: #222222;
  display: block;
  font-size: 1rem;
  font-weight: 900;
  text-decoration: none;
  padding: 0 0 10px;
  margin: 0;
  position: relative;
}
@media only screen and (min-width: 960px), print {
  .c-card-people__detail {
    font-size: 1.125rem;
    margin: auto 0 0;
  }
}
.c-card-people__detail .u-icon.is-arw {
  right: 0;
}
.c-card-people__detail:before {
  background: #CCCCCC;
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  position: absolute;
  bottom: 0;
  left: 0;
}
.c-card-people__detail:after {
  background: #3366cc;
  content: "";
  display: block;
  width: 60px;
  height: 1px;
  position: absolute;
  bottom: 0;
  left: 0;
  transition: all 0.3s;
}
.c-card-people__image {
  border-radius: 0 0 10px 0;
  display: flex;
  width: 45%;
  max-width: 200px;
  height: auto;
  position: absolute;
  right: 0;
  bottom: 0;
  overflow: hidden;
}
@media only screen and (min-width: 960px), print {
  .c-card-people__image {
    width: 56%;
    max-width: 330px;
    height: 120%;
  }
}
.c-card-people__image img {
  display: block;
  width: 100%;
  max-width: 330px;
  margin: auto 0 0;
  transition: all 0.3s;
}
@media (hover: hover) and (pointer: fine) {
  .c-card-people:hover, .c-card-people:focus {
    background: #F4F7FF;
  }
  .c-card-people:hover .c-card-people__detail, .c-card-people:focus .c-card-people__detail {
    color: #3366cc;
  }
  .c-card-people:hover .c-card-people__detail:after, .c-card-people:focus .c-card-people__detail:after {
    width: 100%;
  }
  .c-card-people:hover .c-card-people__image img, .c-card-people:focus .c-card-people__image img {
    transform: scale(1.1, 1.1);
  }
}

/*
 * style.css
 */
/* ==========================================================
!Accordion
========================================================== */
.p-accordion__toggle {
  position: relative;
  display: block;
  padding: 0 1em 0.5em 0;
  border-bottom: 1px solid #485B7B;
  font-family: "Times New Roman", "YuMincho", "Yu Mincho", "Hiragino Mincho ProN", "MS PMincho", serif;
  font-size: 1.125rem;
  line-height: 1.7;
  cursor: pointer;
}
body.ua-android .p-accordion__toggle {
  font-family: "Noto Serif JP", serif;
}
.p-accordion__toggle::-webkit-details-marker {
  display: none;
}
.p-accordion__toggle::before {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  display: block;
  width: 0.6em;
  height: 0.6em;
  border-right: 1px solid;
  border-bottom: 1px solid;
  transform: rotate(45deg);
  transition: transform 0.3s;
}
.p-accordion__toggle._half-center {
  max-width: 520px;
  margin: auto;
}
@media only screen and (min-width: 769px), print {
  .p-accordion__toggle {
    font-size: 1.25rem;
  }
}
.p-accordion__body {
  margin-top: 1em;
  box-sizing: border-box;
}
.p-accordion[open] .p-accordion__toggle::before {
  transform: rotate(-135deg);
}
.p-accordion + .p-accordion {
  margin-top: clamp(20px, 2.5%, 40px);
}

/*
 * style.css
 */
/* ==========================================================
!Anchor
========================================================== */
.p-anchor > ul {
  display: flex;
  flex-wrap: wrap;
  gap: min(5.3333333333vmin, 30px);
}
.p-anchor > ul > li {
  margin: 0;
  padding: 0;
}
.p-anchor > ul > li::before {
  display: none;
}
.p-anchor > ul a {
  position: relative;
  display: block;
  margin: 0;
  padding: 0 2.5em 1em 0;
  border-bottom: 1px solid #485B7B;
  color: #ffffff;
  text-decoration: none;
}
.p-anchor > ul a::before {
  content: "";
  display: block;
  width: 40px;
  border-bottom: 1px solid #CBBD7A;
  position: absolute;
  left: 0;
  bottom: -1px;
  transform-origin: left bottom;
  transition: all 0.3s;
}
.p-anchor > ul a::after {
  content: "";
  display: block;
  width: 0.6em;
  height: 0.6em;
  border-right: 1px solid;
  border-bottom: 1px solid;
  transform: rotate(45deg);
  position: absolute;
  right: 0;
  top: 0;
}
.p-anchor > ul a:hover::before, .p-anchor > ul a:focus::before {
  width: 100%;
}
.p-anchor.u-taC > ul {
  justify-content: center;
}
@media only screen and (min-width: 769px), print {
  .p-anchor.u-taC-pc > ul {
    display: flex;
    justify-content: center;
  }
}

/*
 * style.css
 */
/* ==========================================================
!Banner List
========================================================== */
.p-banner-list {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
}
.p-banner-list > li {
  margin: 0;
  padding: 0;
  list-style: none;
}
.p-banner-list > li::before {
  display: none;
}
@media only screen and (min-width: 769px), print {
  .p-banner-list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media only screen and (min-width: 1100px), print {
  .p-banner-list {
    grid-template-columns: repeat(4, 1fr);
    gap: 5px;
  }
}

/*
 * style.css
 */
/* ==========================================================
! ブランド一覧
========================================================== */
.p-brand-list {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding-left: calc(50vw - 50%);
  padding-right: calc(50vw - 50%);
  background: #000000;
}
.p-brand-list + .p-brand-list .p-brand-list__inner {
  border-top: 1px solid #CBBD7A;
}
@media only screen and (min-width: 769px), print {
  .p-brand-list + .p-brand-list {
    margin-top: 1px;
  }
  .p-brand-list + .p-brand-list .p-brand-list__inner {
    border-top: 0;
  }
}

/*内枠*/
.p-brand-list__inner {
  position: relative;
  display: block;
  padding: 45px 7.46% 25px;
  color: #ffffff;
  text-decoration: none;
}
.p-brand-list__inner:hover, .p-brand-list__inner:focus {
  color: #ffffff;
}
@media only screen and (min-width: 769px), print {
  .p-brand-list__inner {
    padding: 8.18% 0 7.27%;
  }
}

/*ブランドテキストエリア*/
.p-brand-list__body {
  position: relative;
  z-index: 1;
}

/*ブランドロゴ*/
.p-brand-list__logo {
  aspect-ratio: 570/230;
  text-align: center;
}
.p-brand-list__logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.p-brand-list__logo img[src*=gran_move] {
  width: 55.26%;
}
.p-brand-list__logo img[src*=gran_femin] {
  width: 55.26%;
}
@media only screen and (min-width: 769px), print {
  .p-brand-list__logo {
    width: 34%;
    height: 203px;
    aspect-ratio: 375/230;
    text-align: left;
  }
}

/*ブランド名*/
.p-brand-list__title {
  display: flex;
  flex-direction: column;
  margin-top: 40px;
  padding-left: 0 !important;
  border-left: 0 !important;
  line-height: 1.5;
}
.p-brand-list__title .en {
  font-family: garamond-premier-pro, serif;
  font-size: clamp(1.0625rem, 4.5333333333vmin, 1.625rem);
  letter-spacing: 0.14em;
}
.p-brand-list__title .ja {
  color: #CBCBCB;
  font-family: "Times New Roman", "YuMincho", "Yu Mincho", "Hiragino Mincho ProN", "MS PMincho", serif;
  font-size: clamp(0.9375rem, 4vmin, 1.25rem);
  letter-spacing: 0.05em;
}
body.ua-android .p-brand-list__title .ja {
  font-family: "Noto Serif JP", serif;
}
@media only screen and (min-width: 769px), print {
  .p-brand-list__title {
    flex-direction: row;
    align-items: flex-end;
    gap: 30px;
    white-space: nowrap;
    margin-top: 5%;
  }
}

/*ブランド紹介文*/
.p-brand-list__text {
  font-size: 0.875rem;
  letter-spacing: 0.08em;
  line-height: 1.785;
  margin-top: 22px;
}
@media only screen and (min-width: 769px), print {
  .p-brand-list__text {
    width: 50%;
    margin-top: 2.7%;
  }
}

/*商品画像*/
.p-brand-list__img {
  margin-top: 40px;
  text-align: center;
}
@media only screen and (min-width: 769px), print {
  .p-brand-list__img {
    position: absolute;
    right: -11.8%;
    top: 0;
    width: 74%;
    margin-top: 0;
  }
  .p-brand-list__img::before {
    position: absolute;
    left: 0;
    top: 0;
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4);
    transition: 0.3s;
  }
}

/*View more*/
.p-brand-list__btn {
  margin-top: min(9.3333333333vmin, 35px);
  text-align: right;
}
@media only screen and (min-width: 769px), print {
  .p-brand-list__btn {
    margin-top: -40px;
  }
}

/*hover効果*/
@media only screen and (min-width: 769px), print {
  .p-brand-list__inner:hover .p-brand-list__img::before, .p-brand-list__inner:focus .p-brand-list__img::before {
    background: rgba(0, 0, 0, 0);
  }
  .p-brand-list__inner:hover .p-brand-list__btn .c-linkitem .c-linkitem__ico, .p-brand-list__inner:focus .p-brand-list__btn .c-linkitem .c-linkitem__ico {
    border-color: rgba(203, 189, 122, 0.6);
  }
  .p-brand-list__inner:hover .p-brand-list__btn .c-linkitem .c-linkitem__ico::before, .p-brand-list__inner:focus .p-brand-list__btn .c-linkitem .c-linkitem__ico::before {
    border-color: #CBBD7A;
    transform: scaleX(1.23);
  }
}

/*
 * style.css
 */
/* ==========================================================
!Card01
========================================================== */
.p-card01 {
  height: 100%;
  display: flex;
  flex-direction: column;
  color: inherit;
  text-decoration: none;
}
.p-card01[target=_blank]:not([href$=".pdf"]) {
  padding-right: 0;
}
.p-card01[target=_blank]:not([href$=".pdf"])::after {
  display: none;
}
.p-card01[target=_blank]:not([href$=".pdf"]) .p-card01__text::after {
  content: "\e900";
  margin-left: 0.5em;
  font-family: "icomoon" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.p-card01[href$=".pdf"] {
  padding-right: 0;
}
.p-card01[href$=".pdf"]::after {
  display: none;
}
.p-card01[href$=".pdf"] .p-card01__text::after {
  content: "\e901";
  margin-left: 0.5em;
  font-family: "icomoon" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.p-card01:hover, .p-card01:focus {
  color: inherit;
}
.p-card01:hover .p-card01__body::before, .p-card01:focus .p-card01__body::before {
  width: 100%;
  border-color: #CBBD7A;
}
.p-card01:hover .p-card01__img img, .p-card01:focus .p-card01__img img {
  transform: scale(1.1);
}
.p-card01__img {
  overflow: hidden;
  aspect-ratio: 32/19;
}
.p-card01__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: 0.5s;
}
.p-card01__img + * {
  margin-top: min(5.3333333333vmin, 30px);
}
.p-card01__body {
  flex-grow: 1;
  padding-bottom: min(5.3333333333vmin, 30px);
}
.p-card01__body + *:not(.p-card01__category) {
  margin-top: auto;
}
.p-card01__body:last-child {
  position: relative;
  padding-bottom: 1em;
  border-bottom: 1px solid #485B7B;
}
.p-card01__body:last-child::before {
  content: "";
  display: block;
  width: 40px;
  border-top: 1px solid #ffffff;
  position: absolute;
  left: 0;
  bottom: 0;
  transform-origin: 0 0;
  transition: 0.3s;
}
.p-card01__title {
  font-size: 1.25rem;
  font-family: "Times New Roman", "YuMincho", "Yu Mincho", "Hiragino Mincho ProN", "MS PMincho", serif;
  line-height: 1.4;
}
body.ua-android .p-card01__title {
  font-family: "Noto Serif JP", serif;
}
.p-card01__category {
  display: inline-block;
  padding: 5px 20px;
  border: 1px solid #485B7B;
  font-size: 0.75rem;
  line-height: 1;
}
.p-card01__category + * {
  margin-top: 15px;
}
.p-card01__tag {
  margin: 0 0 1em 0;
  color: #778296;
  font-size: 0.8125rem;
}
.p-card01__tag > span {
  display: inline-block;
  margin-right: 1em;
}
.p-card01__tag:last-child {
  position: relative;
  padding-bottom: 14px;
  border-bottom: 1px solid #485B7B;
}
.p-card01__tag:last-child::before {
  content: "";
  display: block;
  width: 40px;
  border-top: 1px solid #ffffff;
  position: absolute;
  left: 0;
  bottom: 0;
  transform-origin: 0 0;
  transition: 0.3s;
}
.p-card01__text {
  flex-grow: 1;
  font-size: 0.9375rem;
}
.p-card01__pubdate {
  position: relative;
  padding-top: 14px;
  border-top: 1px solid #485B7B;
  text-align: right;
  font-family: garamond-premier-pro, serif;
  font-size: 0.8125rem;
  letter-spacing: 0.06em;
}
.p-card01__pubdate::before {
  content: "";
  display: block;
  width: 40px;
  border-top: 1px solid #ffffff;
  position: absolute;
  left: 0;
  top: 0;
  transform-origin: 0 0;
  transition: 0.3s;
}
.p-card01__pubdate._type2 {
  color: #778296;
  text-align: left;
}
.p-card01__pubdate + .p-card01__body {
  border-bottom: 0;
}
.p-card01__pubdate + .p-card01__body::before {
  display: none;
}
.p-card01:hover .p-card01__pubdate::before, .p-card01:focus .p-card01__pubdate::before {
  width: 100%;
  border-color: #CBBD7A;
}
.p-card01:hover .p-card01__tag:last-child::before, .p-card01:focus .p-card01__tag:last-child::before {
  width: 100%;
  border-color: #CBBD7A;
}

/* ==========================================================
!Card02
========================================================== */
.p-card02 {
  display: flex;
  align-items: flex-start;
  color: inherit;
  text-decoration: none;
}
@media only screen and (min-width: 769px), print {
  .p-card02 {
    align-items: stretch;
  }
}
.p-card02[target=_blank]:not([href$=".pdf"]) {
  padding-right: 0;
}
.p-card02[target=_blank]:not([href$=".pdf"])::after {
  display: none;
}
.p-card02[target=_blank]:not([href$=".pdf"]) .p-card02__text::after {
  content: "\e900";
  margin-left: 0.5em;
  font-family: "icomoon" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.p-card02[href$=".pdf"] {
  padding-right: 0;
}
.p-card02[href$=".pdf"]::after {
  display: none;
}
.p-card02[href$=".pdf"] .p-card02__text::after {
  content: "\e901";
  margin-left: 0.5em;
  font-family: "icomoon" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.p-card02:hover, .p-card02:focus {
  color: inherit;
}
.p-card02:hover .p-card02__pubdate::before, .p-card02:focus .p-card02__pubdate::before {
  width: 100%;
  border-color: #CBBD7A;
}
.p-card02__img {
  flex-shrink: 0;
  width: min(37.6%, 252px);
  margin-right: min(5.97%, 40px);
  background: #485B7B;
  aspect-ratio: 320/190;
}
.p-card02__img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.p-card02__body {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}
.p-card02__category {
  align-self: flex-start;
  display: inline-block;
  padding: 5px 20px;
  border: 1px solid #485B7B;
  font-size: 0.75rem;
  line-height: 1;
}
.p-card02__text {
  flex-grow: 1;
  margin: 1em 0;
  font-size: 0.9375rem;
  line-height: 1.625;
}
.p-card02__pubdate {
  position: relative;
  margin-top: auto;
  padding-top: 1em;
  border-top: 1px solid #485B7B;
  text-align: right;
  font-family: garamond-premier-pro, serif;
  font-size: 0.8125rem;
  letter-spacing: 0.06em;
  line-height: 1.2;
}
.p-card02__pubdate::before {
  content: "";
  display: block;
  width: 40px;
  border-top: 1px solid #ffffff;
  position: absolute;
  left: 0;
  top: 0;
  transform-origin: 0 0;
  transition: 0.3s;
}

/*関連商品カード*/
.p-card03 {
  display: block;
  color: #ffffff;
  text-decoration: none;
}
.p-card03__img {
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  aspect-ratio: 350/224;
  background: #000000;
}
.p-card03__img img {
  transition: 0.3s;
}
.p-card03__title {
  margin-top: 15px;
}
.p-card03:hover .p-card03__img img, .p-card03:focus .p-card03__img img {
  transform: scale(1.1);
}

/*
 * style.css
 */
/* ==========================================================
!Carousel
========================================================== */
.p-carousel01 {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
@media only screen and (min-width: 769px), print {
  .p-carousel01 {
    margin-left: -35px;
    margin-right: -35px;
  }
}
.p-carousel01 .slick-slide {
  margin: 0 5.6vmin;
}
@media only screen and (min-width: 769px), print {
  .p-carousel01 .slick-slide {
    margin: 0 35px;
  }
}
.p-carousel01 .slick-track {
  display: flex;
}
.p-carousel01 .slick-slide {
  height: auto !important;
}
.p-carousel01 .slick-slide > * {
  height: 100%;
}
.p-carousel01 .slick-slide > * .p-carousel01__item {
  height: 100%;
}

/*
 * style.css
 */
/* ==========================================================
!News
========================================================== */
.p-news__title {
  margin: 0;
  padding: 0 0 10px 0;
  border-bottom: 1px solid #3366cc;
  font-family: -apple-system, BlinkMacSystemFont, "Noto Sans JP", "YuGothic", "游ゴシック体", "Yu Gothic", "游ゴシック", "ヒラギノ角ゴシック", "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
  font-size: 1rem;
  font-weight: bold;
}
.p-news__item {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  padding: 20px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
  font-size: 0.8125rem;
}
.p-news__item::before {
  display: none;
}
.p-news__date {
  flex-shrink: 0;
  display: block;
  min-width: 5em;
  font-family: garamond-premier-pro-caption, serif;
}
.p-news__label {
  flex-shrink: 0;
  display: block;
  margin: 0 16px 0 20px;
  padding: 0 20px;
  border: 1px solid #485B7B;
}
.p-news__text {
  display: block;
  width: 100%;
  margin-top: 0.5em;
  color: #ffffff;
  text-decoration: none;
}

/* 768px以上（タブレット） */
@media only screen and (min-width: 769px), print {
  .p-news__title {
    padding: 0 0 10px 40px;
  }
  .p-news__item {
    flex-wrap: nowrap;
    align-items: flex-start;
    padding: 20px 0 20px 40px;
  }
  .p-news__text {
    width: fit-content;
    margin-top: 0;
  }
}
.p-news--thumb {
  display: grid;
  gap: min(10.6666666667vmin, 60px);
  margin: 0;
  padding: 0;
}
.p-news--thumb > li {
  margin: 0;
  padding: 0;
}
.p-news--thumb > li::before {
  display: none;
}

/*
 * style.css
 */
/* ==========================================================
!Share Buttons
========================================================== */
.p-share > li {
  display: inline-block;
  margin: 0;
  padding: 0;
}
.p-share > li::before {
  display: none;
}
.p-share > li + li {
  margin-left: 7px;
}
.p-share a:hover, .p-share a:focus {
  opacity: 0.8;
}

/*
 * style.css
 */
/* ==========================================================
!Tabarea
========================================================== */
.p-tabarea__tablist {
  display: flex;
  border-bottom: 1px solid #485B7B;
}
.p-tabarea__tablist > li {
  margin: 0;
  padding: 0;
}
.p-tabarea__tablist > li::before {
  display: none;
}
.p-tabarea__tab {
  display: block;
  min-width: 100px;
  padding: 1em;
  margin-bottom: -1px;
  appearance: none;
  background: none;
  border: 0;
  border-bottom: 1px solid transparent;
  color: #ffffff;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  text-align: center;
  letter-spacing: 0.08em;
  cursor: pointer;
  transition: all 0.3s;
}
.p-tabarea__tab[aria-selected=true] {
  color: #CBBD7A;
  border-bottom: 1px solid;
}
.p-tabarea__tab:hover, .p-tabarea__tab:focus {
  color: #CBBD7A;
}
.p-tabarea__tabpanel {
  display: none;
}
.p-tabarea__tabpanel[aria-hidden=false] {
  display: block;
}

/*
 * style.css
 */
/* ==========================================================
!Pagination
========================================================== */
.wp-pagenavi {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  gap: min(2.1333333333vmin, 10px);
  font-family: garamond-premier-pro-caption, serif;
  font-size: min(3.7333333333vmin, 1rem);
  color: #ffffff;
}
.wp-pagenavi .page,
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink,
.wp-pagenavi .current {
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: min(10.6666666667vmin, 50px);
  height: min(10.6666666667vmin, 50px);
  margin: 0;
  padding: 0;
  border-radius: 50%;
  border: 1px solid #485B7B;
  color: #ffffff;
}
.wp-pagenavi .page:not(.current),
.wp-pagenavi .previouspostslink:not(.current),
.wp-pagenavi .nextpostslink:not(.current),
.wp-pagenavi .current:not(.current) {
  text-decoration: none;
}
.wp-pagenavi .page:not(.current):hover, .wp-pagenavi .page:not(.current):focus,
.wp-pagenavi .previouspostslink:not(.current):hover,
.wp-pagenavi .previouspostslink:not(.current):focus,
.wp-pagenavi .nextpostslink:not(.current):hover,
.wp-pagenavi .nextpostslink:not(.current):focus,
.wp-pagenavi .current:not(.current):hover,
.wp-pagenavi .current:not(.current):focus {
  color: #ffffff;
  border: 1px solid #CBBD7A;
}
.wp-pagenavi .current {
  background: #ffffff;
  border: 1px solid #ffffff;
  color: #000000;
}
.wp-pagenavi .prev-icon::before,
.wp-pagenavi .next-icon::before {
  content: "";
  display: inline-block;
  width: 0.5em;
  height: 0.5em;
  border-top: 2px solid #ffffff;
  border-right: 2px solid #ffffff;
}
.wp-pagenavi .prev-icon::before {
  transform: rotate(-135deg);
}
.wp-pagenavi .next-icon::before {
  transform: rotate(45deg);
}

/*
 * style.css
 */
/* ==========================================================
!Navi
========================================================== */
.p-lnav li {
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
}
.p-lnav a {
  display: block;
  margin: 0.2em 0 0 0;
  padding: 1em 0;
  color: #ffffff;
  text-decoration: none;
}
@media only screen and (min-width: 769px), print {
  .p-lnav {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, auto));
    justify-content: center;
    gap: 20px 0;
  }
  .p-lnav li {
    margin-left: -1px;
    border-bottom: 0;
    border-left: 1px solid #485B7B;
    border-right: 1px solid #485B7B;
  }
  .p-lnav a {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0.5em 1em;
    height: 100%;
    text-align: center;
  }
}
@media only screen and (min-width: 1100px), print {
  .p-lnav {
    justify-content: center;
  }
}

/*
 * style.css
 */
/* ==========================================================
!Google Map
========================================================== */
.p-map {
  position: relative;
}
.p-map::before {
  content: "";
  display: block;
  padding-top: 56.25%;
}
.p-map iframe {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

.p-map--aspect4-3::before {
  padding-top: 75%;
}

.p-map--aspect3-1::before {
  padding-top: 33.3333333333%;
}

.p-map--aspect2-1::before {
  padding-top: 50%;
}

.p-map--aspect1-1::before {
  padding-top: 100%;
}

/*
 * style.css
 */
/* ==========================================================
!Searchbox
========================================================== */
.p-search {
  display: flex;
  align-content: center;
  max-width: 750px;
  margin: auto;
}
.p-search__input {
  flex-grow: 1;
}
.p-search__btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 125px;
  height: 45px;
  margin-left: 5px;
  background: #485B7B;
  color: #ffffff;
  letter-spacing: 0.05em;
  cursor: pointer;
  transition: 0.3s;
}
.p-search__btn .ico_search {
  padding-right: 0.5em;
}
.p-search__btn:hover, .p-search__btn:focus {
  background: rgba(72, 91, 123, 0.7);
}

/*
 * style.css
 */
/* ==========================================================
!Footnav
========================================================== */
.p-footnav {
  background: #F2F4F7;
  padding: 60px 0 30px;
}
@media only screen and (min-width: 960px), print {
  .p-footnav {
    padding: 50px 0 30px;
  }
}
@media only screen and (min-width: 960px), print {
  .p-footnav .l-inner {
    display: flex;
    justify-content: space-between;
  }
}
.p-footnav a, .p-footnav button {
  background: none;
  color: #333333;
  display: block;
  font-family: -apple-system, BlinkMacSystemFont, "Noto Sans JP", "YuGothic", "游ゴシック体", "Yu Gothic", "游ゴシック", "ヒラギノ角ゴシック", "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
  font-size: 0.75rem;
  font-weight: 500;
  text-decoration: none;
  line-height: 1.75;
  padding: 0;
  position: relative;
  width: 100%;
  text-align: left;
}
@media only screen and (min-width: 960px), print {
  .p-footnav a, .p-footnav button {
    font-size: 0.875rem;
  }
}
.p-footnav__list {
  border-bottom: 1px solid #AAAAAA;
  margin: 0 0 16px;
  padding: 0 0 16px;
}
@media only screen and (min-width: 960px), print {
  .p-footnav__list {
    width: 20%;
    border: none;
  }
}
.p-footnav__list > li > span > a, .p-footnav__list > li > span button {
  font-weight: 700;
}
.p-footnav__list > li > span > a:after, .p-footnav__list > li > span button:after {
  content: "";
  display: block;
  width: 9px;
  height: 9px;
  border-top: 2px solid #AAAAAA;
  border-right: 2px solid #AAAAAA;
  transform: rotate(45deg) translateY(-80%);
  position: absolute;
  top: 50%;
  right: 1em;
}
@media only screen and (min-width: 960px), print {
  .p-footnav__list > li > span > a:after, .p-footnav__list > li > span button:after {
    content: none;
  }
}
.p-footnav__list > li > span > button:before {
  background: #AAAAAA;
  content: "";
  display: block;
  width: 2px;
  height: 12px;
  position: absolute;
  top: 50%;
  right: calc(0.3em + 5px);
  transform: translateY(-50%);
  transition: all 0.3s;
}
.p-footnav__list > li > span > button:after {
  background: #AAAAAA;
  content: "";
  display: block;
  width: 12px;
  height: 2px;
  position: absolute;
  top: 50%;
  right: 0.3em;
  transform: translateY(-50%);
  transition: all 0.3s;
}
.p-footnav__list > li > span > button.u-active:before {
  transform: translateY(-50%) rotate(45deg);
}
.p-footnav__list > li > span > button.u-active:after {
  transform: translateY(-50%) rotate(45deg);
}
.p-footnav__sub {
  border-left: 1px solid #CBCBCB;
  display: none;
  margin: 16px 0 0;
  padding: 0 0 0 1em;
}
@media only screen and (min-width: 769px), print {
  .p-footnav__sub {
    display: block;
  }
}
.p-footnav__sub > li {
  margin: 0 0 12px;
}
@media only screen and (min-width: 960px), print {
  .p-footnav__sub > li {
    margin: 0 0 16px;
  }
}
.p-footnav__sub > li:last-child {
  margin: 0;
}
.p-footnav__sub > li > a {
  font-weight: 500;
}
.p-footnav__sub > li > a:after {
  content: "";
  display: block;
  width: 9px;
  height: 9px;
  border-top: 2px solid #AAAAAA;
  border-right: 2px solid #AAAAAA;
  transform: rotate(45deg) translateY(-80%);
  position: absolute;
  top: 50%;
  right: 1em;
}
@media only screen and (min-width: 960px), print {
  .p-footnav__sub > li > a:after {
    content: none;
  }
}

/*
 * style.css
 */
@keyframes pathmove {
  0% {
    height: 0;
    top: 110px;
    opacity: 0;
  }
  30% {
    height: 30px;
    opacity: 1;
  }
  100% {
    height: 0;
    top: 160px;
    opacity: 0;
  }
}
/* ==========================================================
!Top
========================================================== */
#loading {
  position: fixed;
  z-index: 99999999;
  width: 100%;
  height: 100%;
  background: #3366cc;
  text-align: center;
  color: #ffffff;
}
#loading_text {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 999;
  width: 350px;
  transform: translate(-50%, -50%);
  color: #fff;
}

.p-index-movie {
  height: calc(100vh - 60px);
  position: relative;
  overflow: hidden;
}
@media only screen and (min-width: 960px), print {
  .p-index-movie {
    overflow: hidden;
    height: 100vh;
  }
}
@media only screen and (min-width: 960px), print {
  .p-index-movie:before {
    background: url(../img/index/msk_mv.png) no-repeat center center;
    background-size: cover;
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    height: 100vh;
    min-width: 1920px;
    min-height: 1080px;
    transform: translate(-50%, -50%);
    mix-blend-mode: multiply;
    z-index: 3;
  }
}
@media only screen and (min-width: 1920px), print {
  .p-index-movie:before {
    height: inherit;
    width: 100vw;
  }
}
.p-index-movie__text {
  max-width: 1414px;
  padding: 0 20px 0 20px;
  padding: 0 max(10px, 5.3%);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  position: relative;
}
@media only screen and (min-width: 769px), print {
  .p-index-movie__text {
    margin: 0 auto;
    padding: 0 20px 0 20px;
    padding: 0 max(20px, 8%);
  }
}
@media only screen and (min-width: 960px), print {
  .p-index-movie__text {
    padding: 0 157px 0 157px;
    padding: 0 min(11.49%, 157px);
    z-index: 4;
  }
}
.p-index-movie__text .outline {
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
  width: 100%;
  padding: 0 0 10px;
  margin: 0 0 40px;
  position: relative;
  z-index: 2;
}
@media only screen and (min-width: 960px), print {
  .p-index-movie__text .outline {
    width: fit-content;
    margin: 0 auto 30px;
    padding: 0 20px 10px;
  }
}
.p-index-movie__text .outline img {
  display: block;
  max-width: 264px;
  margin: 0 auto;
}
@media only screen and (min-width: 960px), print {
  .p-index-movie__text .outline img {
    max-width: 356px;
  }
}
.p-index-movie__text .title {
  position: relative;
  z-index: 2;
}
.p-index-movie__text .title span {
  display: block;
  max-width: 298px;
  margin: 0 auto;
  opacity: 0;
  transition: all 1s;
}
@media only screen and (min-width: 960px), print {
  .p-index-movie__text .title span {
    max-width: 400px;
  }
}
.p-index-movie__text .title span:first-child {
  margin: 0 auto 36px;
}
.p-index-movie__text .title span:last-child {
  transition-delay: 0.8s;
}
.p-index-movie__text .title span img {
  display: block;
}
.p-index-movie__text .title.is-show span {
  opacity: 1;
}
.p-index-movie video {
  display: none;
}
@media only screen and (min-width: 960px), print {
  .p-index-movie video {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    height: 100vh;
    min-width: 1920px;
    min-height: 1080px;
    transform: translate(-50%, -50%);
    z-index: 2;
  }
}
@media only screen and (min-width: 1920px), print {
  .p-index-movie video {
    height: auto;
    width: 100vw;
  }
}
.p-index-movie .sp-cover {
  display: block;
  width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}
@media only screen and (min-width: 960px), print {
  .p-index-movie .sp-cover {
    display: none;
  }
}
.p-index-movie__scroll {
  background: url(../img/index/bg_mv_scrl.png) no-repeat;
  background-size: 100%;
  color: #ffffff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 80px;
  height: 172px;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 5;
}
.p-index-movie__scroll:after {
  background: #ffffff;
  content: "";
  display: block;
  width: 1px;
  height: 30px;
  position: absolute;
  top: 50px;
  left: 50%;
  transform: translateX(-50%);
  animation: pathmove 1.4s ease-in-out infinite;
  opacity: 0;
}
.p-index-sec {
  background: #3366cc;
  height: 100vh;
  min-height: 820px;
  padding: 114px 0 0;
  position: relative;
}
@media only screen and (min-width: 960px), print {
  .p-index-sec {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 40px 0;
  }
}
.p-index-sec .l-inner {
  position: relative;
}
@media only screen and (min-width: 960px), print {
  .p-index-sec .l-inner {
    width: 100%;
  }
}
.p-index-sec.is-future {
  background: #3366cc url(../img/index/bg_future_sp.webp) no-repeat center bottom;
  background-size: 100%;
}
@media only screen and (min-width: 960px), print {
  .p-index-sec.is-future {
    background: #3366cc;
  }
}
.p-index-sec.is-future:before {
  background: url(../img/index/obj_future_02.png) no-repeat center center;
  background-size: cover;
  content: "";
  display: block;
  width: 300px;
  height: 650px;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 2;
}
@media only screen and (min-width: 960px), print {
  .p-index-sec.is-future:before {
    background: url(../img/index/obj_future_01.png) no-repeat center center;
    background-size: cover;
    width: 355px;
    height: 768px;
    left: 47.5%;
  }
}
@media only screen and (min-width: 960px), print {
  .p-index-sec.is-future:after {
    background: url(../img/index/bg_future.webp) no-repeat center center;
    background-size: cover;
    content: "";
    display: block;
    width: 50%;
    height: 100vh;
    position: absolute;
    right: 0;
    top: 0;
  }
}
@media only screen and (min-width: 960px), print {
  .p-index-sec.is-future .l-inner:before {
    background: url(../img/index/obj_future_02.png) no-repeat center center;
    background-size: cover;
    content: "";
    display: block;
    width: 300px;
    height: 650px;
    position: absolute;
    top: 50px;
    left: -120px;
  }
}
.p-index-sec.is-experience {
  background: #3366cc url(../img/index/bg_experience_sp.webp) no-repeat center bottom;
  background-size: 100%;
}
@media only screen and (min-width: 960px), print {
  .p-index-sec.is-experience {
    background: #3366cc;
  }
}
@media only screen and (min-width: 960px), print {
  .p-index-sec.is-experience:before {
    background: url(../img/index/bg_experience.webp) no-repeat center center;
    background-size: cover;
    content: "";
    display: block;
    width: 47.5%;
    height: 100vh;
    position: absolute;
    left: 0;
    top: 0;
  }
}
.p-index-sec.is-experience:after {
  background: url(../img/index/obj_experience_02.png) no-repeat center center;
  background-size: cover;
  content: "";
  display: block;
  width: 300px;
  height: 650px;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 2;
}
@media only screen and (min-width: 960px), print {
  .p-index-sec.is-experience:after {
    background: url(../img/index/obj_experience_01.png) no-repeat center center;
    background-size: cover;
    width: 355px;
    height: 768px;
    left: 31.5%;
  }
}
@media only screen and (min-width: 960px), print {
  .p-index-sec.is-experience .l-inner:before {
    background: url(../img/index/obj_experience_02.png) no-repeat center center;
    background-size: cover;
    content: "";
    display: block;
    width: 300px;
    height: 650px;
    position: absolute;
    top: 50px;
    right: -120px;
  }
}
.p-index-sec__text {
  position: relative;
  z-index: 5;
}
@media only screen and (min-width: 960px), print {
  .p-index-sec__text {
    width: 40%;
  }
}
@media only screen and (min-width: 960px), print {
  .is-experience .p-index-sec__text {
    margin: 0 0 0 auto;
  }
}
.p-index-sec__title {
  position: relative;
  margin: 0 0 30px;
}
.p-index-sec__title:before {
  background: url(../img/index/obj_sectitle_sp.png) no-repeat;
  content: "";
  display: block;
  position: absolute;
  width: 54px;
  height: 87px;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  z-index: 1;
}
@media only screen and (min-width: 960px), print {
  .p-index-sec__title:before {
    background: url(../img/index/obj_sectitle.png) no-repeat;
    width: 40px;
  }
}
.p-index-sec__title span {
  color: #FFFFFF;
  font-family: "Noto Serif JP", serif;
  font-size: 1.5rem;
  font-weight: 500;
  position: relative;
  z-index: 2;
}
@media only screen and (min-width: 960px), print {
  .p-index-sec__title span {
    font-size: 1.875rem;
  }
}
.p-index-sec__link {
  color: #FFFFFF;
  display: block;
  font-size: 1rem;
  font-weight: 900;
  text-decoration: none;
  padding: 0 0 10px;
  margin: 0 0 30px;
  position: relative;
}
@media only screen and (min-width: 960px), print {
  .p-index-sec__link {
    font-size: 1.125rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .p-index-sec__link:hover, .p-index-sec__link:focus {
    color: #ffffff;
  }
  .p-index-sec__link:hover:after, .p-index-sec__link:focus:after {
    width: 100%;
  }
}
.p-index-sec__link .u-icon.is-arw {
  right: 0;
}
.p-index-sec__link:before {
  background: #98B2E5;
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  position: absolute;
  bottom: 0;
  left: 0;
}
.p-index-sec__link:after {
  background: #ffffff;
  content: "";
  display: block;
  width: 120px;
  height: 1px;
  position: absolute;
  bottom: 0;
  left: 0;
  transition: all 0.3s;
}
.p-index-sec__list {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.p-index-sec__list--item {
  padding: 0 10px;
}
@media only screen and (min-width: 960px), print {
  .p-index-sec__list--item {
    padding: 0;
  }
}
.p-index-sec__list--item a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  text-decoration: none;
}
@media only screen and (min-width: 960px), print {
  .p-index-sec__list--item a {
    gap: 30px;
  }
}
@media (hover: hover) and (pointer: fine) {
  .p-index-sec__list--item a:hover .img img, .p-index-sec__list--item a:focus .img img {
    transform: scale(1.2, 1.2);
  }
  .p-index-sec__list--item a:hover .txt:after, .p-index-sec__list--item a:focus .txt:after {
    width: 100%;
  }
}
.p-index-sec__list--item a .img {
  display: block;
  position: relative;
  width: 80px;
  height: 80px;
}
@media only screen and (min-width: 960px), print {
  .p-index-sec__list--item a .img {
    width: 100px;
    height: 100px;
    overflow: hidden;
  }
}
.p-index-sec__list--item a .img img {
  transition: all 0.3s;
}
.p-index-sec__list--item a .txt {
  color: #FFFFFF;
  display: block;
  font-size: 1rem;
  font-weight: 900;
  text-decoration: none;
  padding: 0 0 10px;
  width: calc(100% - 100px);
  position: relative;
}
@media only screen and (min-width: 960px), print {
  .p-index-sec__list--item a .txt {
    font-size: 1.125rem;
    width: calc(100% - 120px);
  }
}
.p-index-sec__list--item a .txt .u-icon.is-arw {
  right: 0;
}
.p-index-sec__list--item a .txt:before {
  background: #98B2E5;
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  position: absolute;
  bottom: 0;
  left: 0;
}
.p-index-sec__list--item a .txt:after {
  background: #ffffff;
  content: "";
  display: block;
  width: 120px;
  height: 1px;
  position: absolute;
  bottom: 0;
  left: 0;
  transition: all 0.3s;
}
.p-index-intern {
  background: url(../img/index/bg_intern_sp.webp) no-repeat center center;
  background-size: cover;
  height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
@media only screen and (min-width: 960px), print {
  .p-index-intern {
    background: url(../img/index/bg_intern.webp) no-repeat center center;
    background-size: cover;
  }
}
@media only screen and (min-width: 960px), print {
  .p-index-intern .l-inner {
    width: 100%;
  }
}
.p-index-intern__link {
  background: #ffffff;
  border-radius: 10px;
  display: block;
  text-decoration: none;
  overflow: hidden;
}
@media only screen and (min-width: 960px), print {
  .p-index-intern__link {
    display: flex;
    width: 100%;
  }
}
@media (hover: hover) and (pointer: fine) {
  .p-index-intern__link:hover, .p-index-intern__link:focus {
    background: #EEF4FF;
  }
  .p-index-intern__link:hover .img:before, .p-index-intern__link:focus .img:before {
    width: 110%;
    height: 110%;
  }
  .p-index-intern__link:hover .text .detail:after, .p-index-intern__link:focus .text .detail:after {
    width: 100%;
  }
  .p-index-intern__link:hover .text .detail span, .p-index-intern__link:focus .text .detail span {
    color: #3366cc;
  }
  .p-index-intern__link:hover .text .detail span:after, .p-index-intern__link:focus .text .detail span:after {
    background: url(../img/common/icon_external_b.svg) no-repeat;
    background-size: 100%;
  }
}
.p-index-intern__link .img {
  display: block;
}
@media only screen and (min-width: 960px), print {
  .p-index-intern__link .img {
    width: 31%;
    position: relative;
    overflow: hidden;
  }
}
.p-index-intern__link .img:before {
  background: url(../img/index/img_intern.webp) no-repeat center center;
  background-size: cover;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.3s;
}
@media only screen and (min-width: 960px), print {
  .p-index-intern__link .img img {
    display: none;
  }
}
.p-index-intern__link .text {
  display: block;
  padding: 20px;
}
@media only screen and (min-width: 960px), print {
  .p-index-intern__link .text {
    width: 69%;
    padding: 46px 30px;
    display: flex;
    gap: 6%;
    align-items: center;
    justify-content: center;
  }
}
.p-index-intern__link .text .title {
  color: #222222;
}
@media only screen and (min-width: 960px), print {
  .p-index-intern__link .text .title {
    width: 364px;
  }
}
.p-index-intern__link .text .title .main {
  display: block;
  font-size: 1.5rem;
  font-weight: 900;
}
@media only screen and (min-width: 960px), print {
  .p-index-intern__link .text .title .main {
    font-size: 1.875rem;
  }
}
.p-index-intern__link .text .title .main span {
  display: block;
  font-size: 1.125rem;
  font-weight: 700;
}
.p-index-intern__link .text .title .read {
  display: block;
  font-size: 1rem;
  font-weight: 700;
}
@media only screen and (min-width: 960px), print {
  .p-index-intern__link .text .title .read {
    font-size: 1.125rem;
  }
}
.p-index-intern__link .text .detail {
  display: block;
  text-decoration: none;
  padding: 0 0 4px;
  position: relative;
}
@media only screen and (min-width: 960px), print {
  .p-index-intern__link .text .detail {
    width: calc(90% - 364px);
    height: 36px;
  }
}
.p-index-intern__link .text .detail span {
  color: #222222;
  display: block;
  font-size: 1.125rem;
  font-weight: 900;
  position: relative;
  transition: all 0.3s;
}
.p-index-intern__link .text .detail span:after {
  background: url(../img/common/icon_external.svg) no-repeat;
  background-size: 100%;
  content: "";
  display: block;
  position: absolute;
  width: 20px;
  height: 20px;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  z-index: 1;
}
.p-index-intern__link .text .detail:before {
  background: #CCCCCC;
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  position: absolute;
  bottom: 0;
  left: 0;
}
.p-index-intern__link .text .detail:after {
  background: #3366cc;
  content: "";
  display: block;
  width: 120px;
  height: 1px;
  position: absolute;
  bottom: 0;
  left: 0;
  transition: all 0.3s;
}
.p-index-company {
  height: 100vh;
  min-height: 780px;
  padding: 60px 0 0;
}
@media only screen and (min-width: 960px), print {
  .p-index-company {
    padding: 0;
  }
}
.p-index-message {
  background: url(../img/index/bg_message_sp.webp) no-repeat center center;
  background-size: cover;
  height: 40%;
  position: relative;
}
.p-index-message:before {
  background: #ffffff;
  content: "";
  display: block;
  width: 100%;
  height: 130px;
  position: absolute;
  bottom: 0;
  left: 0;
  opacity: 0.7;
  z-index: 1;
}
@media only screen and (min-width: 960px), print {
  .p-index-message:before {
    background: url(../img/index/bg_message.webp) no-repeat center center;
    background-size: cover;
    width: 50%;
    height: 100%;
    left: inherit;
    right: 0;
    opacity: 1;
  }
}
@media only screen and (min-width: 960px), print {
  .p-index-message {
    background: none;
    height: 62%;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
}
.p-index-message .l-inner {
  height: 100%;
}
@media only screen and (min-width: 960px), print {
  .p-index-message .l-inner {
    width: 100%;
  }
}
.p-index-message__text {
  padding: 75px 0 14px;
  display: flex;
  flex-direction: column;
  height: 100%;
  position: relative;
  z-index: 2;
}
@media only screen and (min-width: 960px), print {
  .p-index-message__text {
    width: 45%;
    justify-content: center;
    padding: 0;
  }
}
.p-index-message__text p {
  font-size: 1rem;
  font-weight: 600;
  margin: 0 0 6px;
}
@media only screen and (min-width: 960px), print {
  .p-index-message__text p {
    font-size: 1.125rem;
    margin: 0 0 30px;
  }
}
.p-index-message__text a {
  color: #222222;
  display: block;
  font-size: 1.125rem;
  font-weight: 900;
  text-decoration: none;
  padding: 0 0 10px;
  position: relative;
}
@media (hover: hover) and (pointer: fine) {
  .p-index-message__text a:hover, .p-index-message__text a:focus {
    color: #3366cc;
  }
  .p-index-message__text a:hover:after, .p-index-message__text a:focus:after {
    width: 100%;
  }
}
.p-index-message__text a .u-icon.is-arw {
  right: 0;
}
.p-index-message__text a:before {
  background: #CCCCCC;
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  position: absolute;
  bottom: 0;
  left: 0;
}
.p-index-message__text a:after {
  background: #3366cc;
  content: "";
  display: block;
  width: 120px;
  height: 1px;
  position: absolute;
  bottom: 0;
  left: 0;
  transition: all 0.3s;
}
.p-index-message__title {
  color: #3366cc;
  font-family: "Noto Serif JP", serif;
  font-size: 1.5rem;
  font-weight: 500;
  margin: 0 0 auto;
  position: relative;
}
@media only screen and (min-width: 960px), print {
  .p-index-message__title {
    font-size: 1.875rem;
    margin: 0 0 70px;
  }
}
.p-index-message__title:before {
  background: url(../img/index/obj_sectitle_sp.png) no-repeat;
  content: "";
  display: block;
  position: absolute;
  width: 54px;
  height: 87px;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  z-index: 1;
  opacity: 0.1;
}
@media only screen and (min-width: 960px), print {
  .p-index-message__title:before {
    background: url(../img/index/obj_sectitle.png) no-repeat;
    width: 40px;
  }
}
.p-index-other {
  height: 60%;
}
@media only screen and (min-width: 960px), print {
  .p-index-other {
    display: flex;
    height: 38%;
  }
}
.p-index-other__box {
  padding: 30px 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 50%;
}
@media only screen and (min-width: 960px), print {
  .p-index-other__box {
    width: 50%;
    height: 100%;
  }
}
.p-index-other__box.is-philosophy {
  background: url(../img/index/bg_company_sp.webp) no-repeat center center;
  background-size: cover;
}
.p-index-other__box.is-esg {
  background: url(../img/index/bg_esg_sp.webp) no-repeat center center;
  background-size: cover;
}
.p-index-other__inner {
  background: rgba(255, 255, 255, 0.9);
  margin: 0 auto;
  width: 80%;
  padding: 20px;
}
@media only screen and (min-width: 960px), print {
  .p-index-other__inner {
    padding: 30px;
  }
}
.p-index-other__inner p {
  font-size: 0.875rem;
  font-weight: 600;
  margin: 0 0 16px;
}
@media only screen and (min-width: 960px), print {
  .p-index-other__inner p {
    font-size: 1.125rem;
  }
}
.p-index-other__inner a {
  display: block;
  text-decoration: none;
  padding: 0 0 4px;
  position: relative;
}
@media (hover: hover) and (pointer: fine) {
  .p-index-other__inner a:hover span, .p-index-other__inner a:focus span {
    color: #3366cc;
  }
  .p-index-other__inner a:hover span:after, .p-index-other__inner a:focus span:after {
    background: url(../img/common/icon_external_b.svg) no-repeat;
    background-size: 100%;
  }
  .p-index-other__inner a:hover:after, .p-index-other__inner a:focus:after {
    width: 100%;
  }
}
.p-index-other__inner a span {
  color: #222222;
  display: block;
  font-size: 1.125rem;
  font-weight: 900;
  position: relative;
  transition: all 0.3s;
}
.p-index-other__inner a span:after {
  background: url(../img/common/icon_external.svg) no-repeat;
  background-size: 100%;
  content: "";
  display: block;
  position: absolute;
  width: 20px;
  height: 20px;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  z-index: 1;
}
.p-index-other__inner a:before {
  background: #CCCCCC;
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  position: absolute;
  bottom: 0;
  left: 0;
}
.p-index-other__inner a:after {
  background: #3366cc;
  content: "";
  display: block;
  width: 120px;
  height: 1px;
  position: absolute;
  bottom: 0;
  left: 0;
  transition: all 0.3s;
}
.p-index-other__title {
  margin: 0 0 16px;
  position: relative;
}
.p-index-other__title span {
  color: #3366cc;
  font-family: "Noto Serif JP", serif;
  font-size: 1.5rem;
  font-weight: 500;
  position: relative;
  z-index: 2;
}
@media only screen and (min-width: 960px), print {
  .p-index-other__title span {
    font-size: 1.875rem;
  }
}
.p-index-other__title:before {
  background: url(../img/index/obj_othertitle.png) no-repeat;
  content: "";
  display: block;
  position: absolute;
  width: 30px;
  height: 65px;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  z-index: 1;
}
.p-index-pagenation {
  display: flex;
  flex-direction: column;
  gap: 20px;
  position: fixed;
  right: 2%;
  top: 50%;
  transform: translateY(-50%);
  z-index: 99;
}
.p-index-pagenation li {
  background: rgba(204, 204, 204, 0.2);
  border: 1px solid rgba(100, 100, 100, 0.2);
  border-radius: 50%;
  width: 14px;
  height: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s;
}
.p-index-pagenation li a {
  cursor: pointer;
  background: #ffffff;
  border: 1px solid #ffffff;
  border-radius: 50%;
  display: block;
  width: 10px;
  height: 10px;
}
.p-index-pagenation li.active {
  background: rgb(255, 255, 255);
  border: 1px solid rgb(100, 100, 100);
}
.p-index-pagenation li.active a {
  border: 1px solid #3366cc;
  background: #3366cc;
}
@media (hover: hover) and (pointer: fine) {
  .p-index-pagenation li:hover, .p-index-pagenation li:focus {
    background: rgb(255, 255, 255);
    border: 1px solid rgb(100, 100, 100);
  }
  .p-index-pagenation li:hover a, .p-index-pagenation li:focus a {
    border: 1px solid #3366cc;
    background: #3366cc;
  }
}

/*
 * style.css
 */
@keyframes pathmove {
  0% {
    height: 0;
    top: 110px;
    opacity: 0;
  }
  30% {
    height: 30px;
    opacity: 1;
  }
  100% {
    height: 0;
    top: 160px;
    opacity: 0;
  }
}
/* ==========================================================
!recruit
========================================================== */
.p-recruit-movie {
  height: calc(100vh - 60px);
  position: relative;
  overflow: hidden;
}
@media only screen and (min-width: 960px), print {
  .p-recruit-movie {
    overflow: hidden;
    height: 100vh;
  }
}
@media only screen and (min-width: 960px), print {
  .p-recruit-movie:before {
    background: url(../img/index/msk_mv.png) no-repeat center center;
    background-size: cover;
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    height: 100vh;
    min-width: 1920px;
    min-height: 1080px;
    transform: translate(-50%, -50%);
    mix-blend-mode: multiply;
    z-index: 3;
  }
}
@media only screen and (min-width: 1920px), print {
  .p-recruit-movie:before {
    height: inherit;
    width: 100vw;
  }
}
.p-recruit-movie__text {
  max-width: 1414px;
  padding: 0 20px 0 20px;
  padding: 0 max(10px, 5.3%);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  position: relative;
}
@media only screen and (min-width: 769px), print {
  .p-recruit-movie__text {
    margin: 0 auto;
    padding: 0 20px 0 20px;
    padding: 0 max(20px, 8%);
  }
}
@media only screen and (min-width: 960px), print {
  .p-recruit-movie__text {
    padding: 0 157px 0 157px;
    padding: 0 min(11.49%, 157px);
    z-index: 4;
  }
}
.p-recruit-movie__text .outline {
  width: 100%;
  padding: 0 0 10px;
  margin: 0 0 40px;
  position: relative;
  z-index: 2;
  opacity: 0;
  transition-duration: 1s;
  transition-delay: 0.8s;
}
@media only screen and (min-width: 960px), print {
  .p-recruit-movie__text .outline {
    width: fit-content;
    margin: 0 auto 30px;
    padding: 0 20px 10px;
  }
}
.p-recruit-movie__text .outline span {
  color: #ffffff;
  display: block;
  font-size: 1.25rem;
  font-weight: bold;
  text-align: center;
}
.p-recruit-movie__text .outline span.ruby {
  border-top: 1px solid rgba(255, 255, 255, 0.6);
  font-size: 0.875rem;
  font-weight: 400;
}
.p-recruit-movie__text .title {
  position: relative;
  z-index: 2;
  opacity: 0;
  transition-duration: 1s;
  transition-delay: 0.8s;
}
.p-recruit-movie__text .title span {
  display: block;
  max-width: 300px;
  margin: 0 auto;
}
@media only screen and (min-width: 960px), print {
  .p-recruit-movie__text .title span {
    max-width: 500px;
  }
}
.p-recruit-movie__text .title span:first-child {
  margin: 0 auto 36px;
}
.p-recruit-movie__text .title span img {
  display: block;
}
.p-recruit-movie__text.is-show .outline {
  opacity: 1;
}
.p-recruit-movie__text.is-show .title {
  opacity: 1;
}
.p-recruit-movie video {
  display: none;
}
@media only screen and (min-width: 960px), print {
  .p-recruit-movie video {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    height: 100vh;
    min-width: 1920px;
    min-height: 1080px;
    transform: translate(-50%, -50%);
    z-index: 2;
  }
}
@media only screen and (min-width: 1920px), print {
  .p-recruit-movie video {
    height: auto;
    width: 100vw;
  }
}
.p-recruit-movie .sp-cover {
  display: block;
  width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}
@media only screen and (min-width: 960px), print {
  .p-recruit-movie .sp-cover {
    display: none;
  }
}
.p-recruit-movie__scroll {
  background: url(../img/index/bg_mv_scrl.png) no-repeat;
  background-size: 100%;
  color: #ffffff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 80px;
  height: 174px;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 5;
}
.p-recruit-movie__scroll:after {
  background: #ffffff;
  content: "";
  display: block;
  width: 1px;
  height: 30px;
  position: absolute;
  top: 50px;
  left: 50%;
  transform: translateX(-50%);
  animation: pathmove 1.4s ease-in-out infinite;
  opacity: 0;
}
.p-recruit-kv {
  background: url(../img/midcareer/kv_midcareer_sp.webp) top center;
  background-size: cover;
  position: relative;
  height: calc(100vh - 60px);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
}
@media only screen and (min-width: 960px), print {
  .p-recruit-kv {
    background: url(../img/midcareer/kv_midcareer.webp) top center;
    background-size: cover;
    height: 100vh;
    justify-content: center;
  }
}
.p-recruit-kv .l-inner {
  padding: 0;
  width: 100%;
}
@media only screen and (min-width: 960px), print {
  .p-recruit-kv .l-inner {
    padding: 0 20px 0 20px;
  }
}
.p-recruit-kv__text {
  background: rgba(255, 255, 255, 0.7);
  width: 100%;
  padding: 40px;
}
@media only screen and (min-width: 960px), print {
  .p-recruit-kv__text {
    max-width: 420px;
  }
}
.p-recruit-kv__text .outline {
  display: block;
  width: fit-content;
  margin: 0 0 30px;
  position: relative;
  z-index: 2;
}
@media only screen and (min-width: 960px), print {
  .p-recruit-kv__text .outline {
    margin: 0 0 30px;
  }
}
.p-recruit-kv__text .outline span {
  color: #222222;
  display: block;
  font-size: 1.25rem;
  font-weight: bold;
}
.p-recruit-kv__text .outline span.ruby {
  border-top: 1px solid #CCCCCC;
  font-size: 0.875rem;
  font-weight: 400;
}
.p-recruit-kv__text .title {
  font-family: "Noto Serif JP", serif;
  font-size: 3.0625rem;
  line-height: 1.3;
}
@media only screen and (min-width: 960px), print {
  .p-recruit-kv__text .title {
    font-size: 3.3125rem;
  }
}
.p-recruit__title {
  font-size: 1.5rem;
  font-weight: 900;
  padding: 0 0 0 40px;
  margin: 0 0 30px;
  position: relative;
}
@media only screen and (min-width: 960px), print {
  .p-recruit__title {
    font-size: 1.875rem;
    padding: 0 0 0 56px;
  }
}
.p-recruit__title:before {
  background: #3366cc;
  content: "";
  display: block;
  width: 15px;
  height: 26px;
  position: absolute;
  top: 8px;
  left: 0;
}
@media only screen and (min-width: 960px), print {
  .p-recruit__title:before {
    width: 20px;
    height: 35px;
    top: 9px;
  }
}
.p-recruit__title:after {
  background: #98B2E5;
  content: "";
  display: block;
  width: 15px;
  height: 26px;
  position: absolute;
  top: 8px;
  left: 15px;
}
@media only screen and (min-width: 960px), print {
  .p-recruit__title:after {
    width: 20px;
    height: 35px;
    left: 20px;
    top: 9px;
  }
}
.p-recruit__title02 {
  background: #ffffff;
  color: #3366cc;
  font-size: 1.625rem;
  font-weight: 900;
  padding: 0 1.5em;
  margin: 0 0 30px;
  position: relative;
  width: fit-content;
}
@media only screen and (min-width: 960px), print {
  .p-recruit__title02 {
    font-size: 1.875rem;
    padding: 0.3em 1em;
  }
}
.p-recruit__title02:before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 30px 30px 0 0;
  border-color: #3366cc transparent transparent transparent;
  position: absolute;
  top: 0;
  left: 0;
}
.p-recruit-people {
  padding: 0 0 60px;
}
.p-recruit-people.is-newgraduate {
  position: relative;
}
@media only screen and (min-width: 960px), print {
  .p-recruit-people.is-newgraduate:before {
    background: #3366cc;
    content: "";
    display: block;
    width: 240px;
    height: 280px;
    position: absolute;
    top: 180px;
    right: 0;
    transform: skewY(-45deg);
    z-index: -1;
  }
}
.p-recruit-people.is-midcareer {
  position: relative;
}
@media only screen and (min-width: 960px), print {
  .p-recruit-people.is-midcareer:before {
    background: #3366cc;
    content: "";
    display: block;
    width: 240px;
    height: 280px;
    position: absolute;
    top: 180px;
    right: 0;
    transform: skewY(-45deg);
    z-index: -1;
  }
}
@media only screen and (min-width: 960px), print {
  .p-recruit-people.is-midcareer:after {
    background: #3366cc;
    content: "";
    display: block;
    width: 240px;
    height: 280px;
    position: absolute;
    bottom: 120px;
    left: 0;
    transform: skewY(-45deg);
    z-index: -1;
  }
}
.p-recruit-people__category {
  display: block;
  font-size: 1.5rem;
  font-weight: bold;
  margin: 0 0 20px;
}
@media only screen and (min-width: 960px), print {
  .p-recruit-people__category {
    margin: 0 0 40px;
  }
}
.p-recruit-people__list {
  margin: 0 0 40px;
}
@media only screen and (min-width: 960px), print {
  .p-recruit-people__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px;
  }
}
.p-recruit-people__list--item {
  margin: 0 0 30px;
}
@media only screen and (min-width: 960px), print {
  .p-recruit-people__list--item {
    width: calc((100% - 30px) / 2);
  }
}
.p-recruit-people__list--item:last-child {
  margin: 0;
}
.p-recruit-people__link {
  color: #222222;
  display: block;
  font-size: 1.125rem;
  font-weight: 900;
  text-decoration: none;
  padding: 0 0 10px;
  margin: 0;
  position: relative;
}
@media only screen and (min-width: 960px), print {
  .p-recruit-people__link {
    font-size: 1.125rem;
    max-width: 500px;
    margin: 0 auto;
  }
}
@media (hover: hover) and (pointer: fine) {
  .p-recruit-people__link:hover, .p-recruit-people__link:focus {
    color: #3366cc;
  }
  .p-recruit-people__link:hover:after, .p-recruit-people__link:focus:after {
    width: 100%;
  }
}
.p-recruit-people__link .u-icon.is-arw {
  right: 0;
}
.p-recruit-people__link:before {
  background: #CCCCCC;
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  position: absolute;
  bottom: 0;
  left: 0;
}
.p-recruit-people__link:after {
  background: #3366cc;
  content: "";
  display: block;
  width: 60px;
  height: 1px;
  position: absolute;
  bottom: 0;
  left: 0;
  transition: all 0.3s;
}
.p-recruit-bg {
  padding: 60px 0;
  margin: 0 0 60px;
}
@media only screen and (min-width: 960px), print {
  .p-recruit-bg {
    padding: 60px 0 140px;
  }
}
.p-recruit-bg.is-career {
  background: url(../img/newgraduate/bg_career.webp) no-repeat center center;
  background-size: cover;
}
.p-recruit-bg.is-desired {
  background: url(../img/newgraduate/bg_desired.webp) no-repeat center center;
  background-size: cover;
  margin: 0;
}
.p-recruit-bg.is-middesired {
  background: url(../img/midcareer/bg_desired.webp) no-repeat center center;
  background-size: cover;
  margin: 0 0 60px;
}
.p-recruit-bg .l-inner {
  position: relative;
}
.p-recruit-bg__image {
  border-radius: 10px 10px 0 0;
  overflow: hidden;
}
@media only screen and (min-width: 960px), print {
  .p-recruit-bg__image {
    border-radius: 10px;
    width: 47.5%;
    max-width: 570px;
    position: relative;
    z-index: 2;
  }
}
.p-recruit-bg__text {
  background: #ffffff;
  border-radius: 0 0 10px 10px;
  padding: 30px;
}
@media only screen and (min-width: 960px), print {
  .p-recruit-bg__text {
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 92%;
    max-width: 1100px;
    padding: min(6vw, 120px) 70px min(6vw, 120px) 45%;
    max-height: 320px;
    position: absolute;
    z-index: 1;
    bottom: -60px;
    right: 20px;
  }
}
.p-recruit-bg__text p {
  font-size: 1.125rem;
  font-weight: bold;
  margin: 0 0 30px;
}
.p-recruit-bg__text a {
  color: #222222;
  display: block;
  font-size: 1rem;
  font-weight: 900;
  text-decoration: none;
  padding: 0 0 10px;
  margin: 0;
  position: relative;
}
@media only screen and (min-width: 960px), print {
  .p-recruit-bg__text a {
    font-size: 1.125rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .p-recruit-bg__text a:hover, .p-recruit-bg__text a:focus {
    color: #3366cc;
  }
  .p-recruit-bg__text a:hover:after, .p-recruit-bg__text a:focus:after {
    width: 100%;
  }
}
.p-recruit-bg__text a .u-icon.is-arw {
  right: 0;
}
.p-recruit-bg__text a:before {
  background: #CCCCCC;
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  position: absolute;
  bottom: 0;
  left: 0;
}
.p-recruit-bg__text a:after {
  background: #3366cc;
  content: "";
  display: block;
  width: 60px;
  height: 1px;
  position: absolute;
  bottom: 0;
  left: 0;
  transition: all 0.3s;
}
.p-recruit-sec {
  margin: 0 0 60px;
}
@media only screen and (min-width: 960px), print {
  .p-recruit-sec {
    padding: 0 0 80px;
    position: relative;
  }
}
.p-recruit-sec.is-bg {
  background: #F4F7FF;
  padding: 60px 0;
  margin: 0;
}
@media only screen and (min-width: 960px), print {
  .p-recruit-sec.is-bg {
    padding: 90px 0 150px;
  }
}
@media only screen and (min-width: 960px), print {
  .p-recruit-sec.is-obj01:before {
    background: #F4F7FF;
    content: "";
    display: block;
    width: 500px;
    height: 540px;
    position: absolute;
    top: 190px;
    right: 0;
    transform: skewY(-45deg);
    z-index: -1;
  }
}
@media only screen and (min-width: 960px), print {
  .p-recruit-sec.is-obj02:before {
    background: #F4F7FF;
    content: "";
    display: block;
    width: 500px;
    height: 540px;
    position: absolute;
    bottom: 190px;
    left: 0;
    transform: skewY(-45deg);
    z-index: -1;
  }
}
.p-recruit-sec .l-inner {
  position: relative;
}
.p-recruit-sec__image {
  border-radius: 10px 10px 0 0;
  overflow: hidden;
}
@media only screen and (min-width: 960px), print {
  .p-recruit-sec__image {
    border-radius: 10px;
    width: 47.5%;
    max-width: 570px;
    position: relative;
    z-index: 2;
  }
}
.p-recruit-sec__text {
  background: #ffffff;
  border: 1px solid #CCCCCC;
  border-top: none;
  border-radius: 0 0 10px 10px;
  padding: 30px;
}
@media only screen and (min-width: 960px), print {
  .p-recruit-sec__text {
    border-radius: 10px;
    border: 1px solid #CCCCCC;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 92%;
    max-width: 1100px;
    padding: min(6vw, 120px) 70px min(6vw, 120px) 45%;
    max-height: 320px;
    position: absolute;
    z-index: 1;
    bottom: -60px;
    right: 20px;
  }
}
.p-recruit-sec__text p {
  font-size: 1.125rem;
  font-weight: bold;
  margin: 0 0 30px;
}
.p-recruit-sec__text a {
  color: #222222;
  display: block;
  font-size: 1rem;
  font-weight: 900;
  text-decoration: none;
  padding: 0 0 10px;
  margin: 0;
  position: relative;
}
@media only screen and (min-width: 960px), print {
  .p-recruit-sec__text a {
    font-size: 1.125rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .p-recruit-sec__text a:hover, .p-recruit-sec__text a:focus {
    color: #3366cc;
  }
  .p-recruit-sec__text a:hover:after, .p-recruit-sec__text a:focus:after {
    width: 100%;
  }
  .p-recruit-sec__text a:hover.external span:after, .p-recruit-sec__text a:focus.external span:after {
    background: url(../img/common/icon_external_b.svg) no-repeat;
    background-size: 100%;
  }
}
.p-recruit-sec__text a .u-icon.is-arw {
  right: 0;
}
.p-recruit-sec__text a:before {
  background: #CCCCCC;
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  position: absolute;
  bottom: 0;
  left: 0;
}
.p-recruit-sec__text a:after {
  background: #3366cc;
  content: "";
  display: block;
  width: 60px;
  height: 1px;
  position: absolute;
  bottom: 0;
  left: 0;
  transition: all 0.3s;
}
.p-recruit-sec__text a.external span {
  display: block;
  position: relative;
}
.p-recruit-sec__text a.external span:after {
  background: url(../img/common/icon_external.svg) no-repeat;
  background-size: 100%;
  content: "";
  display: block;
  position: absolute;
  width: 20px;
  height: 20px;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  z-index: 1;
}
.p-recruit-link {
  margin: 0 0 60px;
}
@media only screen and (min-width: 960px), print {
  .p-recruit-link__list {
    display: flex;
  }
}
.p-recruit-link__list--item {
  width: 100%;
  height: 250px;
}
@media only screen and (min-width: 960px), print {
  .p-recruit-link__list--item {
    width: 33.3333333333%;
  }
}
.p-recruit-link__list--item.is-benefits {
  background: url(../img/newgraduate/bg_benefits.webp) no-repeat top center;
  background-size: cover;
}
.p-recruit-link__list--item.is-job {
  background: url(../img/newgraduate/bg_job.webp) no-repeat top center;
  background-size: cover;
}
.p-recruit-link__list--item.is-event {
  background: url(../img/newgraduate/bg_event.webp) no-repeat top center;
  background-size: cover;
}
.p-recruit-link__list--item a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  height: 100%;
  padding: 30px;
  text-decoration: none;
}
.p-recruit-link__title {
  color: #ffffff;
  font-size: 1.125rem;
  font-weight: bold;
  margin: 0 0 6px;
}
@media only screen and (min-width: 960px), print {
  .p-recruit-link__title {
    font-size: 1.5rem;
  }
}
.p-recruit-link__ruby {
  color: #ffffff;
  font-size: 0.75rem;
}
@media only screen and (min-width: 960px), print {
  .p-recruit-link__ruby {
    font-size: 1rem;
  }
}
.p-recruit-induction__box {
  background: #F5F5F5;
  border-radius: 10px;
  padding: 30px;
}
@media only screen and (min-width: 960px), print {
  .p-recruit-induction__box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
  }
}
@media only screen and (min-width: 960px), print {
  .p-recruit-induction__box h2 {
    width: calc((100% - 40px) / 2);
    margin: 0;
  }
}
.p-recruit-induction__box a {
  color: #222222;
  display: block;
  font-size: 1rem;
  font-weight: 900;
  text-decoration: none;
  padding: 0 0 10px;
  margin: 0;
  position: relative;
}
@media only screen and (min-width: 960px), print {
  .p-recruit-induction__box a {
    font-size: 1.125rem;
    width: calc((100% - 40px) / 2);
  }
}
@media (hover: hover) and (pointer: fine) {
  .p-recruit-induction__box a:hover, .p-recruit-induction__box a:focus {
    color: #3366cc;
  }
  .p-recruit-induction__box a:hover:after, .p-recruit-induction__box a:focus:after {
    width: 100%;
  }
}
.p-recruit-induction__box a .u-icon.is-arw {
  right: 0;
}
.p-recruit-induction__box a:before {
  background: #CCCCCC;
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  position: absolute;
  bottom: 0;
  left: 0;
}
.p-recruit-induction__box a:after {
  background: #3366cc;
  content: "";
  display: block;
  width: 60px;
  height: 1px;
  position: absolute;
  bottom: 0;
  left: 0;
  transition: all 0.3s;
}

/*
 * style.css
 */
/* ==========================================================
!message
========================================================== */
.p-message-kv {
  background: #3366cc url(../img/message/kv_message_sp.webp) no-repeat top center;
  background-size: 100%;
  padding: 0 0 150px;
  height: 400px;
  position: relative;
}
@media only screen and (min-width: 960px), print {
  .p-message-kv {
    background: #3366cc;
    padding: 0;
    height: auto;
  }
}
@media only screen and (min-width: 960px), print {
  .p-message-kv:before {
    background: #3366cc url(../img/message/kv_message.webp) no-repeat center center;
    background-size: cover;
    content: "";
    display: block;
    position: absolute;
    width: 50%;
    height: 100%;
    top: 0;
    right: 0;
  }
}
.p-message-kv .l-inner {
  background: #3366cc;
  padding: 10px max(10px, 5.3%);
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
}
@media only screen and (min-width: 960px), print {
  .p-message-kv .l-inner {
    background: none;
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 40px 0 40px;
    position: relative;
    bottom: inherit;
    left: inherit;
  }
}
.p-message-kv__text {
  position: relative;
}
@media only screen and (min-width: 960px), print {
  .p-message-kv__text {
    height: 640px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding: 70px 0 0;
  }
}
.p-message-kv__text .title {
  color: #ffffff;
  font-family: "Noto Serif JP", serif;
  font-size: 1.125rem;
  text-shadow: 0px 3px 3px rgba(0, 0, 0, 0.4);
  margin: 0 0 10px;
}
@media only screen and (min-width: 960px), print {
  .p-message-kv__text .title {
    font-size: 1.875rem;
    letter-spacing: 0.4em;
    margin: 0 0 60px;
  }
}
.p-message-kv__text .name {
  display: flex;
  align-items: center;
  gap: 0.5em;
  padding: 0 0.5em;
  width: fit-content;
  height: 38px;
}
@media only screen and (min-width: 960px), print {
  .p-message-kv__text .name {
    height: 56px;
    padding: 0 1em;
  }
}
.p-message-kv__text .name span {
  color: #ffffff;
  font-size: 1.125rem;
  font-weight: bold;
}
@media only screen and (min-width: 960px), print {
  .p-message-kv__text .name span {
    font-size: 1.5rem;
  }
}
.p-message-kv__text .name span.post {
  font-size: 0.8125rem;
}
@media only screen and (min-width: 960px), print {
  .p-message-kv__text .name span.post {
    font-size: 1.125rem;
  }
}
.p-message__title {
  font-family: "Noto Serif JP", serif;
  font-size: 1.5rem;
  font-weight: 400;
  padding: 0 0 0 40px;
  margin: 0 0 30px;
  position: relative;
}
@media only screen and (min-width: 960px), print {
  .p-message__title {
    font-size: 1.875rem;
    padding: 0 0 0 56px;
  }
}
.p-message__title:before {
  background: #3366cc;
  content: "";
  display: block;
  width: 15px;
  height: 26px;
  position: absolute;
  top: 8px;
  left: 0;
}
@media only screen and (min-width: 960px), print {
  .p-message__title:before {
    width: 20px;
    height: 35px;
    top: 9px;
  }
}
.p-message__title:after {
  background: #98B2E5;
  content: "";
  display: block;
  width: 15px;
  height: 26px;
  position: absolute;
  top: 8px;
  left: 15px;
}
@media only screen and (min-width: 960px), print {
  .p-message__title:after {
    width: 20px;
    height: 35px;
    left: 20px;
    top: 9px;
  }
}
.p-message-col {
  margin: 0 0 30px;
  max-width: 1414px;
  padding: 0 20px 0 20px;
  padding: 0 max(10px, 5.3%);
  position: relative;
}
@media only screen and (min-width: 769px), print {
  .p-message-col {
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 20px 0 20px;
  }
}
@media only screen and (min-width: 960px), print {
  .p-message-col {
    display: flex;
    gap: 30px;
  }
}
.p-message-col:before {
  background: #F5F5F5;
  content: "";
  display: block;
  width: calc(100% - 20px);
  height: 406px;
  position: absolute;
  top: 200px;
  left: 10px;
  transform: skewY(-45deg);
  z-index: -1;
}
@media only screen and (min-width: 960px), print {
  .p-message-col:before {
    width: 585px;
    height: 634px;
    top: 292px;
    left: 20px;
  }
}
.p-message-col .l-inner {
  padding: 0;
  max-width: inherit;
}
@media only screen and (min-width: 960px), print {
  .p-message-col__cnt {
    width: calc(100% - 410px);
  }
}
.p-message-col__image {
  width: 380px;
}
.p-message-sec {
  border-bottom: 1px solid #CCCCCC;
  margin: 0 0 60px;
  padding: 0 0 60px;
}
.p-message-sec.is-bdrnone {
  border: none;
  padding: 0;
}
.p-message-sec p {
  font-size: 1rem;
}
.p-message-sec .caution {
  color: #646464;
  display: block;
  font-size: 0.75rem;
  margin: 6px 0 0;
}

/*
 * style.css
 */
/* ==========================================================
!need
========================================================== */
.p-need-kv {
  background: #3366cc url(../img/need/kv_need_sp.webp) no-repeat top right;
  background-size: 50%;
  padding: 0 0 150px;
  position: relative;
}
@media only screen and (min-width: 960px), print {
  .p-need-kv {
    background: #3366cc;
    padding: 0;
  }
}
@media only screen and (min-width: 960px), print {
  .p-need-kv:before {
    background: #3366cc url(../img/need/kv_need.webp) no-repeat top center;
    background-size: cover;
    content: "";
    display: block;
    position: absolute;
    width: 50%;
    height: 100%;
    top: 0;
    right: 0;
  }
}
.p-need-kv .l-inner {
  padding: 0;
}
@media only screen and (min-width: 960px), print {
  .p-need-kv .l-inner {
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 40px 0 40px;
  }
}
.p-need-kv__text {
  position: relative;
}
@media only screen and (min-width: 960px), print {
  .p-need-kv__text {
    height: 600px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
  }
}
.p-need-kv__text .outline {
  display: flex;
  flex-direction: column;
  height: 250px;
  align-items: flex-start;
  justify-content: center;
  padding: 0 max(10px, 5.3%);
}
@media only screen and (min-width: 960px), print {
  .p-need-kv__text .outline {
    display: block;
    padding: 0;
    height: auto;
    margin: 0 0 60px;
  }
}
.p-need-kv__text .outline span {
  border-bottom: 1px solid #ffffff;
  color: #FFFFFF;
  display: block;
  font-size: 1.25rem;
  font-weight: bold;
}
.p-need-kv__text .outline span.ruby {
  border: none;
  font-size: 0.875rem;
  font-weight: 400;
}
.p-need-kv__text .title {
  background: #EFEFEF;
  color: #3366cc;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  height: 150px;
  position: absolute;
  padding: 0 max(10px, 5.3%);
  bottom: -150px;
  left: 0;
  font-size: 1.375rem;
  font-weight: 900;
}
@media only screen and (min-width: 960px), print {
  .p-need-kv__text .title {
    background: none;
    color: #FFFFFF;
    display: block;
    padding: 0;
    height: auto;
    position: relative;
    bottom: inherit;
    left: inherit;
    font-size: 1.875rem;
  }
}
.p-need-anchor__list {
  margin: 0 0 60px;
}
@media only screen and (min-width: 960px), print {
  .p-need-anchor__list {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
  }
}
.p-need-anchor__list--item {
  margin: 0 0 20px;
}
@media only screen and (min-width: 960px), print {
  .p-need-anchor__list--item {
    width: calc((100% - 30px) / 2);
    margin: 0;
  }
}
.p-need-anchor__list--item:last-child {
  margin: 0;
}
.p-need-anchor__list--item a {
  background: #F5F5F5;
  border-radius: 10px;
  color: #222222;
  display: flex;
  font-size: 1rem;
  font-weight: bold;
  text-decoration: none;
  flex-direction: column;
  justify-content: center;
  height: 60px;
  padding: 0 1em 0 3.5em;
  position: relative;
}
.p-need-anchor__list--item a:before {
  background: url(../img/common/icon_checkmark.svg) no-repeat;
  background-size: 100%;
  content: "";
  display: block;
  width: 30px;
  height: 30px;
  position: absolute;
  top: 50%;
  left: 1em;
  transform: translateY(-50%);
}

/*
 * style.css
 */
/* ==========================================================
!people
========================================================== */
.p-people-kv {
  background: #3366cc;
  padding: 0 0 150px;
  position: relative;
}
@media only screen and (min-width: 960px), print {
  .p-people-kv {
    background: #3366cc;
    padding: 0;
  }
}
.p-people-kv .l-inner {
  padding: 0;
}
@media only screen and (min-width: 960px), print {
  .p-people-kv .l-inner {
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 40px 0 40px;
  }
}
.p-people-kv__image {
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  width: 50%;
  height: calc(100% - 150px);
}
@media only screen and (min-width: 960px), print {
  .p-people-kv__image {
    width: 50%;
    height: 100%;
    overflow: hidden;
  }
}
.p-people-kv__image img {
  width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media only screen and (min-width: 960px), print {
  .p-people-kv__image img {
    width: 100%;
    min-width: 720px;
  }
}
.p-people-kv__text {
  position: relative;
}
@media only screen and (min-width: 960px), print {
  .p-people-kv__text {
    height: 600px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
  }
}
.p-people-kv__text .outline {
  display: flex;
  flex-direction: column;
  height: 250px;
  align-items: flex-start;
  justify-content: center;
  padding: 0 max(10px, 5.3%);
}
@media only screen and (min-width: 960px), print {
  .p-people-kv__text .outline {
    display: block;
    padding: 0;
    height: auto;
    margin: 0 0 60px;
  }
}
.p-people-kv__text .outline span {
  border-bottom: 1px solid #ffffff;
  color: #FFFFFF;
  display: block;
  font-size: 1.25rem;
  font-weight: bold;
}
.p-people-kv__text .outline span.ruby {
  border: none;
  font-size: 0.875rem;
  font-weight: 400;
}
.p-people-kv__text .title {
  background: #EFEFEF;
  color: #3366cc;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  height: 150px;
  position: absolute;
  padding: 0 max(10px, 5.3%);
  bottom: -150px;
  left: 0;
  font-size: 1.375rem;
  font-weight: 900;
}
@media only screen and (min-width: 960px), print {
  .p-people-kv__text .title {
    background: none;
    color: #FFFFFF;
    display: block;
    padding: 0;
    height: auto;
    position: relative;
    bottom: inherit;
    left: inherit;
    font-size: 1.875rem;
  }
}
.p-people-kv__text .info {
  display: none;
}
@media only screen and (min-width: 960px), print {
  .p-people-kv__text .info {
    color: #FFFFFF;
    display: block;
    font-size: 0.875rem;
    font-weight: bold;
    position: absolute;
    left: 51%;
    bottom: 16px;
  }
}
.p-people-kv__text .info span {
  display: block;
  font-size: 0.75rem;
}

/*
 * style.css
 */
/* ==========================================================
!basic
========================================================== */
.p-basic-kv {
  background: url(../img/common/bg_basic_lower_sp.webp) no-repeat top center;
  background-size: cover;
  height: 200px;
  display: flex;
  flex-direction: column;
}
@media only screen and (min-width: 960px), print {
  .p-basic-kv {
    background: url(../img/common/bg_basic_lower.webp) no-repeat top center;
    background-size: cover;
    height: 300px;
  }
}
.p-basic-kv .l-inner {
  width: 100%;
}
.p-basic-kv__text .title {
  display: flex;
  flex-direction: column;
  height: 200px;
  align-items: center;
  justify-content: center;
  padding: 0 max(10px, 5.3%);
}
@media only screen and (min-width: 960px), print {
  .p-basic-kv__text .title {
    height: 300px;
    margin: 40px 0 0;
  }
}
.p-basic-kv__text .title span {
  border-bottom: 1px solid #CCCCCC;
  display: block;
  font-size: 1.25rem;
  font-weight: bold;
  width: fit-content;
}
.p-basic-kv__text .title span.ruby {
  border: none;
  font-size: 0.875rem;
  font-weight: 400;
}
.p-basic-sec {
  margin: 0 0 60px;
}
@media only screen and (min-width: 960px), print {
  .p-basic-sec {
    padding: 0 0 80px;
    position: relative;
  }
}
@media only screen and (min-width: 960px), print {
  .p-basic-sec.is-obj:before {
    background: #3366cc;
    content: "";
    display: block;
    width: 300px;
    height: 325px;
    position: absolute;
    top: 160px;
    right: 0;
    transform: skewY(-45deg);
    z-index: -1;
  }
}
.p-basic-sec.is-people {
  position: relative;
}
@media only screen and (min-width: 960px), print {
  .p-basic-sec.is-people .p-basic-sec__image {
    top: 160px;
  }
}
.p-basic-sec .l-inner {
  position: relative;
}
.p-basic-sec__num {
  border-bottom: 1px solid #CCCCCC;
  color: #3366cc;
  display: block;
  font-size: 1.875rem;
  font-weight: 900;
  width: fit-content;
  padding: 0 0.5em;
  margin: 0 auto 20px;
}
.p-basic-sec__image {
  border-radius: 10px 10px 0 0;
  overflow: hidden;
}
@media only screen and (min-width: 960px), print {
  .p-basic-sec__image {
    border-radius: 10px;
    width: 32%;
    max-width: 382px;
    position: absolute;
    z-index: 2;
    top: 80px;
    left: 20px;
  }
}
.p-basic-sec__image img {
  width: 100%;
}
.p-basic-sec__text {
  background: #F5F5F5;
  border-radius: 0 0 10px 10px;
  padding: 30px;
}
@media only screen and (min-width: 960px), print {
  .p-basic-sec__text {
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 96%;
    max-width: calc(100% - 70px);
    padding: min(6vw, 60px) 30px min(6vw, 60px) 33%;
    position: relative;
    z-index: 1;
    margin: 60px 0 0 auto;
  }
}
.p-basic-sec__text p {
  font-size: 1rem;
}
.p-basic-sec__schedule {
  position: relative;
}
.p-basic-sec__schedule:before {
  background: #3366cc;
  content: "";
  display: block;
  width: 4px;
  height: calc(100% - 13px);
  position: absolute;
  top: 13px;
  left: 68px;
}
.p-basic-sec__schedule--item {
  margin: 0 0 20px;
  display: flex;
  gap: 40px;
  position: relative;
}
.p-basic-sec__schedule--item:last-child {
  margin: 0;
}
.p-basic-sec__schedule--item:before {
  background: #3366cc;
  border-radius: 10px;
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  position: absolute;
  top: 5px;
  left: 60px;
}
.p-basic-sec__schedule--item .time {
  font-size: 1.0625rem;
  font-weight: 900;
}
.p-basic-sec__schedule--item .detail {
  background: #F5F5F5;
  border-radius: 10px;
  padding: 20px;
  width: 100%;
}
.p-basic-sec__schedule--item .detail p {
  font-size: 1rem;
}
.p-basic-sec__schedule--item .detail figure {
  border-radius: 10px;
  overflow: hidden;
  width: 100%;
}
@media only screen and (min-width: 960px), print {
  .p-basic-sec__schedule--item .detail figure {
    width: 32%;
    max-width: 360px;
  }
}
.p-basic-sec__schedule--item .detail figure img {
  width: 100%;
}
@media only screen and (min-width: 960px), print {
  .p-basic-sec__schedule--item .detail.is-image {
    display: flex;
    gap: 30px;
  }
}
.p-basic-sec__schedule--item .detail.is-image p {
  margin: 0 0 20px;
}
@media only screen and (min-width: 960px), print {
  .p-basic-sec__schedule--item .detail.is-image p {
    width: calc(68% - 30px);
  }
}
.p-basic-link__btn {
  background: #F2F4F7;
  padding: 50px 20px;
}
@media only screen and (min-width: 960px), print {
  .p-basic-link__btn {
    padding: 50px 0;
  }
}
.p-basic-link a {
  background: #3366cc;
  border-radius: 30px;
  box-shadow: 6px 6px 6px 0px rgba(0, 0, 0, 0.16);
  color: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  width: 100%;
  max-width: 315px;
  height: 60px;
  position: relative;
  margin: 0 auto;
  transition: all 0.3s;
}
@media only screen and (min-width: 960px), print {
  .p-basic-link a {
    max-width: 400px;
  }
}
.p-basic-link a span {
  font-size: 1.125rem;
  font-weight: 700;
  position: relative;
}
@media (hover: hover) and (pointer: fine) {
  .p-basic-link a:hover, .p-basic-link a:focus {
    background: #ffffff;
  }
  .p-basic-link a:hover > span, .p-basic-link a:focus > span {
    color: #3366cc;
  }
  .p-basic-link a:hover.is-entry > span:before, .p-basic-link a:focus.is-entry > span:before {
    background: url(../img/common/icon_entry_b.svg) no-repeat;
    background-size: 100%;
  }
  .p-basic-link a:hover.is-mypage > span:before, .p-basic-link a:focus.is-mypage > span:before {
    background: url(../img/common/icon_mypage_b.svg) no-repeat;
    background-size: 100%;
  }
}
.p-basic-link a.is-entry > span, .p-basic-link a.is-mypage > span {
  padding: 0 0 0 40px;
}
.p-basic-link a.is-entry > span:before, .p-basic-link a.is-mypage > span:before {
  content: "";
  display: block;
  width: 27px;
  height: 27px;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  transition: all 0.3s;
}
.p-basic-link a.is-entry > span:before {
  background: url(../img/common/icon_entry_w.svg) no-repeat;
  background-size: 100%;
}
.p-basic-link a.is-mypage > span:before {
  background: url(../img/common/icon_mypage_w.svg) no-repeat;
  background-size: 100%;
}
.p-basic-info {
  margin: 0 0 60px;
}
.p-basic-info__text {
  background: #F2F4F7;
  padding: 1.5em;
}
@media only screen and (min-width: 960px), print {
  .p-basic-info__text {
    padding: 30px;
  }
}
.p-basic-info__text h3 {
  margin: 0 0 16px;
  font-size: 1rem;
}
@media only screen and (min-width: 960px), print {
  .p-basic-info__text h3 {
    font-size: 1.125rem;
  }
}
.p-basic-info__text p {
  font-size: 1rem;
}
@media only screen and (min-width: 960px), print {
  .p-basic-info__text p {
    font-size: 1.125rem;
  }
}

/*
 * style.css
 */
/* ==========================================================
!faq
========================================================== */
.p-faq-sec {
  position: relative;
}
@media only screen and (min-width: 960px), print {
  .p-faq-sec:before {
    background: #3366cc;
    content: "";
    display: block;
    width: 240px;
    height: 280px;
    position: absolute;
    top: 180px;
    right: 0;
    transform: skewY(-45deg);
    z-index: -1;
  }
}
@media only screen and (min-width: 960px), print {
  .p-faq-sec:after {
    background: #3366cc;
    content: "";
    display: block;
    width: 240px;
    height: 280px;
    position: absolute;
    bottom: 120px;
    left: 0;
    transform: skewY(-45deg);
    z-index: -1;
  }
}
.p-faq-sec dl {
  background: #ffffff;
}
.p-faq-sec__title {
  background: #F5F5F5;
  padding: 1em 2em 1em 1em;
  position: relative;
}
@media only screen and (min-width: 960px), print {
  .p-faq-sec__title {
    padding: 1em 2em;
  }
}
.p-faq-sec__title:before {
  background: #AAAAAA;
  content: "";
  display: block;
  width: 14px;
  height: 2px;
  position: absolute;
  top: 30px;
  right: 0.8em;
}
@media only screen and (min-width: 960px), print {
  .p-faq-sec__title:before {
    right: 1.8em;
  }
}
.p-faq-sec__title:after {
  background: #AAAAAA;
  content: "";
  display: block;
  position: absolute;
  width: 2px;
  height: 14px;
  top: 24px;
  right: calc(0.8em + 6px);
}
@media only screen and (min-width: 960px), print {
  .p-faq-sec__title:after {
    right: calc(1.8em + 6px);
  }
}
.p-faq-sec__title span {
  font-size: 1.125rem;
  font-weight: bold;
  display: block;
  padding: 0 0 0 1.3em;
  position: relative;
}
.p-faq-sec__title span:before {
  color: #3366cc;
  content: "Q";
  display: block;
  font-size: 1.125rem;
  font-weight: bold;
  position: absolute;
  top: -1px;
  left: 0;
}
.p-faq-sec__title.u-active:after {
  content: none;
}
.p-faq-sec__cnt {
  display: none;
  padding: 1em;
  position: relative;
}
@media only screen and (min-width: 960px), print {
  .p-faq-sec__cnt {
    padding: 1em 2em;
  }
}
.p-faq-sec__cnt:after {
  background: #CCCCCC;
  content: "";
  display: block;
  width: calc(100% - 2em);
  height: 1px;
  position: absolute;
  bottom: 0;
  left: 1em;
}
@media only screen and (min-width: 960px), print {
  .p-faq-sec__cnt:after {
    width: calc(100% - 4em);
    left: 2em;
  }
}
.p-faq-sec__cnt p {
  font-size: 1rem;
}

/*
 * style.css
 */
/* ==========================================================
!require
========================================================== */
.p-require-sec {
  position: relative;
  margin: 0 0 60px;
}
.p-require-sec:last-child {
  margin: 0;
}
@media only screen and (min-width: 960px), print {
  .p-require-sec:before {
    background: #3366cc;
    content: "";
    display: block;
    width: 240px;
    height: 280px;
    position: absolute;
    top: 180px;
    right: 0;
    transform: skewY(-45deg);
    z-index: -1;
  }
}
@media only screen and (min-width: 960px), print {
  .p-require-sec:after {
    background: #3366cc;
    content: "";
    display: block;
    width: 240px;
    height: 280px;
    position: absolute;
    bottom: 120px;
    left: 0;
    transform: skewY(-45deg);
    z-index: -1;
  }
}
.p-require-sec table {
  background: #ffffff;
  border: 1px solid #CCCCCC;
  border-collapse: collapse;
}
@media only screen and (min-width: 960px), print {
  .p-require-sec table {
    width: 100%;
  }
}
.p-require-sec table tr th {
  background: #F5F5F5;
  border-bottom: 1px solid #CCCCCC;
}
.p-require-sec table tr td {
  border-bottom: 1px solid #CCCCCC;
}
.p-require-sec table tr:last-child td {
  border: none;
}
.p-require-sec th {
  display: block;
  font-size: 1.125rem;
  font-weight: bold;
  padding: 0.8em 1em;
}
@media only screen and (min-width: 960px), print {
  .p-require-sec th {
    display: table-cell;
    width: 34%;
    vertical-align: top;
  }
}
.p-require-sec td {
  display: block;
  padding: 0.8em 1em;
  position: relative;
}
@media only screen and (min-width: 960px), print {
  .p-require-sec td {
    display: table-cell;
    width: 66%;
  }
}

/*
 * style.css
 */
/* ==========================================================
!sort
========================================================== */
.p-sort__title {
  font-size: 1.5rem;
  font-weight: 900;
  text-align: center;
  margin: 0 0 30px;
}
@media only screen and (min-width: 960px), print {
  .p-sort__title {
    font-size: 1.875rem;
  }
}
.p-sort-check__list {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
.p-sort-check__list--item {
  width: calc((100% - 20px) / 2);
}
@media only screen and (min-width: 960px), print {
  .p-sort-check__list--item {
    width: calc((100% - 80px) / 5);
  }
}
.p-sort-check__list--item label {
  position: relative;
  display: flex;
  align-items: center;
  cursor: pointer;
}
.p-sort-check__list--item label input[type=checkbox] {
  position: absolute;
  left: -9999px;
}
.p-sort-check__list--item label input[type=checkbox]:checked + span {
  background: #3366cc;
  color: #FFFFFF;
}
.p-sort-check__list--item label span {
  background: #ffffff;
  border: 2px solid #3366cc;
  border-radius: 25px;
  color: #3366cc;
  display: flex;
  font-weight: bold;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 50px;
  transition: all 0.3s;
}
@media (hover: hover) and (pointer: fine) {
  .p-sort-check__list--item label:hover span, .p-sort-check__list--item label:focus span {
    background: #3366cc;
    color: #FFFFFF;
  }
}
.p-sort-sec {
  position: relative;
  margin: 0 0 60px;
}
.p-sort-sec:last-child {
  margin: 0;
}
.p-sort-sec__list--item {
  margin: 0 0 30px;
}
.p-sort-sec__list--item:last-child {
  margin: 0;
}
.p-sort-sec__list--item a {
  border: 1px solid #3366cc;
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  width: 100%;
  text-decoration: none;
  overflow: hidden;
}
@media only screen and (min-width: 960px), print {
  .p-sort-sec__list--item a {
    flex-direction: row;
  }
}
@media (hover: hover) and (pointer: fine) {
  .p-sort-sec__list--item a:hover .p-sort-sec__title, .p-sort-sec__list--item a:focus .p-sort-sec__title {
    background: #3366cc;
    color: #FFFFFF;
  }
  .p-sort-sec__list--item a:hover .p-sort-sec__cnt, .p-sort-sec__list--item a:focus .p-sort-sec__cnt {
    background: #EEF4FF;
  }
}
.p-sort-sec__title {
  background: #F4F7FF;
  border-bottom: 1px solid #3366cc;
  color: #222222;
  display: block;
  padding: 0.8em 1em;
  position: relative;
  font-size: 1.125rem;
  font-weight: bold;
  transition: all 0.3s;
}
@media only screen and (min-width: 960px), print {
  .p-sort-sec__title {
    border-right: 1px solid #3366cc;
    border-bottom: none;
    width: 34%;
  }
}
.p-sort-sec__cnt {
  display: block;
  padding: 0.8em 1em;
  position: relative;
  transition: all 0.3s;
}
@media only screen and (min-width: 960px), print {
  .p-sort-sec__cnt {
    width: 66%;
  }
}
.p-sort-sec__cnt span {
  color: #222222;
  font-size: 1rem;
}
.p-sort-sec__cnt span.location, .p-sort-sec__cnt span.detail {
  display: flex;
  width: 100%;
}
.p-sort-sec__cnt span.location > span:first-child, .p-sort-sec__cnt span.detail > span:first-child {
  width: 5em;
  position: relative;
}
.p-sort-sec__cnt span.location > span:first-child:after, .p-sort-sec__cnt span.detail > span:first-child:after {
  content: "：";
  color: #222222;
  font-size: 1rem;
  display: block;
  position: absolute;
  right: 0.1em;
  top: 0;
}
.p-sort-sec__cnt span.location > span:last-child, .p-sort-sec__cnt span.detail > span:last-child {
  width: calc(100% - 5em);
}
.p-sort-sec__submitbutton {
  margin: 50px auto 20px;
  background: #3366cc;
  border-radius: 30px;
  box-shadow: 6px 6px 6px 0px rgba(0, 0, 0, 0.16);
  color: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  width: 100%;
  max-width: 315px;
  height: 60px;
  position: relative;
  transition: all 0.3s;
}
@media only screen and (min-width: 960px), print {
  .p-sort-sec__submitbutton {
    margin: 50px auto 0;
    max-width: 400px;
  }
}
.p-sort-sec__submitbutton input {
  font-size: 1.125rem;
  font-weight: 700;
  position: relative;
  appearance: none;
  background: none;
  color: #ffffff;
  cursor: pointer;
  width: 100%;
  height: 100%;
}
@media (hover: hover) and (pointer: fine) {
  .p-sort-sec__submitbutton:hover {
    background: #02346D;
  }
}

/*
 * style.css
 */
/* ==========================================================
!company
========================================================== */
.p-company-sec {
  position: relative;
}
@media only screen and (min-width: 960px), print {
  .p-company-sec:before {
    background: #3366cc;
    content: "";
    display: block;
    width: 240px;
    height: 280px;
    position: absolute;
    top: 180px;
    right: 0;
    transform: skewY(-45deg);
    z-index: -1;
  }
}
@media only screen and (min-width: 960px), print {
  .p-company-sec:after {
    background: #3366cc;
    content: "";
    display: block;
    width: 240px;
    height: 280px;
    position: absolute;
    bottom: 120px;
    left: 0;
    transform: skewY(-45deg);
    z-index: -1;
  }
}
.p-company-sec__list {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 16px;
}
@media only screen and (min-width: 960px), print {
  .p-company-sec__list {
    flex-direction: row;
    gap: 30px;
    position: relative;
    z-index: 2;
  }
}
.p-company-sec__list--item {
  background: #ffffff;
  border: 6px solid #3366cc;
  border-radius: 10px;
  width: 100%;
  display: flex;
}
@media only screen and (min-width: 960px), print {
  .p-company-sec__list--item {
    width: calc((100% - 30px) / 2);
  }
}
.p-company-sec__image {
  width: 48%;
}
.p-company-sec__image img {
  display: block;
  margin: 0 auto;
}
.p-company-sec__title {
  background: #3366cc;
  border-radius: 0 10px 10px 0;
  color: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.125rem;
  font-weight: 900;
  text-align: center;
  height: 38px;
  width: 100%;
  position: absolute;
  top: 20px;
  left: 0;
}
@media only screen and (min-width: 960px), print {
  .p-company-sec__title {
    font-size: 1.875rem;
    height: 60px;
    top: 50px;
  }
}
.p-company-sec__text {
  width: 52%;
  position: relative;
  padding: calc(58px + 0.5em) 0 0.5em 0.5em;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media only screen and (min-width: 960px), print {
  .p-company-sec__text {
    padding: calc(110px + 0.5em) 0 0.5em 0.5em;
  }
}
.p-company-sec__text span {
  color: #3366cc;
  line-height: 1;
  font-weight: 600;
}
@media only screen and (min-width: 960px), print {
  .p-company-sec__text span {
    line-height: 1.2;
  }
}
.p-company-sec__text span.num {
  font-family: Arial, sans-serif;
}
.p-company-sec__text span.black {
  font-weight: 900;
}
.p-company-sec__text--01 {
  font-size: 3.5rem;
}
@media only screen and (min-width: 960px), print {
  .p-company-sec__text--01 {
    font-size: 6.25rem;
  }
}
.p-company-sec__text--02 {
  font-size: 3rem;
}
@media only screen and (min-width: 960px), print {
  .p-company-sec__text--02 {
    font-size: 5rem;
  }
}
.p-company-sec__text--03 {
  font-size: 2.25rem;
}
@media only screen and (min-width: 960px), print {
  .p-company-sec__text--03 {
    font-size: 3.75rem;
  }
}
.p-company-sec__text--04 {
  font-size: 1.5rem;
}
@media only screen and (min-width: 960px), print {
  .p-company-sec__text--04 {
    font-size: 2.5rem;
  }
}
.p-company-sec__text--05 {
  font-size: 1.125rem;
}
@media only screen and (min-width: 960px), print {
  .p-company-sec__text--05 {
    font-size: 1.875rem;
  }
}
.p-company-sec__text--06 {
  font-size: 1rem;
}
@media only screen and (min-width: 960px), print {
  .p-company-sec__text--06 {
    font-size: 1.75rem;
  }
}
.p-company-sec__text--07 {
  font-size: 0.875rem;
}
@media only screen and (min-width: 960px), print {
  .p-company-sec__text--07 {
    font-size: 1.5rem;
  }
}
.p-company-sec__text--08 {
  font-size: 0.6875rem;
}
@media only screen and (min-width: 960px), print {
  .p-company-sec__text--08 {
    font-size: 1.25rem;
  }
}
.p-company-sec__text--09 {
  font-size: 1.125rem;
}
@media only screen and (min-width: 960px), print {
  .p-company-sec__text--09 {
    font-size: 1.125rem;
  }
}
.p-company-sec__text--10 {
  font-size: 1rem;
}
@media only screen and (min-width: 960px), print {
  .p-company-sec__text--10 {
    font-size: 1rem;
  }
}
.p-company-sec__text--11 {
  font-size: 0.875rem;
}
@media only screen and (min-width: 960px), print {
  .p-company-sec__text--11 {
    font-size: 0.875rem;
  }
}
.p-company-sec__text--12 {
  font-size: 0.75rem;
}
@media only screen and (min-width: 960px), print {
  .p-company-sec__text--12 {
    font-size: 0.75rem;
  }
}

/*
 * style.css
 */
/* ==========================================================
!career
========================================================== */
.p-career-sec {
  position: relative;
}
.p-career-sec .l-inner > p {
  margin: 0 0 30px;
  font-size: 1rem;
}
@media only screen and (min-width: 960px), print {
  .p-career-sec .l-inner > p {
    margin: 0 0 60px;
  }
}
.p-career-sec__flow {
  background: #F5F5F5;
  border-radius: 10px;
  padding: 60px 10px;
  margin: 0 0 60px;
}
@media only screen and (min-width: 960px), print {
  .p-career-sec__flow {
    padding: 60px 40px;
  }
}
.p-career-sec__flow picture {
  display: block;
  margin: 0 0 20px;
}
@media only screen and (min-width: 960px), print {
  .p-career-sec__flow picture {
    margin: 0 0 30px;
  }
}
.p-career-sec__flow picture img {
  width: 100%;
}
.p-career-sec__step {
  margin: 0 0 30px;
}
@media only screen and (min-width: 960px), print {
  .p-career-sec__step {
    margin: 0 0 60px;
  }
}
.p-career-sec__step--item {
  margin: 0 0 20px;
}
.p-career-sec__step--item:last-child {
  margin: 0;
}
.p-career-sec__step--item .step {
  color: #3366cc;
  display: block;
  font-family: "Inter", sans-serif;
  font-size: 0.875rem;
  font-weight: 600;
  width: fit-content;
  padding: 0 0 0 0.8em;
  position: relative;
}
@media only screen and (min-width: 960px), print {
  .p-career-sec__step--item .step {
    font-size: 1rem;
    font-weight: 900;
  }
}
.p-career-sec__step--item .step:before {
  content: "-";
  color: #3366cc;
  display: block;
  font-family: "Inter", sans-serif;
  font-size: 0.875rem;
  font-weight: 600;
  width: fit-content;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
@media only screen and (min-width: 960px), print {
  .p-career-sec__step--item .step:before {
    font-size: 1rem;
    font-weight: 900;
  }
}
.p-career-sec__step--item p {
  font-size: 0.875rem;
}
@media only screen and (min-width: 960px), print {
  .p-career-sec__step--item p {
    font-size: 1rem;
  }
}
.p-career-sec__path {
  position: relative;
}
.p-career-sec__path:before {
  background: #CCCCCC;
  content: "";
  display: block;
  width: 4px;
  height: calc(100% - 10px);
  position: absolute;
  top: 10px;
  left: 99px;
}
@media only screen and (min-width: 960px), print {
  .p-career-sec__path:before {
    left: 114px;
  }
}
.p-career-sec__path--item {
  margin: 0 0 20px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 30px;
  position: relative;
}
@media only screen and (min-width: 960px), print {
  .p-career-sec__path--item {
    margin: 0 0 30px;
    gap: 60px;
  }
}
.p-career-sec__path--item:before {
  background: #F5B300;
  border-radius: 10px;
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  position: absolute;
  top: 5px;
  left: 91px;
}
@media only screen and (min-width: 960px), print {
  .p-career-sec__path--item:before {
    left: 106px;
  }
}
.p-career-sec__path--item:last-child {
  margin: 0;
}
.p-career-sec__path--item .year {
  display: block;
  font-size: 1.0625rem;
  font-weight: 900;
  width: 86px;
}
.p-career-sec__path--item p {
  font-size: 1rem;
  width: calc(100% - 116px);
}
@media only screen and (min-width: 960px), print {
  .p-career-sec__path--item p {
    width: calc(100% - 146px);
  }
}
.p-career-example {
  background: #F4F7FF;
  margin: 0 0 60px;
  padding: 0 0 30px;
}
.p-career-example:last-child {
  margin: 0;
}
.p-career-example__info {
  position: relative;
}
.p-career-example__info:before {
  background: #ffffff;
  content: "";
  width: 110vw;
  height: 100%;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
}
@media only screen and (min-width: 960px), print {
  .p-career-example__info:before {
    height: calc(100% - 60px);
  }
}
@media only screen and (min-width: 960px), print {
  .p-career-example__info {
    display: flex;
    align-items: center;
    gap: 60px;
  }
}
.p-career-example__image {
  position: relative;
  z-index: 2;
}
@media only screen and (min-width: 960px), print {
  .p-career-example__image {
    width: 48.75%;
  }
}
.p-career-example__image figure {
  border-radius: 10px;
  overflow: hidden;
  width: 100%;
}
.p-career-example__image figure img {
  width: 100%;
}
.p-career-example__image .text {
  background: rgba(255, 255, 255, 0.8);
  border-radius: 10px;
  padding: 8px 16px;
  position: absolute;
  bottom: 10px;
  left: 10px;
}
@media only screen and (min-width: 960px), print {
  .p-career-example__image .text {
    padding: 10px 20px;
    bottom: 30px;
    left: 30px;
  }
}
.p-career-example__image .text span {
  display: block;
  font-weight: 600;
}
.p-career-example__image .text span.name {
  font-size: 1.25rem;
}
@media only screen and (min-width: 960px), print {
  .p-career-example__image .text span.name {
    font-size: 1.5rem;
  }
}
.p-career-example__image .text span.post, .p-career-example__image .text span.year {
  font-size: 0.75rem;
}
@media only screen and (min-width: 960px), print {
  .p-career-example__image .text span.post, .p-career-example__image .text span.year {
    font-size: 1rem;
  }
}
.p-career-example__title {
  color: #3366cc;
  font-size: 1.5rem;
  font-weight: 900;
  position: relative;
  z-index: 2;
  padding: 30px 0;
}
@media only screen and (min-width: 960px), print {
  .p-career-example__title {
    width: calc(51.25% - 60px);
    padding: 0;
  }
}
.p-career-example__year {
  padding: 30px 0;
}
@media only screen and (min-width: 960px), print {
  .p-career-example__year {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 30px;
    margin: 0 0 30px;
  }
}
.p-career-example__year--item {
  background: #ffffff;
  margin: 0 0 30px;
  padding: 20px;
  width: calc(100% - 15px);
  position: relative;
}
@media only screen and (min-width: 960px), print {
  .p-career-example__year--item {
    width: calc((100% - 60px) / 3);
    margin: 0;
  }
}
.p-career-example__year--item:last-child {
  margin: 0;
}
.p-career-example__year--item:before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 20px 20px 0 0;
  border-color: #3366cc transparent transparent transparent;
  position: absolute;
  top: 0;
  left: 0;
}
.p-career-example__year--item .title {
  display: block;
  padding: 0 0 0 30px;
  position: relative;
  font-size: 1.125rem;
  font-weight: 600;
  margin: 0 0 10px;
}
.p-career-example__year--item .title:before {
  background: url(../img/career/icon_career_title.svg) no-repeat;
  background-size: 100%;
  content: "";
  display: block;
  width: 24px;
  height: 24px;
  position: absolute;
  top: 4px;
  left: 0;
}
.p-career-example__year--item p {
  color: #02346D;
  font-size: 1rem;
}
.p-career-example__year--item:nth-child(1) {
  box-shadow: 15px 15px 0px 0px #98B2E5;
}
.p-career-example__year--item:nth-child(2) {
  box-shadow: 15px 15px 0px 0px #7098E6;
}
.p-career-example__year--item:nth-child(3) {
  box-shadow: 15px 15px 0px 0px #4077E2;
}
.p-career-example__year--item:nth-child(4) {
  box-shadow: 15px 15px 0px 0px #2761D3;
}
.p-career-example__year--item:nth-child(5) {
  box-shadow: 15px 15px 0px 0px #1953C3;
}
.p-career-example__year--item:nth-child(6) {
  box-shadow: 15px 15px 0px 0px #06389A;
}
.p-career-example__flow {
  position: relative;
  margin: 0 0 30px;
}
@media only screen and (min-width: 960px), print {
  .p-career-example__flow {
    max-width: 1030px;
    margin: 0 auto 30px;
  }
}
.p-career-example__flow:before {
  background: #CCCCCC;
  content: "";
  display: block;
  width: 4px;
  height: calc(100% - 10px);
  position: absolute;
  top: 10px;
  left: 133px;
}
@media only screen and (min-width: 960px), print {
  .p-career-example__flow:before {
    left: 338px;
  }
}
.p-career-example__flow--item {
  margin: 0 0 20px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 30px;
  position: relative;
}
@media only screen and (min-width: 960px), print {
  .p-career-example__flow--item {
    gap: 80px;
    margin: 0 0 30px;
  }
}
.p-career-example__flow--item:before {
  background: #F5B300;
  border-radius: 10px;
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  position: absolute;
  top: 5px;
  left: 125px;
}
@media only screen and (min-width: 960px), print {
  .p-career-example__flow--item:before {
    left: 330px;
  }
}
.p-career-example__flow--item:last-child {
  margin: 0;
}
.p-career-example__flow--item .period {
  display: block;
  font-size: 1rem;
  font-weight: 900;
  width: 120px;
}
@media only screen and (min-width: 960px), print {
  .p-career-example__flow--item .period {
    width: 300px;
  }
}
.p-career-example__flow--item .period span {
  display: block;
  font-size: 0.875rem;
  font-weight: 500;
}
.p-career-example__flow--item p {
  font-size: 1rem;
  width: calc(100% - 150px);
}
@media only screen and (min-width: 960px), print {
  .p-career-example__flow--item p {
    width: calc(100% - 380px);
  }
}
.p-career-example__message {
  background: #ffffff;
  border-radius: 10px;
  padding: 30px;
}
@media only screen and (min-width: 960px), print {
  .p-career-example__message {
    max-width: 1030px;
    margin: 0 auto 30px;
  }
}
.p-career-example__message h4 {
  color: #3366cc;
  font-size: 1.125rem;
  font-weight: 600;
  margin: 0 0 20px;
}
.p-career-example__message p {
  font-size: 1rem;
}

/*
 * style.css
 */
/* ==========================================================
!entry
========================================================== */
.p-entry-sec table {
  width: 100%;
}
.p-entry-sec table tr {
  display: flex;
  flex-direction: column;
  margin: 0 0 20px;
}
@media only screen and (min-width: 960px), print {
  .p-entry-sec table tr {
    flex-direction: row;
    align-items: flex-start;
  }
}
.p-entry-sec table tr th, .p-entry-sec table tr td {
  width: 100%;
}
.p-entry-sec table tr th {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  font-size: 1rem;
  margin: 0 0 10px;
}
@media only screen and (min-width: 960px), print {
  .p-entry-sec table tr th {
    width: calc(100% - 584px);
  }
}
.p-entry-sec table tr th span {
  border-radius: 2px;
  display: flex;
  align-items: center;
  font-size: 0.75rem;
  font-weight: 600;
  padding: 0 0.5em;
  margin: 0 10px 0 0;
  width: fit-content;
}
.p-entry-sec table tr th span.required {
  background: #F0332B;
  color: #FFFFFF;
}
.p-entry-sec table tr th span.any {
  background: #CDDAE2;
}
@media only screen and (min-width: 960px), print {
  .p-entry-sec table tr td {
    width: 584px;
  }
}
.p-entry-sec table tr td p {
  margin: 0 0 10px;
}
.p-entry-sec table tr td p a {
  color: #3366cc;
  font-weight: 600;
  text-decoration: none;
}
@media (hover: hover) and (pointer: fine) {
  .p-entry-sec table tr td p a:hover, .p-entry-sec table tr td p a:focus {
    text-decoration: underline;
  }
}
.p-entry-sec table tr td input[type=text] {
  color: #222222;
  border: 1px solid #CDDAE2;
  border-radius: 5px;
  width: 100%;
  font-size: 1rem;
  padding: 12px 1em;
}
.p-entry-sec table tr td input[type=radio] {
  position: absolute;
  white-space: nowrap;
  border: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  overflow: hidden;
  height: 1px;
  width: 1px;
  margin: -1px;
  padding: 0;
}
.p-entry-sec table tr td input[type=radio] + label {
  cursor: pointer;
  font-size: 1rem;
  position: relative;
  padding: 0 0 0 36px;
  margin: 0 40px 0 0;
}
@media only screen and (min-width: 960px), print {
  .p-entry-sec table tr td input[type=radio] + label {
    margin: 0 20px 0 0;
  }
}
.p-entry-sec table tr td input[type=radio] + label:last-child {
  margin: 0;
}
.p-entry-sec table tr td input[type=radio] + label:before, .p-entry-sec table tr td input[type=radio] + label:after {
  content: "";
  display: block;
  border-radius: 50%;
  position: absolute;
  transform: translateY(-50%);
  top: 50%;
  transition: all 0.3s;
}
.p-entry-sec table tr td input[type=radio] + label:before {
  background: #ffffff;
  border: 2px solid #CDDAE2;
  width: 24px;
  height: 24px;
  left: 0;
}
.p-entry-sec table tr td input[type=radio] + label:after {
  background: #ffffff;
  width: 12px;
  height: 12px;
  left: 6px;
  opacity: 0;
}
.p-entry-sec table tr td input[type=radio]:checked + label:before {
  background: #3366cc;
  border: none;
}
.p-entry-sec table tr td input[type=radio]:checked + label:after {
  opacity: 1;
}
.p-entry-sec table tr td input[type=checkbox] {
  position: absolute;
  white-space: nowrap;
  border: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  overflow: hidden;
  height: 1px;
  width: 1px;
  margin: -1px;
  padding: 0;
}
.p-entry-sec table tr td input[type=checkbox] + label {
  cursor: pointer;
  font-size: 1rem;
  position: relative;
  padding: 0 0 0 34px;
  margin: 0 40px 0 0;
}
.p-entry-sec table tr td input[type=checkbox] + label:last-child {
  margin: 0;
}
.p-entry-sec table tr td input[type=checkbox] + label:before, .p-entry-sec table tr td input[type=checkbox] + label:after {
  content: "";
  display: block;
  position: absolute;
  transform: translateY(-50%);
  top: 50%;
  transition: all 0.3s;
}
.p-entry-sec table tr td input[type=checkbox] + label:before {
  background: #ffffff;
  border: 2px solid #CDDAE2;
  border-radius: 4px;
  width: 24px;
  height: 24px;
  left: 0;
}
.p-entry-sec table tr td input[type=checkbox] + label:after {
  border-bottom: 3px solid #ffffff;
  border-left: 3px solid #ffffff;
  height: 8px;
  width: 12px;
  transform: rotate(-45deg);
  top: 6px;
  left: 6px;
  opacity: 0;
}
.p-entry-sec table tr td input[type=checkbox]:checked + label:before {
  background: #3366cc;
  border: none;
}
.p-entry-sec table tr td input[type=checkbox]:checked + label:after {
  opacity: 1;
}
.p-entry-sec table tr td input[readonly=readonly] {
  background: #F5F5F5;
  border: 1px solid #CCCCCC;
}
.p-entry-sec table tr td select {
  appearance: none;
  color: #222222;
  border: 1px solid #CDDAE2;
  border-radius: 5px;
  width: 100%;
  font-size: 1rem;
  padding: 12px 1em;
}
.p-entry-sec table tr td textarea {
  color: #222222;
  border: 1px solid #CDDAE2;
  border-radius: 5px;
  width: 100%;
  font-size: 1rem;
  padding: 12px 1em;
  min-height: 160px;
}
.p-entry-sec table tr td:has(select) {
  position: relative;
}
.p-entry-sec table tr td:has(select):before {
  content: "";
  display: block;
  width: 9px;
  height: 9px;
  border-top: 2px solid #3366cc;
  border-right: 2px solid #3366cc;
  position: absolute;
  top: 16px;
  transform: rotate(135deg);
  right: 1em;
  transition: all 0.3s;
}
.p-entry-sec__btn {
  background: #F2F4F7;
  padding: 50px 20px;
}
@media only screen and (min-width: 960px), print {
  .p-entry-sec__btn {
    padding: 50px 0;
    margin: 60px 0 0;
  }
}
.p-entry-sec button {
  background: #3366cc;
  border-radius: 30px;
  box-shadow: 6px 6px 6px 0px rgba(0, 0, 0, 0.16);
  color: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  width: 100%;
  max-width: 315px;
  height: 60px;
  position: relative;
  margin: 0 auto;
  transition: all 0.3s;
}
@media only screen and (min-width: 960px), print {
  .p-entry-sec button {
    max-width: 400px;
  }
}
.p-entry-sec button span {
  font-size: 1.125rem;
  font-weight: 700;
  position: relative;
  padding: 0 0 0 40px;
}
.p-entry-sec button span:before {
  background: url(../img/common/icon_entry_w.svg) no-repeat;
  background-size: 100%;
  content: "";
  display: block;
  width: 27px;
  height: 27px;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  transition: all 0.3s;
}
@media (hover: hover) and (pointer: fine) {
  .p-entry-sec button:hover, .p-entry-sec button:focus {
    background: #ffffff;
  }
  .p-entry-sec button:hover > span, .p-entry-sec button:focus > span {
    color: #3366cc;
  }
  .p-entry-sec button:hover > span:before, .p-entry-sec button:focus > span:before {
    background: url(../img/common/icon_entry_b.svg) no-repeat;
    background-size: 100%;
  }
}

/*
 * style.css
 */
/*
 * cmn_style.css
 */
/* ==========================================================
!Link
========================================================== */
a {
  color: #9F8A5A;
  text-decoration: underline;
  transition: all 0.3s;
}
a:hover, a:active, a:focus {
  color: #3366cc;
  text-decoration: none;
}

a[target=_blank].u-blank {
  position: relative;
  display: inline;
  padding-right: 1em;
}
a[target=_blank].u-blank::after {
  display: inline-block;
  content: "\e900";
  margin-left: 0.3em;
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "icomoon" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  text-decoration: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ==========================================================
!Base Fonts
========================================================== */
.u-fwN {
  font-weight: normal;
}

.u-fwB {
  font-weight: bold;
}

.u-fzXS {
  font-size: 66%;
}

.u-fzSS {
  font-size: 75%;
} /* base 16px -> 12px */
.u-fzS {
  font-size: 88%;
} /* base 16px -> 14px */
.u-fzM {
  font-size: 100%;
}

.u-fzL {
  font-size: 113%;
} /* base 16px -> 18px */
.u-fzLL {
  font-size: 125%;
} /* base 16px -> 20px */
.u-fzLLL {
  font-size: 138%;
} /* base 16px -> 22px */
sup {
  font-size: 75%;
  vertical-align: top;
}

sub {
  font-size: 75%;
  vertical-align: baseline;
}

.u-txtUcase {
  text-transform: uppercase;
}

/* ==========================================================
!iframe youtube googlemap
========================================================== */
.u-youtube,
.u-googlemap {
  position: relative;
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
}
.u-youtube::before,
.u-googlemap::before {
  display: block;
  padding-top: 56.25%;
  content: "";
}
.u-youtube iframe,
.u-youtube video,
.u-googlemap iframe,
.u-googlemap video {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

/* ==========================================================
!Inline Align
========================================================== */
.u-taL {
  text-align: left !important;
}

.u-taC {
  text-align: center !important;
}

.u-taR {
  text-align: right !important;
}

.u-vaT {
  vertical-align: top !important;
}

.u-vaM {
  vertical-align: middle !important;
}

.u-vaB {
  vertical-align: bottom !important;
}

.u-blockL {
  margin-left: 0;
  margin-right: auto;
}

.u-blockC {
  margin-right: auto;
  margin-left: auto;
}

.u-blockR {
  margin-left: auto;
  margin-right: 0;
}

@media not all and (min-width: 768px) {
  .u-taL-sp {
    text-align: left !important;
  }
  .u-taC-sp {
    text-align: center !important;
  }
  .u-taR-sp {
    text-align: right !important;
  }
  .u-vaT-sp {
    vertical-align: top !important;
  }
  .u-vaM-sp {
    vertical-align: middle !important;
  }
  .u-vaB-sp {
    vertical-align: bottom !important;
  }
  .u-blockL-sp {
    margin-left: 0;
    margin-right: auto;
  }
  .u-blockC-sp {
    margin-right: auto;
    margin-left: auto;
  }
  .u-blockR-sp {
    margin-left: auto;
    margin-right: 0;
  }
}
@media screen and (min-width: 768px) {
  .u-taL-pc {
    text-align: left !important;
  }
  .u-taC-pc {
    text-align: center !important;
  }
  .u-taR-pc {
    text-align: right !important;
  }
  .u-vaT-pc {
    vertical-align: top !important;
  }
  .u-vaM-pc {
    vertical-align: middle !important;
  }
  .u-vaB-pc {
    vertical-align: bottom !important;
  }
  .u-blockL-pc {
    margin-left: 0;
    margin-right: auto;
  }
  .u-blockC-pc {
    margin-right: auto;
    margin-left: auto;
  }
  .u-blockR-pc {
    margin-left: auto;
    margin-right: 0;
  }
}
/* 親を超える子
------------------------------------ */
.u-side-over-width {
  margin-left: calc(586px - 50vw);
  margin-right: calc(586px - 50vw);
}

.u-side-over-width-content {
  margin-left: 0 calc(586px - 50vw);
  margin-right: 0 calc(586px - 50vw);
  padding-left: 0 calc(50vw - 586px);
  padding-right: 0 calc(50vw - 586px);
}

.u-over-width,
.alignfull {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

.u-over-width--left,
.alignfull--left {
  margin-left: calc(50% - 50vw);
}

.u-over-width--right,
.alignfull--right {
  margin-right: calc(50% - 50vw);
}

.u-over-width-content,
.alignfull-content {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding-left: calc(50vw - 50%);
  padding-right: calc(50vw - 50%);
}

.u-over-width-content--left,
.alignfull-content--left {
  margin-left: calc(50% - 50vw);
  padding-left: calc(50vw - 50%);
}

.u-over-width-content--right,
.alignfull-content--right {
  margin-right: calc(50% - 50vw);
  padding-right: calc(50vw - 50%);
}

.u-wide-width,
.alignfull {
  margin-left: -20px;
  margin-right: -20px;
  margin-left: min(-10px, -5.3vw);
  margin-right: min(-10px, -5.3vw);
}
@media only screen and (min-width: 769px), print {
  .u-wide-width,
  .alignfull {
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - min(50vw, 960px));
    margin-right: calc(50% - min(50vw, 960px));
  }
}

.u-wide-width-left {
  margin-right: 0;
  margin-left: -20px;
  margin-left: min(-10px, -5.3vw);
}
@media only screen and (min-width: 769px), print {
  .u-wide-width-left {
    margin-left: calc(50% - 50vw);
    margin-left: calc(50% - min(50vw, 960px));
  }
}

.u-wide-width-right {
  margin-left: 0;
  margin-right: -20px;
  margin-right: min(-10px, -5.3vw);
}
@media only screen and (min-width: 769px), print {
  .u-wide-width-right {
    margin-right: calc(50% - 50vw);
    margin-right: calc(50% - min(50vw, 960px));
  }
}

@media (max-width: 768px) {
  .u-over-width--sp {
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
  }
}

/* どのdisplayで表示させるか
------------------------------------ */
/*inline-block*/
.u-ib {
  display: inline-block;
}

/* 479px以下（SP） */
.u-sp {
  display: block;
}

.u-pc {
  display: none;
}

/* 769px以上（タブレット） */
@media only screen and (min-width: 769px), print {
  .u-sp {
    display: none;
  }
  .u-pc {
    display: block;
  }
}
/* ==========================================================
!Width
========================================================== */
/* 960px Grid */
.u-w960 {
  width: 960px !important;
}

.u-w800 {
  width: 800px !important;
}

.u-w640 {
  width: 640px !important;
}

.u-w480 {
  width: 480px !important;
}

.u-w320 {
  width: 320px !important;
}

.u-w160 {
  width: 160px !important;
}

.u-wHalf {
  width: 48% !important;
}

.u-wTri {
  width: 33% !important;
}

.u-wQuart {
  width: 24% !important;
}

.u-wFull {
  width: 99.9% !important;
}

.u-wMax {
  width: 100% !important;
}

.u-w03per {
  width: 3% !important;
}

.u-w05per {
  width: 5% !important;
}

.u-w10per {
  width: 10% !important;
}

.u-w13per {
  width: 13% !important;
}

.u-w15per {
  width: 15% !important;
}

.u-w20per {
  width: 20% !important;
}

.u-w23per {
  width: 23% !important;
}

.u-w25per {
  width: 25% !important;
}

.u-w30per {
  width: 30% !important;
}

.u-w33per {
  width: 33% !important;
}

.u-w35per {
  width: 35% !important;
}

.u-w40per {
  width: 40% !important;
}

.u-w43per {
  width: 43% !important;
}

.u-w45per {
  width: 45% !important;
}

.u-w50per {
  width: 50% !important;
}

.u-w53per {
  width: 53% !important;
}

.u-w55per {
  width: 55% !important;
}

.u-w60per {
  width: 60% !important;
}

.u-w63per {
  width: 63% !important;
}

.u-w65per {
  width: 65% !important;
}

.u-w70per {
  width: 70% !important;
}

.u-w73per {
  width: 73% !important;
}

.u-w75per {
  width: 75% !important;
}

.u-w80per {
  width: 80% !important;
}

.u-w83per {
  width: 83% !important;
}

.u-w85per {
  width: 85% !important;
}

.u-w90per {
  width: 90% !important;
}

.u-w93per {
  width: 93% !important;
}

.u-w95per {
  width: 95% !important;
}

/* ==========================================================
!Floats
========================================================== */
.u-flL {
  display: inline;
  float: left;
}

.u-flR {
  display: inline;
  float: right;
}

.u-flImgL {
  display: inline;
  float: left;
  margin-right: 20px;
}

.u-flImgR {
  display: inline;
  float: right;
  margin-left: 20px;
}

.u-ftBox {
  overflow: hidden;
  *zoom: 1;
}

/* ==========================================================
!Flexbox
========================================================== */
.u-flex-start {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: center;
}

.u-flex-between {
  display: flex;
  justify-content: space-between;
}
.u-flex-between > * + * {
  margin-left: 1rem;
}

@media not all and (min-width: 768px) {
  .u-flex-between--stack-sp > * + * {
    margin-top: 1rem;
  }
}
@media only screen and (min-width: 769px), print {
  .u-flex-between--stack-sp {
    display: flex;
    justify-content: space-between;
  }
  .u-flex-between--stack-sp > * + * {
    margin-left: 1rem;
  }
}

.u-flex-between-center {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.u-flex-between-center > * + * {
  margin-left: 1rem;
}

@media not all and (min-width: 768px) {
  .u-flex-between-center--stack-sp > * + * {
    margin-top: 1rem;
  }
}
@media only screen and (min-width: 769px), print {
  .u-flex-between-center--stack-sp {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .u-flex-between-center--stack-sp > * + * {
    margin-left: 1rem;
  }
}

.u-flex-center {
  display: flex;
  justify-content: center;
  align-items: center;
}
.u-flex-center > * + * {
  margin-left: 1rem;
}

@media not all and (min-width: 768px) {
  .u-flex-center--stack-sp > * + * {
    margin-top: 1rem;
  }
}
@media only screen and (min-width: 769px), print {
  .u-flex-center--stack-sp {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .u-flex-center--stack-sp > * + * {
    margin-left: 1rem;
  }
}

.u-flex-shrink0 {
  flex-shrink: 0;
}

.u-flex-grow1 {
  flex-grow: 1;
}

/* ==========================================================
!Tools
========================================================== */
.u-clear {
  clear: both;
}

.u-block {
  display: block;
}

.u-hide {
  display: none;
}

.u-bgN {
  background: none !important;
}

.u-tdU {
  text-decoration: underline;
}

.u-tdN {
  text-decoration: none;
}

/* ==========================================================
!JavaScript
========================================================== */
.over {
  /* ロールオーバー呼び出し用 */
}

.scroll {
  /* サイト内リンク以外のスムーススクロール呼び出し用 */
}

/* ==========================================================
!Margin
========================================================== */
.u-mt00p {
  margin-top: 0 !important;
}

.u-mt05p {
  margin-top: 0.5% !important;
}

.u-mt10p {
  margin-top: 1% !important;
}

.u-mt15p {
  margin-top: 1.5% !important;
}

.u-mt20p {
  margin-top: 2% !important;
}

.u-mt25p {
  margin-top: 2.5% !important;
}

.u-mt30p {
  margin-top: 3% !important;
}

.u-mt35p {
  margin-top: 3.5% !important;
}

.u-mt40p {
  margin-top: 4% !important;
}

.u-mt45p {
  margin-top: 4.5% !important;
}

.u-mt50p {
  margin-top: 5% !important;
}

.u-mt55p {
  margin-top: 5.5% !important;
}

.u-mt60p {
  margin-top: 6% !important;
}

.u-mt65p {
  margin-top: 6.5% !important;
}

.u-mt70p {
  margin-top: 7% !important;
}

.u-mt75p {
  margin-top: 7.5% !important;
}

.u-mt80p {
  margin-top: 8% !important;
}

.u-mt85p {
  margin-top: 8.5% !important;
}

.u-mt90p {
  margin-top: 9% !important;
}

.u-mt95p {
  margin-top: 9.5% !important;
}

.u-mt100p {
  margin-top: 10% !important;
}

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

.u-mr05p {
  margin-right: 0.5% !important;
}

.u-mr10p {
  margin-right: 1% !important;
}

.u-mr15p {
  margin-right: 1.5% !important;
}

.u-mr20p {
  margin-right: 2% !important;
}

.u-mr25p {
  margin-right: 2.5% !important;
}

.u-mr30p {
  margin-right: 3% !important;
}

.u-mr35p {
  margin-right: 3.5% !important;
}

.u-mr40p {
  margin-right: 4% !important;
}

.u-mr45p {
  margin-right: 4.5% !important;
}

.u-mr50p {
  margin-right: 5% !important;
}

.u-mr55p {
  margin-right: 5.5% !important;
}

.u-mr60p {
  margin-right: 6% !important;
}

.u-mr65p {
  margin-right: 6.5% !important;
}

.u-mr70p {
  margin-right: 7% !important;
}

.u-mr75p {
  margin-right: 7.5% !important;
}

.u-mr80p {
  margin-right: 8% !important;
}

.u-mr85p {
  margin-right: 8.5% !important;
}

.u-mr90p {
  margin-right: 9% !important;
}

.u-mr95p {
  margin-right: 9.5% !important;
}

.u-mr100p {
  margin-right: 10% !important;
}

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

.u-mb05p {
  margin-bottom: 0.5% !important;
}

.u-mb10p {
  margin-bottom: 1% !important;
}

.u-mb15p {
  margin-bottom: 1.5% !important;
}

.u-mb20p {
  margin-bottom: 2% !important;
}

.u-mb25p {
  margin-bottom: 2.5% !important;
}

.u-mb30p {
  margin-bottom: 3% !important;
}

.u-mb35p {
  margin-bottom: 3.5% !important;
}

.u-mb40p {
  margin-bottom: 4% !important;
}

.u-mb45p {
  margin-bottom: 4.5% !important;
}

.u-mb50p {
  margin-bottom: 5% !important;
}

.u-mb55p {
  margin-bottom: 5.5% !important;
}

.u-mb60p {
  margin-bottom: 6% !important;
}

.u-mb65p {
  margin-bottom: 6.5% !important;
}

.u-mb70p {
  margin-bottom: 7% !important;
}

.u-mb75p {
  margin-bottom: 7.5% !important;
}

.u-mb80p {
  margin-bottom: 8% !important;
}

.u-mb85p {
  margin-bottom: 8.5% !important;
}

.u-mb90p {
  margin-bottom: 9% !important;
}

.u-mb95p {
  margin-bottom: 9.5% !important;
}

.u-mb100p {
  margin-bottom: 10% !important;
}

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

.u-ml05p {
  margin-left: 0.5% !important;
}

.u-ml10p {
  margin-left: 1% !important;
}

.u-ml15p {
  margin-left: 1.5% !important;
}

.u-ml20p {
  margin-left: 2% !important;
}

.u-ml25p {
  margin-left: 2.5% !important;
}

.u-ml30p {
  margin-left: 3% !important;
}

.u-ml35p {
  margin-left: 3.5% !important;
}

.u-ml40p {
  margin-left: 4% !important;
}

.u-ml45p {
  margin-left: 4.5% !important;
}

.u-ml50p {
  margin-left: 5% !important;
}

.u-ml55p {
  margin-left: 5.5% !important;
}

.u-ml60p {
  margin-left: 6% !important;
}

.u-ml65p {
  margin-left: 6.5% !important;
}

.u-ml70p {
  margin-left: 7% !important;
}

.u-ml75p {
  margin-left: 7.5% !important;
}

.u-ml80p {
  margin-left: 8% !important;
}

.u-ml85p {
  margin-left: 8.5% !important;
}

.u-ml90p {
  margin-left: 9% !important;
}

.u-ml95p {
  margin-left: 9.5% !important;
}

.u-ml100p {
  margin-left: 10% !important;
}

/* ==========================================================
!Padding
========================================================== */
.u-pt00p {
  padding-top: 0 !important;
}

.u-pt05p {
  padding-top: 0.5% !important;
}

.u-pt10p {
  padding-top: 1% !important;
}

.u-pt15p {
  padding-top: 1.5% !important;
}

.u-pt20p {
  padding-top: 2% !important;
}

.u-pt25p {
  padding-top: 2.5% !important;
}

.u-pt30p {
  padding-top: 3% !important;
}

.u-pt35p {
  padding-top: 3.5% !important;
}

.u-pt40p {
  padding-top: 4% !important;
}

.u-pt45p {
  padding-top: 4.5% !important;
}

.u-pt50p {
  padding-top: 5% !important;
}

.u-pt55p {
  padding-top: 5.5% !important;
}

.u-pt60p {
  padding-top: 6% !important;
}

.u-pt65p {
  padding-top: 6.5% !important;
}

.u-pt70p {
  padding-top: 7% !important;
}

.u-pt75p {
  padding-top: 7.5% !important;
}

.u-pt80p {
  padding-top: 8% !important;
}

.u-pt85p {
  padding-top: 8.5% !important;
}

.u-pt90p {
  padding-top: 9% !important;
}

.u-pt95p {
  padding-top: 9.5% !important;
}

.u-pt100p {
  padding-top: 10% !important;
}

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

.u-pr05p {
  padding-right: 0.5% !important;
}

.u-pr10p {
  padding-right: 1% !important;
}

.u-pr15p {
  padding-right: 1.5% !important;
}

.u-pr20p {
  padding-right: 2% !important;
}

.u-pr25p {
  padding-right: 2.5% !important;
}

.u-pr30p {
  padding-right: 3% !important;
}

.u-pr35p {
  padding-right: 3.5% !important;
}

.u-pr40p {
  padding-right: 4% !important;
}

.u-pr45p {
  padding-right: 4.5% !important;
}

.u-pr50p {
  padding-right: 5% !important;
}

.u-pr55p {
  padding-right: 5.5% !important;
}

.u-pr60p {
  padding-right: 6% !important;
}

.u-pr65p {
  padding-right: 6.5% !important;
}

.u-pr70p {
  padding-right: 7% !important;
}

.u-pr75p {
  padding-right: 7.5% !important;
}

.u-pr80p {
  padding-right: 8% !important;
}

.u-pr85p {
  padding-right: 8.5% !important;
}

.u-pr90p {
  padding-right: 9% !important;
}

.u-pr95p {
  padding-right: 9.5% !important;
}

.u-pr100p {
  padding-right: 10% !important;
}

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

.u-pb05p {
  padding-bottom: 0.5% !important;
}

.u-pb10p {
  padding-bottom: 1% !important;
}

.u-pb15p {
  padding-bottom: 1.5% !important;
}

.u-pb20p {
  padding-bottom: 2% !important;
}

.u-pb25p {
  padding-bottom: 2.5% !important;
}

.u-pb30p {
  padding-bottom: 3% !important;
}

.u-pb35p {
  padding-bottom: 3.5% !important;
}

.u-pb40p {
  padding-bottom: 4% !important;
}

.u-pb45p {
  padding-bottom: 4.5% !important;
}

.u-pb50p {
  padding-bottom: 5% !important;
}

.u-pb55p {
  padding-bottom: 5.5% !important;
}

.u-pb60p {
  padding-bottom: 6% !important;
}

.u-pb65p {
  padding-bottom: 6.5% !important;
}

.u-pb70p {
  padding-bottom: 7% !important;
}

.u-pb75p {
  padding-bottom: 7.5% !important;
}

.u-pb80p {
  padding-bottom: 8% !important;
}

.u-pb85p {
  padding-bottom: 8.5% !important;
}

.u-pb90p {
  padding-bottom: 9% !important;
}

.u-pb95p {
  padding-bottom: 9.5% !important;
}

.u-pb100p {
  padding-bottom: 10% !important;
}

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

.u-pl05p {
  padding-left: 0.5% !important;
}

.u-pl10p {
  padding-left: 1% !important;
}

.u-pl15p {
  padding-left: 1.5% !important;
}

.u-pl20p {
  padding-left: 2% !important;
}

.u-pl25p {
  padding-left: 2.5% !important;
}

.u-pl30p {
  padding-left: 3% !important;
}

.u-pl35p {
  padding-left: 3.5% !important;
}

.u-pl40p {
  padding-left: 4% !important;
}

.u-pl45p {
  padding-left: 4.5% !important;
}

.u-pl50p {
  padding-left: 5% !important;
}

.u-pl55p {
  padding-left: 5.5% !important;
}

.u-pl60p {
  padding-left: 6% !important;
}

.u-pl65p {
  padding-left: 6.5% !important;
}

.u-pl70p {
  padding-left: 7% !important;
}

.u-pl75p {
  padding-left: 7.5% !important;
}

.u-pl80p {
  padding-left: 8% !important;
}

.u-pl85p {
  padding-left: 8.5% !important;
}

.u-pl90p {
  padding-left: 9% !important;
}

.u-pl95p {
  padding-left: 9.5% !important;
}

.u-pl100p {
  padding-left: 10% !important;
}

/* !Margin ------------------------------------------------------------------ */
.u-mt00 {
  margin-top: 0 !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media not all and (min-width: 768px) {
  .u-mt00-sp {
    margin-top: 0 !important;
  }
  .u-mt10-sp {
    margin-top: 10px !important;
  }
  .u-mt20-sp {
    margin-top: 20px !important;
  }
  .u-mt30-sp {
    margin-top: 30px !important;
  }
  .u-mt40-sp {
    margin-top: 40px !important;
  }
  .u-mt50-sp {
    margin-top: 50px !important;
  }
  .u-mt60-sp {
    margin-top: 60px !important;
  }
  .u-mt70-sp {
    margin-top: 70px !important;
  }
  .u-mt80-sp {
    margin-top: 80px !important;
  }
  .u-mt90-sp {
    margin-top: 90px !important;
  }
  .u-mt100-sp {
    margin-top: 100px !important;
  }
}
@media only screen and (min-width: 769px), print {
  .u-mt00-pc {
    margin-top: 0 !important;
  }
  .u-mt10-pc {
    margin-top: 10px !important;
  }
  .u-mt20-pc {
    margin-top: 20px !important;
  }
  .u-mt30-pc {
    margin-top: 30px !important;
  }
  .u-mt40-pc {
    margin-top: 40px !important;
  }
  .u-mt50-pc {
    margin-top: 50px !important;
  }
  .u-mt60-pc {
    margin-top: 60px !important;
  }
  .u-mt70-pc {
    margin-top: 70px !important;
  }
  .u-mt80-pc {
    margin-top: 80px !important;
  }
  .u-mt90-pc {
    margin-top: 90px !important;
  }
  .u-mt100-pc {
    margin-top: 100px !important;
  }
}
.u-rmt50_30 {
  margin-top: 50px;
  margin-top: min(4vmin, 50px) !important;
}

.u-rmt80_50 {
  margin-top: 80px;
  margin-top: min(6.6666666667vmin, 80px) !important;
}

.u-rmt120_80 {
  margin-top: 120px;
  margin-top: min(10.6666666667vmin, 120px) !important;
}

.u-rmt150_100 {
  margin-top: 150px;
  margin-top: min(13.3333333333vmin, 150px) !important;
}

.u-rmt50 {
  margin-top: 50px;
  margin-top: min(6.6666666667vmin, 50px) !important;
}

.u-rmt60 {
  margin-top: 60px;
  margin-top: min(8vmin, 60px) !important;
}

.u-rmt70 {
  margin-top: 70px;
  margin-top: min(8vmin, 70px) !important;
}

.u-rmt80 {
  margin-top: 80px;
  margin-top: min(10.6666666667vmin, 80px) !important;
}

.u-rmt90 {
  margin-top: 90px;
  margin-top: min(12vmin, 90px) !important;
}

.u-rmt100 {
  margin-top: 100px;
  margin-top: min(13.3333333333vmin, 100px) !important;
}

.u-rmt120 {
  margin-top: 120px;
  margin-top: min(16vmin, 120px) !important;
}

.u-rmt150 {
  margin-top: 150px;
  margin-top: min(20vmin, 150px) !important;
}

.u-space-lg {
  margin-top: 120px;
  margin-bottom: 120px;
  margin-top: min(16vmin, 120px);
  margin-bottom: min(16vmin, 120px);
}

.u-space-md {
  margin-top: 80px;
  margin-bottom: 80px;
  margin-top: min(10.6666666667vmin, 80px);
  margin-bottom: min(10.6666666667vmin, 80px);
}

.u-space-sm {
  margin-top: 50px;
  margin-bottom: 50px;
  margin-top: min(6.6666666667vmin, 50px);
  margin-bottom: min(6.6666666667vmin, 50px);
}

/* !Padding  ---------------------------------------------------------------- */
.u-pt00 {
  padding-top: 0 !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* ==========================================================
!WCAG 2.0 C7
========================================================== */
.u-vhidden {
  overflow: hidden;
  position: absolute;
  top: -10px;
  width: 1px;
  height: 1px;
}

/* ==========================================================
!icon fonts
========================================================== */
@font-face {
  font-family: "icomoon";
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
[class^=ico_]::before, [class^=ico_]::after, [class*=" ico_"]::before, [class*=" ico_"]::after {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "icomoon" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.ico_external:after {
  content: "\e900";
}

.ico_pdf:after {
  content: "\e901";
}

.ico_search:before {
  content: "\e902";
}

.u-fs20 {
  font-size: 1.25rem;
}

.u-icon.is-arw {
  width: 9px;
  height: 13px;
  position: absolute;
  top: 50%;
  right: 1em;
  transform: translateY(-50%);
  overflow: hidden;
}
.u-icon.is-arw:before {
  content: "";
  display: block;
  width: 9px;
  height: 9px;
  border-top: 2px solid #3366cc;
  border-right: 2px solid #3366cc;
  transform: rotate(45deg);
  position: absolute;
  top: 2px;
  left: -4px;
  transition: all 0.3s;
}
.u-icon.is-arw:after {
  content: "";
  display: block;
  width: 9px;
  height: 9px;
  border-top: 2px solid #3366cc;
  border-right: 2px solid #3366cc;
  transform: rotate(45deg);
  position: absolute;
  top: -11px;
  left: -4px;
  transition: all 0.3s;
}
.u-icon.is-arw.is-white:before {
  border-top: 2px solid #ffffff;
  border-right: 2px solid #ffffff;
}
.u-icon.is-arw.is-white:after {
  border-top: 2px solid #ffffff;
  border-right: 2px solid #ffffff;
}
.u-icon.is-arw.is-gray:before {
  border-top: 2px solid #222222;
  border-right: 2px solid #222222;
}
.u-icon.is-arw.is-gray:after {
  border-top: 2px solid #222222;
  border-right: 2px solid #222222;
}
a:hover .u-icon.is-arw:before {
  top: 14px;
}
a:hover .u-icon.is-arw:after {
  top: 3px;
}

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}
.slick-list:focus {
  outline: none;
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}
.slick-track:after {
  clear: both;
}
.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}
[dir=rtl] .slick-slide {
  float: right;
}
.slick-slide img {
  display: block;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}
.slick-initialized .slick-slide {
  display: block;
}
.slick-loading .slick-slide {
  visibility: hidden;
}
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

/*
 * style.css
 */
/*
 * cmn_style.css
 */
/*arrow*/
.slick-arrow {
  position: absolute;
  top: 25%;
  overflow: hidden;
  display: block;
  width: 40px;
  height: 0;
  margin: 0;
  padding: 40px 0 0 0;
  background: transparent;
  border-radius: 50%;
  border: 1px solid #485B7B;
  line-height: 1;
  cursor: pointer;
  transition: 0.3s border-color;
}
.slick-arrow:hover, .slick-arrow:focus-visible {
  border-color: #ffffff;
}
.slick-arrow::before {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  content: "";
  width: 6px;
  height: 12px;
  background-position: 0 0;
  background-size: contain;
  background-repeat: no-repeat;
}
@media only screen and (min-width: 1100px), print {
  .slick-arrow {
    width: 65px;
    padding: 65px 0 0 0;
  }
}

.slick-prev {
  left: -25px;
}
@media only screen and (min-width: 1100px), print {
  .slick-prev {
    left: -65px;
  }
}

.slick-next {
  right: -25px;
}
@media only screen and (min-width: 1100px), print {
  .slick-next {
    right: -65px;
  }
}

/*dots*/
.slick-dots {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px 4px;
  margin: 45px 30px 0;
}
.slick-dots li {
  margin: 0;
  padding: 0;
}
.slick-dots li::before {
  display: none;
}
.slick-dots button {
  overflow: hidden;
  display: block;
  width: 10px;
  height: 1px;
  background: #485B7B;
  border: 0;
}
.slick-dots button[aria-selected=true] {
  background: #ffffff;
}
@media only screen and (min-width: 769px), print {
  .slick-dots button {
    width: 25px;
  }
}

/*
 * style.css
 */
/**
 * Swiper 8.1.4
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2022 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: April 24, 2022
 */
@font-face {
  font-family: swiper-icons;
  src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA");
  font-weight: 400;
  font-style: normal;
}
:root {
  --swiper-theme-color:#007aff;
}

.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1;
}

.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  box-sizing: content-box;
}

.swiper-android .swiper-slide, .swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}

.swiper-pointer-events {
  touch-action: pan-y;
}

.swiper-pointer-events.swiper-vertical {
  touch-action: pan-x;
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

.swiper-autoheight, .swiper-autoheight .swiper-slide {
  height: auto;
}

.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}

.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper-3d, .swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}

.swiper-3d .swiper-cube-shadow, .swiper-3d .swiper-slide, .swiper-3d .swiper-slide-shadow, .swiper-3d .swiper-slide-shadow-bottom, .swiper-3d .swiper-slide-shadow-left, .swiper-3d .swiper-slide-shadow-right, .swiper-3d .swiper-slide-shadow-top, .swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}

.swiper-3d .swiper-slide-shadow, .swiper-3d .swiper-slide-shadow-bottom, .swiper-3d .swiper-slide-shadow-left, .swiper-3d .swiper-slide-shadow-right, .swiper-3d .swiper-slide-shadow-top {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}

.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, 0.15);
}

.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}

.swiper-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}

.swiper-horizontal.swiper-css-mode > .swiper-wrapper {
  scroll-snap-type: x mandatory;
}

.swiper-vertical.swiper-css-mode > .swiper-wrapper {
  scroll-snap-type: y mandatory;
}

.swiper-centered > .swiper-wrapper::before {
  content: "";
  flex-shrink: 0;
  order: 9999;
}

.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  margin-inline-start: var(--swiper-centered-offset-before);
}

.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after);
}

.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  margin-block-start: var(--swiper-centered-offset-before);
}

.swiper-centered.swiper-vertical > .swiper-wrapper::before {
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after);
}

.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
}

.swiper .swiper-slide {
  height: auto;
}

.swiper-button-next,
.swiper-button-prev {
  cursor: pointer;
  display: block;
  appearance: none;
  background-color: transparent;
  width: min(10vmin, 38px);
  height: min(10vmin, 38px);
  background-position: center center;
  background-size: contain;
  background-repeat: no-repeat;
}

.swiper-button-next[aria-disabled=true] {
  opacity: 0.3;
  cursor: default;
}

.swiper-button-prev[aria-disabled=true] {
  opacity: 0.3;
  cursor: default;
}

.swiper-pagination-progressbar {
  position: relative;
  display: block;
  width: 100%;
  height: 1px;
  background: #ffffff;
}
.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  position: absolute;
  left: 0;
  top: 0;
  height: 1px;
  display: block;
  background: #CBBD7A;
}

.swiper-pagination-bullets {
  display: flex;
  justify-content: center;
  gap: 4px;
  margin-top: 45px;
}
.swiper-pagination-bullets .swiper-pagination-bullet {
  display: block;
  width: 50px;
  height: 1px;
  background: #485B7B;
}
.swiper-pagination-bullets .swiper-pagination-bullet-active {
  background: #ffffff;
}