@charset "UTF-8";
/*!
  Theme Name: Ori Framework
  Author: Ori
  Author URI: http://shikiori.com/
  Description: Ori framework
  Version: 2.0
  Date: 2023.12.30
  License: GNU General Public License v2 or later
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/
/*! destyle.css v4.0.0 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}

/* Document */
/* ============================================ */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -webkit-tap-highlight-color: transparent; /* 3*/
}

/* Sections */
/* ============================================ */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

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

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Lists (definition) */
/* ============================================ */
dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

address {
  font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Replaced content */
/* ============================================ */
/**
 * Prevent vertical alignment issues.
 */
svg,
img,
embed,
object,
iframe {
  vertical-align: bottom;
  max-width: 100%;
}

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable.
 * 1. Make form elements stylable across systems iOS especially.
 * 2. Inherit text-transform from parent.
 */
button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none; /* 1 */
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit; /* 2 */
}

/**
 * Correct cursors for clickable elements.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
  cursor: pointer;
}

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

/**
 * Improve outlines for Firefox and unify style with input elements & buttons.
 */
:-moz-focusring {
  outline: auto;
}

select:disabled {
  opacity: inherit;
}

/**
 * Remove padding
 */
option {
  padding: 0;
}

/**
 * Reset to invisible
 */
fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}

legend {
  padding: 0;
}

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

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * Correct the outline style in Safari.
 */
[type="search"] {
  outline-offset: -2px; /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Fix font inheritance.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

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

/**
 * Clickable labels
 */
label[for] {
  cursor: pointer;
}

/* Interactive */
/* ============================================ */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

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

/*
 * Remove outline for editable content.
 */
[contenteditable]:focus {
  outline: auto;
}

/* Tables */
/* ============================================ */
/**
1. Correct table border color inheritance in all Chrome and Safari.
*/
table {
  border-color: inherit; /* 1 */
  border-collapse: collapse;
}

caption {
  text-align: left;
}

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

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

/* form-reset */
/* ============================================ */
input[type="radio"],
input[type="checkbox"] {
  position: absolute;
  white-space: nowrap;
  width: 1px;
  height: 1px;
  overflow: hidden;
  border: 0;
  padding: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  margin: -1px;
}

/*
--------------------------------
global
変数
--------------------------------
*/
/*============================================
breakpoint
============================================*/
:root {
  /* ============================================
  font-family
  ============================================ */
  --font: "Shippori Mincho B1", serif;
  --font-en: "Cardo", serif;
  /* ============================================
  color-meaning
  ============================================ */
  --color-corporate-1: #fc5f47;
  --color-corporate-2: #32a682;
  --color-base: #111;
  --color-theme-1: #fc8a4f;
  --color-theme-2: #c27db7;
  --color-theme-3: #7d82c2;
  --color-theme-4: #54c178;
  --color-theme-5: #f36b8c;
  --color-theme-6: #ff7c67;
  /* ============================================
  value
  ============================================ */
  --value-pc: 1920;
  --value-main: 1500;
  --value-lg: 1024;
  --value-md: 768;
  --value-sm: 640;
  --value-xxs: 375;
  /* wrapper */
  --wrapper: clamp(0.938rem, -0.688rem + 6.93vw, 3.75rem);
  /* val：15px-60px | view：375px-1024px */
  /* ============================================
  timing-function
  ============================================ */
  --ease-in-out: cubic-bezier(0, 0.55, 0.45, 1);
  /* ============================================
  transition-duration
  ============================================ */
  --duration--2xs: 0s;
  --duration--s: 0.2s;
  --duration--m: 0.3s;
  --duration--l: 0.5s;
  --duration--2xl: 1s;
  /* ============================================
  animation
  ============================================ */
}
@keyframes flow {
  0% {
    transform: translate(0, min(10 / var(--value-pc) * 100vw, 10px));
  }
  50% {
    transform: translate(0, max(-10 / var(--value-pc) * 100vw, -10px));
  }
  100% {
    transform: translate(0, 0);
  }
}

/*
--------------------------------
base
初期設定
--------------------------------
*/
html {
  overflow-x: hidden;
}

body {
  font-family: var(--font);
  font-weight: normal;
  color: var(--color-base);
  line-height: 1.4;
  font-size: clamp(0.875rem, 0.789rem + 0.43vw, 1.0625rem);
  background: #fff;
  overflow-x: hidden;
  overflow-wrap: anywhere;
  /* 収まらない場合に折り返す */
  word-break: normal;
  /* 単語の分割はデフォルトに依存 */
  line-break: strict;
  /* 禁則処理を厳格に適用 */
  font-feature-settings: "palt";
  /* 全角記号を調整 */
}
body.is-open {
  overflow: hidden;
}

a,
a *,
button,
button * {
  transition-property:
    opacity, text-decoration-color, background-color, transform, box-shadow;
  transition-duration:
    var(--duration--l), var(--duration--l), var(--duration--m),
    var(--duration--m), var(--duration--m);
  transition-timing-function: ease;
}

a:hover,
button:hover {
  cursor: pointer;
  opacity: 0.5;
}

pre {
  font-family: var(--font);
}

.en {
  font-family: var(--font-en);
  line-height: 1.25;
  font-weight: 400;
}

.svg-symbols {
  display: none;
}

/*
--------------------------------
swiper
初期設定
--------------------------------
*/
.swiper-area {
  position: relative;
}

/* フェードモード時 共通調整 */
.swiper-fade .swiper-slide {
  transition-property: opacity !important;
}

.js-swiper {
  position: relative;
  height: fit-content;
}

.swiper-pagination-bullet {
  cursor: pointer;
}

.swiper-fade .swiper-slide {
  pointer-events: none;
  z-index: 0;
}

.swiper-fade .swiper-slide.swiper-slide-active {
  pointer-events: auto;
  z-index: 1;
}

.swiper-fade .swiper-slide-next,
.swiper-fade .swiper-slide-prev {
  pointer-events: none;
}

.swiper-wrapper {
  height: fit-content;
}

.swiper-slide {
  height: fit-content;
}
.swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.swiper-controllers {
  display: flex;
  gap: clamp(8px, 30 / var(--value-pc) * 100vw, 30px);
}

.swiper-pagination {
  display: flex;
  align-items: center;
  gap: clamp(5px, 10 / var(--value-pc) * 100vw, 10px);
}

.swiper-pagination-bullet {
  --size: 22px;
  width: var(--size);
  height: var(--size);
  display: grid;
  place-items: center;
  font-weight: bold;
}
.swiper-pagination-bullet::before {
  content: "";
  grid-area: 1/1;
  content: "";
  --size: 8px;
  width: var(--size);
  height: var(--size);
  border-radius: 50%;
  background: #d5dadf;
  display: block;
}
.swiper-pagination-bullet svg {
  grid-area: 1/1;
  --progress: 0;
  z-index: 10;
  width: 100%;
  height: 100%;
  stroke-width: 1.5px;
  stroke: var(--color-base);
  fill: none;
  stroke-dashoffset: calc(125.6px * (1 - var(--progress)));
  stroke-dasharray: 125.6;
  transform: rotate(-90deg);
}

.swiper-pagination-bullet-active::before {
  background: var(--color-base);
}

.swiper-toggle {
  display: grid;
  place-items: center;
  background: #e1e6eb;
  transition: background-color var(--duration--s);
  border-radius: 50%;
  --size: 32px;
  width: var(--size);
  height: var(--size);
}
@media (min-width: calc(375em / 16)) {
  .swiper-toggle {
    --size: 36px;
  }
}
.swiper-toggle:hover {
  opacity: 1;
}

.swiper-toggle svg {
  fill: var(--color-base);
  --size: 10px;
  height: var(--size);
  width: var(--size);
  grid-area: 1/1;
}

.swiper-toggle.is-active .swiper-toggle__play,
.swiper-toggle__pause {
  display: none;
}

.swiper-toggle.is-active .swiper-toggle__pause {
  display: inline;
}

.swiper-nav {
  display: flex;
  flex-flow: wrap;
  gap: min(30 / var(--value-main) * 100vw, 30px);
  align-items: center;
  justify-content: space-between;
  margin-top: 80px;
  padding-bottom: 50px;
  border-bottom: 1px solid #dadee2;
}

.swiper-button-prev,
.swiper-button-next {
  width: 100%;
  --size: 32px;
  width: var(--size);
  height: var(--size);
  background: #e1e6eb;
  border-radius: 50%;
  cursor: pointer;
  transition: opacity var(--duration--m);
  pointer-events: all;
  display: grid;
  place-items: center;
}
@media (min-width: calc(375em / 16)) {
  .swiper-button-prev,
  .swiper-button-next {
    --size: 36px;
  }
}
.swiper-button-prev::before,
.swiper-button-next::before {
  content: "";
  background: url(images/common/icon_right.svg) no-repeat center/contain;
  width: 7px;
  height: 11px;
}
.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
  opacity: 0.1;
}

.swiper-button-prev::before {
  transform: scale(-1, 1);
}

.swiper-buttons {
  display: flex;
  align-items: center;
  gap: 5px;
}

.lity-slider {
  position: relative;
}
.lity-slider .swiper-buttons {
  margin: 20px var(--wrapper) 0;
  gap: max(1.5vw, 18px);
}
.lity-slider .swiper-button-prev,
.lity-slider .swiper-button-next {
  display: grid;
  --size: auto;
  background: transparent;
}
.lity-slider .swiper-button-prev::before,
.lity-slider .swiper-button-next::before {
  font-size: max(1.5vw, 30px);
}
.lity-slider .swiper-button-prev {
  content: "\f053";
}
.lity-slider .img {
  text-align: center;
}
.lity-slider .video {
  aspect-ratio: 16/9;
}
.lity-slider .video > * {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.lity-slider .title {
  color: #fff;
  margin: 20px var(--wrapper) 0;
  font-weight: bold;
}

/*
--------------------------------
layout
全体的なレイアウト
--------------------------------
*/
/* l-header */
/* ============================================ */
.header {
  position: fixed;
  z-index: 50;
  inset: 0;
  bottom: auto;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  transition: background-color var(--duration--m);
  padding: clamp(12px, 30 / var(--value-main) * 100vw, 30px)
    clamp(15px, 35 / var(--value-main) * 100vw, 35px) 0
    clamp(15px, 40 / var(--value-main) * 100vw, 40px);
  font-size: 12px;
}
@media (min-width: calc(768em / 16)) {
  .header {
    font-size: 15px;
  }
}

#logo {
  z-index: 1;
  transition: var(--duration--l) var(--ease-in-out);
  transition-property: opacity, color;
  font-size: calc(8 / var(--value-xxs) * 100vw);
  color: var(--color-base);
}
@media (min-width: calc(768em / 16)) {
  #logo {
    font-size: 13px;
  }
}
#logo svg {
  max-width: 46.7vw;
  width: 360px;
  margin-bottom: 2px;
  transition: var(--duration--l) var(--ease-in-out);
  transition-property: width, fill;
  fill: var(--color-base);
}
@media (min-width: calc(768em / 16)) {
  #logo svg {
    margin-bottom: 10px;
  }
}
#logo a {
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
}

.home #logo {
  color: #fff;
}
.home #logo svg {
  fill: #fff;
}

@media (min-width: calc(640em / 16)) {
  .tax-backnumber_tax #logo {
    color: #fff;
  }
  .tax-backnumber_tax #logo svg {
    fill: #fff;
  }
}
@media (min-width: calc(768em / 16)) {
  .is-scroll #logo {
    font-size: 10px;
  }
}
@media (min-width: calc(768em / 16)) {
  .is-scroll #logo svg {
    width: 252px;
  }
}

.is-scroll.home #logo {
  color: var(--color-base);
}
.is-scroll.home #logo svg {
  fill: var(--color-base);
}

@media (min-width: calc(640em / 16)) {
  .is-scroll.tax-backnumber_tax #logo {
    color: var(--color-base);
  }
  .is-scroll.tax-backnumber_tax #logo svg {
    fill: var(--color-base);
  }
}
.header__link {
  border-radius: 100vw;
  min-height: 2.75rem;
  min-width: min(100%, 8rem);
  font-weight: 600;
  background: #fff;
  padding: 5px 6px;
  display: flex;
  align-items: center;
  width: fit-content;
  gap: 8px;
  box-shadow: 0px 2px 10px rgba(14, 2, 2, 0.1607843137);
}
@media (min-width: calc(768em / 16)) {
  .header__link {
    min-height: 3.75rem;
    min-width: min(100%, 13.375rem);
    gap: 23px;
  }
}
.header__link::before {
  content: "";
  background: var(--color-corporate-1) url(images/common/icon_newsletter.svg)
    no-repeat center/15px auto;
  width: 32px;
  aspect-ratio: 1/1;
  border-radius: 50%;
}
@media (min-width: calc(768em / 16)) {
  .header__link::before {
    width: 48px;
    background-size: auto;
  }
}

.page-top {
  position: fixed;
  bottom: 25px;
  right: min(35 / var(--value-main) * 100vw, 35px);
  z-index: 40;
  display: none;
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
  transition-property: opacity, visibility;
}
@media (min-width: calc(768em / 16)) {
  .page-top {
    display: block;
  }
}

.is-scroll .page-top {
  opacity: 1;
  pointer-events: all;
  visibility: visible;
}

/* l-footer */
/* ============================================ */
.footer {
  padding: 100px 0 50px;
}
@media (min-width: calc(640em / 16)) {
  .footer {
    padding: 0 0 50px;
  }
}

.footer__img {
  position: relative;
  display: grid;
  align-items: end;
}
.footer__img .bg {
  grid-area: 1/1;
  padding-bottom: calc(28 / var(--value-xxs) * 100vw);
}
@media (min-width: calc(640em / 16)) {
  .footer__img .bg {
    padding-bottom: calc(47 / var(--value-pc) * 100vw);
  }
}
.footer__img .bg img {
  width: 100%;
}
.footer__img .human {
  grid-area: 1/1;
  width: calc(140 / var(--value-xxs) * 100vw);
  margin-left: calc(36 / var(--value-xxs) * 100vw);
}
@media (min-width: calc(640em / 16)) {
  .footer__img .human {
    width: min(342 / var(--value-pc) * 100vw, 342px);
    margin-left: min(313 / var(--value-pc) * 100vw, 313px);
  }
}

.footer-logo {
  display: flex;
  align-items: center;
  flex-flow: column;
  gap: 11px;
  font-size: clamp(0.75rem, 0.722rem + 0.14vw, 0.8125rem);
}
.footer-logo svg {
  width: 360px;
  fill: #111;
  max-width: 68vw;
}

.footer__content {
  display: flex;
  justify-content: space-between;
  gap: 30px;
  flex-flow: column;
  align-items: center;
}
@media (min-width: calc(1024em / 16)) {
  .footer__content {
    flex-flow: wrap;
    align-items: start;
  }
}
.footer__content .left {
  display: flex;
  gap: 20px min(60 / var(--value-main) * 100vw, 60px);
  justify-content: center;
  text-align: center;
  flex-flow: column;
}
@media (min-width: calc(1024em / 16)) {
  .footer__content .left {
    text-align: left;
    flex-flow: row;
  }
}
@media (min-width: calc(1024em / 16)) {
  .footer__content .right {
    flex-shrink: 0;
  }
}
.footer__content .links {
  justify-content: center;
}
@media (min-width: calc(1024em / 16)) {
  .footer__content .links {
    justify-content: start;
    flex-flow: row;
  }
}

.copyright {
  font-size: clamp(0.5rem, 0.444rem + 0.28vw, 0.625rem);
  color: #5b5f63;
  font-family: var(--font-en);
  font-weight: normal;
  text-align: center;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: calc(1024em / 16)) {
  .copyright {
    margin-right: 0;
  }
}

/* l-main */
/* ============================================ */
.loading {
  position: fixed;
  z-index: 1000;
  inset: 0;
  width: 100vw;
  height: 100vh;
  place-items: center;
  display: none;
  background-color: #f8f8f8;
}

.is-loading .loading {
  display: grid;
}

.loading.is-hide {
  display: none;
}

.loading .content {
  display: flex;
  flex-flow: column;
  gap: 20px;
  justify-content: center;
  align-items: center;
}

.loading .human {
  animation: human 2s infinite;
  width: 230px;
  max-width: 50%;
}

@keyframes human {
  0% {
    transform: rotate(-5deg);
  }
  49% {
    transform: rotate(-5deg);
  }
  50% {
    transform: rotate(5deg);
  }
  100% {
    transform: rotate(5deg);
  }
}
.loading .text {
  font-size: 0.75rem;
}

/* l-page */
/* ============================================ */
.page-title,
.page-news-title {
  min-height: clamp(180px, 300 / var(--value-md) * 100vw, 300px);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(1.75rem, 0.954rem + 3.98vw, 3.5rem);
  position: relative;
  background-color: #f8f8f8;
  line-height: 1.2;
}
@media (min-width: calc(768em / 16)) {
  .page-title,
  .page-news-title {
    min-height: clamp(300px, 430 / var(--value-main) * 100vw, 430px);
  }
}
.page-title::before,
.page-news-title::before {
  content: "";
  pointer-events: none;
  position: absolute;
  inset: 0;
  display: block;
  background-image:
    url(images/common/deco_bottom_01.png),
    url(images/common/deco_page-title_01.png);
  background-repeat: no-repeat;
  background-position:
    center bottom,
    right min(46 / var(--value-main) * 100vw, 46px) bottom 34px;
  background-size:
    auto 34px,
    min(274 / var(--value-main) * 100vw, 274px) auto;
}
@media (min-width: calc(768em / 16)) {
  .page-title::before,
  .page-news-title::before {
    background-position:
      center bottom,
      right min(46 / var(--value-main) * 100vw, 46px) bottom 54px;
    background-size:
      auto 54px,
      min(274 / var(--value-main) * 100vw, 274px) auto;
  }
}
@media (min-width: calc(1920em / 16)) {
  .page-title::before,
  .page-news-title::before {
    background-size:
      100% 54px,
      min(274 / var(--value-main) * 100vw, 274px) auto;
  }
}

/* page-news-title */
.page-news-title {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-areas: "img" "content";
  background-color: var(--color-theme, var(--color-theme-1));
  color: #fff;
}
@media (min-width: calc(640em / 16)) {
  .page-news-title {
    min-height: 78vh;
    grid-template-areas: "content img";
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: calc(640em / 16)) and (orientation: portrait) {
  .page-news-title {
    min-height: min(840 / var(--value-pc) * 100vw, 840px);
  }
}
.page-news-title .date,
.page-news-title .text {
  font-size: clamp(0.875rem, 0.819rem + 0.28vw, 1rem);
}
.page-news-title .content {
  display: grid;
  justify-content: center;
  max-width: 35rem;
  margin: 0 auto;
  padding: min(30 / var(--value-sm) * 100vw, 30px) var(--wrapper) 60px;
  box-sizing: content-box;
  grid-area: content;
}
@media (min-width: calc(640em / 16)) {
  .page-news-title .content {
    padding: 150px var(--wrapper);
  }
}
.page-news-title .title {
  font-size: clamp(28px, 56 / var(--value-pc) * 100vw, 56px);
}
.page-news-title .date {
  margin-top: 10px;
}
.page-news-title .text {
  padding: clamp(15px, 25 / var(--value-pc) * 100vw, 25px) 0;
  border: 1px dashed #fff;
  border-left: none;
  border-right: none;
  margin-top: clamp(20px, 50 / var(--value-pc) * 100vw, 50px);
  line-height: 1.6;
}
.page-news-title .img {
  width: 100%;
  grid-area: img;
}
@media (min-width: calc(640em / 16)) {
  .page-news-title .img {
    height: 100%;
  }
}
.page-news-title .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* page-deco */
.page-deco-1 {
  position: relative;
  z-index: 0;
  padding-top: 50px;
}
@media (min-width: calc(640em / 16)) {
  .page-deco-1 {
    padding-top: 100px;
  }
}
.page-deco-1::before {
  content: "";
  inset: 0 calc(50% - 50vw);
  position: absolute;
  overflow: visible;
  z-index: -1;
  pointer-events: none;
  background-repeat: no-repeat;
  background-image:
    url(images/common/deco_page_01.png), url(images/common/deco_page_02.png),
    url(images/common/deco_page_03.png);
  background-position:
    top min(20 / var(--value-pc) * 100vw, 20px) left
      clamp(-5.625rem, -6.075rem + 2.25vw, -3.375rem),
    bottom min(37.5677006401%, 763px) right
      clamp(-2.75rem, -3.288rem + 2.69vw, -0.0625rem),
    bottom min(5.5145248646%, 112px) left
      clamp(-1.5rem, -1.912rem + 2.06vw, 0.5625rem);
  background-size:
    clamp(150px, 279 / var(--value-pc) * 100vw, 279px) auto,
    clamp(108px, 249 / var(--value-pc) * 100vw, 249px) auto,
    clamp(55px, 176 / var(--value-pc) * 100vw, 176px) auto;
  animation: flow 3s infinite ease-in-out alternate;
}
.page-deco-1.--backnumber {
  padding-top: 50px;
}
@media (min-width: calc(640em / 16)) {
  .page-deco-1.--backnumber {
    padding-top: 80px;
  }
}

.page-deco-2 {
  position: relative;
}
.page-deco-2::before {
  content: "";
  position: absolute;
  z-index: -1;
  right: 0;
  top: clamp(-10rem, -11.15rem + 5.75vw, -4.25rem);
  background-repeat: no-repeat;
  background-image: url(images/common/deco_page_04.png);
  background-size: contain;
  animation: flow 3s -2s infinite ease-in-out alternate;
  display: block;
  width: clamp(93px, 173 / var(--value-pc) * 100vw, 173px);
  height: 266px;
  translate: clamp(0rem, -38.616rem + 41.19vw, 10.8125rem) 0;
}

/* l-container */
/* ============================================ */
.container-s,
.container-m,
.container-l {
  margin-left: auto;
  margin-right: auto;
  box-sizing: content-box;
  padding-left: var(--wrapper);
  padding-right: var(--wrapper);
}

.container-s {
  max-width: 60rem;
}

.container-m {
  max-width: 77.5rem;
}

.container-l {
  max-width: 105rem;
}

/* l-container */
/* ============================================ */
.wrapper {
  padding-left: var(--wrapper);
  padding-right: var(--wrapper);
}

/* l-breadcrumbs */
/* ============================================ */
.breadcrumbs {
  font-size: 14px;
  display: flex;
  flex-flow: wrap;
  align-items: center;
  gap: 10px 20px;
  font-weight: 600;
  color: #afb2b8;
}
.breadcrumbs a::after {
  content: "\f105";
  font: var(--fa-font-solid);
  font-size: 8px;
  display: inline-block;
  margin-left: 20px;
}
.breadcrumbs span {
  color: var(--color-base);
}

/* l-single */
/* ============================================ */
.single-wrapper {
  padding-top: clamp(4.375rem, 2.103rem + 11.36vw, 9.375rem);
}

.single-title {
  display: flex;
  flex-flow: column;
  align-items: center;
  position: relative;
  background-color: var(--color-theme, var(--color-theme-1));
  color: #fff;
  gap: 20px;
  border-radius: 15px 15px 0px 0px;
  --book-h: 34px;
  padding: clamp(3.125rem, 1.705rem + 7.1vw, 6.25rem) 0
    clamp(5rem, 3.012rem + 9.94vw, 9.375rem);
}
.single-title .title {
  font-size: clamp(1.75rem, 0.954rem + 3.98vw, 3.5rem);
  line-height: 1.2;
  padding: 0 clamp(0.9375rem, -1.619rem + 12.78vw, 6.5625rem);
  text-align: center;
}
@media (min-width: calc(768em / 16)) {
  .single-title {
    --book-h: 54px;
    padding: clamp(3.125rem, 1.705rem + 7.1vw, 6.25rem) 0
      clamp(6.25rem, 4.83rem + 7.1vw, 9.375rem);
  }
}
.single-title::before {
  content: "";
  pointer-events: none;
  position: absolute;
  inset: -1px;
  display: block;
  background-image: url(images/common/deco_bottom_01.png);
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: auto var(--book-h);
}
@media (min-width: calc(768em / 16)) {
  .single-title::before {
    background-position: center bottom;
    background-size: auto var(--book-h);
  }
}
@media (min-width: calc(1920em / 16)) {
  .single-title::before {
    background-size: 100% var(--book-h);
  }
}
.single-title::after {
  content: "";
  pointer-events: none;
  position: absolute;
  --left: max(-117/var(--value-pc) * 100vw, -117px);
  --right: max(-22/var(--value-pc) * 100vw, -22px);
  inset: 0 var(--right) 0 var(--left);
  display: block;
  background-image:
    url(images/common/deco_single-title_01.png),
    url(images/common/deco_single-title_02.png);
  background-repeat: no-repeat;
  background-position:
    left 0 bottom 10px,
    right 0 bottom clamp(0.875rem, 1.624rem + -1.56vw, 1.3125rem);
  background-size:
    min(216 / var(--value-lg) * 100vw, 216px) auto,
    min(191 / var(--value-lg) * 100vw, 191px) auto;
}
@media (min-width: calc(768em / 16)) {
  .single-title::after {
    background-position:
      left 0 bottom 10px,
      right 0 bottom clamp(1.75rem, 3.248rem + -2.34vw, 2.125rem);
  }
}

/*
--------------------------------
component
使いまわせるやつ
--------------------------------
*/
/* c-icon */
/* ============================================ */
.icon,
.icon-round {
  display: grid;
  place-items: center;
  flex-shrink: 0;
}
.icon::before,
.icon-round::before {
  content: "";
  background: no-repeat center/contain;
  background-color: var(--icon-color, var(--color-base));
  transition-property: background-color, color;
  transition-duration: var(--duration--s);
}
.icon.--long-right::before,
.icon-round.--long-right::before {
  width: 16px;
  height: 8px;
  mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="8" viewBox="0 0 16 8"><path d="M11.2,0V3.39H0V4.61H11.2V8L16,4Z" transform="translate(0 0)" fill="%23fc5f47"/></svg>')
    center/contain no-repeat;
}

.icon-round {
  width: clamp(2.8125rem, 2.387rem + 2.13vw, 3.75rem);
  height: clamp(1.875rem, 1.591rem + 1.42vw, 2.5rem);
  border: 1px solid var(--color-corporate-1);
  background: #fff9f8;
  border-radius: 100vw;
  --icon-color: var(--color-corporate-1);
}
.icon-round:hover {
  background: var(--color-corporate-1);
  --icon-color: #fff;
}

a:hover .icon-round {
  background: var(--color-corporate-1);
  --icon-color: #fff;
}

/* c-link */
/* ============================================ */
.link-round {
  border-radius: 100vw;
  min-height: 3.8125rem;
  min-width: min(100%, 16.4375rem);
  background: var(--color-corporate-1);
  color: #fff;
  padding: 8px 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  font-size: clamp(0.9375rem, 0.852rem + 0.43vw, 1.125rem);
}
@media (min-width: calc(768em / 16)) {
  .link-round {
    min-width: min(100%, 22.5rem);
    min-height: 4.625rem;
  }
}

/* link-border */
.link-border {
  border: 1px solid var(--color-base);
  border-radius: 100vw;
  min-height: 3rem;
  min-width: min(100%, 15.9375rem);
  font-weight: 600;
  background: #fff;
  padding: 5px 25px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: fit-content;
  gap: 15px;
}
@media (min-width: calc(768em / 16)) {
  .link-border {
    min-height: 3.375rem;
    min-width: min(100%, 17.5rem);
  }
}
.link-border[target="_blank"]::after {
  content: "";
  width: 12.5px;
  height: 10.5px;
  background: url(images/common/icon_extend.svg) no-repeat center/contain;
  display: block;
}

/* links */
.links {
  display: flex;
  gap: 8px;
  flex-flow: wrap;
  align-items: center;
}

/* c-accordion */
/* ============================================ */
summary {
  /* display: list-item;以外を指定してデフォルトの三角形アイコンを消します */
  display: block;
  transition: opacity var(--duration--m);
}
summary:hover {
  opacity: 0.5;
}

summary::-webkit-details-marker {
  /* Safariで表示されるデフォルトの三角形アイコンを消します */
  display: none;
}

.summary_inner {
  cursor: pointer;
  display: grid;
  grid-template-columns: auto 1fr;
  padding: 24px 0;
  transition-property: color, background-color, opacity;
  transition-duration: var(--duration--m);
  align-items: center;
  font-weight: bold;
  line-height: 1.4;
  word-break: keep-all;
}
.summary_inner::after {
  content: "";
  background: url(images/common/icon_angle-bottom.png) no-repeat center/contain;
  width: 12px;
  height: 8px;
  display: grid;
  place-items: center;
  transition-property: transform, filter;
  transition-duration: var(--duration--m);
  justify-self: end;
}

/* is-openedクラスが付与されたときのスタイル */
details.is-opened .summary_inner::after {
  transform: rotate(180deg);
}

/* --------アコーディオンの中身のスタイル-------- */
.accordion .content {
  overflow: hidden;
  /* details直下のタグにpaddingを設定すると挙動がおかしくなるので、ここには指定しない */
}
.accordion .content_inner {
  overflow: hidden;
}

/* c-accordion-list */
/* ============================================ */
.accordion-list {
  border: 1px dashed var(--color-base);
  border-radius: 15px;
  background: #fff;
}

.accordion-item + .accordion-item {
  border-top: 1px dashed var(--color-base);
}
.accordion-item .summary_inner {
  font-size: 0.9375rem;
  padding: 12px 18px;
  gap: 0.8em;
  position: relative;
  font-size: clamp(1.125rem, 1.011rem + 0.57vw, 1.375rem);
  line-height: 1;
}
@media (min-width: calc(640em / 16)) {
  .accordion-item .summary_inner {
    padding: clamp(20px, 35 / var(--value-pc) * 100vw, 35px)
      clamp(20px, 40 / var(--value-pc) * 100vw, 40px);
    gap: 1em;
  }
}
.accordion-item .summary_inner::after {
  content: "開く";
  border-radius: 100vw;
  background: #5b5f63;
  padding: 8px;
  color: #fff;
  width: min(100%, 3.75rem);
  height: 1.875rem;
  margin-top: auto;
  font-size: 0.75rem;
  transition-property: background-color;
}
@media (min-width: calc(640em / 16)) {
  .accordion-item .summary_inner::after {
    font-size: 0.9375rem;
    width: min(100%, 5rem);
    height: 2.75rem;
  }
}
.accordion-item .content_inner {
  padding: 25px var(--wrapper);
  border-radius: 0 0 15px 15px;
  background: #f8f8f8;
}
@media (min-width: calc(640em / 16)) {
  .accordion-item .content_inner {
    padding: 50px var(--wrapper);
  }
}
.accordion-item .accordion.is-opened .summary_inner {
  color: var(--color-corporate-1);
}
.accordion-item .accordion.is-opened .summary_inner::after {
  content: "閉じる";
  background: var(--color-corporate-1);
  transform: rotate(0);
}

/* c-title */
/* ============================================ */
.title-section {
  font-size: clamp(1.75rem, 1.296rem + 2.27vw, 2.75rem);
  text-align: center;
}
.title-section::after {
  content: "";
  background: url(images/common/icon_row-book.svg) no-repeat center/contain;
  width: 100px;
  height: 7px;
  display: block;
  margin: 15px auto 0;
}

.title-text {
  text-align: center;
  font-size: clamp(1.625rem, 1.455rem + 0.85vw, 2rem);
}

/* c-color */
/* ============================================ */
.color-corporate-1 {
  color: var(--color-corporate-1);
}

.bg-gray {
  background: #f8f8f8;
}

.theme-orange {
  --color-theme: var(--color-corporate-1);
}

.theme-purple {
  --color-theme: var(--color-theme-2);
}

.theme-blue {
  --color-theme: var(--color-theme-3);
}

.theme-green {
  --color-theme: var(--color-theme-4);
}

.theme-pink {
  --color-theme: var(--color-theme-5);
}

.theme-terracotta {
  --color-theme: var(--color-theme-6);
}

/* c-wp-pagenavi */
/* ============================================ */
.wp-pagenavi {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  font-weight: 500;
  gap: min(8 / var(--value-main) * 100vw, 8px);
}
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
  display: flex;
  align-items: center;
  gap: clamp(10px, 20 / var(--value-pc) * 100vw, 20px);
  transition: opacity var(--duration--m);
  flex-shrink: 0;
}
@media not all and (min-width: calc(640em / 16)) {
  .wp-pagenavi .previouspostslink .text,
  .wp-pagenavi .nextpostslink .text {
    display: none;
  }
}
.wp-pagenavi .previouspostslink.disabled,
.wp-pagenavi .nextpostslink.disabled {
  pointer-events: none;
  visibility: hidden;
}
.wp-pagenavi .previouspostslink {
  margin-right: auto;
}
.wp-pagenavi .nextpostslink {
  margin-left: auto;
}
.wp-pagenavi .page,
.wp-pagenavi .current {
  aspect-ratio: 1/1;
  width: min(100%, 54px);
  display: grid;
  place-items: center;
  border-radius: 50%;
  font-family: var(--font-en);
}
.wp-pagenavi .page:hover {
  background: var(--color-corporate-1);
  color: #fff;
}
.wp-pagenavi .current {
  color: #fff;
  background: var(--color-corporate-1);
  font-weight: 900;
}

/* c-article */
/* ============================================ */
.article-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: min(70 / var(--value-pc) * 100vw, 70px);
}
.article-list.--col3 {
  grid-template-columns: repeat(
    auto-fill,
    minmax(min(40%, max(30%, 180px)), 1fr)
  );
  gap: min(35 / var(--value-pc) * 100vw, 35px);
}
.article-list.--col3 .content {
  margin-top: min(20 / var(--value-pc) * 100vw, 20px);
  gap: min(20 / var(--value-pc) * 100vw, 20px);
  flex-flow: wrap;
}
.article-list.--col3 .title {
  font-size: clamp(0.875rem, 0.761rem + 0.57vw, 1.125rem);
  width: 100%;
}

.article-item .img {
  border-radius: 15px;
  overflow: hidden;
  border: 1px solid #e1e6eb;
}
.article-item .img img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.article-item .content {
  margin-top: clamp(5px, 23 / var(--value-pc) * 100vw, 23px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: min(15 / var(--value-pc) * 100vw, 15px);
}
.article-item .title {
  font-size: clamp(0.875rem, 0.647rem + 1.14vw, 1.375rem);
}
.article-item .icon-round {
  margin-left: auto;
}
.article-item:hover {
  opacity: 1;
}
.article-item:hover img {
  transition: transform var(--duration--l);
  transform: scale(1.1);
}

/* c-news */
/* ============================================ */
.news-list {
  display: grid;
  grid-template-columns: repeat(
    auto-fill,
    minmax(min(40%, max(30%, 260px)), 1fr)
  );
  gap: min(40 / var(--value-main) * 100vw, 40px)
    min(35 / var(--value-main) * 100vw, 35px);
}
.news-list > * > a {
  height: 100%;
}

.news-item {
  display: flex;
  flex-flow: column;
  position: relative;
}
.news-item .badge {
  position: absolute;
  left: 0;
  top: 0;
  transform: translate(-21%, -21%);
  background: #fff700;
  border-radius: 50%;
  font-size: clamp(0.8125rem, 0.757rem + 0.28vw, 0.9375rem);
  width: clamp(64px, 90 / var(--value-md) * 100vw, 90px);
  aspect-ratio: 1/1;
  display: grid;
  place-items: center;
  font-weight: normal;
  z-index: 1;
}
.news-item .badge::before {
  content: "";
  position: absolute;
  border-radius: 50%;
  width: clamp(56px, 80 / var(--value-md) * 100vw, 80px);
  aspect-ratio: 1/1;
  border: 1px dashed var(--color-base);
}
.news-item .img {
  aspect-ratio: 3/2;
  overflow: hidden;
  border-radius: 15px 15px 0 0;
}
.news-item .img img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.news-item .content {
  flex: 1;
  padding: clamp(15px, 30 / var(--value-main) * 100vw, 20px)
    clamp(15px, 30 / var(--value-main) * 100vw, 30px)
    clamp(20px, 30 / var(--value-main) * 100vw, 30px)
    clamp(15px, 30 / var(--value-main) * 100vw, 20px);
  border-radius: 0 0 15px 15px;
  color: #fff;
  background: var(--color-theme, var(--color-theme-1));
  clip-path: polygon(
    0 0,
    100% 0,
    100% calc(100% - 30px),
    calc(100% - 30px) 100%,
    0 100%
  );
  display: flex;
  flex-flow: column;
}
.news-item .content::before {
  content: "";
  width: 30px;
  aspect-ratio: 1/1;
  background: #000;
  opacity: 0.25;
  position: absolute;
  right: 0;
  bottom: 0;
  border-radius: 15px 0 0 0;
}
.news-item .title {
  font-size: clamp(1rem, 0.716rem + 1.42vw, 1.625rem);
}
.news-item .date {
  font-size: clamp(0.625rem, 0.569rem + 0.28vw, 0.75rem);
  margin-top: 5px;
  margin-bottom: 20px;
}
@media (min-width: calc(640em / 16)) {
  .news-item .date {
    margin-bottom: 40px;
  }
}
.news-item .text {
  margin-top: 5px;
  font-size: clamp(0.75rem, 0.694rem + 0.28vw, 0.875rem);
}
.news-item:has(.text) .date {
  margin-bottom: 0;
}
.news-item:has(.text) .text {
  margin-bottom: 20px;
}
@media (min-width: calc(640em / 16)) {
  .news-item:has(.text) .text {
    margin-bottom: 40px;
  }
}
.news-item .link {
  border-radius: 100vw;
  background: #fff;
  padding: 8px 22px;
  color: var(--color-base);
  width: fit-content;
  margin-top: auto;
  border: 1px solid #fff;
  display: flex;
  align-items: end;
}
.news-item:hover {
  opacity: 1;
}
.news-item:hover img {
  transition: transform var(--duration--l);
  transform: scale(1.1);
}
.news-item:hover .link {
  background: var(--color-theme, var(--color-theme-1));
  color: #fff;
}
@media (min-width: calc(768em / 16)) {
  .news-item.--latest {
    flex-flow: row;
  }
}
.news-item.--latest .badge {
  transform: translate(0);
  top: 10px;
  left: 10px;
  width: 90px;
  font-size: 1.125rem;
}
@media (min-width: calc(768em / 16)) {
  .news-item.--latest .badge {
    top: 15px;
    left: 15px;
    width: 120px;
    font-size: 1.25rem;
  }
}
.news-item.--latest .badge::before {
  width: 80px;
}
@media (min-width: calc(768em / 16)) {
  .news-item.--latest .badge::before {
    width: 108px;
  }
}
.news-item.--latest .img {
  flex: 600;
  border-radius: 15px 15px 0 0;
}
@media (min-width: calc(768em / 16)) {
  .news-item.--latest .img {
    border-radius: 15px 0 0 15px;
  }
}
.news-item.--latest .content {
  border-radius: 0 0 15px 15px;
  padding: 24px 22px 35px 60px;
  position: relative;
  flex: 640;
}
@media (min-width: calc(768em / 16)) {
  .news-item.--latest .content {
    border-radius: 0 15px 15px 0;
    padding: 58px 40px 40px 90px;
  }
}
.news-item.--latest .content::after {
  content: "TAKKEN HIROSHIMA";
  color: #fff;
  position: absolute;
  inset: 0;
  right: auto;
  writing-mode: vertical-rl;
  font-family: var(--font-en);
  padding: 24px 12px 12px;
  font-size: 0.5625rem;
  font-weight: normal;
  background-image: linear-gradient(to bottom, #fff 2px, transparent 2px);
  background-size: 1px 4px;
  background-repeat: repeat-y;
  background-position: right top;
}
@media (min-width: calc(768em / 16)) {
  .news-item.--latest .content::after {
    font-size: 0.625rem;
    padding: 60px 13px 13px;
  }
}
.news-item.--latest .title {
  font-size: 1.5rem;
}
@media (min-width: calc(768em / 16)) {
  .news-item.--latest .title {
    font-size: 2rem;
  }
}
.news-item.--latest .link {
  margin-left: auto;
}

/* c-animation */
/* ============================================ */
.animation-flow {
  animation: flow 3s infinite ease-in-out alternate;
}

.animation-flow:nth-of-type(2) {
  animation-delay: -2s;
}

.animation-flow:nth-of-type(3) {
  animation-delay: -8s;
}

/* c-select-year */
/* ============================================ */
.select-year {
  position: relative;
  display: flex;
  align-items: center;
  min-width: min(100%, 22.5rem);
  width: fit-content;
}
.select-year::before {
  content: "\f0d7";
  font: var(--fa-font-solid);
  font-size: 12px;
  position: absolute;
  right: 30px;
  pointer-events: none;
}
.select-year select {
  font-weight: 600;
  background: #fff;
  padding: clamp(12px, 20 / var(--value-pc) * 100vw, 20px)
    clamp(20px, 30 / var(--value-pc) * 100vw, 30px);
  font-size: clamp(1rem, 0.944rem + 0.28vw, 1.125rem);
  border: 1px solid var(--color-base);
  border-radius: 8px;
  min-height: 3.4375rem;
  width: 100%;
}
@media (min-width: calc(640em / 16)) {
  .select-year select {
    min-height: 4.6875rem;
    border-radius: 15px;
  }
}

/* p-editor */
/* ============================================ */
.editor-content {
  background: #fff;
  border-radius: 0 0 15px 15px;
  line-height: 1.8;
}

.editor-content__inner > *:first-child {
  margin-top: 0 !important;
}
.editor-content__inner > * + * {
  margin-top: 30px;
}
.editor-content__inner p + p {
  margin-top: 30px;
}
.editor-content__inner p a {
  text-decoration: underline;
}
.editor-content__inner p.link-only a,
.editor-content__inner .wp-block-file a {
  border: 1px solid #dde0e6;
  border-radius: 100vw;
  padding: 1.3em 20px 1.3rem 55px;
  display: inline-block;
  background: #fff;
  line-height: 1.2;
  font-size: 1.0125rem;
  width: max-content;
  max-width: 100%;
  position: relative;
  text-decoration: none;
}
.editor-content__inner p.link-only a::before,
.editor-content__inner .wp-block-file a::before {
  content: "\f054";
  font: var(--fa-font-solid);
  color: #fff;
  text-align: center;
  font-size: 0.5rem;
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 20px;
  margin: auto;
  width: 24px;
  height: 24px;
  line-height: 24px;
  border-radius: 50%;
  background: var(--color-corporate-2);
}
.editor-content__inner p.link-only a[target="_blank"]::after,
.editor-content__inner .wp-block-file a[target="_blank"]::after {
  content: "";
  display: inline-block;
  margin-left: 10px;
  background: #666 no-repeat center/contain;
  width: 14px;
  height: 12px;
  -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="13.784" height="12"><g fill="none" stroke="%23000" stroke-width="2"><path d="M4.877 1h6.907a1 1 0 0 1 1 1v5.086a1 1 0 0 1-1 1H4.877a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1Z"/><path stroke-linecap="round" d="M8.65 11H2.257A1.256 1.256 0 0 1 1 9.745V5.17"/></g></svg>')
    center/contain no-repeat;
  mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="13.784" height="12"><g fill="none" stroke="%23000" stroke-width="2"><path d="M4.877 1h6.907a1 1 0 0 1 1 1v5.086a1 1 0 0 1-1 1H4.877a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1Z"/><path stroke-linecap="round" d="M8.65 11H2.257A1.256 1.256 0 0 1 1 9.745V5.17"/></g></svg>')
    center/contain no-repeat;
}
.editor-content__inner p.link-only a[href$=".pdf"]::before,
.editor-content__inner .wp-block-file a[href$=".pdf"]::before {
  content: "\f1c1";
  font: var(--fa-font-solid);
  font-size: 10px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 20px;
  margin: auto;
  color: #d93448;
  background: none;
  font-size: 1.35rem;
}
@media (min-width: calc(640em / 16)) {
  .editor-content__inner p.link-only a[href$=".pdf"]::before,
  .editor-content__inner .wp-block-file a[href$=".pdf"]::before {
    font-size: 1.5rem;
  }
}
.editor-content__inner p.link-only a[href$=".pdf"]:hover::before,
.editor-content__inner .wp-block-file a[href$=".pdf"]:hover::before {
  color: #fff;
  background: transparent;
}
.editor-content__inner p.link-only a:hover,
.editor-content__inner .wp-block-file a:hover {
  color: #fff;
  background: var(--color-corporate-2);
}
.editor-content__inner p.link-only a:hover::before,
.editor-content__inner .wp-block-file a:hover::before {
  color: var(--color-corporate-2);
  background: #fff;
}
.editor-content__inner p.link-only a:hover::after,
.editor-content__inner .wp-block-file a:hover::after {
  background-color: #fff;
}
.editor-content__inner strong {
  font-weight: 800;
}

/* heading */
.wp-block-heading {
  line-height: 1.4;
}

h2.wp-block-heading {
  background: var(--color-corporate-2);
  padding: 20px;
  padding-left: clamp(20px, 40 / var(--value-lg) * 100vw, 40px);
  min-height: min(112 / var(--value-pc) * 100vw, 112px);
  position: relative;
  display: flex;
  align-items: center;
  border-radius: 15px;
  font-size: clamp(1.125rem, 0.897rem + 1.14vw, 1.625rem);
  color: #fff;
  margin-top: clamp(3.125rem, 1.137rem + 9.94vw, 7.5rem);
}
h2.wp-block-heading::before {
  content: "";
  height: 50px;
  width: 6px;
  position: absolute;
  left: 0;
  border-radius: 0px 6px 6px 0px;
  background: var(--color-corporate-1);
}
h2.wp-block-heading + * {
  margin-top: clamp(1.875rem, 1.307rem + 2.84vw, 3.125rem);
}

h3.wp-block-heading {
  font-size: clamp(1.25rem, 1.136rem + 0.57vw, 1.5rem);
}

h4.wp-block-heading {
  font-size: clamp(1.125rem, 1.069rem + 0.28vw, 1.25rem);
}

/* wp-block-embed */
.wp-block-embed iframe {
  max-width: 720px;
  aspect-ratio: 16/9;
  width: 100%;
  height: 100%;
}

/* wp-block-file */
/* .wp-block-file a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: fluid-clamp(16px, 18px);

  &::before {
    content: "";
    display: inline-block;
    width: 15px;
    height: 21px;
    background: url(images/common/icon_file.svg) no-repeat center/contain;
  }
} */
/* toc_container */
#toc_container {
  border: 1px dotted var(--color-base);
  border-radius: 15px;
  padding: clamp(20px, 30 / var(--value-lg) * 100vw, 30px)
    clamp(15px, 40 / var(--value-lg) * 100vw, 40px);
  margin-bottom: clamp(3.125rem, 1.137rem + 9.94vw, 7.5rem);
}

.toc_title {
  padding-bottom: min(30 / var(--value-lg) * 100vw, 30px);
  border-bottom: 1px dotted var(--color-base);
}

.toc_list {
  margin-top: 20px;
}
.toc_list li {
  padding-left: 16px;
  text-indent: -16px;
  text-decoration: underline;
}
.toc_list li + li {
  margin-top: 5px;
}
.toc_list li::before {
  content: "";
  display: inline-block;
  width: 6px;
  margin-right: 10px;
  aspect-ratio: 1/1;
  border-radius: 50%;
  vertical-align: middle;
  background: var(--color-corporate-2);
}

.wp-block-media-text > .wp-block-media-text__content {
  padding-right: 0;
}

.wp-block-media-text.has-media-on-the-right > .wp-block-media-text__content {
  padding-left: 0;
  padding-right: 8%;
}

@media (max-width: 600px) {
  .wp-block-media-text.is-stacked-on-mobile > .wp-block-media-text__content {
    padding: 0;
  }
}
.wp-block-gallery.has-nested-images figure.wp-block-image {
  flex-grow: 0;
}

.aligncenter .wp-block-embed__wrapper {
  display: grid;
  place-items: center;
}

/* table */
.wp-block-table tbody {
  background-color: #fff;
}

.wp-block-table thead {
  border-bottom: 1px solid;
}

.wp-block-table th {
  text-align: center;
}

table.has-background th {
  color: #fff;
}

.wp-block-table td,
.wp-block-table th {
  border: 1px solid #111;
}

/* テーブル調整 */
.wp-block-table[data-col-min-width="sm"] table th,
.wp-block-table[data-col-min-width="sm"] table td {
  min-width: 80px;
}

.wp-block-table[data-col-min-width="md"] table th,
.wp-block-table[data-col-min-width="md"] table td {
  min-width: 120px;
}

.wp-block-table[data-col-min-width="lg"] table th,
.wp-block-table[data-col-min-width="lg"] table td {
  min-width: 160px;
}

@media not all and (min-width: calc(768em / 16)) {
  .wp-block-table[data-stack-mobile="true"] table,
  .wp-block-table[data-stack-mobile="true"] thead,
  .wp-block-table[data-stack-mobile="true"] tbody,
  .wp-block-table[data-stack-mobile="true"] tr,
  .wp-block-table[data-stack-mobile="true"] th,
  .wp-block-table[data-stack-mobile="true"] td {
    display: block;
    width: 100%;
  }
  .wp-block-table[data-stack-mobile="true"] thead {
    display: none;
  }
  .wp-block-table[data-stack-mobile="true"] td {
    min-width: 0;
    border: none;
    border-bottom: 1px solid #111;
  }
  .wp-block-table[data-stack-mobile="true"] td:last-child {
    border-bottom: none;
  }
  .wp-block-table[data-stack-mobile="true"] td::before {
    content: attr(data-label);
    display: block;
    font-weight: bold;
    line-height: 1.4;
    margin: -0.5em -0.5em 0;
    padding: 0.5em;
    color: #fff;
  }
  .wp-block-table[data-stack-mobile="true"]
    .has-black-background-color
    td::before {
    background-color: var(--wp--preset--color--black) !important;
  }
  .wp-block-table[data-stack-mobile="true"]
    .has-cyan-bluish-gray-background-color
    td::before {
    background-color: var(--wp--preset--color--cyan-bluish-gray) !important;
  }
  .wp-block-table[data-stack-mobile="true"]
    .has-white-background-color
    td::before {
    background-color: var(--wp--preset--color--white) !important;
  }
  .wp-block-table[data-stack-mobile="true"]
    .has-pale-pink-background-color
    td::before {
    background-color: var(--wp--preset--color--pale-pink) !important;
  }
  .wp-block-table[data-stack-mobile="true"]
    .has-vivid-red-background-color
    td::before {
    background-color: var(--wp--preset--color--vivid-red) !important;
  }
  .wp-block-table[data-stack-mobile="true"]
    .has-luminous-vivid-orange-background-color
    td::before {
    background-color: var(
      --wp--preset--color--luminous-vivid-orange
    ) !important;
  }
  .wp-block-table[data-stack-mobile="true"]
    .has-luminous-vivid-amber-background-color
    td::before {
    background-color: var(--wp--preset--color--luminous-vivid-amber) !important;
  }
  .wp-block-table[data-stack-mobile="true"]
    .has-light-green-cyan-background-color
    td::before {
    background-color: var(--wp--preset--color--light-green-cyan) !important;
  }
  .wp-block-table[data-stack-mobile="true"]
    .has-vivid-green-cyan-background-color
    td::before {
    background-color: var(--wp--preset--color--vivid-green-cyan) !important;
  }
  .wp-block-table[data-stack-mobile="true"]
    .has-pale-cyan-blue-background-color
    td::before {
    background-color: var(--wp--preset--color--pale-cyan-blue) !important;
  }
  .wp-block-table[data-stack-mobile="true"]
    .has-vivid-cyan-blue-background-color
    td::before {
    background-color: var(--wp--preset--color--vivid-cyan-blue) !important;
  }
  .wp-block-table[data-stack-mobile="true"]
    .has-vivid-purple-background-color
    td::before {
    background-color: var(--wp--preset--color--vivid-purple) !important;
  }
  .wp-block-table[data-stack-mobile="true"]
    .has-orange-background-color
    td::before {
    background-color: var(--wp--preset--color--orange) !important;
  }
  .wp-block-table[data-stack-mobile="true"]
    .has-terracotta-background-color
    td::before {
    background-color: var(--wp--preset--color--terracotta) !important;
  }
  .wp-block-table[data-stack-mobile="true"]
    .has-pink-background-color
    td::before {
    background-color: var(--wp--preset--color--pink) !important;
  }
  .wp-block-table[data-stack-mobile="true"]
    .has-purple-background-color
    td::before {
    background-color: var(--wp--preset--color--purple) !important;
  }
  .wp-block-table[data-stack-mobile="true"]
    .has-blue-background-color
    td::before {
    background-color: var(--wp--preset--color--blue) !important;
  }
  .wp-block-table[data-stack-mobile="true"]
    .has-green-background-color
    td::before {
    background-color: var(--wp--preset--color--green) !important;
  }
}
/* 線で囲む */
.text-marker-line {
  border: 1px solid #000;
  padding: 0 0.4em;
  display: inline-block;
  line-height: 1.4;
  margin: 0 3px;
}

/* font-size */
.has-small-font-size {
  font-size: clamp(0.625rem, 0.511rem + 0.57vw, 0.875rem) !important;
}

.has-medium-font-size {
  font-size: clamp(0.75rem, 0.636rem + 0.57vw, 1rem) !important;
}

.has-large-font-size {
  font-size: clamp(1rem, 0.944rem + 0.28vw, 1.125rem) !important;
}

.has-x-large-font-size {
  font-size: clamp(1.125rem, 1.069rem + 0.28vw, 1.25rem) !important;
}

/*
--------------------------------
project
使いまわさないやつ
--------------------------------
*/
/* p-mv */
/* ============================================ */
.mv {
  position: relative;
  z-index: 1;
  padding-bottom: 28px;
}
@media (min-width: calc(768em / 16)) {
  .mv {
    padding-bottom: 38px;
  }
}

.mv-slider .swiper-wrapper {
  position: relative;
  z-index: 1;
}
.mv-slider .swiper-slide {
  display: grid;
  align-items: end;
  position: relative;
}
.mv-slider .swiper-slide::before {
  content: "";
  position: absolute;
  inset: -1px;
  --bottom: 58px;
  bottom: calc(var(--bottom) * -1);
  z-index: 2;
  background-image:
    url(images/top/deco_mv_01.png), url(images/top/deco_mv_02.png),
    url(images/common/deco_bottom_01.png);
  background-repeat: no-repeat;
  background-position:
    left bottom,
    right bottom calc(18px + var(--bottom)),
    center bottom var(--bottom);
  background-size:
    clamp(60px, 80 / var(--value-md) * 100vw, 80px) auto,
    clamp(70px, 100 / var(--value-md) * 100vw, 100px) auto,
    auto 34px;
  pointer-events: none;
}
@media (min-width: calc(768em / 16)) {
  .mv-slider .swiper-slide::before {
    --bottom: min(81/var(--value-pc) * 100vw, 81px);
    background-size:
      clamp(90px, 229 / var(--value-pc) * 100vw, 229px) auto,
      200px auto,
      auto 54px;
    background-position:
      left bottom,
      right bottom calc(20px + var(--bottom)),
      center bottom var(--bottom);
  }
}
@media (min-width: calc(1024em / 16)) {
  .mv-slider .swiper-slide::before {
    background-size:
      clamp(90px, 229 / var(--value-pc) * 100vw, 229px) auto,
      297px auto,
      auto 54px;
    background-position:
      left bottom,
      right bottom calc(8px + var(--bottom)),
      center bottom var(--bottom);
  }
}
@media (min-width: calc(1920em / 16)) {
  .mv-slider .swiper-slide::before {
    background-size:
      clamp(90px, 229 / var(--value-pc) * 100vw, 229px) auto,
      297px auto,
      100% 54px;
  }
}
.mv-slider .swiper-slide .img {
  grid-area: 1/1;
  position: relative;
  z-index: 1;
  overflow: hidden;
}
.mv-slider .swiper-slide .img img {
  aspect-ratio: 1920/900;
  object-fit: cover;
  width: 100%;
  min-height: calc(100vh - 150px);
  transform: scale(1.1);
  transition: transform 5s ease-out;
}
@media (min-width: calc(640em / 16)) {
  .mv-slider .swiper-slide .img img {
    min-height: 83.3vh;
  }
}
.mv-slider .swiper-slide .img::before {
  content: "";
  display: block;
  position: absolute;
  z-index: 1;
  inset: 0;
  background: #000;
  opacity: 0.25;
}
.mv-slider .swiper-slide.swiper-slide-active .img img {
  transform: scale(1);
  transition-duration: 2s;
}
.mv-slider .swiper-slide .content {
  grid-area: 1/1;
  position: relative;
  z-index: 3;
  padding-bottom: 85px;
  margin: 0 var(--wrapper);
  color: var(--color-theme, #fff);
}
@media (min-width: calc(768em / 16)) {
  .mv-slider .swiper-slide .content {
    margin: 0 min(260 / var(--value-pc) * 100vw, 260px);
  }
}
.mv-slider .swiper-slide .title {
  font-size: 1.5rem;
  margin-top: 10px;
  max-width: 31.25rem;
}
@media (min-width: calc(640em / 16)) {
  .mv-slider .swiper-slide .title {
    font-size: 2rem;
  }
}
.mv-slider .swiper-slide:hover {
  opacity: 1;
}
.mv-slider .swiper-slide {
  /* .tag {
    border-radius: 100vw;
    background: #fff;
    color: var(--color-base);
    padding: 5px 14px;
    font-size: calc(11rem/16);
    margin-top: 16px;
    width: fit-content;

    @include media(sm) {
      font-size: calc(13rem/16);
    }
  } */
}
.mv-slider .swiper-controllers {
  position: relative;
  z-index: 3;
  margin: 10px var(--wrapper) 0;
  justify-content: end;
}
@media (min-width: calc(768em / 16)) {
  .mv-slider .swiper-controllers {
    margin: -10px min(260 / var(--value-pc) * 100vw, 260px) 0;
    justify-content: start;
  }
}

/* p-latest */
/* ============================================ */
.latest {
  background: #f8f8f8;
  position: relative;
  z-index: 0;
}

.latest-deco-1 > .img,
.latest-deco-2 > .img {
  position: absolute;
  z-index: -1;
}

.latest-deco-1 {
  position: relative;
}
.latest-deco-1 > .img:nth-of-type(1) {
  top: -40px;
  left: 15px;
  max-width: 15%;
  translate: -100% 0;
}
@media (min-width: calc(768em / 16)) {
  .latest-deco-1 > .img:nth-of-type(1) {
    top: -10px;
    left: 0;
  }
}
.latest-deco-1 > .img:nth-of-type(2) {
  top: -25px;
  right: -60px;
  max-width: 38%;
}
@media (min-width: calc(768em / 16)) {
  .latest-deco-1 > .img:nth-of-type(2) {
    top: -8px;
    right: -193px;
    translate: 0 0;
  }
}

.latest-deco-2 {
  position: absolute;
  inset: 0;
  z-index: -1;
}
.latest-deco-2 .img:nth-of-type(1) {
  bottom: -20px;
  left: -10%;
  max-width: 28.5%;
  animation-delay: -8s;
}
@media (min-width: calc(768em / 16)) {
  .latest-deco-2 .img:nth-of-type(1) {
    bottom: max(-4.2857142857%, -66px);
    left: min(49 / var(--value-pc) * 100vw, 49px);
  }
}

.latest__title {
  font-size: clamp(1.25rem, 1.08rem + 0.85vw, 1.625rem);
  text-align: center;
  position: relative;
  height: clamp(3.3125rem, 2.035rem + 6.39vw, 6.125rem);
  width: fit-content;
  margin: 28px auto 0;
  display: flex;
  align-items: center;
  z-index: 0;
}
.latest__title::before {
  content: "";
  background: url(images/top/deco_latest_04.png) no-repeat center/contain;
  display: block;
  position: absolute;
  left: clamp(-3.125rem, 2.275rem + -4.5vw, 1.375rem);
  transform: translate(-100%, 0);
  width: clamp(5.625rem, 3.437rem + 10.94vw, 10.4375rem);
  height: clamp(3.3125rem, 2.035rem + 6.39vw, 6.125rem);
  z-index: -1;
}

.latest-list {
  border-radius: 15px;
  background: #fff;
  border: 1px dashed #111111;
}
.latest-list > * + * {
  border-top: 1px dashed #111111;
}
.latest-list > *:first-of-type a {
  gap: clamp(15px, 50 / var(--value-main) * 100vw, 50px);
  flex-flow: column;
}
@media (min-width: calc(1024em / 16)) {
  .latest-list > *:first-of-type a {
    flex-flow: row;
  }
}
.latest-list > *:first-of-type a .img {
  width: min(100%, 360px);
}
.latest-list > *:first-of-type a .title {
  font-size: clamp(1.125rem, 1.011rem + 0.57vw, 1.375rem);
  width: auto;
}
.latest-list > *:first-of-type a .icon-round {
  align-self: end;
}

.latest-item {
  display: flex;
  align-items: center;
  padding: 20px;
  gap: 5px clamp(13px, 30 / var(--value-main) * 100vw, 30px);
}
@media (min-width: calc(768em / 16)) {
  .latest-item {
    padding: 25px;
    padding-right: 30px;
  }
}
.latest-item .img {
  aspect-ratio: 3/2;
  width: min(60 / var(--value-xxs) * 100vw, 90px);
  flex-shrink: 0;
  border: 1px solid #e1e6eb;
}
.latest-item .img img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  border-radius: 5px;
}
.latest-item .title {
  font-size: clamp(0.9375rem, 0.852rem + 0.43vw, 1.125rem);
}
.latest-item .icon-round {
  margin-left: auto;
  flex-shrink: 0;
}

/* p-release */
/* ============================================ */
.release {
  position: relative;
  overflow: hidden;
}
.release .decos {
  position: absolute;
  inset: 0;
  z-index: -1;
}
.release .decos .img {
  position: absolute;
}
.release .decos .img:nth-of-type(1) {
  bottom: 6.9057104914%;
  right: -5%;
  max-width: 27.5%;
}
@media (min-width: calc(1024em / 16)) {
  .release .decos .img:nth-of-type(1) {
    bottom: min(22.206405694%, 312px);
    right: min(132 / var(--value-pc) * 100vw, 132px);
  }
}

/* p-news */
/* ============================================ */
.old-news-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(40%, 150px), auto));
  gap: 20px min(40 / var(--value-pc) * 100vw, 40px);
  justify-content: center;
  justify-items: center;
}

.old-news-item {
  display: flex;
  flex-flow: column;
  gap: 10px;
}
@media (min-width: calc(640em / 16)) {
  .old-news-item {
    gap: 20px;
  }
}
.old-news-item .img {
  text-align: center;
}
.old-news-item .img img {
  box-shadow: 0px 3px 15px rgba(0, 0, 0, 0.1607843137);
}
.old-news-item .link {
  border-radius: 100vw;
  border: 1px solid var(--color-corporate-1);
  color: var(--color-corporate-1);
  padding: 8px 22px;
  background: #fff;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}
.old-news-item:hover .link {
  background: var(--color-corporate-1);
  color: #fff;
}

/*
--------------------------------
js
jsで操作する動き
--------------------------------
*/
/* js-fadeIn */
/* ============================================ */
.js-fadeInTrigger {
  opacity: 0;
}

.is-fadeIn {
  animation: fadeIn 1s forwards ease-in;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
    filter: blur(20px);
  }
  100% {
    opacity: 100%;
  }
}
/* js-scrollable */
/* ============================================ */
.js-scrollable {
  overflow-x: auto !important;
  overflow-y: hidden !important;
}
